:root{--navy-950:#0a1530;--navy-900:#0d1a3a;--navy-800:#152449;--navy-700:#1c2f5c;--blue-600:#1a4fe0;--blue-700:#153fb3;--blue-500:#2f65ff;--blue-100:#e6edff;--blue-50:#f2f6ff;--green-600:#16a34a;--green-700:#0f7a37;--green-100:#dcfce7;--green-50:#f0fdf4;--amber-600:#b45309;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-50:#fffbeb;--red-600:#dc2626;--red-100:#fee2e2;--gray-950:#0f172a;--gray-900:#111827;--gray-700:#374151;--gray-600:#4b5563;--gray-500:#64748b;--gray-300:#d7dce4;--gray-200:#e5e9f0;--gray-100:#eef1f6;--gray-50:#f6f8fb;--white:#ffffff;--surface-app:var(--gray-50);--surface-panel:var(--white);--surface-sidebar:var(--navy-900);--surface-sidebar-active:var(--blue-600);--surface-card:var(--white);--surface-card-selected:var(--blue-50);--surface-sunken:var(--gray-100);--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-selected:var(--blue-500);--border-warning:var(--amber-200);--text-primary:var(--gray-950);--text-secondary:var(--gray-500);--text-muted:var(--gray-500);--text-on-dark:#c9d4ea;--text-on-dark-strong:var(--white);--text-link:var(--blue-600);--text-link-hover:var(--blue-700);--accent-primary:var(--blue-600);--accent-primary-hover:var(--blue-700);--status-success-bg:var(--green-100);--status-success-fg:var(--green-700);--status-info-bg:var(--blue-100);--status-info-fg:var(--blue-700);--status-warning-bg:var(--amber-100);--status-warning-fg:var(--amber-600);--status-neutral-bg:var(--gray-100);--status-neutral-fg:var(--gray-600);--status-danger-bg:var(--red-100);--status-danger-fg:var(--red-600)}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"SFMono-Regular",ui-monospace,"Menlo",monospace;--text-page-title:28px;--text-page-title-weight:700;--text-page-title-lh:1.2;--text-section-title:18px;--text-section-title-weight:700;--text-section-title-lh:1.3;--text-body-lg:15px;--text-body-lg-weight:600;--text-body:14px;--text-body-weight:400;--text-body-lh:1.5;--text-label:13px;--text-label-weight:500;--text-caption:12px;--text-caption-weight:500;--text-eyebrow-tracking:.04em}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--shadow-card:0 1px 2px rgba(15,23,42,.04),0 1px 0 rgba(15,23,42,.03);--shadow-panel:0 1px 3px rgba(15,23,42,.06);--shadow-popover:0 12px 32px rgba(15,23,42,.14);--ease-standard:cubic-bezier(.2,.8,.2,1);--duration-fast:.12s;--duration-standard:.18s}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:10px 12px;font-size:var(--text-body)}th{font-size:var(--text-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--text-eyebrow-tracking);color:var(--text-secondary)}tbody tr{border-top:1px solid var(--border-default)}html,body{margin:0;height:100%}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-app)}#root{height:100%}.collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:var(--space-2) var(--space-4);background:var(--surface-panel);color:var(--text-primary);border:0;border-bottom:1px solid var(--border-default);font:inherit;font-size:var(--text-body);font-weight:600;cursor:pointer}.collapsible-body[hidden]{display:none}.shell{display:flex;height:100vh;overflow-x:hidden}.shell-sidebar{width:240px;flex-shrink:0;background:var(--surface-sidebar);padding:var(--space-4);display:flex;flex-direction:column;box-sizing:border-box;outline:none}.shell-header{padding:18px 28px}.shell-menu-btn,.shell-scrim{display:none}@media(max-width:1023px){.shell{height:100vh;height:100dvh}.shell-sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,85vw);transform:translate(-100%);visibility:hidden;transition:transform var(--duration-fast),visibility 0s linear var(--duration-fast);z-index:30;overflow-y:auto;overscroll-behavior:contain}.shell-sidebar[data-open=true]{transform:translate(0);visibility:visible;transition:transform var(--duration-fast),visibility 0s}.shell-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:20}.shell-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--text-primary);cursor:pointer}.shell-header{padding:12px 16px}.shell-user-text,.shell-chevron{display:none}}.dropzone{padding:48px 24px}.page-pad{padding:var(--space-6)}.planning{display:flex;height:100%}.planning-list{width:380px;max-width:100%;flex-shrink:0;border-right:1px solid var(--border-default);padding:var(--space-5);overflow-y:auto;box-sizing:border-box}.planning-panel{flex:1;min-width:0;padding:var(--space-6);overflow-y:auto;box-sizing:border-box}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}@media(max-width:1023px){.planning{flex:1;flex-direction:column;min-width:0;height:auto;overflow-y:auto}.planning>*{flex-shrink:0}.planning-list{width:100%;border-right:0;border-bottom:1px solid var(--border-default)}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.page-pad{padding:var(--space-4)}.dropzone{padding:32px 16px}.planning-panel{padding:var(--space-4)}.grid-3{grid-template-columns:minmax(0,1fr)}}.login{display:flex;height:100%;min-height:100vh}.login-brand{width:45%;background:var(--surface-sidebar);display:flex;align-items:center;justify-content:center;padding:var(--space-8);box-sizing:border-box}.login-brand-title{color:var(--text-on-dark-strong);font-weight:800;font-size:48px;letter-spacing:.01em}.login-form-pane{flex:1;background:var(--surface-panel);display:flex;align-items:center;justify-content:center;padding:var(--space-8);box-sizing:border-box}@media(max-width:1023px){.login{flex-direction:column;height:auto;min-height:100dvh}.login-brand{width:100%;justify-content:flex-start;padding:var(--space-5)}.login-brand-title{font-size:28px}.login-form-pane{padding:var(--space-5)}}
