.cap-viz-card{background:var(--panel-bg);border:1px solid var(--nav-border-strong);border-radius:4px;padding:16px}.cap-viz-title{font-family:var(--font-data);font-size:14px;font-weight:600;color:var(--text-color);text-transform:uppercase;letter-spacing:0.5px;margin:0 0 16px 0}.cap-viz{position:relative;display:flex;align-items:stretch;gap:12px;height:560px;padding-top:18px}.cap-viz-axis{position:relative;width:52px;flex-shrink:0}.cap-viz-axis-tick{position:absolute;left:0;right:0;transform:translateY(-50%);font-family:var(--font-data);font-size:10px;color:var(--nav-link-dim);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cap-viz-plot{position:relative;flex:1;min-width:0;border-left:1px solid var(--nav-border-strong)}.cap-viz-gridline{position:absolute;left:0;right:0;height:1px;background:var(--nav-border)}.cap-viz-threshold{position:absolute;left:0;right:0;height:0;border-top:2px dashed var(--cap-viz-line-color,var(--nav-link-dim));z-index:3}.cap-viz-threshold-label{position:absolute;right:4px;transform:translateY(50%);font-family:var(--font-data);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--cap-viz-line-color,var(--nav-link-dim));background:var(--panel-bg);padding:0 4px;white-space:nowrap}.cap-viz-bar-col{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:40%;max-width:420px;min-width:200px}.cap-viz-segment{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;box-sizing:border-box;border-bottom:2px solid var(--panel-bg)}.cap-viz-seg-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;object-position:top;flex-shrink:0;border:1px solid rgba(255,255,255,0.5);background:rgba(255,255,255,0.15)}.cap-viz-segment--dead{background-image:repeating-linear-gradient(45deg,var(--hover-bg),var(--hover-bg) 4px,transparent 4px,transparent 8px);background-color:var(--hover-bg);border:1px dashed var(--nav-border-strong)}.cap-viz-seg-label{font-family:var(--font-data);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;line-height:1.3}.cap-viz-seg-label--left{text-align:left;padding:0 8px 0 0;min-width:0}.cap-viz-seg-label small{display:block;font-weight:500;opacity:0.85;font-size:9px}.cap-viz-callout{position:absolute;transform:translateY(50%);display:flex;align-items:baseline;gap:6px;font-family:var(--font-data);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;white-space:nowrap;text-decoration:none;color:var(--text-color);z-index:2}a.cap-viz-callout:hover .cap-viz-callout-name{color:var(--cap-bar,var(--team-glow,var(--nav-accent)))}.cap-viz-callout-name{overflow:hidden;text-overflow:ellipsis;max-width:150px}.cap-viz-callout-val{font-weight:500;color:var(--nav-link-dim);font-variant-numeric:tabular-nums}.cap-viz-leaders{position:absolute;left:0;bottom:0;pointer-events:none;overflow:visible;z-index:1}.cap-viz-leaders polyline{fill:none;stroke:color-mix(in srgb,var(--text-color) 38%,transparent);stroke-width:1;shape-rendering:geometricPrecision}.cap-viz-legend-note{margin-top:12px;font-family:var(--font-base);font-size:10px;color:var(--nav-link-dim);display:flex;flex-wrap:wrap;gap:12px}.cap-viz-legend-note span{display:inline-flex;align-items:center;gap:4px}.cap-viz-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.cap-viz-empty{font-family:var(--font-base);font-size:12px;color:var(--nav-link-dim);font-style:italic;padding:24px 0;text-align:center}.cap-viz-tooltip{position:fixed;z-index:10000;pointer-events:none;display:flex;align-items:center;gap:8px;background:var(--panel-bg);border:1px solid var(--nav-border-strong);border-radius:4px;padding:8px 10px;box-shadow:0 8px 24px rgba(0,0,0,0.3);opacity:0;transform:translateY(2px);transition:opacity 0.12s ease,transform 0.12s ease}.cap-viz-tooltip.is-visible{opacity:1;transform:translateY(0)}.cap-viz-tooltip-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:top;flex-shrink:0;background:var(--hover-bg);border:1px solid var(--nav-border)}.cap-viz-tooltip-name{font-family:var(--font-data);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;color:var(--text-color);white-space:nowrap}.cap-viz-tooltip-val{font-family:var(--font-data);font-size:13px;font-weight:600;color:var(--cap-bar,var(--team-glow,var(--nav-accent)));font-variant-numeric:tabular-nums}@media (max-width:768px){.cap-viz{height:460px;gap:8px}.cap-viz-axis{width:40px}.cap-viz-axis-tick{font-size:9px}.cap-viz-bar-col{width:68%;min-width:130px;max-width:none}.cap-viz-seg-label{font-size:9px}.cap-viz-seg-label small{font-size:8px}.cap-viz-seg-avatar{width:20px;height:20px}.cap-viz-callout{font-size:9px;gap:4px}.cap-viz-callout-name{max-width:90px}}.cap-desk{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;align-items:stretch}@media (max-width:1024px){.cap-desk{grid-template-columns:minmax(0,1fr)}}.cap-desk .cap-viz{height:520px}@media (min-width:769px){.cap-desk .cap-viz-title{font-size:16px}.cap-desk .cap-viz-axis{width:60px}.cap-desk .cap-viz-axis-tick{font-size:12px}.cap-desk .cap-viz-threshold-label{font-size:11px}.cap-desk .cap-viz-seg-label{font-size:14px}.cap-desk .cap-viz-seg-label small{font-size:12px}.cap-desk .cap-viz-callout{font-size:12px}.cap-desk .cap-viz-legend-note{font-size:12px}}.cap-desk__ladder{position:relative;display:flex;flex-direction:column;gap:24px;padding:24px;border:1px solid var(--nav-border-strong);border-radius:4px;background:var(--panel-bg)}.cap-desk__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cap-desk__eyebrow{font-family:var(--font-base);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--nav-link-dim)}.cap-desk__payroll{margin-top:8px;font-family:var(--font-display);font-size:56px;line-height:1;color:var(--text-color)}.cap-desk__payroll-label{margin-top:4px;font-family:var(--font-base);font-size:12px;color:var(--nav-link-dim)}.cap-desk__status{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:22px;text-align:right;color:var(--status-ok)}.cap-desk__status strong{font-family:var(--font-data);font-size:28px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.cap-desk__status span{font-family:var(--font-base);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--nav-link-dim)}.cap-desk__status.is-warn{color:var(--status-warn)}.cap-desk__status.is-bad{color:var(--status-bad)}.cap-ladder{position:relative;list-style:none;margin:0;padding:0 0 0 28px}.cap-ladder::before{content:"";position:absolute;left:9px;top:20px;bottom:20px;width:2px;background:var(--nav-border-strong)}.cap-ladder>li{position:relative}.cap-ladder__node{position:absolute;left:-24px;top:17px;width:12px;height:12px;border-radius:50%;border:2px solid var(--line-color,var(--nav-link-dim));background:var(--panel-bg);z-index:1}.cap-ladder__line{--line-color:var(--nav-link-dim);display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;padding:12px 0;border-top:1px solid var(--nav-border)}.cap-ladder__line:first-child,.cap-ladder__payroll + .cap-ladder__line{border-top:0}.cap-ladder__line[data-tone="warn"]{--line-color:var(--status-warn)}.cap-ladder__line[data-tone="hot"]{--line-color:color-mix(in srgb,var(--status-warn) 45%,var(--status-bad))}.cap-ladder__line[data-tone="bad"]{--line-color:var(--status-bad)}.cap-ladder__line.is-cleared .cap-ladder__node{background:var(--line-color)}.cap-ladder__line.is-cleared::after{content:"";position:absolute;left:-19px;top:0;bottom:0;width:2px;background:var(--cap-bar,var(--team-glow,var(--nav-accent)))}.cap-ladder__line.is-cleared:last-child::after{bottom:calc(100% - 23px)}.cap-ladder__name{display:flex;flex-direction:column;gap:2px;min-width:0}.cap-ladder__label{font-family:var(--font-data);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-color)}.cap-ladder__amount{font-family:var(--font-data);font-size:13px;font-weight:500;color:var(--nav-link-dim);font-variant-numeric:tabular-nums}.cap-ladder__room{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.cap-ladder__room-val{font-family:var(--font-data);font-size:22px;font-weight:700;line-height:1;color:var(--status-ok);font-variant-numeric:tabular-nums}.cap-ladder__line:not(.is-good) .cap-ladder__room-val{color:var(--status-bad)}.cap-ladder__room-tag{font-family:var(--font-base);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--nav-link-dim)}.cap-ladder__note{grid-column:1 / -1;margin:6px 0 0;font-family:var(--font-base);font-size:12px;line-height:1.4;color:var(--nav-link-dim)}.cap-ladder__payroll{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 4px -28px;padding:12px 14px 12px 28px;border-radius:4px;background:color-mix(in srgb,var(--cap-bar,var(--team-glow,var(--nav-accent))) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cap-bar,var(--team-glow,var(--nav-accent))) 45%,transparent)}.cap-ladder__payroll::after{content:"";position:absolute;left:9px;top:50%;bottom:-4px;width:2px;background:var(--cap-bar,var(--team-glow,var(--nav-accent)))}.cap-ladder__payroll:last-child::after{display:none}.cap-ladder__payroll .cap-ladder__node{left:2px;top:50%;width:16px;height:16px;margin-top:-8px;border:0;background:var(--cap-bar,var(--team-glow,var(--nav-accent)));box-shadow:0 0 0 4px color-mix(in srgb,var(--cap-bar,var(--team-glow,var(--nav-accent))) 30%,transparent)}.cap-ladder__payroll-tag{font-family:var(--font-base);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-color)}.cap-ladder__payroll-val{font-family:var(--font-display);font-size:24px;line-height:1;color:var(--text-color)}@media (max-width:768px){.cap-desk__ladder{padding:16px;gap:16px}.cap-desk__payroll{font-size:44px}.cap-desk .cap-viz{height:460px}.cap-ladder__room-val{font-size:18px}}.cap-desk__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:16px;margin:0;padding-top:16px;border-top:1px solid var(--nav-border)}.cap-desk__fact dt{font-family:var(--font-base);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--nav-link-dim)}.cap-desk__fact dd{margin:4px 0 0;font-family:var(--font-data);font-size:20px;font-weight:700;color:var(--text-color);font-variant-numeric:tabular-nums}