@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,500&family=Geist:wght@300;400;500;600;700&display=swap";:root{--bg: #ececeb;--panel: #ffffff;--panel-soft: #f4f4f3;--panel-tint: #fafaf9;--text: #111111;--muted: #6b6b6b;--muted-strong: #3d3d3d;--border: #d6d6d4;--border-strong: #b8b8b6;--live: #111111;--live-dark: #000000;--dev: #fde2e4;--dev-stroke: #c97681;--future: #e6e6e4;--future-stroke: #999797;--loss: #fff4c7;--loss-stroke: #d97706;--danger: #b91c1c;--warning: #92400e;--accent: #f5c8cc;--radius: 8px;--control-radius: 9px;--shadow: 0 12px 28px rgba(20, 18, 16, .05);--shadow-soft: 0 6px 14px rgba(20, 18, 16, .04);color-scheme:light}*{box-sizing:border-box}html,body,#app,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input,select{font:inherit}button{cursor:pointer}button,input,select{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(0,122,90,.22);outline-offset:2px}svg{flex:0 0 auto}.page-shell{width:min(100% - 48px,1280px);margin:0 auto;padding:24px 0}.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:14px}.pulse{width:12px;height:12px;border-radius:999px;background:var(--live);display:inline-block;margin-right:8px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:26px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.app-header>div:first-child{max-width:900px}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--muted-strong);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.eyebrow span{width:32px;height:2px;background:var(--live)}.eyebrow.small{margin-bottom:10px;font-size:11px}h1,h2,h3{margin:0;font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:0}h1{color:var(--text);font-size:clamp(42px,4.4vw,52px);line-height:1}h1 em{color:var(--live);font-style:italic}h2{font-size:27px;line-height:1.1}h3{font-size:20px;line-height:1.2}p{margin:0}.app-header p,.section-head p,.card-title-row p,.table-head p{margin-top:6px;color:var(--muted);font-size:14px}.header-actions{display:flex;flex-direction:column;align-items:end;gap:11px}.tabs,.segmented{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-soft)}.tab,.segmented button{display:inline-flex;align-items:center;justify-content:center;min-height:35px;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text);font-size:14px;font-weight:700;line-height:1;padding:0 14px;white-space:nowrap}.tab.active{background:var(--live);color:#fff;box-shadow:inset 0 -1px #00000029}.tab:not(.active):hover,.segmented button:not(.active):hover{background:var(--panel-soft)}.segmented button.active{background:var(--text);color:#fff}.blur-toggle{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--panel);color:var(--muted);font-size:12px;box-shadow:var(--shadow-soft)}.blur-toggle:hover{border-color:var(--border-strong)}.blur-toggle strong{color:var(--text)}.sync-status{display:inline-flex;align-items:center;gap:8px;min-height:36px;max-width:210px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--panel);color:var(--muted-strong);font-size:12px;box-shadow:var(--shadow-soft)}.sync-dot{width:9px;height:9px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px #1917140f}.sync-copy{display:grid;min-width:0;gap:1px;line-height:1.1}.sync-copy strong,.sync-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-copy strong{color:var(--text);font-size:12px;font-weight:800}.sync-copy span{color:currentColor;font-size:11px;font-weight:700}.sync-status.synced{border-color:#b7dfcd;background:#f2fbf7;color:var(--live-dark)}.sync-status.dirty{border-color:#fed7aa;background:#fff7ed;color:var(--warning)}.sync-status.stale{border-color:#fecaca;background:#fef2f2;color:var(--danger)}.sync-status.checking{border-color:var(--border);background:var(--panel);color:var(--muted)}.switch{position:relative;width:30px;height:16px;border-radius:999px;background:#cbc7be;transition:background .16s ease}.switch span{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0003;transition:left .16s ease}.switch.active{background:var(--live)}.switch.active span{left:16px}.stack{display:grid;gap:18px}.toolbar-row,.section-head,.card-title-row,.ribbon-head,.pagination,.footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar-row{padding:2px 0}.toolbar-row>.muted{color:var(--muted-strong);font-weight:600}.muted{color:var(--muted)}.mono,.num{font-variant-numeric:tabular-nums}.num{text-align:right}.strong{font-weight:700}.green{color:var(--live)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi-card,.ribbon,.chart-card,.table-card,.empty-panel,.note{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-soft)}.kpi-card{position:relative;min-height:150px;overflow:hidden;padding:17px 20px 16px;border-top:2px solid var(--live)}.kpi-card.potential{border-top-color:var(--dev-stroke)}.kpi-card.live{border-top-color:var(--live)}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.kpi-top span,.kpi-card small{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.kpi-top div{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#e8f8ef;color:var(--live)}.kpi-card>strong{display:block;color:var(--live);font-family:Fraunces,Georgia,serif;font-size:32px;font-weight:500;line-height:1}.kpi-card>small{display:block;margin-top:7px;letter-spacing:0;text-transform:none}.split-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:11px}.split-values div{min-width:0}.split-values small{display:block;margin:5px 0 4px;color:var(--muted);font-size:12px}.split-values strong{display:block;color:var(--live-dark);font-family:Fraunces,Georgia,serif;font-size:25px;font-weight:500;line-height:1.05;overflow-wrap:anywhere}.loss-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;padding-top:12px;border-top:1px solid var(--border);color:var(--warning);font-size:12px}.loss-row span{color:var(--muted)}.ribbon{padding:19px 24px 18px;box-shadow:var(--shadow)}.ribbon-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.ribbon-total strong,.ribbon-total em,.realized strong{color:var(--live);font-family:Fraunces,Georgia,serif;font-size:38px;font-style:normal;font-weight:500;line-height:1}.ribbon-total strong span{margin-left:6px;font-family:Geist,sans-serif;font-size:15px}.ribbon-total small{color:var(--muted);font-size:12px}.realized{min-width:148px;text-align:right}.realized span{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.realized strong{color:var(--text);font-size:30px}.progress{display:flex;width:100%;height:10px;margin:18px 0 12px;overflow:hidden;border-radius:5px;background:var(--panel-soft)}.progress span{min-width:0}.progress .live,.legend-swatch.live,.chart-segment.live{background:var(--live)}.progress .loss,.legend-swatch.loss,.chart-segment.loss{border:1px solid var(--loss-stroke);background:repeating-linear-gradient(135deg,rgba(217,119,6,.55) 0 1px,transparent 1px 5px),var(--loss)}.progress .dev,.legend-swatch.dev,.chart-segment.dev{border:1px solid var(--dev-stroke);background:repeating-linear-gradient(135deg,rgba(0,138,98,.55) 0 1px,transparent 1px 5px),var(--dev)}.progress .future,.legend-swatch.future,.chart-segment.future{border:1px solid var(--future-stroke);background:repeating-linear-gradient(135deg,rgba(121,116,107,.45) 0 1px,transparent 1px 5px),var(--future)}.ribbon-legend,.chart-legend{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:12px}.ribbon-legend div,.chart-legend span{display:inline-flex;align-items:center;gap:8px}.legend-swatch,.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chart-card{min-width:0;padding:21px 24px 22px}.card-title-row{align-items:flex-start}.chart-bars{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));align-items:end;gap:18px;height:292px;margin-top:16px;padding:24px 4px 38px;border-bottom:1px solid var(--border);background-image:linear-gradient(to top,rgba(223,221,215,.8) 1px,transparent 1px);background-size:100% 25%}.chart-bar{position:relative;height:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px}.chart-value{min-height:18px;color:var(--text);font-size:12px;font-weight:800;line-height:1.1;text-align:center;white-space:nowrap}.chart-stack{display:flex;flex-direction:column-reverse;width:34px;min-height:2px;overflow:hidden;border-radius:5px 5px 2px 2px;background:var(--panel-soft);box-shadow:inset 0 0 0 1px #1917140a}.chart-segment{display:block;min-height:3px}.chart-label{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);width:96px;overflow:hidden;color:var(--muted);font-size:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.table-card{overflow:hidden;box-shadow:var(--shadow)}.table-head{padding:19px 24px 12px}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}.projects-table{table-layout:fixed}.project-col-index{width:42px}.project-col-id{width:82px}.project-col-group{width:90px}.project-col-process{width:auto}.project-col-status{width:84px}.project-col-time{width:100px}.project-col-effective{width:90px}.project-col-level{width:112px}.project-col-hours{width:84px}.project-col-value{width:110px}.project-col-actions{width:176px}th{padding:11px 16px;background:var(--panel-tint);color:var(--muted-strong);font-size:11px;font-weight:800;letter-spacing:0;text-align:left;text-transform:uppercase;white-space:nowrap}td{padding:12px 16px;border-top:1px solid var(--border);vertical-align:middle}.projects-table th,.projects-table td{padding-right:10px;padding-left:10px}.projects-table th:first-child,.projects-table td:first-child{padding-left:16px}.projects-table th:last-child,.projects-table td:last-child{padding-right:16px}.projects-table .strong,.projects-table .muted,.projects-table td:not(.num){overflow-wrap:anywhere}tbody tr{background:var(--panel)}tbody tr:hover{background:#fbfbf8}.sort-head{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit}.sort-head:hover{color:var(--text)}.header-label{display:grid;gap:1px;line-height:1.05}.header-hint{color:var(--muted);font-size:10px;font-weight:700;text-transform:none}.num .header-label{justify-items:end}.time-value{display:inline-block;white-space:nowrap}.group-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #ebe9e4;border-radius:6px;background:#f7f7f4;color:var(--text);font-size:12px;font-weight:800;letter-spacing:0}.status{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800}.status.live{background:#e8f8ef;color:var(--live-dark)}.status.development{background:#fff1c7;color:var(--warning)}.status.future{background:#f0efeb;color:#57534e}.effective-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:800}.effective-badge.green{background:#e8f8ef;color:var(--live-dark)}.effective-badge.orange{background:#fff1c7;color:var(--warning)}.effective-badge.red{background:#fee2e2;color:var(--danger)}.pagination{padding:12px 18px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;background:var(--panel-tint)}.pagination div,.actions,.row-actions,.icon-row,.inline-confirm,.modal-actions{display:inline-flex;align-items:center;gap:8px}.pagination button,.icon-row button{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--control-radius);background:#fff;color:var(--text)}.pagination button:hover,.icon-row button:hover{border-color:var(--border-strong);background:var(--panel-soft)}.icon-row .primary-icon{border-color:var(--live);background:var(--live);color:#fff}.section-head{align-items:end;margin-top:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid transparent;border-radius:var(--control-radius);font-size:14px;font-weight:750;line-height:1;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary{border-color:var(--live);background:var(--live);color:#fff;box-shadow:0 7px 14px #007a5a1f}.button.primary:hover{background:var(--live-dark);border-color:var(--live-dark)}.button.warning{border-color:var(--warning);background:var(--warning);color:#fff}.button.ghost{border-color:var(--border);background:#fff;color:var(--text)}.button.ghost:hover{border-color:var(--border-strong);background:var(--panel-soft)}.button.tiny{min-height:30px;padding:0 10px;font-size:12px}.button.danger{border-color:#fecaca;background:#fff;color:var(--danger)}.button.danger:hover{background:#fef2f2;border-color:#fca5a5}.edit-row,.edit-row:hover{background:#fffaf0}.edit-row>td{padding:14px 16px}.project-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px;align-items:end}.editor-field{display:grid;min-width:0;gap:5px}.wide-field,.time-field{grid-column:span 2}.small-field{max-width:150px}.editor-field label,.field-label{color:var(--muted-strong);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.edit-row input,.edit-row select{width:100%;min-width:0;height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);padding:6px 8px}.table-input{width:100%;min-width:90px;height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);padding:6px 8px}.edit-row input:hover,.edit-row select:hover,.table-input:hover,.rate-input:hover{border-color:var(--border-strong)}.edit-row input:focus,.edit-row select:focus,.table-input:focus,.rate-input:focus{border-color:var(--live)}.edit-row .num-input{max-width:110px;text-align:right}.table-input{max-width:280px}.time-inputs{display:grid;grid-template-columns:minmax(72px,.75fr) minmax(86px,1fr) minmax(86px,1fr);gap:6px}.editor-actions{display:flex;grid-column:-2 / -1;justify-content:flex-end;gap:8px;align-self:end;flex-wrap:wrap}.rate-input{width:112px;height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);padding:6px 8px;text-align:right}.blurred-input{filter:blur(7px)}.row-actions{justify-content:flex-end}.projects-table .row-actions{display:flex;flex-wrap:wrap;gap:6px;width:100%}.projects-table .button.tiny{padding:0 8px}.sort-mark{padding:2px 5px;border-radius:999px;background:#e8f8ef;color:var(--live);font-size:9px;letter-spacing:0}.empty-row{padding:28px 16px;color:var(--muted);text-align:center}.form-error{margin-top:10px;padding:10px 12px;border:1px solid #fecaca;border-radius:var(--radius);background:#fef2f2;color:var(--danger);font-size:13px;font-weight:700}.danger-row{background:#fef2f2}.inline-confirm{justify-content:flex-end;color:var(--danger);font-size:12px;font-weight:700}.inline-confirm button{min-width:34px;min-height:26px;border:1px solid var(--border);border-radius:var(--control-radius);background:#fff;color:var(--text);font-size:12px;font-weight:700}.inline-confirm button:first-of-type{border-color:var(--danger);background:var(--danger);color:#fff}.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#e8f8ef;color:var(--live);font-size:12px;font-weight:800}.note{display:flex;align-items:start;gap:10px;padding:14px 16px;background:var(--panel-tint);color:var(--muted);font-size:13px}.note p{line-height:1.5}.empty-panel{display:grid;place-items:center;padding:64px 20px;text-align:center}.empty-panel p{max-width:520px;margin:10px auto 22px;color:var(--muted);font-size:14px}.empty-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:14px;border-radius:999px;background:var(--panel-soft);color:var(--muted)}.footer{margin-top:38px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.footer span:last-child{font-family:Fraunces,Georgia,serif;font-style:italic}.blurred{display:inline-block;filter:blur(8px);-webkit-user-select:none;user-select:none}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#1c191785;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(100%,460px);display:grid;grid-template-columns:auto 1fr;gap:14px;padding:24px;border-radius:var(--radius);background:#fff;box-shadow:0 24px 60px #1c191738}.modal p{margin-top:6px;color:var(--muted);font-size:14px;line-height:1.5}.modal-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:999px}.modal-icon.green{background:#e8f8ef;color:var(--live)}.modal-icon.amber{background:#fff1c7;color:var(--warning)}.modal-actions{grid-column:1 / -1;justify-content:end;margin-top:10px}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);font-size:14px;box-shadow:var(--shadow-soft)}.toast.success{border-color:#9bd8af;background:#f1fbf5}.toast.error{border-color:#f0b4ad;background:#fff5f4}.toast-close{width:28px;height:28px;flex:0 0 auto;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}.toast-close:hover,.toast-close:focus-visible{border-color:var(--border);background:#fff;color:var(--text)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:1100px){.app-header{grid-template-columns:1fr}.header-actions{align-items:start}}@media(max-width:980px){.section-head,.toolbar-row,.ribbon-head{align-items:stretch;flex-direction:column}.kpi-grid,.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.realized{text-align:left}.card-title-row{flex-direction:column}}@media(max-width:680px){.page-shell{width:min(100% - 20px,1280px);padding-top:20px}.app-header{gap:18px;margin-bottom:20px;padding-bottom:20px}h1{font-size:40px}h2{font-size:25px}.tabs,.segmented,.actions{width:100%;overflow-x:auto}.tab,.segmented button,.button{white-space:nowrap}.blur-toggle{max-width:100%}.sync-status{width:100%;max-width:100%}.kpi-grid,.chart-grid{grid-template-columns:1fr}.kpi-card,.ribbon,.chart-card,.table-card,.empty-panel,.note{border-radius:8px}.ribbon-total strong,.ribbon-total em{font-size:34px}.chart-bars{gap:12px;overflow-x:auto}.chart-bar{min-width:70px}.time-inputs{grid-template-columns:1fr}.footer,.pagination{align-items:start;flex-direction:column}}.readonly-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 18px;margin:14px 0 6px;background:var(--panel-tint);border:1px solid var(--border);border-left:3px solid var(--live);border-radius:var(--radius);font-size:13px;color:var(--muted-strong)}.readonly-banner code{background:#ece9e0;padding:1px 6px;border-radius:4px;font-size:12px}.readonly-badge{background:var(--live);color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.readonly-meta{margin-left:auto;color:var(--muted);font-size:12px}.project-col-dept{width:110px}.dept-cell{font-size:12px;color:var(--muted-strong);white-space:nowrap}.project-row.clickable{cursor:pointer}.project-row.clickable:hover{background:var(--panel-soft)}.project-row.clickable:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.modal-wide{max-width:880px;width:min(96vw,880px);max-height:88vh;display:flex;flex-direction:column;padding:0}.process-detail-header{position:relative;padding:20px 56px 18px 24px;border-bottom:1px solid var(--border)}.process-detail-header h2{margin-top:8px;font-family:Fraunces,Georgia,serif;font-size:24px;line-height:1.2}.process-detail-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:var(--muted-strong)}.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;border-radius:999px;background:transparent;font-size:22px;line-height:1;color:var(--muted-strong)}.modal-close:hover{background:var(--panel-soft);color:var(--text)}.process-detail-body{flex:1 1 auto;overflow-y:auto;padding:18px 24px;font-size:13.5px;line-height:1.55;color:var(--text)}.process-detail-footer{border-top:1px solid var(--border);padding:14px 24px;display:flex;justify-content:flex-end;gap:10px;background:var(--panel-tint)}.override-editor{margin-bottom:20px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--panel-tint)}.override-editor-head h3{margin:0 0 4px;font-size:14px}.override-editor-head p{margin:0 0 14px;font-size:12px}.override-subhead{margin:16px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-strong)}.override-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:end}.override-reference{margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px}.override-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px}@media(max-width:560px){.override-grid{grid-template-columns:1fr}}.md-preview h3,.md-preview h4,.md-preview h5{margin:14px 0 8px;font-family:Geist,sans-serif;font-weight:700;letter-spacing:0}.md-preview h3{font-size:16px}.md-preview h4{font-size:14px;color:var(--muted-strong)}.md-preview h5{font-size:13px;color:var(--muted-strong)}.md-preview p{margin:8px 0}.md-preview ul{margin:6px 0 10px;padding-left:20px}.md-preview li{margin:3px 0}.md-preview code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;background:var(--panel-soft);padding:1px 6px;border-radius:4px}.md-preview hr{border:0;border-top:1px solid var(--border);margin:14px 0}.md-preview a{color:var(--text);text-decoration:underline;text-underline-offset:2px}.error-text{color:var(--danger);font-size:13px}.dept-filter{display:inline-flex;align-items:center;gap:8px;padding:0 4px 0 12px;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--panel);font-size:12px;color:var(--muted-strong);box-shadow:var(--shadow-soft)}.dept-filter span{font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.dept-filter select{border:0;background:transparent;padding:8px 4px;font-size:13px;color:var(--text);min-width:180px}.process-detail-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border);background:var(--panel)}.process-detail-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 14px;font-size:13px;font-weight:600;color:var(--muted-strong)}.process-detail-tabs button.active{color:var(--text);border-bottom-color:var(--text)}.process-detail-tabs button:hover:not(.active){color:var(--text)}.scope-form{display:grid;gap:14px}.scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 16px}.scope-grid label{display:grid;gap:4px}.scope-grid label>span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-strong)}.scope-grid input,.scope-grid select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--panel);color:var(--text);font-size:13px}.scope-grid input:focus,.scope-grid select:focus{border-color:var(--text);outline:2px solid rgba(0,0,0,.08);outline-offset:0}.scope-hint{font-size:12px;color:var(--muted)}.success-text{color:#007a5a;font-size:13px;font-weight:600}.groupby-row{display:flex;align-items:center;gap:12px;margin:4px 0 0}.groupby-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-strong)}.chart-grid-single{grid-template-columns:minmax(0,1fr)!important}.kpi-grid-2col{grid-template-columns:repeat(2,minmax(0,1fr))!important}.chart-grid-single .chart-bars{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:32px;height:340px;padding:32px 12px 48px}.chart-grid-single .chart-card{padding:28px 32px 32px}.chart-grid-single .chart-stack{width:44px}.chart-grid-single .chart-bar{gap:10px}.chart-grid-single .chart-label,.chart-grid-single .chart-bar>span:last-child{font-size:11px;line-height:1.25;text-align:center}.filter-bar{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(160px,1fr)) auto;gap:12px;padding:14px 16px;margin-bottom:8px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);align-items:end}.filter-input{display:grid;gap:4px;min-width:0}.filter-input>span{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-strong)}.filter-input input,.filter-input select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--panel-soft);color:var(--text);font-size:13px;min-width:0;width:100%}.filter-input input:focus,.filter-input select:focus{border-color:var(--text);background:var(--panel);outline:2px solid rgba(0,0,0,.08)}.filter-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:11px;color:var(--muted-strong);white-space:nowrap}@media(max-width:900px){.filter-bar{grid-template-columns:1fr 1fr}.filter-meta{grid-column:1 / -1;align-items:flex-start}}.filter-bar-collapsible{margin-bottom:8px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden}.filter-bar-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px}.filter-toggle{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;padding:6px 8px;margin-left:-8px;border-radius:var(--control-radius);font-size:13px;font-weight:700;color:var(--text)}.filter-toggle:hover{background:var(--panel-soft)}.filter-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid var(--border-strong);font-size:14px;line-height:1;background:var(--panel);color:var(--text)}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:0 8px;height:22px;border-radius:999px;background:var(--text);color:var(--panel);font-size:11px;font-weight:700}.filter-summary{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--muted-strong)}.filter-bar-collapsible.open .filter-bar-header{border-bottom:1px solid var(--border)}.filter-panel{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(160px,1fr));gap:12px;padding:14px 16px 16px;background:var(--panel-tint)}@media(max-width:900px){.filter-panel{grid-template-columns:1fr 1fr}}.vault-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px;padding:8px 12px;margin:14px 0 6px;font-size:12px;color:var(--muted)}.vault-status code{background:var(--panel-soft);padding:1px 6px;border-radius:4px;font-size:11px}.vault-status-hint{color:var(--muted-strong)}.editor-context{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:8px}.editor-context-label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-strong)}.editor-context-value{font-size:14px;color:var(--text)}.editor-context-meta{font-size:12px;color:var(--muted-strong)}.projects-table .project-col-id{width:120px}.projects-table .project-col-dept{width:180px}.projects-table .project-col-process{width:auto}.projects-table .project-col-status{width:96px}.projects-table .project-col-time{width:120px}.projects-table .project-col-effective{width:88px}.projects-table .project-col-hours{width:90px}.projects-table .project-col-actions{width:220px}.projects-table td{vertical-align:middle}.projects-table td:nth-child(2){font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.projects-table .dept-cell{white-space:normal;word-break:break-word;font-size:12px;line-height:1.3}.projects-table td.strong{white-space:normal;word-break:break-word;line-height:1.3;padding-right:8px}.projects-table .row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.projects-table .row-actions .button.tiny{white-space:nowrap}.dept-list-card{padding:24px 28px 26px}.dept-list{margin-top:18px;display:flex;flex-direction:column;gap:6px}.dept-list-empty{margin-top:14px;padding:18px 16px;background:var(--panel-soft);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted-strong);font-size:13px;line-height:1.5;text-align:center}.dept-row{display:grid;grid-template-columns:minmax(180px,240px) 1fr minmax(100px,120px);align-items:center;gap:18px;padding:10px 0;border-bottom:1px solid var(--border)}.dept-row:last-child{border-bottom:0}.dept-row-label{display:flex;flex-direction:column;gap:2px;min-width:0}.dept-row-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dept-row-count{font-size:11px;color:var(--muted);letter-spacing:.02em}.dept-row-bar-wrap{position:relative;min-width:0;height:18px;background:var(--panel-soft);border-radius:999px;overflow:hidden}.dept-row-bar{display:flex;height:100%;min-width:4px;border-radius:999px;overflow:hidden;transition:width .2s ease;background:transparent}.dept-bar-segment{display:block;height:100%;transition:width .2s ease}.dept-bar-segment.live{background:var(--live)}.dept-bar-segment.loss{background:repeating-linear-gradient(45deg,var(--loss),var(--loss) 4px,rgba(0,0,0,.04) 4px,rgba(0,0,0,.04) 8px);border-top:1px solid var(--loss-stroke);border-bottom:1px solid var(--loss-stroke)}.dept-bar-segment.dev{background:var(--dev);border-top:1px solid var(--dev-stroke);border-bottom:1px solid var(--dev-stroke)}.dept-bar-segment.future{background:var(--future)}.dept-row-total{display:flex;flex-direction:column;align-items:flex-end;font-family:ui-monospace,SF Mono,Menlo,monospace}.dept-row-total strong{font-size:14px;color:var(--text);line-height:1}.dept-row-total span{font-size:10px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-family:Geist,sans-serif}@media(max-width:720px){.dept-row{grid-template-columns:1fr;gap:6px}.dept-row-total{align-items:flex-start;flex-direction:row;gap:6px}}.roadmap{gap:16px}.roadmap-intro h2{margin:0 0 4px}.roadmap-intro p{margin:0}.roadmap-stats{display:flex;flex-wrap:wrap;gap:10px}.roadmap-stat{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-soft);min-width:120px}.roadmap-stat-value{font-size:22px;font-weight:600;line-height:1.1}.roadmap-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.roadmap-stat-split{justify-content:center}.roadmap-statpills{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}.roadmap-statpill{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted-strong)}.dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;display:inline-block;border:1px solid transparent}.dot-live{background:var(--live)}.dot-development{background:var(--dev);border-color:var(--dev-stroke)}.dot-future{background:var(--future);border-color:var(--future-stroke)}.roadmap-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px}.roadmap-control-group{display:flex;flex-direction:column;gap:6px}.roadmap-control-group .muted{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.roadmap-search-group{flex:1 1 220px}.roadmap-search{display:flex;align-items:center;gap:10px}.roadmap-search input{width:100%;max-width:320px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--panel);font:inherit;font-size:13px;color:var(--text)}.roadmap-search input:focus{outline:none;border-color:var(--muted-strong)}.roadmap-search-count{font-size:12px;color:var(--muted);white-space:nowrap}.roadmap-collapse-all{white-space:nowrap}.roadmap-legend{display:flex;gap:14px;align-items:center;margin-left:auto;font-size:12px;color:var(--muted-strong)}.roadmap-legend-item{display:inline-flex;align-items:center;gap:6px}.roadmap-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.roadmap-layout.backlog-collapsed{grid-template-columns:40px minmax(0,1fr)}.roadmap-backlog-collapsed{appearance:none;font:inherit;color:var(--muted-strong);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;width:40px;padding:12px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-soft);position:sticky;top:12px}.roadmap-backlog-collapsed:hover{background:var(--panel-tint);border-color:var(--border-strong)}.roadmap-backlog-collapsed-chevron{font-size:14px;line-height:1}.roadmap-backlog-collapsed-label{writing-mode:vertical-rl;font-size:12px;font-weight:600;letter-spacing:.02em}.roadmap-backlog-toggle{appearance:none;margin-left:auto;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;color:var(--muted-strong);border:1px solid var(--border);border-radius:6px;background:var(--panel-soft)}.roadmap-backlog-toggle:hover{background:var(--panel-tint);border-color:var(--border-strong)}.roadmap-backlog{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-soft);position:sticky;top:12px}.roadmap-backlog-head{display:flex;align-items:center;gap:8px}.roadmap-backlog-head h3{margin:0}.roadmap-backlog-list{display:flex;flex-direction:column;gap:8px;max-height:72vh;overflow-y:auto}.roadmap-backlog-group{border:1px solid var(--border);border-radius:var(--radius)}.roadmap-backlog-list .roadmap-backlog-cell{max-height:none;overflow:visible;background:var(--panel-tint)}.roadmap-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-soft)}.roadmap-grid{display:grid;min-width:max-content}.roadmap-grid>.roadmap-corner,.roadmap-grid>.roadmap-colhead,.roadmap-grid>.roadmap-cell,.roadmap-grid>button.roadmap-lanehead,.roadmap-grid>.roadmap-cell-collapsed{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.roadmap-corner{position:sticky;left:0;top:0;z-index:3;background:var(--panel-soft);padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:flex;align-items:flex-end}.roadmap-colhead{position:sticky;top:0;z-index:1;background:var(--panel-tint);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.roadmap-colhead strong{font-size:14px}.roadmap-colhead .muted{font-size:11px}.roadmap-statusbar{display:flex;height:5px;width:100%;margin-top:7px;border-radius:3px;overflow:hidden;background:var(--panel-soft)}.roadmap-statusbar .seg{display:block;height:100%}.roadmap-statusbar .seg-live{background:var(--live)}.roadmap-statusbar .seg-development{background:var(--dev-stroke)}.roadmap-statusbar .seg-future{background:var(--future-stroke)}button.roadmap-lanehead{appearance:none;text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:10px 12px;border:0;border-radius:0;background:var(--panel-soft)}.roadmap-grid>button.roadmap-lanehead{position:sticky;left:0;z-index:2}button.roadmap-lanehead:hover{background:var(--panel-tint)}.roadmap-lanehead strong{font-size:13px;line-height:1.25}.roadmap-lanehead .muted{font-size:11px}.roadmap-lane-title{display:flex;align-items:baseline;gap:7px}.roadmap-chevron{font-style:normal;font-size:10px;color:var(--muted);line-height:1}button.roadmap-backlog-lanehead{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border)}button.roadmap-backlog-lanehead.collapsed{border-bottom:0}.roadmap-cell-collapsed{padding:10px 14px;font-size:12px;color:var(--muted);background:var(--panel-tint);display:flex;align-items:center}.roadmap-cell{display:flex;flex-direction:column;gap:6px;padding:8px;min-height:56px;max-height:340px;overflow-y:auto;background:var(--panel)}.roadmap-cell.drop-over{outline:2px dashed var(--border-strong);outline-offset:-4px;background:var(--panel-soft)}.roadmap-card{border:1px solid var(--border);border-radius:7px;background:var(--panel);cursor:grab;touch-action:none;transition:border-color .14s ease,background .14s ease,transform .14s ease}.roadmap-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.roadmap-card:active{cursor:grabbing}.roadmap-card.status-live{border-left:3px solid var(--live)}.roadmap-card.status-development{border-left:3px solid var(--dev-stroke)}.roadmap-card.status-future{border-left:3px solid var(--future-stroke)}.roadmap-card.dragging{border-color:var(--border-strong);box-shadow:var(--shadow)}.roadmap-card.dimmed{opacity:.28;filter:grayscale(.4)}.roadmap-card-body{display:flex;align-items:center;gap:8px;padding:7px 9px}.roadmap-card-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.3}.roadmap-card-saving{flex:0 0 auto;font-size:11px;font-weight:700;white-space:nowrap;color:var(--muted-strong)}.roadmap-card-priority{flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.priority-high{background:var(--accent);border-color:var(--dev-stroke);color:var(--danger)}.priority-medium{background:#fef3c7;border-color:#d6a44a;color:var(--warning)}.priority-low{background:var(--future);border-color:var(--future-stroke);color:var(--muted-strong)}.roadmap-empty{margin:0;padding:4px 2px;font-size:12px}@media(max-width:900px){.roadmap-layout{grid-template-columns:1fr}.roadmap-backlog{position:static}}
