@import"https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&display=swap";:root{font-family:Kanit,system-ui,sans-serif;color:#14274b;background:#edf5ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{display:flex;min-height:100vh}.sidebar{width:255px;flex:none;background:linear-gradient(170deg,#09234e,#0e356b);color:#fff;padding:20px 12px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:10px 8px 25px;border-bottom:1px solid #ffffff22}.brand strong{font-size:17px;line-height:1.25;display:block}.brand small{display:block;color:#b4d0f4;font-size:11px;margin-top:5px}.logo{background:linear-gradient(140deg,#2d9cff,#1455d5);border-radius:14px;padding:12px;display:grid;place-items:center;color:#fff}.sidebar nav{display:grid;gap:5px;padding-top:20px}.nav{border:0;background:transparent;color:#d9e9ff;text-align:left;display:flex;gap:13px;align-items:center;padding:11px 14px;border-radius:10px;font-size:14px;width:100%}.nav:hover,.nav.active{background:linear-gradient(90deg,#337fe7,#2361bb);color:#fff}.sidebar-bottom{margin-top:auto}.sync{display:flex;gap:10px;padding:13px;background:#ffffff15;border:1px solid #ffffff18;border-radius:13px;margin-bottom:15px}.sync small{display:block;font-size:11px;color:#c9dcf5}.main{flex:1;min-width:0;padding:22px 26px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px}.top h1{font-size:27px;margin:0}.top p{margin:0;color:#557196;font-size:13px}.user{display:flex;align-items:center;gap:12px;font-size:12px}.user button,.mobile-menu{border:1px solid #d3e4f8;border-radius:10px;background:#fff;padding:9px;color:#2765b7}.mobile-menu{display:none}.hero{background:linear-gradient(100deg,#dcefff,#91c7fb);border-radius:20px;margin:20px 0;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;min-height:120px}.hero h2{font-size:21px;margin:0}.hero p{margin:4px 0 0;color:#376189}.hero svg{color:#4e91dc}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.kpi,.panel{background:#fff;border:1px solid #dce9f9;box-shadow:0 5px 17px #1d65af10;border-radius:16px}.kpi{display:flex;align-items:center;gap:14px;padding:18px}.kpi-icon{padding:13px;border-radius:13px;background:linear-gradient(135deg,#68b7ff,#246cde);color:#fff}.kpi span,.kpi small{display:block;font-size:12px}.kpi strong{display:block;font-size:27px;line-height:1.4}.kpi small{color:#6383a5}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:16px}.panel{padding:20px;min-width:0}.panel-title{font-size:17px;display:flex;gap:10px;align-items:center;margin:0 0 17px}.panel-title svg{color:#2379e4}.filters{display:flex;gap:10px;margin-bottom:14px}.search{display:flex;align-items:center;gap:8px;border:1px solid #cfe0f4;padding:8px 11px;border-radius:10px;flex:1;min-width:0}.search input{border:0;outline:0;width:100%;font-size:13px}.filters select{max-width:200px;border:1px solid #cfe0f4;background:#fff;padding:9px;border-radius:10px;font-size:12px}.factory-row{display:flex;align-items:center;gap:11px;border-bottom:1px solid #e9f0f8;padding:12px 0}.factory-symbol{background:#e7f2ff;border-radius:10px;padding:10px;color:#2179df}.factory-details{min-width:0;flex:1}.factory-details strong{font-size:13px;display:block;overflow-wrap:anywhere}.factory-details small{display:flex;align-items:center;gap:4px;font-size:11px;color:#6a83a0}.add,.secondary{background:#e8f3ff;border:1px solid #b8d8ff;border-radius:9px;padding:8px 10px;color:#1669cb;display:flex;gap:5px;align-items:center;white-space:nowrap;font-size:12px}.link{display:flex;align-items:center;gap:7px;background:none;border:0;color:#1875d9;margin-top:12px}.empty,.empty-graph{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;color:#4c87c8;text-align:center}.empty p,.empty-graph p{color:#7087a3;font-size:12px;margin:4px}.empty-graph h3{font-size:17px;margin:10px 0 0}.stages{display:grid;gap:12px}.stage{display:flex;align-items:center;gap:12px;font-size:14px}.stage span{width:30px;height:17px;border-radius:6px}.stage strong{margin-left:auto}.status{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #e6effa}.status svg{color:#277fe0}.status p{font-size:12px;color:#6683a1;margin:3px 0}.list-row{display:flex;align-items:center;gap:14px;padding:14px;border-bottom:1px solid #e7eef8}.list-row small{display:block;color:#7891ad}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tool{display:flex;flex-direction:column;gap:7px;background:#f0f7ff;border-radius:12px;padding:16px}.tool svg{color:#237de6}.tool small,.tool span{font-size:12px;color:#6984a1}.tool span{color:#c47a26}.muted{font-size:12px;color:#6b85a2}.alert{display:flex;gap:10px;align-items:center;background:#fff0ee;color:#a43226;border-radius:10px;padding:12px;margin-bottom:12px}footer{text-align:center;font-size:11px;color:#7893b2;padding:30px}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.login{background:#fff;border-radius:20px;box-shadow:0 15px 40px #1b4e8c20;padding:40px;max-width:420px;text-align:center}.login .logo{width:70px;margin:auto}.login p{color:#607b99}.primary{background:#1b70dd;border:0;color:#fff;padding:12px 22px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;margin:20px auto}.error{color:#a43226!important}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.tools{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:fixed;z-index:10;transform:translate(-100%);transition:transform .2s}.sidebar.show{transform:translate(0)}.main{padding:14px}.mobile-menu{display:block}.top h1{font-size:19px}.top p,.user span{display:none}.hero h2{font-size:16px}.hero svg{width:45px}.kpis{gap:8px}.kpi{padding:10px;gap:8px}.kpi-icon{padding:9px}.kpi strong{font-size:22px}.kpi small{font-size:10px}.filters{flex-direction:column}.filters select{max-width:none}.panel{padding:14px}.add{font-size:10px}.tools{grid-template-columns:1fr 1fr}}
