:root{--navy-900:#0e2e54;--navy-800:#14407a;--navy-700:#1b4f8c;--navy-600:#25609f;--navy-500:#3a78b5;--navy-400:#6b97c7;--navy-300:#a4bdd9;--navy-200:#ccd9ea;--navy-100:#e6edf6;--navy-50:#f3f6fb;--orange-700:#c66e00;--orange-600:#e08200;--orange-500:#f39200;--orange-400:#ffa92e;--orange-300:#ffc36b;--orange-200:#ffdda6;--orange-100:#ffefd4;--orange-50:#fff8ec;--sky-500:#7fa9d9;--sky-100:#e4eef9;--ink-950:#0b1220;--ink-900:#131c2e;--ink-800:#1e293b;--ink-700:#334155;--ink-600:#475569;--ink-500:#64748b;--ink-400:#94a3b8;--ink-300:#cbd5e1;--ink-200:#e2e8f0;--ink-150:#eceff4;--ink-100:#f1f5f9;--ink-50:#f8fafc;--paper:#fbfbf8;--white:#fff;--success-700:#14724a;--success-500:#1f9d6b;--success-100:#dcf5e7;--warn-700:#92520b;--warn-500:#dd7b0e;--warn-100:#ffead0;--danger-700:#8c1f2a;--danger-500:#d8334a;--danger-100:#fbdfe3;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-2xl:28px;--shadow-xs:0 1px 2px #0e2e540f;--shadow-sm:0 2px 6px #0e2e5412, 0 1px 2px #0e2e540a;--shadow-md:0 8px 22px -8px #0e2e5429, 0 4px 8px -4px #0e2e540f;--shadow-lg:0 20px 40px -12px #0e2e5438, 0 6px 14px -6px #0e2e5414;--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-5:20px;--gap-6:24px;--gap-8:32px;--gap-10:40px;--gap-12:48px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";background:var(--paper);color:var(--ink-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-wrap:pretty;font-size:15px;line-height:1.5;overflow-x:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}input,select,textarea{font-family:inherit}::selection{background:var(--orange-200);color:var(--ink-900)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-200);border:2px solid var(--paper);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.focus-ring:focus-visible{outline:2px solid var(--orange-400);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--ink-200);border-top-color:var(--navy-700);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:14px;height:400px;display:flex}.loading-screen span{color:var(--ink-500);font-size:13.5px;font-weight:500}.anim-fade{animation:.32s backwards fadeIn}#root{min-height:100vh}.app-footer{text-align:center;color:var(--navy-300);background:var(--navy-900);border-top:1px solid var(--navy-800);z-index:10;padding:12px 28px;font-size:12px;position:fixed;bottom:0;left:270px;right:0}.app-footer strong{color:#fff;font-weight:600}.ui-chrome{-webkit-user-select:none;user-select:none}.pwa-banner{z-index:9998;border-radius:var(--r-md);box-shadow:var(--shadow-lg);align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 14px;font-size:13px;font-weight:500;display:flex;position:fixed}.pwa-banner-offline{background:var(--warn-100);color:var(--warn-700);border:1px solid #ffd9a6;top:12px;left:50%;transform:translate(-50%)}.pwa-banner-update{background:var(--navy-900);color:#fff;border:1px solid var(--navy-700);bottom:24px;left:24px}.pwa-banner-action{background:var(--orange-500);color:#fff;border-radius:8px;flex-shrink:0;margin-left:4px;padding:5px 12px;font-size:12.5px;font-weight:600}.pwa-banner-action:hover{background:var(--orange-600)}.pwa-banner-close{width:20px;height:20px;color:var(--navy-300);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=768px){.pwa-banner-offline{padding:8px 12px;font-size:12.5px;top:8px}.pwa-banner-update{max-width:none;bottom:76px;left:12px;right:12px}}.mobile-nav{display:none}.desktop-sidebar{display:flex}.screen-content{max-width:1400px;margin:0 auto;padding:24px 28px 56px}@media (width<=768px){.desktop-sidebar{display:none!important}.mobile-nav{background:var(--navy-900);border-top:1px solid var(--navy-800);z-index:50;scrollbar-width:none;height:64px;padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0);justify-content:flex-start;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.mobile-nav button{color:var(--navy-300);border-radius:8px;flex-direction:column;flex:1 0 58px;align-items:center;gap:2px;min-width:58px;padding:4px 2px;font-size:9px;font-weight:600;display:flex;position:relative}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button.active{color:var(--orange-300);background:#f392001f}.mobile-nav .nav-badge{background:var(--orange-500);border:2px solid var(--navy-900);border-radius:999px;width:8px;height:8px;position:absolute;top:2px;right:4px}.topbar-search,.topbar-user-details,.topbar-chevron,.topbar-kbd,.topbar-install{display:none!important}.screen-content{padding:16px 16px 80px}.app-footer{display:none}.grid-4{grid-template-columns:repeat(2,1fr)!important}.grid-2,.grid-2-wide,.grid-detail{grid-template-columns:1fr!important}.login-grid{grid-template-columns:1fr!important;min-height:100vh!important}.login-brand{display:none!important}.login-form-panel{align-items:flex-start!important;padding:24px 20px!important}.login-form-panel h2{font-size:24px!important}.login-form-panel .login-subtitle{font-size:13px!important}.login-mobile-logo{display:flex!important}.hero-actions{flex-direction:column}.hero-actions button{width:100%}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.topbar{gap:10px!important;height:56px!important;padding:0 16px!important}.topbar .page-title{font-size:15px!important}.topbar .page-subtitle{display:none!important}.page-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.page-header-actions{flex-wrap:wrap}}@media (width>=769px) and (width<=1024px){.grid-4{grid-template-columns:repeat(2,1fr)!important}.screen-content{padding:20px 24px 40px}}@media print{.desktop-sidebar,.mobile-nav,.topbar,.app-footer,.no-print{display:none!important}.screen-content{padding:0!important}body{background:#fff!important}}
