/* Sahal — product theme. Loaded after console.css: it re-skins the tokens and the shell
   in the idiom of a modern SaaS app (left sidebar, soft cards, one indigo accent) and keeps
   every class name console.css already defines, so templates need no markup changes.
   Legal-semantics colours stay distinct from the accent: red = certain, amber = judgment,
   blue = blocked/info, green = done. Reading text stays serif; everything else is Inter. */

:root{
  --paper:#f6f7fb; --surface:#ffffff; --rail:#f1f3f9;
  --line:#e3e6ef; --line-soft:#edf0f6;
  --fg:#101828; --fg-dim:#475467; --fg-faint:#8a94a6;
  --chrome-bg:#ffffff; --chrome-fg:#101828; --chrome-dim:#475467; --chrome-line:#e3e6ef;
  --chrome-field:#ffffff; --chrome-field-line:#d5d9e4; --chrome-field-fg:#101828;
  --chrome-hover:#f1f3f9; --scrim:rgba(16,24,40,.45); --shadow:rgba(16,24,40,.16);
  --sel-bg:#4f46e5; --sel-fg:#ffffff; --go-bg:#4f46e5; --go-fg:#ffffff;
  --brass:#4f46e5; --brass-soft:#eef0ff;
  --certain:#d92d20; --certain-soft:#fef0ee;
  --judge:#b54708; --judge-soft:#fff4e5;
  --blocked:#1d63d6; --blocked-soft:#eaf2ff;
  --done:#079455; --done-soft:#e8f7ef;
  --ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --radius:10px; --radius-sm:7px; --side-w:256px;
  --ring:0 0 0 3px rgba(79,70,229,.22);
  --card-shadow:0 1px 2px rgba(16,24,40,.05);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-ui-theme="light"]){
  --paper:#0b0f1a; --surface:#121827; --rail:#0f1522;
  --line:#242c3d; --line-soft:#1b2232;
  --fg:#e7eaf2; --fg-dim:#a3adc2; --fg-faint:#6f7a91;
  --chrome-bg:#0f1522; --chrome-fg:#e7eaf2; --chrome-dim:#a3adc2; --chrome-line:#242c3d;
  --chrome-field:#121827; --chrome-field-line:#2d3650; --chrome-field-fg:#e7eaf2;
  --chrome-hover:#1a2133; --scrim:rgba(2,4,10,.66); --shadow:rgba(0,0,0,.55);
  --sel-bg:#6366f1; --sel-fg:#ffffff; --go-bg:#6366f1; --go-fg:#ffffff;
  --brass:#a5b4fc; --brass-soft:#1b2040;
  --certain:#ff8a80; --certain-soft:#2f1618;
  --judge:#f5b567; --judge-soft:#2c2111;
  --blocked:#7db1ff; --blocked-soft:#14233d;
  --done:#4fd18f; --done-soft:#0f2a1f;
  --ring:0 0 0 3px rgba(129,140,248,.35); --card-shadow:none;
}}
:root[data-theme="dark"]:not([data-ui-theme="light"]),:root[data-ui-theme="dark"]{
  --paper:#0b0f1a; --surface:#121827; --rail:#0f1522;
  --line:#242c3d; --line-soft:#1b2232;
  --fg:#e7eaf2; --fg-dim:#a3adc2; --fg-faint:#6f7a91;
  --chrome-bg:#0f1522; --chrome-fg:#e7eaf2; --chrome-dim:#a3adc2; --chrome-line:#242c3d;
  --chrome-field:#121827; --chrome-field-line:#2d3650; --chrome-field-fg:#e7eaf2;
  --chrome-hover:#1a2133; --scrim:rgba(2,4,10,.66); --shadow:rgba(0,0,0,.55);
  --sel-bg:#6366f1; --sel-fg:#ffffff; --go-bg:#6366f1; --go-fg:#ffffff;
  --brass:#a5b4fc; --brass-soft:#1b2040;
  --certain:#ff8a80; --certain-soft:#2f1618;
  --judge:#f5b567; --judge-soft:#2c2111;
  --blocked:#7db1ff; --blocked-soft:#14233d;
  --done:#4fd18f; --done-soft:#0f2a1f;
  --ring:0 0 0 3px rgba(129,140,248,.35); --card-shadow:none;
}

body{font-size:14px;line-height:1.55;letter-spacing:-.003em}
h1,h2,h3,h4{letter-spacing:-.015em}
:focus-visible{outline:0;box-shadow:var(--ring);border-radius:var(--radius-sm)}
a{color:var(--brass);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:2px}
.ico{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}

/* ── app shell ─────────────────────────────────────────────────────────────── */
.navtoggle{position:absolute;opacity:0;pointer-events:none}
.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;min-height:0;
  background:var(--chrome-bg);border-right:1px solid var(--line)}
.side-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 10px}
.logo{display:flex;align-items:center;gap:10px;color:var(--fg);font-weight:700;font-size:16px}
.logo:hover{text-decoration:none}
.logo-word{letter-spacing:-.02em}
.logo-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font-weight:700;font-size:15px;
  box-shadow:0 1px 2px rgba(67,56,202,.4)}
.burger{display:none;cursor:pointer;color:var(--fg-dim);padding:6px;border-radius:var(--radius-sm)}
.burger:hover{background:var(--chrome-hover)}
.side-body{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 10px 12px}
.workspace{margin:2px 6px 12px;padding:8px 10px;border:1px solid var(--line);
  border-radius:var(--radius-sm);background:var(--rail);font-size:12.5px;font-weight:600;
  color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav{display:grid;gap:2px}
.nav-item{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-sm);
  color:var(--fg-dim);font-weight:500;font-size:14px}
.nav-item:hover{background:var(--chrome-hover);color:var(--fg);text-decoration:none}
.nav-item[aria-current="page"]{background:var(--brass-soft);color:var(--brass);font-weight:600}
.nav-badge{margin-left:auto;font:600 11px/1 var(--mono);padding:3px 7px;border-radius:999px;
  background:var(--certain);color:#fff}
.tree{margin-top:22px}
.tree-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--fg-faint);padding:0 10px 6px}
.tree .mat{display:grid;gap:1px;padding:7px 10px;border-radius:var(--radius-sm);
  color:var(--fg-dim);min-width:0}
.tree .mat:hover{background:var(--chrome-hover);text-decoration:none;color:var(--fg)}
.tree .mat-name{font-size:13px;font-weight:500;color:var(--fg);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.tree .mat-sub{font-size:11.5px;color:var(--fg-faint);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.tree-empty{margin:0;padding:4px 10px 8px;font-size:12.5px;color:var(--fg-faint);line-height:1.5}
.tree .all-link{display:block;margin-top:4px;padding:8px 10px;font-size:13px;font-weight:600;
  color:var(--brass);border-radius:var(--radius-sm)}
.tree .all-link:hover{background:var(--brass-soft);text-decoration:none}
.side-foot{border-top:1px solid var(--line);padding:12px;display:grid;gap:10px}
.me{display:flex;align-items:center;gap:10px;min-width:0}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:var(--brass-soft);color:var(--brass);font-weight:700;font-size:13px}
.me-text{display:grid;min-width:0;line-height:1.25}
.me-text b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.me-text small{font-size:11.5px;color:var(--fg-faint);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.foot-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}
.foot-actions form{margin:0}
.themesw{display:inline-flex;padding:2px;border-radius:var(--radius-sm);background:var(--rail);
  border:1px solid var(--line)}
.themesw button{border:0;background:none;color:var(--fg-dim);font-size:12px;font-weight:600;
  padding:4px 10px;border-radius:5px}
.themesw button[aria-current="true"]{background:var(--surface);color:var(--fg);
  box-shadow:0 1px 2px rgba(16,24,40,.12)}
.content{min-width:0}
.content-in{max-width:1180px;margin:0 auto;padding:28px 32px 72px}

@media (max-width:900px){
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-content:start}
  .side{position:sticky;height:auto;z-index:30;border-right:0;border-bottom:1px solid var(--line)}
  .burger{display:block}
  .side-body,.side-foot{display:none}
  .navtoggle:checked ~ .app .side{height:100vh;overflow:auto}
  .navtoggle:checked ~ .app .side-body,.navtoggle:checked ~ .app .side-foot{display:grid}
  .navtoggle:checked ~ .app .side-body{display:block}
  .content-in{padding:20px 16px 56px}
}

/* ── page headers, cards, panels ───────────────────────────────────────────── */
.qhead{align-items:center;gap:12px;margin-bottom:6px}
.qhead h3,.qhead h2{font-size:22px;font-weight:700;letter-spacing:-.02em}
.qsub{font-size:14px;color:var(--fg-dim);margin:0 0 20px}
.stamp{font-family:var(--ui);font-size:12.5px;color:var(--fg-faint)}
.panel,.askbox,.composer,.run,.scopebar,.dsel,.advgrid,.mcard,.doccol,.empty0,.pal{
  border-radius:var(--radius);border-color:var(--line);box-shadow:var(--card-shadow)}
.panel{padding:20px 22px}
.panel + .panel{margin-top:16px}
.panel h3{font-size:15.5px;font-weight:650;display:flex;align-items:center;gap:8px}
.panel p.lede{font-size:13.5px}
.note{border-left-color:var(--brass)}

/* ── buttons & forms ───────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:var(--radius-sm);
  padding:7px 14px;font-size:13px;font-weight:500;box-shadow:0 1px 2px rgba(16,24,40,.05);
  transition:background .12s,border-color .12s,box-shadow .12s}
.btn:hover:not(:disabled){background:var(--rail);border-color:var(--fg-faint);color:var(--fg);
  text-decoration:none}
.btn.primary{background:var(--go-bg);border-color:var(--go-bg);color:var(--go-fg);font-weight:600;
  box-shadow:0 1px 2px rgba(67,56,202,.35)}
.btn.primary:hover:not(:disabled){background:#4338ca;border-color:#4338ca;color:#fff}
.btn.full{width:100%}
.fld label,.authcard label{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;
  color:var(--fg-dim)}
input,select,textarea{border-radius:var(--radius-sm)}
.fld select,.fld input,.addsrc input,.searchrow input,.askbox textarea,.composer textarea,
.cmtbox textarea,.whybox textarea,.authcard input[type=email],.authcard input[type=text],
.scopebar select,.railfind{border:1px solid var(--chrome-field-line);background:var(--surface);
  color:var(--fg);border-radius:var(--radius-sm);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.fld select:focus,.fld input:focus,.addsrc input:focus,.searchrow input:focus,
.askbox textarea:focus,.composer textarea:focus,.cmtbox textarea:focus,.whybox textarea:focus,
.authcard input:focus{outline:0;border-color:var(--brass);box-shadow:var(--ring)}
.addsrc{border-style:dashed;border-radius:var(--radius)}

/* ── badges, chips, tabs ───────────────────────────────────────────────────── */
.badge,.ebadge,.sev,.kind,.dkind,.state,.trend{border-radius:999px;padding:2px 9px;font-size:11.5px;
  font-weight:600;letter-spacing:0;text-transform:none}
.badge{background:var(--rail);border:1px solid var(--line)}
.badge.new,.badge.err,.badge.ok,.badge.wait{border-color:transparent}
.chip{border-radius:999px;padding:5px 12px}
.tabs,.nav2{border-color:var(--line)}
.tab{font-weight:500;padding:10px 14px}
.tab[aria-selected="true"]{color:var(--brass);border-bottom-color:var(--brass)}
.nav2{border-radius:var(--radius);background:var(--surface);padding:5px}
.nav2 .tab{border-radius:var(--radius-sm)}
.nav2 .tab[aria-selected="true"]{background:var(--brass-soft)}

/* ── lists & rows: the queue, matters, findings ────────────────────────────── */
.qrow,.f,.hit,.drow,.pin,.cite,.step,.docrow,.outrow,.setrow,.rrow,.snap,.cmt,.who4,.wsrow{
  border-radius:var(--radius-sm)}
.qrow,.f,.hit,.drow{box-shadow:var(--card-shadow)}
.qrow{padding:12px 16px;transition:border-color .12s,box-shadow .12s,transform .12s}
.qrow:hover,.docrow:hover,.pin:hover,.wsrow:hover{border-color:var(--brass);
  box-shadow:0 2px 8px rgba(79,70,229,.1);text-decoration:none}
.qlab h4{font-size:12px;letter-spacing:.05em}
.qlab .rule{background:var(--line-soft)}
.mcard{overflow:hidden}
.mtrig{padding:14px 18px}
.mtrig:hover{background:var(--rail)}
table.g th{font-size:11.5px;letter-spacing:.04em;font-weight:600;background:var(--rail)}
table.g th:first-child{border-top-left-radius:var(--radius-sm)}
table.g th:last-child{border-top-right-radius:var(--radius-sm)}
table.g tbody tr:hover td{background:var(--rail)}
.f{overflow:hidden}
.ev{border-radius:0}
.disclose,.authfoot a,.linkish{color:var(--brass)}

/* ── stat tiles, long strings in findings ─────────────────────────────────── */
.props{gap:12px}
.prop{border-radius:var(--radius);background:var(--surface);padding:12px 14px;
  box-shadow:var(--card-shadow)}
.prop .pl{font-size:11.5px;letter-spacing:.02em;text-transform:none;font-weight:500}
.sumtiles .tile{border-left-width:1px;border-top:3px solid var(--line)}
.sumtiles .tile.certain{border-top-color:var(--certain)}
.sumtiles .tile.judge{border-top-color:var(--judge)}
.sumtiles .tile.blocked{border-top-color:var(--blocked)}
.sumtiles .tile .pv{font-size:26px;font-weight:700;letter-spacing:-.02em}
.fhead > *,.qrow > *,.docrow > *{min-width:0}
.ftitle,.fwhy,.qt .t,.cite,.hit,.prov,.dn,.wd{overflow-wrap:anywhere}
.fhead{gap:14px}
.statusbox{flex-shrink:0}

/* ── reading surfaces keep the serif and stay calm ─────────────────────────── */
.doccol{padding:28px 32px}
.cl .cnum{color:var(--brass)}

/* ── sign-in ───────────────────────────────────────────────────────────────── */
body[data-auth]{background:radial-gradient(1200px 500px at 50% -10%,var(--brass-soft),transparent 60%),
  var(--paper)}
body[data-auth] .authwrap{place-items:center;padding:6vh 16px 40px;min-height:100vh}
.authcard{max-width:420px;border-radius:16px;padding:32px 30px;gap:16px;
  box-shadow:0 10px 30px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.06)}
.authseal{display:flex;align-items:center;gap:10px;font-size:0}
.authseal::before{content:"S";width:34px;height:34px;border-radius:10px;display:grid;
  place-items:center;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;
  font:700 17px/1 var(--ui)}
.authseal::after{content:"Sahal";font-size:18px;font-weight:700;color:var(--fg);letter-spacing:-.02em}
.authcard h2{font-size:22px;font-weight:700;letter-spacing:-.02em}
.authcard input[type=email],.authcard input[type=text]{padding:11px 13px;font-size:15px}
.authcard .btn.full{padding:11px 14px;font-size:14px}
.authcard #code{font-family:var(--mono);font-size:22px;letter-spacing:.35em;text-align:center}
.autherr,.authok,.inherit,.gapwarn,.newsrc,.bound{border-radius:var(--radius-sm)}
.autherr{border:1px solid var(--certain);border-left-width:1px;background:var(--certain-soft)}

/* ── spacing system ────────────────────────────────────────────────────────────
   One rule gives every top-level block on a page at least 16px of air above it (margins
   collapse, so pages that already ask for more keep it). Cards then space their own
   contents. This replaces per-component guesses, which is how cards ended up touching. */
.content-in > * + *{margin-top:16px}
.content-in > .qhead{margin-bottom:0}
.content-in > .qhead + *{margin-top:18px}
.content-in > .qhead + .qsub{margin-top:6px}
.content-in > .qsub + *{margin-top:18px}
.content-in > .nav2,.content-in > .tabs{margin:0 0 20px}
.content-in > .nav2 + *{margin-top:0}
.qhead{row-gap:10px}
.qhead > h3,.qhead > h2{min-width:0;overflow-wrap:anywhere}
.hact{margin-left:auto}
.panel > * + *{margin-top:14px}
.panel > h3 + *{margin-top:6px}
.panel > h3 + .lede + *{margin-top:16px}
.panel > p.lede{margin-bottom:0}
.run > * + *,.askbox > * + *{margin-top:12px}
.mbody > * + *{margin-top:0}

/* ── pills: one baseline, never crushed, never stuck to their neighbours ────── */
.badge,.sev,.kind,.dkind,.state,.trend,.ebadge,.cat,.addr,.chip .n{display:inline-flex;
  align-items:center;line-height:1.45;vertical-align:middle}
.badge,.sev,.kind,.dkind,.state,.trend,.ebadge{white-space:nowrap;flex:0 0 auto}
.addr{max-width:100%;white-space:normal;padding:2px 8px;border-radius:999px}
.fmeta,.hh,.ahead,.dhead,.ch2,.mhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.qm,.qt .m,.msub,.dm,.pmeta{line-height:1.5}

/* ── findings cards ────────────────────────────────────────────────────────── */
.f{margin-bottom:0}
.fhead,.fhead.plain{padding:18px 20px;gap:12px 20px;align-items:start}
.fmeta{margin-bottom:10px}
.ftitle{font-size:15.5px;line-height:1.4;margin:0 0 8px}
.fwhy{line-height:1.6}
.fhead .evrow{margin-top:14px;gap:6px}
.evlab{display:block;margin:0}
.evrow .prov,.evrow .quote,.evrow .inner{margin:0}
.fhead .prov a{display:inline-block;margin-top:2px}
.statusbox{gap:10px}
.statusbox form{margin:0}
.acts{gap:6px}
.act{padding:5px 11px;border-radius:var(--radius-sm)}
.audit{padding:10px 20px;border-top:1px solid var(--line-soft);background:var(--rail)}
.sumline{margin:12px 0 0;line-height:1.6;max-width:90ch}
.newsrc{padding:12px 16px}
.quote{padding:12px 14px}
.inner li{padding:7px 10px}

/* ── sources list: a row has text and a status, and sometimes a checkbox ───── */
label.src{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:16px 0;align-items:start}
label.src:has(> input[type=checkbox]){grid-template-columns:auto minmax(0,1fr) auto}
label.src > span:first-of-type{min-width:0;display:grid;gap:3px}
label.src .nm{font-weight:600}
label.src .u{line-height:1.45}
label.src .badge{margin-top:2px}

/* ── matter page: documents, access, upload ───────────────────────────────── */
.mcard{margin-bottom:0}
.mcard + .mcard{margin-top:10px}
.mtrig{gap:14px;padding:16px 20px}
.mbody{padding:16px 20px;gap:10px}
.docrow{padding:12px 16px;gap:14px}
.docrow .dm{margin-top:3px}
.qrow{padding:14px 18px;gap:14px}
.qrow + .qrow{margin-top:8px}
.q{gap:8px}
.macts{padding-top:8px}
.prow{padding:14px 0;gap:10px 16px}
.plist .prow + .prow{margin-top:0}
.setrow,.outrow,.rrow,.step,.snap,.cmt{padding:12px 16px}
.snap + .snap{margin-top:8px}
.form{gap:16px}
.addsrc{padding:16px;gap:10px}
.advgrid{padding:16px;gap:12px}
.dsel{padding:16px 18px;gap:14px}
.scopebar{padding:14px 18px}
.composer,.askbox{padding:16px 18px}
.turn + .turn{margin-top:4px}
.thread{gap:16px}
.cites{gap:8px}
.cite{padding:12px 14px}
.hit{padding:14px 16px}
.drow{padding:14px 16px}
/* Vertical rhythm only: console.css owns the horizontal padding, which carries the
   indentation of nested clauses and the inset of a flagged one. Setting all four sides
   here once flattened both. */
.doccol .cl{padding-top:14px;padding-bottom:14px}
.cl .ctxt{margin-top:6px;line-height:1.7}
.cl .cnum{display:block}
.doccol .cl.flagged{padding:16px 20px 14px 22px;margin:10px 0;border-radius:var(--radius-sm);
  border-top:0}
.doccol .cl.flagged + .cl.flagged{margin-top:10px}
.doccol .cl.flagged + .cl:not(.flagged){border-top:0}
.cl.flagged .pinnote{margin-top:12px;padding-top:10px;display:flex;flex-wrap:wrap;
  gap:4px 10px;align-items:baseline;font-size:12.5px;line-height:1.5;
  border-top:1px dashed color-mix(in srgb,var(--fg-faint) 40%,transparent)}
.cl.flagged .pinnote + .pinnote{margin-top:8px;padding-top:8px}
.pinnote .prov{margin-left:0}
.margin{gap:10px}
.pin{padding:12px 14px}
.empty0{padding:32px 28px}
.pin{display:block;min-width:0;color:var(--fg);overflow-wrap:anywhere}
.pin:hover{text-decoration:none}
.pin .pa,.pin .pt2,.pinnote{overflow-wrap:anywhere}
.pin .pa{margin-bottom:6px}
.readwrap > *{min-width:0}
.inner li{padding:7px 10px}
.inner{gap:6px}
a.qrow,a.docrow,a.pin,a.wsrow{color:var(--fg)}

/* list rows (queue, matters, documents): title + pill on one line, meta + time on the next */
.qrow{display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title badge" "meta when";gap:6px 16px;align-items:center}
.qrow > *{min-width:0}
.qrow > .qt{grid-area:title;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.qrow > .qm{grid-area:meta;display:block;font-size:12.5px;color:var(--fg-faint);overflow-wrap:anywhere}
.qrow > .badge{grid-area:badge;justify-self:end}
.qrow > .prov{grid-area:when;justify-self:end;white-space:nowrap}
.qrow > .prov:empty{display:none}
label.src > span:first-of-type{grid-template-columns:minmax(0,1fr)}
label.src > span:first-of-type > *{min-width:0;overflow-wrap:anywhere}
.rtool{gap:10px}
.rtool select{flex:1 1 130px;min-width:0}
.rtool input{flex:1 1 130px;min-width:0}
.rtool .btn{flex:0 0 auto}


/* matters: search + entity filter */
.mfilter{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mfilter input[type=search]{flex:1 1 240px;min-width:0;padding:9px 12px;font-size:13.5px;
  border:1px solid var(--chrome-field-line);background:var(--surface);color:var(--fg);
  border-radius:var(--radius-sm);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.mfilter input[type=search]:focus,.mfilter select:focus{outline:0;border-color:var(--brass);
  box-shadow:var(--ring)}
.mfilter select{flex:0 1 220px;min-width:0;padding:9px 10px;font-size:13.5px;
  border:1px solid var(--chrome-field-line);background:var(--surface);color:var(--fg);
  border-radius:var(--radius-sm)}


/* "src" is also the class of a quote taken from a source; it must not inherit the Sources-list
   row layout from console.css, which gave it a grid and no inner padding. */
.quote.src,.quote.del{display:block;padding:12px 16px;border-top:1px solid var(--line-soft);
  align-items:initial}
.note{padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--rail)}
.nav2 .doc{padding:6px 12px 6px 10px;margin-right:6px}
.nav2{padding:6px 8px}

/* ── print: legal documents get printed; drop the chrome ───────────────────── */
@media print{.side,.navtoggle{display:none!important}.app{display:block}
  .content-in{padding:0;max-width:none}}
