:root{color-scheme:light;--bg:#eef1f6;--panel:#ffffff;--panel-2:#e9f0fb;--ink:#1b2733;--muted:#5c6b7a;--line:#d9e0ea;--line-strong:#b4c0cf;--accent:#2f6fd6;--accent-2:#1597a8;--danger:#c0392b;--warn:#9a6b00;--shadow:0 12px 36px rgba(20,40,70,0.08);--topbar-bg:#16345d;--topbar-ink:#ffffff;--topbar-muted:#aebfd6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}button{min-height:38px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;padding:8px 12px}button:hover{border-color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.danger{border-color:#caa59d;color:var(--danger)}.button{min-height:38px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px}.button.primary,.button:hover{border-color:var(--accent)}.button.primary{background:var(--accent);color:#fff}.button.danger{border-color:#caa59d;color:var(--danger)}a{color:inherit;text-decoration:none}.button-link{min-height:38px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:8px 12px}.button-link:hover{border-color:var(--accent)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:10px 12px}textarea{min-height:86px;resize:vertical}.app-shell{min-height:100vh;padding:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-16px -16px 14px;padding:9px 16px;background:var(--topbar-bg)}.brand h1,.topbar{color:var(--topbar-ink)}.brand h1{margin:0;font-size:19px;letter-spacing:0}.brand p{margin:1px 0 0;font-size:12.5px}.brand p,.topbar .chip{color:var(--topbar-muted)}.topbar .chip{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}.topbar .chip strong{color:var(--topbar-ink)}.topbar a.chip:hover{border-color:rgba(255,255,255,.55)}.status-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:#fff;color:var(--muted);font-size:12px;white-space:nowrap}.chip strong{color:var(--ink);font-weight:650}.job-context{margin:0 0 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:10px 16px}.job-context-select{min-width:190px}.job-context-info{display:flex;flex-direction:column;gap:1px;min-width:0}.job-context-name{font-size:15px;color:var(--ink)}.job-context-addr{color:var(--muted);font-size:13px}.job-context-access,.job-context-reveal{color:var(--muted);font-size:12px}.job-context-reveal{align-self:flex-start;min-height:0;padding:1px 8px;border-radius:999px}.job-context-caption{margin-left:auto;align-self:center;color:var(--muted);font-size:12px}.job-context-edit{align-self:flex-start;min-height:0;padding:1px 8px;font-size:12px;border-radius:999px;color:var(--muted)}.job-context-form{gap:6px;flex:1 1 320px}.job-context-input{font-size:13px;padding:4px 8px;max-width:360px}.job-context-actions{display:flex;gap:8px;align-items:center}.job-context-error{color:var(--danger,#b42318);font-size:12px}.doc-folder{border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:12px}.doc-folder h3{margin:0 0 8px}.doc-file{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.plans-uploader{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.plans-uploader input[type=file]{min-width:0;font-size:.85rem}.console-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(460px,1.4fr) minmax(320px,1fr);grid-gap:16px;gap:16px;align-items:flex-start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:13px}.panel+.panel{margin-top:12px}.app-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.app-content{min-width:0}.project-rail{position:-webkit-sticky;position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:8px;max-height:calc(100vh - 16px);overflow:auto}.rail-heading{margin:4px 8px 6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.rail-item{min-height:34px;width:100%;display:flex;align-items:center;gap:8px;border:none;border-radius:7px;background:transparent;color:var(--ink);font-weight:550;text-align:left;padding:6px 8px}.rail-item.active,.rail-item:hover{background:var(--panel-2)}.rail-item.active{color:var(--accent);font-weight:680}.rail-dot{flex:none;width:10px;height:10px;border-radius:999px}.rail-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-outlook{margin-bottom:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.rail-dot-outlook{background:conic-gradient(#2f6fd6,#1597a8,#e0823a,#8a4fd0,#3da35d,#2f6fd6)}.view-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px}.view-tab{background:none;padding:7px 14px;min-height:0;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin:0 0 -1px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.view-tab:hover{color:var(--ink)}.view-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.console-shell{display:block}.console-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;flex-direction:row;flex-wrap:wrap;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:6px;margin-bottom:16px}.console-nav .nav-item{min-height:40px;width:auto;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:7px;background:transparent;color:var(--muted);font-weight:550;text-align:left;padding:8px 14px}.console-nav .nav-item:hover{background:var(--panel-2);color:var(--ink)}.console-nav .nav-item.active{background:var(--panel-2);color:var(--accent);font-weight:680;box-shadow:inset 0 -3px 0 var(--accent)}.nav-badge{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:0 6px}.console-main{min-width:0}.section-head{margin:0 0 10px}.section-head h2{margin:0;font-size:18px}.section-head p{margin:2px 0 0;font-size:13px}.console-main-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));grid-gap:12px;gap:12px;align-items:start}.console-main-grid .panel+.panel{margin-top:0}.panel h2,.panel h3{margin:0 0 9px;font-size:15px;letter-spacing:0}.panel h3{font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.form-row{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;align-items:flex-start}.form-row button{justify-self:flex-start}.admin-import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:10px 14px;gap:10px 14px}.admin-import-grid label,.form-row label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:12px;font-weight:600}.stack{display:grid;grid-gap:8px;gap:8px}.approval-card,.citation-card,.feed-row,.schedule-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.approval-head,.schedule-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.approval-title,.schedule-title{margin:0;font-size:14px;font-weight:700}.preview-body{margin:8px 0 0;white-space:pre-wrap;color:#2f3a36;font-size:13px}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.revision{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:650;white-space:nowrap}.badge.ready{color:var(--accent);background:var(--panel-2)}.badge.risk{color:var(--warn);background:#fff5d6}.badge.blocked{color:var(--danger);background:#f7e7e3}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.metric{border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:10px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;margin-top:2px;font-size:16px}.feed-row{display:grid;grid-template-columns:58px 1fr;grid-gap:10px;gap:10px}.feed-row time{color:var(--muted);font-size:12px}.citation-card p,.feed-row p,.schedule-card p{margin:3px 0 0;color:var(--muted);font-size:13px}.audit-box{border:1px solid var(--line);border-radius:8px;background:#111814;color:#eaf1ee;padding:12px;min-height:120px}.audit-box code{display:block;color:#bdebd9;font-size:12px;margin:4px 0}.log-list{margin:0;padding-left:18px;color:var(--muted);font-size:13px}.companion-shell{width:100vw;min-height:100vh;padding:14px;overflow:hidden;background:#f4f6f5}.companion-grid{display:grid;grid-template-columns:380px 1fr 430px;grid-gap:12px;gap:12px;height:calc(100vh - 28px);min-height:520px}.companion-panel{min-height:0;overflow:hidden}.companion-panel .stack{max-height:calc(100% - 34px);overflow:auto}.companion-status{display:grid;grid-template-rows:auto auto 1fr auto;grid-gap:14px;gap:14px}.companion-section-head,.companion-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.companion-section-head h2,.companion-title h1{margin:0;font-size:28px;line-height:1.1}.companion-section-head h3{margin:0;font-size:15px}.companion-section-head.compact{margin-bottom:10px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.touch-tile{min-height:96px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;display:grid;align-content:space-between}.touch-tile span{color:var(--muted);font-size:13px}.touch-tile strong{font-size:22px}.touch-tile.action{border-color:#b9d5cb;background:#eef8f4}.touch-tile.risk{border-color:#dfca83;background:#fff7db}.touch-tile.blocked{border-color:#d8ada3;background:#faebe8}.touch-tile.ready{border-color:#b7d3db;background:#edf7fa}.voice-rail{display:grid;grid-gap:8px;gap:8px;align-content:flex-start;overflow:auto}.voice-pill{border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;justify-content:space-between;gap:12px;padding:11px 12px}.voice-pill span{color:var(--muted)}.companion-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.companion-main{display:grid;grid-template-rows:auto auto 1fr;grid-gap:12px;gap:12px}.approval-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;min-height:0}.companion-approval{min-height:156px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;display:grid;align-content:space-between;grid-gap:10px;gap:10px}.companion-approval.empty{grid-column:1/-1;min-height:156px;align-content:center}.approval-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.approval-meta span{border:1px solid var(--line);border-radius:999px;padding:2px 7px}.companion-lower-grid{min-height:0;display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:12px;gap:12px;overflow:auto}.companion-lower-grid .stack{max-height:none;overflow:visible}.companion-schedule-list{display:grid;grid-gap:10px;gap:10px;max-height:calc(100% - 68px);overflow:auto}.companion-error{margin:0;border:1px solid #d8ada3;border-radius:8px;background:#faebe8;color:var(--danger);padding:10px 12px;font-size:13px}@media (max-width:1100px){.app-layout,.console-grid{grid-template-columns:1fr}.project-rail{position:static;flex-direction:row;flex-wrap:wrap;max-height:none}.rail-item{width:auto}.rail-heading{width:100%}.console-main-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.status-strip{justify-content:flex-start}}@media (max-width:760px){.app-shell{padding:14px}.topbar{margin:-14px -14px 16px}.form-row,.two-col{grid-template-columns:1fr}.gantt{--label-w:140px}.gantt-rowlabel{grid-template-columns:1fr}.g-col-days,.g-col-start{display:none}}@media (orientation:portrait) and (max-width:900px){.companion-shell{overflow:auto}.companion-grid{height:auto}.approval-strip,.companion-grid,.companion-lower-grid{grid-template-columns:1fr}}.impact-pre{border:1px solid var(--line);border-radius:8px;background:#111814;color:#eaf1ee;padding:12px;margin:0;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.nomis-mark{margin:0;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:clamp(7px,.55vw,11px);line-height:1.15;letter-spacing:0;color:#2fbf8f;text-shadow:0 0 6px rgba(47,191,143,.45);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:pre;overflow:hidden}.nomis-mark.speaking{animation:nomis-pulse 1.1s ease-in-out infinite}@keyframes nomis-pulse{0%,to{color:#2fbf8f;text-shadow:0 0 6px rgba(47,191,143,.45)}50%{color:#5ff0bd;text-shadow:0 0 16px rgba(95,240,189,.85)}}.nomis-splash{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0b110e;cursor:pointer;opacity:1;transition:opacity .8s ease}.nomis-splash:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,0),rgba(0,0,0,0) 2px,rgba(47,191,143,.05) 3px,rgba(0,0,0,0) 4px)}.nomis-splash.fading{opacity:0;pointer-events:none}.nomis-splash .nomis-mark.splash{font-size:clamp(10px,1.1vw,18px);opacity:0;transition:opacity .4s ease}.nomis-splash.standby .nomis-mark.splash{opacity:.22}.nomis-splash .nomis-mark.splash.on{opacity:1;animation:nomis-flicker .8s ease-out,nomis-pulse 1.6s ease-in-out .8s infinite}@keyframes nomis-flicker{0%{opacity:0}12%{opacity:.9}22%{opacity:.15}36%{opacity:1}48%{opacity:.4}62%,to{opacity:1}}.nomis-splash.standby .nomis-bootlines,.nomis-splash.standby .nomis-nominal,.nomis-splash.standby .nomis-syslines,.nomis-splash.standby .nomis-tagline{display:none}.nomis-prompt{margin:0;color:#8fd9bf;font-size:clamp(12px,.9vw,15px);font-weight:700;letter-spacing:.35em;text-align:center;animation:nomis-prompt-pulse 1.9s ease-in-out infinite}.nomis-prompt small{display:block;margin-top:8px;color:#4f7a68;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}@keyframes nomis-prompt-pulse{0%,to{opacity:.5}50%{opacity:1}}.nomis-bootlines,.nomis-syslines{display:flex;flex-direction:column;gap:4px;width:56ch;max-width:92vw;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:clamp(10px,.7vw,13px);text-align:left}.nomis-syslines{color:#4f8a72}.nomis-bootlines{color:#6fae95}.nomis-bootlines span,.nomis-syslines span{opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}.nomis-bootlines span.on,.nomis-syslines span.on{opacity:1;transform:none}.nomis-bootlines .boot-head{margin-top:7px;color:#8fd9bf;font-weight:700;letter-spacing:.3em}.nomis-bootlines .boot-status{font-style:normal;color:#5ff0bd;opacity:0;transition:opacity .25s ease}.nomis-bootlines .boot-status.on{opacity:1}.nomis-bootlines .boot-status.warn{color:#dfca83}.nomis-tagline{margin:0;color:#8fd9bf;font-size:clamp(11px,.8vw,14px);font-weight:700;letter-spacing:.35em;opacity:0;transition:opacity .5s ease}.nomis-tagline.on{opacity:1}.nomis-nominal{margin:0;color:#5ff0bd;font-size:clamp(13px,1vw,17px);font-weight:700;letter-spacing:.5em;text-shadow:0 0 14px rgba(95,240,189,.7);opacity:0}.nomis-nominal.on{animation:nomis-nominal-in .9s ease forwards}@keyframes nomis-nominal-in{0%{opacity:0;letter-spacing:.95em}to{opacity:1;letter-spacing:.5em}}.nomis-skip{position:absolute;bottom:16px;margin:0;color:#3f6a58;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.nomis-ears{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;font-size:13px}.nomis-ears p{margin:2px 0 0;color:var(--muted);font-size:12px}.ears-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#2fbf8f}.nomis-ears.listening .ears-dot{animation:ears-breathe 2.4s ease-in-out infinite}.nomis-ears.armed .ears-dot,.nomis-ears.working .ears-dot{background:#5ff0bd;box-shadow:0 0 8px rgba(95,240,189,.8);animation:ears-breathe .9s ease-in-out infinite}.nomis-ears.muted .ears-dot{background:#b9c4bf;animation:none}.nomis-ears.blocked .ears-dot,.nomis-ears.unsupported .ears-dot{background:#c96a55;animation:none}@keyframes ears-breathe{0%,to{opacity:.5}50%{opacity:1}}.nomis-initiative{border:1px solid #b9d5cb;border-radius:8px;background:#eef8f4;padding:12px;display:grid;grid-gap:6px;gap:6px;animation:initiative-in .4s ease}@keyframes initiative-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.initiative-title{font-weight:700;color:#1f6f54}.initiative-event,.initiative-title{margin:0;font-size:13px}.initiative-reply{margin:0;color:var(--muted);font-size:12px;font-style:italic}.initiative-actions{display:flex;gap:8px;margin-top:4px}.dropzone{border:1px dashed var(--line-strong);border-radius:7px;padding:12px;background:var(--panel-2);transition:border-color .12s ease,background .12s ease}.dropzone.dragging{border-color:var(--accent);border-style:solid;background:#d7e6fb}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-weight:600;color:var(--muted)}.data-table td,.data-table th{padding:4px 8px;border-bottom:1px solid var(--line)}.data-table tr:last-child td{border-bottom:none}.data-table .row-critical td{background:var(--panel-2)}.data-table th.sortable{padding:0;white-space:nowrap}.th-sort{width:100%;font:inherit;font-weight:600;color:var(--muted);background:none;border:none;min-height:0;padding:4px 8px;text-align:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.th-sort:hover{color:var(--ink)}.data-table td.num,.data-table th.num{text-align:right}.data-table td .gantt-swatch{margin-right:6px;vertical-align:baseline}.reorder-arrows{display:inline-flex;flex-direction:column;line-height:.7;margin-right:6px;vertical-align:middle}.reorder-arrow{border:none;background:none;padding:0 2px;margin:0;min-height:0;font-size:9px;line-height:.9;color:var(--accent);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.reorder-arrow:disabled{color:var(--line-strong);cursor:default}.sort-caret{color:var(--accent);font-size:9px}.badge-critical{display:inline-flex;align-items:center;margin-left:6px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:1px 7px}.plain-list{list-style:disc;margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.form-error{color:var(--danger);font-weight:600}.panel-wide{grid-column:1/-1}.gantt-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.gantt-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink)}.gantt{--label-w:290px;--gantt-row-h:26px;display:flex;align-items:flex-start;width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden}.gantt-labels{flex:0 0 var(--label-w);width:var(--label-w);border-right:1px solid var(--line);background:var(--panel)}.gantt-labelrow{height:var(--gantt-row-h);padding:0 10px}.gantt-rowlabel-head.gantt-labelrow{height:38px}.gantt-scroll{flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden}.gantt-canvas,.gantt-canvasrow{position:relative}.gantt-canvasrow{height:var(--gantt-row-h);background-image:repeating-linear-gradient(to right,var(--line) 0 1px,transparent 1px var(--grid-px))}.gantt-month-axis{height:20px;background-image:none;border-bottom:1px solid var(--line)}.gantt-day-axis{height:18px;background-image:none;border-bottom:1px solid var(--line-strong)}.gantt-month{height:20px;padding-left:6px;font-size:11px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;border-left:1px solid var(--line)}.gantt-day,.gantt-month{position:absolute;top:0;display:flex;align-items:center;box-sizing:border-box}.gantt-day{height:18px;justify-content:center;font-size:9px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gantt-day.is-weekend{color:var(--line-strong)}.gantt-weekend{position:absolute;top:0;bottom:0;background:rgba(100,116,139,.12);z-index:0;pointer-events:none}.gantt-rowlabel{display:grid;grid-template-columns:minmax(0,1fr) 76px 34px;align-items:center;grid-gap:8px;gap:8px;font-size:12px;color:var(--ink)}.g-col-task{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-col-start{white-space:nowrap}.g-col-days,.g-col-start{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g-col-days{text-align:right}.gantt-rowlabel-head .g-col-days,.gantt-rowlabel-head .g-col-start,.gantt-rowlabel-head .g-col-task{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.gantt-track{position:relative;height:20px}.gantt-tick{position:absolute;top:0;font-size:10px;color:var(--muted);white-space:nowrap}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--accent-2);opacity:.65;z-index:2}.gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:15px;min-width:4px;border-radius:3px;z-index:1}.gantt-bar.is-critical{outline:2px solid var(--ink)}.gantt-links{position:absolute;top:0;left:0;pointer-events:none}.gantt-link{fill:none;stroke:var(--line-strong);stroke-width:1.5}.gantt-link.is-critical{stroke:var(--ink);stroke-width:2}.gantt-arrowhead{fill:var(--line-strong)}.gantt-arrowhead.is-critical{fill:var(--ink)}.gantt--focus-critical .gantt-link:not(.is-critical){opacity:.28}button.gantt-bar{border:none;padding:0;min-height:0;cursor:-webkit-grab;cursor:grab;touch-action:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.gantt-bar.is-selected{outline:2px solid var(--accent-2);outline-offset:1px}.gantt-bar.is-dragging{opacity:.4;cursor:-webkit-grabbing;cursor:grabbing}button.gantt-bar:after{content:"";top:2px;bottom:2px;right:1px;width:2px;border-radius:1px;background:rgba(255,255,255,.6)}.gantt-ghost,button.gantt-bar:after{position:absolute;pointer-events:none}.gantt-ghost{top:50%;transform:translateY(-50%);height:15px;border-radius:3px;border:2px dashed var(--accent-2);background:transparent;z-index:3}.gantt-bar.is-staged{outline:2px dashed var(--warn);outline-offset:1px}.gantt-ghost.is-staged{border-style:solid;border-color:var(--warn);background:var(--warn);opacity:.22;z-index:2}.gantt-bar-progress{height:15px;border-radius:3px 0 0 3px;background:rgba(0,0,0,.32)}.gantt-bar-bell,.gantt-bar-progress{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;z-index:2}.gantt-bar-bell{margin-left:2px;font-size:9px;line-height:1}.list-progress{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;width:60px;height:14px;border-radius:7px;background:var(--line);overflow:hidden}.list-progress-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);opacity:.35}.list-progress-label{position:relative;padding:0 6px;font-size:11px;color:var(--ink)}.list-bell{margin-left:5px;font-size:.8em}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;background:rgba(15,23,42,.55);overflow-y:auto}.modal{width:100%;max-width:520px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:18px 20px 20px;box-shadow:0 20px 50px rgba(15,23,42,.35)}.modal:focus{outline:none}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0}.modal-close{min-height:0;padding:2px 10px;font-size:18px;line-height:1}.edit-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 18px;gap:10px 18px;margin:14px 0 18px}.edit-grid>div{margin:0}.edit-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.edit-grid dd{margin:2px 0 0;display:flex;align-items:center;gap:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.edit-form{margin-top:6px}.edit-fields{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px 14px;gap:10px 14px;margin:12px 0}.edit-field{display:flex;flex-direction:column;gap:3px}.edit-field-wide{grid-column:1/-1}.edit-field>span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.edit-field input{width:100%}.edit-cosmetic,.edit-readonly{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.edit-cosmetic{display:flex;flex-direction:column;gap:12px}.edit-check{display:flex;align-items:center;gap:8px}.edit-check input{width:auto}.edit-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.edit-swatch{width:20px;height:20px;min-height:0;padding:0;border:1px solid var(--line-strong);border-radius:4px;cursor:pointer}.edit-swatch.is-selected{outline:2px solid var(--accent-2);outline-offset:1px}.edit-reminder{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.edit-reminder input[type=number]{width:64px}.edit-predecessors{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.edit-section-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.edit-predlist{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.edit-predlist li{display:flex;align-items:center;justify-content:space-between;gap:8px}.edit-predadd button,.edit-predlist button{min-height:0;padding:3px 10px}.edit-predadd{display:flex;gap:8px}.edit-predadd select{flex:1 1}.edit-preview{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.edit-preview h3{margin:0 0 6px}.edit-difflist{margin:0 0 6px;padding-left:18px}.edit-cascade{margin:6px 0 0;white-space:pre-wrap;font-family:var(--mono,ui-monospace,monospace);color:var(--muted)}.form-notice{color:var(--accent-2);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cal-chip-bell{margin-left:4px;font-size:.75em}.gantt-editor{border:1px solid var(--line);border-radius:7px;padding:12px;background:var(--panel-2)}.staged-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.staged-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.staged-title{font-weight:600;color:var(--ink);min-width:0}.staged-item .muted{flex:1 1;min-width:0}.gantt-bar.is-complete{opacity:.5}.gantt--focus-critical .gantt-bar:not(.is-critical){opacity:.28}.gantt-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.gantt-legend-item{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.gantt-swatch{width:11px;height:11px;border-radius:2px;display:inline-block}.outlook{display:flex;flex-direction:column;gap:3px;width:100%}.outlook-row{display:grid;grid-template-columns:210px 1fr 104px;align-items:center;grid-gap:8px;gap:8px;min-height:26px}.outlook .gantt-track{background-image:none}.outlook-axis{min-height:16px;margin-bottom:2px}.outlook-axis .gantt-track{height:14px}.outlook-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.outlook-projname{font-size:12px;color:var(--ink);min-width:0}.outlook-projname,.outlook-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outlook-type{flex:none;max-width:118px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;color:#fff}.outlook-meta{text-align:right;white-space:nowrap}.outlook-empty,.outlook-meta{font-size:11px;color:var(--muted)}.outlook-empty{font-style:italic}.calendar{display:flex;flex-direction:column;width:100%}.cal-day{display:grid;grid-template-columns:132px 1fr;grid-gap:10px;gap:10px;align-items:start;padding:7px 6px;border-top:1px solid var(--line)}.cal-day:last-child{border-bottom:1px solid var(--line)}.cal-day.is-weekend{background:var(--panel-2)}.cal-day.is-today{box-shadow:inset 3px 0 0 var(--accent)}.cal-daylabel{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink)}.cal-day.is-today .cal-daylabel{color:var(--accent)}.cal-tasks{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.cal-chip{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:2px 8px;border-radius:4px;border-left:3px solid var(--line-strong);background:var(--panel-2);font-size:12px;white-space:nowrap;overflow:hidden}.cal-chip-proj{color:var(--muted);font-size:11px;flex:none}.cal-chip-task{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis}.cal-chip-who{color:var(--muted);font-size:11px;flex:none}.workspace-shell_skipLink__DrER_{position:fixed;z-index:10000;top:8px;left:8px;padding:10px 14px;border-radius:7px;background:#ffffff;color:#16345d;font-weight:700;box-shadow:0 4px 18px rgba(15,35,60,.25);transform:translateY(-160%);transition:transform .12s ease}.workspace-shell_skipLink__DrER_:focus{transform:translateY(0)}.workspace-shell_networkStatus__SNVH5{position:fixed;z-index:9999;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));max-width:min(420px,calc(100vw - 32px));padding:10px 14px;border:1px solid #b4c0cf;border-radius:8px;background:#ffffff;color:#1b2733;box-shadow:0 10px 28px rgba(15,35,60,.18);font-size:14px}.workspace-shell_roleNavigation___6AWI{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.workspace-shell_roleNavigation___6AWI a{display:inline-flex;min-height:44px;align-items:center;padding:8px 12px;border:1px solid #b4c0cf;border-radius:7px;background:#ffffff;color:#1b2733}.workspace-shell_roleNavigation___6AWI a[aria-current=page]{border-color:#2f6fd6;color:#2f6fd6;font-weight:700}.workspace-shell_roleControl__BaLor{display:grid;grid-gap:6px;gap:6px;max-width:320px}.workspace-shell_emptyNavigation__JNCf5,.workspace-shell_roleControl__BaLor small{color:#5c6b7a;font-size:12px}@media (prefers-reduced-motion:reduce){.workspace-shell_skipLink__DrER_{transition:none}}