/* ==========================================================================
   Scope — SOW studio (the document workspace)
   Built on index.html's tokens; the document itself is styled by
   api/sow_css.php (sow_doc_css()), the same sheet the signer and the printer
   get, so nothing here restyles the page a client sees.
   ========================================================================== */

.st{--st-head:58px;margin:calc(-1 * var(--pad-content));min-height:calc(100vh - var(--topbar-h))}
.st-head{position:sticky;top:var(--topbar-h);z-index:25;background:var(--surface-raised);border-bottom:1px solid var(--border)}
.st-head-in{display:flex;align-items:center;gap:12px;padding:10px var(--pad-content) 0;flex-wrap:wrap}
.st-back{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);border:1px solid var(--border);background:var(--surface-sunken);flex-shrink:0}
.st-back:hover{color:var(--accent);border-color:var(--accent)}
.st-back svg{width:16px;height:16px;transform:scaleX(-1)}
.st-ttl{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px}
.st-ttl input{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;border:1px solid transparent;background:none;border-radius:var(--radius-xs);padding:3px 6px;margin-left:-6px;color:var(--text-primary);width:100%;max-width:720px;outline:none}
.st-ttl input:hover{border-color:var(--border)}
.st-ttl input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);background:var(--surface-raised)}
.st-ttl input:disabled{color:var(--text-primary)}
.st-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-muted)}
.st-meta .ref{font-family:var(--font-mono);letter-spacing:.04em}
.st-save{display:inline-flex;align-items:center;gap:5px}
.st-save:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--positive)}
.st-save.dirty:before{background:var(--warning)}
.st-save.busy:before{background:var(--accent);animation:stpulse 1s ease-in-out infinite}
@keyframes stpulse{50%{opacity:.3}}
.st-acts{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.st-tabs{display:flex;gap:2px;padding:6px var(--pad-content) 0;overflow-x:auto}
.st-tabs button{padding:9px 14px 10px;font-weight:600;font-size:var(--text-sm);color:var(--text-muted);border-bottom:2px solid transparent;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.st-tabs button:hover{color:var(--text-primary)}
.st-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}
.st-tabs .n{font-family:var(--font-mono);font-size:10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;padding:0 6px;line-height:16px;color:var(--text-muted)}
.st-tabs button.on .n{background:var(--accent-pale);border-color:transparent;color:var(--accent)}
.st-body{padding:var(--pad-content)}

.st-banner{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:16px;background:var(--accent-pale);font-size:var(--text-sm)}
.st-banner.warn{background:var(--warning-pale)}
.st-banner.ok{background:var(--positive-pale)}
.st-banner svg{width:17px;height:17px;flex-shrink:0;margin-top:2px}
.st-banner .grow{flex:1}
.st-banner b{font-weight:700}
.st-banner ul{margin:6px 0 0 18px;padding:0}
.st-banner li{margin:2px 0}
.st-banner.st-import ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.st-banner.st-import li{position:relative;padding-left:16px;line-height:1.45}
.st-banner.st-import li::before{content:"";position:absolute;left:2px;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.st-banner.st-import li.lv-warn::before{background:var(--warning)}
.st-banner.st-import li.lv-ok::before{background:var(--positive)}

/* ---- document tab: outline | canvas | inspector ---- */
.st-doc{display:grid;grid-template-columns:232px minmax(0,1fr) 300px;gap:18px;align-items:start}
.st-side{position:sticky;top:calc(var(--topbar-h) + 118px);max-height:calc(100vh - var(--topbar-h) - 136px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px;padding-bottom:12px}
/* help tooltips in a scrolling side column open downward and right-aligned,
   so the column never clips them or grows a sideways scrollbar */
.st-side .infodot>span{bottom:auto;top:calc(100% + 8px);left:auto;right:-4px;transform:none;max-width:240px}
.st-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}
.st-card-h{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid var(--border)}
.st-card-h h4{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex:1;margin:0}
.st-card-b{padding:11px 13px}
.st-card-b .field{margin-bottom:10px}
.st-card-b .field:last-child{margin-bottom:0}
.st-card-b .field input,.st-card-b .field select,.st-card-b .field textarea{padding:8px 10px;font-size:var(--text-sm)}
.st-card-b .field label{font-size:11px}
.st-sub{font-size:11px;color:var(--text-subtle);line-height:1.45}

.st-outline{list-style:none;margin:0;padding:6px}
.st-outline li{display:flex;align-items:center;gap:4px;border-radius:var(--radius-xs)}
.st-outline li a{flex:1;min-width:0;padding:6px 8px;font-size:12.5px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:var(--radius-xs)}
.st-outline li a:hover{background:var(--surface-sunken)}
.st-outline li.l2 a{padding-left:20px;font-size:12px;color:var(--text-muted)}
.st-outline li.l3 a{padding-left:32px;font-size:11.5px;color:var(--text-subtle)}
.st-outline li.cur a{background:var(--accent-pale);color:var(--accent);font-weight:600}
.st-outline .ol-empty{color:var(--text-subtle);font-style:italic}
.st-outline .ol-tools{display:none;gap:1px}
.st-outline li:hover .ol-tools{display:flex}
.st-ib{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}
.st-ib:hover{background:var(--surface-sunken);color:var(--text-primary)}
.st-ib svg{width:13px;height:13px}
.st-ib.danger:hover{color:var(--critical);background:var(--critical-pale)}

.st-seg{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;gap:3px}
.st-seg button{padding:7px 8px;border-radius:calc(var(--radius-sm) - 3px);font-size:12px;font-weight:600;color:var(--text-muted);line-height:1.25}
.st-seg button.on{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-1)}
.st-seg button:disabled{opacity:.45;cursor:not-allowed}
.st-seg.st-seg3{grid-template-columns:repeat(3,1fr)}
.st-seg.st-seg3 button{padding:7px 4px;font-size:11.5px}

/* canvas */
.st-canvas-col{min-width:0}
.st-tb{position:sticky;top:calc(var(--topbar-h) + 104px);z-index:15;display:flex;align-items:center;gap:4px;flex-wrap:wrap;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 6px;margin-bottom:12px;box-shadow:var(--shadow-1)}
.st-tb .sep{width:1px;height:22px;background:var(--border);margin:0 3px}
.st-tb .grow{flex:1}
.st-tbb{height:30px;min-width:30px;padding:0 8px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-primary)}
.st-tbb:hover:not(:disabled){background:var(--surface-sunken)}
.st-tbb.on{background:var(--accent-pale);color:var(--accent)}
.st-tbb:disabled{opacity:.4;cursor:default}
.st-tbb svg{width:15px;height:15px}
.st-tbb b,.st-tbb i,.st-tbb u{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1}
.st-tb .zoom{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);min-width:40px;text-align:center}
.st-desk{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 18px 60px;position:relative;overflow:auto}
.st-desk.busy:after{content:"";position:absolute;top:10px;right:14px;width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:stspin .7s linear infinite}
@keyframes stspin{to{transform:rotate(360deg)}}
.st-zoom{transform-origin:top center;transition:transform .15s var(--ease)}
/* The page is always laid out at true A4 width and scaled to fit (CSS zoom),
   never squeezed: a Word layout has fixed-width tables and text boxes that
   would otherwise spill past the paper edge. */
.st-desk .sd-sheet{margin:0 auto;width:210mm;max-width:none}
.st-desk .sd-sheet.sd-letter{width:8.5in}
.st-tb .zoom{cursor:pointer;border-radius:6px;padding:4px 2px}
.st-tb .zoom:hover{background:var(--surface-sunken)}
.st-desk .pdfbox{display:block;width:210mm;max-width:100%;height:78vh;margin:0 auto 18px;border:1px solid var(--border);background:#fff;border-radius:4px}
.st-placing .dxp{cursor:crosshair}
.st-placing .dxp:hover{outline:2px dashed #F59E0B;outline-offset:2px;background:rgba(254,243,199,.5)}
.st-desk .dx-slot{cursor:pointer;border-radius:3px;transition:box-shadow .12s}
.st-desk .dx-slot:hover{box-shadow:0 0 0 2px rgba(44,101,168,.45)}
.st-desk .dx-slot.sel{box-shadow:0 0 0 2px #2C65A8}

/* floating tools on the focused block */
.st-tools{position:absolute;z-index:12;display:none;align-items:center;gap:1px;background:var(--text-primary);color:var(--surface);border-radius:8px;padding:3px;box-shadow:var(--shadow-2)}
.st-tools.show{display:flex}
.st-tools button{height:26px;min-width:26px;padding:0 6px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:inherit;font-size:11.5px;font-weight:600}
.st-tools button:hover{background:rgba(255,255,255,.14)}
.st-tools button svg{width:13px;height:13px}
.st-tools .lbl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.65;padding:0 6px}
.st-tools .sep{width:1px;height:16px;background:rgba(255,255,255,.2);margin:0 2px}
.st-tools select{height:24px;border-radius:5px;border:0;background:rgba(255,255,255,.12);color:inherit;font-size:11.5px;padding:0 4px}
.st-tools select option{color:#0F1419}
.st-tools .st-tnum{display:inline-flex;align-items:center;gap:4px;font-size:11px;opacity:.9;padding:0 4px}
.st-tools .st-tnum input{width:46px;height:24px;border-radius:5px;border:0;background:rgba(255,255,255,.12);color:inherit;font-size:11.5px;padding:0 4px}

/* menus / popovers */
.st-menu{position:fixed;z-index:95;min-width:220px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:5px}
.st-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--text-primary)}
.st-menu button:hover{background:var(--surface-sunken)}
.st-menu button svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}
.st-menu button small{display:block;color:var(--text-subtle);font-size:11px;font-weight:400}
.st-menu .hd{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);padding:8px 10px 4px}
.st-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}
.st-pop{position:fixed;z-index:96;width:300px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:14px}
.st-pop h5{margin:0 0 10px;font-size:13px}
.st-pop .field{margin-bottom:10px}
.st-pop .row{display:flex;gap:8px;justify-content:flex-end}

/* sign-off fields list */
.st-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.st-slot{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 9px;background:var(--surface)}
.st-slot.off{opacity:.55}
.st-slot .what{font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-slot .where{grid-column:1/-1;font-size:11px;color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-slot select{grid-column:1/-1;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);color:var(--text-primary);font-size:12px}
.st-slot:hover{border-color:var(--accent)}
.st-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.st-dot.client{background:#2C65A8}.st-dot.provider{background:#E8720E}.st-dot.eff{background:#15803D}.st-dot.off{background:var(--border-strong)}
.st-count{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.st-count span{font-size:11px;border-radius:999px;padding:2px 8px;background:var(--surface-sunken);border:1px solid var(--border)}

/* signing tab */
.st-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.st-party{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:10px}
.st-party .top{display:flex;align-items:center;gap:10px}
.st-party .org{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600}
.st-party .who{font-family:var(--font-display);font-weight:700;font-size:var(--text-md)}
.st-party .em{color:var(--text-muted);font-size:var(--text-xs)}
.st-party .sig{font-family:'Dancing Script','Segoe Script',cursive;font-size:28px;line-height:1;color:var(--text-primary)}
.st-party .facts{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:12px}
.st-party .facts dt{color:var(--text-subtle)}
.st-party .facts dd{margin:0;color:var(--text-primary);word-break:break-word}
.st-party .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.st-pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 9px;margin-left:auto;white-space:nowrap}
.st-pill.none{background:var(--surface-sunken);color:var(--text-muted)}
.st-pill.wait{background:var(--warning-pale);color:var(--warning)}
.st-pill.sent{background:var(--accent-pale);color:var(--accent)}
.st-pill.ok{background:var(--positive-pale);color:var(--positive)}
.st-pill.bad{background:var(--critical-pale);color:var(--critical)}
.st-tl{list-style:none;margin:0;padding:0}
.st-tl li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);align-items:start}
.st-tl li:last-child{border-bottom:0}
.st-tl .ic{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-sunken);color:var(--text-muted)}
.st-tl .ic svg{width:14px;height:14px}
.st-tl .ic.ok{background:var(--positive-pale);color:var(--positive)}
.st-tl .ic.bad{background:var(--critical-pale);color:var(--critical)}
.st-tl .ic.acc{background:var(--accent-pale);color:var(--accent)}
.st-tl .t{font-size:13px}
.st-tl .d{font-size:11.5px;color:var(--text-subtle);word-break:break-word}
.st-tl .w{font-size:11.5px;color:var(--text-subtle);white-space:nowrap}

/* send modal */
.st-send{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st-send .full{grid-column:1/-1}
.st-signer{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;background:var(--surface)}
.st-signer h5{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13px}
.st-signer .field{margin-bottom:9px}
.st-signer .field input,.st-signer .field select{padding:8px 10px}
.st-opts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.st-opts label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;background:var(--surface-raised)}
.st-opts input{accent-color:var(--accent)}
/* index.html's .field input{width:100%} must not reach a radio inside a pill */
.field .st-opts input,.st-opts input{width:auto!important;padding:0!important;border:0!important;box-shadow:none!important;margin:0;flex:none}
.st-opts label{white-space:nowrap}
.st-opts label:has(input:checked){border-color:var(--accent);background:var(--accent-pale);color:var(--accent)}
.st-check{display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.st-check div{display:flex;gap:8px;align-items:flex-start}
.st-check svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}
.st-check .ok{color:var(--positive)}
.st-check .no{color:var(--critical)}
.st-check .maybe{color:var(--warning)}
.st-mailprev{width:100%;height:420px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}

/* full-screen preview */
.st-pv{position:fixed;inset:0;z-index:92;background:rgba(10,14,20,.72);display:flex;flex-direction:column}
.st-pv-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#0F1419;color:#fff;flex-wrap:wrap}
.st-pv-bar .t{flex:1;min-width:200px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-pv-bar .t small{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;opacity:.6;font-weight:400;text-transform:uppercase}
.st-pv-bar .btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.st-pv-bar .btn-ghost:hover{background:rgba(255,255,255,.16)}
.st-pv-bar label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;cursor:pointer}
.st-pv-body{flex:1;overflow:auto;padding:28px 16px 60px;background:#D9DEE5}
.st-pv-body .sd-sheet{margin:0 auto 20px}
.st-pv-body .pdfbox{display:block;width:210mm;max-width:100%;height:80vh;margin:0 auto 20px;border:0;background:#fff}

/* drop zone */
.st-drop{display:block;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:30px 20px;text-align:center;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}
.st-drop:hover,.st-drop.over{border-color:var(--accent);background:var(--accent-pale)}
.st-drop svg{width:34px;height:34px;color:var(--accent);margin-bottom:8px}
.st-drop .h{font-weight:700;font-size:var(--text-md)}
.st-drop .s{color:var(--text-muted);font-size:var(--text-xs);margin-top:4px}
.st-drop .f{margin-top:10px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}
.st-steps{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.st-steps div{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--text-muted)}
.st-steps div.on{color:var(--text-primary);font-weight:600}
.st-steps div.done{color:var(--positive)}
.st-steps .b{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0}
.st-steps div.on .b{border-color:var(--accent);border-top-color:transparent;animation:stspin .8s linear infinite}
.st-steps div.done .b{border-color:var(--positive);background:var(--positive)}

.st-vers{width:100%}

/* settings: a labelled switch */
.st-setting{display:flex;gap:14px;align-items:flex-start;cursor:pointer;padding:4px 0}
.st-setting.off{cursor:default;opacity:.8}
.st-setting .txt{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm)}
.st-switch{position:relative;flex:none;width:40px;height:22px;margin-top:1px}
.st-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:inherit;z-index:1;width:100%;height:100%}
.st-switch .knob{position:absolute;inset:0;border-radius:999px;background:var(--border-strong);transition:background .15s var(--ease)}
.st-switch .knob:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s var(--ease)}
.st-switch input:checked+.knob{background:var(--accent)}
.st-switch input:checked+.knob:after{transform:translateX(18px)}
.st-switch input:focus-visible+.knob{box-shadow:var(--focus-ring)}
.st-switch input:disabled+.knob{opacity:.5}
.st-empty{color:var(--text-subtle);font-size:var(--text-sm);padding:10px 0}
.st-kbd{font-family:var(--font-mono);font-size:10.5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 4px;color:var(--text-muted)}

@media (max-width:1280px){
  .st-doc{grid-template-columns:210px minmax(0,1fr)}
  .st-inspector{grid-column:1/-1;position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
}
@media (max-width:900px){
  .st{margin:-16px}
  .st-head-in,.st-tabs,.st-body{padding-left:16px;padding-right:16px}
  .st-doc{grid-template-columns:1fr}
  .st-side{position:static;max-height:none}
  .st-outline-card{display:none}
  .st-parties,.st-send{grid-template-columns:1fr}
  .st-tb{top:calc(var(--topbar-h) + 150px)}
}
/* send dialog: automatic reminders */
.st-rem{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.st-rem select{width:auto;padding:4px 6px;margin:0 2px}
/* an inline text button (Signing tab: turn reminders on/off) */
.st-link{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.st-link:hover{color:var(--accent-dark)}
/* Details tab: optional items */
.st-comm-tbl{width:100%;border-collapse:collapse;font-size:13px}
.st-comm-tbl th{text-align:left;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:600;padding:6px 6px;border-bottom:1px solid var(--border)}
.st-comm-tbl td{padding:4px 6px;border-bottom:1px solid var(--border);vertical-align:middle}
.st-comm-tbl td:nth-child(2),.st-comm-tbl td:nth-child(3){width:120px}
.st-comm-tbl td:last-child{width:36px}
.st-comm-tbl input{width:100%;padding:6px 8px}
/* suggested sections */
.st-sugg{margin-top:12px}
.st-sugg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.st-sugg-list li{border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 10px;background:var(--surface-raised)}
.st-sugg-list li.improve{border-style:dashed}
.st-sugg-list .t{display:flex;align-items:center;gap:6px;font-weight:700;font-size:12.5px;color:var(--text-primary)}
.st-sugg-list .d{font-size:11.5px;line-height:1.45;color:var(--text-muted);margin-top:3px}
.st-sugg-list .d .c{display:block;margin-top:3px;color:var(--accent)}
.st-sugg-list .a{display:flex;align-items:center;gap:8px;margin-top:7px}
.st-sugg-list .a .st-ib{margin-left:auto}
.st-sugg-ph{margin:0 0 8px;font-size:11.5px;line-height:1.5}
.st-sugg-ph span{color:var(--text-subtle)}
.st-sugg-all{width:100%;justify-content:center;margin-top:9px}
.st-sugg-more{margin-top:9px}
.st-sugg-more summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);padding:4px 0}
.st-sugg-more .st-sugg-list{margin-top:6px}
.st-sugg .st-sub svg{width:13px;height:13px;vertical-align:-2px;color:var(--positive)}
.st-outline li.st-ol-new a::after{content:'New';margin-left:6px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--warning);background:var(--warning-pale);border-radius:999px;padding:1px 6px}
.sd-editing .st-new-sec{box-shadow:-14px 0 0 -11px #F59E0B}
/* Ask Claude to edit */
.st-ai-btn{color:var(--accent);font-weight:600}
.st-ai-btn svg{color:var(--accent)}
.st-ai-chips{display:flex;flex-wrap:wrap;gap:6px}
.st-chip{border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-primary);border-radius:999px;padding:4px 11px;font-size:12px;cursor:pointer}
.st-chip:hover{border-color:var(--accent);color:var(--accent)}
.st-ai-sum{margin:0 0 10px;padding-left:18px;font-size:13px;line-height:1.5}
.st-aic{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 10px;background:var(--surface-raised);overflow:hidden}
.st-aic .h{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface-sunken)}
.st-aic .h input{margin-top:3px}
.st-aic .why{padding:6px 12px 0;font-size:12px;color:var(--text-muted)}
.st-aid{padding:8px 12px 10px;max-height:320px;overflow:auto;font-size:12.5px;line-height:1.5}
.st-aid .dl{padding:1px 0;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}
.st-aid .dl.ch,.st-aid .dl.ins,.st-aid .dl.del{color:var(--text-primary)}
.st-aid .dl.fold{color:var(--text-subtle);font-style:italic;font-size:11.5px;padding:3px 0}
.st-aid ins{background:#DCFCE7;color:#14532D;text-decoration:none;border-radius:2px;padding:0 1px}
.st-aid del{background:#FEE2E2;color:#7F1D1D;border-radius:2px;padding:0 1px}
.st-aid .st-ai-new{font-size:11px;background:#fff;border-left:3px solid #16A34A;padding:6px 10px}
.st-aif .h{background:var(--accent-pale)}
/* render trouble: the last good page stays, with a note above it */
.st-rnote{position:sticky;top:6px;z-index:6;display:flex;align-items:center;gap:10px;margin:0 auto 10px;max-width:760px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--warning-pale);border:1px solid var(--border);font-size:12.5px;color:var(--text-primary);box-shadow:var(--shadow-1)}
.st-rnote svg{width:15px;height:15px;flex-shrink:0;color:var(--warning)}
.st-rnote span{flex:1}
.sd-sheet[inert]{opacity:.9}
.st-save.warn:before{background:var(--warning)}
.st-save.warn{color:var(--warning)}
/* Pricing card */
.st-prc{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 8px;font-size:12.5px}
.st-prc dt{color:var(--text-muted)}
.st-prc dd{margin:0;text-align:right;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-prc dd a{color:var(--accent);text-decoration:none}
.st-prc .okc svg{width:12px;height:12px;color:var(--positive);vertical-align:-1px}
.st-prc-issues{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.st-prc-issues li{border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-xs);padding:7px 9px;font-size:12px;line-height:1.45;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.st-prc-all{width:100%;justify-content:center;margin-top:8px}
.st-prc-add{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 4px}
.st-card-h .st-pill svg{width:11px;height:11px}
.st-rc{width:100%;border-collapse:collapse;font-size:13px}
.st-rc th{text-align:left;font-size:11px;color:var(--text-muted);font-weight:600;padding:4px 6px}
.st-rc td{padding:3px 6px}
.st-rc input,.st-rc select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-raised);color:var(--text-primary);font:inherit}
.st-rc-pick{display:grid;grid-template-columns:auto 1fr auto 90px;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}
.st-rc-pick small{color:var(--text-muted)}
.st-rc-pick input[type=number]{padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-raised);color:var(--text-primary)}
/* Claude: choosing sections */
.st-ai-scope{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}
/* `.modal` prefix: these sit inside a .field, and the shell's `.field label`
   (bold, extra-small) loads after this file and would otherwise win */
.modal .st-ai-scope label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;font-weight:500}
.st-ai-secs{margin-top:8px;max-height:210px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px}
.modal .st-ai-secs label{display:flex;align-items:center;gap:7px;padding:3px 0;font-size:12.5px;font-weight:500;cursor:pointer}
.st-ai-secs label.l2{padding-left:18px}
.st-ai-secs label.l3{padding-left:34px;color:var(--text-muted)}
/* several lines selected */
.st-bsel{background:rgba(44,101,168,.10)!important;box-shadow:-6px 0 0 0 #2C65A8;border-radius:3px}
li.st-bsel{box-shadow:-4px 0 0 0 #2C65A8}
.st-bselbar{position:sticky;top:6px;z-index:7;display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0 auto 10px;max-width:820px;padding:6px 8px;border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-2,0 6px 20px rgba(15,20,25,.12));font-size:12.5px}
.st-bselbar .n{font-weight:700;padding:0 6px;color:var(--text-primary)}
.st-bselbar .lbl{color:var(--text-muted);padding:0 4px 0 8px;border-left:1px solid var(--border)}
.st-bselbar button{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;background:none;border-radius:var(--radius-xs);padding:4px 8px;color:var(--text-primary);cursor:pointer;font:inherit}
.st-bselbar button:hover{background:var(--surface-sunken);border-color:var(--border)}
.st-bselbar button svg{width:14px;height:14px}
.st-bselbar .sep{width:1px;height:18px;background:var(--border);margin:0 4px}
.st-bselbar .x{margin-left:auto}
/* Hide pricing — the switch beside Preview / Print / Download */
.st-np{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);cursor:pointer;white-space:nowrap}
.st-np input{margin:0}
.st-np:has(input:checked){color:var(--warning);background:var(--warning-pale);border-color:transparent}
.st-np:has(input:disabled){cursor:default}
/* Share dialog */
.st-share .lbl{margin:16px 0 8px}
.st-sh-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-md)}
.st-sh-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.st-sh-list li:last-child{border-bottom:0}
.st-sh-list .who{flex:1;min-width:180px;display:flex;flex-direction:column;gap:1px;font-size:var(--text-sm)}
.st-sh-list .who .st-pill{margin-left:0}
.st-sh-list select{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-xs)}
.st-sh-np{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--text-muted);cursor:pointer}
.st-sh-add{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st-sh-res{display:flex;flex-direction:column;gap:2px;margin-top:4px;max-height:220px;overflow:auto}
.st-sh-res button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:7px 9px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--text-sm)}
.st-sh-res button:hover,.st-sh-res button:focus-visible{background:var(--accent-pale);border-color:var(--border)}
/* 2026-09-28: the email, the name and Add shared one row, which cut both
   placeholders off ("name@partner.cor"). Email on its own line, then name + Add. */
.st-sh-out{display:grid;grid-template-columns:1fr auto;gap:6px}
.st-sh-out input{min-width:0}
.st-sh-out input[type=email]{grid-column:1/-1}
.st-sh-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.st-sh-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 11px;border-radius:999px;background:var(--accent-pale);color:var(--text-primary);font-size:var(--text-xs);font-weight:600}
.st-sh-chip small{font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:9.5px}
.st-sh-chip label{display:inline-flex;align-items:center;gap:4px;font-weight:500;color:var(--text-muted);cursor:pointer}
.st-sh-chip .x{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.st-sh-chip .x:hover{background:var(--surface-raised)}
.st-sh-chip .x svg{width:11px;height:11px}
/* merge fields showing their value in the editor (stMfShow, 2026-09-28): a faint
   dotted underline says "this comes from the SOW"; the name returns on click */
#st-sheet .mf-plain,#st-sheet .sd-mf.mf-v{text-decoration:underline dotted color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:3px;text-decoration-thickness:1px}
#st-sheet .sd-mf.mf-v{background:none;border:0;padding:0;font:inherit;color:inherit}
/* Insert a pricing table: hours × rate or fixed fee (2026-09-28) */
.st-pt-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal .st-pt-kind label{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;background:var(--surface-raised)}
.modal .st-pt-kind label:hover{border-color:var(--accent)}
.modal .st-pt-kind label:has(input:checked){border-color:var(--accent);background:var(--accent-pale);box-shadow:inset 0 0 0 1px var(--accent)}
.st-pt-kind input{margin:2px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.st-pt-kind .st-sub{display:block;margin-top:3px;font-weight:400}
@media(max-width:600px){.st-pt-kind{grid-template-columns:1fr}}
/* 2026-09-28: the two choices are cards side by side. The shared `.field
   input{width:100%}` used to stretch each radio across the dialog, pushing its
   words to the far right; the shell now exempts radios and checkboxes, and the
   selectors here are specific enough to beat the shell's `.field label`. */
.st-share .st-sh-acc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.st-share .st-sh-acc label{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);
  font-size:var(--text-sm);font-weight:500;cursor:pointer;background:var(--surface-raised);transition:border-color .15s var(--ease),background-color .15s var(--ease)}
.st-share .st-sh-acc label:hover{border-color:var(--accent)}
.st-share .st-sh-acc label:has(input:checked){border-color:var(--accent);background:var(--accent-pale);box-shadow:inset 0 0 0 1px var(--accent)}
.st-share .st-sh-acc label input{margin:2px 0 0;flex:0 0 auto}
.st-share .st-sh-acc label>span{flex:1;min-width:0}
.st-share .st-sh-acc .st-sub{display:block;margin-top:3px;font-weight:400;line-height:1.45}
@media(max-width:700px){.st-sh-add{grid-template-columns:1fr} .st-share .st-sh-acc{grid-template-columns:1fr}}
/* Comments tab */
.st-cmts{max-width:860px}
.st-cmt-new{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin-bottom:14px;background:var(--surface-sunken)}
.st-cmt-new textarea{width:100%;resize:vertical}
.st-cmt-row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.st-cmt-row select{flex:1;min-width:180px;max-width:420px;padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-xs)}
.st-cmt-body{white-space:pre-wrap;color:var(--text-primary)!important;font-size:12.5px!important;margin-top:2px}
.st-cmts .st-tl li.done{opacity:.62}
/* ---- Release 1, staff editor (2026-09-28) ---------------------------------- */
/* an inline SVG with no size of its own stretches to its container: every
   icon placed in a pill or a line of small print gets one */
.st-pill svg{width:11px;height:11px;flex-shrink:0}
p.st-sub>svg,span.st-sub>svg{width:12px;height:12px;vertical-align:-2px}
.st-tbb .n{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;border-radius:999px;background:var(--critical);color:#fff;font-size:10px;font-weight:700;line-height:1}

/* locked sections (stLockPaint). The page is paper, so fixed colours. */
.sd-sec.st-locked{position:relative;box-shadow:-14px 0 0 -11px #94A3B8}
.st-lockbadge{position:absolute;top:-4px;right:0;display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:#F1F5F9;border:1px solid #CBD5E1;color:#334155;font:600 10px/1.4 'Inter',system-ui,sans-serif;letter-spacing:.03em;text-transform:uppercase;user-select:none;cursor:default;z-index:2}
.st-lockbadge svg{width:11px;height:11px;flex-shrink:0}
.st-outline .st-ol-lock{display:inline-flex;margin-right:4px;vertical-align:-1px;color:var(--text-muted)}
.st-outline .st-ol-lock svg{width:11px;height:11px}
.st-cl-lock{margin-left:6px!important;vertical-align:1px}

/* margin check in the Pricing card (Admins and Managers) */
.st-mg{margin:10px 0 4px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken)}
.st-mg.below{border-left:3px solid var(--critical);background:var(--critical-pale)}
.st-mg-h{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px}
.st-mg-h .st-pill{margin-left:auto}
.st-mg .st-prc{margin:0}
.st-mg .st-sub{margin:6px 0 0;font-size:11.5px;line-height:1.45}
.st-mg-why b{color:var(--text-primary)}
.st-rc-costs{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.st-rc-costs .st-sub{grid-column:1/-1;margin:0}
@media(max-width:600px){.st-rc-costs{grid-template-columns:1fr}}

/* why an approval is needed */
.st-ap-why{margin-top:6px;font-size:12.5px;line-height:1.5}

/* risk review panel, beside the page */
.st-rv{position:fixed;right:16px;top:calc(var(--topbar-h) + 118px);bottom:88px;width:380px;max-width:calc(100vw - 32px);z-index:40;display:flex;flex-direction:column;
  background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}
.st-rv-h{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-sunken)}
.st-rv-h h4{margin:0;font-size:var(--text-sm);display:flex;align-items:center;gap:7px;flex:1}
.st-rv-h h4 svg{width:15px;height:15px;color:var(--accent)}
.st-rv-b{padding:12px 14px 16px;overflow:auto;flex:1;font-size:12.5px}
.st-rv-busy{text-align:center;padding:26px 8px}
.st-rv-busy .spin{display:inline-block;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:stspin .8s linear infinite}
.st-rv-busy p{margin:10px 0 0}
.st-rv-sum{margin:0 0 10px;color:var(--text-primary);line-height:1.5}
.st-rv-counts{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 6px}
.st-rv-counts .st-pill{margin-left:0}
.st-rv-g{display:flex;align-items:center;gap:6px;margin:14px 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.st-rv-g span{font-weight:700}
.st-rv-g.high{color:var(--critical)}
.st-rv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.st-rv-f{border:1px solid var(--border);border-left:3px solid var(--text-subtle);border-radius:var(--radius-xs);padding:8px 10px;background:var(--surface-raised)}
.st-rv-f.high{border-left-color:var(--critical)}
.st-rv-f.medium{border-left-color:var(--warning)}
.st-rv-f.fixed{opacity:.6;border-left-color:var(--positive)}
.st-rv-f.off{opacity:.6}
.st-rv-f .t{font-weight:600;color:var(--text-primary);line-height:1.4}
.st-rv-f .m{margin-top:2px;font-size:11px;color:var(--text-muted)}
.st-rv-f .m .cat{font-weight:600}
.st-rv-f .d{margin-top:5px;line-height:1.5;color:var(--text-primary)}
.st-rv-f .a{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px}
.st-rv-f .a .st-rv-x{color:var(--text-muted)}
.st-rv-off{margin-top:12px}
.st-rv-off summary{cursor:pointer;font-weight:600;color:var(--text-muted)}
.st-rv-off .st-rv-list{margin-top:8px}
.st-rv-foot{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}
.sd-sheet .st-rv-flash{animation:strvflash 2.4s ease-out}
@keyframes strvflash{0%,30%{background:rgba(254,243,199,.9);box-shadow:0 0 0 6px rgba(254,243,199,.9)}100%{background:transparent;box-shadow:0 0 0 6px transparent}}
@media(prefers-reduced-motion:reduce){.sd-sheet .st-rv-flash{animation:none;outline:2px solid #F59E0B;outline-offset:4px}}
.note.st-rv-send{align-items:center;flex-wrap:wrap}
.note.st-rv-send .grow{flex:1;min-width:220px}
.note.st-rv-send .btn svg{margin-top:0}
@media(max-width:900px){.st-rv{top:auto;left:16px;right:16px;width:auto;height:62vh}}

/* engagement, on the Signing tab */
.st-eng .panel-head .st-sub{flex:1;min-width:200px}
.st-eng .panel-head h3{display:flex;align-items:center;gap:8px}
.st-eng-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.st-eng-r{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;background:var(--surface-raised)}
.st-eng-r.live{border-color:var(--positive)}
.st-eng-r .top{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.st-eng-r .top>div{flex:1;min-width:0}
.st-eng-r .org{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600}
.st-eng-r .who{font-weight:700;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-eng-r .facts{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:12px;margin:0}
.st-eng-r .facts dt{color:var(--text-subtle)}
.st-eng-r .facts dd{margin:0;color:var(--text-primary);word-break:break-word}
.st-eng-r .lbl{margin:12px 0 6px}
.st-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--positive);white-space:nowrap;letter-spacing:0;text-transform:none;font-family:var(--font-body)}
.st-live i{width:8px;height:8px;border-radius:50%;background:var(--positive);box-shadow:0 0 0 0 var(--positive);animation:stlive 1.6s ease-out infinite}
@keyframes stlive{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--positive) 60%,transparent)}100%{box-shadow:0 0 0 7px transparent}}
@media(prefers-reduced-motion:reduce){.st-live i{animation:none}}
.st-eng-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.st-eng-bars li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(60px,1fr) auto;align-items:center;gap:8px;font-size:12px}
.st-eng-bars .h{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}
.st-eng-bars .bar{height:7px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}
.st-eng-bars .bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}
.st-eng-bars .v{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);white-space:nowrap}
.st-eng-tipbox p{margin:4px 0;font-size:13px;line-height:1.55}

/* 2026-10-01: price book and margin review */
.st-pb th{white-space:nowrap}
.st-pb td input{min-width:84px}
.st-mr-t{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.st-mr-t th{text-align:left;font-size:11px;color:var(--text-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}
.st-mr-t td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}
.st-mr-t td:not(:first-child){font-family:var(--font-mono);white-space:nowrap}
.st-mr-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:baseline}
.st-mr-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:0 0 14px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken)}
.st-mr-chart{width:100%;height:auto;display:block}
.st-mr-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-muted);margin-top:4px}
.st-mr-key i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.st-mr-det{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px}
.st-mr-det summary{cursor:pointer;font-weight:600;font-size:13px}
.st-mr-det .st-mr-t{margin-top:8px}
