/* =====================================================================================
   RJ DTC Admin · Round 2 kit · families/overlays/family.css
   Side sheet, dialog, confirm, destructive + typed confirm, confirm unverified currency,
   popover, dropdown menu, tooltip, hover card. Prefix: ov-. Values from tokens.css only.
   Motion: the shared .k-sheet / .k-dialog / .k-pop / .k-toast hooks in base.css; this file
   adds only the phone bottom sheet / full-screen variants and the tooltip + hover card fades.
   ===================================================================================== */

/* ---------- stages: the positioned boxes the demos live in ---------- */
.ov-stage{background:hsl(var(--background))}
.ov-stage.k-stage{border-radius:0}
.ov-sheet-host{position:relative;overflow:hidden;background:hsl(var(--background))}
.ov-hint{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-small);color:hsl(var(--muted-foreground))}

/* mini catalogue table behind the sheet */
.ov-tbl{width:100%}
.ov-tbl-h,.ov-tr{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1.3fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,.5fr) auto;
  gap:var(--s-4);align-items:center;padding:0 var(--s-6)}
.ov-tbl-h{height:var(--row-th);background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border));
  font:var(--w-semibold) var(--text-micro)/1 var(--font-title);font-stretch:var(--font-stretch-title);color:hsl(var(--muted-foreground))}
.ov-tr{height:calc(var(--row) + var(--s-3));border-bottom:1px solid hsl(var(--border))}
.ov-tr .num{text-align:right}
.ov-tbl-h .num{text-align:right}
.ov-prod{display:flex;align-items:center;gap:var(--s-3);min-width:0}
.ov-prod b{display:block;font-weight:var(--w-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ov-prod small{display:block;color:hsl(var(--muted-foreground));font-size:var(--text-small)}
.ov-tr.is-current{background:hsl(var(--accent)/.6)}

/* ---------- side sheet anatomy (the approved board 3 quick edit) ---------- */
.ov-sh-h{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4) var(--s-5) var(--s-3);border-bottom:1px solid hsl(var(--border));flex:none}
.ov-sh-h .thumb{width:calc(var(--s-8) + var(--s-1));height:var(--s-12)}
.ov-sh-h .ov-who{flex:1;min-width:0}
.ov-kicker{display:block;color:hsl(var(--muted-foreground));font-size:var(--text-small)}
.ov-t{font-family:var(--font-title);font-stretch:var(--font-stretch-title);font-weight:var(--w-semibold);font-size:var(--text-section);
  line-height:var(--lh-section);letter-spacing:var(--tr-section)}
.ov-sh-h .code{display:block;color:hsl(var(--muted-foreground));margin-top:2px}
.ov-sh-b{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-5)}
.ov-sh-f{flex:none;display:flex;gap:var(--s-2);align-items:center;padding:var(--s-3) var(--s-5);border-top:1px solid hsl(var(--border));background:hsl(var(--popover))}
.ov-sh-f .r{margin-left:auto;display:flex;gap:var(--s-2);align-items:center}
.ov-sum{font-size:var(--text-small);color:hsl(var(--muted-foreground));min-width:0}
.ov-sum b{color:hsl(var(--foreground));font-weight:var(--w-medium)}
.ov-dirty{display:none;align-items:center;gap:6px;font-size:var(--text-small);color:hsl(var(--warning));font-weight:var(--w-medium)}
.ov-dirty::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.is-dirty .ov-dirty,.ov-dirty.on{display:inline-flex}
.is-dirty .ov-open-full{display:none}

/* sheet widths: small = --sheet-w (quick edit), medium (detail), large (create / long forms) */

.ov-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);padding:var(--s-5) var(--s-6);border-bottom:1px solid hsl(var(--border))}
.ov-size{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}
.ov-size b{font:var(--w-semibold) var(--text-card)/1.2 var(--font-title);font-stretch:var(--font-stretch-title)}
.ov-size small{font-size:var(--text-small);color:hsl(var(--muted-foreground))}
.ov-bar{height:var(--s-2);border-radius:var(--r-pill);background:hsl(var(--muted));position:relative;overflow:hidden}
.ov-bar i{position:absolute;right:0;top:0;bottom:0;background:hsl(var(--primary));border-radius:var(--r-pill)}

/* sheet controls (local to overlays; the full control set lives in form-controls) */

.ov-money{display:flex;height:var(--control-h);border:1px solid hsl(var(--input));border-radius:var(--r-control);overflow:hidden;background:hsl(var(--background));
  transition:border-color var(--motion-hover),box-shadow var(--motion-focus)}
.ov-money:focus-within{border-color:hsl(var(--ring));box-shadow:var(--focus-ring)}
.ov-money .sym{display:grid;place-items:center;width:var(--s-8);color:hsl(var(--muted-foreground));border-right:1px solid hsl(var(--input));background:hsl(var(--muted))}
.ov-money input{flex:1;min-width:0;border:0;outline:0;padding:0 var(--s-3);font-weight:var(--w-medium);font-variant-numeric:tabular-nums;background:transparent}
.ov-money .cur{display:flex;align-items:center;gap:4px;padding:0 var(--s-3);border-left:1px solid hsl(var(--input));font-size:var(--text-btn-sm);font-weight:var(--w-medium)}
.ov-fx{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);align-items:center;margin-top:var(--s-2);font-size:var(--text-small);color:hsl(var(--muted-foreground))}
.ov-fx b{color:hsl(var(--foreground));font-weight:var(--w-medium);font-variant-numeric:tabular-nums}
.ov-combo{display:grid;grid-template-columns:18px minmax(0,1fr) auto calc(var(--s-16) + var(--s-6));gap:var(--s-3);align-items:center;padding:9px 0;
  border-bottom:1px solid hsl(var(--border));font-size:var(--text-btn-sm)}
.ov-combo:last-child{border-bottom:0}
.ov-combo .p{text-align:right;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}
.ov-ovr{height:30px;border:1px solid hsl(var(--input));border-radius:var(--r-control);padding:0 var(--s-2);display:flex;align-items:center;font-size:var(--text-small);
  color:hsl(var(--muted-foreground));background:hsl(var(--background));font-variant-numeric:tabular-nums}
.ov-ovr.set{color:hsl(var(--foreground));border-color:hsl(var(--ring))}

.ov-note{display:flex;gap:var(--s-2);align-items:flex-start;padding:var(--s-3);border-radius:var(--r-card);background:hsl(var(--muted));font-size:var(--text-small);line-height:1.45}
.ov-note svg{margin-top:1px;color:hsl(var(--locked))}
.ov-note.warn{background:hsl(var(--warning)/.07);box-shadow:inset 0 0 0 1px hsl(var(--warning)/.28)}
.ov-note.warn svg{color:hsl(var(--warning))}
.ov-note.err{background:hsl(var(--destructive)/.06);box-shadow:inset 0 0 0 1px hsl(var(--destructive)/.3)}
.ov-note.err svg{color:hsl(var(--destructive))}
.ov-note b{font-weight:var(--w-semibold)}
.ov-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-6)}
.ov-fields .span{grid-column:1/-1}
.ov-presets{display:flex;gap:6px;margin-top:var(--s-2);flex-wrap:wrap}
.ov-presets span{height:26px;display:inline-flex;align-items:center;padding:0 var(--s-2);border:1px solid hsl(var(--border));border-radius:var(--r-control);
  font-size:var(--text-small);color:hsl(var(--muted-foreground))}
.ov-presets span.on{background:hsl(var(--accent));border-color:hsl(var(--ring)/.5);color:hsl(var(--accent-foreground));font-weight:var(--w-medium)}
.ov-scopes{border:1px solid hsl(var(--border));border-radius:var(--r-card);overflow:hidden}
.ov-scope{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--s-3);align-items:center;padding:var(--s-2) var(--s-3);border-bottom:1px solid hsl(var(--border));font-size:var(--text-btn-sm)}
.ov-scope:last-child{border-bottom:0}
.ov-scope small{color:hsl(var(--muted-foreground));font-size:var(--text-small)}
.ov-rw{display:inline-flex;gap:4px}
.ov-rw span{min-width:22px;height:20px;padding:0 5px;border-radius:var(--r-chip);display:inline-grid;place-items:center;font:var(--w-semibold) var(--text-micro)/1 var(--font-code);
  background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.ov-rw span.on{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.ov-skel{display:block;height:10px;border-radius:var(--r-chip);background:hsl(var(--foreground)/.07)}

/* ---------- dialog / confirm anatomy ---------- */
.ov-panel{background:hsl(var(--popover));border-radius:var(--r-frame);box-shadow:var(--e-dialog);overflow:hidden}
.ov-panel.ov-flat{box-shadow:var(--e-frame)}
.ov-dg-h{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-5) var(--s-6) var(--s-2)}
.ov-dg-h .ov-who{flex:1;min-width:0}
.ov-dg-h .icon-btn{margin:-6px -8px 0 0}
.ov-ic{width:var(--s-8);height:var(--s-8);border-radius:var(--r-control);display:grid;place-items:center;flex:none;background:hsl(var(--muted));color:hsl(var(--foreground))}
.ov-ic.danger{background:hsl(var(--destructive)/.09);color:hsl(var(--destructive))}
.ov-ic.warn{background:hsl(var(--warning)/.1);color:hsl(var(--warning))}
.ov-dg-b{padding:0 var(--s-6) var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}
.ov-dg-b p{color:hsl(var(--muted-foreground));line-height:1.5}
.ov-dg-b p b{color:hsl(var(--foreground));font-weight:var(--w-medium)}
.ov-dg-f{display:flex;gap:var(--s-2);align-items:center;justify-content:flex-end;padding:var(--s-3) var(--s-6);border-top:1px solid hsl(var(--border));background:hsl(var(--muted)/.5)}
.ov-dg-f .l{margin-right:auto}
.ov-list{border:1px solid hsl(var(--border));border-radius:var(--r-card);overflow:hidden}
.ov-li{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-2) var(--s-3);border-bottom:1px solid hsl(var(--border));min-height:var(--row)}
.ov-li:last-child{border-bottom:0}
.ov-li .grow{flex:1;min-width:0;line-height:1.3}
.ov-li .grow small{display:block;color:hsl(var(--muted-foreground));font-size:var(--text-small)}
.ov-li .money{font-weight:var(--w-medium);white-space:nowrap}
.ov-li .money small{color:hsl(var(--muted-foreground));font-weight:var(--w-regular)}
.ov-li .thumb{width:24px;height:32px}
.ov-ack{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3);border-radius:var(--r-card);border:1px solid hsl(var(--input));cursor:pointer;
  transition:border-color var(--motion-hover),background-color var(--motion-hover)}
.ov-ack:has(:checked){border-color:hsl(var(--primary));background:hsl(var(--accent)/.5)}
.ov-ack span{line-height:1.4}
.ov-ack small{display:block;color:hsl(var(--muted-foreground));font-size:var(--text-small)}
.ov-type .input{font-family:var(--font-code);font-size:var(--text-code)}
.ov-type .lbl code{background:hsl(var(--muted));padding:2px 5px;border-radius:var(--r-chip);font-weight:var(--w-medium)}
.ov-match{font-size:var(--text-micro);margin-top:6px;color:hsl(var(--muted-foreground))}
.ov-match.ok{color:hsl(var(--success))}
.ov-match.err{color:hsl(var(--destructive))}

/* stacked guard dialog above an open sheet */

/* static dialogs sitting on a .well (frozen open state, not positioned) */
.ov-stack{display:flex;flex-direction:column;gap:var(--s-5)}
.ov-centre{display:grid;place-items:center;padding:var(--s-6) 0}

/* ---------- toast inside a stage (save confirmation; generic toasts live in status-feedback) ---------- */
.ov-toast{position:absolute;left:var(--s-6);bottom:var(--s-5);z-index:var(--z-toast);min-width:280px;width:auto}  /* surface = shared .toast */

/* ---------- popover + dropdown menu ---------- */

.menu.ov-static{display:inline-block}

.ov-pop{width:312px}
.ov-pop.ov-static{display:block}
.ov-pop h4{font:var(--w-semibold) var(--text-card)/1.3 var(--font-title);font-stretch:var(--font-stretch-title);margin-bottom:2px}
.ov-pop>p{font-size:var(--text-small);color:hsl(var(--muted-foreground));margin-bottom:var(--s-3)}
.ov-dl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s-2) var(--s-3);align-items:baseline;font-size:var(--text-body)}
.ov-dl dt{color:hsl(var(--muted-foreground))}
.ov-dl dd{text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--w-medium)}
.ov-dl .chip{justify-self:end}
.ov-pop-f{display:flex;gap:var(--s-2);justify-content:flex-end;margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid hsl(var(--border))}
.ov-moneycell{display:inline-flex;align-items:center;gap:6px;height:var(--control-h-sm);padding:0 var(--s-2);border-radius:var(--r-control);font-weight:var(--w-medium);
  font-variant-numeric:tabular-nums;border:1px solid transparent;transition:background-color var(--motion-hover),border-color var(--motion-hover)}
.ov-moneycell:hover,.open>.ov-moneycell{background:hsl(var(--muted));border-color:hsl(var(--border))}
.ov-moneycell .dot{width:6px;height:6px;background:hsl(var(--warning))}

/* demo row holding menus / popovers */
.ov-demo{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border:1px solid hsl(var(--border));border-radius:var(--r-card);background:hsl(var(--background))}
.ov-demo .ov-prod{flex:1}
.ov-demo-wrap{min-height:330px}

/* ---------- tooltip ---------- */

.ov-tiprow{display:flex;gap:var(--s-10);align-items:flex-end;flex-wrap:wrap;padding-top:var(--s-12)}
.ov-tiprow .ov-cap{display:block;font-size:var(--text-small);color:hsl(var(--muted-foreground));margin-top:var(--s-3);text-align:center}
.ov-tipcol{display:flex;flex-direction:column;align-items:center}

/* ---------- hover card ---------- */
.ov-hc{position:relative;display:inline-flex}
.ov-hc-t{font-family:var(--font-code);font-size:var(--text-code);text-decoration:underline dotted hsl(var(--muted-foreground));text-underline-offset:3px;cursor:default;border-radius:var(--r-chip)}
.ov-hcard{position:absolute;top:calc(100% + var(--s-2));left:0;z-index:var(--z-tip);width:320px;padding:var(--s-4);border:1px solid hsl(var(--border));border-radius:var(--r-card);
  background:hsl(var(--popover));box-shadow:var(--e-pop);opacity:0;visibility:hidden;transform:translateY(var(--pop-shift));
  transition:opacity var(--motion-pop-out),transform var(--motion-pop-out),visibility 0s linear var(--motion-handoff)}
.ov-hc:hover>.ov-hcard,.ov-hc:focus-within>.ov-hcard{opacity:1;visibility:visible;transform:none;
  transition:opacity var(--motion-pop-in),transform var(--motion-pop-in),visibility 0s;transition-delay:var(--hovercard-delay)}
.ov-hcard.ov-static{position:static;opacity:1;visibility:visible;transform:none}
.ov-hc-top{display:flex;gap:var(--s-3);align-items:center}
.ov-sw{width:var(--s-12);height:var(--s-12);border-radius:var(--r-control);flex:none;box-shadow:inset 0 0 0 1px hsl(var(--foreground)/.1)}
.ov-hc-top b{display:block;font:var(--w-semibold) var(--text-card)/1.3 var(--font-title);font-stretch:var(--font-stretch-title)}
.ov-hc-top small{display:block;color:hsl(var(--muted-foreground));font-size:var(--text-small)}
.ov-hcard .ov-dl{grid-template-columns:auto minmax(0,1fr);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid hsl(var(--border));font-size:var(--text-small)}
.ov-hcard .ov-dl dd{font-weight:var(--w-regular)}
.ov-hcard .ov-used{margin-top:var(--s-3);font-size:var(--text-small);color:hsl(var(--muted-foreground))}

/* ---------- motion table + reduced-motion preview ---------- */
.ov-mt{width:100%;font-size:var(--text-body)}
.ov-mt th{text-align:left;font:var(--w-semibold) var(--text-micro)/1 var(--font-title);font-stretch:var(--font-stretch-title);color:hsl(var(--muted-foreground));
  padding:0 var(--s-4) var(--s-2) 0;border-bottom:1px solid hsl(var(--border))}
.ov-mt td{padding:var(--s-3) var(--s-4) var(--s-3) 0;border-bottom:1px solid hsl(var(--border));vertical-align:top}
.ov-mt tr:last-child td{border-bottom:0}
.ov-mt td code{font-size:var(--text-micro)}
.ov-mt td b{font-weight:var(--w-medium)}
.ov-rm{--motion-pop-in:1ms linear;--motion-pop-out:1ms linear;--motion-sheet-in:1ms linear;--motion-sheet-out:1ms linear;
  --motion-toast-in:1ms linear;--motion-toast-out:1ms linear;--pop-shift:0px;--toast-shift:0px;--tooltip-delay:0ms;--hovercard-delay:0ms}
.ov-switch{display:inline-flex;align-items:center;gap:var(--s-2);font:var(--w-medium) var(--text-btn-sm)/1 var(--font-title);font-stretch:var(--font-stretch-title)}
.ov-switch i{width:36px;height:20px;border-radius:var(--r-pill);background:hsl(var(--input));position:relative;transition:background-color var(--motion-hover)}
.ov-switch i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:hsl(var(--background));box-shadow:var(--e-btn);transition:transform var(--motion-hover)}
.ov-switch[aria-checked=true] i{background:hsl(var(--primary))}
.ov-switch[aria-checked=true] i::after{transform:translateX(16px)}

/* ---------- focus trap specimen ---------- */
.ov-fo{position:relative}
.ov-fo-n{position:absolute;z-index:3;min-width:18px;height:18px;padding:0 4px;border-radius:var(--r-pill);background:hsl(var(--ring));color:hsl(var(--primary-foreground));
  display:grid;place-items:center;font:var(--w-semibold) var(--text-10-5)/1 var(--font-code)}
.ov-trap{box-shadow:var(--e-sheet),inset 0 0 0 2px hsl(var(--ring)/.35)}
.ov-facts{display:grid;gap:var(--s-3);font-size:var(--text-body)}
.ov-facts div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid hsl(var(--border))}
.ov-facts div:last-child{border-bottom:0}
.ov-facts dt{font:var(--w-semibold) var(--text-label)/1.4 var(--font-title);font-stretch:var(--font-stretch-title)}
.ov-facts dd{color:hsl(var(--muted-foreground))}

/* =================================== PHONE (/m/) =================================== */
/* bottom sheet: the side sheet rises from the bottom edge instead */

.kit-m .ov-sh-h{padding:var(--s-3) var(--s-4)}
.kit-m .ov-sh-b{padding:var(--s-4)}
.kit-m .ov-sh-f{padding:var(--s-3) var(--s-4) var(--s-4)}
.kit-m .ov-sh-f .btn{flex:1}

.kit-m .ov-money{height:var(--control-h-m)}
.kit-m .ov-dg-h{padding:var(--s-4) var(--s-4) var(--s-2)}
.kit-m .ov-dg-b{padding:0 var(--s-4) var(--s-4)}
.ov-pbtns{display:flex;flex-direction:column-reverse;gap:var(--s-2);padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid hsl(var(--border))}
.ov-pbtns .btn{width:100%;height:var(--control-h-m-lg);font-size:var(--text-btn-lg)}

.ov-fullbar{display:flex;align-items:center;gap:var(--s-2);height:52px;padding:0 var(--s-2);border-bottom:1px solid hsl(var(--border));flex:none}
.ov-fullbar .ov-t{flex:1;text-align:center;font-size:15px}
.ov-fullbar .btn{height:var(--control-h-m)}
.ov-plist{display:flex;flex-direction:column}
.ov-prow{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid hsl(var(--border));min-height:68px}
.ov-prow .ov-prod{flex:1}
.ov-prow .money{font-weight:var(--w-medium);white-space:nowrap}
.ov-prow .ov-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
/* action sheet (a ⋯ menu on the phone) */
.k-sheet.ov-as{background:transparent;box-shadow:none;padding:0 var(--s-2) var(--s-2);gap:var(--s-2)}
.ov-asg{background:hsl(var(--popover));border-radius:var(--r-frame);overflow:hidden;box-shadow:var(--e-phone-sheet)}
.ov-ash{padding:var(--s-3) var(--s-4);border-bottom:1px solid hsl(var(--border));text-align:center}
.ov-ash b{display:block;font:var(--w-semibold) var(--text-body)/1.3 var(--font-title);font-stretch:var(--font-stretch-title)}
.ov-ash small{font-size:var(--text-small);color:hsl(var(--muted-foreground))}
.ov-asi{display:flex;align-items:center;gap:var(--s-3);width:100%;height:var(--control-h-m-lg);padding:0 var(--s-4);border-bottom:1px solid hsl(var(--border));
  font:var(--w-medium) 15px/1 var(--font-title);font-stretch:var(--font-stretch-title);color:hsl(var(--foreground));text-align:left}
.ov-asi:last-child{border-bottom:0}
.ov-asi svg{color:hsl(var(--muted-foreground))}
.ov-asi:active{background:hsl(var(--muted))}
.ov-asi.danger,.ov-asi.danger svg{color:hsl(var(--destructive))}
.ov-asi.cancel{justify-content:center;font-weight:var(--w-semibold)}
.ov-asi[aria-disabled=true]{color:hsl(var(--muted-foreground))}
.ov-asi[aria-disabled=true] small{margin-left:auto;font:var(--w-regular) var(--text-small)/1 var(--font-ui)}
.ov-asl{padding:var(--s-2) var(--s-4) var(--s-1);font-size:var(--text-micro);font-weight:var(--w-medium);color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.6);border-bottom:1px solid hsl(var(--border))}
.kit-m .ov-toast{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);min-width:0}
.kit-m .ov-mt td,.kit-m .ov-mt th{padding-right:var(--s-2)}
.kit-m .ov-fields{grid-template-columns:minmax(0,1fr)}
.ov-press{display:flex;align-items:center;justify-content:center;padding:var(--s-16) 0 var(--s-4)}
.ov-mlist{display:flex;flex-direction:column}
.ov-mlist div{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid hsl(var(--border));font-size:var(--text-small)}
.ov-mlist div:last-child{border-bottom:0}
.ov-mlist b{font-weight:var(--w-medium);font-size:var(--text-body)}
.ov-mlist span{color:hsl(var(--muted-foreground));text-align:right}

/* ---------- fixes after the first look ---------- */

.ov-tfoot{display:flex;align-items:center;height:var(--s-12);padding:0 var(--s-6);font-size:var(--text-small);color:hsl(var(--muted-foreground))}
.ov-fo{position:relative;display:inline-flex}
.ov-fo.blk{display:flex;flex-direction:column}
.ov-fo>.ov-fo-n{top:calc(var(--s-2) * -1);right:calc(var(--s-2) * -1)}
.k-sheet.ov-trap::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .35);pointer-events:none;z-index:4}
.k-sheet.ov-trap{box-shadow:var(--e-sheet)}
.ov-tiprow .ov-tipcol{min-width:0}

.ov-tstates .state-v{padding-top:var(--s-10)}
.kit-m .ov-tstates .state-v{padding-top:var(--s-8)}
/* phone: stack the section head (base.css keeps it in one row) */

.kit-m .ov-sh-f.ov-col{flex-direction:column;align-items:stretch}
.kit-m .ov-sh-f.ov-col .btn{flex:none}
.ov-prod small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ov-prod>div{min-width:0}
