/* ShippingAI — "Ledger" design system (v3, replaces "Puerto")
   Warm paper canvas, near-black ink, deep teal accent, graphite rail.
   Chosen for reading as institutional/financial rather than startup, and
   because a warm canvas is easier than pure white over an eight-hour shift.
   Engine hues stay glyph-locked E/C/J/L; status is never colour-alone. */
:root{
  --bg:#f7f6f3;--surface:#ffffff;--surface-2:#faf9f6;--surface-3:#f2f0eb;
  --navy:#1c1b19;--navy-2:#2a2724;
  --ink:#1c1b19;--ink-2:#45403a;--ink-3:#78736b;--ink-4:#a8a29a;
  --line:#e6e3dd;--line-2:#f2f0eb;--line-strong:#cfc9bf;
  --accent:#0f766e;--accent-bright:#0d9488;--accent-ink:#115e59;
  --accent-soft:#ccfbf1;--accent-line:#99f6e4;--on-accent:#fff;
  --link:#0f766e;
  --ok:#0f766e;--ok-soft:#ccfbf1;--ok-line:#99f6e4;
  --warn:#a16207;--warn-soft:#fef9c3;--warn-line:#fde68a;
  --danger:#b3261e;--danger-soft:#fbe5e3;--danger-line:#e6a9a4;
  --info:#3730a3;--info-soft:#e0e7ff;--info-line:#c7d2fe;
  --eng-ex:#0f766e;--eng-ex-soft:#d8f3ee;--eng-ex-ink:#115e59;
  --eng-co:#4f46e5;--eng-co-soft:#e6e4fb;--eng-co-ink:#4338ca;
  --eng-ju:#a31f56;--eng-ju-soft:#f9e3ec;--eng-ju-ink:#8c1a49;
  --eng-lo:#1d6fa5;--eng-lo-soft:#e0eef7;--eng-lo-ink:#175d8a;
  --eng-sys:#78736b;--eng-sys-soft:#f0eee8;
  --st-recv:#78736b;--st-recv-soft:#f0eee8;
  --st-review:#a16207;--st-review-soft:#fef9c3;
  --st-appr:#0f766e;--st-appr-soft:#ccfbf1;
  --st-signed:#4f46e5;--st-signed-soft:#e6e4fb;
  --st-filed:#1c1b19;--st-filed-soft:#e6e3dd;
  --st-arch:#a8a29a;--st-arch-soft:#f2f0eb;
  --font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"Cascadia Mono","SF Mono","Consolas",Menlo,monospace;
  --r-sm:5px;--r-md:7px;--r-lg:9px;--r-xl:12px;--r-pill:999px;
  --sh-1:0 1px 3px rgba(28,27,25,.06);--sh-2:0 4px 14px rgba(28,27,25,.10);
  --sh-3:0 14px 36px rgba(28,27,25,.16);
}
*{box-sizing:border-box}
body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);margin:0;
  line-height:1.5;font-size:13.5px;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px;border-radius:4px}
button,.side nav a,.tabbar button,.langt button,table.list tbody tr,.insumo,.chip,.up,
input[type=text],input[type=email],input[type=password]{
  transition:background .16s,border-color .16s,color .16s,box-shadow .16s,opacity .16s,transform .06s}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important}}

/* ---- buttons & inputs ---- */
button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  background:var(--surface);color:var(--ink);border-radius:var(--r-md);
  padding:7px 14px;cursor:pointer;font:inherit;font-size:13px;font-weight:600;white-space:nowrap}
button:hover{background:var(--surface-2);border-color:var(--line-strong)}
button:active{transform:translateY(1px)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
button.primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);box-shadow:var(--sh-1)}
button.navy{background:var(--navy);border-color:var(--navy);color:#fff}
button.navy:hover{background:var(--navy-2);border-color:var(--navy-2)}
button.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
button.small{padding:3px 10px;font-size:12px}
button:disabled{opacity:.45;cursor:default;pointer-events:none}
input[type=text],input[type=email],input[type=password]{border:1px solid var(--line);
  border-radius:var(--r-md);padding:8px 12px;font:inherit;background:var(--surface);color:var(--ink)}
input::placeholder{color:var(--ink-4)}
input[type=text]:hover,input[type=email]:hover,input[type=password]:hover{border-color:var(--line-strong)}
input[type=text]:focus,input[type=email]:focus,input[type=password]:focus{
  outline:none;border-color:var(--accent-bright);box-shadow:0 0 0 3px rgba(15,118,110,.20)}
form.inline{display:inline}

/* ---- brand mark (Buque) ---- */
.mark{display:block;width:24px;height:auto;flex:none}
.mark .mk-box{fill:var(--accent-bright)}
.mark .mk-hull{fill:var(--navy)}
.mark .mk-wave{stroke:var(--navy)}
.on-navy .mark .mk-hull{fill:#fff}
.on-navy .mark .mk-wave{stroke:#fff}
.wm{display:inline-flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.wm .ai{color:var(--accent-ink)}
.on-navy .wm{color:#fff}
.on-navy .wm .ai{color:var(--accent-bright)}
.wm.sm{font-size:16px}
.wm.lg{font-size:29px}.wm.lg .mark{width:46px}

/* ---- shell ---- */
.shell{display:flex;min-height:100vh}
.side{width:212px;flex:none;background:var(--navy);display:flex;flex-direction:column;padding:16px 12px}
.side .wm{margin:2px 4px 22px}
.side nav{display:flex;flex-direction:column;gap:2px}
.side nav a{display:flex;align-items:center;gap:9px;color:#b9c8d9;padding:8px 10px;
  border-radius:var(--r-md);font-size:13px;position:relative;cursor:pointer}
.side nav a .ic{width:16px;text-align:center;opacity:.85}
.side nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.side nav a.on{background:rgba(255,255,255,.10);color:#fff;font-weight:600}
.side nav a.on:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;
  border-radius:2px;background:var(--accent-bright)}
.side nav a.soon{opacity:.38;cursor:default}
.side nav a.soon:hover{background:transparent;color:#b9c8d9}
.side-foot{margin-top:auto;font-size:10.5px;color:#7d92a8;line-height:1.6;padding:0 4px}
.side-foot b{color:#b9c8d9}
.main{flex:1;min-width:0;display:flex;flex-direction:column}

/* topbar */
.top{display:flex;justify-content:space-between;align-items:center;height:52px;flex:none;
  padding:0 24px;border-bottom:1px solid var(--line);background:var(--surface)}
.crumb{font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.crumb a{color:var(--ink-3)}
.crumb a:hover{color:var(--accent-ink)}
.topright{display:flex;align-items:center;gap:14px}
.who{display:flex;gap:9px;align-items:center;font-size:12.5px;color:var(--ink-3)}
.who .tenant{font-weight:600;color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:var(--r-pill);
  font-size:11px;font-weight:600;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}

/* lang toggle */
.langt{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:2px}
.langt button{border:none;background:transparent;color:var(--ink-3);font-size:11.5px;
  font-weight:600;padding:3px 10px;border-radius:var(--r-pill);letter-spacing:.3px}
.langt button:hover{background:transparent;color:var(--ink)}
.langt button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}

/* page header band + content */
.pagehead{background:var(--surface);border-bottom:1px solid var(--line);padding:18px 24px 0}
.pagehead.pad-b{padding-bottom:16px}
.ph-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.pagehead h1{font-size:20px;font-weight:650;margin:0;letter-spacing:-.01em}
.pagehead .tabbar{margin:14px 0 0;border-bottom:none}
.content{padding:20px 24px;max-width:1180px;width:100%}

/* ---- stats strip ---- */
.stats{display:flex;gap:20px;flex-wrap:wrap}
.stat{display:flex;flex-direction:column;gap:2px}
.stat .n{font-family:var(--font-mono);font-size:21px;font-weight:700;line-height:1;
  font-variant-numeric:tabular-nums}
.stat .l{font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:5px;white-space:nowrap}
.stat .dotc{width:7px;height:7px;border-radius:2px;flex:none}

/* ---- cards, tables, badges ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:16px 18px;margin:12px 0;box-shadow:var(--sh-1)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.between{justify-content:space-between}
table.list{border-collapse:collapse;width:100%;font-size:13px}
table.list th{text-align:left;padding:0 10px 8px;font-size:11px;font-weight:640;
  letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)}
table.list td{padding:10px;border-bottom:1px solid var(--line-2);vertical-align:middle}
table.list tbody tr{cursor:pointer}
table.list tbody tr:hover td{background:var(--surface-2)}
table.list tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--accent-bright)}
table.list tbody tr:active td{background:var(--accent-soft)}
table.list td.t{font-weight:640}
td.mut{color:var(--ink-3)}
td.num,td.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
td.empty{color:var(--ink-3);text-align:center;padding:30px;cursor:default}
tr:hover td.empty{background:transparent !important;box-shadow:none !important}
.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--r-pill);
  font-size:11px;font-weight:640;white-space:nowrap;background:var(--surface-2);color:var(--ink-2)}
.badge .g{font-size:10px}
.badge.b-receiving{background:var(--st-recv-soft);color:var(--st-recv)}
.badge.b-needs_review{background:var(--st-review-soft);color:var(--st-review)}
.badge.b-approved{background:var(--st-appr-soft);color:var(--st-appr)}
.badge.b-signed{background:var(--st-signed-soft);color:var(--st-signed)}
.badge.b-filed{background:var(--st-filed-soft);color:var(--st-filed)}
.badge.b-archived{background:var(--st-arch-soft);color:var(--st-arch)}

/* ---- login (split navy) ---- */
.login-body{margin:0;background:var(--bg)}
.loginwrap{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
@media(max-width:900px){.loginwrap{grid-template-columns:1fr}}
.login-brandpane{background:var(--navy);color:#e8edf3;padding:52px;display:flex;
  flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-brandpane .grid-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:26px 26px}
.login-brandpane .pitch{position:relative;max-width:440px}
.login-brandpane .pitch h1{font-size:28px;line-height:1.22;font-weight:700;margin:0 0 14px;
  color:#fff;letter-spacing:-.01em}
.login-brandpane .pitch p{font-size:14px;color:#aebdcd;line-height:1.6;margin:0}
.flowline{display:flex;align-items:center;gap:8px;margin-top:26px;position:relative;flex-wrap:wrap}
.flowline .node{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);padding:5px 12px;
  font-size:12px;color:#d6dee7}
.flowline .node b{color:var(--accent-bright);font-weight:700}
.flowline .ar{color:#5c7089}
.login-brandpane .foot{position:relative;font-size:11.5px;color:#8498ac}
.login-formpane{background:var(--bg);display:flex;align-items:center;justify-content:center;padding:40px}
.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);padding:32px 32px 26px;box-shadow:var(--sh-3)}
.login-card h2{font-size:18px;margin:0 0 4px}
.login-card .sub{font-size:13px;color:var(--ink-3);margin:0 0 22px}
.login-form{display:flex;flex-direction:column;text-align:left;gap:4px}
.login-form label{font-size:12px;color:var(--ink-2);font-weight:600;margin-top:10px}
.login-form button{margin-top:18px;padding:10px;justify-content:center}
.login-form .err{color:var(--danger);font-size:12.5px;margin-top:8px}
.login-foot{font-size:11.5px;color:var(--ink-3);margin-top:20px;line-height:1.6;text-align:center}
.login-foot b{color:var(--ink-2)}
.langt-login{margin-top:22px;display:flex;justify-content:center}

/* ---- operation workspace ---- */
.op-head h1{font-size:20px;font-weight:650;margin:0 0 8px;letter-spacing:-.01em}
.kv{font-size:12.5px;color:var(--ink-3);margin:6px 0}
.kv b{color:var(--ink-2)}
.ribbon{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:8px}
.rst{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:5px 11px;
  border-radius:var(--r-pill);border:1px dashed var(--line);color:var(--ink-4);
  background:transparent;font-weight:600;white-space:nowrap}
.rst .g{font-size:11px}
.rst.past{background:var(--surface-2);border:1px solid transparent;color:var(--ink-3)}
.rst.past .g{color:var(--ok)}
.rst.cur{font-weight:700;border-style:solid}
.rst.cur.s-receiving{background:var(--st-recv-soft);color:var(--st-recv);border-color:var(--st-recv)}
.rst.cur.s-needs_review{background:var(--st-review-soft);color:var(--st-review);border-color:var(--st-review)}
.rst.cur.s-approved{background:var(--st-appr-soft);color:var(--st-appr);border-color:var(--st-appr)}
.rst.cur.s-signed{background:var(--st-signed-soft);color:var(--st-signed);border-color:var(--st-signed)}
.rst.cur.s-filed{background:var(--st-filed-soft);color:var(--st-filed);border-color:var(--st-filed)}
.rst.cur.s-archived{background:var(--st-arch-soft);color:var(--st-arch);border-color:var(--st-arch)}
.rar{color:var(--ink-4);font-size:11px}
.tabbar{display:flex;gap:4px;margin:16px 0 4px;border-bottom:1px solid var(--line)}
.tabbar button{background:none;border:none;color:var(--ink-3);padding:9px 14px;
  border-bottom:2px solid transparent;border-radius:0;font-size:13px;font-weight:500}
.tabbar button:hover{background:none;color:var(--ink)}
.tabbar button.on{color:var(--ink);font-weight:640;border-bottom-color:var(--accent-bright)}
.tab{display:none}.tab.on{display:block}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--line)}
.progress{font-size:12px;color:var(--ink-3);margin-top:8px;min-height:16px}
.ev{display:flex;gap:12px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line-2);
  font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.ev:last-child{border-bottom:none}

/* ---- expediente board ---- */
.mapgrid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;
  align-items:start;margin-top:12px}
@media(max-width:980px){.mapgrid{grid-template-columns:1fr}}
.insumo{position:relative;border:1px solid var(--line);border-left:4px solid var(--ink-4);
  border-radius:var(--r-md);padding:9px 12px 9px 13px;background:var(--surface);margin-bottom:7px}
.insumo:hover{border-color:var(--line-strong);box-shadow:var(--sh-1)}
.insumo .n{font-size:12.5px;font-weight:640;color:var(--ink)}
.insumo .st{font-size:11.5px;color:var(--ink-3);margin-top:2px}
.insumo .st .g{font-size:11px;margin-right:2px}
.insumo .up{float:right;border:1px solid var(--line);background:var(--surface-2);
  color:var(--ink-2);border-radius:var(--r-sm);padding:2px 8px;font-size:11px;
  font-weight:600;cursor:pointer;margin-left:6px;white-space:nowrap}
.insumo .up:hover{background:var(--surface-3);color:var(--ink);border-color:var(--line-strong)}
.insumo .up.acc{border-color:var(--accent-line);color:var(--accent-ink);background:var(--accent-soft)}
.insumo .up.acc:hover{background:#f8dcc4;border-color:var(--accent-bright)}
.insumo.missing{border-style:dashed;border-left-style:dashed;border-left-color:var(--ink-4)}
.insumo.uploaded{border-left-color:var(--info)}
.insumo.uploaded .st{color:var(--info)}
.insumo.extracting{border-left-color:var(--eng-ju);animation:pulse 1.2s ease-in-out infinite}
.insumo.extracting .st{color:var(--eng-ju-ink);font-weight:600}
.insumo.done{border-left-color:var(--eng-ex);background:var(--eng-ex-soft)}
.insumo.done .st{color:var(--eng-ex-ink)}
.insumo.failed{border-left-color:var(--danger);background:var(--danger-soft)}
.insumo.failed .st{color:var(--danger);font-weight:600}
.insumo.auto{border-left-color:var(--eng-lo)}
.insumo.auto .st{color:var(--eng-lo-ink)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(173,44,94,0)}50%{box-shadow:0 0 0 5px rgba(173,44,94,.13)}}
.vwarn{color:var(--warn)!important}
.vok{color:var(--eng-ex-ink)!important}

/* payload chips — glyph-locked E/C/J/L */
.sech{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);font-weight:600;
  letter-spacing:.02em;margin:12px 0 6px}
.chip{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
  border-radius:var(--r-sm);padding:3px 9px;margin:0 5px 5px 0;font-size:11px;
  font-family:var(--font-mono);background:var(--surface);color:var(--ink-2);opacity:.4;cursor:default}
.chip .sq{width:8px;height:8px;border-radius:2px;flex:none;display:inline-flex;
  align-items:center;justify-content:center;font-size:6px;font-weight:700;color:#fff;line-height:1}
.sq-ex{background:var(--eng-ex)}.sq-co{background:var(--eng-co)}
.sq-ju{background:var(--eng-ju)}.sq-lo{background:var(--eng-lo)}.sq-sy{background:var(--eng-sys)}
.chip.partial{opacity:.82;border-style:dashed;border-color:var(--line-strong)}
.chip.lit{opacity:1;border-width:1.5px;font-weight:640;color:var(--ink)}
.chip.lit.c-ex{border-color:var(--eng-ex)}.chip.lit.c-co{border-color:var(--eng-co)}
.chip.lit.c-ju{border-color:var(--eng-ju)}.chip.lit.c-lo{border-color:var(--eng-lo)}
.chip.lit.c-sy{border-color:var(--line-strong)}
.chip:hover{opacity:1;box-shadow:var(--sh-1)}
.chip[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);
  left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:4px 9px;
  border-radius:var(--r-sm);font-size:10.5px;font-family:var(--font-sans);font-weight:600;
  white-space:nowrap;z-index:30;box-shadow:var(--sh-2);pointer-events:none}
.chip[data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;
  transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--navy);
  z-index:30;pointer-events:none}
.chip.flash{animation:flash 1.2s ease-out 1}
@keyframes flash{0%{box-shadow:0 0 0 7px rgba(14,124,97,.28);transform:scale(1.05)}
  100%{box-shadow:none;transform:scale(1)}}

/* legacy alias kept for safety */
.stats-row{display:flex;gap:8px;flex-wrap:wrap}

/* ---- in-page modals (replace native prompt(), unsupported in embedded browsers) ---- */
.mv-ov{position:fixed;inset:0;background:rgba(14,42,71,.45);z-index:200;
  display:flex;align-items:center;justify-content:center;padding:20px}
.mv-modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-3);
  width:100%;max-width:440px;padding:20px 22px;border-top:3px solid var(--accent-bright)}
.mv-modal h3{margin:0 0 6px;font-size:15px;letter-spacing:-.01em}
.mv-body label{display:block;font-size:12px;color:var(--ink-3);margin:12px 0 4px;font-weight:600}
.mv-body input{width:100%}
.mv-body .mv-p{font-size:12.5px;color:var(--ink-2);margin:6px 0 2px;line-height:1.55}
.mv-row{display:flex;gap:8px;margin-top:8px}
.mv-row input{flex:1;font-family:var(--font-mono);font-size:12px}
.mv-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* audit-log payload detail */
.ev-det{font-family:var(--font-sans);font-size:11.5px;color:var(--ink-2);
  margin:2px 0 2px 14px;padding-left:8px;border-left:2px solid var(--line)}
.ev-det b{color:var(--ink)}

/* structured audit-log rows: [timestamp] [kind chip + actor / detail] */
.ev2{display:grid;grid-template-columns:82px minmax(0,1fr);gap:0 16px;
  padding:9px 2px;border-bottom:1px solid var(--line-2);align-items:start}
.ev2:last-child{border-bottom:none}
.ev2 .ts{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4);
  line-height:1.5;white-space:nowrap;padding-top:2px}
.evbody{min-width:0}
.evk{display:inline-block;font-family:var(--font-mono);font-size:11.5px;font-weight:600;
  padding:1px 8px;border-radius:5px;background:var(--surface-2);
  border:1px solid var(--line);color:var(--ink-2);margin-right:9px;vertical-align:middle}
.k-operation{background:var(--info-soft);border-color:var(--info-line);color:var(--info)}
.k-engine{background:var(--eng-co-soft);border-color:#cdc9ee;color:var(--eng-co-ink)}
.k-document{background:var(--eng-ex-soft);border-color:#bcded2;color:var(--eng-ex-ink)}
.k-field{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}
.k-signing_link{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}
.eva{font-size:12px;color:var(--ink-3)}
.ev2 .ev-det{font-size:12px;color:var(--ink-2);line-height:1.55;
  margin:4px 0 0;padding:0;border-left:none}
.ev2 .ev-det b{color:var(--ink)}

/* -- resultado panel: compute results on the board (G8) ----------------- */
.resultado{padding:14px 18px;margin-top:14px}
.rtot{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.rcell{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-md);
padding:8px 12px;display:flex;flex-direction:column;gap:2px;min-width:128px}
.rcell .rl{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}
.rcell .rv{font-family:var(--font-mono);font-size:14px;font-variant-numeric:tabular-nums}
.rcell.rva{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface))}
.rcell.rva .rv{font-weight:700;color:var(--accent-ink);font-size:15px}
.rflag{font-size:13px;line-height:1.55;padding:6px 10px;margin:4px 0;background:var(--warn-soft);
border:1px solid var(--warn-line);border-radius:var(--r-md)}
.rflag span{color:var(--ink-2)}
.rok{font-size:13px;color:var(--ok);font-weight:600;padding:4px 0}
.rfoot{font-size:12px;color:var(--ink-3);margin-top:8px}
.rfoot a{color:var(--accent)}
