:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-rgb:37,99,235;--accent-strong-rgb:29,78,216;--warning:#f59e0b;--warning-rgb:245,158,11;--warning-strong-rgb:217,119,6;--green:#fff;--bg:#fbfbfd;--card:#fff;--surface:#f5f6f8;--border:#d9dee3;--text:#111827;--muted:#6b7280;--muted-strong:#4b5563;--calculation-ok:#16a34a;--calculation-caution:#d97706;--calculation-alert:#dc2626}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}main{min-height:100vh;padding:24px}.site-nav{align-items:center;gap:16px;display:flex}.site-link{color:var(--muted-strong);font-weight:600;text-decoration:none}.site-link:hover,.site-link:focus-visible{color:var(--accent)}.about-cta{margin-top:16px;margin-bottom:16px;display:inline-flex}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:0 6px 16px #00000014}.about-card{width:min(960px,100%);margin:0 auto}input,select,button,textarea{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 8px}button{background:var(--accent);color:var(--green);cursor:pointer;border:none;font-weight:600}button:disabled{opacity:.6;cursor:not-allowed}.link-button{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.link-button:hover,.link-button:focus-visible{color:color-mix(in srgb,var(--accent)80%,white)}.grid{gap:16px;display:grid}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.no-margin{margin:0}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.align-center{align-items:center}.align-start{align-items:flex-start}.single-column-grid{grid-template-columns:minmax(320px,1fr)}.flex-column{flex-direction:column;display:flex}.pointer{cursor:pointer}.hidden-input{display:none}.w-100{width:100px}.row-span-2{grid-row:span 2}.settings-grid{grid-template-columns:2fr 1fr;grid-auto-rows:auto}.settings-hero{grid-area:1/1/auto/-1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px 16px;display:grid}.settings-hero .section-header{grid-column:1/-1}.settings-hero label{flex-direction:column;gap:6px;display:flex}.header-main{flex:1;min-width:0}.title-stack{gap:4px;width:100%;display:grid}.title-meta{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.title-meta-sep{color:color-mix(in srgb,var(--text)60%,white)}.title-meta-link{margin-left:auto}.app-title{letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb,var(--text)65%,white);margin:0;font-size:14px;font-weight:600}.title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.title-input{background:0 0;border:none;border-bottom:2px solid #0000;flex:320px;min-width:240px;padding:0;font-size:22px;font-weight:700;line-height:1.2}.title-input:hover{border-bottom:2px dashed color-mix(in srgb,var(--accent)55%,transparent)}.title-input:focus{border-bottom:2px solid var(--accent);outline:none}.settings-json{flex-direction:column;grid-area:2/2/span 3;display:flex}.settings-json-grid{flex:1;grid-template-rows:min-content 1fr;align-content:start;min-height:0}.settings-json-editor{flex-direction:column;min-height:0;display:flex}.settings-json-editor textarea{flex:1;min-height:160px}.settings-share{flex-direction:column;grid-area:2/1;display:flex}.settings-share-links{gap:12px;display:grid}.settings-teams{grid-area:3/1}.settings-categories{grid-area:4/1}.share-link-row{align-items:center;gap:8px;margin-top:6px;display:flex}.share-link-label{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.share-link-label input{flex:1;min-width:0}.tight-heading{margin:0 0 4px}.table{border-collapse:collapse;width:100%}.table-center{text-align:center}.table th,.table td{border:1px solid var(--border);text-align:left;color:var(--text);padding:6px 8px}.compact-table th,.compact-table td{padding:4px 6px}.badge{background:rgba(var(--accent-rgb),.15);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.header-actions{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.header-actions .site-nav{margin-bottom:2px}.flex{gap:12px;display:flex}.flex-wrap{flex-wrap:wrap}.util-bar{background:var(--border);border-radius:999px;height:10px;position:relative;overflow:hidden}.util-fill{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.85),rgba(var(--accent-rgb),.9));height:100%;position:absolute;inset:0}.small{color:var(--muted);font-size:12px}.text-muted{color:var(--muted)}textarea{width:100%;min-height:120px}.details-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.tabs{flex-wrap:wrap;gap:12px;display:flex}.tab{background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;border-radius:10px;flex:200px;padding:10px}.tab.active{border-color:var(--accent);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.3)}.ghost{color:var(--text);border:1px solid var(--border);background:0 0}.planned-allocation-columns{gap:10px;display:grid}.planned-allocation-pills{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.planned-allocation-block{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:8px;padding:8px;display:grid}.planned-allocation-pill{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex}.planned-allocation-block.run-cost{background:rgba(var(--accent-rgb),.12)}.planned-allocation-block.draft,.planned-allocation-pill.draft{border-style:dashed}.planned-allocation-pill select,.planned-allocation-pill input{padding:4px 8px}.allocation-mode-row{align-items:center;gap:6px;display:flex}.allocation-mode-row select,.allocation-mode-row input{width:70px;min-width:70px}.planned-allocation-actions{justify-content:flex-end;gap:8px;display:flex}.stacked-input{flex-direction:column;gap:4px;display:flex}.select-label{align-items:center;gap:8px;display:inline-flex}.muted-label{color:var(--muted);font-size:11px}.helper-note{color:var(--muted);gap:2px;margin-top:4px;display:grid}.inline-chip{align-items:center;gap:6px;margin-top:6px;padding:6px 10px;display:inline-flex}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mb-0{margin-bottom:0}.compact{padding:6px 8px}.compact-table input,.compact-table select,.compact-table button:not(.icon-button){border-radius:6px;padding:4px 6px}.initiatives-table{table-layout:fixed}.initiatives-table col:first-child{width:31%}.initiatives-table col:nth-child(2){width:16%}.initiatives-table col:nth-child(3){width:7%}.initiatives-table col:nth-child(4){width:11%}.initiatives-table col:nth-child(5){width:16%}.initiatives-table col:nth-child(6){width:11%}.initiatives-table col:nth-child(7){width:8%}.initiatives-table input,.initiatives-table select{width:100%}.initiatives-table tr[data-ui^="roadmap.initiatives.row."] td{border-top:2px solid var(--border)}.initiatives-table tr.initiative-row-highlight td{background:rgba(var(--accent-rgb),.22);box-shadow:inset 0 0 0 1px rgba(var(--accent-strong-rgb),.35);animation:2.4s ease-out initiative-row-highlight}@keyframes initiative-row-highlight{0%{background:rgba(var(--accent-strong-rgb),.32)}55%{background:rgba(var(--accent-rgb),.2)}to{background:0 0}}.teams-table{table-layout:fixed}.teams-setup-table col:nth-child(2){width:6rem}.teams-setup-table col:nth-child(3),.teams-setup-table col:nth-child(4){width:5.5rem}.teams-setup-table col:nth-child(5){width:9rem}.teams-setup-table col:nth-child(6){width:8rem}.teams-table input{width:100%}.team-cell{justify-content:space-between;align-items:center;gap:8px;display:flex}.minw-180{min-width:180px}.icon-button{--icon-button-radius:50%;--icon-button-bg:transparent;--icon-button-border:var(--border);--icon-button-color:var(--text);--icon-button-shadow:none;--icon-button-bg-hover:var(--icon-button-bg);--icon-button-border-hover:var(--icon-button-border);--icon-button-color-hover:var(--icon-button-color);border-radius:var(--icon-button-radius);background:var(--icon-button-bg);border:1px solid var(--icon-button-border);width:32px;height:32px;color:var(--icon-button-color);box-shadow:var(--icon-button-shadow);justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.icon-button:hover,.icon-button:focus-visible{background:var(--icon-button-bg-hover);border-color:var(--icon-button-border-hover);color:var(--icon-button-color-hover);outline:none}.table-icon-button{--icon-button-radius:6px;--icon-button-bg:rgba(var(--accent-rgb),.12);--icon-button-border:rgba(var(--accent-rgb),.35);--icon-button-color:var(--accent-strong);--icon-button-shadow:0 0 0 2px rgba(var(--accent-rgb),.08);--icon-button-bg-hover:rgba(var(--accent-rgb),.2);--icon-button-border-hover:rgba(var(--accent-rgb),.5)}.table-icon-button .icon-emoji{filter:none}.info-icon{align-items:center;margin-left:6px;display:inline-flex}.icon-emoji{align-items:center;font-size:16px;line-height:1;display:inline-flex}.pacing-actions{grid-template-columns:auto 1fr;align-items:flex-start;gap:6px 8px;display:grid}.pacing-badges{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.planned-allocation-draft-row input,.planned-allocation-draft-row select,.planned-allocation-draft-row button{padding-top:4px;padding-bottom:4px}.initiatives-table col.priority-col{width:80px}.initiatives-table col.due-week-col{width:120px}.initiatives-table col.category-col{width:140px}.initiatives-table col.allocation-col{width:220px}.effort-cell{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.new-initiative-row td{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.18),rgba(var(--accent-rgb),.14));border-top:2px solid rgba(var(--accent-strong-rgb),.85);border-bottom:2px solid rgba(var(--accent-strong-rgb),.85);box-shadow:inset 0 1px #0000003d}.new-initiative-effort{flex-direction:row;align-items:center;gap:8px}.new-initiative-effort input{flex:1}.aggregate-pill{background:rgba(var(--accent-rgb),.16);border-style:dashed}.effort-offset{margin-left:18px}.capacity-summary{border:1px dashed var(--border);background:rgba(var(--accent-rgb),.12);border-radius:10px;grid-template-columns:1fr;gap:6px;padding:8px 10px;display:grid}.snapshot-item{grid-template-columns:96px 1fr;gap:2px 10px;display:grid}.snapshot-track-row{grid-column:1/-1;grid-template-columns:96px 1fr;align-items:center;gap:10px;display:grid}.snapshot-label{letter-spacing:.02em;text-transform:uppercase;font-weight:600}.snapshot-meta{flex-wrap:wrap;grid-column:2;justify-content:space-between;gap:4px 10px;display:flex}.forecast-legend{grid-column:2;gap:0;display:flex}.forecast-legend-item{width:var(--segment-width,0%);text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:inherit;line-height:inherit;overflow:hidden}.capacity-track{background:var(--border);border-radius:999px;height:6px;position:relative;overflow:hidden}.capacity-track.forecast-track{gap:0;display:flex}.forecast-segment{height:100%;width:var(--segment-width,0%)}.forecast-segment.forecast-fits{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.85),rgba(var(--accent-rgb),.65))}.forecast-segment.forecast-slip{background:linear-gradient(90deg,rgba(var(--warning-strong-rgb),.95),rgba(var(--warning-rgb),.85))}.forecast-segment.forecast-under{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.35),rgba(var(--accent-rgb),.3))}.forecast-segment.forecast-unscheduled{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.18),rgba(var(--accent-rgb),.12))}.capacity-layer{height:100%;position:absolute;inset:0}.capacity-layer.run-cost{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.28),rgba(var(--accent-rgb),.14))}.capacity-layer.effort{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.78),rgba(var(--accent-rgb),.64))}.capacity-layer.effort.over{background:linear-gradient(90deg,rgba(var(--warning-strong-rgb),.95),rgba(var(--warning-rgb),.95))}.capacity-layer.with-variable-width{width:var(--layer-width,0%)}.heatmap-card{gap:12px;display:grid}.heatmap-scroll{overflow:auto}.heatmap-table{table-layout:auto;min-width:720px}.heatmap-table th:not(:first-child){white-space:nowrap;text-align:center;min-width:58px;padding:10px 12px}.heatmap-table th:first-child,.heatmap-table td:first-child{background:var(--card);z-index:1;width:260px;min-width:260px;max-width:320px;position:sticky;left:0}.heatmap-cell{text-align:center;font-variant-numeric:tabular-nums;background:0 0;min-width:58px;padding:10px 12px;transition:background .2s}.heatmap-summary-row td:first-child{background:var(--surface)}.heatmap-total-capacity{background:linear-gradient(90deg,rgba(var(--accent-rgb),.04),rgba(var(--accent-rgb),.08));border-left:1px solid rgba(var(--accent-rgb),.2);border-right:1px solid rgba(var(--accent-rgb),.2)}.heatmap-capacity-cell{background:#0000000a;font-weight:600}.heatmap-capacity-value{justify-content:center;align-items:center;gap:6px;display:inline-flex}.heatmap-capacity-ok{background:color-mix(in srgb,var(--calculation-ok)10%,transparent);color:var(--calculation-ok)}.heatmap-capacity-caution{background:color-mix(in srgb,var(--calculation-caution)15%,transparent);color:var(--calculation-caution)}.heatmap-capacity-alert{background:color-mix(in srgb,var(--calculation-alert)15%,transparent);color:var(--calculation-alert)}.modal-backdrop{z-index:20;justify-content:center;align-items:flex-start;padding:32px 24px;display:flex;position:fixed;inset:0}.pacing-backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#080a1073}.pacing-modal{border:1px solid var(--border);gap:16px;width:min(1040px,100%);max-height:90vh;margin-top:12px;padding:18px;display:grid;overflow:auto;box-shadow:0 20px 60px #00000073}.pacing-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pacing-title .subhead{letter-spacing:.02em;text-transform:uppercase}.pacing-body{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;padding:14px;display:grid}.pacing-team{border:1px solid var(--border);background:rgba(var(--accent-rgb),.14);border-radius:12px;gap:10px;padding:12px;display:grid}.pacing-team-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.pacing-team-name{font-weight:600}.pacing-description{max-width:760px;margin:6px 0 0}.pacing-subtext{margin:6px 0 0}.pacing-inputs{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.pacing-fieldset{border:1px solid var(--border);background:var(--card);border-radius:12px;gap:10px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff05}.pacing-fieldset.pacing-effort{background:var(--card);border-color:var(--border)}.pacing-legend{color:var(--text);align-items:center;gap:8px;display:flex}.pacing-range{align-items:flex-end;gap:10px;display:flex}.pacing-clear{height:32px;padding:4px 8px;font-size:12px}.pacing-input{flex-direction:column;flex:0 140px;gap:4px;min-width:0;max-width:160px;display:flex}.pacing-input input{width:100%}.pacing-input-separator{color:var(--muted);text-transform:uppercase;padding-bottom:6px;font-weight:700}.pacing-helper{color:var(--muted)}.error-text{color:var(--calculation-alert)}.heatmap-cell input{text-align:center;border:1px solid var(--border);width:100%;color:var(--text);font-variant-numeric:tabular-nums;background:#fff;border-radius:0;padding:4px 6px}.heatmap-cell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.heatmap-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.heatmap-cell input[type=number]{-moz-appearance:textfield}.heatmap-cell input:focus{outline:2px solid var(--accent);outline-offset:2px}.team-divider td{background:linear-gradient(90deg,rgba(var(--accent-strong-rgb),.18),rgba(var(--accent-rgb),.1));color:var(--accent);letter-spacing:.02em;text-transform:uppercase;border-top:2px solid rgba(var(--accent-strong-rgb),.35);border-bottom:2px solid rgba(var(--accent-strong-rgb),.35);font-weight:700}.team-divider .badge{text-transform:none;letter-spacing:normal}.team-divider-content{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;display:flex}.cutline-divider td{background:color-mix(in srgb,var(--border)35%,transparent);border-top:2px solid color-mix(in srgb,var(--border)60%,transparent);border-bottom:2px solid color-mix(in srgb,var(--border)60%,transparent);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.cutline-divider-content{align-items:center;gap:12px;display:flex}.badge.over-capacity{background:color-mix(in srgb,var(--calculation-alert)15%,transparent);color:var(--calculation-alert);border:1px solid color-mix(in srgb,var(--calculation-alert)45%,transparent)}.badge.under-capacity{background:color-mix(in srgb,var(--calculation-caution)18%,transparent);color:var(--calculation-caution);border:1px solid color-mix(in srgb,var(--calculation-caution)50%,transparent)}.badge.at-capacity{background:color-mix(in srgb,var(--calculation-ok)15%,transparent);color:var(--calculation-ok);border:1px solid color-mix(in srgb,var(--calculation-ok)45%,transparent)}.over-capacity-label,.under-capacity-label{text-transform:uppercase;letter-spacing:.02em;font-weight:700}.heatmap-row-label{word-break:break-word;flex-direction:column;gap:4px;display:flex}.heatmap-row-title{position:relative}.heatmap-row-title span{width:100%;display:block}.heatmap-row-actions{opacity:0;gap:4px;transition:opacity .15s;display:inline-flex;position:absolute;top:0;right:0}.heatmap-row-action{background:var(--surface);border-color:var(--border);width:24px;height:24px;font-size:12px;box-shadow:0 0 0 2px #ffffffb3}.heatmap-row-label:hover .heatmap-row-actions,.heatmap-row-label:focus-within .heatmap-row-actions{opacity:1}.heatmap-total-cell{text-align:center;font-variant-numeric:tabular-nums;min-width:86px}.heatmap-total-cell .heatmap-total-value{font-weight:600}.heatmap-total-cell .heatmap-forecast-value{justify-content:center;align-items:center;gap:6px;display:flex}.forecast-status-icon{border-radius:999px;width:10px;height:10px;display:inline-block}.forecast-status-icon.forecast-on-track{background:var(--calculation-ok)}.forecast-status-icon.forecast-partial{background:var(--calculation-caution)}.forecast-status-icon.forecast-unscheduled{background:var(--muted)}.heatmap-total-delta{color:var(--muted);margin-top:4px}.heatmap-total-cell.scheduled-ok{background:color-mix(in srgb,var(--calculation-ok)10%,transparent)}.heatmap-total-cell.scheduled-caution{background:color-mix(in srgb,var(--calculation-caution)15%,transparent)}.heatmap-total-cell.scheduled-alert{background:color-mix(in srgb,var(--calculation-alert)15%,transparent)}.compact-heatmap{gap:10px;display:grid}.compact-heatmap .section-header{align-items:baseline}.compact-heatmap-row td{vertical-align:top}.compact-forecast,.compact-demand{justify-items:center;gap:4px;display:grid}.compact-planned{justify-items:center;gap:2px;display:grid}.compact-sparkline{display:block}.compact-sparkline-track{fill:#0000001f}.compact-sparkline-range{fill:rgba(var(--accent-strong-rgb),.4)}.compact-sparkline-due{stroke:var(--warning);stroke-width:2px;stroke-dasharray:3 3}.compact-sparkline-area{fill:rgba(var(--accent-rgb),.25)}.compact-sparkline-line{fill:none;stroke:var(--accent);stroke-width:2px}.compact-sparkline-zero{fill:var(--card);stroke:#00000059;stroke-width:1.2px}.badge.forecast-on-track{background:color-mix(in srgb,var(--calculation-ok)15%,transparent);color:var(--calculation-ok);border:1px solid color-mix(in srgb,var(--calculation-ok)45%,transparent)}.badge.forecast-partial{background:color-mix(in srgb,var(--calculation-caution)15%,transparent);color:var(--calculation-caution);border:1px solid color-mix(in srgb,var(--calculation-caution)45%,transparent)}.badge.forecast-unscheduled{background:color-mix(in srgb,var(--muted)18%,transparent);color:var(--muted);border:1px solid color-mix(in srgb,var(--muted)40%,transparent)}.badge.cutline-atl{background:color-mix(in srgb,var(--calculation-ok)15%,transparent);color:var(--calculation-ok);border:1px solid color-mix(in srgb,var(--calculation-ok)45%,transparent)}.badge.cutline-btl{background:color-mix(in srgb,var(--muted)18%,transparent);color:var(--muted);border:1px solid color-mix(in srgb,var(--muted)40%,transparent)}.badge.cutline-excluded{background:color-mix(in srgb,var(--muted-strong)18%,transparent);color:var(--muted-strong);border:1px solid color-mix(in srgb,var(--muted-strong)40%,transparent)}
