:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--navy-900:#0e2035;--navy-800:#12283f;--navy-700:#183351;--navy-600:#23496f;--navy-500:#35618d;--amber-500:#f5a524;--amber-600:#d98c0d;--bg:#f4f6f9;--bg-raised:#fff;--bg-sunken:#eceff4;--bg-hover:#e6ebf2;--border:#d8dfe8;--border-strong:#b9c4d2;--text:#16202c;--text-muted:#5c6b7d;--text-faint:#8695a7;--accent:var(--navy-600);--accent-text:#fff;--focus-ring:#3b82f6;--ok:#1f7a4d;--ok-bg:#e3f5ec;--warn:#a35f00;--warn-bg:#fdf1dd;--danger:#b3261e;--danger-bg:#fce9e7;--info:#1d5fa8;--info-bg:#e5eefa;--priority-high:#d92d20;--priority-medium:#e8940c;--priority-low:#2f8a5b;--due-ontrack:#1f7a4d;--due-ontrack-bg:#e3f5ec;--due-soon:#a35f00;--due-soon-bg:#fdf1dd;--due-overdue:#b3261e;--due-overdue-bg:#fce9e7;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #10203014;--shadow:0 2px 8px #1020301a;--shadow-lg:0 12px 32px #10203029;--font-sans:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "Consolas", monospace;--header-h:56px;--sidebar-w:236px;--content-max:1360px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d151f;--bg-raised:#16212f;--bg-sunken:#0a111a;--bg-hover:#1e2b3c;--border:#27364a;--border-strong:#3a4d66;--text:#e6ecf3;--text-muted:#9aa9bb;--text-faint:#6d7d91;--accent:var(--navy-500);--accent-text:#fff;--ok:#4ade80;--ok-bg:#12301f;--warn:#fbbf24;--warn-bg:#35270c;--danger:#fca5a5;--danger-bg:#3a1614;--info:#93c5fd;--info-bg:#12233a;--priority-high:#ef4444;--priority-medium:#f59e0b;--priority-low:#34d399;--due-ontrack:#4ade80;--due-ontrack-bg:#12301f;--due-soon:#fbbf24;--due-soon-bg:#35270c;--due-overdue:#fca5a5;--due-overdue-bg:#3a1614;--shadow-sm:0 1px 2px #0006;--shadow:0 2px 8px #00000073;--shadow-lg:0 12px 32px #0000008c}}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-size:15px;line-height:1.5}img,svg,video,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:650;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1.02rem}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:18px 20px}.stack{flex-direction:column;gap:14px;display:flex}.row{align-items:center;gap:10px;display:flex}.row-wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--text-muted)}.faint{color:var(--text-faint);font-size:.85rem}.mono{font-family:var(--font-mono);font-size:.88em}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-raised);min-height:38px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-weight:550;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--navy-700);border-color:var(--navy-700)}.btn-danger{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.btn-sm{min-height:30px;padding:0 10px;font-size:.87rem}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:.78rem;font-weight:600;display:inline-flex}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--bg-sunken);color:var(--text-muted)}.chip{border:1px solid var(--border-strong);background:var(--bg-raised);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:550}.chip:hover{background:var(--bg-hover)}.chip-active{background:var(--info);border-color:var(--info);color:var(--bg-raised);font-weight:650}.label{color:var(--text-muted);margin-bottom:5px;font-size:.82rem;font-weight:600;display:block}.input,.select,.textarea{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:38px;padding:8px 11px}.textarea{resize:vertical;min-height:84px}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:.78rem}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.table tr:last-child td{border-bottom:none}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bell-wrap{position:relative}.bell{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:1.05rem;position:relative}.bell:hover{background:#ffffff1f}.bell-count{background:var(--priority-high);color:#fff;text-align:center;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:.66rem;font-weight:700;line-height:17px;position:absolute;top:0;right:0}.bell-panel{z-index:70;width:min(380px,100vw - 24px);max-height:min(70vh,520px);box-shadow:var(--shadow-lg);color:var(--text);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.bell-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:11px 14px;display:flex}.bell-list{margin:0;padding:0;list-style:none;overflow-y:auto}.bell-item{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:11px 14px;font-size:.9rem;display:flex}.bell-item:last-child{border-bottom:none}.bell-unread{background:var(--info-bg);border-left:3px solid var(--info)}.bell-body{white-space:pre-wrap;max-height:6.5em;overflow:hidden}.bell-dismiss{color:var(--text-faint);margin-left:auto}.layout{flex-direction:column;min-height:100%;display:flex}.layout-body{flex:1;min-height:0;display:flex}.layout-main{min-width:0;max-width:var(--content-max);flex:1;padding:22px 20px 56px}.nav-toggle{color:#fff;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px 8px;font-size:1.1rem;display:none}.nav-toggle:hover{background:#ffffff1f}.header-user{align-items:center;gap:9px;min-width:0;display:flex}.header-user>div{flex-direction:column;min-width:0;line-height:1.25;display:flex}.header-user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;overflow:hidden}.header-user-role{color:#a9bdd4;font-size:.73rem}.avatar{background:var(--navy-600);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.74rem;font-weight:700;display:grid}.sidebar{width:var(--sidebar-w);background:var(--bg-raised);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:2px;padding:14px 10px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:10px;padding:9px 12px;font-size:.92rem;font-weight:550;text-decoration:none;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text)}.nav-link-active{background:var(--info-bg);color:var(--info)}.nav-icon{text-align:center;width:18px;font-size:.95rem}.sidebar-scrim{display:none}@media (width<=820px){.nav-toggle{display:block}.hide-narrow{display:none}.sidebar{top:var(--header-h);z-index:40;box-shadow:var(--shadow-lg);transition:transform .18s;position:fixed;bottom:0;left:0;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-scrim{inset:var(--header-h) 0 0 0;z-index:30;background:#08101a73;border:none;padding:0;display:block;position:fixed}.layout-main{padding:16px 14px 48px}}.conn-banner{border-bottom:1px solid #0000;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;display:flex}.conn-banner-offline{background:var(--warn-bg);color:var(--warn);border-bottom-color:var(--warn)}.conn-banner-online{background:var(--ok-bg);color:var(--ok);border-bottom-color:var(--ok)}.conn-dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.conn-banner-offline .conn-dot{animation:1.8s ease-in-out infinite conn-pulse}@keyframes conn-pulse{0%,to{opacity:1}50%{opacity:.25}}.update-prompt{z-index:60;max-width:min(380px,100vw - 32px);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:14px 16px;display:flex;position:fixed;bottom:16px;right:16px}.update-prompt p{margin-top:2px}.update-prompt .row{justify-content:flex-end}.cache-recovery{z-index:200;background:#08101ab3;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0}.cache-recovery-card{max-width:480px;box-shadow:var(--shadow-lg);border-left:4px solid var(--warn)}.signin-page{background:linear-gradient(160deg, var(--navy-800), var(--navy-900))}.signin-card{width:100%;max-width:420px;box-shadow:var(--shadow-lg);overflow:hidden}.signin-brand{background:var(--navy-700);color:#fff;align-items:center;gap:12px;padding:18px 22px;display:flex}.signin-brand img{border-radius:8px;flex:none}.signin-brand h1{font-size:1.02rem;line-height:1.2}.signin-brand .faint{color:#a9bdd4}.signin-body{padding:22px}.signin-blurb{margin-top:4px;font-size:.9rem}.signin-divider{color:var(--text-faint);align-items:center;gap:10px;font-size:.8rem;display:flex}.signin-divider:before,.signin-divider:after{content:"";background:var(--border);flex:1;height:1px}.signin-links{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.linkish{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.88rem;font-weight:550;text-decoration:underline}.signin-footnote{color:var(--text-faint);border-top:1px solid var(--border);padding:10px 22px 14px;font-size:.78rem}.app-header{height:var(--header-h);background:var(--navy-800);color:#fff;flex:none;align-items:center;gap:12px;padding:0 14px;display:flex}.app-brand{align-items:center;gap:10px;min-width:0;display:flex}.app-brand img{border-radius:6px;flex:none}.app-brand>div{flex-direction:column;min-width:0;display:flex}.app-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:650;line-height:1.2;overflow:hidden}.app-subtitle{color:#a9bdd4;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;line-height:1.3;overflow:hidden}.fullpage{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.page-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.page-header p{max-width:68ch;margin-top:3px}.empty-state{text-align:center;color:var(--text-muted);padding:32px 20px}.form-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);padding:10px 12px;font-size:.9rem}.form-success{border-radius:var(--radius-sm);background:var(--ok-bg);color:var(--ok);padding:10px 12px;font-size:.9rem}@media (width<=560px){.app-subtitle{display:none}}
