:root{color-scheme:light;--bg: #f0ede4;--paper: #f6f4ec;--paper-soft: #fbf8ee;--ink: #0e0d0b;--ink-soft: #1f1e1a;--muted: #6b665d;--muted-soft: #95907f;--rule: #c9c3b4;--rule-soft: #ddd7c5;--accent: #204c9f;--accent-deep: #143874;--accent-soft: #d0dcf1;--ok: #2f5d3a;--ok-soft: #dde6dc;--warn: #b47b1c;--warn-soft: #f1e5c5;--warn-fg: #7b5c1c;--danger: #a2351e;--danger-soft: #f6ddd2;--sans: "Space Grotesk", ui-sans-serif, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "Space Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}input{font:inherit}a{color:var(--accent)}.shell{max-width:44rem;margin:0 auto;padding:1.5rem 1.25rem 6rem}h1{font-family:var(--sans);font-size:clamp(28px,7vw,38px);font-weight:500;letter-spacing:-.025em;margin:0 0 .35rem}.note{color:var(--muted);font-size:.92rem}.error-text{color:var(--danger);font-size:.92rem}.link{background:none;border:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:.4rem .5rem;font-size:.92rem}.link:hover{color:var(--ink)}.supervisor-bar{background:var(--paper);border-bottom:1px solid var(--rule-soft);padding:.7rem 1.1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted)}.supervisor-bar strong{color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:-.005em}.supervisor-bar .link{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.picker-head{margin-bottom:1.5rem}.picker-sub{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem}.project-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem}.project-button{width:100%;text-align:left;background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.3rem;color:var(--ink);transition:border-color .15s,background .15s}.project-button:hover{background:var(--paper-soft);border-color:var(--ink)}.project-name{font-size:1.05rem;font-weight:600;letter-spacing:-.015em}.project-meta{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.04em}.dayview{display:flex;flex-direction:column;min-height:100%;background:var(--bg)}.topbar{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 1.25rem .8rem;background:var(--paper);border-bottom:1px solid var(--rule-soft)}.topbar-title{font-family:var(--sans);font-size:1.05rem;font-weight:600;letter-spacing:-.015em}.topbar-meta{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.06em;display:block;margin-top:2px}.topbar .link{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.dayview-tabs{display:flex;gap:.4rem;padding:.7rem 1.25rem .6rem;background:var(--bg);border-bottom:1px solid var(--rule-soft)}.dayview-tab{background:transparent;border:1px solid var(--rule);border-radius:999px;padding:.4rem .95rem;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);display:inline-flex;align-items:center;gap:.45rem}.dayview-tab.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tab-count{font-family:var(--mono);font-size:10px;background:var(--rule-soft);color:var(--ink);border-radius:999px;padding:.05rem .45rem}.dayview-tab.is-active .tab-count{background:#ffffff2e;color:var(--paper)}.tab-warn{font-family:var(--mono);font-size:10px;color:var(--warn);font-weight:700}.columns{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1.25rem 0}.column{background:var(--paper);border:1px solid var(--rule-soft);border-radius:14px;padding:.85rem 1rem 1rem}.column h2{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem;display:flex;justify-content:space-between;align-items:baseline}.column h2 .count{color:var(--ink);font-weight:700}.cards{display:flex;flex-direction:column;gap:.5rem}.card{width:100%;text-align:left;background:var(--paper-soft);border:1px solid var(--rule);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem;color:var(--ink);transition:border-color .15s,background .15s}.card:hover:not(:disabled){border-color:var(--ink)}.card:disabled{background:transparent;opacity:.7}.card-name{font-size:14.5px;font-weight:600;letter-spacing:-.01em}.card-meta{color:var(--muted);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em}.card-not_started{background:var(--paper-soft)}.card-in_progress{border-color:var(--ink);background:#fff1d6;box-shadow:0 0 0 3px var(--accent-soft)}.card-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle;animation:pulse 1.6s infinite}.card-blocked{background:var(--danger-soft);border-color:var(--danger);color:var(--ink)}.card-blocked .card-meta{color:var(--danger)}.card-complete{background:var(--ok-soft);border-color:var(--ok-soft);color:var(--muted)}.card-complete .card-name{color:var(--ink-soft)}@keyframes pulse{50%{opacity:.4}}.overdue-tag{display:inline-block;margin-right:.4rem;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);padding:.1rem .45rem;border-radius:4px;vertical-align:1px}.comingup{padding:1.25rem 1.25rem 0}.undated-group{border:1px solid var(--danger);background:var(--danger-soft);border-radius:14px;padding:.85rem 1rem;margin-bottom:1rem}.undated-group h3{margin:0 0 .25rem;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--danger)}.undated-group h3 .count{color:var(--danger);font-weight:700}.undated-group .note{margin:0 0 .75rem;font-size:.85rem;color:var(--ink-soft)}.week-group{margin-bottom:.4rem}.day-group{margin-left:.5rem}.tree-header{width:100%;text-align:left;background:none;border:none;display:flex;align-items:baseline;gap:.5rem;padding:.5rem .25rem;border-radius:6px}.tree-header:hover{background:var(--paper-soft)}.tree-week{font-size:.95rem}.tree-day{font-size:.9rem}.tree-caret{color:var(--muted);font-size:.75rem;width:1rem;font-family:var(--mono)}.tree-title{font-weight:600;letter-spacing:-.005em}.tree-sub{color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.04em}.tree-header .count{color:var(--muted);font-family:var(--mono);font-size:10px;margin-left:auto}.day-group .cards{padding:.3rem 0 .6rem 1.4rem}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0d0b73;display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:0}.sheet{width:min(28rem,100%);background:var(--paper);border-radius:18px 18px 0 0;box-shadow:0 -20px 50px #0003;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem;max-height:90vh;overflow-y:auto}@media(min-width:640px){.sheet-backdrop{align-items:center;padding:1rem}.sheet{border-radius:18px}}.sheet-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.sheet-header h3{margin:0;font-family:var(--sans);font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.sheet-close{background:none;border:none;font-size:1.25rem;color:var(--muted);padding:.25rem .5rem}.sheet-subtitle{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.04em;margin:-.4rem 0 0}.sheet-body{display:flex;flex-direction:column;gap:.85rem}.stepper-label{margin:0;font-size:.95rem;color:var(--ink-soft)}.stepper{display:grid;grid-template-columns:4.2rem 1fr 4.2rem;align-items:center;gap:.5rem}.stepper-button{font-size:1.6rem;height:4rem;border-radius:12px;border:1.5px solid var(--ink);background:var(--paper-soft);color:var(--ink);font-family:var(--sans)}.stepper-button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.stepper-value{text-align:center;font-family:var(--sans);font-size:1.7rem;font-weight:500;letter-spacing:-.02em;display:flex;flex-direction:column;gap:.1rem}.stepper-value small{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.04em;color:var(--muted)}.big-button,.primary{width:100%;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:999px;padding:.95rem 1.5rem;font-family:var(--sans);font-size:1rem;font-weight:500;letter-spacing:.01em;transition:background .15s,color .15s}.big-button:hover:not(:disabled),.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.action-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.action-button{background:var(--paper-soft);border:1.5px solid var(--ink);border-radius:12px;padding:.9rem .5rem;font-family:var(--sans);font-size:.9rem;min-height:3.6rem;color:var(--ink)}.action-button:hover,.action-button.complete{background:var(--ink);color:var(--paper)}.action-button.complete:hover{background:var(--accent);border-color:var(--accent)}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.reason-button{background:var(--paper-soft);border:1px solid var(--rule);border-radius:10px;padding:.85rem .9rem;text-align:left;font-family:var(--sans);font-size:.92rem;min-height:3.4rem;color:var(--ink)}.reason-button:hover{border-color:var(--ink);background:var(--paper)}.bottombar{display:flex;justify-content:flex-end;padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--rule-soft);background:var(--paper);position:sticky;bottom:0}.add-unplanned{background:transparent;border:1px dashed var(--rule);border-radius:999px;padding:.55rem 1.1rem;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted)}.add-unplanned:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);border-style:solid}.ready-list{display:flex;flex-direction:column;gap:.4rem}.ready-list-item{text-align:left;background:var(--paper-soft);border:1px solid var(--rule);border-radius:10px;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.15rem}.ready-list-item:hover{border-color:var(--ink)}.ready-list-name{font-weight:500;font-size:.95rem}.ready-list-meta{color:var(--muted);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em}.full-select,.sheet-input{width:100%;font-family:var(--sans);font-size:.95rem;padding:.7rem .85rem;border:1px solid var(--rule);border-radius:10px;background:var(--paper-soft);color:var(--ink)}.full-select:focus,.sheet-input:focus{outline:none;border-color:var(--ink)}.login-shell{max-width:26rem;padding-top:3rem}.login-form{display:flex;flex-direction:column;gap:.85rem;margin-top:1.5rem}.login-field{display:flex;flex-direction:column;gap:.3rem}.login-field>span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.scoping-banner{background:var(--warn-soft);border-bottom:1px solid var(--rule);color:var(--ink);padding:.6rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.92rem}.scoping-banner p{margin:0;line-height:1.4}.scoping-banner .link{color:var(--accent-deep)}.demo-cross-banner .demo-banner-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.demo-view-chip{display:inline-block;font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.15rem .45rem;border-radius:4px;margin-right:.55rem;vertical-align:.05em;color:#fff}.demo-view-chip--back-office{background:var(--accent-deep)}.demo-view-chip--tablet{background:#1f7a52}.demo-tooltip{position:fixed;bottom:1rem;right:1rem;z-index:10000;background:var(--ink);color:#fff;padding:.6rem .9rem;border-radius:8px;font-size:.9rem;box-shadow:0 8px 24px #00000038;display:flex;align-items:center;gap:.4rem}.demo-tooltip .link{color:var(--accent-soft);text-decoration:underline}.demo-tooltip .link:hover{color:#fff}.demo-tooltip-close{background:none;border:0;color:var(--muted-soft);font-size:1.15rem;padding:0 0 0 .5rem;cursor:pointer}.demo-tooltip-close:hover{color:#fff}.demo-tour-backdrop{position:fixed;background:#0e0d0b80;z-index:9000;transition:opacity .2s ease}.demo-tour-ring{position:fixed;z-index:9001;border-radius:10px;box-shadow:0 0 0 2px var(--accent),0 0 0 6px #ffffff8c,0 12px 32px #00000038;pointer-events:none;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}.demo-tour-ring--clickable{animation:demo-tour-pulse 1.8s ease-in-out infinite}@keyframes demo-tour-pulse{0%,to{box-shadow:0 0 0 2px var(--accent),0 0 0 6px #ffffff8c,0 12px 32px #00000038}50%{box-shadow:0 0 0 3px var(--accent),0 0 0 14px #204c9f47,0 12px 32px #00000038}}.demo-tour-card{position:fixed;z-index:9002;width:min(360px,calc(100vw - 32px));background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:1rem 1.1rem .9rem;box-shadow:0 16px 40px #0000003d;font-size:.95rem;line-height:1.4;color:var(--ink);transition:left .18s ease,top .18s ease}.demo-tour-progress{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-family:var(--mono)}.demo-tour-title{font-size:1.05rem;margin:0 0 .5rem;line-height:1.25}.demo-tour-body{margin:0 0 .9rem}.demo-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.4rem}.demo-tour-nav{display:flex;align-items:center;gap:.5rem}.demo-tour-nav .primary{background:var(--accent-deep);color:#fff;border:0;padding:.45rem .95rem;border-radius:999px;font-weight:600;cursor:pointer}.demo-tour-nav .secondary{background:transparent;color:var(--ink);border:1px solid var(--rule);padding:.45rem .95rem;border-radius:999px;cursor:pointer}.demo-tour-skip{font-size:.85rem;background:none;border:0;padding:0;cursor:pointer;color:var(--muted);text-decoration:underline}.demo-tour-skip:hover{color:var(--ink)}.demo-tour-hint{font-size:.82rem;color:var(--muted);font-style:italic}.topbar-status{background:none;border:none;text-align:left;padding:0;color:inherit;cursor:pointer}.topbar-status:disabled{cursor:default}.topbar-status-row{display:inline-flex;align-items:center;gap:.45rem}.status-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--muted-soft);flex-shrink:0}.status-dot-on_track{background:var(--ok)}.status-dot-at_risk{background:var(--danger)}.status-dot-none{background:var(--muted-soft)}.overview{display:flex;flex-direction:column;gap:1.1rem}.overview-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem}.overview-project-name{font-size:clamp(24px,6vw,32px);font-weight:500;letter-spacing:-.02em;margin:0}.status-block{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-radius:14px;font-family:var(--sans);font-size:1.05rem;font-weight:600;letter-spacing:-.005em;border:1px solid var(--rule);background:var(--paper);align-self:flex-start}.status-block-on_track{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.status-block-at_risk{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.status-block-none{background:var(--paper);color:var(--muted)}.status-block .status-dot{width:.7rem;height:.7rem}.status-block-label{letter-spacing:.02em}.status-block-tag{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-left:1px solid currentColor;padding-left:.55rem;margin-left:.15rem;font-weight:500;align-self:center}.overview-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.overview-stat{background:var(--paper);border:1px solid var(--rule-soft);border-radius:14px;padding:.85rem 1rem}.overview-stat-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}.overview-stat-value{font-family:var(--sans);font-size:1.25rem;font-weight:600;letter-spacing:-.015em}.overview-stat-confidence{font-size:.85rem;font-weight:500;color:var(--muted)}.overview-stat-sub{color:var(--muted);font-size:.85rem;margin-top:.25rem}.overview-block{background:var(--paper);border:1px solid var(--rule-soft);border-radius:14px;padding:.95rem 1.1rem 1.05rem}.overview-block-title{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem}.overview-labor-row{font-size:1.05rem}.overview-labor-value{font-weight:700;font-size:1.35rem;letter-spacing:-.015em}.overview-labor-of{color:var(--muted);font-size:.95rem}.overview-progress{margin-top:.5rem;width:100%;height:.45rem;background:var(--bg);border-radius:999px;overflow:hidden;border:1px solid var(--rule-soft)}.overview-progress-fill{height:100%;background:var(--ok);transition:width .25s ease}.overview-progress-fill.is-over{background:var(--danger)}.overview-phase-progress{margin-top:.65rem;font-size:.92rem;color:var(--ink-soft)}.overview-phase-pct{color:var(--muted);font-family:var(--mono);font-size:.85rem}.overview-attr-total{font-size:.95rem;margin-bottom:.55rem;color:var(--ink-soft)}.overview-attr-bar{display:flex;height:1.3rem;border-radius:.5rem;overflow:hidden;border:1px solid var(--rule);background:var(--bg)}.overview-attr-segment{transition:flex-basis .25s ease}.overview-attr-plan{background:#fde68a}.overview-attr-execution{background:#93c5fd}.overview-attr-external{background:#fca5a5}.overview-attr-legend{list-style:none;padding:0;margin:.8rem 0 0;display:flex;flex-direction:column;gap:.55rem}.overview-attr-row{display:flex;gap:.65rem;align-items:flex-start}.overview-attr-swatch{display:inline-block;width:.95rem;height:.95rem;border-radius:.25rem;margin-top:.2rem;flex-shrink:0;border:1px solid var(--rule)}.overview-attr-text{flex:1;min-width:0}.overview-attr-label{font-size:.95rem}.overview-attr-hint{color:var(--muted);font-size:.82rem;margin-top:.1rem}.overview-cold-start-note{margin-top:0}.overview-freshness{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--rule-soft);background:var(--paper)}.overview-freshness-fresh{color:var(--ok)}.overview-freshness-stale{color:var(--warn)}.overview-freshness-old{color:var(--danger)}.overview-freshness-none{color:var(--muted)}@media(min-width:900px){.shell{padding:2rem 1.5rem 6rem}.columns{flex-direction:row;align-items:flex-start;gap:1rem;padding:1.5rem}.column{flex:1}.comingup{padding:1.5rem}}@media(min-width:1100px){.columns{gap:1.25rem}.column{padding:1rem 1.15rem 1.15rem}}
