/* Studios — Home (control room). Tokens only; every class is prefixed hm-.
   Martian Mono is never set below 10.5px here; smaller labels use the body face. */

/* ---------- layout ---------- */
.hm{container:hm / inline-size;display:flex;flex-direction:column;gap:16px;min-width:0}
.hm-cols{display:flex;flex-direction:column;gap:16px;min-width:0}
.hm-stack{display:contents}
.hm-card{order:var(--o,0);container:hmc / inline-size;min-width:0}
@container hm (min-width: 1000px){
  .hm-cols{flex-direction:row;align-items:flex-start}
  .hm-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
  .hm-stack.hm-main{flex:1.5 1 0}
  .hm-stack.hm-side{flex:1 1 0}
}
.hm-enter .hm-card{animation:hmIn .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--o,0) * 40ms)}
@keyframes hmIn{from{opacity:0;transform:translateY(8px)}}

/* ---------- top bar ---------- */
.hm-title,.hm-eyebrow{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hm-month{display:inline-flex;align-items:center;gap:2px;height:34px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface);flex:none}
#top-actions:has(> .hm-month){flex:none}
.hm-mb{width:28px;height:28px;border:0;background:none;border-radius:6px;display:grid;place-items:center;color:var(--ink-2);cursor:pointer;transition:background .12s,color .12s}
.hm-mb:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}
.hm-mb:disabled{opacity:.3;cursor:not-allowed}
.hm-ml{height:28px;min-width:124px;justify-content:center;border:0;background:none;padding:0 8px;border-radius:6px;font:600 13px var(--body);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.hm-ml:hover{background:var(--surface-3)}
.hm-ml.away{background:var(--accent-soft);color:var(--accent-text)}
.hm-ml-s{display:none}
@media (max-width:760px){.hm-ml{min-width:0;padding:0 4px}.hm-ml-f{display:none}.hm-ml-s{display:inline}.hm-mb{width:26px}.hm-ml .ic{display:none}}

/* ---------- card chrome ---------- */
.hm-ch{display:flex;align-items:center;gap:10px;padding:14px 16px 12px;min-width:0}
.hm-ci{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);flex:none}
.hm-ct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.hm-ct h3{font-size:15px;line-height:1.2}
.hm-cs{font-size:12px;color:var(--muted);line-height:1.35}
.hm-cs b{color:var(--ink-2);font-weight:600}
.hm-cb{padding:0 16px 16px;min-width:0}
.hm-empty{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;border:1px dashed var(--line);background:var(--surface-2);color:var(--ink-2)}
.hm-empty>.ic{color:var(--faint);flex:none;margin-top:1px}
.hm-empty b{color:var(--ink);font-size:13.5px;font-weight:650}
.hm-empty p{font-size:12.5px;color:var(--muted);max-width:62ch;line-height:1.5}
.hm-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
.hm-foot>.ic{color:var(--warn);flex:none}
.hm-foot>span{flex:1;min-width:0}
.hm-more{display:flex;align-items:center;gap:5px;margin:4px auto 0;border:0;background:none;color:var(--accent-text);font-weight:600;font-size:12px;cursor:pointer;padding:5px 10px;border-radius:6px}
.hm-more:hover{background:var(--accent-soft)}
.hm-sub-h{display:flex;align-items:baseline;justify-content:space-between;gap:4px 10px;margin:18px 0 4px;flex-wrap:wrap}
.hm-list{display:flex;flex-direction:column;min-width:0}
.hm-crit{color:var(--crit);font-weight:600}
.hm-warn{color:var(--warn);font-weight:600}
.hm-ok{color:var(--ok)}
.hm-link{color:var(--accent-text);font-weight:600}
.hm-rd{width:7px;height:7px;border-radius:50%;background:var(--live);display:inline-block;margin-right:5px;flex:none;vertical-align:1px}

/* clickable rows shared look */
.hm-ret,.hm-ip:not(.hm-ip-head),.hm-cp{cursor:pointer;border-radius:8px;transition:background .12s}
.hm-ret:hover,.hm-ip:not(.hm-ip-head):hover,.hm-cp:hover{background:var(--surface-2)}
.hm-chev{color:var(--faint);flex:none;transition:transform .15s,color .15s}

/* ---------- progress track ---------- */
.hm-track{position:relative;display:block;height:8px;min-width:40px;flex:none;width:100%}
.hm-seg{display:flex;height:100%;border-radius:5px;background:var(--surface-3);overflow:hidden}
.hm-seg>i{display:block;height:100%;background:var(--c);flex:none}
.hm-seg>i.od{background:repeating-linear-gradient(-45deg,var(--crit) 0 3px,color-mix(in srgb,var(--crit) 40%,transparent) 3px 6px)}
.hm-track.xs{height:5px}.hm-track.sm{height:6px}.hm-track.lg{height:10px}
.hm-mark{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink);border-radius:1px;box-shadow:0 0 0 1.5px var(--surface)}

/* ---------- pulse ---------- */
.hm-pulse{display:flex;flex-direction:column;gap:16px;padding:18px 18px 16px}
.hm-hello{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.hm-greet{font:800 24px/1.12 var(--display);letter-spacing:-.025em}
.hm-sum{color:var(--ink-2);font-size:13.5px;line-height:1.5;max-width:60ch}
.hm-sum-hot{color:var(--crit);font-weight:600}
.hm-mprog{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.hm-days{display:flex;gap:2px}
.hm-days i{flex:1;height:8px;border-radius:2px;background:var(--surface-3)}
.hm-days i.p{background:color-mix(in srgb,var(--accent) 45%,var(--surface-3))}
.hm-days i.t{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}
.hm-days i.s{margin-right:3px}
@container hmc (min-width: 720px){
  .hm-pulse{padding:20px 22px 18px}
  .hm-hello{grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-template-areas:"g p" "s p";column-gap:32px}
  .hm-greet{grid-area:g;font-size:26px}
  .hm-sum{grid-area:s}
  .hm-mprog{grid-area:p;align-self:end;margin:0}
}
.hm-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hm-kpis>:first-child{grid-column:1/-1}
@container hmc (min-width: 900px){
  .hm-kpis{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr))}
  .hm-kpis>:first-child{grid-column:auto}
}
.hm-kpi{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;padding:12px 14px 13px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line-2);text-align:left;color:var(--ink);font:inherit}
button.hm-kpi{cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
button.hm-kpi:hover{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}
.hm-kgo{position:absolute;top:11px;right:11px;color:var(--muted);opacity:0;transform:translateX(-3px);transition:opacity .15s,transform .15s}
button.hm-kpi:hover .hm-kgo,button.hm-kpi:focus-visible .hm-kgo{opacity:1;transform:none}
@media (hover:none){.hm-kgo{opacity:.55;transform:none}}
.hm-kl{display:flex;align-items:center;gap:7px;font:500 10.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-right:16px}
.hm-kl i{width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}
[data-tone=ok] .hm-kl i{background:var(--ok)}
[data-tone=warn] .hm-kl i{background:var(--warn);border-radius:0;width:9px;clip-path:polygon(50% 0,100% 100%,0 100%)}
[data-tone=crit] .hm-kl i{background:var(--crit);border-radius:1px;width:7px;height:7px;transform:rotate(45deg)}
[data-tone=live] .hm-kl i{background:var(--live)}
[data-tone=info] .hm-kl i{background:var(--info);border-radius:2px}
.hm-kv{font:800 30px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:lining-nums;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.hm-kv small{font:600 13px var(--body);letter-spacing:0;color:var(--muted)}
.hm-kpi[data-tone=crit] .hm-kv{color:var(--crit)}
.hm-kv .live-dot{width:10px;height:10px}
.hm-ksub{font-size:12px;color:var(--ink-2);line-height:1.45}
.hm-ksub b{font-weight:650;color:var(--ink)}
.hm-ksrc{display:flex;flex-direction:column;gap:5px;margin-top:1px}
.hm-ks{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-2)}
.hm-ks b{font-weight:650;font-size:11.5px;color:var(--ink);min-width:62px;text-align:right}
.hm-ks em{font-style:normal;color:var(--muted);font-weight:500}
.hm-kdet{display:inline-flex;align-items:center;gap:3px;align-self:flex-start;border:0;background:none;padding:2px 0;margin-top:-2px;font:600 11.5px var(--body);color:var(--accent-text);cursor:pointer;border-radius:4px}
.hm-kdet:hover{text-decoration:underline;text-underline-offset:2px}

/* ---------- needs attention ---------- */
/* one line per issue (an accordion); the first urgent one starts open */
.hm-alerts{display:flex;flex-direction:column;gap:8px;min-width:0}
.hm-al{--t:var(--info);--ts:var(--info-soft);border-radius:10px;border:1px solid var(--line-2);background:var(--surface);box-shadow:inset 3px 0 0 var(--t);overflow:hidden;padding-bottom:4px}
.hm-al[data-tone=crit]{--t:var(--crit);--ts:var(--crit-soft)}
.hm-al[data-tone=warn]{--t:var(--warn);--ts:var(--warn-soft)}
.hm-al:not(.open){padding-bottom:0}
.hm-al-h{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 14px;min-width:0}
.hm-al.open .hm-al-h{padding-bottom:6px}
.hm-al-tg{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;border-radius:6px}
.hm-al-tg:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.hm-al-tg:hover .hm-al-tx b{text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line)}
.hm-al-chev{flex:none;color:var(--faint)}
.hm-al-tg:hover .hm-al-chev{color:var(--ink-2)}
.hm-al-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--ts);color:var(--t);flex:none}
.hm-al-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding-top:1px}
.hm-al-tx b{font-weight:650;font-size:13.5px;line-height:1.35}
.hm-al-tx span{font-size:12px;color:var(--muted);line-height:1.4}
.hm-al-h .btn{flex:none}
.hm-al-priv{cursor:default;color:var(--muted)}
.hm-al-priv:hover{background:none}
.hm-al-priv>.ic{flex:none;color:var(--muted);margin:0 6px}
.hm-al-priv .hm-al-m>b{font-weight:550;color:var(--ink-2)}
.hm-clear{display:flex;align-items:flex-start;gap:6px;margin:10px 2px 0;font-size:12px;color:var(--muted);line-height:1.45}
.hm-clear>.ic{color:var(--ok);flex:none;margin-top:2px}
.hm-privline{display:flex;align-items:flex-start;gap:6px;margin:10px 2px 0;font-size:11.5px;color:var(--muted);line-height:1.45}
.hm-privline>.ic{flex:none;margin-top:2px}
.hm-quietline{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--muted);line-height:1.5;margin:0}
.hm-quietline>.ic{flex:none;color:var(--faint);margin-top:2px}
.hm-al-rows{display:flex;flex-direction:column;padding:0 6px 2px 10px}
.hm-al-r{display:flex;align-items:center;gap:10px;min-height:40px;padding:5px 8px;border-radius:7px;border:0;background:none;width:100%;text-align:left;cursor:pointer;min-width:0;color:var(--ink);font-size:12.5px}
.hm-al-r:hover{background:var(--surface-2)}
.hm-al-r:hover .hm-chev{color:var(--ink-2);transform:translateX(2px)}
.hm-al-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;line-height:1.3}
.hm-al-m>b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-al-m>span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-al-n{font:600 11px var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--surface-3);border-radius:10px;padding:1px 7px}
.hm-al-n.hm-crit{background:var(--crit-soft)}
.hm-al-meta{font:500 10.5px var(--mono);color:var(--muted);white-space:nowrap;flex:none}
.hm-al-split{cursor:default}
.hm-al-link{flex:1;display:flex;align-items:center;gap:8px;border:0;background:none;padding:0;cursor:pointer;min-width:0;text-align:left;color:inherit;font:inherit}
.hm-al-link:hover .hm-al-m b{text-decoration:underline;text-underline-offset:2px}
.hm-al-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:34px;height:32px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line-2);line-height:1;font:600 9.5px var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:none;gap:1px}
.hm-al-date b{font:800 14px var(--display);color:var(--ink);letter-spacing:0}
@container hmc (max-width: 420px){ .hm-al-meta .hm-cal-t{display:none} .hm-al-date+.hm-al-m+.hm-al-meta{display:none} }

/* ---------- team load ---------- */
.hm-sort button{height:24px;padding:0 9px;font-size:12px}
.hm-bands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:12px}
.hm-bc{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:7px 9px 6px;border-radius:9px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}
.hm-bc>span{display:flex;align-items:center;gap:6px}
.hm-bc em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.hm-bc.z b{color:var(--faint)}
.hm-bc:hover{border-color:var(--faint)}
.hm-bc>span>i{width:12px;height:12px;border-radius:4px;background:var(--lc);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);flex:none}
.hm-bc b{font:800 17px/1.1 var(--display);color:var(--ink)}
.hm-bc.on{border-color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--ink)}
.hm-bc.static{cursor:default}
.hm-bc.static:hover{border-color:var(--line-2)}
.hm-bc em i{font-style:normal}
.hm-filter-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 10px;font-size:12px;color:var(--ink-2)}
.hm-free{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 10px 10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line-2);min-width:0}
.hm-fg{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin:-2px 0 0 -4px}
.hm-fg::-webkit-scrollbar{display:none}
.hm-fg button{flex:none;height:22px;padding:0 8px;border-radius:11px;border:0;background:none;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer}
.hm-fg button:hover{color:var(--ink);background:var(--surface-3)}
.hm-fg button.on{background:var(--ink);color:var(--surface)}
.hm-fg button em{font-style:normal;font-weight:500;margin-left:4px;opacity:.7;font-variant-numeric:tabular-nums}
.hm-fl{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 3px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;min-width:0}
.hm-fp{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:22px;background:var(--surface);border:1px solid var(--line-2);cursor:pointer;flex:none;text-align:left;color:var(--ink);transition:border-color .12s}
.hm-fp:hover{border-color:var(--ok)}
.hm-fp b{font-size:12.5px;font-weight:600;white-space:nowrap}
.hm-fp .col>span{font-size:11px;color:var(--muted);white-space:nowrap}
.hm-fp em{font-style:normal;color:var(--ok);font-weight:700}
.hm-fmore{align-self:center;font-size:11.5px;color:var(--muted);white-space:nowrap;padding:0 6px}
button.hm-fmore{border:0;background:none;font-family:inherit;font-weight:600;color:var(--accent-text);cursor:pointer;border-radius:6px;padding:4px 8px}
button.hm-fmore:hover{background:var(--accent-soft)}
.hm-heat-wrap{overflow:auto;max-height:min(600px,72vh);border-radius:9px;border:1px solid var(--line-2);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--surface)}
.hm-heat{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;table-layout:fixed;min-width:360px}
.hm-heat .hm-hn{width:132px}
.hm-heat thead th{position:sticky;top:0;z-index:2;background:var(--surface);padding:7px 2px 6px;border-bottom:1px solid var(--line-2);font-weight:500;text-align:center}
.hm-hd span{display:block;font:600 10px var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.hm-hd b{font:700 13px/1.2 var(--display);color:var(--ink-2)}
.hm-hd.t span,.hm-hd.t b{color:var(--accent-text)}
.hm-hd.t{box-shadow:inset 0 -2px 0 var(--accent)}
.hm-hd.s b{color:var(--muted)}
.hm-hover{display:block;margin:3px auto 0;width:max-content;min-width:16px;padding:0 4px;border-radius:7px;font:700 10px/14px var(--body);font-style:normal;background:var(--crit-soft);color:var(--crit);white-space:nowrap}
.hm-hover.z{visibility:hidden}
.hm-lg,.hm-sm{font-style:normal}
.hm-heat .hm-hn,.hm-heat .hm-n{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left}
.hm-heat .hm-g th{background:var(--surface);text-align:left}
.hm-heat thead .hm-hn{z-index:3}
.hm-n{padding:2px 6px 2px 8px;font-weight:400}
.hm-n-in{display:flex;align-items:center;gap:7px;width:116px;min-width:0}
.hm-n-t{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.hm-n-t b{font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-n-t span{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-heat td{padding:2px}
.hm-heat tr.hm-r td:nth-child(2){background:color-mix(in srgb,var(--accent) 7%,transparent)}
.hm-heat tr.hm-r td:last-child{padding-right:6px}
.hm-c{position:relative;display:flex;align-items:center;justify-content:center;height:28px;min-width:34px;border-radius:5px;background:var(--b);font:600 11.5px var(--body);font-variant-numeric:tabular-nums;color:var(--ink);overflow:hidden}
.hm-c[data-b=over]{font-weight:700;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--crit) 55%,transparent)}
.hm-c[data-b=off]{background:repeating-linear-gradient(-45deg,var(--ld-off) 0 4px,transparent 4px 8px);color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;box-shadow:inset 0 0 0 1px var(--line-2)}
.hm-cs-shoot{position:absolute;top:0;right:0;width:0;height:0;border-top:8px solid color-mix(in srgb,var(--ink) 70%,transparent);border-left:8px solid transparent}
.hm-cs-half{position:absolute;left:5px;right:5px;bottom:3px;height:2px;border-radius:1px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ink) 55%,transparent) 0 3px,transparent 3px 5px)}
.hm-r{cursor:pointer}
.hm-r:hover .hm-n{background:var(--surface-2)}
.hm-r:hover .hm-c{filter:saturate(1.15)}
.hm-r:hover .hm-n-t b{color:var(--accent-text)}
.hm-r:focus{outline:none}
.hm-r:focus-visible .hm-n{box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft)}
.hm-g th{padding:12px 8px 4px}
.hm-g th>*{vertical-align:middle}
.hm-tg:first-of-type .hm-g th{padding-top:6px}
.hm-gb{display:inline-flex;align-items:center;gap:6px;margin-right:8px;border:0;background:none;font:600 10.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;padding:2px 4px 2px 0;border-radius:4px;white-space:nowrap}
.hm-gb:hover{color:var(--ink)}
.hm-gb em{font-style:normal;color:var(--muted);font-weight:500}
.hm-gover,.hm-goff{display:inline-block;padding:0 6px;border-radius:8px;font:600 10.5px/16px var(--mono);background:var(--crit-soft);color:var(--crit);margin-right:4px;white-space:nowrap}
.hm-goff{background:var(--surface-3);color:var(--muted)}
.hm-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:11px;color:var(--muted)}
.hm-legend>span{display:inline-flex;align-items:center;gap:5px}
.hm-legend i:not(.hm-dot){width:10px;height:10px;border-radius:3px;background:var(--lc);display:inline-block;flex:none;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.hm-legend i[data-b=off]{background:repeating-linear-gradient(-45deg,var(--ld-off) 0 2px,transparent 2px 4px)}
.hm-legend i.hm-lg-shoot{width:0;height:0;border:0;border-radius:0;background:none;border-top:8px solid color-mix(in srgb,var(--ink) 70%,transparent);border-left:8px solid transparent}
.hm-legend i.hm-lg-half{height:2px;width:12px;border:0;border-radius:1px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ink) 55%,transparent) 0 3px,transparent 3px 5px)}
.hm-legend i.hm-lg-od{background:repeating-linear-gradient(-45deg,var(--crit) 0 2px,color-mix(in srgb,var(--crit) 40%,transparent) 2px 4px)}
.hm-legend i.hm-lg-mark{width:2px;height:12px;border:0;border-radius:1px;background:var(--ink)}
.hm-legend-top{margin:0 0 8px}
@container hmc (max-width: 420px){
  .hm-heat{min-width:0}
  .hm-heat .hm-hn{width:84px}
  .hm-n{padding:2px 4px 2px 8px}
  .hm-n-in{width:72px}
  .hm-hover{font-size:9px;padding:0 3px}
  .hm-n .av{display:none}
  .hm-heat td{padding:1.5px}
  .hm-c{min-width:28px;height:26px;font-size:10.5px;border-radius:4px}
  .hm-c[data-b=off]{font-size:9px}
  .hm-bc{padding:6px 7px 5px}
  .hm-bc b{font-size:15px}
  .hm-card .hm-lg{display:none}
}
@container hmc (min-width: 421px){ .hm-card .hm-sm{display:none} }

/* ---------- retainer health ---------- */
.hm-rit{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line-2);margin-bottom:12px}
.hm-rit-h{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.hm-rit-h b{font-weight:700}
.hm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;counter-reset:hmstep}
.hm-steps li{position:relative;display:flex;flex-direction:column;gap:1px;padding:7px 9px 6px;border-radius:7px;background:var(--surface);border:1px solid var(--line-2);font-size:11px;color:var(--muted);min-width:0}
.hm-steps li b{font-size:12px;color:var(--ink-2);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-steps li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.hm-steps li.done{background:color-mix(in srgb,var(--ok) 8%,var(--surface));border-color:color-mix(in srgb,var(--ok) 25%,transparent)}
.hm-steps li.done b{color:var(--ok)}
.hm-steps li.done::after{content:"";position:absolute;top:9px;right:9px;width:7px;height:4px;border-left:1.8px solid var(--ok);border-bottom:1.8px solid var(--ok);transform:rotate(-45deg)}
.hm-steps li.now{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.hm-steps li.now b{color:var(--accent-text)}
.hm-steps li.now::after{content:"Now";position:absolute;top:6px;right:7px;font:700 9px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}
@container hmc (max-width: 400px){ .hm-steps{grid-template-columns:repeat(2,minmax(0,1fr))} }
.hm-rit-q{display:flex;align-items:center;gap:7px;margin:0 0 8px;padding:7px 10px;border-radius:8px;background:var(--surface-2);font-size:12px;color:var(--ink-2)}
.hm-rit-q>.ic{color:var(--muted);flex:none}
.hm-rit-q b{font-weight:650;color:var(--ink)}
/* one row per client: name · battery · done/total · health, then what each part of the battery is + calendar chips */
.hm-ret{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n h" "b v" "l l" "c c";gap:6px 12px;padding:11px 10px;border-top:1px solid var(--line-2);align-items:center}
.hm-list>:first-child{border-top-color:transparent}
.hm-ret-n{grid-area:n;display:flex;flex-direction:column;min-width:0}
.hm-ret-n b{font-weight:650;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-ret-n span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-ret-bar{grid-area:b;min-width:0}
.hm-ret-v{grid-area:v;display:flex;align-items:baseline;gap:1px;justify-self:end;white-space:nowrap}
.hm-ret-v b{font:800 16px/1 var(--display);color:var(--ink)}
.hm-ret-v span{font-size:12px;color:var(--muted);font-weight:600}
.hm-ret-v em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink-2);margin-left:6px;min-width:30px;text-align:right}
.hm-ret-h{grid-area:h;justify-self:end}
.hm-ret-l{grid-area:l;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-2);line-height:1.4;min-width:0}
.hm-ret-l b{color:var(--ink);font-weight:650}
.hm-ret-cr{font-size:11.5px;color:var(--muted)}
.hm-ret-cal{grid-area:c;display:flex;gap:4px;flex-wrap:wrap}
.hm-pace{display:flex;align-items:flex-start;gap:5px;font-size:11.5px;color:var(--ink-2)}
.hm-pace .ic{margin-top:2px;flex:none;color:var(--muted)}
.hm-pace b{font-weight:650}
.hm-pace.hot{color:var(--crit)}
.hm-pace.hot .ic{color:var(--crit)}
.hm-ret.slim{grid-template-areas:"n h" "b v"}
.hm-ret-cal:empty{display:none}
@container hmc (min-width: 560px){
  .hm-ret{grid-template-columns:minmax(110px,1fr) minmax(0,2.3fr) 92px 96px;grid-template-areas:"n b v h" "c l l l";row-gap:6px}
  .hm-ret.slim{grid-template-areas:"n b v h"}
  .hm-ret-cal{align-self:start}
}
/* battery (monday-style): segments fill from the left, the empty part is "not started", a nub on the right */
.hm-bat{position:relative;display:block;height:16px;padding:2px;border-radius:6px;border:1.5px solid var(--line);background:var(--surface);margin-right:5px}
.hm-bat::after{content:"";position:absolute;right:-6px;top:50%;width:3px;height:7px;transform:translateY(-50%);border-radius:0 2px 2px 0;background:var(--line)}
.hm-bat-in{position:relative;display:flex;gap:1px;height:100%;border-radius:3px;background:var(--surface-3);overflow:hidden}
.hm-bat-in>i,.hm-bk{display:block;height:100%;flex:none;background:var(--faint)}
:is(.hm-bat-in>i,.hm-bk,.hm-batkey i)[data-k=live]{background:var(--ok)}
:is(.hm-bat-in>i,.hm-bk,.hm-batkey i)[data-k=drive]{background:var(--st-drive)}
:is(.hm-bat-in>i,.hm-bk,.hm-batkey i)[data-k=wip]{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--st-drive) 62%,var(--surface)) 0 3px,color-mix(in srgb,var(--st-drive) 30%,var(--surface)) 3px 6px)}
:is(.hm-bat-in>i,.hm-bk,.hm-batkey i)[data-k=od]{background:repeating-linear-gradient(-45deg,var(--crit) 0 3px,color-mix(in srgb,var(--crit) 40%,transparent) 3px 6px)}
:is(.hm-bk,.hm-batkey i)[data-k=ns]{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line)}
.hm-bat-mk{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ink);box-shadow:0 0 0 1px var(--surface)}
.hm-batkey{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11.5px;color:var(--muted)}
.hm-batkey>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.hm-batkey i{display:inline-block;width:8px;height:8px;border-radius:2px;flex:none}
.hm-batkey b{color:var(--ink-2);font-weight:650}
.hm-legend i.hm-bk{width:10px;height:10px;border-radius:3px}
.hm-cal{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;border-radius:6px;font:600 11px var(--body);letter-spacing:0;border:1px solid transparent;white-space:nowrap;background:var(--surface-3);color:var(--muted)}
.hm-cal b{font:700 9.5px var(--body);text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-right:1px}
.hm-cal[data-s=locked]{background:var(--ok-soft);color:var(--ok)}
.hm-cal[data-s=sent]{background:var(--info-soft);color:var(--info)}
.hm-cal[data-s=draft]{background:var(--warn-soft);color:var(--warn)}
.hm-cal[data-s=none]{background:transparent;border:1px dashed var(--line);color:var(--muted)}
/* in retainer rows the calendar chips are month + icon (status in the tooltip and the ritual line above) */
.hm-ret .hm-cal-t{display:none} .hm-ret .hm-cal{padding:0 6px}
.hm-hl{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--muted)}
.hm-hl i{width:9px;height:9px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--faint)}
.hm-hl[data-h=ok]{color:var(--ink-2);font-weight:500} /* neutral when fine; colour is for what needs a look */
.hm-hl[data-h=ok] i{background:var(--ok);box-shadow:none}
.hm-hl[data-h=warn],.hm-hl[data-h=nocal]{color:var(--warn)}
.hm-hl[data-h=warn] i,.hm-hl[data-h=nocal] i{background:var(--warn);box-shadow:none;border-radius:0;width:10px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.hm-hl[data-h=crit]{color:var(--crit)}
.hm-hl[data-h=crit] i{background:var(--crit);box-shadow:none;border-radius:1px;width:8px;height:8px;transform:rotate(45deg)}

/* ---------- IP output ---------- */
.hm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;background:var(--surface-3)}
.hm-dot[data-k=live]{background:var(--ok)}
.hm-dot[data-k=done]{background:var(--st-drive)}
.hm-dot[data-k=wip]{background:linear-gradient(90deg,var(--c) 50%,transparent 50%);box-shadow:inset 0 0 0 1.5px var(--c)}
.hm-dot[data-k=todo]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--faint)}
.hm-dot[data-k=late]{background:var(--crit);border-radius:2px;transform:rotate(45deg) scale(.8)}
.hm-ipg-h{display:flex;align-items:baseline;gap:4px 8px;flex-wrap:wrap;padding:12px 10px 4px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line-2)}
button.hm-ipg-h{width:100%;border-left:0;border-right:0;border-bottom:0;background:none;text-align:left;font:inherit;font-size:11.5px;cursor:pointer;border-radius:0;align-items:center;padding:10px 10px}
button.hm-ipg-h:hover{background:var(--surface-2)}
button.hm-ipg-h:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.hm-ipg-c{flex:none;color:var(--muted);align-self:center}
.hm-ipg.shut+.hm-ipg button.hm-ipg-h,.hm-ipg.shut+.hm-legend{margin-top:0}
.hm-ipg-h b{font:700 13px var(--display);color:var(--ink);margin-right:2px}
.hm-ip{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"n l o" "t t t" "s s s";gap:6px 12px;align-items:center;padding:8px 10px}
.hm-ip-wm{grid-area:s;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;min-width:0}
.hm-ip-n{grid-area:n;display:flex;flex-direction:column;min-width:0}
.hm-ip-n b{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-ip-n span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-ip-t{grid-area:t;display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
.hm-ip-t em{font-style:normal;font-size:11px}
.hm-ip-t .hm-crit{font:600 10.5px var(--mono);margin-left:1px}
.hm-sep{width:1px;height:12px;background:var(--line);margin:0 3px}
.hm-ip-s{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0}
.hm-ip-s b{color:var(--ink);font-weight:650}
.hm-ip-live{grid-area:l;display:inline-flex;align-items:center;font-size:12.5px;font-weight:600}
.hm-ip-od{grid-area:o}
.hm-ip .r{justify-self:end;text-align:right}
.hm-ip-lb{font-style:normal;font-weight:500;color:var(--muted);font-size:11px}
.hm-ip-od .pill .hm-ip-lb{color:inherit}
.hm-ipg-solo{padding:0;margin-top:4px}
.hm-ip-head{display:none}
@container hmc (min-width: 600px){
  .hm-ip{grid-template-columns:minmax(120px,1.25fr) minmax(110px,1.5fr) minmax(64px,.75fr) minmax(64px,.75fr) 44px 58px;grid-template-areas:"n t w m l o";padding:7px 10px}
  .hm-ip-wm{display:contents}
  .hm-ip-w{grid-area:w}
  .hm-ip-m{grid-area:m}
  .hm-ip-lb{display:none}
  .hm-ip-head{display:grid;padding:2px 10px 4px;font:500 10.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
  .hm-ip-head>span:nth-child(1){grid-area:n}.hm-ip-head>span:nth-child(2){grid-area:t}.hm-ip-head>span:nth-child(3){grid-area:w}.hm-ip-head>span:nth-child(4){grid-area:m}.hm-ip-head>span:nth-child(5){grid-area:l}.hm-ip-head>span:nth-child(6){grid-area:o}
}

/* ---------- campaigns ---------- */
.hm-funnel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
@container hmc (min-width: 560px){ .hm-funnel{grid-template-columns:repeat(4,minmax(0,1fr))} }
.hm-fgp{display:flex;flex-direction:column;gap:4px;min-width:0}
.hm-fgh{display:flex;align-items:center;justify-content:space-between;gap:6px;height:36px;padding:0 20px 0 18px;background:color-mix(in srgb,var(--c) 14%,var(--surface));color:color-mix(in srgb,var(--c) 78%,var(--ink));clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%);font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.07em}
.hm-fgp:first-child .hm-fgh{padding-left:12px;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);border-radius:7px 0 0 7px}
.hm-fgh b{font:800 19px var(--display);letter-spacing:-.01em;color:var(--ink)}
.hm-fst{display:flex;flex-direction:column}
.hm-fs{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 6px;align-items:center;padding:5px 6px;border-radius:6px;border:0;background:none;cursor:pointer;text-align:left;color:var(--ink-2);font-size:12px}
.hm-fs:hover{background:var(--surface-2);color:var(--ink)}
.hm-fs b{font-weight:700;color:var(--ink)}
.hm-fs.z,.hm-fs.z b{color:var(--faint)}
.hm-fs-l{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-fs-l i{width:7px;height:7px;border-radius:2px;background:var(--c);flex:none}
.hm-fs-b{grid-column:1/-1;height:3px;border-radius:2px;background:var(--surface-3);overflow:hidden;display:flex}
.hm-fs-b i{display:block;background:var(--c);height:100%}
.hm-closed{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;margin-top:10px}
.hm-cp{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n l" "s w" "p p";gap:7px 10px;padding:10px;border-top:1px solid var(--line-2);align-items:center}
.hm-cp-n{grid-area:n;display:flex;flex-direction:column;min-width:0;gap:1px}
.hm-cp-b{display:flex;align-items:center;gap:6px;font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-cp-b .pill{height:16px;font:600 9.5px var(--body);text-transform:capitalize;letter-spacing:0;padding:0 6px}
.hm-cp-n>b{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-cp-s{grid-area:s}
.hm-cp-p{grid-area:p;display:flex;flex-direction:column;gap:5px;min-width:0}
.hm-cp-p b{color:var(--ink);font-weight:650}
.hm-cp-w{grid-area:w;display:flex;flex-direction:column;align-items:flex-end;gap:0;font-size:12px;text-align:right}
.hm-cp-l{grid-area:l;justify-self:end}
.hm-when{font-weight:600;white-space:nowrap;display:inline-flex;align-items:center}
.hm-when.live{color:var(--live)}
.hm-nolead{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;border:1.5px dashed var(--faint);color:var(--muted);font:700 11px var(--body)}
@container hmc (min-width: 600px){
  .hm-cp{grid-template-columns:minmax(0,1.3fr) auto minmax(120px,1.4fr) minmax(100px,.8fr) 26px;grid-template-areas:"n s p w l";gap:6px 14px}
}

/* ---------- client revisions ---------- */
.hm-beh{display:flex;flex-direction:column;gap:1px}
.hm-bh{display:grid;grid-template-columns:minmax(0,1fr) minmax(56px,1.1fr) auto;align-items:center;gap:12px;padding:7px 8px;border-radius:8px;border:0;background:none;cursor:pointer;text-align:left;color:var(--ink);width:100%}
.hm-bh:hover{background:var(--surface-2)}
.hm-bh-n{display:flex;flex-direction:column;min-width:0}
.hm-bh-n b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-bh-n span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-bh-b{display:flex;height:10px;border-radius:5px;background:var(--surface-3);overflow:hidden}
.hm-bh-b i{display:block;background:var(--warn);height:100%;flex:none}
.hm-bh-b i.p{background:var(--st-design)}
.hm-bh-v{display:flex;flex-direction:column;align-items:flex-end;min-width:58px;line-height:1.1}
.hm-bh-v b{font:800 17px var(--display)}
.hm-bh-v span{font:500 10.5px var(--mono);color:var(--muted)}

/* ---------- people ---------- */
.hm-ppc{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@container hmc (min-width: 680px){ .hm-ppc{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px} }
.hm-ppc .eyebrow{display:inline-flex;align-items:center;gap:5px;padding:0 8px 2px}
.hm-pp{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;border:0;background:none;width:100%;text-align:left;cursor:pointer;color:var(--ink)}
.hm-pp:hover{background:var(--surface-2)}
.hm-pp-n{display:flex;flex-direction:column;gap:2px;min-width:0}
.hm-pp-n>b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-pp-n>span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-pp-n>span b{color:var(--ink-2);font-weight:600}
.hm-pp-r{display:flex;gap:4px;flex-wrap:wrap}
.hm-pp-r .pill{height:18px;font-size:10.5px;padding:0 6px}
.hm-pp-sp{display:block}
.hm-pp-v{display:flex;flex-direction:column;align-items:flex-end;font:800 16px/1.1 var(--display);min-width:50px}
.hm-pp-v em{font:600 9.5px var(--body);font-style:normal;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.hm-okline{display:flex;align-items:center;gap:6px;padding:6px 8px;color:var(--ok)}
.hm-pp-v.hm-warn,.hm-pp-v.hm-crit{font-weight:800}
.hm-perf-me{display:flex;align-items:center;gap:14px;margin:0 0 12px;min-width:0}
.hm-perf-big{font:800 34px/1 var(--display);letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.hm-perf-big small{font:600 13px var(--body);letter-spacing:0;color:var(--muted);margin-left:2px}
.hm-perf-big.hm-warn{color:var(--warn)} .hm-perf-big.hm-crit{color:var(--crit)}
.hm-perf-l{display:flex;flex-direction:column;gap:1px;min-width:0}
.hm-perf-l b{font-weight:650;font-size:13.5px}
.hm-perf-l span{font-size:12px;color:var(--muted);line-height:1.4}
.hm-pp-wait{display:flex;flex-direction:column;gap:6px}
.hm-how{display:flex;flex-direction:column;gap:10px}
.hm-how p{font-size:13px;line-height:1.55;color:var(--ink-2);margin:0}
.hm-how b{color:var(--ink);font-weight:650;margin-right:6px;white-space:nowrap}
.hm-how .hm-how-note{font-size:12px;color:var(--muted)}
.hm-how-note .ic{vertical-align:-2px}

/* ---------- finish setting up (one hint for the whole screen) ---------- */
.hm-setup{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.hm-setup li{display:flex;align-items:center;gap:12px;padding:10px 2px;border-top:1px solid var(--line-2);min-width:0}
.hm-setup li:first-child{border-top:0;padding-top:2px}
.hm-setup-i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--surface-3);color:var(--ink-2)}
.hm-setup li.done .hm-setup-i{background:var(--ok-soft);color:var(--ok)}
.hm-setup-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.hm-setup-t b{font-weight:650;font-size:13px}
.hm-setup-t span{font-size:12px;color:var(--muted);line-height:1.4}
.hm-setup li.done .hm-setup-t b{color:var(--ink-2)}
.hm-setup .btn{flex:none}

/* ---------- activity ---------- */
.hm-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.hm-log li{position:relative}
.hm-log li:not(:last-child)::after{content:"";position:absolute;left:20px;top:36px;bottom:-4px;width:1px;background:var(--line-2)}
.hm-le{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:8px;border-radius:8px;border:0;background:none;width:100%;text-align:left;color:var(--ink);text-decoration:none;font-size:12.5px;line-height:1.4}
button.hm-le,a.hm-le{cursor:pointer}
button.hm-le:hover,a.hm-le:hover{background:var(--surface-2)}
.hm-le .av{position:relative;z-index:1}
.hm-log-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.hm-log-t b{font-weight:600}
.hm-log-o{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-log-k{display:inline-flex;align-items:center;gap:5px;font:500 10.5px var(--mono);color:var(--muted);white-space:nowrap;padding-top:2px}
.hm-log-k .hm-rd{margin:0}

/* ---------- folding less urgent cards ---------- */
.hm-fold{width:28px;height:28px;border:1px solid transparent;border-radius:7px;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer;flex:none}
.hm-fold:hover{background:var(--surface-3);color:var(--ink)}
.hm-folded .hm-ch{padding-bottom:14px}
.hm-folded{box-shadow:none;background:var(--surface-2)}

/* ---------- reports frozen (bottom of the pulse card) ---------- */
.hm-frz{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding-top:12px;border-top:1px dashed var(--line);min-width:0}
.hm-frz .eyebrow{margin-right:2px}
.hm-frz-i{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 10px 3px 8px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface-2);font:inherit;font-size:12px;color:var(--ink-2);text-align:left;min-width:0;max-width:100%}
.hm-frz-i>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-frz-i b{font-weight:650;color:var(--ink)}
.hm-frz-i em{font-style:normal;font-weight:600;white-space:nowrap}
.hm-frz-i[data-s=ok]{cursor:pointer}
.hm-frz-i[data-s=ok]:hover{border-color:var(--line);background:var(--surface)}
.hm-frz-i[data-s=ok] .ic,.hm-frz-i[data-s=ok] em{color:var(--ok)}
.hm-frz-i[data-s=none]{box-shadow:inset 3px 0 0 var(--warn)}
.hm-frz-i[data-s=none] .ic,.hm-frz-i[data-s=none] em{color:var(--warn)}
.hm-frz-i[data-s=wait] .ic,.hm-frz-i[data-s=wait] em{color:var(--muted)}
.hm-frz-i .btn{margin-left:4px}
.hm-frz-go{flex:none}
.hm-frz .spacer{flex:1 1 0}
.hm-frz-q{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;border:0;background:none;padding:2px 6px 2px 0;border-radius:6px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;text-align:left}
.hm-frz-q>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-frz-q b{font-weight:600;color:var(--ink-2)}
.hm-frz-q>.ic:last-child{opacity:0;transition:opacity .15s;flex:none}
.hm-frz-q:hover{color:var(--ink-2)}
.hm-frz-q:hover>.ic:last-child,.hm-frz-q:focus-visible>.ic:last-child{opacity:1}
@media (hover:none){.hm-frz-q>.ic:last-child{opacity:.6}}
@container hmc (max-width: 520px){ .hm-frz-i{flex:1 1 100%} .hm-frz .spacer{display:none} }

/* ---------- shoots at risk: call-sheet tickets ---------- */
.hm-tixs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr);gap:10px;overflow-x:auto;padding:2px 2px 6px;margin:0 -2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
@container hmc (min-width: 760px){ .hm-tixs{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));overflow:visible} }
.hm-tix{--t:var(--info);position:relative;display:flex;flex-direction:column;gap:9px;padding:11px 12px 10px 14px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);box-shadow:inset 3px 0 0 var(--t);text-align:left;color:var(--ink);font:inherit;cursor:pointer;min-width:0;scroll-snap-align:start;transition:border-color .12s,box-shadow .12s}
.hm-tix:hover{border-color:var(--line);box-shadow:inset 3px 0 0 var(--t),var(--shadow)}
.hm-tix[data-tone=crit]{--t:var(--crit)} .hm-tix[data-tone=warn]{--t:var(--warn)}
/* perforation between the header and the issues, like a ticket stub */
.hm-tix-h{display:flex;align-items:flex-start;gap:10px;min-width:0;padding-bottom:9px;border-bottom:1px dashed var(--line)}
.hm-tix-d{display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:40px;border-radius:8px;flex:none;background:color-mix(in srgb,var(--st-shoot) 12%,var(--surface));color:color-mix(in srgb,var(--st-shoot) 75%,var(--ink));font:700 9.5px var(--body);text-transform:uppercase;letter-spacing:.04em;line-height:1;gap:2px}
.hm-tix-d b{font:800 17px var(--display);letter-spacing:0}
.hm-tix-t{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.hm-tix-t b{font-weight:650;font-size:13.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-tix-t span{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-tix-v{font:600 10.5px var(--mono);padding:1px 6px;border-radius:5px;background:var(--warn-soft);color:var(--warn);flex:none}
.hm-tix-is{display:flex;flex-direction:column;gap:6px;min-width:0}
.hm-tix-i{--it:var(--info);display:flex;align-items:flex-start;gap:7px;font-size:12px;min-width:0}
.hm-tix-i>.ic{color:var(--it);flex:none;margin-top:1px}
.hm-tix-i>span{display:flex;flex-direction:column;min-width:0}
.hm-tix-i b{font-weight:650;color:var(--ink)}
.hm-tix-i em{font-style:normal;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hm-tix-i[data-tone=crit]{--it:var(--crit)} .hm-tix-i[data-tone=crit] b{color:var(--crit)}
.hm-tix-i[data-tone=warn]{--it:var(--warn)}
.hm-tix-more{font-size:11.5px;color:var(--muted);padding-left:20px}
.hm-tix-f{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);margin-top:auto;min-width:0}
.hm-tix-f>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* ---------- check these (integrity) ---------- */
.hm-ft{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding:1px 1px 10px;margin:0 -1px;-webkit-overflow-scrolling:touch}
.hm-ft::-webkit-scrollbar{display:none}
@container hmc (min-width: 520px){ .hm-ft{flex-wrap:wrap;overflow:visible} }
.hm-ftc{--t:var(--info);display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:13px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:550;color:var(--ink-2);cursor:pointer;white-space:nowrap;flex:none}
.hm-ftc:hover{border-color:var(--faint);color:var(--ink)}
.hm-ftc i{width:7px;height:7px;border-radius:50%;background:var(--t);flex:none}
.hm-ftc[data-tone=crit]{--t:var(--crit)} .hm-ftc[data-tone=crit] i{border-radius:1px;transform:rotate(45deg)}
.hm-ftc[data-tone=warn]{--t:var(--warn)} .hm-ftc[data-tone=warn] i{border-radius:0;width:8px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.hm-ftc b{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.hm-ftc.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.hm-ftc.on b{color:var(--surface)}
.hm-frs{display:flex;flex-direction:column;gap:6px}
@container hmc (max-width: 420px){ #hm-int .hm-ch .pill{display:none} }
.hm-fr{width:100%;text-align:left;color:var(--ink);font:inherit;align-items:center}
button.hm-fr{cursor:pointer;transition:border-color .12s,background .12s}
button.hm-fr:hover{border-color:var(--line);background:var(--surface-2)}
button.hm-fr:hover .hm-chev{color:var(--ink-2);transform:translateX(2px)}
.hm-fr>.ic:first-child{flex:none;color:var(--muted)}
.hm-fr.crit>.ic:first-child{color:var(--crit)} .hm-fr.warn>.ic:first-child{color:var(--warn)} .hm-fr.info>.ic:first-child{color:var(--info)}
.hm-fr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.hm-fr-k{font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hm-fr-m>b{font-weight:600;font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
.hm-fr-n{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-fr .av-stack{flex:none}

/* ---------- ideas vs targets ---------- */
.hm-ids{display:flex;flex-direction:column;gap:2px}
.hm-id{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n v" "b p";gap:5px 12px;align-items:center;padding:8px;border-radius:8px;border:0;background:none;width:100%;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.hm-id:hover{background:var(--surface-2)}
.hm-id-n{grid-area:n;display:flex;flex-direction:column;min-width:0}
.hm-id-n b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-id-n span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-id-b{grid-area:b;position:relative;display:block;min-width:0}
.hm-id-tr{display:flex;height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden;gap:1px}
.hm-id-tr i{display:block;height:100%;background:var(--st-script);flex:none}
.hm-id-tr i.ov{background:repeating-linear-gradient(-45deg,var(--warn) 0 3px,color-mix(in srgb,var(--warn) 40%,transparent) 3px 6px)}
.hm-id-mk{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink);border-radius:1px;box-shadow:0 0 0 1.5px var(--surface)}
.hm-id-v{grid-area:v;display:flex;align-items:baseline;gap:8px;justify-content:flex-end;font-size:11.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.hm-id-v>b{font:800 15px var(--display);color:var(--ink)}
.hm-id-v>b em{font-style:normal;font-size:12px;color:var(--muted);font-weight:600}
.hm-id-d{display:inline-flex;align-items:center;gap:3px;color:var(--warn)}
.hm-id-p{grid-area:p;justify-self:end}
@container hmc (min-width: 520px){
  .hm-id{grid-template-columns:minmax(120px,1fr) minmax(80px,1.1fr) auto 64px;grid-template-areas:"n b v p";gap:4px 14px}
}
.hm-hintline{font-size:11.5px;color:var(--muted);margin-top:8px;padding:0 8px}

/* ---------- compact density ---------- */
:root[data-density="compact"] .hm-ret{padding:7px 8px;row-gap:4px}
:root[data-density="compact"] .hm-al-r{min-height:32px;padding:3px 8px}
:root[data-density="compact"] .hm-tix{padding:8px 10px 8px 12px;gap:7px}
:root[data-density="compact"] .hm-tix-h{padding-bottom:7px}
:root[data-density="compact"] .flag-row.hm-fr{padding:6px 10px}
:root[data-density="compact"] .hm-id{padding:5px 8px}
:root[data-density="compact"] .hm-ip{padding-block:5px}
:root[data-density="compact"] .hm-cp{padding:7px 10px}
:root[data-density="compact"] .hm-ch{padding:10px 14px 8px}
:root[data-density="compact"] .hm-cb{padding:0 14px 12px}
