/* ═══ TEAM CAPACITY — assets/pmkt-capacity.js. Scoped to #pmkt-capacity-view
   (plus the floating .cap-pop); reads the v2 tokens from assets/lv2.css.
   Minimal surface on purpose: a card shows name · hours · tier · MO · pace;
   everything else is in the hover card (lv2 tooltip) or the click popover. */

/* The entry rise plays once per visit; re-renders after a drop stay still. */
#pmkt-capacity-view.cap-still .card,
#pmkt-capacity-view.cap-still .lv2-rv{animation:none}

/* page head: eyebrow + title on the left, the computed insight on the right */
#pmkt-capacity-view .cap-head{display:flex;align-items:flex-start;gap:24px;margin:2px 0 16px}
#pmkt-capacity-view .cap-head__l{flex:1;min-width:0}
/* eyebrow and title read the TYPE SCALE in lv2.css (2026-10-03; it was 10.5px
   uppercase with a rule, and a 26px title) */
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-ins{flex:0 1 480px;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--lv-r-lg);background:linear-gradient(135deg,#EEF4FF 0%,#F5F3FF 100%);border:1px solid #E0E7FF}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-ins__ic{flex:none;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--lv-primary);display:grid;place-items:center;box-shadow:0 4px 12px rgba(37,99,235,.12)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-ins__t{font-size:12.5px;font-weight:700;color:var(--lv-primary);margin-bottom:3px}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-ins__b{font-size:12px;line-height:1.5;color:var(--lv-body)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-ins__b b{color:var(--lv-text)}

/* KPI row — six cards, QualifAI's anatomy */
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q{padding:16px 16px 14px}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__head{display:flex;align-items:center;gap:9px;min-width:0}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__head b{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--lv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__per{flex:none;font-size:10.5px;font-weight:600;color:var(--lv-muted);border:1px solid var(--lv-border-soft);border-radius:8px;padding:3px 7px;white-space:nowrap}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__fig{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__val{font-size:var(--t-kpi);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--lv-text);font-variant-numeric:tabular-nums;white-space:nowrap}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__val small{font-size:14px;font-weight:700;color:var(--lv-muted);letter-spacing:0;margin-left:2px}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__chip{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:10.5px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__chip--up{background:var(--lv-success-soft);color:#15803D}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__chip--dn{background:var(--lv-danger-soft);color:var(--lv-danger-ink)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__chip--ref{background:#F1F5F9;color:var(--lv-muted)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__chip--flat{background:#F1F5F9;color:var(--lv-body)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__note{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:11px;color:var(--lv-muted);min-width:0}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__note>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__pill{flex:none;display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--lv-r-pill);font-size:10.5px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__pill--up{background:#16A34A}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__pill--dn{background:#DC2626}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-q__pill--flat{background:#475569}
/* distribution bar */
/* Anchored under the note, not to the card's foot: a legend that wraps then
   grows downward and every card's bar stays on one line (2026-10-02 — bottom-
   anchored, a two-line legend lifted its bar above the neighbours'). */
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist{padding-top:16px}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist--empty{color:var(--lv-faint);font-size:12px}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__segs{display:flex;gap:3px}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__s{min-width:0;display:flex;flex-direction:column;cursor:default}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__lab{position:relative;height:20px;display:flex;align-items:flex-end;justify-content:center}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__lab em{font-style:normal;font-size:9.5px;color:var(--lv-faint);font-variant-numeric:tabular-nums;padding-bottom:3px;transition:opacity var(--lv-fast) var(--lv-ease)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__bub{position:absolute;left:50%;bottom:4px;display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:var(--lv-r-pill);font-size:10px;font-weight:800;color:#fff;white-space:nowrap;box-shadow:0 3px 8px rgba(15,23,42,.18);opacity:0;transform:translate(-50%,4px);pointer-events:none;transition:opacity var(--lv-fast) var(--lv-ease),transform var(--lv-fast) var(--lv-ease)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__bub::after{content:'';position:absolute;left:50%;bottom:-3px;width:6px;height:6px;margin-left:-3px;background:inherit;transform:rotate(45deg);border-radius:1px}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__s i{display:block;height:7px;border-radius:var(--lv-r-pill);transition:filter var(--lv-fast) var(--lv-ease)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__s:hover .cap-dist__bub{opacity:1;transform:translate(-50%,0)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__s:hover .cap-dist__lab em{opacity:0}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__s:hover i{filter:brightness(1.08) saturate(1.15)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__lg{display:flex;gap:4px 10px;flex-wrap:wrap;margin-top:9px;font-size:10px;color:var(--lv-muted)}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__lg span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__lg em{font-style:normal}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__lg span.on{color:var(--lv-text);font-weight:700}
:is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-dist__lg i{flex:none;width:7px;height:7px;border-radius:50%}
#pmkt-capacity-view .lv2-kpi--hero .cap-q__head b,#pmkt-capacity-view .lv2-kpi--hero .cap-q__val{color:#fff}
#pmkt-capacity-view .lv2-kpi--hero .cap-q__val small,#pmkt-capacity-view .lv2-kpi--hero .cap-q__note,#pmkt-capacity-view .lv2-kpi--hero .cap-dist__lg{color:rgba(255,255,255,.7)}
#pmkt-capacity-view .lv2-kpi--hero .cap-q__per{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.2)}
#pmkt-capacity-view .lv2-kpi--hero .cap-q__chip--dn{background:rgba(252,165,165,.16);color:#FCA5A5}
#pmkt-capacity-view .lv2-kpi--hero .cap-dist__lg span.on{color:#fff}
#pmkt-capacity-view .lv2-kpi--hero .cap-dist__lab em{color:rgba(255,255,255,.5)}

/* toolbar */
#pmkt-capacity-view .cap-bar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
#pmkt-capacity-view .cap-sp{flex:1}
#pmkt-capacity-view .cap-hint{font-size:12px;color:var(--lv-faint)}
#pmkt-capacity-view .cap-boardhead{display:flex;align-items:center;gap:12px;margin:0 0 12px}
#pmkt-capacity-view .cap-boardhead__t{font-size:15px;font-weight:800;color:var(--lv-text)}
#pmkt-capacity-view .cap-legend{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;color:var(--lv-muted)}
#pmkt-capacity-view .cap-legend>span{display:inline-flex;align-items:center;gap:5px}
#pmkt-capacity-view .cap-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
#pmkt-capacity-view .cap-preview{font-size:11px;font-weight:700;color:var(--lv-warning-ink);background:var(--lv-warning-soft);border-radius:var(--lv-r-pill);padding:4px 10px;cursor:help}
#pmkt-capacity-view .cap-dirty{font-size:12px;font-weight:700;color:var(--lv-primary);background:var(--lv-soft);border-radius:var(--lv-r-pill);padding:4px 10px}
#pmkt-capacity-view .cap-bar-row .tbtn{height:var(--ctl-h);border:1px solid var(--lv-border-soft);border-radius:10px;background:var(--lv-surface)}
#pmkt-capacity-view .cap-bar-row .tbtn.on{background:var(--lv-soft);color:var(--lv-primary);border-color:transparent}
#pmkt-capacity-view .cap-bar-row .tbtn[disabled]{opacity:.45;cursor:default}

/* The QualifAI KPI (.cap-q / .cap-dist) and the insight card (.cap-ins) are
   shared with Leads Analytics (2026-10-02) — one definition, two pages. */
/* board — each owner is a panel: status, load figure, tick meter and three stats on top, projects
   grouped by expectation below, all of them */
/* each column ends at its own last project (2026-10-03) — no column is
   stretched to the tallest one */
#pmkt-capacity-view .cap-board{display:flex;gap:var(--lv-gap);overflow-x:auto;padding:2px 0 18px;align-items:flex-start}
#pmkt-capacity-view .cap-col__cards{flex:1}
/* One owner column = one KPI card wide (his call, 2026-10-02): six fit the page, the rest scroll sideways */
#pmkt-capacity-view .cap-col{position:relative;flex:0 0 calc((100% - 5 * var(--lv-gap)) / 6);min-width:220px;display:flex;flex-direction:column;background:var(--lv-surface);border:1px solid rgba(229,231,235,.7);border-radius:var(--lv-r-lg);box-shadow:var(--lv-shadow);transition:box-shadow var(--lv-fast) var(--lv-ease),border-color var(--lv-fast) var(--lv-ease)}
#pmkt-capacity-view .cap-col.is-over,#pmkt-capacity-view .cap-hcell.is-over{border-color:var(--lv-primary);box-shadow:0 0 0 3px rgba(37,99,235,.14),var(--lv-shadow)}
#pmkt-capacity-view .cap-col--sim,#pmkt-capacity-view .cap-hcell--sim{border-style:dashed;border-color:#C4B5FD}
#pmkt-capacity-view .cap-col__head{padding:14px 14px 0;cursor:default}
#pmkt-capacity-view .cap-col__who{display:flex;align-items:center;gap:10px}
#pmkt-capacity-view .cap-col__id{flex:1;min-width:0}
#pmkt-capacity-view .cap-av{width:36px;height:36px;border-radius:11px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.3px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#94A3B8;box-shadow:0 4px 10px rgba(15,23,42,.12)}
#pmkt-capacity-view .cap-av--none{background:#F1F5F9;color:var(--lv-faint);box-shadow:none}
#pmkt-capacity-view .cap-av--sim{background:#fff;color:var(--lv-purple);box-shadow:inset 0 0 0 1.5px #C4B5FD}
/* Drop Projects (2026-10-27): a dashed red bin; what sits there reads as let go */
#pmkt-capacity-view .cap-av--drop{background:#FEF2F2;color:#B91C1C;font-size:16px;font-weight:700}
#pmkt-capacity-view .cap-col--drop,#pmkt-capacity-view .cap-hcell--drop{border:1px dashed #FCA5A5 !important;background:#FFFAFA}
#pmkt-capacity-view .cap-col--drop .cap-card{opacity:.75}
#pmkt-capacity-view .cap-col__name{font-size:14px;font-weight:800;color:var(--lv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-col__sub{font-size:11px;color:var(--lv-faint);font-variant-numeric:tabular-nums;white-space:nowrap}
#pmkt-capacity-view .cap-st{flex:none;display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--lv-r-pill);font-size:10.5px;font-weight:700;white-space:nowrap}
#pmkt-capacity-view .cap-st i{width:6px;height:6px;border-radius:50%;background:currentColor}
#pmkt-capacity-view .cap-st--over{background:var(--lv-danger-soft);color:var(--lv-danger-ink)}
#pmkt-capacity-view .cap-st--tight{background:var(--lv-warning-soft);color:var(--lv-warning-ink)}
#pmkt-capacity-view .cap-st--ok{background:var(--lv-success-soft);color:#15803D}
#pmkt-capacity-view .cap-st--sim{background:#F5F3FF;color:var(--lv-purple)}
#pmkt-capacity-view .cap-st--agent{background:#F3E8FF;color:#7C3AED}
#pmkt-capacity-view .cap-st--none{background:#F1F5F9;color:var(--lv-muted)}
#pmkt-capacity-view .cap-col__fig{display:flex;align-items:baseline;gap:7px;margin-top:14px;min-width:0}
#pmkt-capacity-view .cap-col__pct{font-size:var(--t-kpi);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--lv-text);font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-col__of{font-size:11px;color:var(--lv-faint);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#pmkt-capacity-view .cap-col__fig .cap-q__chip{flex:none}
#pmkt-capacity-view .cap-col__fig .cap-q__chip{margin-left:auto;align-self:center}
#pmkt-capacity-view .cap-col__proj{align-self:center;font-size:11px;font-weight:800;border-radius:6px;font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-col__proj:not(:empty){padding:2px 7px;animation:lv2Rise .16s ease both}
#pmkt-capacity-view .cap-col__proj--over{background:var(--lv-danger-soft);color:var(--lv-danger-ink)}
#pmkt-capacity-view .cap-col__proj--tight{background:var(--lv-warning-soft);color:var(--lv-warning-ink)}
#pmkt-capacity-view .cap-col__proj--ok{background:var(--lv-success-soft);color:#15803D}
#pmkt-capacity-view .cap-x{border:0;background:transparent;color:var(--lv-faint);font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
#pmkt-capacity-view .cap-x:hover{color:var(--lv-danger-ink)}
/* Remove-owner sits on the corner, out of the name row; shown on hover */
#pmkt-capacity-view .cap-x--corner{position:absolute;top:6px;right:7px;width:20px;height:20px;border-radius:6px;font-size:14px;opacity:0;transition:opacity var(--lv-fast) var(--lv-ease)}
#pmkt-capacity-view .cap-hcell:hover .cap-x--corner,#pmkt-capacity-view .cap-x--corner:focus-visible{opacity:1}
#pmkt-capacity-view .cap-x--corner:hover{background:var(--lv-danger-soft)}
@media (hover:none){#pmkt-capacity-view .cap-x--corner{opacity:1}}
/* An owner added in this plan but not saved yet reads like a simulated hire */
#pmkt-capacity-view .cap-col.is-draft,#pmkt-capacity-view .cap-hcell.is-draft{border-style:dashed;border-color:#93C5FD}
/* tick meter */
/* Five equal cells (MO · Target · Pace · Booked · Ending — Off moved up to the figure row), every one centred (his ask, 2026-10-02/03). A figure too long
   for its cell ellipsises and the cell's title carries it in full. */
#pmkt-capacity-view .cap-col__stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:14px -14px 0;border-top:1px solid var(--lv-border-soft);border-bottom:1px solid var(--lv-border-soft)}
#pmkt-capacity-view .cap-col__stats div{padding:8px 4px;min-width:0;text-align:center;cursor:default}
#pmkt-capacity-view .cap-col__stats div+div{border-left:1px solid var(--lv-border-soft)}
#pmkt-capacity-view .cap-col__stats i{display:block;overflow:hidden;text-overflow:ellipsis;font-style:normal;font-size:8.5px;letter-spacing:0;font-weight:700;letter-spacing:.2px;white-space:nowrap;text-transform:uppercase;color:var(--lv-faint)}
#pmkt-capacity-view .cap-col__stats b{display:block;margin-top:2px;font-size:12px;font-weight:800;color:var(--lv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-col__stats b small{font-size:10px;font-weight:600;color:var(--lv-faint)}
#pmkt-capacity-view .cap-ok{color:#15803D !important}
#pmkt-capacity-view .cap-warn{color:var(--lv-warning-ink) !important}
#pmkt-capacity-view .cap-bad{color:var(--lv-danger-ink) !important}

/* 10px on all four sides and between sections (2026-10-03) */
#pmkt-capacity-view .cap-col__cards{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:72px}
#pmkt-capacity-view .cap-empty{font-size:11.5px;color:var(--lv-faint);text-align:center;border:1px dashed #D5DEE9;border-radius:12px;padding:20px 8px;margin-top:6px}
/* A section per Expectation, its own box, movable inside its column (2026-10-03) */
#pmkt-capacity-view .cap-grp{position:relative;display:flex;flex-direction:column;gap:8px;padding:2px 6px 6px;border:1px solid #DCE3EC;border-radius:12px;background:var(--lv-surface)}
/* sections sit as far apart as the column's own side padding: 2 + the 8px gap = 10 (2026-10-03) */
#pmkt-capacity-view .cap-grp+.cap-grp{margin-top:2px}
#pmkt-capacity-view .cap-grp__h{cursor:grab}
#pmkt-capacity-view .cap-grp__grip{margin-left:-2px;font-size:10px;letter-spacing:-2px;color:#CBD5E1;opacity:0;transition:opacity var(--lv-fast)}
#pmkt-capacity-view .cap-grp__h:hover .cap-grp__grip{opacity:1}
#pmkt-capacity-view .cap-grp.is-sec-dragging{opacity:.4}
#pmkt-capacity-view .cap-grp.is-ins-t::before,#pmkt-capacity-view .cap-grp.is-ins-b::after{content:'';position:absolute;left:6px;right:6px;height:3px;border-radius:2px;background:var(--lv-primary);pointer-events:none}
#pmkt-capacity-view .cap-grp.is-ins-t::before{top:-7px}
#pmkt-capacity-view .cap-grp.is-ins-b::after{bottom:-7px}

#pmkt-capacity-view .cap-grp__h{display:flex;align-items:center;gap:6px;padding:8px 4px 4px;font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--lv-muted)}
#pmkt-capacity-view .cap-grp__h i{width:7px;height:7px;border-radius:50%}
#pmkt-capacity-view .cap-grp__h span{font-weight:700;color:var(--lv-faint)}
#pmkt-capacity-view .cap-grp__w{font-weight:700;color:var(--lv-faint);letter-spacing:0;text-transform:none}
#pmkt-capacity-view .cap-grp__h em{margin-left:auto;font-style:normal;font-weight:700;color:var(--lv-faint);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}

/* project row */
#pmkt-capacity-view .cap-card{background:#F8FAFC;border:1px solid transparent;border-radius:11px;padding:11px 12px;cursor:grab;transition:background var(--lv-fast) var(--lv-ease),box-shadow var(--lv-fast) var(--lv-ease),border-color var(--lv-fast) var(--lv-ease),transform var(--lv-fast) var(--lv-ease),opacity var(--lv-fast)}
#pmkt-capacity-view .cap-card:hover{background:#fff;border-color:#E0E7FF;box-shadow:0 8px 22px rgba(37,99,235,.10);transform:translateY(-1px)}
#pmkt-capacity-view .cap-card:active{cursor:grabbing}
#pmkt-capacity-view .cap-card.is-dragging{opacity:.35}
#pmkt-capacity-view .cap-card.is-moved{background:#F7F9FF;border-color:#D6E2FF}
/* In the saved plan, not yet in the Project Index */
#pmkt-capacity-view .cap-card.is-planned{border-color:#E2E8F0;border-style:dashed}
/* Where a card stands against the Project Index: a small word beside the hours */
#pmkt-capacity-view .cap-tag{flex:none;font-size:9.5px;font-weight:700;letter-spacing:.1px;line-height:16px;padding:0 6px;border-radius:5px;white-space:nowrap}
#pmkt-capacity-view .cap-tag--moved{background:#E8F0FF;color:#1D4ED8}
#pmkt-capacity-view .cap-tag--plan{background:#F1F5F9;color:#64748B}
#pmkt-capacity-view .cap-card__r1{display:flex;align-items:center;gap:6px}
#pmkt-capacity-view .cap-card__name{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--lv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-card__h{font-size:11px;font-weight:600;color:var(--lv-faint);font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-card__r2{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11px;color:var(--lv-muted);font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-card__mo{white-space:nowrap;min-width:62px}
#pmkt-capacity-view .cap-card__r3{display:flex;align-items:baseline;gap:8px;margin-top:6px;min-width:0}
#pmkt-capacity-view .cap-card__end{margin-left:auto;flex:none;color:var(--lv-faint);font-size:10.5px;font-weight:600;line-height:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-card__end.is-soon{color:var(--lv-warning-ink)}
#pmkt-capacity-view .cap-card__prod{min-width:0;color:var(--lv-faint);font-size:10.5px;font-weight:600;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-pbar{flex:1;height:4px;border-radius:var(--lv-r-pill);background:#E8EDF3;overflow:hidden}
#pmkt-capacity-view .cap-pbar i{display:block;height:100%;border-radius:inherit}
#pmkt-capacity-view .cap-pbar--ok i{background:var(--lv-success)}
#pmkt-capacity-view .cap-pbar--bad i{background:#F87171}
#pmkt-capacity-view .cap-pnum{min-width:34px;text-align:right;font-size:11px;font-weight:800;color:var(--lv-faint)}
#pmkt-capacity-view .cap-pnum--ok{color:#15803D}
#pmkt-capacity-view .cap-pnum--bad{color:var(--lv-danger-ink)}
#pmkt-capacity-view .cap-card__tier,.cap-model .cap-card__tier{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
#pmkt-capacity-view .cap-card__tier i,.cap-model .cap-card__tier i{width:6px;height:6px;border-radius:50%;display:inline-block}
#pmkt-capacity-view .cap-flag{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 6px 1px 0;vertical-align:middle}
#pmkt-capacity-view .cap-flag--warn{background:var(--lv-warning)}
#pmkt-capacity-view .cap-dchip{font-size:9.5px;font-weight:700;border-radius:5px;padding:1px 5px}
#pmkt-capacity-view .cap-dchip--hard{background:var(--lv-danger-soft);color:var(--lv-danger-ink)}
#pmkt-capacity-view .cap-dchip--easy{background:var(--lv-success-soft);color:var(--lv-success-ink)}
/* Expectation (2026-10-01) — the colours PMKT Monitoring gives the same label */
#pmkt-capacity-view .cap-dchip--superhigh{background:#EEF2FF;color:#4338CA}
#pmkt-capacity-view .cap-dchip--high{background:#ECFDF5;color:#047857}
#pmkt-capacity-view .cap-dchip--medium{background:#FFFBEB;color:#B45309}
#pmkt-capacity-view .cap-dchip--low{background:#FEF2F2;color:#B91C1C}
#pmkt-capacity-view .cap-dchip--idle{background:#F1F5F9;color:#64748B}
/* Freelance / Agency owners: the type is the first word of the sub line; the
   line opens the edit popover */
#pmkt-capacity-view .cap-col__sub--edit{cursor:pointer;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-col__sub--edit:hover{color:var(--lv-muted)}
#pmkt-capacity-view .cap-col__sub b{font-weight:700}
#pmkt-capacity-view .cap-kind--freelance{color:#0369A1}
#pmkt-capacity-view .cap-kind--agency{color:#B45309}
#pmkt-capacity-view .cap-kind--organic{color:#15803D}
#pmkt-capacity-view .cap-st--agency{background:#FEF3C7;color:#92400E}
#pmkt-capacity-view .cap-model-w{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 16px 12px;font-size:12px;color:var(--lv-ink-2,#334155)}
#pmkt-capacity-view .cap-model-w__t{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#94A3B8}
#pmkt-capacity-view .cap-model-w label{display:inline-flex;align-items:center;gap:4px}
#pmkt-capacity-view .cap-model-w .cap-num{width:58px}
#pmkt-capacity-view .cap-muted,.cap-model .cap-muted{color:var(--lv-faint)}
#pmkt-capacity-view .cap-legend__ring{color:var(--lv-faint)}

/* action popover (click a card) — lives on <body>, outside every v2 surface,
   so it carries its own values rather than the --lv-* tokens. */
.cap-pop{position:fixed;z-index:9000;width:268px;padding:14px;border-radius:14px;background:#fff;border:1px solid #EEF2F7;box-shadow:0 16px 50px rgba(15,23,42,.14);display:flex;flex-direction:column;gap:6px;font-family:inherit;animation:lv2Rise .18s cubic-bezier(.2,.8,.2,1) both}
.cap-pop__t{font-size:13px;font-weight:800;color:#0F172A;line-height:1.3;margin-bottom:4px}
.cap-pop__lbl{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#94A3B8;margin-top:4px}
.cap-pop__seg{display:flex;gap:2px;padding:3px;border:1px solid #EEF2F7;border-radius:10px;background:#fff}
.cap-pop__seg button{flex:1;height:28px;border:0;border-radius:7px;background:transparent;font:inherit;font-size:11.5px;font-weight:600;color:#64748B;cursor:pointer}
.cap-pop__seg button.on{background:#E8F0FF;color:#2563EB}
.cap-pop__seg small{opacity:.6;font-size:10px}
.cap-pop{width:300px}
.cap-pop .ui-inp{width:100%;box-sizing:border-box}
.cap-pop__hint a{color:#2563EB}
/* !important: .ui-btn's colours are !important in lv2.css (the --ctl-* control system) */
.cap-pop .ui-btn.cap-pop__danger{background:#DC2626 !important;border-color:#DC2626 !important;box-shadow:0 8px 22px rgba(220,38,38,.22) !important}
.cap-pop .ui-btn.cap-pop__danger:hover{background:#B91C1C !important;border-color:#B91C1C !important}
.cap-pop__hint{font-size:11px;color:#B45309}
.cap-pop__sel{width:100%}
.cap-pop__open{margin-top:8px}

/* model panel */
#pmkt-capacity-view .cap-model{margin-bottom:14px}
#pmkt-capacity-view .cap-model-cap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--lv-body);padding:0 20px 12px}
#pmkt-capacity-view .cap-model{container-type:inline-size}
/* The block count comes from one reference width (2026-10-03, his reference:
   the four-block view at a 1939px card): N blocks show from P + N*B + (N-1)*G.
   Then the blocks share what is left, so every layout ends flush with the
   card's right edge ("lebar antar colnya bisa ngalah biar all table bisa rata
   ke kanan"). A block grows by less than (B+G)/N, so the columns never drift
   far apart the way a fixed block count did. */
#pmkt-capacity-view .cap-model-wrap{display:none;gap:14px;padding:0 20px 10px}
#pmkt-capacity-view .cap-model-wrap--1{display:grid;grid-template-columns:minmax(0,1fr)}
#pmkt-capacity-view .cap-model-wrap--2{grid-template-columns:repeat(2,minmax(464px,1fr))}
#pmkt-capacity-view .cap-model-wrap--3{grid-template-columns:repeat(3,minmax(464px,1fr))}
#pmkt-capacity-view .cap-model-wrap--6{grid-template-columns:repeat(6,minmax(464px,1fr))}
@container (min-width:982px){#pmkt-capacity-view .cap-model-wrap--1{display:none}#pmkt-capacity-view .cap-model-wrap--2{display:grid}}
@container (min-width:1460px){#pmkt-capacity-view .cap-model-wrap--2{display:none}#pmkt-capacity-view .cap-model-wrap--3{display:grid}}
@container (min-width:2894px){#pmkt-capacity-view .cap-model-wrap--3{display:none}#pmkt-capacity-view .cap-model-wrap--6{display:grid}}
#pmkt-capacity-view .cap-model-wrap .cap-model-tbl col.cap-mc-tier{width:104px}
#pmkt-capacity-view .cap-model-wrap .cap-num{width:40px}
#pmkt-capacity-view .cap-model-wrap .cap-model-tbl td:not(.cap-mt):not(.cap-mtot){padding-left:2px;padding-right:2px}
#pmkt-capacity-view .cap-model-key{padding:0 20px 16px;font-size:11px;line-height:1.5}
/* No top padding: the header row's tint runs to the block's rounded edge (his
   ask, 2026-10-02 — a white strip sat between the border and the tint). */
#pmkt-capacity-view .cap-mblock{border:1.5px solid #E3E8EF;border-radius:14px;padding:0 0 4px;min-width:0;overflow:hidden}
#pmkt-capacity-view .cap-mblock__t{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--lv-text);padding:0 16px 14px}
/* The table fills its box: Tier and Total fixed, the eight activity columns
   share the rest equally. Every column is centred except Tier, which is the
   row's title; the first and last cells keep 16px off the box's edges. */
#pmkt-capacity-view .cap-model-tbl{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}
#pmkt-capacity-view .cap-model-tbl col.cap-mc-tier{width:120px}
/* Room for "TOTAL" and "40.5h" past the 16px edge padding — at 52px the head
   read "TOT…" (2026-10-02). */
#pmkt-capacity-view .cap-model-tbl col.cap-mc-tot{width:72px}
#pmkt-capacity-view .cap-model-tbl th{padding:8px 4px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--lv-faint);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--lv-border-soft)}
#pmkt-capacity-view .cap-model-tbl td{padding:6px 4px;text-align:center;border-bottom:1px solid #F1F4F8;font-size:12.5px;color:var(--lv-body)}
#pmkt-capacity-view .cap-model-tbl tr:last-child td{border-bottom:0}
#pmkt-capacity-view .cap-model-tbl th.cap-mt{text-align:left;padding-left:16px;color:var(--lv-text)}
#pmkt-capacity-view .cap-model-tbl .cap-mt{text-align:left;padding-left:16px;padding-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-model-tbl .cap-mtot{padding-right:16px;font-weight:800;color:var(--lv-text);font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-mg__on{margin-left:6px;font-size:9.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--lv-primary);background:var(--lv-soft);border-radius:var(--lv-r-pill);padding:2px 7px}
#pmkt-capacity-view .cap-model-tbl tbody tr:hover td{background:#F8FAFC}
#pmkt-capacity-view .cap-num{width:46px;height:28px;border:1px solid var(--lv-border-soft);border-radius:8px;padding:0 6px;font:inherit;font-size:12.5px;font-weight:600;text-align:center;color:var(--lv-text);background:#fff;font-variant-numeric:tabular-nums;transition:border-color var(--lv-fast) var(--lv-ease),box-shadow var(--lv-fast) var(--lv-ease)}
#pmkt-capacity-view .cap-num:focus{outline:0;border-color:var(--lv-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
#pmkt-capacity-view .cap-model-cap .cap-num{width:64px}

@media (max-width:1100px){ #pmkt-capacity-view .cap-head{flex-direction:column} :is(#pmkt-capacity-view,#leads-analytics-view,#lrv-section,#spend-control-view,#lap-section) .cap-ins{flex-basis:auto} }
@media (max-width:767px){
  #pmkt-capacity-view .cap-hint{display:none}
  #pmkt-capacity-view .cap-legend{display:none}
  #pmkt-capacity-view .cap-col{flex-basis:80vw;max-height:none}
}
/* No spinner arrows on the hour inputs: in a 46px box they cover the figure. */
#pmkt-capacity-view .cap-num{-moz-appearance:textfield;appearance:textfield}
#pmkt-capacity-view .cap-num::-webkit-inner-spin-button,#pmkt-capacity-view .cap-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#pmkt-capacity-view .cap-mscroll{overflow-x:auto}

/* save: flash, review panel */
#pmkt-capacity-view .cap-flash{font-size:12px;font-weight:700;color:#15803D;background:var(--lv-success-soft);border-radius:var(--lv-r-pill);padding:4px 10px;max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-flash.is-bad{color:var(--lv-danger-ink);background:var(--lv-danger-soft)}
#pmkt-capacity-view .cap-rv{margin:0 0 16px;padding:16px 18px;border:1.5px solid #C7D7FE;box-shadow:0 12px 36px rgba(37,99,235,.10)}
#pmkt-capacity-view .cap-rv__h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
#pmkt-capacity-view .cap-rv__list{display:flex;flex-direction:column;border:1px solid var(--lv-border-soft);border-radius:12px;overflow:hidden}
#pmkt-capacity-view .cap-rv__row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 260px;align-items:center;gap:12px;padding:9px 14px;font-size:12.5px}
#pmkt-capacity-view .cap-rv__row+.cap-rv__row{border-top:1px solid #F1F4F8}
#pmkt-capacity-view .cap-rv__row.is-block{background:#FFF7F7}
#pmkt-capacity-view .cap-rv__n{font-weight:700;color:var(--lv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-rv__n em{font-style:normal;font-weight:600;font-size:10.5px;color:var(--lv-faint);margin-left:4px}
#pmkt-capacity-view .cap-rv__mv{color:var(--lv-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pmkt-capacity-view .cap-rv__mv b{color:var(--lv-primary);margin:0 3px}
#pmkt-capacity-view .cap-rv__tag{font-size:10.5px;font-weight:700;border-radius:var(--lv-r-pill);padding:3px 9px;white-space:nowrap}
#pmkt-capacity-view .cap-rv__tag--agent{background:#F3E8FF;color:#7C3AED}
#pmkt-capacity-view .cap-rv__tag--ext{background:#FEF3C7;color:#92400E}
#pmkt-capacity-view .cap-rv__tag--plan{background:#F1F5F9;color:var(--lv-muted)}
#pmkt-capacity-view .cap-rv__row--sync{grid-template-columns:18px minmax(0,1.2fr) minmax(0,1fr) 300px;cursor:pointer}
#pmkt-capacity-view .cap-rv__row--sync input{margin:0;accent-color:var(--lv-primary)}
#pmkt-capacity-view .cap-rv__tag--block{background:var(--lv-danger-soft);color:var(--lv-danger-ink)}
#pmkt-capacity-view .cap-rv__other{margin-top:10px;font-size:12px;color:var(--lv-body)}
#pmkt-capacity-view .cap-rv__ack{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;border-radius:10px;background:#FAF5FF;color:#6B21A8;font-size:12px;font-weight:600;cursor:pointer}
#pmkt-capacity-view .cap-rv__ack input{margin-top:2px;accent-color:#7C3AED}
#pmkt-capacity-view .cap-rv__err{margin-top:10px;font-size:12px;font-weight:600;color:var(--lv-danger-ink)}
#pmkt-capacity-view .cap-rv__foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
#pmkt-capacity-view .cap-rv__foot .tbtn{height:var(--ctl-h);border:1px solid var(--lv-border-soft);border-radius:10px;background:var(--lv-surface)}
#pmkt-capacity-view .cap-num:disabled{background:#F8FAFC;color:var(--lv-muted);cursor:not-allowed}
.cap-pop__seg button:disabled{cursor:not-allowed;opacity:.55}
.cap-pop__hint--muted{color:#94A3B8}
#pmkt-capacity-view .cap-rv__row>.cap-rv__tag{justify-self:end}

/* Drop dock — fixed to the bottom while a card is held (outside the view root, like .cap-pop) */
.cap-dock{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9000;display:flex;align-items:stretch;gap:8px;max-width:calc(100vw - 48px);overflow-x:auto;padding:8px;border-radius:16px;background:#fff;border:1px solid #E2E8F0;box-shadow:0 18px 50px rgba(15,23,42,.18);font-family:inherit;animation:lv2Rise .16s cubic-bezier(.2,.8,.2,1) both}
.cap-dock__t{align-self:center;padding:0 6px 0 4px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#94A3B8;white-space:nowrap}
.cap-dock__o{flex:none;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:104px;padding:9px 14px;border:1.5px dashed #CBD5E1;border-radius:12px;background:#F8FAFC;transition:background .12s,border-color .12s}
.cap-dock__o b{font-size:12.5px;font-weight:800;color:#0F172A;white-space:nowrap;pointer-events:none}
.cap-dock__o.is-over{border-style:solid;border-color:#2563EB;background:#EEF4FF}
.cap-dock__u{font-style:normal;font-size:11px;font-weight:700;color:#64748B;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none}
.cap-dock__u--over{color:#B91C1C}.cap-dock__u--tight{color:#B45309}.cap-dock__u--ok{color:#15803D}

/* Frozen heads: a strip that mirrors the board's flex (same gap, padding and
   column widths), sticky under the topbar. The head is the top of the column
   card; the body below it continues the same border. The separator is the
   stats row's own hairline — never a shadow (his call, 2026-10-01). */
#pmkt-capacity-view .cap-heads{position:sticky;top:var(--th,50px);z-index:30;display:flex;gap:var(--lv-gap);padding:2px 0 0;overflow:hidden;background:var(--lv-canvas,#fff)}
#pmkt-capacity-view .cap-hcell{position:relative;flex:0 0 calc((100% - 5 * var(--lv-gap)) / 6);min-width:220px;background:var(--lv-surface);border:1px solid rgba(229,231,235,.7);border-bottom:0;border-radius:var(--lv-r-lg) var(--lv-r-lg) 0 0}
/* doubled class: outranks the generated dark-mode `border:` shorthand */
#pmkt-capacity-view .cap-heads .cap-hcell.cap-hcell{border-bottom:0}
#pmkt-capacity-view .cap-heads + .cap-board{padding-top:0}
#pmkt-capacity-view .cap-heads + .cap-board .cap-col{border-top:0;border-radius:0 0 var(--lv-r-lg) var(--lv-r-lg);box-shadow:0 12px 24px -16px rgba(15,23,42,.16)}

/* Column reorder: the head is the handle; the dragged column dims, and a bar
   in the gap shows where it lands */
#pmkt-capacity-view .cap-hcell{cursor:grab}
#pmkt-capacity-view .cap-hcell button,#pmkt-capacity-view .cap-hcell .cap-col__sub--edit{cursor:pointer}
#pmkt-capacity-view .is-col-dragging{opacity:.35;transition:opacity .15s}
#pmkt-capacity-view .cap-hcell.is-ins-l::before,#pmkt-capacity-view .cap-hcell.is-ins-r::before,
#pmkt-capacity-view .cap-col.is-ins-l::before,#pmkt-capacity-view .cap-col.is-ins-r::before{content:'';position:absolute;top:0;bottom:0;width:3px;border-radius:2px;background:var(--lv-primary);z-index:3;pointer-events:none}
#pmkt-capacity-view .is-ins-l::before{left:-9px}
#pmkt-capacity-view .is-ins-r::before{right:-9px}
#pmkt-capacity-view .cap-heads{overflow:hidden}
#pmkt-capacity-view .cap-legend,#pmkt-capacity-view .cap-legend span{white-space:nowrap}

/* Agentic (2026-10-02): a project the agent runs — MKT Agents purple, full
   opacity, a ✦ before the name; it stays in its supervisor's column. */
#pmkt-capacity-view .cap-card__ag{display:inline-flex;vertical-align:-1px;margin-right:5px;color:#0EA5E9}
/* Idle: nothing left to do on it — faded, back to full on hover */
#pmkt-capacity-view .cap-card.is-idle{opacity:.42}
#pmkt-capacity-view .cap-card.is-idle:hover{opacity:1}
#pmkt-capacity-view .cap-mblock--ag .cap-mblock__t{display:flex;align-items:center}
#pmkt-capacity-view .cap-ag-rows{display:flex;flex-direction:column;gap:10px;padding:10px 14px}
#pmkt-capacity-view .cap-ag-row{display:grid;grid-template-columns:90px 86px 1fr;align-items:center;gap:12px;font-size:12px}
#pmkt-capacity-view .cap-ag-row label{display:inline-flex;align-items:center;gap:4px}
#pmkt-capacity-view .cap-ag-note{padding:2px 14px 12px;font-size:11.5px;line-height:1.5}
/* Column width follows the KPI grid at every size (placed last so it wins over
   the base rules above): three KPI cards a row → three columns a screen;
   phones keep a near-full-width column. */
@media (max-width:1400px){
  #pmkt-capacity-view .cap-col,#pmkt-capacity-view .cap-hcell{flex-basis:calc((100% - 2 * var(--lv-gap)) / 3)}
}
@media (max-width:767px){
  #pmkt-capacity-view .cap-col,#pmkt-capacity-view .cap-hcell{flex-basis:80vw;min-width:0}
}
#pmkt-capacity-view .cap-model-tbl .cap-num{box-sizing:border-box;width:100%;max-width:44px;padding:0 2px}
/* Five stats in one row need ~300px; a narrower column folds them 3 + 2 rather
   than clipping a label or a figure. */
#pmkt-capacity-view .cap-hcell{container-type:inline-size}
@container (max-width:299px){
  #pmkt-capacity-view .cap-col__stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  #pmkt-capacity-view .cap-col__stats div:nth-child(4){border-left:0}
  #pmkt-capacity-view .cap-col__stats div:nth-child(n+4){border-top:1px solid var(--lv-border-soft)}
}
#pmkt-capacity-view .cap-nopic{color:var(--lv-warning-ink)}

/* MKT Agents and Agency cards carry a soft solid tint (no gradient — his call,
   2026-10-03): light blue and purple, the palette the dots and bars use. */
/* MKT Agents / Agency cards carry a word (.cap-tag), not a tint — only Idle
   stays different, faded (2026-10-03, "no need color"). */
.cap-pop__link{font-size:11px;font-weight:600;color:#2563EB;text-decoration:none}
.cap-pop__link:hover{text-decoration:underline}

/* Off pace at the far right of the figure row, where the load bar was. */
#pmkt-capacity-view .cap-col__off{flex:none;align-self:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding-left:12px;margin-left:2px;border-left:1px solid var(--lv-border-soft);line-height:1}
#pmkt-capacity-view .cap-col__off i{font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.2px;text-transform:uppercase;color:var(--lv-faint)}
#pmkt-capacity-view .cap-col__off b{font-size:15px;font-weight:800;color:var(--lv-text);font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-col__off b small{font-size:11px;font-weight:600;color:var(--lv-faint)}
/* Activity column heads carry a hover card listing what the column covers
   (2026-10-03); the dotted underline says there is one. */
#pmkt-capacity-view .cap-model-tbl th.cap-mact{cursor:help}
#pmkt-capacity-view .cap-model-tbl th.cap-mact span{border-bottom:1px dotted currentColor;padding-bottom:1px}
#pmkt-capacity-view .cap-model-tbl th.cap-mact:hover{color:var(--lv-text)}
#lv2-tip:has(.cap-acttip){max-width:340px}
#lv2-tip .cap-acttip{margin:2px 0 0;padding:0 0 0 14px;display:grid;gap:3px;font-size:11.5px;line-height:1.4;color:rgba(255,255,255,.78);white-space:normal}
#lv2-tip .cap-acttip li::marker{color:rgba(255,255,255,.4)}
/* a section head stays one line; the full "each · MKT Agents · Agency" note
   is in its title (2026-10-03) */
#pmkt-capacity-view .cap-grp__h{min-width:0;white-space:nowrap}
#pmkt-capacity-view .cap-grp__w{min-width:0;overflow:hidden;text-overflow:ellipsis}
/* the section edge read too faint against the cards (2026-10-03): one step
   darker, and a hairline under the head so each block reads as a block */
#pmkt-capacity-view .cap-grp__h{border-bottom:1px solid #EEF2F7;margin:0 -6px;padding-left:10px;padding-right:10px}
/* owner photos (2026-10-03): same 36px rounded square as the initials */
#pmkt-capacity-view .cap-av--img{background:#F1F5F9;overflow:hidden;padding:0}
#pmkt-capacity-view .cap-av--img img{width:100%;height:100%;object-fit:cover;display:block}
/* Photo & name (2026-10-08): the avatar is a button for managers. */
#pmkt-capacity-view .cap-av-btn{position:relative;flex:0 0 auto;padding:0;border:0;background:none;border-radius:11px;cursor:pointer;line-height:0}
#pmkt-capacity-view .cap-av-btn i{position:absolute;right:-4px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:#fff;color:#475569;font-style:normal;font-size:9px;line-height:16px;text-align:center;box-shadow:0 2px 6px rgba(15,23,42,.18);opacity:0;transition:opacity var(--lv-fast) var(--lv-ease)}
#pmkt-capacity-view .cap-av-btn:hover i,#pmkt-capacity-view .cap-av-btn:focus-visible i{opacity:1}
.cap-pop--who .cap-who__ph{display:flex;align-items:center;gap:12px;margin:2px 0}
.cap-pop--who .cap-av--lg{width:64px;height:64px;border-radius:16px;font-size:18px;color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#F1F5F9;flex:0 0 auto}
.cap-pop--who .cap-av--lg img{width:100%;height:100%;object-fit:cover;display:block}
.cap-pop--who .cap-who__acts{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cap-pop--who .cap-who__btn{display:inline-flex;align-items:center;cursor:pointer}
.cap-pop--who .cap-who__btn.is-off{opacity:.5;pointer-events:none}
.cap-pop--who .cap-who__lnk{border:0;background:none;padding:0;font:inherit;font-size:11px;color:#B91C1C;cursor:pointer}
.cap-pop--who .cap-who-n{width:100%}
#pmkt-capacity-view .cap-av--logo{background:#fff;box-shadow:inset 0 0 0 1px #E5EAF2}
#pmkt-capacity-view .cap-av--logo img{object-fit:contain;padding:5px;box-sizing:border-box}
/* sub-projects of a split contract (2026-10-04): the member's name, its
   contract as a grey word, 30-day spend where MO would be; not draggable —
   owner and Run by follow the contract */
#pmkt-capacity-view .cap-card.is-sub{cursor:grab}
#pmkt-capacity-view .cap-grp.is-sub-over{border-color:var(--lv-primary);box-shadow:0 0 0 3px rgba(37,99,235,.14)}
#pmkt-capacity-view .cap-card__spend{color:var(--lv-muted);font-size:11px;font-variant-numeric:tabular-nums}
#pmkt-capacity-view .cap-grp--ghost{border-style:dashed;background:transparent;padding-bottom:2px}
#pmkt-capacity-view .cap-grp--ghost .cap-grp__h{border-bottom:0}

/* Split contract (2026-10-29): sub-projects live in the contract's hover and popover, not as cards. */
.cap-pop__subs{display:flex;flex-direction:column;gap:3px;max-height:224px;overflow:auto;margin:-2px 0 2px}
.cap-pop__sub{display:flex;align-items:center;gap:7px;font-size:12px;color:inherit;min-height:26px}
.cap-pop__sub i{flex:0 0 7px;width:7px;height:7px;border-radius:50%}
.cap-pop__sub span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cap-pop__sub b{font-weight:600;opacity:.7;white-space:nowrap}
.cap-pop__subsel.ui-sel{width:118px;flex:0 0 118px;height:26px;min-height:26px;padding:0 22px 0 8px;font-size:11.5px}
#lv2-tip .m .cap-tip__subs{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.14);min-width:0;max-width:256px}
#lv2-tip .m .cap-tip__subs span{display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
#lv2-tip .m .cap-tip__subs span em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#lv2-tip .m .cap-tip__subs i{width:6px;height:6px;border-radius:50%;flex:0 0 6px}
