:root{color-scheme:light;--bg: #f5f6f8;--panel: #ffffff;--panel-strong: #eef2f5;--line: #d7dee6;--line-soft: #e9edf2;--text: #18212b;--muted: #617083;--blue: #2563eb;--green: #16815a;--amber: #b7791f;--red: #c2413a;--purple: #6d5bd0;--shadow: 0 10px 24px rgba(20, 32, 44, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.35}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:inline-flex;gap:7px;min-height:34px;padding:0 10px;white-space:nowrap}button:hover{border-color:#aeb9c7}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--text);min-height:34px;padding:7px 9px;width:100%}textarea{min-height:76px;resize:vertical}label{color:var(--muted);display:grid;gap:5px;font-size:12px;font-weight:650;min-width:0}h1,h2{letter-spacing:0;margin:0}.app-shell{display:grid;grid-template-rows:58px auto 260px;height:100vh;min-width:980px}.topbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:grid;gap:12px;grid-template-columns:250px minmax(210px,330px) auto 1fr auto auto auto auto auto;padding:10px 14px;position:relative;z-index:3}.brand-block{min-width:0}.brand-title{font-size:16px;font-weight:760}.brand-subtitle{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-select{align-items:center;background:#fff;border:1px solid var(--line);border-radius:6px;display:inline-flex;gap:6px;min-height:34px;padding:0 8px}.language-select select{border:0;min-height:30px;padding:4px 0;width:auto}.language-select svg{color:var(--muted);flex:0 0 auto}.login-language{position:absolute;right:18px;top:18px}.top-metrics{display:flex;gap:10px;min-width:0;overflow:hidden}.top-metrics span{align-items:center;border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);display:inline-flex;gap:5px;min-height:28px;padding:0 9px;white-space:nowrap}.message-line{align-items:center;background:#fff8e1;border-bottom:1px solid #ecd58f;color:#6f4b00;display:flex;font-weight:650;gap:10px;height:34px;justify-content:space-between;min-height:34px;overflow:hidden;padding:0 8px 0 14px;white-space:nowrap}.message-line span{min-width:0;overflow:hidden;text-overflow:ellipsis}.message-close{background:transparent;border:0;color:#6f4b00;flex:0 0 auto;min-height:26px;min-width:26px;padding:0}.message-close:hover{background:#6f4b0014;border:0}.workspace-grid{display:grid;min-height:0}.workspace-grid.timeline-expanded .timeline-pane{border-right:0}.splitter{align-items:center;background:#edf1f5;color:#778497;display:flex;justify-content:center;min-height:0;z-index:2}.splitter.vertical{cursor:col-resize}.splitter:hover{background:#dfe7ef;color:#334155}.tree-pane,.timeline-pane,.inspector{background:var(--panel);border-right:1px solid var(--line);min-height:0;overflow:hidden}.timeline-pane{background:#fbfcfd}.board-pane{background:#f7f9fb;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow:hidden}.pane-toolbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:10px;height:44px;justify-content:space-between;padding:6px 10px}.toolbar-title{align-items:center;display:inline-flex;font-weight:760;gap:7px}.toolbar-count{color:var(--muted);font-size:12px;font-weight:700}.timeline-tools{align-items:center;display:flex;gap:8px;min-width:0}.selection-tools{align-items:center;background:#eef6ff;border:1px solid #bdd7ff;border-radius:6px;color:#174ea6;display:inline-flex;font-size:12px;font-weight:750;gap:6px;min-height:32px;padding:0 4px 0 9px;white-space:nowrap}.selection-tools button{min-height:24px;padding:0 7px}.board-toolbar{align-items:center;flex:0 0 auto;height:auto;min-height:44px}.board-tools{align-items:center;display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;min-width:0}.toolbar-field{align-items:center;background:#fff;border:1px solid var(--line);border-radius:6px;display:inline-flex;flex-direction:row;gap:6px;min-height:34px;min-width:0;padding:0 8px}.toolbar-field svg{color:var(--muted);flex:0 0 auto}.toolbar-field select,.toolbar-field input{border:0;min-height:30px;padding:4px 0;width:auto}.search-field input{width:180px}.filter-toggle{min-width:34px;justify-content:center}.filter-toggle.active{background:#e9f1ff;border-color:#bcd1ff;color:#174ea6}.category-legend{align-items:center;display:flex;gap:7px;max-width:470px;overflow:hidden}.category-legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:11px;font-weight:700;gap:4px;text-transform:capitalize;white-space:nowrap}.cat-swatch{border-radius:3px;display:inline-block;height:10px;width:10px}.board-category-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.segmented{background:var(--panel-strong);border:1px solid var(--line);border-radius:7px;display:inline-flex;padding:2px}.segmented button{border:0;border-radius:5px;min-height:28px;min-width:38px;padding:0 9px}.segmented button.active{background:#fff;box-shadow:0 1px 2px #14202c1f}.task-tree{height:calc(100% - 44px);overflow:auto;padding:8px 0}.task-tree.timeline-aligned{padding:0}.tree-timeline-header-spacer{align-items:center;background:#fff;border-bottom:1px solid var(--line);color:var(--muted);display:flex;font-size:11px;font-weight:700;height:34px;padding:0 12px;position:sticky;top:0;z-index:2}.tree-group{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;padding:12px 12px 4px;text-transform:uppercase}.tree-row{align-items:center;border:0;border-radius:0;display:grid;gap:7px;grid-template-columns:9px 42px minmax(0,1fr);height:34px;padding-right:9px;text-align:left;width:100%}.tree-row.row-even{background:#f8fafcc7}.tree-row.phase{background:#f7f9fb;font-weight:760}.tree-row.selected{background:#e9f1ff;color:#174ea6}.tree-row.primary-selected{box-shadow:inset 3px 0 0 var(--blue)}.status-dot{border-radius:999px;display:block;height:8px;width:8px}.status-dot.not_started{background:#9aa6b2}.status-dot.active{background:var(--blue)}.status-dot.blocked{background:var(--red)}.status-dot.done{background:var(--green)}.status-dot.cancelled{background:#818181}.task-code{color:var(--muted);font-size:12px;min-width:0}.tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-scroll{cursor:grab;height:calc(100% - 44px);overflow:auto;overscroll-behavior:contain}.gantt-scroll:active{cursor:grabbing}.gantt{min-height:100%;position:relative}.gantt-header{background:#fff;border-bottom:1px solid var(--line);color:var(--muted);display:flex;font-size:11px;font-weight:650;height:34px;position:sticky;top:0;z-index:2}.gantt-header div{align-items:center;border-right:1px solid var(--line-soft);display:flex;justify-content:center;min-width:0;overflow:hidden;padding:0 3px;text-align:center;white-space:nowrap}.gantt-header .weekend{background:#f0f2f4}.gantt-body{position:relative}.gantt-row{background:transparent;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;display:block;left:0;min-height:34px;padding:0;position:absolute;width:100%}.gantt-row.row-even{background:#f8fafcc7}.gantt-row.phase-row{background:#f7f9fb}.gantt-row.multi-selected{background:#2563eb0d}.gantt-row.selected{background:#2563eb1a}.row-grid{background-image:linear-gradient(to right,rgba(215,222,230,.72) 1px,transparent 1px);top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.bar{align-items:center;background:#49687d;border-radius:4px;cursor:grab;display:block;height:14px;overflow:hidden;position:absolute;top:10px}.bar:active,.bar-label.draggable:active{cursor:grabbing}.bar.selected-bar{box-shadow:0 0 0 2px #2563eb52}.bar.cat-planning,.cat-swatch.cat-planning,.cat-strip.cat-planning,.board-category-dot.cat-planning{background:#49687d}.bar.cat-purchasing,.cat-swatch.cat-purchasing,.cat-strip.cat-purchasing,.board-category-dot.cat-purchasing{background:#9a6b24}.bar.cat-factory,.cat-swatch.cat-factory,.cat-strip.cat-factory,.board-category-dot.cat-factory{background:#1f7a68}.bar.cat-firmware,.cat-swatch.cat-firmware,.cat-strip.cat-firmware,.board-category-dot.cat-firmware{background:#5865c9}.bar.cat-qa,.cat-swatch.cat-qa,.cat-strip.cat-qa,.board-category-dot.cat-qa{background:#8a4fa3}.bar.cat-decision,.cat-swatch.cat-decision,.cat-strip.cat-decision,.board-category-dot.cat-decision{background:#b05b4b}.bar.cat-commercial,.cat-swatch.cat-commercial,.cat-strip.cat-commercial,.board-category-dot.cat-commercial{background:#64748b}.bar.cat-shipping,.cat-swatch.cat-shipping,.cat-strip.cat-shipping,.board-category-dot.cat-shipping{background:#2f7cbe}.bar span{background:#ffffff59;display:block;height:100%}.bar.phase{background:#273747;height:8px;top:13px}.bar.milestone{background:var(--purple);border-radius:3px;transform:rotate(45deg);width:16px!important}.bar.critical{background:var(--red)}.bar.done{background:var(--green)}.bar.blocked{background:var(--amber)}.resize-handle{bottom:0;cursor:ew-resize;position:absolute;top:0;width:7px}.resize-handle.left{left:0}.resize-handle.right{right:0}.resize-handle:hover{background:#ffffff73}.baseline-bar{background:#111827;bottom:4px;height:3px;opacity:.52;position:absolute}.dependency-chip{align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;display:inline-flex;height:18px;justify-content:center;position:absolute;top:8px;width:18px}.bar-label{color:var(--muted);cursor:pointer;font-size:12px;max-width:260px;overflow:hidden;pointer-events:auto;position:absolute;text-overflow:ellipsis;top:8px;white-space:nowrap}.bar-label.draggable{cursor:grab}.board-scroll{flex:1 1 auto;min-height:0;overflow:auto}.board-columns{align-items:stretch;display:grid;gap:12px;grid-auto-columns:minmax(270px,330px);grid-auto-flow:column;min-height:100%;padding:12px}.board-bucket{background:#eef2f5;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.board-bucket-head{align-items:flex-start;background:#fff;border-bottom:1px solid var(--line);color:var(--muted);display:flex;gap:10px;justify-content:space-between;min-height:54px;padding:10px}.board-bucket-head h3{color:var(--text);font-size:14px;line-height:1.2;margin:0 0 3px;overflow-wrap:anywhere}.board-bucket-head span{font-size:12px;font-weight:700}.board-cards{align-content:start;display:grid;flex:1 1 auto;gap:8px;min-height:90px;overflow:auto;padding:8px}.board-card{align-items:stretch;background:#fff;border:1px solid #dfe5ec;border-radius:7px;box-shadow:0 1px 2px #14202c12;color:var(--text);display:grid;gap:7px;min-height:150px;overflow:hidden;padding:10px;position:relative;text-align:left;white-space:normal;width:100%}.board-card.compact{gap:5px;min-height:112px;padding:8px}.board-card:hover{border-color:#b8c4d2}.board-card.selected{border-color:#8cb3ff;box-shadow:0 0 0 2px #2563eb24}.board-card.dragging{opacity:.52}.cat-strip{border-radius:7px 7px 0 0;height:4px;left:0;position:absolute;right:0;top:0}.board-card-head{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;min-width:0;padding-top:2px}.board-card-title{font-weight:760;line-height:1.25;min-width:0;overflow-wrap:anywhere}.drag-icon{color:#8a97a8;flex:0 0 auto}.board-card-meta,.board-card-dates,.board-card-badges{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:650;gap:7px;min-width:0}.board-card-meta span,.board-card-dates{align-items:center;display:inline-flex;gap:4px}.board-card.compact .board-card-dates,.board-card.compact .board-card-badges{display:none}.board-progress{background:#e8edf3;border-radius:999px;display:block;height:6px;overflow:hidden}.board-progress i{background:var(--green);display:block;height:100%}.board-chip{align-items:center;background:#edf2f7;border-radius:999px;color:#485568;display:inline-flex;font-size:11px;font-weight:800;gap:4px;min-height:21px;padding:0 7px;text-transform:lowercase}.board-chip.danger{background:#ffe8e6;color:#8b1d17}.board-chip.muted{background:#f1f3f5;color:#6b7280}.board-empty{align-items:center;border:1px dashed #cbd5e1;border-radius:7px;color:var(--muted);display:flex;font-weight:700;justify-content:center;min-height:68px}.inspector{border-right:0;overflow:auto;padding:14px}.inspector-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.inspector h2{font-size:18px;line-height:1.18;margin-top:3px;overflow-wrap:anywhere}.eyebrow{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.critical-pill{background:#ffe8e6;border:1px solid #f2b6b1;border-radius:999px;color:#8b1d17;font-size:11px;font-weight:800;padding:4px 8px}.form-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.form-grid .wide,.proposal-box label{grid-column:1 / -1}.check-row{align-items:center;display:flex;flex-direction:row;gap:8px}.check-row input{min-height:0;width:auto}.impact-note{align-items:flex-start;background:#fff8e1;border:1px solid #ecd58f;border-radius:6px;color:#614200;display:flex;gap:8px;margin:12px 0;padding:9px}.inspector>button,.proposal-box button{margin-top:12px;width:100%}.proposal-box{display:grid;gap:10px;margin-top:12px}.ops-pane{background:var(--panel);border-top:1px solid var(--line);min-height:0;overflow:hidden}.bottom-resizer{background:#edf1f5;cursor:row-resize;height:6px}.bottom-resizer:hover{background:#dfe7ef}.tabs{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:2px;height:36px;padding:5px 8px}.collapse-tab{margin-left:auto}.tabs button{border:0;min-height:30px;text-transform:capitalize}.tabs button.active{background:#e9f1ff;color:#174ea6}.ops-content{display:grid;gap:9px;height:calc(100% - 42px);overflow:auto;padding:10px}.modal-backdrop{align-items:center;background:#0f172a61;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:22px;position:fixed;z-index:20}.help-modal{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-width:720px;width:min(720px,100%)}.modal-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px 14px}.modal-head h2{font-size:18px}.help-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:14px}:fullscreen .app-shell,:fullscreen body,:fullscreen #root{height:100vh;width:100vw}.help-grid p{align-items:center;color:var(--text);display:flex;gap:9px;margin:0}.help-bar{border-radius:4px;display:inline-block;height:12px;width:34px}.help-bar.phase{background:#273747;height:8px}.help-bar.task{background:#1f7a68}.help-bar.critical{background:var(--red)}.help-diamond{background:var(--purple);border-radius:3px;display:inline-block;height:14px;transform:rotate(45deg);width:14px}.inline-form{display:grid;gap:8px;grid-template-columns:260px minmax(240px,1fr) 42px}.people-form{grid-template-columns:180px 220px 130px 220px 42px}.data-table{height:calc(100% - 2px);overflow:auto}.table-row{align-items:center;border-bottom:1px solid var(--line-soft);display:grid;gap:10px;grid-template-columns:minmax(230px,1.2fr) 150px minmax(240px,2fr);min-height:36px;padding:6px 10px}.proposal-row{grid-template-columns:minmax(260px,1.2fr) minmax(300px,2fr) 100px 100px}.resource-row{grid-template-columns:260px 140px minmax(300px,1fr)}.table-head{background:#f8fafc;color:var(--muted);font-size:12px;font-weight:800;position:sticky;top:0;z-index:1}.button-pair{display:flex;gap:6px}.button-pair button{justify-content:center;min-width:34px;padding:0}.empty-state{align-items:center;color:var(--muted);display:flex;height:100%;justify-content:center}.login-screen{align-items:center;position:relative;background:linear-gradient(90deg,#22617e14,#2a775214),var(--bg);display:flex;height:100vh;justify-content:center;padding:24px}.login-panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:14px;padding:24px;width:min(420px,100%)}.login-panel h1{font-size:24px}.login-panel p{color:var(--muted);margin:6px 0 0}.login-panel button{justify-content:center}.form-error{background:#ffe8e6;border:1px solid #f2b6b1;border-radius:6px;color:#8b1d17;padding:9px}@media(max-width:1100px){.app-shell{min-width:0}.topbar{grid-template-columns:1fr;height:auto}.board-tools{justify-content:flex-start}.search-field input{width:150px}.workspace-grid{grid-template-columns:280px minmax(420px,1fr)}.inspector{border-top:1px solid var(--line);grid-column:1 / -1;max-height:360px}}.translation-preview{align-items:flex-start;background:#f3f8ff;border:1px solid #d7e8ff;border-radius:6px;color:#24537a;display:flex;font-size:12px;font-weight:650;gap:6px;line-height:1.35;padding:7px 8px;white-space:normal}.translation-preview b{color:#174ea6;flex:0 0 auto}.translation-preview svg{flex:0 0 auto;margin-top:1px}
