:root{--orange:#ff560b;--orange-soft:#ffe4d6;--red:#b80201;--navy:#0a2540;--navy-2:#0f2e4e;--cyan:#00d4ff;--cyan-soft:#cff6ff;--bg:#f4f6f8;--surface:#fff;--surface-2:#fafbfd;--border:#e4e8ee;--border-2:#eef1f5;--ink:#0a2540;--ink-2:#34495f;--muted:#6b7c93;--muted-2:#93a0b3;--accent:var(--orange);--accent-soft:var(--orange-soft);--good:#16a34a;--good-soft:#dcfce7;--bad:#dc2626;--bad-soft:#fee2e2;--warn:#f59e0b;--warn-soft:#fef3c7;--r-sm:6px;--r:10px;--r-lg:14px;--r-xl:18px;--sh-1:0 1px 2px #0a25400a, 0 1px 0 #0a254005;--sh-2:0 4px 16px #0a25400f, 0 1px 0 #0a254008;--sh-3:0 12px 36px #0a25401f, 0 2px 6px #0a25400d;--font-sans:"Inter", "IBM Plex Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace}html[data-theme=dark]{--bg:#0b1220;--surface:#131c2e;--surface-2:#1a2438;--border:#2a3550;--border-2:#243049;--ink:#e8eef8;--ink-2:#c4cfe3;--muted:#94a3b8;--muted-2:#64748b;--orange-soft:#3a2418;--good-soft:#14322a;--bad-soft:#3a1f1f;--warn-soft:#3a2d14;--cyan-soft:#143040;--accent-soft:#3a2418;--sh-1:0 0 0 1px #ffffff0a;--sh-2:0 4px 16px #0006, 0 0 0 1px #ffffff0a;--sh-3:0 12px 36px #00000080, 0 0 0 1px #ffffff0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=system]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b1220;--surface:#131c2e;--surface-2:#1a2438;--border:#2a3550;--border-2:#243049;--ink:#e8eef8;--ink-2:#c4cfe3;--muted:#94a3b8;--muted-2:#64748b;--orange-soft:#3a2418;--good-soft:#14322a;--bad-soft:#3a1f1f;--warn-soft:#3a2d14;--cyan-soft:#143040;--accent-soft:#3a2418;--sh-1:0 0 0 1px #ffffff0a;--sh-2:0 4px 16px #0006, 0 0 0 1px #ffffff0a;--sh-3:0 12px 36px #00000080, 0 0 0 1px #ffffff0f}}html{transition:background-color .2s,color .2s}body,.card,.input,.btn,.app-sidebar{transition:background-color .2s,color .2s,border-color .2s}*{box-sizing:border-box}html,body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.btn{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--ink);white-space:nowrap;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.btn:hover{border-color:var(--ink-2);background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(.94);border-color:var(--accent);background:var(--accent)}.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg)}.btn-sm{padding:6px 10px;font-size:12px}.chip{background:var(--bg);border:1px solid var(--border);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.chip-good{background:var(--good-soft);color:#15803d;border-color:#0000}.chip-bad{background:var(--bad-soft);color:#b91c1c;border-color:#0000}.chip-warn{background:var(--warn-soft);color:#b45309;border-color:#0000}.chip-accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);font-size:12px;font-weight:500}.input{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);height:40px;color:var(--ink);outline:none;padding:0 12px;font-size:14px;transition:border .12s,box-shadow .12s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent)}.divider{background:var(--border);border:0;height:1px;margin:0}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:#d8dee7;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#b8c2d1}@keyframes fadeUp{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-fade{opacity:1;animation:.32s both fadeUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes drawerIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes skeleton-pulse{0%,to{background-color:var(--surface-2,#f1f5f9)}50%{background-color:var(--border-2,#e5e7eb)}}.show-md,.show-sm{display:none!important}@media (width<=1024px){.hide-md{display:none!important}.show-md{display:inline-flex!important}}@media (width<=640px){.hide-sm{display:none!important}.show-sm{display:inline-flex!important}}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.responsive-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.responsive-table-wrap>table{min-width:720px}@media (width<=640px){.responsive-table-wrap>table{min-width:700px}}.split-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}@media (width<=640px){.split-row{align-items:flex-start}.split-row>.split-row-end{width:100%}.split-row>.split-row-end>.btn{justify-content:center;width:100%}}html[data-theme=dark] .chip-good{color:#4ade80}html[data-theme=dark] .chip-bad{color:#f87171}html[data-theme=dark] .chip-warn{color:#fbbf24}html[data-theme=dark] .chip-accent{color:var(--accent)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--surface-2);color:var(--ink);border-color:var(--border)}html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{border-color:var(--accent);outline-color:var(--accent)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:var(--muted-2)}html[data-theme=dark] code,html[data-theme=dark] .mono{background:var(--surface-2);color:var(--ink-2)}html[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}html[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg)}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}html[data-theme=dark] .card-tinted-good{background:#22c55e14;border-color:#22c55e33}html[data-theme=dark] .card-tinted-bad{background:#dc262614;border-color:#dc262633}@media (prefers-color-scheme:dark){html[data-theme=system] .chip-good{color:#4ade80}html[data-theme=system] .chip-bad{color:#f87171}html[data-theme=system] .chip-warn{color:#fbbf24}html[data-theme=system] input,html[data-theme=system] select,html[data-theme=system] textarea{background:var(--surface-2);color:var(--ink);border-color:var(--border)}}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:50;flex-direction:column;flex-shrink:0;width:240px;height:100vh;transition:transform .24s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0}@media (width<=1024px){.app-sidebar{box-shadow:var(--sh-3);position:fixed;top:0;left:0;transform:translate(-100%)}.app-sidebar.is-open{transform:translate(0)}}.app-scrim{display:none}@media (width<=1024px){.app-scrim{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a254073;animation:.18s both fadeIn;display:block;position:fixed;inset:0}}.app-topbar{padding:20px 28px}@media (width<=640px){.app-topbar{padding:14px 16px}.app-topbar h1{font-size:18px!important}.app-topbar .topbar-sub{font-size:12px!important}.page-fade{padding:16px!important}}.modal-overlay{padding:24px}.modal-card{max-width:min(560px,100vw - 32px)}@media (width<=640px){.modal-overlay{padding:16px}.modal-card{max-width:min(560px,100vw - 32px)}.modal-header,.modal-footer{padding:14px 16px!important}.modal-body{padding:16px!important}}@media (width<=1024px){.app-sidebar nav button{min-height:44px;padding:11px 12px!important}}.kpi-grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.kpi-grid-5{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}@media (width<=1180px){.kpi-grid-5{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.kpi-grid-4,.kpi-grid-5{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.kpi-grid-4,.kpi-grid-5{grid-template-columns:repeat(2,1fr)}}@media (width<=400px){.kpi-grid-4,.kpi-grid-5{grid-template-columns:1fr}}.login-screen{background:var(--surface);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(135deg,#0a2540 0%,#0f2e4e 50%,#07263f 100%);flex-direction:column;justify-content:space-between;gap:24px;padding:48px 56px;display:flex;position:relative;overflow:hidden}.login-form-pane{flex-direction:column;justify-content:center;align-items:center;padding:48px 56px;display:flex;position:relative}.login-logo-wrap{z-index:1;justify-content:center;display:flex;position:relative}.login-logo-img{object-fit:contain;filter:drop-shadow(0 6px 28px #00000080);width:100%;max-width:480px;height:auto;display:block}.login-headline{letter-spacing:-.02em;margin:0;font-size:52px;font-weight:800;line-height:1.05}.login-trust{color:#ffffff80;flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;display:flex}@media (width<=1024px){.login-screen{grid-template-columns:1fr}.login-brand{order:2;gap:22px;min-height:auto;padding:28px 22px 32px}.login-form-pane{order:1;min-height:auto;padding:36px 22px 48px}.login-logo-img{max-width:340px}.login-headline{font-size:34px}.login-orb-1{width:280px!important;height:280px!important}.login-orb-2{display:none!important}}@media (width<=560px){.login-logo-img{max-width:240px}.login-headline{font-size:26px}.login-trust{gap:8px;font-size:11px}.login-trust .dot{display:none}.login-brand{padding:22px 18px 26px}.login-form-pane{padding:28px 18px 48px}}.bottom-nav{display:none}@media (width<=1024px){.bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:45;justify-content:space-around;height:60px;padding:4px 0 8px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{cursor:pointer;min-height:52px;color:var(--muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:10px;font-weight:500;display:flex}.bottom-nav button.is-active{color:var(--accent)}.page-fade{padding-bottom:80px!important}}
