:root{--ink:#1b2026;--secondary:#50565e;--muted:#6f757d;--border:#cbd2db;--grid:#e1e5ea;--weekend:#f3f5f8;--accent:#1f68bc;--today:#e39a0b;--warn:#c98a12;--bar:#3a7bcb;--late:#c13c3b;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}body{margin:0}.demo{--pane-w:380px;padding:8px 12px 0}@media screen{.demo{box-sizing:border-box;flex-direction:column;height:100vh;padding:6px 0 0;display:flex}.demo>*{flex:none}.demo>:not(.grid-wrap){margin-left:12px;margin-right:12px}.demo>.grid-wrap{border-bottom:0;border-left:0;border-right:0;border-radius:0;flex:1 1 0;align-items:stretch;min-height:160px;overflow:hidden}.demo>.grid-wrap>.pane{overflow:auto}.demo>.grid-wrap>.data-pane{overflow-y:hidden}.demo>.kpis{border-left:0;border-right:0;border-radius:0;margin-left:0;margin-right:0;padding-left:12px}.demo>.action-bar{border-left:0;border-right:0;border-radius:0;margin-left:0;margin-right:0}}.signup-inline{align-items:stretch;gap:0;display:flex}.signup-inline input{font:inherit;border:1px solid var(--accent);border-right:0;border-radius:5px 0 0 5px;width:160px;padding:3px 8px}.signup-inline input:focus{box-shadow:inset 0 0 0 1px var(--accent);outline:none}.signup-inline button[type=submit]{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;background:#eaf1fa;border-radius:0 5px 5px 0;padding:3px 10px;font-weight:600}.signup-inline button[type=submit]:hover{background:var(--accent);color:#fff}.signup-inline .signup-error{align-self:center;margin-left:6px}.signup-error{color:#c0392b}.signup-inline input[aria-invalid=true]{border-color:#c0392b}.brand{color:var(--ink);font-size:1.15rem;font-weight:700;text-decoration:none}.demo-tag,.muted,.small{color:var(--muted)}.founder-link{color:var(--accent);font-weight:600}.tips{width:380px;max-height:70vh;color:var(--ink);padding:4px 6px;font-size:13px;line-height:1.45;overflow:auto}.tips .tips-lead{color:var(--ink);background:#eef4fb;border-radius:6px;margin:0 0 4px;padding:8px 10px}.tips h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:12px 0 4px;font-size:11px;font-weight:600}.tips ul{margin:0;padding-left:18px}.tips li{margin:2px 0}.tips li::marker{color:var(--muted)}.tips .shortcuts{grid-template-columns:max-content 1fr;align-items:center;gap:4px 12px;margin:0;display:grid}.tips dt{white-space:nowrap;color:var(--muted)}.tips dd{margin:0}kbd{border:1px solid var(--border);text-align:center;min-width:14px;color:var(--ink);background:#fff;border-bottom-width:2px;border-radius:4px;padding:0 5px;font:11px/18px inherit;display:inline-block}.chart-grid th{z-index:3}code{background:var(--weekend);border-radius:3px;padding:1px 4px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:5px;padding:5px 12px}button:disabled{opacity:.5;cursor:default}button.quiet{color:var(--accent);background:#fff}.formula-error{color:var(--late);flex-direction:column;flex-basis:100%;gap:2px;display:flex}.formula-echo mark{color:var(--late);background:0 0;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.fx{color:var(--accent);font-style:italic;font-weight:700}.toolbar{align-items:center;gap:8px;margin:10px 0;display:flex}.grid-wrap{border:1px solid var(--border);border-radius:6px;outline:none;align-items:flex-start;display:flex}.pane{min-width:0;overflow-x:auto}.data-pane{flex:none;max-width:60%}.data-pane.sized{max-width:none}.chart-pane{flex:auto;position:relative}.splitter{cursor:col-resize;touch-action:none;background:var(--grid);flex:0 0 5px;align-self:stretch;position:relative}.splitter:after{content:"";background:var(--secondary);width:3px;height:3px;box-shadow:0 -6px var(--secondary), 0 6px var(--secondary);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.splitter:hover,.splitter:focus-visible,.splitter:active{background:#cfd8e3;outline:none}.grid tbody td.in-range,.grid tbody tr.selected td.in-range{background:#d6e6f8}.grid td.in-range .cell-input{background:0 0}.grid{border-collapse:separate;border-spacing:0;white-space:nowrap}.grid th,.grid td{border-bottom:1px solid var(--grid);text-align:left;height:26px;padding:0 8px}.grid tbody td{height:var(--row-h,26px)}.grid tbody .cell-input,.grid tbody select{max-height:calc(var(--row-h,26px) - 1px)}.grid th{color:var(--secondary);background:#fff;font-weight:600;position:sticky;top:0}.grid .num{text-align:right}.grid tr.parent{font-weight:700}.grid tr.selected td{background:#eef4fb}.grid td.formula-cell{background:#fafbfc}.grid td.timeline-col,.grid th.timeline-col{padding:0}.cell-input{font:inherit;box-sizing:border-box;background:0 0;border:1px solid #0000;width:100%;min-width:60px;padding:3px 4px}.cell-input:hover{border-color:var(--grid)}.cell-input:focus{border-color:var(--accent);background:#fff;outline:none}.cell-input[data-mode=select]:focus{caret-color:#0000;box-shadow:inset 0 0 0 1px var(--accent);cursor:cell}.cell-input[data-mode=select]::selection{background:0 0}.num .cell-input{text-align:right;width:80px}select{font:inherit;background:0 0;border:1px solid #0000}.error-cell{color:var(--late);cursor:help}.timeline{display:block}.timeline .guide{stroke:#d5dae0;display:none}.timeline .day-guide{stroke:#c3cad3;stroke-dasharray:1 2}.guides .timeline .guide{display:inline}.timeline .weekend{fill:var(--weekend)}.timeline .today{stroke:var(--today);stroke-width:1.5px;stroke-dasharray:2 3}.timeline .today-mark{fill:var(--today);display:none}.today-triangle .timeline .today-mark{display:inline}.today-triangle line.today,.today-off line.today{display:none}.timeline .month{fill:var(--secondary);font-size:10px}.timeline .day{fill:var(--muted);text-anchor:middle;font-size:10px}.timeline .day.start{text-anchor:start}.timeline .tick{stroke:var(--grid)}.bar{fill:var(--bar)}.late-mark path:first-child{fill:var(--late);stroke:#fff;stroke-width:1px;stroke-linejoin:round}.late-mark .late-mark-bang{fill:none;stroke:#fff;stroke-width:1.4px;stroke-linecap:round}.parent-bar{fill:#c5ccd6}.parent-fill{fill:#3d4654}.group-bar{cursor:grab}.milestone{fill:var(--ink)}.signup{flex-wrap:wrap;gap:8px;max-width:560px;margin-top:28px;display:flex}.signup h2{flex-basis:100%;margin:0;font-size:1.1rem}.signup input{font:inherit;border:1px solid var(--border);border-radius:5px;flex:240px;padding:6px 8px}.signup p{flex-basis:100%;margin:0}.cell-input[type=date]{width:122px;min-width:0}.grid select{max-width:112px}.grid th,.grid td{padding:0 6px}.grid .name-col{min-width:160px}.toolbar{flex-wrap:wrap}.toolbar .sep{background:var(--grid);align-self:stretch;width:1px}.toolbar select{border:1px solid var(--border);border-radius:5px;max-width:220px;padding:4px 6px}.bar-rule{color:var(--secondary);align-items:center;gap:6px;display:flex}.message{z-index:60;color:#fff;background:#1f2733;border-radius:8px;align-items:center;gap:12px;max-width:min(680px,100vw - 32px);margin:0;padding:9px 10px 9px 16px;font-size:13px;animation:.15s ease-out toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000038}.message.error{color:#fff;background:#a3261d}.message-close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;flex:none;padding:2px 4px}.message-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}@media print{.message{display:none}}.chart-pane{isolation:isolate}.bg-layer{pointer-events:none;z-index:-1;position:absolute;top:0}.bg-layer svg{display:block}.chart-grid tr.selected td{background:#286ec814}.chart-grid tr.stale td{background:#e8a33d1f}.links-layer{pointer-events:none;z-index:1;position:absolute;top:0}.links-overlay{display:block;overflow:hidden}.link{pointer-events:stroke;cursor:pointer}.grid-wrap.linking .link{pointer-events:none}.link-hit{fill:none;stroke:#0000;stroke-width:9px}.link-line{fill:none;stroke:var(--secondary);stroke-width:1.2px}.link:hover .link-line{stroke:var(--accent);stroke-width:2px}.arrow-head{fill:var(--secondary)}.timeline .bar,.timeline .milestone{cursor:grab;touch-action:none}.timeline.dragging .bar,.timeline.dragging .milestone{cursor:grabbing;opacity:.8}.resize-handle{fill:#0000;cursor:ew-resize;touch-action:none}.link-handle{fill:#fff;stroke:var(--accent);stroke-width:1.5px;opacity:0;cursor:crosshair}.grid tr:hover .link-handle,.grid tr.link-from .link-handle{opacity:1}.grid-wrap.linking tr{cursor:crosshair}.grid tr.link-from td{background:#fdf3e1}.data-grid th:first-child,.data-grid td:first-child,.data-grid .wbs-col,.data-grid .name-col{z-index:2;background:#fff;position:sticky}.data-grid th{z-index:3}.data-grid th:first-child,.data-grid th.wbs-col,.data-grid th.name-col{z-index:4}.data-grid th:first-child,.data-grid td:first-child{width:34px;min-width:34px;left:0}.data-grid .wbs-col{width:34px;min-width:34px;left:45px}.data-grid .name-col{box-shadow:inset -1px 0 var(--grid);left:45px}.data-grid.with-wbs .name-col{left:90px}.todo-wash{fill:#fff;fill-opacity:.6;pointer-events:none}.progress-handle{fill:var(--ink);opacity:0;cursor:ew-resize;touch-action:none}.grid tr:hover .progress-handle,.grid tr.selected .progress-handle,.timeline.dragging .progress-handle{opacity:1}.kpis{border:1px solid var(--grid);background:#fff;border-radius:6px;flex-wrap:wrap;margin:2px 0 8px;display:flex;overflow:hidden}.kpi{border:none;border-right:1px solid var(--grid);min-width:0;color:var(--ink);font:inherit;text-align:left;white-space:nowrap;background:0 0;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:2px 14px 3px;display:flex}.kpi:last-child{border-right:none}.tile-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px;line-height:11px}.tile-value{align-items:center;gap:6px;font-size:14px;font-weight:650;line-height:16px;display:flex}.tile-note{color:var(--muted);font-size:12px;font-weight:400}button.kpi{cursor:pointer}button.kpi:hover{background:#f5f8fc}.kpi.alert .tile-value{color:var(--late)}.kpi.good .tile-value{color:#1e7b46}.kpi .meter{background:var(--grid);border-radius:3px;width:64px;height:6px;overflow:hidden}.kpi .meter span{background:var(--bar);height:100%;display:block}.kpi .stack{width:70px;display:flex}.kpi .stack .seg{cursor:pointer;background:0 0;border:0;align-items:center;min-width:4px;height:16px;padding:0;display:flex}.kpi .stack .seg:disabled{cursor:default}.kpi .stack .seg>span{width:100%;height:6px}.kpi .stack .seg:first-child>span{border-radius:3px 0 0 3px}.kpi .stack .seg:last-child>span{border-radius:0 3px 3px 0}.kpi .stack .seg:only-child>span{border-radius:3px}.kpi .stack .seg:not(:disabled):hover>span{height:9px}.kpi .stack.filtered .seg:not(.on)>span{opacity:.3}.kpi .status-counts .link-button{color:inherit;font-size:inherit;text-decoration:none}.kpi .status-counts .link-button:hover,.kpi .status-counts .link-button.on{color:var(--accent,#1f6feb);text-decoration:underline}.s0{background:#b8c1cc}.s1{background:var(--bar)}.s2{background:var(--late)}.s3{background:#2e8b57}.s4{background:#8a63d2}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.holidays{margin:0 0 10px}.holidays summary{cursor:pointer;color:var(--accent)}.holidays ul{margin:6px 0;padding-left:18px}.holidays form{flex-wrap:wrap;gap:6px;display:flex}.holidays input{font:inherit;border:1px solid var(--border);border-radius:4px;padding:4px 6px}.link-button{color:var(--accent);background:0 0;border:none;padding:0 4px;text-decoration:underline}.critical-ring{fill:none;stroke:var(--ink);stroke-width:2px;pointer-events:none}.milestone.critical{stroke:var(--ink);stroke-width:2.5px}.baseline-bar{fill:#9aa3ad;pointer-events:none}.pro-tag{background:var(--ink);color:#fff;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:600}.filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quick-filter{color:var(--secondary);align-items:center;gap:6px;font-size:13px;display:flex}.quick-filter select{font:inherit;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:5px;padding:3px 6px}.quick-filter.on select{background:#fdf3e1;border-color:#e8a33d;font-weight:600}.search-box{color:var(--secondary);background:#edf1f6;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:3px 14px;transition:background .12s,border-color .12s;display:inline-flex}.search-box:hover{background:#e4e9f0}.search-box:focus-within{border-color:var(--accent);background:#fff;box-shadow:0 1px 4px #1f68bc2e}.search-box.on{background:#fdf3e1;border-color:#e8a33d}.search-box input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;width:150px;padding:0;font-size:13px}.search-box input::placeholder{color:var(--secondary)}.filter-banner{color:var(--muted);font-size:12px}.grid tr.context td,.grid tr.context .cell-input{color:var(--muted)}.import-dialog{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:720px;margin:8px 0;padding:12px 16px}.import-dialog h2{margin:0 0 4px;font-size:16px}.import-dialog summary{cursor:pointer;padding:2px 0}.import-dialog ul{max-height:160px;margin:4px 0 8px;font-size:12px;overflow:auto}.import-dialog .actions{gap:8px;margin-top:8px;display:flex}.grid th.custom-col{cursor:pointer}.grid th.custom-col.selected{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.icon{vertical-align:-3px;flex:none}button .icon{margin-right:4px}button.icon-only{padding:5px 7px}button.icon-only .icon{margin:0}.action-bar{border:1px solid var(--border);background:#f8f9fb;border-top:none;border-bottom:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;display:flex}.action-bar button.quiet,.quick-access button.quiet{color:var(--ink);background:0 0;border-color:#0000;padding:3px 8px}.action-bar button.quiet:hover:not(:disabled),.quick-access button.quiet:hover:not(:disabled){background:#e9eef5}.action-bar .sep{background:var(--border);align-self:stretch;width:1px}.grow{flex:1}.action-bar~.grid-wrap{border-radius:0 0 6px 6px}.quick-access{gap:4px;margin-top:0}.quick-access .brand{margin-right:8px}.quick-access .founder-link{white-space:nowrap;background:var(--accent);color:#fff;border-radius:6px;margin-left:4px;padding:4px 10px;font-size:13px;text-decoration:none}.dropdown{position:relative}.dropdown-panel{z-index:20;border:1px solid var(--border);background:#fff;border-radius:6px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);box-shadow:0 6px 20px #0000001f}.dropdown-panel.left{left:0}.dropdown-panel.right{gap:6px;min-width:240px;padding:8px 10px;right:0}.dropdown-panel .bar-rule{align-items:center;gap:6px;font-size:13px;display:flex}.dropdown-panel>button{text-align:left;justify-content:flex-start;padding:4px 0}.menu-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:6px 0 0;font-size:11px}.menu-heading:first-child{margin-top:0}.dropdown-panel [role=menuitem]{text-align:left;border:0;justify-content:flex-start}.autosave{align-items:center;gap:6px;display:inline-flex}.autosave .switch{border:1px solid var(--secondary);border-radius:8px;width:28px;height:14px;position:relative}.autosave .switch:after{content:"";background:var(--secondary);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;left:2px}.project-name{font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;width:14ch;min-width:0;max-width:32ch;padding:2px 4px;font-weight:600}@supports (field-sizing:content){.project-name{field-sizing:content;width:auto;min-width:4ch}}.project-name:hover{border-color:var(--border)}.project-name:focus{border-color:var(--accent);background:#fff;outline:none}.save-state{color:var(--secondary);font-size:12px}.save-state.unsaved{color:#8b1a1a;font-weight:600}.print-only{display:none}@media print{@page{size:landscape;margin:10mm}.demo{padding:0}.print-only{display:block}.print-title{margin:0 0 6px;font-size:14px}.quick-access,.hint,.message,.action-bar,.column-editor,.holidays,.signup,.signup-inline,.splitter,.import-dialog{display:none!important}.kpis button.kpi{pointer-events:none}.grid-wrap{border-radius:0}.data-pane{max-width:none;overflow:hidden}.chart-pane{flex:none;overflow:visible}.grid input,.grid select{appearance:none;background:0 0;border:0}.grid input::-webkit-calendar-picker-indicator{display:none}.grid tr{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.zoom-buttons{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.dropdown-panel .zoom-buttons button{border:0;border-radius:0;flex:1;justify-content:center;padding:4px 8px}.dropdown-panel .zoom-buttons button.on{background:var(--accent);color:#fff}.dropdown-panel .small{margin:0;font-size:11px}.submenu{flex-direction:column;display:flex;position:relative}.submenu>button{align-items:center;gap:4px;display:flex}.dropdown-panel.submenu-panel{min-width:140px;top:-5px;left:100%}.message.empty{display:none}.date-field{align-items:center;display:inline-flex;position:relative}.date-field .cell-input{width:104px}.date-pick{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;padding:2px;display:inline-flex}tr:hover .date-pick,.date-field:focus-within .date-pick{opacity:1}.date-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;right:0}.guides .data-grid th:not(:last-child),.guides .data-grid td:not(:last-child){background-image:repeating-linear-gradient(#c3cad3 0 1px,#0000 1px 3px);background-position:100% 0;background-repeat:no-repeat;background-size:1px 100%}.header-menu{z-index:50;flex-direction:column;min-width:140px;display:flex;position:fixed}.modal-backdrop{z-index:60;background:#1b202640;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;flex-direction:column;width:min(460px,92vw);max-height:80vh;padding:16px 20px;display:flex;box-shadow:0 12px 40px #0003}.modal h2{margin:0 0 4px;font-size:16px}.columns-list{margin:8px 0;padding:0;list-style:none;overflow:auto}.columns-list li{border-bottom:1px solid var(--grid);align-items:center;gap:6px;padding:3px 4px;font-size:13px;display:flex}.columns-list li label{flex:1}.columns-list li.pinned{color:var(--secondary)}.columns-list li.dragging{opacity:.5}.columns-list .handle{cursor:grab;width:14px;color:var(--muted)}.columns-list li.pinned .handle{cursor:default}.columns-list .width-input{width:64px}.modal .actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.columns-list button.arrow{color:var(--secondary);background:0 0;border-color:#0000;padding:0 6px}.columns-list button.arrow:hover:not(:disabled){border-color:var(--border)}.chip{border:1px solid #0000;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:500;line-height:18px;display:inline-block}select.chip{appearance:auto;padding:0 4px 0 8px}.chip-grey{color:#4a525c;background:#eceef1}.chip-blue{color:#1d4f91;background:#dce9f9}.chip-green{color:#1e6b37;background:#dcf1e2}.chip-amber{color:#8a5a07;background:#fbefd5}.chip-red{color:#9b2c2b;background:#f9dedd}.chip-purple{color:#5b3593;background:#ebe1f7}.chip-teal{color:#19615e;background:#d7f0ef}.chip-pink{color:#93306a;background:#f9e0ee}.bar.status-grey,.milestone.status-grey{fill:#8d96a1}.bar.status-blue,.milestone.status-blue{fill:#3b7dd8}.bar.status-green,.milestone.status-green{fill:#2f9a52}.bar.status-amber,.milestone.status-amber{fill:#d99a1e}.bar.status-red,.milestone.status-red{fill:#c13c3b}.bar.status-purple,.milestone.status-purple{fill:#7b52b9}.bar.status-teal,.milestone.status-teal{fill:#23918b}.bar.status-pink,.milestone.status-pink{fill:#c2478f}.option-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.options-dialog .option-name{min-width:0;font:inherit;flex:1;padding:2px 8px;font-size:13px}.swatches{gap:3px;display:inline-flex}button.swatch{border:1px solid #00000026;border-radius:50%;width:16px;height:16px;padding:0}button.swatch[aria-checked=true]{outline:2px solid var(--ink);outline-offset:1px}.add-option{align-self:flex-start}button.swatch.chip-grey{background:#8d96a1}button.swatch.chip-blue{background:#3b7dd8}button.swatch.chip-green{background:#2f9a52}button.swatch.chip-amber{background:#d99a1e}button.swatch.chip-red{background:#c13c3b}button.swatch.chip-purple{background:#7b52b9}button.swatch.chip-teal{background:#23918b}button.swatch.chip-pink{background:#c2478f}.note-mark{fill:#d97706;cursor:pointer}.popover{z-index:55;width:280px;padding:8px 10px;position:fixed}.note-text{font:inherit;box-sizing:border-box;resize:vertical;width:100%;font-size:13px}.popover .actions{gap:6px;margin-top:6px;display:flex}.notes-list{max-height:240px;margin:0;padding:0;font-size:13px;list-style:none;overflow:auto}.notes-list li{border-bottom:1px solid var(--grid);white-space:normal;padding:4px 0}.notes-cell{text-overflow:ellipsis;max-width:220px;overflow:hidden}.notes-cell .link-button{text-overflow:ellipsis;white-space:nowrap;text-align:left;max-width:100%;overflow:hidden}.note-count{color:#8a5a07;text-align:center;background:#fbefd5;border-radius:8px;min-width:16px;padding:0 4px;font-size:11px;display:inline-block}.notes-cell .link-button{color:var(--ink);padding:0;text-decoration:none}.notes-cell .add-note{color:var(--muted);opacity:0}.grid tr:hover .notes-cell .add-note,.notes-cell .add-note:focus{opacity:1}.dropdown-panel.right,.dropdown-panel[role=dialog]{gap:0;min-width:260px;padding:4px}.dropdown-panel>button.quiet,.dropdown-panel>.submenu>button.quiet,.dropdown-panel>label.bar-rule{box-sizing:border-box;width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;line-height:1.3;display:flex}.dropdown-panel>button.quiet:hover,.dropdown-panel>.submenu>button.quiet:hover,.dropdown-panel>.submenu>button[aria-expanded=true],.dropdown-panel>label.bar-rule:hover{background:#eef3f9}.dropdown-panel>button.quiet .icon,.dropdown-panel>.submenu>button.quiet .icon{color:var(--secondary);flex:none}.dropdown-panel>label.bar-rule input[type=checkbox]{accent-color:var(--accent);flex:none;width:14px;height:14px;margin:0 2px}.dropdown-panel>label.bar-rule select{border:1px solid var(--border);background:#fff;border-radius:4px;margin-left:auto;padding:2px 4px;font-size:12px}.dropdown-panel .pro-tag{margin-left:auto}.dropdown-panel .menu-heading{border-top:1px solid var(--grid);align-items:center;gap:6px;margin:4px 0 0;padding:8px 8px 2px;font-size:11px;font-weight:600;display:flex}.dropdown-panel .menu-heading:first-child{border-top:0;margin-top:0;padding-top:4px}.dropdown-panel .menu-heading .pro-tag{margin-left:0}.dropdown-panel>.small{color:var(--muted);padding:0 8px 4px}.dropdown-panel>.zoom-buttons{margin:4px 8px}.menu-hint{color:var(--muted);margin-left:auto;font-size:11px}.date-input{border:1px solid var(--border);background:#fff;border-radius:5px;align-items:center;gap:2px;padding:2px 4px 2px 8px;display:inline-flex;position:relative}.date-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #1f68bc26}.date-input.invalid{border-color:#c9372c}.date-input input:not(.date-native){font:inherit;color:var(--ink);background:0 0;border:none;outline:none;width:110px;padding:1px 0;font-size:13px}.date-input button{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:11px;display:inline-flex}.date-input button:hover{color:var(--ink);background:#eef1f5}.note-date{align-items:center;gap:8px;margin-bottom:2px;font-size:13px;display:flex}.note-date .date-input{flex:1;min-width:0}.note-date .date-input input:not(.date-native){flex:1;width:auto;min-width:0}.note-hint{margin:2px 0 6px 38px;font-size:11px}.range-dates{color:var(--muted);align-items:center;gap:4px;font-size:13px;display:inline-flex}.link-dialog{flex-direction:column;gap:14px;width:min(440px,100vw - 32px);padding:18px 20px 16px;display:flex}.link-head{align-items:baseline;gap:10px;display:flex}.link-head h2{margin:0;font-size:16px}.link-sentence{color:var(--secondary);margin:0;font-size:14px;line-height:1.9}.task-chip{max-width:160px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;background:#e8f0fb;border-radius:999px;padding:0 8px;font-weight:600;line-height:1.6;display:inline-block;overflow:hidden}.link-types{grid-template-columns:1fr 1fr;gap:8px;display:grid}.link-types label{border:1px solid var(--border);color:var(--secondary);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;font-size:12px;transition:border-color .12s,background .12s;display:flex;position:relative}.link-types label:hover{border-color:#9fb9dc}.link-types label.on{border-color:var(--accent);color:var(--ink);box-shadow:0 0 0 1px var(--accent);background:#f2f7fd}.link-types label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.link-types input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.link-types svg .pred{fill:#9aa5b4}.link-types svg .succ{fill:var(--bar)}.link-types label:not(.on) svg .succ{fill:#b9c8dc}.link-types svg .arrow{fill:none;stroke:var(--ink);stroke-width:1.4px}.link-types .type-name b{margin-right:2px}.link-lag{align-items:center;gap:10px;display:flex}.link-lag .field-label{font-size:13px;font-weight:600}.stepper{border:1px solid var(--border);border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.stepper button{width:28px;color:var(--secondary);border:0;border-radius:0;padding:0;font-size:15px}.stepper button:hover{background:#eef3f9}.stepper input{border:0;border-left:1px solid var(--grid);border-right:1px solid var(--grid);text-align:center;width:44px;font:inherit;outline:none;padding:4px 0}.link-actions{border-top:1px solid var(--grid);align-items:center;gap:8px;padding-top:12px;display:flex}.link-actions .danger{color:#c9372c;background:0 0;border-color:#0000;align-items:center;gap:4px;padding-left:0;display:inline-flex}.autosave[aria-checked=true] .switch{border-color:var(--accent);background:var(--accent)}.autosave[aria-checked=true] .switch:after{background:#fff;left:auto;right:2px}.autosave.view-only{color:var(--muted);padding:0 6px;font-size:13px}.cloud-panel{gap:2px;min-width:300px;padding:8px}.cloud-panel button{border-radius:4px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.cloud-panel button:hover{background:#f3f5f8}.cloud-panel .menu-hint{margin-left:auto}.cloud-panel hr{border:0;border-top:1px solid var(--border);width:100%;margin:4px 0}.cloud-intro{gap:8px;margin:2px 4px 6px;font-size:13px;display:flex}.cloud-panel .small{margin:4px 4px 0}.cloud-conflict{background:#fdf3e1;border:1px solid #e8a33d;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 12px;padding:6px 10px;font-size:13px;display:flex}.history-dialog{width:min(440px,92vw)}.history-dialog h2{align-items:center;gap:6px;display:flex}.history-dialog>p.muted{margin:0 0 10px}.history-current{background:#eef4fc;border-radius:6px;justify-content:space-between;align-items:baseline;padding:8px 10px;font-size:13px;display:flex}.history-scroll{max-height:340px;margin-top:6px;overflow:auto}.history-day{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#fff;margin:0;padding:8px 10px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.history-list{margin:0;padding:0;font-size:13px;list-style:none}.history-list li{border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:4px 6px 4px 10px;display:flex}.history-list li:hover,.history-list li:focus-within{background:#f3f6fa}.history-what{flex-direction:column;min-width:0;display:flex}.history-what .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-time{font-weight:600}.history-source svg{vertical-align:-2px;width:12px;height:12px}.history-restore{opacity:0;color:var(--accent);flex-shrink:0;font-weight:600}.history-list li:hover .history-restore,.history-restore:focus-visible{opacity:1}@media (hover:none){.history-restore{opacity:1}}.history-empty{padding:12px 10px}.link.broken .link-line{stroke:var(--warn);stroke-width:1.2px;stroke-dasharray:3 3}.arrow-head.broken{fill:var(--warn)}.cloud-notice{background:#fdf3e1;border-radius:5px;margin:0 4px 6px;padding:6px 8px;font-size:12px}.cloud-check{color:var(--muted,#555);cursor:pointer;align-items:center;gap:8px;padding:4px 10px 6px 34px;font-size:12px;display:flex}.cloud-panel .danger{color:#a3261d}.turnstile-box{z-index:70;position:fixed;bottom:16px;right:16px}.fold{width:16px;height:16px;color:var(--secondary);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.fold:hover{color:var(--ink)}.fold .icon{width:14px;height:14px}.menu-row{gap:4px;display:flex}.column-editor{z-index:15;border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:10px;width:min(380px,100vw - 24px);padding:12px 14px;font-size:13px;display:flex;position:fixed;top:128px;bottom:12px;right:12px;overflow-y:auto;box-shadow:0 8px 28px #00000029}@media screen and (width>=1000px){.demo.pane-open>.grid-wrap{margin-right:var(--pane-w)}.demo .column-editor{width:var(--pane-w);box-sizing:border-box;box-shadow:none;border-bottom:0;border-right:0;border-radius:0;margin:0;animation:.12s ease-out pane-in;bottom:0;right:0}}@keyframes pane-in{0%{opacity:0;transform:translate(24px)}}.column-editor header{align-items:center;gap:6px;display:flex}.column-editor .column-name{border:1px solid #0000;border-radius:4px;flex:1;padding:5px 7px;font:600 15px system-ui,sans-serif}.column-editor .column-name:hover,.column-editor .column-name:focus{border-color:var(--border);outline:none}.column-editor h3{color:var(--secondary);margin:0 0 4px;font-size:12px;font-weight:600}.editor-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.editor-stack{flex-direction:column;gap:8px;padding-top:6px;display:flex}.column-editor label{color:var(--secondary);align-items:center;gap:6px;display:flex}.column-editor select,.column-editor label input{border:1px solid var(--border);font:inherit;border-radius:4px;padding:3px 5px}.column-editor label input{flex:1}.formula-section{flex-direction:column;gap:8px;display:flex}.formula-input{align-items:flex-start;gap:6px;display:flex}.formula-input .equals{color:var(--muted);padding-top:6px}.formula-input textarea{resize:vertical;border:1px solid var(--border);border-radius:4px;flex:1;padding:6px 8px;font:13px ui-monospace,Menlo,Consolas,monospace}.formula-input textarea[aria-invalid=true]{border-color:var(--late)}.formula-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.formula-preview table{border-collapse:collapse;width:100%}.formula-preview td{border-bottom:1px solid var(--grid);padding:3px 6px}.formula-preview td:last-child{text-align:right;font-variant-numeric:tabular-nums}.formula-preview tr.group td{font-weight:600}.field-chips{flex-wrap:wrap;gap:4px;display:flex}.field-chips h3{flex-basis:100%}.field-chip{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#f5f8fc;border-radius:10px;padding:2px 8px;font-size:12px}.field-chip:hover{border-color:var(--accent);color:var(--accent)}.column-editor details summary{cursor:pointer;color:var(--secondary);font-weight:600}.function-list input{border:1px solid var(--border);width:100%;font:inherit;box-sizing:border-box;border-radius:4px;margin:6px 0;padding:4px 6px}.function-list ul{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.function-list li{border-bottom:1px solid var(--grid);flex-direction:column;padding:3px 0;display:flex}.function-list li button{text-align:left;border:none;padding:2px 0}.group-rules{border-top:1px solid var(--grid);padding-top:8px}.column-editor footer{border-top:1px solid var(--grid);margin-top:auto;padding-top:8px}.pick-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.pick-list{flex-direction:column;gap:2px;display:flex}.pick-list button,.pick-grid button{text-align:left;border:1px solid var(--grid);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;overflow:hidden}.pick-list button:hover,.pick-grid button:hover{border-color:var(--accent)}.menu-hint.shortcut{letter-spacing:.02em;padding-left:20px}.popover:has(.note-thread){width:320px}.note-thread{flex-direction:column;gap:2px;display:flex}.note-head{align-items:baseline;gap:6px;display:flex}.note-head .link-button{margin-left:auto;font-size:12px}.note-body{white-space:pre-wrap;margin:0}.note-reply{border-left:2px solid var(--grid);margin-left:12px;padding-left:8px}.note-reply-box{gap:4px;margin:4px 0 2px;display:flex}.note-reply-box input{font:inherit;border:1px solid var(--border);border-radius:4px;flex:1;padding:3px 6px}.author-field{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.author-field input{font:inherit;border:1px solid var(--border);border-radius:4px;flex:1;padding:3px 6px}.author-field.missing input{border-color:var(--late)}.grid th .fx-mark{color:#b0b4ba;margin-right:4px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.grid th .th-filter{color:var(--muted);cursor:pointer;background:#fff;border:0;border-radius:4px;padding:2px;line-height:0;display:none;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.grid th:hover .th-filter,.grid th .th-filter:focus-visible,.grid th .th-filter.on{display:block}.grid th .th-filter:hover{background:var(--grid)}.grid th .th-filter.on{color:#fff;background:var(--accent)}.grid th .th-filter .icon{width:13px;height:13px}.column-filter{z-index:30;flex-direction:column;gap:8px;width:260px;padding:10px;font-size:13px;font-weight:400;display:flex;position:fixed}.column-filter .value-list{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.column-filter .value-list label{align-items:center;gap:6px;padding:2px 0;display:flex}.column-filter .filter-row{align-items:center;gap:6px;display:flex}.column-filter .filter-row>input,.column-filter .date-input{flex:1;min-width:0}.column-filter .actions{justify-content:space-between;align-items:center;display:flex}.project-settings{width:min(440px,100vw - 32px)}.project-settings fieldset{border:0;margin:0 0 14px;padding:0}.project-settings legend{margin-bottom:4px;font-weight:600}.project-settings .small{margin:4px 0}.weekday-picks{gap:4px;display:flex}.weekday-picks label{text-align:center;border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;flex:1;padding:5px 0}.weekday-picks label.on{color:#fff;background:var(--accent);border-color:var(--accent)}.weekday-picks input{opacity:0;pointer-events:none;position:absolute}.weekday-picks label:focus-within{outline:2px solid var(--accent);outline-offset:1px}.project-settings .settings-row{gap:6px;display:flex}.project-settings .settings-row input{width:80px}.table-actions{align-items:center;gap:4px;display:inline-flex}.quick-access .search-box input{width:120px}.quick-access .quick-filter select{max-width:130px}.filter-button.on{font-weight:600;color:var(--accent)!important;background:#e8f0fb!important}.filter-count{background:var(--accent);color:#fff;text-align:center;border-radius:8px;min-width:16px;margin-left:4px;padding:0 4px;font-size:11px;line-height:16px;display:inline-block}.filter-menu{min-width:200px;max-height:70vh;overflow-y:auto}.filter-menu button.checked{color:var(--accent);font-weight:600}.filter-chip{background:#eef4fc;border:1px solid #b9cfee;border-radius:12px;align-items:center;max-width:260px;font-size:12px;display:inline-flex;position:relative}.filter-chip .chip-label{color:var(--ink);font:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:2px 4px 2px 9px;overflow:hidden}.filter-chip button.chip-label{cursor:pointer}.filter-chip .chip-x{color:var(--secondary);cursor:pointer;background:0 0;border:0;padding:0 7px 0 2px;font-size:14px;line-height:1}.filter-chip .chip-x:hover{color:var(--ink)}.filter-chip .range-popover{padding:12px;left:0}.range-calendar{flex-direction:column;gap:8px;font-size:13px;display:flex}.cal-quick,.cal-foot{align-items:center;gap:14px;display:flex}.cal-foot{justify-content:space-between}.cal-months{gap:20px;display:flex;position:relative}.cal-title{text-align:center;margin-bottom:6px;font-weight:600}.cal-grid{grid-template-columns:repeat(7,32px);row-gap:2px;display:grid}.cal-head{color:var(--muted);text-align:center;font-size:11px}.cal-day{height:30px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.cal-day:hover{outline:1px solid var(--accent);border-radius:50%}.cal-day.today{font-weight:700;text-decoration:underline}.cal-day.in{background:#e3edfa}.cal-day.edge{background:var(--accent);color:#fff;border-radius:50%}.cal-nav{cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:20px;position:absolute;top:-4px}.cal-nav.prev{left:0}.cal-nav.next{right:0}.dropdown-panel.column-filter{gap:12px;width:300px;padding:14px 16px}.dropdown-panel.column-filter.wide{width:auto}.column-filter-title{color:var(--secondary);margin:0}.column-filter-title b{color:var(--ink)}.filter-fields{align-items:flex-end;gap:8px;display:flex}.filter-dash{color:var(--muted);padding-bottom:7px}.filter-field{min-width:0;color:var(--secondary);flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.affix-input,.column-filter .text-filter select,.column-filter .text-filter input{box-sizing:border-box;border:1px solid var(--border);height:32px;font:inherit;background:#fff;border-radius:6px;font-size:13px}.affix-input{align-items:center;gap:4px;padding:0 8px;display:flex}.affix-input:focus-within,.column-filter .text-filter input:focus,.column-filter .text-filter select:focus{border-color:var(--accent);outline:2px solid #d4e3f7}.affix-input.invalid{border-color:var(--late)}.affix-input i{color:var(--muted);font-style:normal}.affix-input input{min-width:0;font:inherit;text-align:right;background:0 0;border:0;outline:none;flex:1;padding:0}.column-filter .text-filter{flex-direction:column;align-items:stretch}.column-filter .text-filter select,.column-filter .text-filter input{padding:0 8px}.column-filter .actions{border-top:1px solid var(--grid);padding-top:8px}.column-filter .value-list{border:1px solid var(--grid);border-radius:6px;padding:4px 8px}.columns-panel h2{flex:1;margin:0;font-size:15px}.columns-panel .columns-list{margin:0}.columns-panel .columns-list li{gap:4px}.columns-panel .columns-list li label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.columns-panel .columns-list .width-input{width:56px}.columns-panel .arrow-space{width:26px;display:inline-block}.columns-panel .columns-list .fx{margin-right:3px}.columns-panel footer{border-top:0;margin-top:0;padding-top:0}.columns-panel .add-column{border:1px dashed var(--border);justify-content:center;width:100%}.columns-panel .add-column:hover{border-color:var(--accent);color:var(--accent)}.add-column-picker h3{color:var(--secondary);margin:12px 0 6px;font-size:13px}.columns-panel .pick-grid{grid-template-columns:repeat(2,1fr)}.cell-check{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;margin:0 auto;display:block}.cell-check:disabled{cursor:default}.columns-panel .columns-list li label{color:var(--ink);gap:6px}.columns-panel .columns-list li.pinned,.columns-panel .columns-list li.pinned label{color:var(--secondary)}.columns-panel .columns-list li label input[type=checkbox]{accent-color:var(--accent);flex:none;margin:0;padding:0}.columns-panel .columns-list li label .muted{margin-left:auto;font-size:12px}.columns-panel .columns-list button.arrow,.columns-panel .arrow-space{flex:none;justify-content:center;width:26px;padding:0;display:inline-flex}.grid tr.stale td{background:#fff8ec}.grid tr.stale td:first-child{box-shadow:inset 3px 0 #e8a33d}.filter-outdated{vertical-align:1px;background:#e8a33d;border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.filter-banner .reapply{align-items:center;gap:3px;font-weight:600;display:inline-flex}.outline-levels{align-items:center;gap:2px;padding:2px 8px 4px;display:flex}.outline-levels .muted{margin-right:6px}.outline-levels button.quiet{border:1px solid var(--border);min-width:34px;color:var(--ink);border-radius:5px;padding:3px 6px;font-size:12px}.outline-levels button.quiet:hover{background:#eef3f9}.outline-levels button.on{border-color:var(--accent);color:var(--accent);background:#e8f0fb;font-weight:600}.grid .chip,.grid select.chip,.grid select.chip-empty{box-sizing:border-box;text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:120px;height:20px;padding:0 18px 0 8px;display:block;overflow:hidden}.grid select.chip,.grid select.chip-empty{appearance:none;cursor:pointer;background-position:right 6px center;background-repeat:no-repeat;background-size:8px 5px}.grid select.chip-empty{background-color:#0000;border:1px solid #0000;border-radius:10px}.grid tr:hover select.chip,.grid tr:hover select.chip-empty,.grid select.chip:focus,.grid select.chip-empty:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%23596273'/%3E%3C/svg%3E")}.grid tr:hover select.chip-empty,.grid select.chip-empty:focus{border-color:var(--border)}.demo>.kpis:has(~.action-bar){border-bottom:0}.notify-button{white-space:nowrap;border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600}.notify-button:hover{background:#eef4fc}.dropdown-panel.notify-panel{gap:8px;width:300px;padding:12px 14px;right:0}.notify-panel p{margin:0}.notify-row{gap:6px;display:flex}.notify-row input{min-width:0;font:inherit;border:1px solid var(--border);border-radius:5px;flex:1;padding:4px 8px}@media print{.notify-me{display:none!important}}.share-button[aria-expanded=true]{background:#e9eef5}.kpis.compact{background:0 0;border:0;border-radius:0;flex-wrap:nowrap;flex:none;align-items:center;height:26px;margin:0 0 0 8px;padding:0}.kpis.compact .kpi[hidden]{display:none}.kpis.compact .kpi{border-right:0;border-radius:6px;flex-direction:row;flex-shrink:0;align-items:center;gap:5px;height:26px;padding:0 10px;position:relative}.kpis.compact .kpi+.kpi:before{content:"";border-left:1px solid var(--grid);height:50%;position:absolute;top:25%;left:0}.kpis.compact .tile-label{text-transform:none;letter-spacing:0;font-size:12px;line-height:16px}.kpis.compact .tile-value{font-size:13px}.kpis.compact .tile-note,.kpis.compact .status-counts{display:none}.kpis.compact .meter{width:40px}.kpis.compact .stack{width:60px}.demo>.grid-wrap~.kpis.cards{border-bottom:0;border-top:1px solid var(--border)}.demo>.kpis.cards{border:0;border-bottom:1px solid var(--border);background:#f3f5f8;border-radius:0;align-items:stretch;gap:8px;margin:0;padding:6px 10px}.kpis.cards .kpi{border:1px solid var(--grid);background:#fff;border-radius:8px;padding:4px 12px 5px}.kpis.cards .kpi:last-of-type{border-right:1px solid var(--grid)}@media (width>=900px){.quick-access:has(>.kpis.compact){flex-wrap:nowrap}.quick-access:has(>.kpis.compact)>*{flex-shrink:0}}.res-cell{position:relative}.res-cell.has-chips:not(:focus-within) .cell-input{color:#0000}.res-chips{pointer-events:none;align-items:center;gap:3px;display:flex;position:absolute;inset:0 4px;overflow:hidden}.res-cell:focus-within .res-chips{display:none}.res-chip{color:#23415f;white-space:nowrap;background:#e8eef7;border-radius:9px;flex-shrink:0;padding:0 7px;font-size:12px;line-height:18px}.res-chip.over{color:#a1251b;background:#fde3e1}.resources-dialog{width:min(520px,94vw)}.resources-dialog h2{align-items:center;gap:6px;display:flex}.resources-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.resources-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:4px 6px;font-size:11px;font-weight:600}.resources-table th.num,.resources-table td.num{text-align:right}.resources-table td{border-bottom:1px solid var(--grid);padding:2px 4px}.resources-table input{box-sizing:border-box;width:100%;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px}.resources-table td.num input{text-align:right;width:90px}.resources-table input:hover{border-color:var(--grid)}.resources-table input:focus{border-color:var(--accent);background:#fff;outline:none}.resources-add{gap:6px;display:flex}.resources-add input{border:1px solid var(--border);font:inherit;border-radius:5px;flex:1;padding:5px 8px}.resources-add input:nth-child(2){flex:0 0 110px}.resources-add{align-items:center}.resources-add input{min-width:0}.resources-add button{white-space:nowrap}.resources-table button.icon-only{color:var(--muted);border-color:#0000}.resources-table button.icon-only:hover{color:var(--late);background:#fdecea}.res-cell .cell-input{min-width:150px}.load-dialog{width:min(760px,94vw)}.load-dialog h2{align-items:center;gap:6px;display:flex}.load-scroll{max-height:50vh;margin:8px 0;overflow:auto}.load-table{border-collapse:separate;border-spacing:2px;font-size:12px}.load-table th{color:var(--muted);white-space:nowrap;text-align:left;padding:2px 6px;font-weight:600}.load-table thead th{font-size:11px;font-weight:500}.load-table tbody th{color:var(--ink)}.load-table td{text-align:center;font-variant-numeric:tabular-nums;border-radius:4px;min-width:46px;height:24px}.load-none{background:#f4f6f9}.load-low{color:#23415f;background:#dce8f7}.load-mid{color:#1a3555;background:#a9c7ec}.load-full{color:#fff;background:#5d93d8}.load-over{color:#fff;background:#e0574c;font-weight:600}.timeline .seam{stroke:#b7c3d3;stroke-width:2px;stroke-dasharray:2 2}.status-marks{border-top:1px solid var(--grid);gap:6px;margin-top:10px;padding-top:8px;display:grid}.status-marks label{justify-content:space-between;align-items:center;gap:12px;display:flex}.grid td.id-cell{position:relative}.row-grip{cursor:grab;opacity:0;touch-action:none;background-image:radial-gradient(circle,#8a9099 1px,#0000 1.3px);background-size:4px 4px;width:8px;height:14px;position:absolute;top:50%;left:1px;transform:translateY(-50%)}.grid tr:hover .row-grip,.grid tr.selected .row-grip{opacity:1}.row-grip.off{cursor:not-allowed;opacity:0!important}.grid tr.dragging td{opacity:.45}.grid tr.drop-before td{box-shadow:inset 0 2px 0 var(--accent)}.grid tr.drop-after td{box-shadow:inset 0 -2px 0 var(--accent)}.grid-wrap:has(tr.dragging){cursor:grabbing}.grid td.pinned{position:relative}.grid td.pinned .cell-input{padding-left:16px}.start-pin{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 2px;line-height:0;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.start-pin:hover{color:#a3261d}.start-pin svg{width:12px;height:12px}.help-button{position:relative}.help-button.on{color:var(--accent);background:#e8f0fb}.help-button.unseen:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px;box-shadow:0 0 0 2px #fff}.help-panel h2{flex:1;margin:0;font-size:15px}.help-panel .tips{width:auto;max-height:none;overflow:visible}.modal:focus{outline:none}.grid tr.empty-plan td{white-space:nowrap;height:auto;padding:14px 12px}.grid tr.empty-plan button{color:var(--accent);align-items:center;gap:4px;font-weight:600;display:inline-flex}
