:root{color-scheme:dark;--bg:#090c12;--panel:#111722;--panel2:#171f2c;--text:#f4f7fb;--muted:#8e9bad;--border:#263142;--accent:#8b5cf6;--danger:#fb7185;--shadow:0 24px 60px rgb(0 0 0/35%)}:root[data-theme=light]{color-scheme:light;--bg:#f4f6fa;--panel:#fff;--panel2:#eef1f6;--text:#101521;--muted:#596579;--border:#dce2eb;--accent:#6d28d9;--danger:#be123c;--shadow:0 24px 60px rgb(38 49 66/18%)}*{box-sizing:border-box}body,html{min-height:100%;max-width:100%}body,html{overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.brand-mark{display:inline-grid;width:36px;height:36px;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--accent),#22d3ee);color:#fff;font-weight:800}.eyebrow{margin:22px 0 8px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.14em}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at 20% 5%,rgb(139 92 246/20%),transparent 35%),var(--bg)}.login-card{width:min(100%,420px);padding:36px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.login-card h1,.page-panel h1{margin:0;font-size:clamp(1.8rem,7vw,2.4rem);line-height:1.1}.login-copy,.page-panel p{color:var(--muted)}.login-form{display:grid;grid-gap:10px;gap:10px;margin-top:28px}.login-form label{margin-top:6px;font-size:.86rem;font-weight:700}.login-form input{width:100%;min-height:48px;border:1px solid var(--border);border-radius:10px;padding:0 14px;background:var(--panel2);color:var(--text)}.form-error{margin:4px 0;color:var(--danger);font-size:.88rem}.primary-button{min-height:48px;margin-top:8px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.primary-button:disabled{cursor:wait;opacity:.65}.app-shell{min-height:100dvh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:100dvh;display:flex;flex-direction:column;padding:18px 14px;border-right:1px solid var(--border);background:var(--panel)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 22px;font-weight:900}.sidebar nav{display:grid;grid-gap:4px;gap:4px}.nav-link{display:flex;align-items:center;min-height:44px;gap:12px;padding:0 12px;border-radius:9px;color:var(--muted);text-decoration:none;font-size:.92rem;font-weight:650}.nav-link.active,.nav-link:hover{background:var(--panel2);color:var(--text)}.nav-link.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-footer{margin-top:auto;padding:16px 8px 4px;border-top:1px solid var(--border)}.user-summary{display:grid;min-width:0;margin-bottom:10px}.user-summary span{font-weight:700}.user-summary small{overflow:hidden;color:var(--muted);text-overflow:ellipsis}.text-button{min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}.app-frame{min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--bg)}.command-trigger,.icon-button{min-height:44px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);cursor:pointer}.icon-button{min-width:44px}.menu-button{display:none}.command-trigger{display:flex;align-items:center;gap:26px;padding:0 10px 0 14px;color:var(--muted)}kbd{padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--panel2);color:var(--text);font-size:.72rem}.app-content{width:min(100%,1440px);min-width:0;margin:0 auto;padding:28px}.page-panel{min-height:260px;padding:clamp(22px,5vw,42px);border:1px solid var(--border);border-radius:16px;background:var(--panel)}.page-panel .eyebrow{margin-top:0}.drawer-backdrop{display:none}.page-stack{display:grid;grid-gap:22px;gap:22px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.page-heading h1{margin:0;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.04em}.board-toolbar p,.page-heading p:not(.eyebrow){margin:.55rem 0 0;color:var(--muted)}.page-heading .eyebrow,.section-heading .eyebrow{margin:0 0 8px}.primary-button.compact-button,.secondary-button{display:inline-grid;min-height:44px;margin:0;padding:0 16px;place-items:center;text-decoration:none}.secondary-button{border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font-weight:750}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.dashboard-card,.kpi-card{border:1px solid var(--border);border-radius:14px;background:var(--panel)}.kpi-card{display:grid;grid-gap:6px;gap:6px;padding:18px}.empty-state,.kpi-card small,.kpi-card span{color:var(--muted)}.kpi-card strong{font-size:1.7rem}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:flex-start}.dashboard-card{min-width:0;overflow-wrap:anywhere;padding:20px}.dashboard-card.span-two{grid-column:span 2}.dashboard-card h2,.kanban-column h2,.task-dialog h2{margin:0;font-size:1rem}.simple-list,.task-summary-list{display:grid;grid-gap:8px;gap:8px;margin:14px 0 0;padding:0;list-style:none}.task-summary-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.task-summary-list input{width:18px;height:18px;accent-color:var(--accent)}.simple-list small,.task-summary-list small{color:var(--muted)}.simple-list li{display:grid;grid-gap:4px;gap:4px;padding:10px 0;border-top:1px solid var(--border)}.finance-list{display:grid;grid-gap:10px;gap:10px;margin:14px 0 0}.finance-list div{display:flex;justify-content:space-between;gap:12px}.finance-list dt{color:var(--muted)}.finance-list dd{margin:0;font-weight:800}.positive{color:#4ade80}.negative{color:var(--danger)}.progress-list{display:grid;margin-top:12px}.progress-list a{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,2fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 0;border-top:1px solid var(--border);color:var(--text);text-decoration:none}.progress-list a>span:first-child{display:grid;grid-gap:3px;gap:3px}.progress-list small{color:var(--muted)}.progress-track{height:8px;overflow:hidden;border-radius:99px;background:var(--panel2)}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#22d3ee)}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.kanban-board{display:grid;width:100%;max-width:100%;grid-template-columns:repeat(6,minmax(250px,1fr));grid-gap:12px;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 16px;scroll-snap-type:x mandatory;scrollbar-gutter:stable}.kanban-column{min-height:300px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);scroll-snap-align:start}.kanban-column.column-over{border-color:var(--accent)}.kanban-column>header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px}.kanban-column>header span{display:grid;min-width:25px;height:25px;place-items:center;border-radius:99px;background:var(--panel2);color:var(--muted);font-size:.78rem}.kanban-stack{display:grid;align-content:start;grid-gap:10px;gap:10px;min-height:240px}.empty-column{margin:0;padding:28px 8px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);text-align:center}.task-card{padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--panel2);box-shadow:0 7px 20px rgb(0 0 0/12%)}.task-card.dragging{opacity:.55}.task-card-row{display:flex;align-items:center;justify-content:space-between}.task-card-row input{width:19px;height:19px;accent-color:var(--accent)}.card-action,.drag-handle{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--muted);cursor:pointer}.drag-handle{padding:4px 8px;touch-action:none}.task-card h3{margin:12px 0 4px;font-size:.92rem;line-height:1.35}.task-card p{margin:5px 0;color:var(--muted);font-size:.82rem}.task-card footer{display:flex;align-items:center;gap:8px;margin-top:14px}.task-card footer a{min-width:0;min-height:44px;display:inline-flex;align-items:center;overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.task-card footer .card-action{margin-left:auto;font-size:.72rem}.complexity{display:grid;min-width:25px;height:25px;place-items:center;border-radius:6px;background:rgb(139 92 246/18%);color:#c4b5fd;font-size:.7rem;font-weight:900}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:rgb(0 0 0/65%)}.task-dialog{display:grid;grid-gap:14px;gap:14px;width:min(100%,500px);max-height:calc(100dvh - 36px);overflow-y:auto;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-dialog label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.82rem;font-weight:750}.task-dialog input,.task-dialog select{min-height:44px;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.board-error{margin:0}.today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-board{display:grid;width:100%;max-width:100%;grid-template-columns:repeat(6,minmax(230px,1fr));grid-gap:12px;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 16px;scroll-snap-type:x mandatory;scrollbar-gutter:stable}.content-column{min-height:280px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);scroll-snap-align:start}.content-column.column-over{border-color:var(--accent)}.content-column>header{display:flex;align-items:center;justify-content:space-between}.content-column>header h2{margin:0;font-size:.82rem}.content-column>header span,.status-pill{padding:4px 8px;border-radius:99px;background:var(--panel2);color:var(--muted);font-size:.72rem}.content-stack{display:grid;align-content:start;grid-gap:9px;gap:9px;min-height:220px;margin-top:12px}.content-card{display:grid;min-height:44px;grid-gap:7px;gap:7px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);cursor:auto;touch-action:auto}.content-card.dragging{opacity:.5}.content-card small,.content-card span,.experiment-card p,.experiment-card>small,.resource-row small{color:var(--muted)}.content-card span{font-size:.75rem}.inline-create{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inline-create input{flex:1 1 180px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text)}.resource-grid{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.resource-row{display:grid;min-width:0;grid-gap:7px;gap:7px;overflow-wrap:anywhere;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--panel2)}.resource-form{display:grid;grid-gap:11px;gap:11px;margin-top:14px}.resource-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.82rem;font-weight:700}.experiment-card select,.resource-form input,.resource-form select,.resource-form textarea{min-height:44px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);color:var(--text)}.resource-form textarea{min-height:80px;resize:vertical}.experiment-card>header{display:flex;justify-content:space-between;gap:12px}.linked-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:14px}.linked-grid h3{margin:0;font-size:.82rem}.linked-grid select{width:100%}.report-bars{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.report-bars div{display:grid;grid-template-columns:120px minmax(40px,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.report-bars span{color:var(--muted);font-size:.82rem}.report-bars i{display:block;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--accent),#22d3ee)}@media (max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:0;transform:translateX(-102%);width:min(86vw,300px);transition:transform .18s ease;box-shadow:var(--shadow)}.sidebar-open{transform:translateX(0)}.drawer-backdrop{position:fixed;inset:0;z-index:25;display:block;border:0;background:rgb(0 0 0/55%)}.topbar{height:62px;justify-content:space-between;padding:0 12px}.menu-button{display:inline-grid;place-items:center}.command-trigger{flex:1 1;min-width:0;justify-content:space-between;gap:8px}.command-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{width:100%;max-width:100vw;padding:16px max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.login-card{padding:28px 20px}.page-heading{min-width:0;align-items:flex-start;flex-direction:column;overflow-wrap:anywhere}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.today-grid{grid-template-columns:1fr}.dashboard-card.span-two{grid-column:auto}.progress-list a{grid-template-columns:1fr auto}.progress-track{grid-column:1/-1;grid-row:2}.board-toolbar{align-items:stretch;flex-direction:column}.board-toolbar .primary-button{width:100%}.kanban-board{grid-template-columns:repeat(6,minmax(min(78vw,280px),1fr))}.content-board{grid-template-columns:repeat(6,minmax(min(76vw,260px),1fr))}.linked-grid{grid-template-columns:1fr}.inline-create{align-items:stretch;flex-direction:column}.inline-create button,.inline-create input{width:100%}.report-bars div{grid-template-columns:minmax(72px,90px) minmax(30px,1fr) auto}.form-row{grid-template-columns:1fr}.task-dialog{padding:20px 16px}.inline-create input,.resource-form input,.resource-form select,.resource-form textarea,.task-dialog input,.task-dialog select{font-size:16px}}@media (max-width:430px){.kpi-grid{grid-template-columns:1fr}.command-trigger kbd{display:none}.report-bars div{grid-template-columns:1fr auto}.report-bars i{grid-column:1/-1;grid-row:2}}.command-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding:min(14vh,7rem) 1rem 1rem;background:rgb(3 8 20/72%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.command-palette{width:min(42rem,100%);max-height:min(70vh,42rem);overflow:auto;border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:0 28px 80px rgb(0 0 0/45%)}.command-input-row{display:flex;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border)}.command-input-row input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:1rem}.command-actions{display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.command-actions button{min-height:44px;padding:.65rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer}.command-message,.empty-state{margin:0;padding:1rem;color:var(--muted)}.command-results{display:grid;grid-gap:0;gap:0;margin:0;padding:0;list-style:none}.command-results li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.command-results li>span:first-child{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.command-results small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important}}.content-card>button{cursor:-webkit-grab;cursor:grab;touch-action:none;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text)}.content-card details,.resource-form,.resource-form label{min-width:0}.resource-form input,.resource-form select,.resource-form textarea{width:100%;min-width:0;box-sizing:border-box}details>summary{cursor:pointer;padding:12px 0;min-height:44px;overflow-wrap:anywhere}