*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--text);font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-ink);text-decoration:underline}:root{--bg:#f4f5f7;--surface:#ffffff;--surface-2:#fafbfc;--border:#e5e8ec;--border-strong:#d2d7de;--text:#14161a;--text-2:#586072;--text-3:#8a91a0;--brand:#e31e24;--brand-ink:#b8161b;--brand-tint:#fdecec;--amber:#b54708;--amber-tint:#fef0c7;--amber-line:#f79009;--red:#b42318;--red-tint:#fee4e2;--red-line:#f04438;--green:#067647;--green-tint:#dcfae6;--blue:#175cd3;--blue-tint:#d1e9ff;--wa:#128c4a;--wa-tint:#dcfae6;--shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 3px rgba(16,24,40,0.06);--row-pad:9px 12px;--dense-gap:16px;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}[data-theme=dark]{--bg:#0b0d10;--surface:#14171c;--surface-2:#191d23;--border:#242932;--border-strong:#343b46;--text:#f2f4f7;--text-2:#98a2b3;--text-3:#6b7482;--brand:#ff3b41;--brand-ink:#ff7076;--brand-tint:#2a1315;--amber:#fdb022;--amber-tint:#2c1d06;--amber-line:#f79009;--red:#ff7b72;--red-tint:#301311;--red-line:#f04438;--green:#47cd89;--green-tint:#0a2118;--blue:#84caff;--blue-tint:#0b1e33;--wa:#47cd89;--wa-tint:#0a2118;--shadow:0 1px 2px rgba(0,0,0,0.5)}[data-density=comfortable]{--row-pad:14px 14px;--dense-gap:22px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:3px solid var(--bg)}.mono{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}button,input,select,textarea{font-family:inherit}.row-hover:hover{background:var(--surface-2)}.btn-secondary:hover{border-color:var(--brand);color:var(--brand)}.btn-primary:hover{background:var(--brand-ink)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger-hover:hover{color:var(--red);border-color:var(--red)}.app-sidebar nav button:hover,.nav-item:hover{background:var(--surface-2)}@media (prefers-reduced-motion:reduce){.nav-chevron{transition:none}}.nav-item,a,button,tr{transition:background .12s ease,color .12s ease,border-color .12s ease}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.route-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--brand),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:route-progress-sweep 1s ease-in-out infinite}@keyframes route-progress-sweep{0%{background-position:-40% 0}to{background-position:140% 0}}.nav-spinner{width:11px;height:11px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--border);border-top-color:var(--brand);animation:nav-spin .62s linear infinite}@keyframes nav-spin{to{transform:rotate(1turn)}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 0,var(--border) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.route-progress{animation:none;background:var(--brand);background-size:100% 100%}.nav-spinner,.skeleton{animation:none}.skeleton{background:var(--surface-2)}}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.app-sidebar{width:224px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);height:100vh;position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;overflow-y:auto}.app-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.app-header{min-height:56px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);padding:8px 22px;display:flex;align-items:center;gap:14px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-content{padding:20px 22px 40px;display:flex;flex-direction:column;gap:var(--dense-gap);flex:1 1;min-width:0}.app-menu-button{display:none;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;margin-left:-6px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;padding:0}.app-scrim,.only-narrow{display:none}@media (max-width:900px){.app-sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;z-index:60;transform:translateX(-100%);transition:transform .18s ease;box-shadow:0 0 40px rgba(16,24,40,.18)}.app-sidebar.open{transform:translateX(0)}.app-scrim{display:block;position:fixed;inset:0;z-index:50;border:0;padding:0;background:rgba(16,24,40,.45);cursor:pointer}.app-menu-button{display:inline-flex}.app-header{padding:8px 14px}.app-content{padding:14px 14px 32px}.hide-narrow{display:none!important}.only-narrow{display:block}}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}}body,html{overflow-x:clip}body,html,img,svg,video{max-width:100%}@media (max-width:640px){input,select,textarea{font-size:16px!important}.app-content table{font-size:12px}}.ray-field{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;isolation:isolate}.ray-fan{position:absolute;top:-40px;right:-40px;width:300vmax;height:300vmax;transform-origin:100% 0;background:repeating-conic-gradient(from 152deg at 100% 0,var(--ray-white) 0deg,var(--ray-white-out) 2.4deg,transparent 4.4deg,var(--ray-red) 5.2deg,var(--ray-red-out) 7.6deg,transparent 9.5deg);-webkit-mask-image:radial-gradient(circle at 100% 0,#000 0,rgba(0,0,0,.55) 34%,transparent 74%);mask-image:radial-gradient(circle at 100% 0,#000 0,rgba(0,0,0,.55) 34%,transparent 74%);mix-blend-mode:screen;filter:blur(9px);will-change:transform;animation:ray-sweep 42s ease-in-out infinite}@keyframes ray-sweep{0%,to{transform:translateY(-30%) rotate(0deg)}50%{transform:translateY(-30%) rotate(3.5deg)}}:root{--ray-white:rgba(120,132,158,0.16);--ray-white-out:rgba(120,132,158,0);--ray-red:rgba(227,30,36,0.14);--ray-red-out:rgba(227,30,36,0)}[data-theme=dark]{--ray-white:rgba(255,255,255,0.34);--ray-white-out:rgba(255,255,255,0);--ray-red:rgba(255,59,65,0.3);--ray-red-out:rgba(255,59,65,0)}@media (prefers-reduced-motion:reduce){.ray-fan{animation:none}}.alert-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:340px;max-width:calc(100vw - 24px);border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 18px 40px rgba(16,24,40,.18);overflow:hidden}@media (max-width:520px){.alert-panel{position:fixed;top:62px;left:12px;right:12px;width:auto}}.starfield{background-color:#05070b;background-image:radial-gradient(1.4px 1.4px at 12% 18%,rgba(255,255,255,.85),transparent 60%),radial-gradient(1.2px 1.2px at 74% 8%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1.6px 1.6px at 38% 62%,rgba(255,255,255,.8),transparent 60%),radial-gradient(1.1px 1.1px at 88% 46%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.3px 1.3px at 22% 84%,rgba(255,255,255,.75),transparent 60%),radial-gradient(1px 1px at 58% 32%,rgba(255,255,255,.55),transparent 60%),radial-gradient(2.2px 2.2px at 66% 74%,rgba(255,255,255,.9),transparent 55%),radial-gradient(2px 2px at 8% 52%,rgba(255,214,200,.8),transparent 55%),radial-gradient(120% 80% at 72% 0,rgba(227,30,36,.16) 0,transparent 62%);background-size:320px 320px,320px 320px,320px 320px,320px 320px,540px 540px,540px 540px,880px 880px,880px 880px,100% 100%;animation:starfield-drift 240s linear infinite}@keyframes starfield-drift{0%{background-position:0 0,120px 60px,40px 200px,260px 120px,0 0,300px 180px,0 0,400px 260px,0 0}to{background-position:320px 320px,440px 380px,360px 520px,580px 440px,540px 540px,840px 720px,880px 880px,1280px 1140px,0 0}}@media (prefers-reduced-motion:reduce){.starfield{animation:none}}@keyframes scroll-cue{0%,to{transform:translateY(0);opacity:.75}50%{transform:translateY(5px);opacity:1}}