:root{--chart-green:#31563c;--chart-sage:#aab99a;--chart-amber:#b1873e;--chart-clay:#a2664a;--chart-grey:#8d9187;--chart-track:#edece5}
.chart-green{fill:var(--chart-green);background:var(--chart-green)}.chart-sage{fill:var(--chart-sage);background:var(--chart-sage)}.chart-amber{fill:var(--chart-amber);background:var(--chart-amber)}.chart-clay{fill:var(--chart-clay);background:var(--chart-clay)}.chart-grey{fill:var(--chart-grey);background:var(--chart-grey)}.chart-track{fill:var(--chart-track);background:var(--chart-track);stroke:var(--chart-track)}
.stroke-green{stroke:var(--chart-green)}.stroke-amber{stroke:var(--chart-amber)}.stroke-sage{stroke:var(--chart-sage)}
.visual-panel{margin-bottom:24px;min-width:0}.visual-panel h2{margin-bottom:12px}.visual-panel .toolbar h2{margin:0}.visual-panel>summary{font-weight:550;cursor:pointer}.visual-panel[open]>summary{margin-bottom:18px}.visual-deck{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px;align-items:start}.visual-deck>.visual-panel{height:100%}.visual-deck:has(>.visual-panel:only-child){grid-template-columns:1fr}
.visual-bars{display:grid;gap:8px;margin:18px 0}.visual-bar-row{display:grid;grid-template-columns:minmax(130px,1.4fr) minmax(70px,2fr) minmax(32px,auto);gap:14px;align-items:center;text-align:left;min-width:0;padding:8px 4px;color:var(--ink);font-size:13px}.visual-bar-row svg{width:100%;height:12px;overflow:visible}.visual-bar-label{overflow-wrap:anywhere}.visual-bar-row strong{text-align:right;font-variant-numeric:tabular-nums}button.visual-bar-row{border:1px solid transparent;background:transparent;border-radius:8px;width:100%}button.visual-bar-row:hover,button.visual-bar-row.selected{background:var(--inset);border-color:var(--rule)}.request-chart{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;align-items:center}.visual-donut{width:112px;height:112px}.visual-donut circle{fill:none}.donut-count{font:550 25px 'Instrument Sans',sans-serif;fill:var(--ink)}.donut-label{font:11px 'Instrument Sans',sans-serif;fill:var(--muted)}.request-chart .visual-bar-row{grid-template-columns:minmax(100px,1fr) minmax(40px,.8fr) 24px;font-size:12px;gap:8px}
.visual-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:11px;color:var(--muted);margin:14px 0}.visual-legend span{display:inline-flex;align-items:center;gap:6px}.visual-legend i{width:9px;height:9px;border-radius:2px;display:inline-block;flex:none}.information-chart{display:grid;gap:6px}.information-chart-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(80px,1fr);gap:6px 16px;text-align:left;border:0;background:none;border-radius:8px;padding:8px 4px;color:var(--ink)}.information-chart-row:hover{background:var(--inset)}.information-chart-row>span{font-size:13px;grid-column:1/-1}.information-chart-row svg{width:100%;height:10px;align-self:center;border-radius:4px}.information-chart-row small{text-align:right;color:var(--muted);font-size:11px}.information-more>summary{font-size:12px;cursor:pointer;padding:10px 4px}
.file-type-strip{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}.file-type-strip>div{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:140px;font-size:12px;color:var(--muted)}.file-type-strip strong{display:block;font-size:21px;color:var(--ink)}.file-type-mark{font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--green);background:var(--selected);padding:14px 8px;border-radius:5px;min-width:40px;text-align:center}
.connection-diagram{display:grid;grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);align-items:center;margin:22px 0 28px;gap:12px}.connection-node{padding:16px;border:1px solid var(--rule);border-radius:12px;background:var(--inset);min-height:82px}.connection-node span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.connection-node strong{font-size:14px;overflow-wrap:anywhere}.connection-link{color:var(--green);text-align:center;font-size:11px}.connection-link span{display:block;overflow-wrap:anywhere}.connection-link svg{width:100%;height:24px}.range-diagram{display:grid;gap:18px;background:var(--inset);padding:18px;border-radius:12px;margin:16px 0 20px}.range-row{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr);gap:18px;align-items:center;font-size:13px}.range-row>span small{display:block;color:var(--muted);font-size:11px}.range-row svg{display:block;width:100%;height:28px}.range-bound{stroke:var(--chart-green);stroke-width:1.5;fill:none}.range-values{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;font-size:11px;color:var(--muted)}.range-values strong{color:var(--green)}
.activity-line-chart{display:block;width:100%;height:auto;min-height:130px;margin:12px 0}.activity-line-chart text{font:11px 'Instrument Sans',sans-serif;fill:var(--muted)}.chart-grid{stroke:var(--line);stroke-width:1}.line-website{stroke:var(--chart-green);stroke-width:2.5}.line-portal{stroke:var(--chart-clay);stroke-width:2.5;stroke-dasharray:6 3}.daily-totals{max-height:320px;overflow:auto;margin-top:12px}.daily-totals th{position:sticky;top:0;background:var(--surface)}.visual-panel details>summary{cursor:pointer;font-size:13px}.milestone-timeline .activity{position:relative}.milestone-timeline .activity:not(:last-child):after{content:'';position:absolute;top:42px;bottom:-10px;left:17px;width:1px;background:var(--rule)}.milestone-timeline .activity-icon{z-index:1;background:var(--selected);border-radius:50%}
.network-status{display:none;position:fixed;right:24px;bottom:24px;z-index:80;gap:10px;align-items:center;padding:10px 16px;background:var(--surface);border:1px solid var(--rule);box-shadow:0 3px 15px #182a1810;border-radius:24px;color:var(--green);font-size:12px}.is-busy .network-status{display:flex}.network-status>span,.loading-mark{display:inline-block;width:16px;height:16px;border:2px solid var(--selected);border-top-color:var(--green);border-radius:50%;animation:visual-spin .8s linear infinite}.loading-mark{margin-right:12px;vertical-align:middle}.view-enter{animation:visual-enter .18s ease-out}.btn,.nav,.queue-item,.section-row{transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.btn:active{transform:translateY(1px)}dialog[open]{animation:visual-enter .14s ease-out}.saved{transition:color .18s ease}
@keyframes visual-enter{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes visual-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.visual-deck{grid-template-columns:1fr}.visual-deck>.visual-panel{height:auto}}
@media(max-width:600px){.request-chart{grid-template-columns:82px minmax(0,1fr);gap:10px}.visual-donut{width:82px;height:82px}.request-chart .visual-bar-row{grid-template-columns:1fr 24px}.request-chart .visual-bar-row svg{grid-column:1/-1;grid-row:2}.connection-diagram{grid-template-columns:1fr;gap:4px}.connection-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px}.connection-link svg{width:48px;transform:rotate(90deg)}.connection-node{min-height:0;padding:12px}.range-row{grid-template-columns:1fr;gap:4px}.range-diagram{padding:12px}.visual-bar-row{grid-template-columns:minmax(90px,1fr) minmax(40px,1fr) auto;gap:8px}.information-chart-row{grid-template-columns:1fr}.information-chart-row small{text-align:left}.file-type-strip{gap:8px}.file-type-strip>div{min-width:calc(50% - 8px);padding:10px}.visual-panel .toolbar{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.btn:active{transform:none}}

.stroke-clay{stroke:var(--chart-clay)}
.view-enter .chart-reveal{transform-box:fill-box;transform-origin:left center;animation:bar-grow .28s ease-out}
@keyframes bar-grow{from{transform:scaleX(.1)}to{transform:scaleX(1)}}

.stage-diagram{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:8px 0 32px;gap:0}.stage-diagram li{position:relative;padding:25px 12px 0 0;color:var(--muted);font-size:12px;min-width:0}.stage-diagram li:not(:last-child):before{content:'';position:absolute;top:6px;left:12px;right:0;border-top:1px solid var(--rule)}.stage-dot{position:absolute;top:0;left:0;border:2px solid var(--rule);border-radius:50%;width:13px;height:13px;background:var(--bg)}.stage-diagram [aria-current] .stage-dot{background:var(--green);border-color:var(--green)}.stage-diagram [aria-current]{color:var(--green)}.stage-diagram small{display:block;margin-top:4px}.stage-diagram strong{display:block;overflow-wrap:anywhere}@media(max-width:600px){.stage-diagram{grid-template-columns:1fr;gap:12px}.stage-diagram li{padding:0 0 0 25px}.stage-diagram li:not(:last-child):before{top:14px;bottom:-12px;left:6px;right:auto;border-top:0;border-left:1px solid var(--rule)}}
@media(min-width:701px){.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:1;align-content:start}.sidebar>.brand,.sidebar>.workspace-switch,.sidebar>.side-bottom{flex-shrink:0}}
