/* Aus app/workspace.html übernommen (Review-Paket). */
/* Base of the bookkeeping workspace (W2, W21). Tokens follow docs/design-language.md:
   indigo accent, semantic triples, soft elevation. Ported from the chosen prototype A in
   docs/ux/beleg-arbeitsablauf/prototypes/.
   Light and dark (MR 13.10.2026): a color that differs is light-dark(light, dark). The page
   follows the system unless the viewer chose „Hell“ or „Dunkel“ in the top bar, which sets
   data-theme on <html> (the script in this head). Status text on its tint keeps WCAG AA in
   both themes. Receipt pages darken with the theme unless the viewer chose „Original-Farben“
   (see „receipt pages“ below). */
:root {
  color-scheme:light dark;
  --bg:light-dark(#eceef5, #0d0f14); --bg-grad-a:light-dark(rgba(99,102,241,.14), rgba(99,102,241,.16)); --bg-grad-c:light-dark(rgba(124,58,237,.07), rgba(124,58,237,.10));
  --card:light-dark(#ffffff, #171a21); --card-alt:light-dark(#f8f9fd, #1b1e26); --surface-2:light-dark(#f6f7fb, #1e222b); --surface-3:light-dark(#eef0f7, #262a35);
  --border:light-dark(#e7e9f0, #2b303b); --border-strong:light-dark(#d7dbe5, #3a404d); --hairline:light-dark(#eef0f4, #232731);
  --text:light-dark(#161a20, #e8eaf0); --text-2:light-dark(#3a4150, #c3c8d3); --muted:light-dark(#697180, #949cab); --faint:light-dark(#98a0af, #6e7686);
  --accent:light-dark(#4f46e5, #5b5ef0); --accent-hover:light-dark(#4338ca, #4f51e4); --accent-press:light-dark(#3730a3, #4346d6);
  --accent-soft:light-dark(#eef1ff, #1f2245); --accent-soft-2:light-dark(#e2e6ff, #2a2e63); --accent-border:light-dark(#cbd2fb, #3e4494); --accent-text:light-dark(#3f37c9, #a5b4fc);
  --ok:#0e9f6e; --ok-bg:light-dark(#e7f7ef, #0f2920); --ok-border:light-dark(#b7ead1, #1d4a38); --ok-text:light-dark(#067045, #5ee0a8);
  --warn:#b7791f; --warn-bg:light-dark(#fdf3e0, #2c2312); --warn-border:light-dark(#f1d9a4, #5a451c); --warn-text:light-dark(#8a5806, #f3c26b);
  --fail:#e02424; --fail-bg:light-dark(#fdecea, #33181a); --fail-border:light-dark(#f6c5c1, #6b2b2d); --fail-text:light-dark(#b42212, #ff9e95);
  --violet:light-dark(#7c3aed, #a78bfa); --violet-bg:light-dark(#f4ecfe, #251c3b); --violet-border:light-dark(#e2d0fb, #45357a); --violet-text:light-dark(#6d28d9, #c4b5fd);
  --info:light-dark(#1670cf, #4b9be8); --info-bg:light-dark(#e8f1fd, #11233a); --info-border:light-dark(#bedaf7, #234569); --info-text:light-dark(#0f5aa8, #93c5fd);
  /* translucent layers: hover wash, thin ink lines, glass bars over scrolling content */
  --hover:light-dark(rgba(20,26,40,.05), rgba(255,255,255,.06)); --ink-line:light-dark(rgba(20,26,40,.07), rgba(255,255,255,.08));
  --row-hover:light-dark(#fafbfe, #1c1f28); --overlay:light-dark(rgba(20,26,40,.36), rgba(0,0,0,.6));
  --r-card:16px; --r-lg:14px; --r-md:11px; --r-sm:8px; --r-xs:6px; --r-pill:999px;
  --shadow-xs:0 1px 2px light-dark(rgba(20,26,40,.05), rgba(0,0,0,.3));
  --shadow-sm:0 1px 2px light-dark(rgba(20,26,40,.04), rgba(0,0,0,.3)), 0 1px 3px light-dark(rgba(20,26,40,.05), rgba(0,0,0,.25));
  --shadow-md:0 4px 10px -3px light-dark(rgba(20,26,40,.08), rgba(0,0,0,.45)), 0 2px 4px -2px light-dark(rgba(20,26,40,.05), rgba(0,0,0,.3));
  --shadow-lg:0 0 0 1px light-dark(transparent, rgba(255,255,255,.08)), 0 16px 34px -10px light-dark(rgba(20,26,40,.20), rgba(0,0,0,.6)), 0 6px 14px -6px light-dark(rgba(20,26,40,.10), rgba(0,0,0,.4));
  --shadow-card:0 0 0 1px light-dark(transparent, rgba(255,255,255,.05)), 0 1px 2px light-dark(rgba(20,26,40,.04), rgba(0,0,0,.3)), 0 10px 26px -14px light-dark(rgba(30,34,90,.28), rgba(0,0,0,.7));
  --shadow-border:0 0 0 1px light-dark(rgba(20,26,40,.06), rgba(255,255,255,.09)), 0 1px 2px -1px light-dark(rgba(20,26,40,.06), rgba(0,0,0,.3)), 0 2px 4px light-dark(rgba(20,26,40,.04), rgba(0,0,0,.2));
  --ring:0 0 0 3px light-dark(rgba(79,70,229,.22), rgba(129,140,248,.45));
  --grad-brand:linear-gradient(135deg, #6366f1, #4f46e5 48%, #7c3aed);
  --ease:cubic-bezier(.2,0,0,1);
  --font:"Inter var","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
:root[data-theme="light"] { color-scheme:light; }
:root[data-theme="dark"] { color-scheme:dark; }
@media print { :root, :root[data-theme="dark"] { color-scheme:light; } }
/* Receipt pages (MR 13.10.2026): most receipts are white pages that glare in the dark theme, so
   there they are inverted and turned back in hue, with a little less contrast: text turns light
   on dark and colours stay roughly as printed. Their light drop shadow would invert to a glow,
   so a page keeps only a thin ring there. „Original-Farben“ (data-preview-colors="original",
   the second script in this head) shows them untouched; the toggle appears only when dark. */
:root[data-theme="dark"] { --preview-toggle:inline-flex; --paper-filter:invert(.86) hue-rotate(180deg); --paper-shadow:0 0 0 1px rgba(0,0,0,.12); }
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) { --preview-toggle:inline-flex; --paper-filter:invert(.86) hue-rotate(180deg); --paper-shadow:0 0 0 1px rgba(0,0,0,.12); }
}
:root[data-preview-colors="original"] { --paper-filter:none; --paper-shadow:initial; }
@media print { :root { --paper-filter:none !important; --paper-shadow:initial !important; } }
.doc-page { filter:var(--paper-filter, none); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html, body { height:100%; }
body {
  margin:0; font:14px/1.5 var(--font); color:var(--text); background:var(--bg);
  background-image:radial-gradient(900px 420px at 85% -180px, var(--bg-grad-a), transparent 60%),
                   radial-gradient(800px 380px at 10% -160px, var(--bg-grad-c), transparent 58%);
  background-repeat:no-repeat;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
}
button, input, select, textarea { font:inherit; color:inherit; }
.num, .amount { font-variant-numeric:tabular-nums; }
h1, h2, h3 { margin:0; letter-spacing:-.015em; text-wrap:balance; }
p { margin:0; text-wrap:pretty; }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; animation:none !important; } }

/* ---------- top bar (shared by every page of the new surface) ---------- */
.topbar { height:60px; display:flex; align-items:center; gap:18px; padding:0 22px;
  background:color-mix(in srgb, var(--card) 72%, transparent); backdrop-filter:saturate(1.4) blur(10px);
  box-shadow:0 1px 0 var(--ink-line); position:relative; z-index:20; }
.brand-mark { width:32px; height:32px; border-radius:9px; display:grid; place-items:center; color:#fff;
  background:var(--grad-brand); box-shadow:0 6px 16px -7px rgba(79,70,229,.6), inset 0 1px 0 rgba(255,255,255,.3); flex:none; }
.brand-mark svg { width:18px; height:18px; }
.client-switch { display:flex; flex-direction:column; line-height:1.2; padding:4px 10px; margin-left:-4px; border-radius:10px; cursor:pointer; min-width:0; }
.client-switch:hover { background:var(--hover); }
.client-switch b { font-size:14px; font-weight:650; letter-spacing:-.01em; white-space:nowrap; }
.client-switch > span:last-child { font-size:11.5px; color:var(--muted); white-space:nowrap; }
/* The client switch reads as the client's name; the native select over it opens the list and keeps the keyboard. */
.client-pick { position:relative; display:inline-flex; align-items:center; gap:4px; max-width:340px; }
.client-pick b { overflow:hidden; text-overflow:ellipsis; }
.client-pick > svg { width:13px; height:13px; transform:rotate(90deg); color:var(--muted); flex:none; }
.client-pick select { position:absolute; inset:0; width:100%; opacity:0; cursor:pointer; font-size:14px; }
.client-switch:focus-within { box-shadow:var(--ring); }
.mainnav { display:flex; gap:2px; margin-left:8px; }
.mainnav a { display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 12px; border-radius:9px;
  color:var(--text-2); text-decoration:none; font-weight:560; font-size:13.5px; }
.mainnav a:hover { background:var(--hover); color:var(--text); }
.mainnav a.is-active { background:var(--card); color:var(--text); box-shadow:var(--shadow-border); }
.mainnav .count { min-width:19px; height:19px; padding:0 6px; border-radius:var(--r-pill); background:var(--warn-bg); color:var(--warn-text);
  font-size:11px; font-weight:650; display:inline-grid; place-items:center; font-variant-numeric:tabular-nums; }
.topbar .spacer { flex:1; }
.savestate { display:inline-flex; align-items:center; gap:7px; height:32px; padding:0 11px; border-radius:var(--r-pill);
  font-size:12.5px; font-weight:560; color:var(--ok-text); background:var(--ok-bg); white-space:nowrap; }
.savestate::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.savestate.is-saving { color:var(--muted); background:var(--surface-3); }
.savestate.is-saving::before { animation:pulse 1s infinite ease-in-out; }
.savestate.is-failed { color:var(--fail-text); background:var(--fail-bg); }
@keyframes pulse { 50% { opacity:.25; } }
.avatar { width:32px; height:32px; border-radius:50%; background:var(--surface-3); color:var(--text-2); display:grid; place-items:center;
  font-size:12px; font-weight:650; box-shadow:inset 0 0 0 1px var(--ink-line); }
/* „Darstellung“: System, Hell, Dunkel as three small icons (MR 13.10.2026) */
.theme-switch button { width:28px; padding:0; display:inline-grid; place-items:center; color:var(--muted); }
.theme-switch button svg { width:14px; height:14px; }
.theme-switch button:hover { color:var(--text); }
.seg.theme-switch button:focus-visible { outline:none; box-shadow:var(--ring); }

/* ---------- buttons ---------- */
.btn { --h:38px; height:var(--h); padding:0 14px; border-radius:10px; border:0; cursor:pointer; white-space:nowrap;
  display:inline-flex; align-items:center; justify-content:center; gap:7px; font-weight:600; font-size:13.5px;
  background:var(--card); color:var(--text); box-shadow:var(--shadow-border);
  transition-property:background-color, box-shadow, transform, color; transition-duration:.14s; transition-timing-function:var(--ease); }
a.btn { text-decoration:none; }
.btn:hover { background:var(--surface-2); }
.btn:active { transform:scale(.96); }
.btn:focus-visible { outline:none; box-shadow:var(--shadow-border), var(--ring); }
.btn svg { width:16px; height:16px; flex:none; }
.btn.primary { background:var(--accent); color:#fff; box-shadow:0 1px 2px rgba(55,48,163,.3), 0 2px 8px -2px rgba(79,70,229,.4); }
.btn.primary:hover { background:var(--accent-hover); }
.btn.ok { background:var(--ok); color:#fff; box-shadow:0 1px 2px rgba(6,112,69,.3), 0 2px 8px -2px rgba(14,159,110,.4); }
.btn.ok:hover { background:#0b8a5f; }
.btn.ghost { background:transparent; box-shadow:none; color:var(--text-2); }
.btn.ghost:hover { background:var(--hover); color:var(--text); }
.btn.quiet { background:var(--surface-2); box-shadow:none; color:var(--text-2); }
.btn.quiet:hover { background:var(--surface-3); color:var(--text); }
.btn.small { --h:32px; padding:0 11px; font-size:12.5px; border-radius:8px; }
.btn.large { --h:46px; padding:0 20px; font-size:15px; border-radius:12px; }
.btn[aria-disabled="true"], .btn:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }
.btn[aria-disabled="true"]:active { transform:none; }
/* „Original-Farben“ beside a receipt preview, only in the dark theme */
.btn.preview-colors { display:var(--preview-toggle, none); }
.btn.preview-colors svg { width:14px; height:14px; }
.btn.preview-colors[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent-text); }
.btn .kbd, .kbd { font:600 10.5px/1 var(--font); padding:3px 5px; border-radius:5px; background:var(--hover); color:var(--muted); }
.btn.primary .kbd, .btn.ok .kbd { background:rgba(255,255,255,.2); color:rgba(255,255,255,.9); }
.linkbtn { border:0; background:none; padding:0; color:var(--accent-text); font-weight:600; cursor:pointer; font-size:inherit; }
.linkbtn[aria-disabled="true"] { opacity:.5; cursor:not-allowed; }
.linkbtn:hover { text-decoration:underline; text-underline-offset:2px; }
/* „Vormerken“ with its comment part at the right (MR 14.10.2026): one control, two clicks. */
.btn-split { display:inline-flex; align-items:stretch; }
.btn-split > .btn:first-child { border-top-right-radius:0; border-bottom-right-radius:0; }
.btn-split > .btn + .btn { position:relative; margin-left:-1px; padding:0 9px; border-top-left-radius:0; border-bottom-left-radius:0; }
.btn-split > .btn.ghost + .btn::before, .btn-split > .btn.primary + .btn::before { content:""; position:absolute; left:0; top:7px; bottom:7px; width:1px; background:currentColor; opacity:.28; }
.btn-split > .btn:active { transform:none; }
.btn-split > .btn:focus-visible { position:relative; z-index:1; }
.btn-split > .btn-split-more svg { width:15px; height:15px; }
.btn-split > .btn-split-more[aria-expanded="true"] { background:var(--accent-soft); color:var(--accent-text); }

/* ---------- pills, marks, grades ---------- */
.pill { display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 9px; border-radius:var(--r-pill);
  font-size:12px; font-weight:600; white-space:nowrap; background:var(--surface-3); color:var(--text-2); }
.pill.ok { background:var(--ok-bg); color:var(--ok-text); }
.pill.warn { background:var(--warn-bg); color:var(--warn-text); }
.pill.fail { background:var(--fail-bg); color:var(--fail-text); }
.pill.info { background:var(--info-bg); color:var(--info-text); }
.pill.violet { background:var(--violet-bg); color:var(--violet-text); }
.pill.accent { background:var(--accent-soft); color:var(--accent-text); }
.pill .dot { width:7px; height:7px; border-radius:50%; background:currentColor; }
.mark { width:20px; height:20px; border-radius:50%; display:inline-grid; place-items:center; flex:none; }
.mark svg { width:12px; height:12px; }
.mark.needs { background:var(--warn-bg); color:var(--warn-text); box-shadow:inset 0 0 0 1.5px var(--warn-border); }
.mark.needs.is-block { background:var(--fail-bg); color:var(--fail-text); box-shadow:inset 0 0 0 1.5px var(--fail-border); }
.mark.calm { background:var(--card); color:var(--faint); box-shadow:inset 0 0 0 1.5px var(--border-strong); }
.mark.done { background:var(--ok); color:#fff; }
.mark.parked { background:var(--violet-bg); color:var(--violet-text); box-shadow:inset 0 0 0 1.5px var(--violet-border); }
/* a KI correction that goes with the release: decided, not open (MR 13.10.2026) */
.mark.ki { background:var(--violet-bg); color:var(--violet-text); }
.mark.processing { background:conic-gradient(var(--accent) calc(var(--p,0) * 1%), var(--accent-soft-2) 0); position:relative; }
.mark.processing::after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--card); }
.grade { display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:650; letter-spacing:.01em; padding:2px 8px 2px 7px; border-radius:var(--r-pill); }
.grade.klaeren { background:var(--fail-bg); color:var(--fail-text); }
.grade.pruefen { background:var(--warn-bg); color:var(--warn-text); }
.grade.info { background:var(--info-bg); color:var(--info-text); }
.grade.bewusst { background:var(--surface-3); color:var(--muted); }
.grade svg { width:12px; height:12px; }

/* ---------- progress ---------- */
.bar { height:6px; border-radius:var(--r-pill); background:var(--surface-3); overflow:hidden; position:relative; }
.bar > i { position:absolute; inset:0 auto 0 0; border-radius:inherit; background:var(--accent); width:calc(var(--p,0) * 1%);
  transition:width .6s var(--ease); }
.bar.ok > i { background:var(--ok); }
/* A release in flight: one moving bar instead of rows changing one by one (MR 2026-10-06). */
.bar.is-working > i { width:35%; animation:bar-working 1.2s var(--ease) infinite alternate; }
@keyframes bar-working { from { transform:translateX(0); } to { transform:translateX(186%); } }
/* The KI checking receipts again: a filling bar with a moving sheen (MR 13.10.2026). */
.bar.is-live { height:8px; background:var(--violet-bg); box-shadow:inset 0 0 0 1px var(--violet-border); }
.bar.is-live > i { background:var(--violet); min-width:6%; overflow:hidden; }
.bar.is-live > i::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  transform:translateX(-100%); animation:bar-sheen 1.4s linear infinite; }
@keyframes bar-sheen { to { transform:translateX(100%); } }
.panes.is-releasing .pane.list, .panes.is-releasing .c-release-foot { opacity:.55; pointer-events:none; transition:opacity .2s var(--ease); }
.segbar { display:flex; gap:2px; height:6px; border-radius:var(--r-pill); overflow:hidden; }
.segbar > i { display:block; height:100%; }
.segbar .s-done { background:var(--ok); }
.segbar .s-calm { background:var(--border-strong); }
.segbar .s-needs { background:var(--warn); }
.segbar .s-proc { background:repeating-linear-gradient(-45deg, var(--accent-border) 0 4px, var(--accent-soft-2) 4px 8px); }

/* ---------- forms ---------- */
.field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.field > span { font-size:12px; font-weight:600; color:var(--text-2); }
.field input, .field select, .field textarea { height:38px; padding:0 11px; border-radius:9px; border:1px solid var(--border-strong);
  background:var(--card); min-width:0; font-variant-numeric:tabular-nums; }
.field textarea { height:auto; min-height:66px; padding:9px 11px; resize:vertical; line-height:1.45; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.field .hint { font-size:11.5px; color:var(--muted); }
.field input.is-changed, .field select.is-changed { border-color:var(--accent-border); background:var(--accent-soft); }
.seg { display:inline-flex; padding:3px; gap:3px; border-radius:11px; background:var(--surface-3); }
.seg button { height:34px; padding:0 12px; border:0; border-radius:8px; background:transparent; cursor:pointer; font-weight:600; font-size:13px; color:var(--text-2); }
.seg button[aria-pressed="true"] { background:var(--card); color:var(--text); box-shadow:var(--shadow-sm); }
.check { display:flex; align-items:flex-start; gap:9px; font-size:13px; color:var(--text-2); cursor:pointer; }
.check input { width:16px; height:16px; margin:2px 0 0; accent-color:var(--accent); }

/* ---------- toast ---------- */
.toast { position:fixed; left:50%; bottom:22px; transform:translate(-50%, 10px); opacity:0; z-index:90; pointer-events:none;
  background:light-dark(#1d2230, #2a3040); color:#fff; border-radius:12px; padding:10px 12px 10px 16px; display:flex; gap:14px; align-items:center;
  box-shadow:var(--shadow-lg); font-size:13.5px; transition:opacity .2s var(--ease), transform .2s var(--ease); }
.toast.is-on { opacity:1; transform:translate(-50%, 0); pointer-events:auto; }
.toast .linkbtn { color:#a5b4fc; }

/* ---------- booking card ---------- */
/* The booking card (right pane) and its blocks. */
.c-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.c-party { display:flex; flex-direction:column; min-width:0; }
.c-party b { font-size:16px; font-weight:650; letter-spacing:-.01em; }
.c-party span { font-size:13px; color:var(--muted); margin-top:1px; }
.c-amount { font-size:20px; font-weight:680; letter-spacing:-.02em; white-space:nowrap; }
.c-words { margin-top:14px; font-size:18px; line-height:1.35; font-weight:640; letter-spacing:-.015em; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-words.is-big { font-size:24px; }
.c-why { margin-top:7px; color:var(--text-2); font-size:13.5px; line-height:1.5; text-wrap:pretty; }
.c-why .pill { margin-left:4px; height:20px; font-size:11px; vertical-align:1px; }
.c-why .linkbtn, .c-why .muted { margin-left:8px; font-size:12.5px; white-space:nowrap; }
.c-why .muted svg { width:12px; height:12px; vertical-align:-1px; margin-right:3px; }

.c-q { margin-top:16px; padding:14px 16px 16px; border-radius:var(--r-lg); background:var(--warn-bg); box-shadow:inset 0 0 0 1px var(--warn-border); }
.c-q.is-klaeren { background:var(--fail-bg); box-shadow:inset 0 0 0 1px var(--fail-border); }
.c-q.is-klaeren .grade { background:var(--card); }
.c-q.is-pruefen .grade { background:var(--card); }
.c-q h3 { margin-top:9px; font-size:15.5px; font-weight:650; }
.c-q p { margin-top:4px; color:var(--text-2); font-size:13.5px; }
.c-fix { display:flex; align-items:center; gap:10px; margin-top:11px; padding:9px 12px; border-radius:10px; background:color-mix(in srgb, var(--card) 75%, transparent); font-size:14px; }
.c-fix span { color:var(--muted); font-size:12.5px; }
.c-fix s { color:var(--fail-text); text-decoration-thickness:1.5px; }
.c-fix svg { width:16px; height:16px; color:var(--muted); }
.c-fix b { color:var(--ok-text); }
.c-answers { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }

.c-line { display:flex; gap:10px; align-items:flex-start; margin-top:14px; padding:10px 12px; border-radius:var(--r-md); font-size:13px; line-height:1.45; }
.c-line > svg { width:17px; height:17px; flex:none; margin-top:1px; }
.c-line > div { flex:1; min-width:0; }
.c-line small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.c-line .linkbtn { flex:none; font-size:12.5px; margin-top:1px; }
.c-line.is-auto { background:var(--accent-soft); color:var(--text-2); }
.c-line.is-auto > svg { color:var(--accent); }
.c-line.is-info { background:var(--info-bg); color:var(--info-text); }
/* what changed at the receipt while the page was open (MR 13.10.2026) */
.c-line.is-upd { background:var(--surface-2); color:var(--text-2); box-shadow:inset 0 0 0 1px var(--border-strong); }
.c-line.is-upd > svg { color:var(--violet); }
.c-checking.is-flash { animation:flash-reason .9s var(--ease); }
/* who gave a verdict: the KI-Vorprüfung, not the office (MR 13.10.2026) */
.c-src { font-size:11.5px; font-weight:600; color:var(--muted); white-space:nowrap; }
.c-line.is-answered { margin-top:16px; background:var(--ok-bg); box-shadow:inset 0 0 0 1px var(--ok-border); color:var(--text-2); }
.c-line.is-answered > svg { color:var(--ok); }
.c-line.is-answered b { color:var(--ok-text); }
.c-line.is-answered small { overflow-wrap:anywhere; }
/* „Automatisch geklärt“ in one line; „Details“ opens each answer (MR 06.10.2026). */
.c-auto-details { margin-top:4px; padding:4px 12px 8px 39px; border-radius:var(--r-md); background:var(--accent-soft); font-size:12.5px; line-height:1.45; color:var(--text-2); }
.c-auto-entry { display:flex; gap:10px; align-items:flex-start; padding:6px 0; }
.c-auto-entry + .c-auto-entry { border-top:1px solid var(--hairline); }
.c-auto-entry > div { flex:1; min-width:0; }
.c-auto-entry p { margin:2px 0 0; }
.c-auto-entry small { display:block; color:var(--muted); font-size:11.5px; margin-top:2px; }
.c-auto-entry .linkbtn { flex:none; font-size:12px; }

/* A parking in one box (MR 13.10.2026): with the KI correction that made it, its client text and the principle. */
.c-parked { margin-top:16px; padding:14px 16px; border-radius:var(--r-lg); background:var(--violet-bg); box-shadow:inset 0 0 0 1px var(--violet-border); }
.c-parked-top { display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:11.5px; font-weight:650; color:var(--violet-text); }
.c-parked-top svg { width:15px; height:15px; }
.c-parked-top .pill { margin-left:auto; height:21px; font-size:11px; background:var(--card); }
.c-parked > b { display:block; margin-top:8px; font-size:15px; font-weight:650; }
.c-parked > p { margin-top:3px; font-size:13px; color:var(--text-2); }
.c-parked-acts { display:flex; flex-wrap:wrap; gap:18px; margin-top:10px; font-size:12.5px; }
/* The client's text once, in its first line (MR 13.10.2026). */
.c-request { display:flex; align-items:baseline; gap:6px; margin-top:8px; font-size:13px; color:var(--text-2); min-width:0; }
.c-request-label { flex:none; color:var(--muted); font-size:12.5px; }
.c-request-text { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-request.is-open .c-request-text { white-space:normal; }
.c-request .linkbtn { flex:none; font-size:12.5px; }
.c-box-more { margin-top:8px; color:var(--muted); font-size:12px; }

/* „Zu tun“ (MR 13.10.2026): the receipt's steps in order, each with its button; done ones ticked. */
.c-todo { margin-top:14px; padding:12px 14px 6px; border-radius:var(--r-lg); background:var(--card); box-shadow:inset 0 0 0 1.5px var(--accent-border), var(--shadow-sm); }
.c-todo-head { margin:0; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--accent-text); }
.c-steps { list-style:none; margin:4px 0 0; padding:0; }
.c-step { display:grid; grid-template-columns:22px minmax(0, 1fr); gap:11px; padding:9px 0 10px; }
.c-step + .c-step { border-top:1px solid var(--hairline); }
.c-step-n { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; margin-top:-1px; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; background:var(--accent-soft); color:var(--accent-text); }
.c-step-n svg { width:13px; height:13px; }
.c-step-body { min-width:0; }
.c-step-t { font-size:14px; font-weight:640; line-height:1.4; color:var(--text); text-wrap:pretty; }
.c-step-note { margin-top:2px; font-size:12.5px; line-height:1.45; color:var(--text-2); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.c-step-more { margin-top:4px; font-size:12px; color:var(--muted); }
.c-step-acts { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; align-items:center; }
.c-step-acts .linkbtn { font-size:12.5px; margin-left:4px; }
.c-step .c-fix, .c-step .c-sugg, .c-step .k-rows, .c-step .c-form, .c-step .c-approve-err { margin-top:9px; }
.c-step.is-done .c-step-n { background:var(--ok-bg); color:var(--ok-text); }
.c-step.is-done .c-step-t { font-weight:520; color:var(--text-2); }
.c-step-label { color:var(--ok-text); font-weight:620; }
.c-step.is-waiting .c-step-n { background:var(--surface-3); color:var(--text-2); }
.c-step.is-waiting .c-step-t { font-weight:520; color:var(--text-2); }
.c-step.is-waiting .c-step-label { color:var(--text-2); }
.c-todo.is-none { padding:10px 14px; background:var(--ok-bg); box-shadow:inset 0 0 0 1px var(--ok-border); }
.c-todo.is-none .c-steps { margin:0 0 4px; }
.c-todo.is-none .c-step { padding:4px 0; border-top:0; }
.c-todo.is-none .c-step-n { background:var(--card); }
.c-todo-none { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--ok-text); }
.c-todo-none svg { width:16px; height:16px; flex:none; }
.c-todo-none b { font-weight:620; }
.c-todo-none .linkbtn { margin-left:auto; font-size:12.5px; }
.c-todo.is-wait { background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
.c-todo.is-wait .c-todo-none { color:var(--text-2); }
/* A correction the release confirms, first on the card above „Zu tun“ (MR 14.10.2026). */
.c-ki-lead { display:flex; align-items:center; gap:9px; margin-top:14px; padding:9px 12px; border-radius:var(--r-md); background:var(--violet-bg); box-shadow:inset 0 0 0 1px var(--violet-border); font-size:13.5px; line-height:1.45; }
.c-ki-lead > svg { width:16px; height:16px; flex:none; color:var(--violet); }
.c-ki-lead-t { flex:1; min-width:0; overflow-wrap:anywhere; }
.c-ki-lead-t b { color:var(--violet-text); font-weight:650; }
.c-ki-lead-how { color:var(--text-2); }
.c-ki-lead .linkbtn { flex:none; font-size:12.5px; }
.c-ki-lead + .c-ki-lead { margin-top:6px; }
.c-ki-lead + .c-todo { margin-top:8px; }
/* An optional suggestion below „Zu tun“: one line with what it changes and its answers (MR 14.10.2026). */
.c-suggest { margin-top:8px; padding:7px 10px 7px 12px; border-radius:var(--r-md); background:var(--info-bg); box-shadow:inset 0 0 0 1px var(--info-border); font-size:13px; color:var(--text-2); }
.c-suggest-row { display:flex; align-items:center; flex-wrap:wrap; gap:6px 9px; }
.c-suggest-row > svg { width:15px; height:15px; flex:none; color:var(--info-text); }
.c-suggest-t { flex:1 1 200px; min-width:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; line-height:1.4; text-wrap:pretty; }
.c-suggest-t b { font-weight:640; color:var(--text); }
.c-suggest-acts { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-left:auto; }
.c-suggest-acts .linkbtn { font-size:12.5px; }
.c-suggest .c-sugg, .c-suggest .k-rows, .c-suggest .c-form, .c-suggest .c-step-more { margin-top:8px; }

/* The boxes below „Zu tun“ and the lines, each folded to one line with „Details“ (MR 13.10.2026). */
.c-more { margin-top:18px; }
.c-more > h4 { margin:0; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.c-more > :nth-child(2) { margin-top:8px; }
.c-fold { display:flex; align-items:center; gap:9px; margin-top:6px; padding:7px 12px; border-radius:var(--r-md); background:var(--surface-2); font-size:13px; color:var(--text-2); }
.c-fold > svg { width:15px; height:15px; flex:none; color:var(--muted); }
.c-fold-t { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-fold-t b { color:var(--text); font-weight:620; }
.c-fold .linkbtn, .c-fold .cf-stale { flex:none; font-size:12.5px; }
.c-fold.is-ki > svg, .c-fold.is-park > svg { color:var(--violet); }
.c-fold.is-info > svg { color:var(--info); }
.c-fold.is-warn > svg, .c-fold.is-pruefen > svg { color:var(--warn); }
.c-fold.is-block > svg, .c-fold.is-klaeren > svg { color:var(--fail); }
.c-fold.is-ok > svg { color:var(--ok); }
.c-fold.is-stale { opacity:.7; }
.c-more > .c-ki, .c-more > .c-parked, .c-more > .c-assess, .c-more > .c-finding, .c-more > .c-line { margin-top:6px; }

.c-decide { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; align-items:center; }
.c-decide.is-after-q { margin-top:12px; gap:0; }
.c-decide.is-after-q .btn { padding:0 9px; }
.c-decide .c-or { font-size:12px; color:var(--muted); margin-right:6px; }
.c-decide.is-release { margin-top:12px; gap:6px; }
.c-decide .btn[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent-text); box-shadow:inset 0 0 0 1px var(--accent-border); }

.c-form { margin-top:14px; padding:16px; border-radius:var(--r-lg); background:var(--card-alt); box-shadow:inset 0 0 0 1px var(--border); display:flex; flex-direction:column; gap:13px; }
.f-title { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; }
.f-title svg { width:17px; height:17px; color:var(--accent); }
.f-title b { font-size:14.5px; font-weight:650; }
.f-title span { grid-column:2; font-size:12.5px; color:var(--muted); }
.f-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.f-grid .f-wide { grid-column:1 / -1; }
/* A booking line: account, treatment, rate with its key, amount; the text below (MR 13.10.2026). */
.f-line { grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,1.1fr) minmax(0,.95fr); }
.f-line + .f-line { padding-top:12px; border-top:1px solid var(--border); }
.f-line select:disabled { opacity:1; color:var(--text-2); background:var(--card-alt); }
.f-split { align-self:flex-start; font-size:12.5px; }
.f-result { display:flex; gap:10px; align-items:baseline; padding:10px 12px; border-radius:10px; background:var(--card); box-shadow:var(--shadow-border); font-size:13.5px; }
.f-result span { font-size:11.5px; font-weight:650; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.f-foot { display:flex; gap:8px; padding-top:2px; }
.c-form .seg { align-self:flex-start; flex-wrap:wrap; }

.c-details { margin-top:16px; border-radius:var(--r-md); }
.c-details summary { list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--muted); padding:6px 8px 6px 4px; border-radius:8px; }
.c-details summary::-webkit-details-marker { display:none; }
.c-details summary:hover { color:var(--text); background:var(--hover); }
.c-details summary svg { width:14px; height:14px; transition:transform .15s var(--ease); }
.c-details[open] summary svg { transform:rotate(90deg); }
.c-details table, .c-release table { width:100%; border-collapse:collapse; font-size:12.5px; margin-top:8px; }
.c-details th, .c-release th { text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:6px 8px; border-bottom:1px solid var(--hairline); }
.c-details td, .c-release td { padding:8px; border-bottom:1px solid var(--hairline); vertical-align:top; }
.c-details td small, .c-release td small { display:block; color:var(--muted); font-size:11px; }
.c-details .r, .c-release .r { text-align:right; }
.c-details p { font-size:12px; color:var(--muted); margin-top:8px; }
/* The booking's lines directly on the card, compact; the column order switch sits beside the heading. */
.c-lines { margin-top:16px; }
.lines-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lines-head h4 { margin:0; font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); font-weight:650; }
.seg.is-tiny { padding:2px; gap:2px; border-radius:8px; }
.seg.is-tiny button { height:22px; padding:0 8px; border-radius:6px; font-size:11.5px; font-weight:600; }
.c-lines > table { width:100%; border-collapse:collapse; font-size:12.5px; margin-top:6px; }
.c-lines > table th { text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:4px 8px; border-bottom:1px solid var(--hairline); }
.c-lines > table td { padding:6px 8px; border-bottom:1px solid var(--hairline); vertical-align:top; }
.c-lines > table td small { display:block; color:var(--muted); font-size:11px; }
.c-lines > table .r { text-align:right; white-space:nowrap; }
.c-lines .c-release { margin-top:0; }
/* Booking lines fit the card (MR 07.10.2026): fixed columns, never a horizontal scroll. The account's
   short name keeps one line, its full words in the tooltip. The BU key's meaning takes one line, „§ 13b
   Nicht-EU 19 %“ two (MR 13.10.2026). The Buchungstext shows in full, unhyphenated, in two lines at most
   where the card has its width at 1920 px (MR 14.10.2026). */
table.lines { table-layout:fixed; }
table.lines .w-amt { width:88px; }
table.lines .w-sh { width:30px; }
table.lines .w-acct { width:104px; }
table.lines .w-bu { width:92px; }
table.lines .w-ok { width:38px; }
table.lines th, table.lines td { padding-left:6px; padding-right:6px; }
table.lines th { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-transform:none; letter-spacing:0; font-size:11px; }
table.lines .sh, table.lines .bu { padding-left:4px; padding-right:4px; }
table.lines td.r { white-space:nowrap; }
table.lines td.acct b, table.lines td.bu b { font-weight:600; }
table.lines td.bu small { hyphens:auto; }
table.lines td.acct small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
table.lines td.txt span { display:block; overflow-wrap:break-word; hyphens:manual; }
table.lines td[title] { cursor:default; }

.c-saved { display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--ok-text); }
.c-saved > svg { width:15px; height:15px; flex:none; }
.c-saved > div { flex:1; }
.c-saved .dot { width:7px; height:7px; border-radius:50%; background:currentColor; }
.c-saved.is-open { color:var(--muted); }
.c-saved.is-ki { color:var(--violet-text); }
.c-saved.is-saving { color:var(--muted); }
.c-saved.is-saving .dot { animation:pulse 1s infinite; }
.c-saved.is-failed { color:var(--fail-text); background:var(--fail-bg); padding:9px 10px 9px 12px; border-radius:10px; box-shadow:inset 0 0 0 1px var(--fail-border); }

.c-finding { margin-top:14px; padding:13px 15px 14px; border-radius:var(--r-lg); background:var(--warn-bg); box-shadow:inset 0 0 0 1px var(--warn-border); }
.c-finding.is-info { background:var(--info-bg); box-shadow:inset 0 0 0 1px var(--info-border); }
.c-finding.is-bewusst { background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
.c-finding.is-klaeren { background:var(--fail-bg); box-shadow:inset 0 0 0 1px var(--fail-border); }
.c-finding.is-resolved { display:flex; gap:10px; background:var(--ok-bg); box-shadow:inset 0 0 0 1px var(--ok-border); color:var(--ok-text); }
.c-finding.is-resolved > svg { width:16px; height:16px; flex:none; margin-top:2px; }
.c-finding.is-resolved p { color:var(--text-2); font-size:12.5px; }
.c-finding-top { display:flex; align-items:center; gap:7px; font-size:11.5px; font-weight:650; color:var(--text-2); }
.c-finding-top svg { width:15px; height:15px; color:var(--violet); }
.c-finding-top .grade { margin-left:auto; background:var(--card); }
.c-finding > b { display:block; margin-top:8px; font-size:14.5px; font-weight:650; }
.c-finding > p { margin-top:3px; font-size:13px; color:var(--text-2); }
.c-finding-acts { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }

.c-release-foot { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:12px; }
.c-release-foot .pill svg { width:13px; height:13px; }
/* The release (MR 05.10.2026): one line saying the booking above the lines, each line with its own ✓. */
.c-release-lines { margin-top:14px; padding:12px 12px 14px; border-radius:var(--r-lg); background:var(--card); box-shadow:inset 0 0 0 1px var(--border-strong); }
.c-explain { margin-top:8px; font-size:15px; line-height:1.4; font-weight:620; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-release td.r { white-space:nowrap; }
.c-held { font-size:12.5px; color:var(--fail-text); border-radius:6px; }
.c-held.is-run { color:var(--violet); }
/* What goes with the month's release instead of a confirmation of its own (MR 2026-10-13). */
.c-goes { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--text-2); }
.c-goes svg { width:14px; height:14px; color:var(--ok); flex:none; }
.c-held.is-flash, .m-release small.is-flash { animation:flash-reason .9s var(--ease); }
@keyframes flash-reason { 0%, 60% { background:var(--fail-bg); box-shadow:0 0 0 4px var(--fail-bg); } 100% { background:transparent; box-shadow:0 0 0 4px transparent; } }
.c-approve-err { margin-top:10px; }
.c-block { display:grid; grid-template-columns:20px minmax(0, 1fr); gap:11px; margin-top:14px; padding:12px 14px; border-radius:var(--r-lg); background:var(--fail-bg); box-shadow:inset 0 0 0 1px var(--fail-border); }
.c-block b { font-size:13.5px; font-weight:650; color:var(--fail-text); }
.c-block p { margin-top:3px; font-size:13px; color:var(--text); line-height:1.45; }
.c-block .c-block-why { color:var(--text-2); font-size:12.5px; }
.c-block-acts { display:flex; gap:7px; margin-top:9px; }
.blocker-why { margin-top:2px; color:var(--fail-text) !important; }
.m-release small.is-fail { color:var(--fail-text); }
.m-pre .is-block { color:var(--fail-text); font-weight:620; }
.m-pre .linkbtn { margin-left:4px; font-size:12.5px; display:inline-flex; align-items:center; gap:3px; }
.m-pre .linkbtn svg { width:12px; height:12px; color:inherit; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* duplicate comparison */
.cmp { display:grid; grid-template-columns:330px minmax(0, 1fr) minmax(0, 1fr); gap:16px; min-height:0; align-items:start; }
.cmp-q { display:flex; flex-direction:column; gap:8px; }
.cmp-q .grade { align-self:flex-start; }
.cmp-q h3 { font-size:17px; font-weight:650; line-height:1.3; }
.cmp-diffs { display:flex; flex-direction:column; margin-top:6px; border-radius:var(--r-md); background:var(--surface-2); padding:4px 12px; }
.cmp-d { display:grid; grid-template-columns:1fr auto auto; gap:12px; padding:8px 0; border-bottom:1px solid var(--border); font-size:13px; align-items:baseline; }
.cmp-d:last-child { border-bottom:0; }
.cmp-d span { color:var(--muted); }
.cmp-d b { font-weight:600; min-width:84px; text-align:right; }
.cmp-d b.is-b { color:var(--accent-text); }
.cmp-d.is-head { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; padding:6px 0; }
.cmp-d.is-head span, .cmp-d.is-head b { color:var(--muted); font-weight:650; }
.cmp-same, .cmp-note { font-size:12.5px; color:var(--muted); line-height:1.45; }
.cmp-both { align-self:flex-start; margin-top:4px; margin-left:-12px; }
.cmp-q .preview-colors { align-self:flex-start; margin-left:-11px; }
.cmp-side { display:flex; flex-direction:column; gap:10px; padding:12px; border-radius:var(--r-lg); background:var(--surface-2); min-width:0; }
.cmp-side.is-rec { background:var(--accent-soft); box-shadow:inset 0 0 0 1.5px var(--accent-border); }
.cmp-label { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-height:24px; }
.cmp-label b { font-size:13.5px; }
.cmp-label span:not(.pill) { font-size:12px; color:var(--muted); }
.cmp-label .pill { margin-left:auto; }
.cmp-paper { display:flex; justify-content:center; padding:4px 0 6px; }
.cmp-keep { width:100%; }

.c-hist { margin-top:16px; display:flex; flex-direction:column; font-size:12.5px; }
.c-hist > span { font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:4px; }
.c-hist div { display:grid; grid-template-columns:88px 100px 1fr; gap:10px; padding:6px 0; border-bottom:1px solid var(--hairline); color:var(--text-2); }
.c-hist div:last-child { border-bottom:0; }
.c-hist i { font-style:normal; color:var(--muted); }
.c-hist b { font-weight:600; text-align:right; }
.c-hist em { font-style:normal; }

.c-finding.is-quiet { display:flex; gap:10px; align-items:flex-start; padding:11px 14px; }
.c-finding.is-quiet > svg { width:16px; height:16px; flex:none; margin-top:2px; color:var(--muted); }
.c-finding.is-info > svg { color:var(--info-text); }
.c-finding.is-quiet > div { flex:1; }
.c-finding.is-quiet b { font-size:13.5px; }
.c-finding.is-quiet p { font-size:12.5px; color:var(--text-2); margin-top:2px; }
.c-finding-src { display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--muted); white-space:nowrap; }
.c-finding-src svg { width:12px; height:12px; color:var(--violet); }
.c-sugg { display:grid; gap:4px; align-items:start; margin-top:10px; background:color-mix(in srgb, var(--card) 70%, transparent); border-radius:10px; padding:8px 10px; }
.c-sugg > span { font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.c-sugg > span + table + span { margin-top:6px; }
.c-sugg table { width:100%; border-collapse:collapse; font-size:12px; }
.c-sugg th { text-align:left; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:4px 6px; border-bottom:1px solid var(--hairline); }
.c-sugg td { padding:6px; border-bottom:1px solid var(--hairline); vertical-align:top; }
.c-sugg td small { display:block; color:var(--muted); font-size:10.5px; }
.c-sugg .r { text-align:right; }
.more { position:relative; }
.more-menu { position:absolute; right:0; top:calc(100% + 6px); z-index:30; width:330px; background:var(--card); border-radius:var(--r-lg); box-shadow:var(--shadow-lg), 0 0 0 1px var(--ink-line); padding:6px; display:flex; flex-direction:column; }
.more.is-left .more-menu { right:auto; left:0; }
.more-menu button { text-align:left; border:0; background:transparent; padding:9px 11px; border-radius:9px; cursor:pointer; display:flex; flex-direction:column; gap:1px; }
.more-menu button:hover { background:var(--surface-2); }
.more-menu b { font-size:13px; font-weight:600; }
.more-menu span { font-size:12px; color:var(--muted); }
.cmp-paper { cursor:zoom-in; }
.zoom-layer { position:fixed; inset:0; z-index:80; }
.zoom-bg { position:absolute; inset:0; background:light-dark(rgba(22,26,32,.5), rgba(0,0,0,.66)); }
.zoom-box { position:absolute; top:20px; bottom:20px; left:50%; transform:translateX(-50%); width:min(900px, calc(100vw - 40px)); background:#262a33; border-radius:var(--r-card); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg); }
.zoom-x { position:absolute; top:12px; right:12px; }

.c-ki { margin-top:16px; padding:14px 16px 14px; border-radius:var(--r-lg); background:var(--violet-bg); box-shadow:inset 0 0 0 1px var(--violet-border); }
.c-ki-top { display:flex; align-items:center; gap:7px; font-size:11.5px; font-weight:650; color:var(--violet-text); }
.c-ki-top svg { width:15px; height:15px; }
.c-ki-top .pill { margin-left:auto; height:21px; font-size:11px; background:var(--card); }
.c-ki > b { display:block; margin-top:8px; font-size:15px; font-weight:650; }
.c-ki > p { margin-top:3px; font-size:13px; color:var(--text-2); }
.k-rows { margin-top:10px; display:flex; flex-direction:column; gap:4px; background:color-mix(in srgb, var(--card) 75%, transparent); border-radius:10px; padding:8px 12px; }
.k-row { display:grid; grid-template-columns:120px auto 16px auto; gap:10px; align-items:center; justify-content:start; font-size:13px; font-variant-numeric:tabular-nums; }
.k-row span { color:var(--muted); font-size:12.5px; }
.k-row s { color:var(--fail-text); text-decoration-thickness:1.5px; }
.k-row svg { width:14px; height:14px; color:var(--muted); }
.k-row b { color:var(--ok-text); font-weight:650; }
.k-row.is-plain { grid-template-columns:120px max-content minmax(0, 1fr); column-gap:8px; row-gap:2px; align-items:baseline; }
.k-row.is-plain > span:first-child { grid-row:span 2; }
.k-row.is-plain .k-was { color:var(--text-2); font-size:13px; overflow-wrap:anywhere; }
.k-row.is-plain b { overflow-wrap:anywhere; }
.k-row.is-plain i { font-style:normal; font-size:12.5px; color:var(--muted); }
.c-ki-acts { display:flex; gap:18px; margin-top:10px; font-size:12.5px; }
.c-learn { display:flex; align-items:center; gap:7px; margin-top:10px; font-size:12.5px; color:var(--muted); }
.c-learn svg { width:14px; height:14px; color:var(--ok); flex:none; }

/* ---------- month workspace (layout A) ---------- */

  body.is-month { overflow:hidden; }
  .app.is-month { height:100vh; display:grid; grid-template-rows:60px auto 1fr; }
  .boot { padding:40px; color:var(--muted); }

  /* month bar */
  .monthbar { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; padding:14px 22px 14px; }
  .m-title { display:flex; align-items:center; gap:12px; }
  .m-title .crumb { color:var(--muted); text-decoration:none; font-weight:600; font-size:13px; padding:6px 8px; margin-left:-8px; border-radius:8px; }
  .m-title .crumb:hover { background:var(--hover); color:var(--text); }
  .m-title h1 { font-size:22px; font-weight:680; }
  .m-progress { display:flex; flex-direction:column; gap:7px; max-width:640px; min-width:0; }
  .m-steps { display:flex; gap:16px; font-size:12.5px; color:var(--muted); font-weight:600; }
  .m-steps span { display:inline-flex; align-items:center; gap:6px; }
  .m-steps i { width:18px; height:18px; border-radius:50%; display:inline-grid; place-items:center; font-style:normal; font-size:10.5px; background:var(--surface-3); color:var(--muted); }
  .m-steps .is-now { color:var(--text); }
  .m-steps .is-now i { background:var(--accent); color:#fff; }
  .m-steps .is-done i { background:var(--ok); color:#fff; }
  .m-steps .is-done i svg { width:11px; height:11px; }
  .m-steps .learn { margin-left:auto; font-weight:550; color:var(--muted); font-size:12px; padding:2px 9px; border-radius:var(--r-pill); background:var(--ok-bg); color:var(--ok-text); white-space:nowrap; }
  .m-steps .learn b { font-weight:700; }
  .row .tag.ki { background:var(--violet-bg); color:var(--violet-text); }
  .g-head .g-hint { margin-left:auto; font-size:11.5px; color:var(--violet-text); font-weight:600; }
  .released-box .conf { width:100%; text-align:left; background:var(--surface-2); border-radius:12px; padding:12px 16px; display:flex; flex-direction:column; gap:6px; }
  .released-box .conf h3 { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; margin:0 0 2px; }
  /* The released month's blocks (MR 07.10.2026): a head with count and way on, short lines below. */
  .released-box .conf-head { display:flex; align-items:baseline; gap:10px; }
  .released-box .conf-head h3 { margin:0; }
  .released-box .conf-head small { font-size:12px; color:var(--muted); }
  .released-box .conf-head .linkbtn { margin-left:auto; font-size:12.5px; text-decoration:none; white-space:nowrap; }
  .released-box .conf h3 .count { font-size:11px; letter-spacing:0; font-weight:650; color:var(--text-2); background:var(--surface-3); border-radius:var(--r-pill); padding:1px 7px; margin-left:4px; }
  .released-box .rel-line { display:grid; grid-template-columns:minmax(0, auto) minmax(0, 1fr) auto; gap:10px; align-items:baseline; font-size:13px; padding:5px 0; border-top:1px solid var(--border); }
  .released-box .conf-head + .rel-line { border-top:0; }
  .released-box .rel-line b { font-weight:620; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
  .released-box .rel-line span { color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .released-box .rel-line em { font-style:normal; color:var(--muted); font-size:12.5px; white-space:nowrap; }
  .released-box .rel-line.is-two { grid-template-columns:minmax(0, 1fr) auto; }
  .released-box .rel-line.is-two b { max-width:none; }
  .released-box .rel-line.is-hold b::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--warn); margin-right:7px; vertical-align:1px; }
  .released-box .rel-none { font-size:12.5px; color:var(--muted); }
  .released-box table.rel-acc { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; }
  .released-box table.rel-acc th { font-size:11px; font-weight:600; color:var(--muted); text-align:left; padding:0 0 4px; }
  .released-box table.rel-acc th:first-child { width:auto; }
  .released-box table.rel-acc th:nth-child(2) { width:108px; }
  .released-box table.rel-acc th:nth-child(3) { width:92px; }
  .released-box table.rel-acc th:nth-child(4) { width:84px; padding-left:14px; }
  .released-box table.rel-acc td { padding:5px 0; border-top:1px solid var(--border); white-space:nowrap; }
  .released-box table.rel-acc .num { text-align:right; font-variant-numeric:tabular-nums; }
  .released-box table.rel-acc td.acct { overflow:hidden; text-overflow:ellipsis; }
  .released-box table.rel-acc td.acct b { font-weight:620; margin-right:8px; }
  .released-box table.rel-acc td.acct small { font-size:13px; color:var(--text-2); }
  .released-box table.rel-acc td.bu { padding-left:14px; }
  .released-box table.rel-acc td.bu span { display:inline-block; font-size:11.5px; font-variant-numeric:tabular-nums; padding:0 6px; margin-right:4px; border-radius:var(--r-pill); box-shadow:inset 0 0 0 1px var(--border-strong); color:var(--text-2); }
  /* The KI's confirmed corrections: one line to open (MR 07.10.2026). */
  .released-box .conf-ki { padding:0; gap:0; }
  .released-box .conf-ki summary { list-style:none; display:flex; align-items:center; gap:8px; padding:10px 16px; cursor:pointer; font-size:13px; color:var(--text-2); }
  .released-box .conf-ki summary::-webkit-details-marker { display:none; }
  .released-box .conf-ki summary .chev { margin-left:auto; color:var(--muted); }
  .released-box .conf-ki[open] summary .chev { transform:rotate(45deg); }
  .released-box .conf-ki svg { width:14px; height:14px; color:var(--violet); flex:none; }
  .released-box .conf-ki .ki-item { display:grid; grid-template-columns:16px 170px minmax(0, 1fr); gap:8px; align-items:center; font-size:13px; padding:5px 16px; border-top:1px solid var(--border); }
  .released-box .conf-ki .ki-item b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .released-box .conf-ki .ki-item span { color:var(--text-2); }
  .released-box .conf-ki .ki-item:last-child { padding-bottom:10px; }
  .released-box .learn-list > .learn-head { display:flex; align-items:baseline; gap:12px; }
  .learn-list .learn-head .linkbtn { margin-left:auto; font-size:12.5px; text-decoration:none; }
  /* One line per rule (W94): condition → effect, vendors, reach badges; the rest in the tooltip. */
  .learn-list .learn-rule { display:flex; gap:8px; align-items:center; font-size:13px; cursor:pointer; padding:6px 0; border-top:1px solid var(--border); }
  .learn-list .learn-head + .learn-rule, .learn-list h4 + .learn-rule { border-top:0; }
  .learn-list input { margin:0; accent-color:var(--ok); flex:none; }
  .learn-list .learn-line { flex:0 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .learn-list .learn-if { font-weight:650; }
  .learn-list .learn-then { color:var(--text); }
  .learn-list .learn-who { flex:1 1 0; min-width:64px; color:var(--muted); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .learn-list .learn-rule:not(.is-group) .learn-line { flex-grow:1; }
  .learn-list .learn-reach, .learn-list .learn-flag { flex:none; font-size:11px; font-weight:650; padding:1px 7px; border-radius:var(--r-pill); white-space:nowrap; font-variant-numeric:tabular-nums; }
  .learn-list .learn-reach { background:var(--ok-bg); color:var(--ok-text); }
  .learn-list .learn-flag { color:var(--muted); box-shadow:inset 0 0 0 1px var(--border); }
  .learn-list .learn-flag.is-ki { background:var(--violet-bg); color:var(--violet-text); box-shadow:none; }
  .learn-list .learn-rule.is-off .learn-if, .learn-list .learn-rule.is-off .learn-then { color:var(--muted); }
  .learn-list .learn-more { align-self:flex-start; font-size:12.5px; text-decoration:none; padding:2px 0; }
  .learn-list .learn-not, .learn-list .learn-none { font-size:12px; color:var(--muted); margin-top:2px; }
  .m-status { font-size:13px; color:var(--text-2); }
  .m-status b { font-weight:650; color:var(--text); }
  .m-status .is-run { color:var(--violet); }
  .m-status .is-open { color:var(--muted); }
  .m-status .is-warn { color:var(--warn-text); }
  .m-status .is-info { color:var(--info-text); }
  .m-status .is-block { color:var(--fail-text); }
  .m-status .m-run { color:var(--violet-text); font-size:14px; }
  .m-status .m-found { color:var(--ok-text); font-weight:600; }
  .m-status .m-run svg, .m-status .m-found svg { width:14px; height:14px; margin-right:4px; vertical-align:-2px; }
  /* „Noch offen: …“ names each receipt left as a link to it, amber to decide, red where it is held (MR 14.10.2026). */
  .m-open { color:var(--warn-text); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
  .m-open.is-block { color:var(--fail-text); }
  .m-right { display:flex; align-items:center; gap:22px; }
  .m-sums { display:flex; gap:20px; }
  .m-sums div { display:flex; flex-direction:column; align-items:flex-end; line-height:1.2; }
  .m-sums span { font-size:11px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
  .m-sums b { font-size:15px; font-weight:650; font-variant-numeric:tabular-nums; margin-top:3px; }
  .m-sums .is-parked b { color:var(--violet-text); }
  .m-sums small { font-size:11px; color:var(--muted); margin-top:2px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .m-release { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
  .m-release small { font-size:11.5px; color:var(--muted); max-width:230px; text-align:right; line-height:1.3; }
  .m-release small.is-run { color:var(--violet-text); font-weight:600; }
  .btn.is-waiting[aria-disabled="true"] { opacity:.85; background:var(--violet-bg); color:var(--violet-text); box-shadow:inset 0 0 0 1px var(--violet-border); gap:8px; }
  .btn.is-waiting .spin { width:13px; height:13px; border-radius:50%; border:2px solid var(--violet-border); border-top-color:var(--violet); animation:spin .8s linear infinite; }

  /* three panes */
  .panes { --list-w:clamp(320px, 20.5vw, 392px); display:grid; grid-template-columns:var(--list-w) minmax(0, 1fr) 590px; gap:14px; padding:0 14px 14px; min-height:0; }
  /* List, receipt, booking (MR 14.10.2026): the receipt pane is as wide as an A4 page needs to show whole in
     its height (→ --pv-w from workspacePage.js), the booking gets the rest; the divider between them sets
     the receipt's width by hand. The list narrows a little below 1600 px so receipt and booking keep room. */
  .panes.has-split { grid-template-columns:var(--list-w) var(--pv-w, minmax(280px, 1fr)) minmax(0, 1fr); }
  .panes.has-split > .pane.list { grid-area:1 / 1; }
  .panes.has-split > .pane.preview, .panes.has-split > .pv-split { grid-area:1 / 2; }
  .panes.has-split > .pane.card { grid-area:1 / 3; }
  .pv-split { justify-self:end; position:relative; z-index:3; width:14px; margin-right:-14px; cursor:col-resize; touch-action:none; outline:none; }
  .pv-split::before { content:""; position:absolute; top:12px; bottom:12px; left:6px; width:2px; border-radius:1px; background:transparent; transition:background .15s var(--ease); }
  .pv-split::after { content:""; position:absolute; top:50%; left:5px; width:4px; height:40px; margin-top:-20px; border-radius:2px; background:var(--border-strong); transition:background .15s var(--ease); }
  .pv-split:hover::before, .pv-split.is-drag::before { background:var(--accent-border); }
  .pv-split:hover::after, .pv-split.is-drag::after, .pv-split:focus-visible::after { background:var(--accent); }
  .pv-split:focus-visible::before { background:var(--accent); }
  html.is-resizing, html.is-resizing * { cursor:col-resize !important; user-select:none !important; }
  .pane { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); min-height:0; overflow:auto; }
  /* A row brought into view stands clear of the sticky group head and the news line (MR 13.10.2026). */
  .list { padding:6px 0 10px; scroll-padding:44px 0 64px; }
  .g-head { position:sticky; top:0; z-index:2; background:color-mix(in srgb, var(--card) 94%, transparent); backdrop-filter:blur(6px); display:flex; align-items:center; gap:8px; padding:12px 16px 8px; }
  .g-head h2 { font-size:12px; text-transform:uppercase; letter-spacing:.07em; font-weight:680; color:var(--text-2); }
  .g-head .n { font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }
  .g-head .n-info { color:var(--info-text); font-weight:600; }
  .g-head .btn { margin-left:auto; }
  .g-empty { padding:4px 16px 10px; font-size:12.5px; color:var(--muted); }
  .g-empty.g-calm { display:flex; gap:10px; align-items:flex-start; margin:12px 12px 4px; padding:12px 14px; border-radius:12px; background:var(--ok-bg); color:var(--ok-text); font-size:13px; line-height:1.45; }
  .g-empty.g-calm svg { width:16px; height:16px; flex:none; margin-top:1px; }
  .g-empty.g-calm b { font-weight:650; }
  .g-head .g-toggle { margin-left:auto; font-size:12px; white-space:nowrap; }
  .g-lead { padding:0 16px 8px; font-size:12px; line-height:1.45; color:var(--muted); text-wrap:pretty; }
  .g.is-quiet .g-foot { padding:2px 16px 12px; font-size:12.5px; }
  .row { display:grid; grid-template-columns:20px minmax(0, 1fr) auto; gap:4px 11px; align-items:center; padding:9px 14px 9px 16px; margin:0 6px; border-radius:11px; cursor:pointer; position:relative; }
  .row:hover { background:var(--surface-2); }
  .row.is-sel { background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); }
  .row .who { font-weight:600; font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .row .amt { font-size:13.5px; font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
  .row .sum { grid-column:2; font-size:12.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .row .sum.is-q { color:var(--warn-text); }
  .row .sum.is-block { color:var(--fail-text); }
  .row .sum.is-info { color:var(--info-text); }
  .row .sum.is-ok { color:var(--ok-text); }
  .row .date { font-size:12px; color:var(--faint); text-align:right; font-variant-numeric:tabular-nums; }
  .row .bar { grid-column:2 / 4; height:4px; margin-top:2px; }
  /* a row whose state changed where it stands, and the list's news line with „Liste ordnen“ (MR 13.10.2026) */
  .row.is-flash::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:color-mix(in srgb, var(--violet-bg) 80%, transparent); box-shadow:inset 0 0 0 1.5px var(--violet-border); animation:row-flash 2.4s ease-out var(--flash-age, 0ms) both; }
  .row.is-flash > * { position:relative; z-index:1; }
  @keyframes row-flash { 0%, 40% { opacity:1; } 100% { opacity:0; } }
  .list-news { position:sticky; bottom:0; z-index:3; display:flex; align-items:center; gap:10px; margin:10px 8px 0; padding:9px 8px 9px 14px; border-radius:12px; background:var(--card); box-shadow:0 0 0 1px var(--violet-border), 0 -6px 16px -8px rgba(0,0,0,.18); font-size:12.5px; line-height:1.4; color:var(--text-2); }
  .list-news-text { flex:1; min-width:0; }
  .list-news .btn { flex:none; }
  .g-head .n-moved { margin-left:-4px; font-size:12px; color:var(--violet-text); font-weight:600; white-space:nowrap; }
  .list-news .x { flex:none; display:grid; place-items:center; width:26px; height:26px; border:0; border-radius:8px; background:none; color:var(--muted); cursor:pointer; }
  .list-news .x:hover { background:var(--surface-2); color:var(--text); }
  .list-news .x svg { width:14px; height:14px; }
  .row .tag { display:inline-flex; margin-left:6px; font-size:10.5px; padding:1px 6px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-text); font-weight:650; vertical-align:1px; }
  /* the KI-Vorprüfung's result per receipt and month (W71) */
  .row .date:has(.pre) { display:inline-flex; align-items:center; justify-content:flex-end; gap:7px; }
  .pre { display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:650; line-height:16px; padding:0 6px; border-radius:var(--r-pill); white-space:nowrap; }
  .pre svg { width:10px; height:10px; }
  .pre.is-ok { color:var(--ok-text); background:var(--ok-bg); }
  .pre.is-info { color:var(--info-text); background:var(--info-bg); }
  .pre.is-warn { color:var(--warn-text); background:var(--warn-bg); }
  .pre.is-open { color:var(--muted); box-shadow:inset 0 0 0 1px var(--border-strong); }
  .pre.is-run { color:var(--violet); box-shadow:inset 0 0 0 1px currentColor; }
  .pre.is-ki { color:var(--violet-text); background:var(--violet-bg); }
  .pre.is-run i { width:5px; height:5px; border-radius:50%; background:currentColor; animation:pulse 1.4s ease-in-out infinite; }
  .c-pre { display:flex; align-items:center; gap:8px; margin-top:12px; padding:8px 12px; border-radius:10px; font-size:12.5px; color:var(--text-2); background:var(--surface-2); }
  .c-pre > svg { width:15px; height:15px; flex:none; }
  .c-pre.is-ok { background:var(--ok-bg); }
  .c-pre.is-ok > svg { color:var(--ok); }
  .c-pre.is-info > svg { color:var(--info-text); }
  .c-pre.is-warn > svg { color:var(--warn-text); }
  .c-pre.is-open > svg { color:var(--muted); }
  .c-pre.is-run > svg { color:var(--violet); }
  .c-pre b { font-weight:650; color:var(--text); }
  .c-pre-at { margin-left:auto; color:var(--muted); font-size:12px; white-space:nowrap; }
  .m-pre { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--text-2); }
  .m-pre svg { width:13px; height:13px; color:var(--violet); flex:none; }
  .m-pre b { font-weight:650; color:var(--text); }
  .m-pre .is-info { color:var(--info-text); }
  .m-pre .is-warn { color:var(--warn-text); }
  .m-pre .is-open { color:var(--muted); }
  .m-pre .is-run { color:var(--violet); }
  /* one assessment per receipt: verdict, one sentence, actions; the single findings behind „Details“ (W120–W123) */
  .pre.is-block { color:var(--fail-text); background:var(--fail-bg); }
  .pre.is-stale { opacity:.6; }
  .c-pre.is-block { background:var(--fail-bg); }
  .c-pre.is-block > svg { color:var(--fail-text); }
  .c-pre > .linkbtn { font-size:12.5px; }
  .c-assess { margin-top:14px; padding:13px 15px 12px; border-radius:var(--r-lg); background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
  .c-assess.is-ok { background:var(--ok-bg); box-shadow:inset 0 0 0 1px var(--ok-border); }
  .c-assess.is-info { background:var(--info-bg); box-shadow:inset 0 0 0 1px var(--info-border); }
  .c-assess.is-warn { background:var(--warn-bg); box-shadow:inset 0 0 0 1px var(--warn-border); }
  .c-assess.is-block { background:var(--fail-bg); box-shadow:inset 0 0 0 1px var(--fail-border); }
  .c-assess.is-stale > .ca-top, .c-assess.is-stale > .ca-reason { opacity:.6; }
  .ca-top { display:flex; align-items:center; gap:8px; }
  .ca-top > svg { width:16px; height:16px; flex:none; }
  .c-assess.is-ok .ca-top > svg { color:var(--ok); }
  .c-assess.is-info .ca-top > svg { color:var(--info-text); }
  .c-assess.is-warn .ca-top > svg { color:var(--warn-text); }
  .c-assess.is-block .ca-top > svg { color:var(--fail-text); }
  .ca-top b { font-size:14.5px; font-weight:680; }
  .ca-top .linkbtn { font-size:12.5px; }
  .ca-reason { margin-top:4px; font-size:13.5px; color:var(--text); line-height:1.45; }
  .ca-note { margin-top:3px; font-size:13px; color:var(--text-2); }
  .ca-open { margin:6px 0 0 18px; font-size:12.5px; color:var(--text-2); display:flex; flex-direction:column; gap:2px; }
  .ca-open span { color:var(--muted); }
  .ca-acts { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
  .c-assess .cf-change { margin-top:9px; }
  .ca-foot { display:flex; margin-top:9px; }
  .ca-more { font-size:12.5px; }
  .ca-switch { margin-left:auto; font-size:12.5px; }
  .ca-details { margin-top:8px; padding-top:10px; border-top:1px solid var(--ink-line); }
  .ca-label { display:block; margin:2px 0 6px; font-size:11px; font-weight:650; letter-spacing:.02em; text-transform:uppercase; color:var(--muted); }
  .ca-settled { display:flex; flex-direction:column; gap:6px; margin-bottom:10px; }
  .ca-settled p { display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--text-2); }
  .ca-settled p > svg { width:14px; height:14px; flex:none; margin-top:2px; color:var(--ok); }
  .ca-settled b { font-weight:620; color:var(--text); }
  .ca-settled small { display:block; color:var(--muted); font-size:12px; }
  .ca-details .c-finding:first-of-type, .ca-details .c-ki:first-of-type { margin-top:0; }
  .ca-details .c-finding, .ca-details .c-ki { background:color-mix(in srgb, var(--card) 72%, transparent); box-shadow:inset 0 0 0 1px var(--border); }
  .m-pre .linkbtn { white-space:nowrap; }

  .preview { display:flex; justify-content:center; align-items:flex-start; padding:26px; background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--hover); }
  .preview .paper-wrap { position:relative; }
  /* The workspace's receipt: its tools in a bar above the page, the page as wide as the pane (MR 14.10.2026). */
  .pane.preview { --pv-bar:44px; display:block; padding:0 14px 14px; scrollbar-gutter:stable both-edges; }
  .pane.preview .doc-tools { position:sticky; top:0; right:auto; z-index:2; display:flex; align-items:center; gap:6px; height:var(--pv-bar); margin:0 -14px; padding:0 14px; background:var(--surface-2); }
  .pane.preview .doc-name { flex:1; min-width:0; font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pane.preview .doc-page { width:100%; max-width:none; max-height:none; }
  .card { padding:22px 24px 18px; display:flex; flex-direction:column; }
  .card .c-saved { margin-top:auto; padding-top:16px; }
  .card .grow { flex:1; }
  .card-foot { margin-top:16px; padding-top:12px; border-top:1px solid var(--hairline); display:flex; flex-direction:column; gap:10px; }
  .card-nav { display:flex; justify-content:space-between; font-size:12px; color:var(--faint); }
  .wide { grid-column:2 / 4; padding:22px 24px; }

  /* The release with nothing chosen (MR 2026-10-13): what the month's release confirms, then the bookings to read. */
  .rel-sum { grid-column:2 / 4; padding:0 0 14px; }
  .rel-sum-head { display:flex; gap:14px; align-items:flex-start; padding:22px 18px 16px; border-bottom:1px solid var(--hairline); }
  .rel-sum-head .mark { width:34px; height:34px; }
  .rel-sum-head .mark svg { width:18px; height:18px; }
  .rel-sum-head h2 { font-size:20px; font-weight:680; }
  .rel-sum-head p { margin-top:4px; max-width:820px; font-size:13.5px; line-height:1.5; color:var(--text-2); text-wrap:pretty; }
  .rel-sum .hv-who .linkbtn { font-weight:640; font-size:13.5px; color:var(--text); text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .rel-sum .hv-none { font-size:12.5px; color:var(--muted); }

  /* Centred while it fits; taller than the pane it scrolls from its top. */
  .released { grid-column:2 / 4; display:flex; flex-direction:column; align-items:center; padding:24px 28px; }
  .released-box { margin-block:auto; width:100%; max-width:1160px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px; }
  .released-grid { width:100%; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:12px; align-items:start; }
  .released-col { display:flex; flex-direction:column; gap:12px; min-width:0; }
  .released-box .big { width:64px; height:64px; border-radius:50%; background:var(--ok); color:#fff; display:grid; place-items:center; box-shadow:0 12px 30px -12px rgba(14,159,110,.7); }
  .released-box .big svg { width:30px; height:30px; }
  .released-box h2 { font-size:26px; font-weight:680; }
  .released-box p { color:var(--text-2); }
  .released-box .facts { display:grid; grid-template-columns:repeat(4, auto); gap:6px 26px; margin:8px 0 6px; font-size:13px; }
  .released-box .facts span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-weight:600; }
  .released-box .facts b { font-size:16px; font-variant-numeric:tabular-nums; }
  .released-box .acts { display:flex; gap:10px; margin-top:8px; }
  .released-box .note { font-size:12.5px; color:var(--muted); background:var(--surface-2); padding:10px 14px; border-radius:10px; }

/* ---------- year view ---------- */

  .wrap { max-width:1240px; margin:0 auto; padding:26px 26px 60px; display:flex; flex-direction:column; gap:18px; }
  .head { display:flex; align-items:flex-end; gap:20px; }
  .head h1 { font-size:30px; font-weight:700; letter-spacing:-.025em; }
  .yearnav { display:flex; gap:4px; margin-left:4px; }
  .yearnav a { color:var(--muted); text-decoration:none; font-weight:600; font-size:13px; padding:6px 9px; border-radius:8px; }
  .yearnav a:hover { background:var(--hover); color:var(--text); }
  .head .sub { color:var(--text-2); font-size:13.5px; margin-top:4px; }
  .head .right { margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
  .head .right small { font-size:11.5px; color:var(--muted); }
  .cta { display:flex; align-items:center; gap:18px; padding:16px 20px; border-radius:var(--r-card); background:var(--card); box-shadow:var(--shadow-card); }
  .cta .ico { width:44px; height:44px; border-radius:12px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; flex:none; }
  .cta .ico svg { width:22px; height:22px; }
  .cta b { font-size:16px; }
  .cta p { color:var(--text-2); font-size:13.5px; margin-top:2px; }
  .cta .btn { margin-left:auto; }
  .months { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); overflow:hidden; }
  .mrow { display:grid; grid-template-columns:140px 180px minmax(0, 1fr) 300px 200px; gap:18px; align-items:center; padding:13px 20px; border-bottom:1px solid var(--hairline); cursor:pointer; }
  .mrow:hover { background:var(--row-hover); }
  .mrow:last-child { border-bottom:0; }
  .mrow.is-cur { background:var(--accent-soft); box-shadow:inset 3px 0 0 var(--accent); }
  .mname { font-weight:650; font-size:15px; }
  .mname small { display:block; font-weight:500; color:var(--muted); font-size:12px; }
  .state { justify-self:start; }
  .state.s-new { background:var(--surface-3); color:var(--text-2); }
  .state.s-running { background:var(--accent-soft); color:var(--accent-text); }
  .state.s-waiting { background:var(--fail-bg); color:var(--fail-text); }
  .state.s-decide { background:var(--warn-bg); color:var(--warn-text); }
  .state.s-released { background:var(--ok-bg); color:var(--ok-text); }
  .state.s-empty { background:var(--surface-2); color:var(--muted); }
  .line { color:var(--text-2); font-size:13.5px; display:flex; flex-direction:column; gap:6px; }
  .line .bar { max-width:260px; }
  .msum { font-size:12.5px; color:var(--muted); font-variant-numeric:tabular-nums; display:flex; gap:16px; }
  .msum b { color:var(--text); font-weight:600; }
  .mact { justify-self:end; }
  .close { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:20px 22px; display:grid; grid-template-columns:minmax(0, 1fr) 300px; gap:26px; }
  .close h2 { font-size:18px; font-weight:680; display:flex; align-items:center; gap:10px; }
  .close .sub { color:var(--text-2); font-size:13.5px; margin-top:3px; }
  .checks { margin-top:14px; display:flex; flex-direction:column; }
  .ck { display:grid; grid-template-columns:22px minmax(0, 1fr) auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--hairline); font-size:13.5px; }
  .ck:last-child { border-bottom:0; }
  .ck .mark { width:22px; height:22px; }
  .ck small { display:block; color:var(--muted); font-size:12px; }
  .handover { display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:var(--r-lg); background:var(--surface-2); align-self:start; }
  .handover h3 { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); font-weight:650; }
  .handover p { font-size:12.5px; color:var(--text-2); }
  /* „Für den Steuerberater“ (B56): the principles the tax advisor decides at the annual close. */
  .advisor { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:20px 22px; display:flex; flex-direction:column; gap:14px; scroll-margin-top:16px; }
  .advisor h2 { font-size:18px; font-weight:680; display:flex; align-items:center; gap:10px; }
  .advisor .sub { color:var(--text-2); font-size:13.5px; margin-top:3px; max-width:880px; }
  .adv-top { display:flex; gap:24px; align-items:flex-start; justify-content:space-between; }
  .adv-by { display:flex; flex-direction:column; gap:4px; font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); font-weight:650; flex:none; }
  .adv-by input, .adv-founding input { font:inherit; font-size:13.5px; text-transform:none; letter-spacing:0; color:var(--text); font-weight:500; padding:7px 10px; border:1px solid var(--border-strong); border-radius:8px; background:var(--card); width:220px; }
  .adv-founding { display:grid; grid-template-columns:minmax(0, 1fr) auto auto; gap:12px; align-items:center; padding:12px 14px; border-radius:var(--r-lg); background:var(--surface-2); font-size:13.5px; }
  .adv-founding input { width:auto; }
  .adv-founding small, .adv-p-head small { display:block; color:var(--muted); font-size:12px; font-weight:400; }
  .adv-p { border-top:1px solid var(--hairline); padding-top:14px; display:flex; flex-direction:column; gap:10px; }
  .adv-p-head { display:grid; grid-template-columns:22px minmax(0, 1fr) auto; gap:12px; align-items:center; font-size:14.5px; }
  .adv-p-head .mark { width:22px; height:22px; }
  .adv-impact { font-weight:650; font-variant-numeric:tabular-nums; text-align:right; }
  .adv-prov { font-size:13px; color:var(--text-2); margin:0 0 0 34px; max-width:920px; }
  .adv-opts { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:10px; margin-left:34px; }
  .adv-opt { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; padding:10px 12px; border-radius:var(--r-lg); background:var(--surface-2); font-size:13.5px; }
  .adv-opt small { display:block; color:var(--text-2); font-size:12.5px; margin-top:2px; }
  .adv-now-tag { display:inline-flex; margin-left:8px; font-size:10.5px; padding:1px 7px; border-radius:var(--r-pill); background:var(--warn-bg); color:var(--warn-text); font-weight:650; vertical-align:1px; }
  .adv-opt .btn { flex:none; white-space:nowrap; }
  .adv-toggle { margin-left:34px; align-self:flex-start; }
  .adv-cases { margin-left:34px; width:calc(100% - 34px); border-collapse:collapse; font-size:13px; }
  .adv-cases th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:6px 8px; border-bottom:1px solid var(--hairline); }
  .adv-cases td { padding:7px 8px; border-bottom:1px solid var(--hairline); vertical-align:top; }
  .adv-cases .num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .adv-cases tr.is-decided td { color:var(--text-2); }
  .adv-cases .adv-party { max-width:260px; }
  .adv-now { color:var(--warn-text); }
  .adv-decided { display:inline-flex; gap:6px; align-items:baseline; color:var(--ok-text); }
  .adv-decided svg { width:13px; height:13px; align-self:center; }
  .adv-decided small, .adv-cases small { color:var(--muted); font-size:11.5px; margin-left:4px; }
  .adv-cases small.is-fail { display:block; color:var(--fail-text); margin:2px 0 0; }
  .adv-cases small.adv-note { display:block; color:var(--text-2); margin:2px 0 0; max-width:440px; }
  .adv-none { color:var(--muted); font-size:13px; }
  .learned-overview { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); scroll-margin-top:16px; }
  .learned-toggle { display:flex; align-items:center; gap:12px; width:100%; padding:14px 20px; border:0; background:none; text-align:left; cursor:pointer; font:inherit; color:inherit; border-radius:var(--r-card); }
  .learned-toggle:hover { background:var(--row-hover); }
  .learned-toggle > svg { width:18px; height:18px; color:var(--ok); flex:none; }
  .learned-toggle b { font-size:15px; font-weight:650; }
  .learned-toggle b .count { font-size:12px; font-weight:600; color:var(--ok-text); background:var(--ok-bg); border-radius:var(--r-pill); padding:1px 8px; margin-left:4px; }
  .learned-toggle small { display:block; color:var(--muted); font-size:12.5px; }
  .learned-toggle .chev { margin-left:auto; font-size:18px; color:var(--muted); width:20px; text-align:center; }
  .learned-body { padding:0 20px 16px 50px; display:flex; flex-direction:column; gap:14px; }
  .learn-month h4 { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; margin:0 0 4px; }


/* ---------- workspace additions (real data) ---------- */
.muted { color:var(--muted); } .small { font-size:12.5px; }
.mrow.is-static { cursor:default; }
.mrow.is-static:hover { background:transparent; }
.mainnav a .count { margin-left:2px; }
.topbar a.brand-mark { text-decoration:none; }
.preview { position:relative; }
.preview .doc-pages { display:flex; flex-direction:column; gap:14px; align-items:center; width:100%; }
.preview .doc-page { max-width:100%; max-height:calc(100vh - 200px); width:auto; height:auto; background:#fff; box-shadow:var(--paper-shadow, 0 0 0 1px rgba(0,0,0,.08), 0 18px 40px -22px rgba(20,26,40,.45)); border-radius:3px; display:block; }
.preview .doc-empty { margin:auto; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--muted); font-size:13px; padding-top:30vh; text-align:center; }
.preview .doc-tools { position:absolute; top:8px; right:10px; z-index:2; display:flex; gap:6px; }
.doc-tools .btn { background:color-mix(in srgb, var(--card) 90%, transparent); }
.doc-tools .btn[aria-pressed="true"] { background:var(--accent-soft); }
.spinner { width:38px; height:38px; border-radius:50%; border:3px solid var(--accent-soft-2); border-top-color:var(--accent); animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.offline-banner { position:fixed; left:50%; top:68px; transform:translateX(-50%); z-index:60; display:flex; align-items:center; gap:10px; padding:9px 14px; border-radius:12px;
  background:var(--fail-bg); color:var(--fail-text); box-shadow:var(--shadow-md), inset 0 0 0 1px var(--fail-border); font-size:13px; }
.offline-banner svg { width:16px; height:16px; }
.pane.notice { grid-column:1 / -1; display:grid; place-items:center; padding:40px; }
.notice-box { max-width:560px; text-align:center; display:flex; flex-direction:column; gap:12px; align-items:center; }
.notice-box h2 { font-size:22px; font-weight:680; }
.notice-box p { color:var(--text-2); }
.c-err { margin-top:12px; padding:10px 12px; border-radius:10px; background:var(--fail-bg); color:var(--fail-text); font-size:13px; box-shadow:inset 0 0 0 1px var(--fail-border); }
.btn.is-busy { position:relative; color:transparent !important; pointer-events:none; }
.btn.is-busy::after { content:""; position:absolute; width:14px; height:14px; border-radius:50%; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; animation:spin .8s linear infinite; }
.btn.quiet.is-busy::after, .btn:not(.primary):not(.ok).is-busy::after { border-color:var(--accent-soft-2); border-top-color:var(--accent); }
.kbd-help { font-size:12px; color:var(--faint); }
.c-q.is-info { background:var(--info-bg); box-shadow:inset 0 0 0 1px var(--info-border); }
.c-q.is-info .grade { background:var(--card); }
.m-steps > span { white-space:nowrap; }
.m-steps .learn { overflow:hidden; text-overflow:ellipsis; max-width:300px; }
.blocker { display:grid; grid-template-columns:20px minmax(0, 1fr); gap:11px; padding:9px 14px 9px 16px; margin:0 6px 4px; border-radius:11px; background:var(--fail-bg); }
.blocker p { font-size:12.5px; color:var(--text-2); line-height:1.45; }
.blocker-acts { margin-top:4px; font-size:12.5px; }
.partner-ask { display:grid; grid-template-columns:20px minmax(0, 1fr); gap:11px; padding:10px 14px 10px 16px; margin:0 6px 6px; border-radius:11px; background:var(--warn-bg); box-shadow:inset 0 0 0 1px var(--warn-border); }
.partner-ask p { font-size:12.5px; color:var(--text-2); line-height:1.45; }
.partner-ask p b { color:var(--text); font-weight:620; }
.partner-ask-acts { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.partner-ask.is-kompass { background:var(--card); box-shadow:inset 0 0 0 1px var(--border-strong); }
.more-menu .more-item { text-decoration:none; color:inherit; text-align:left; padding:9px 11px; border-radius:9px; display:flex; flex-direction:column; gap:1px; }
.more-menu button.more-item { background:none; border:0; font:inherit; cursor:pointer; width:100%; }
.more-menu .more-item:hover { background:var(--surface-2); }
.more-menu .more-item b { font-size:13px; font-weight:600; }
.more-menu .more-item span { font-size:12px; color:var(--muted); }

/* Befunde je Beleg (MR 2026-10-05): short findings with their actions, one line once decided, the bundled list. */
.c-finding-top .cf-topic { font-weight:600; color:var(--muted); padding-left:7px; border-left:1px solid var(--border-strong); }
.c-finding > p .tag, .cf-line .tag, .f-text .tag { display:inline-flex; margin-left:6px; font-size:10.5px; padding:1px 7px; border-radius:var(--r-pill); font-weight:650; vertical-align:1px; }
.tag.warn { background:var(--card); color:var(--warn-text); box-shadow:inset 0 0 0 1px var(--warn-border); }
.row .tag.later { background:var(--accent-soft); color:var(--accent-text); }
.row .tag.principle, .c-why .tag.principle, .c-parked-top .tag.principle, .c-line .tag.principle { background:var(--card); color:var(--warn-text); box-shadow:inset 0 0 0 1px var(--warn-border); font-weight:600; }
.row .tag.principle.lead { margin:0 6px 0 0; }
.c-why .tag.principle, .c-parked-top .tag.principle, .c-line .tag.principle { display:inline-flex; margin-left:6px; font-size:10.5px; padding:1px 7px; border-radius:var(--r-pill); vertical-align:1px; }
.c-line .tag.principle { float:right; margin:0 0 4px 8px; }
.c-parked-top .tag.principle { margin-left:0; }
.row .tag.principle.is-decided, .c-why .tag.principle.is-decided, .c-parked-top .tag.principle.is-decided, .c-line .tag.principle.is-decided { color:var(--ok-text); box-shadow:inset 0 0 0 1px var(--border-strong); }
.row .tag.rule { background:var(--warn-bg); color:var(--warn-text); }
/* a receipt that changed while the month was open (MR 2026-10-05): it stays in place and says so */
.row .tag.upd { background:transparent; color:var(--muted); box-shadow:inset 0 0 0 1px var(--border-strong); font-weight:600; margin:0 6px 0 0; }
.m-upd { margin-left:6px; font-size:12px; color:var(--muted); font-weight:500; }
.c-finding-acts .btn svg { width:14px; height:14px; }
.c-finding-acts .linkbtn { font-size:12.5px; align-self:center; margin-left:4px; }
.linkbtn.quiet { color:var(--muted); font-weight:600; }
.linkbtn.is-busy { opacity:.55; pointer-events:none; }
.cf-change .k-row { grid-template-columns:96px minmax(0, 1fr) 16px minmax(0, 1fr); align-items:start; }
.cf-change .k-row s, .cf-change .k-row b { overflow-wrap:anywhere; }
.cf-details { margin-top:8px; display:flex; flex-direction:column; gap:5px; font-size:12.5px; color:var(--text-2); }
.cf-details b { font-weight:650; color:var(--text); }
.cf-history { margin:2px 0 0 16px; color:var(--muted); font-size:12px; }
.cf-way { margin-top:6px; font-size:12.5px; }
.cf-form { margin-top:10px; padding:12px; gap:8px; background:color-mix(in srgb, var(--card) 85%, transparent); }
.cf-form textarea { min-height:52px; }
.c-finding.is-done { display:grid; grid-template-columns:16px minmax(0, 1fr) auto; gap:10px; align-items:start; padding:10px 14px; background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
.c-finding.is-done > svg { width:16px; height:16px; margin-top:2px; color:var(--ok); }
.c-finding.is-done.is-vorgemerkt { background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); }
.c-finding.is-done.is-vorgemerkt > svg { color:var(--accent-text); }
.c-finding.is-done.is-bewusst > svg { color:var(--muted); }
/* answered by a correction or decision; dimmed while the KI-Vorprüfung judges the receipt anew (MR 2026-10-05) */
.c-finding.is-done.is-erledigt { background:var(--ok-bg); box-shadow:inset 0 0 0 1px var(--ok-border); }
.c-finding.is-erledigt .cf-one { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-finding.is-stale { opacity:.55; transition:opacity .15s; }
.c-finding.is-stale:hover, .c-finding.is-stale:focus-within { opacity:1; }
.cf-stale { display:inline-flex; align-items:center; font-size:10.5px; font-weight:650; padding:1px 7px; border-radius:var(--r-pill); color:var(--text-2); background:var(--card); box-shadow:inset 0 0 0 1px var(--border-strong); }
.c-finding.is-done .cf-line { font-size:13px; color:var(--text-2); min-width:0; }
.c-finding.is-done .cf-line b { color:var(--text); font-weight:650; }
.c-finding.is-done .cf-line small { display:block; margin-top:2px; font-size:12.5px; color:var(--text-2); }
.cf-acts { display:flex; gap:12px; font-size:12.5px; white-space:nowrap; }
.c-finding.is-done .cf-form { grid-column:1 / -1; }
.mark.info { background:var(--info-bg); color:var(--info-text); }
.m-befunde { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; border-radius:var(--r-pill); background:var(--surface-2); color:var(--text-2); font-size:12.5px; font-weight:600; text-decoration:none; white-space:nowrap; }
.m-befunde:hover { background:var(--surface-3); color:var(--text); }
.m-befunde svg { width:13px; height:13px; color:var(--violet); }
.findings-page .crumb { color:var(--muted); text-decoration:none; font-weight:600; font-size:13px; }
.findings-page .crumb:hover { color:var(--text); }
.f-filters { display:flex; flex-wrap:wrap; gap:10px; }
.f-seg { flex-wrap:wrap; }
.f-seg .n { font-size:11.5px; color:var(--muted); font-weight:600; margin-left:3px; }
.f-card { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:6px 4px; overflow-x:auto; }
.f-table { width:100%; border-collapse:collapse; font-size:13px; }
.f-table th { text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:10px 12px; border-bottom:1px solid var(--hairline); white-space:nowrap; }
.f-table td { padding:11px 12px; border-bottom:1px solid var(--hairline); vertical-align:top; }
.f-table tr:last-child td { border-bottom:0; }
.f-row { cursor:pointer; }
.f-row:hover td { background:var(--surface-2); }
.f-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.f-row .pill { height:22px; font-size:11.5px; white-space:nowrap; }
.f-receipt { min-width:150px; }
.f-receipt b, .f-text b { display:block; font-weight:620; }
.f-receipt small, .f-text small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.f-text { min-width:300px; }
.f-note { color:var(--text-2); max-width:260px; }
.f-date { white-space:nowrap; color:var(--muted); font-size:12px; }
.f-act { text-align:right; white-space:nowrap; }
.f-formrow td { background:var(--surface-2); }
.f-formrow .cf-form { margin:0; max-width:720px; }
.f-empty { padding:22px 16px; font-size:13.5px; }
.f-partners { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:18px 22px; display:flex; flex-direction:column; gap:10px; }
.f-partners h2 { font-size:17px; font-weight:680; }
.f-partners .sub { color:var(--text-2); font-size:13px; }
.f-partner { border-top:1px solid var(--hairline); padding-top:10px; }
.f-partner-head { display:grid; grid-template-columns:minmax(0, 1fr) auto 120px; gap:12px; font-size:14px; }
.f-partner-head span { color:var(--muted); font-size:12.5px; align-self:center; }
.f-partner-head .num, .f-partner-row .num { text-align:right; font-variant-numeric:tabular-nums; }
.f-partner-row { display:grid; grid-template-columns:110px minmax(0, 1fr) 120px; gap:12px; padding:6px 0; font-size:13px; color:var(--text-2); cursor:pointer; border-radius:8px; }
.f-partner-row:hover { background:var(--surface-2); }

/* ---------- clients: the list and a new client's setup start (MR 12.10.2026) ---------- */
.topbar-title { font-size:15px; font-weight:650; letter-spacing:-.01em; }
.cl-search { max-width:440px; }
.cl-search input { height:42px; font-size:14px; }
.cl-list { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); overflow:hidden; }
.cl-row { display:grid; grid-template-columns:minmax(0, 1fr) 110px 70px 150px 18px; gap:16px; align-items:center; padding:11px 20px;
  min-height:52px; border-bottom:1px solid var(--hairline); color:inherit; text-decoration:none; }
.cl-row:last-child { border-bottom:0; }
.cl-row:hover { background:var(--row-hover); }
.cl-row:focus-visible { outline:none; box-shadow:inset 0 0 0 2px var(--accent); }
.cl-row.is-archived { opacity:.6; }
.cl-name { min-width:0; display:flex; }
.cl-name b { font-weight:640; font-size:14.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cl-num, .cl-method { color:var(--text-2); font-size:13px; }
.cl-state { justify-self:start; }
.cl-go { color:var(--faint); display:grid; }
.cl-go svg { width:16px; height:16px; }
.cl-none { padding:22px 20px; color:var(--muted); }
.rq-empty.is-error > svg { color:var(--fail); background:var(--fail-bg); }
.su-card { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:2px 22px; }
.su-row { display:grid; grid-template-columns:250px minmax(0, 1fr) 130px; gap:20px; align-items:center; padding:16px 0; border-bottom:1px solid var(--hairline); }
.su-row:last-of-type { border-bottom:0; }
.su-label b { font-size:14.5px; font-weight:650; }
.su-label small { display:block; color:var(--muted); font-size:12.5px; margin-top:2px; }
.su-body { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; min-width:0; }
.su-value { font-weight:620; }
.su-value.is-warn { color:var(--warn-text); font-weight:560; }
.su-note { color:var(--muted); font-size:12.5px; }
.su-account { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--text-2); }
.su-account input { width:84px; height:34px; padding:0 9px; border-radius:8px; border:1px solid var(--border-strong); background:var(--card); }
.su-account input:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.su-mark { justify-self:end; }
.su-mark .pill svg { flex:none; }
.su-wait { display:flex; align-items:center; gap:8px; padding:10px 0 14px; color:var(--muted); font-size:12.5px; border-top:1px solid var(--hairline); }
.su-wait svg { width:15px; height:15px; flex:none; }
.su-next > div:nth-child(2) { flex:1; }
.su-next .btn { margin-left:0; }
.seg button:disabled { opacity:.45; cursor:not-allowed; }

/* ---------- Stammdaten: Kompass to read, Beleg's own settings to change (MR 12.10.2026) ---------- */
.btn.danger { background:var(--fail); color:#fff; box-shadow:0 1px 2px rgba(180,34,18,.3), 0 2px 8px -2px rgba(224,36,36,.35); }
.btn.danger:hover { background:#c81e1e; }
.pf-layout { display:grid; grid-template-columns:184px minmax(0, 1fr); gap:30px; align-items:start; }
.pf-toc { position:sticky; top:18px; display:flex; flex-direction:column; gap:2px; }
.pf-toc a { display:flex; align-items:center; height:34px; padding:0 12px; border-radius:9px; color:var(--text-2); text-decoration:none; font-weight:560; font-size:13.5px; }
.pf-toc a:hover { background:var(--hover); color:var(--text); }
.pf-toc a:focus-visible { outline:none; box-shadow:var(--ring); }
.pf-main { display:flex; flex-direction:column; gap:30px; min-width:0; }
.pf-sec { display:flex; flex-direction:column; gap:12px; scroll-margin-top:18px; }
.pf-sec-head { display:flex; align-items:flex-end; gap:16px; }
.pf-sec-head > div { flex:1; min-width:0; }
.pf-sec-head h2 { font-size:18px; font-weight:680; }
.pf-sec-head p { color:var(--text-2); font-size:13px; margin-top:3px; max-width:720px; }
.pf-sec-head .btn { flex:none; }
.pf-note { display:flex; align-items:center; gap:8px; color:var(--ok-text); font-size:12.5px; font-weight:560; }
.pf-note svg { width:14px; height:14px; flex:none; }
.pf-note.is-error { color:var(--fail-text); }
.pf-facts { padding:4px 22px; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:36px; }
.pf-fact { display:grid; grid-template-columns:140px minmax(0, 1fr); gap:16px; align-items:baseline; padding:11px 0; border-bottom:1px solid var(--hairline); }
.pf-fact:nth-last-child(-n+2) { border-bottom:0; }
.pf-fact > span { color:var(--muted); font-size:13px; font-weight:560; }
.pf-fact > div { font-weight:560; overflow-wrap:anywhere; }
.pf-lines { display:flex; flex-direction:column; gap:2px; }
.pf-empty { color:var(--faint); font-weight:500; }
.pf-callout { display:flex; align-items:flex-start; gap:12px; padding:13px 16px; border-radius:var(--r-lg); background:var(--info-bg); box-shadow:inset 0 0 0 1px var(--info-border); }
.pf-callout > svg { width:18px; height:18px; flex:none; color:var(--info-text); margin-top:1px; }
.pf-callout > div { flex:1; font-size:13px; }
.pf-callout ul { margin:4px 0 0; padding-left:18px; color:var(--text-2); }
.pf-sub { padding:16px 0 4px; border-top:1px solid var(--hairline); }
.pf-sub b { font-size:13.5px; font-weight:650; }
.pf-sub small { display:block; color:var(--muted); font-size:12.5px; margin-top:2px; }
.su-row + .pf-sub { margin-top:0; }
.pf-select, .pf-input, .pf-text { height:36px; padding:0 10px; border-radius:9px; border:1px solid var(--border-strong); background:var(--card); font-size:13.5px; }
.pf-select { min-width:280px; max-width:100%; }
.pf-input { width:150px; }
.pf-text { height:auto; min-height:66px; width:min(100%, 420px); padding:8px 10px; line-height:1.45; resize:vertical; }
.pf-select:focus, .pf-input:focus, .pf-text:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.pf-select:disabled, .pf-input:disabled, .pf-text:disabled { opacity:.6; cursor:not-allowed; }
.su-body > .pf-text + .btn { align-self:flex-end; }
.pf-chips { display:flex; flex-wrap:wrap; gap:6px; }
.pf-chip { display:inline-flex; align-items:center; gap:8px; height:28px; padding:0 11px; border-radius:var(--r-pill); background:var(--surface-3); font-size:13px; font-weight:560; }
.pf-chip .linkbtn { font-size:12px; text-decoration:none; }
.pf-riders { display:flex; flex-direction:column; gap:6px; width:100%; }
.pf-rider { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; }
.pf-rider > span { margin-right:auto; }
.pf-rules { padding:6px 22px 16px; }
.pf-rule { display:flex; align-items:flex-start; gap:18px; padding:13px 0; border-bottom:1px solid var(--hairline); }
.pf-rule-text { flex:1; min-width:0; }
.pf-rule-text p { font-weight:560; }
.pf-rule-text small { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
.pf-rule.is-off .pf-rule-text p { color:var(--muted); }
.pf-rule.is-offer { margin:8px -10px 4px; padding:12px 10px; border-radius:var(--r-md); border-bottom:0; background:var(--accent-soft); }
.pf-kicker { display:block; color:var(--accent-text); font-size:11.5px; font-weight:650; text-transform:uppercase; letter-spacing:.05em; margin-bottom:2px; }
.pf-rule-acts { display:flex; align-items:center; gap:8px; flex:none; }
.pf-none { padding:14px 0; color:var(--muted); border-bottom:1px solid var(--hairline); }
.pf-rule-new { display:flex; align-items:flex-end; gap:10px; padding-top:14px; }
.pf-rule-new .field { flex:1; max-width:560px; }
.pf-rule-new .pf-text { width:100%; }
.pf-stack { display:flex; align-items:flex-start; gap:14px; padding:10px 0; border-bottom:1px solid var(--hairline); font-size:13px; }
.pf-stack > div { flex:1; min-width:0; }
.pf-stack small { color:var(--muted); }
.pf-stack ul { margin:4px 0 0; padding-left:18px; color:var(--text-2); }
.pf-plan { display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:var(--text-2); width:100%; }
.pf-plan ul { margin:0; padding-left:18px; }
.pf-danger { display:flex; flex-direction:column; gap:10px; width:100%; max-width:560px; padding:14px 16px; border-radius:var(--r-lg); background:var(--fail-bg); box-shadow:inset 0 0 0 1px var(--fail-border); }
.pf-danger p { font-size:13px; color:var(--fail-text); font-weight:560; }
.pf-danger .field input { background:var(--card); }
.pf-danger-acts { display:flex; gap:8px; }
label.btn { cursor:pointer; }
label.btn[aria-disabled="true"] { pointer-events:none; }
@media (max-width: 1000px) {
  .pf-layout { grid-template-columns:minmax(0, 1fr); }
  .pf-toc { position:static; flex-direction:row; flex-wrap:wrap; }
  .pf-facts { grid-template-columns:minmax(0, 1fr); }
  .pf-fact { grid-template-columns:minmax(0, 1fr); gap:2px; }
  .pf-fact:nth-last-child(2) { border-bottom:1px solid var(--hairline); }
}
@media (max-width: 760px) {
  .su-row { grid-template-columns:minmax(0, 1fr) auto; }
  .su-body { grid-column:1 / -1; grid-row:2; }
  .cl-row { grid-template-columns:minmax(0, 1fr) auto 18px; }
  .cl-num, .cl-method { display:none; }
}

/* ---------- Belege: upload, the year's receipts and the upload decisions (W34, MR 12.10.2026) ---------- */
.docs-page { max-width:1580px; position:relative; }
.docs-page .crumb { color:var(--muted); text-decoration:none; font-weight:600; font-size:13px; }
.docs-page .crumb:hover { color:var(--text); }
.dc-title { display:flex; align-items:baseline; gap:6px; }
.head .right.dc-head-acts { flex-direction:row; align-items:center; gap:10px; }
.dc-search { position:relative; display:flex; align-items:center; }
.dc-search input { width:380px; height:40px; padding:0 12px 0 36px; border-radius:10px; border:1px solid var(--border-strong); background:var(--card); font-size:13.5px; }
.dc-search input:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.dc-search-ico { position:absolute; left:12px; width:16px; height:16px; color:var(--muted); pointer-events:none; }
.dc-status { padding:10px 14px; border-radius:11px; background:var(--ok-bg); color:var(--ok-text); font-size:13px; box-shadow:inset 0 0 0 1px var(--ok-border); }
.dc-status.is-error { background:var(--warn-bg); color:var(--warn-text); box-shadow:inset 0 0 0 1px var(--warn-border); }
/* dragging files anywhere over the page */
.docs-page.is-dragging::after { content:"Zum Hochladen loslassen"; position:fixed; inset:76px 24px 24px; z-index:70; pointer-events:none; display:grid; place-items:center;
  border:2px dashed var(--accent); border-radius:20px; background:color-mix(in srgb, var(--accent-soft) 88%, transparent); color:var(--accent-text); font-size:20px; font-weight:650; }

.dc-upload { display:grid; grid-template-columns:300px minmax(0, 1fr); gap:22px; padding:18px; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.dc-upload.is-compact { display:block; padding:0; background:none; box-shadow:none; }
.dc-upload.is-run { grid-template-columns:minmax(0, 1fr) 250px; align-items:center; gap:24px; padding:14px 18px; }
.dc-drop.is-slim { align-items:flex-start; text-align:left; gap:2px; padding:10px 14px; }
.dc-drop.is-slim b { font-size:13px; }
.dc-drop.is-slim span { font-size:12.5px; }
.dc-drop { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:22px; text-align:center;
  border:1.5px dashed var(--border-strong); border-radius:14px; background:var(--card-alt); color:var(--text-2); }
.dc-drop b { font-size:14.5px; font-weight:650; color:var(--text); }
.dc-drop span { font-size:13px; }
.dc-drop small { font-size:12px; color:var(--muted); }
.dc-upload.is-compact .dc-drop { flex-direction:row; justify-content:flex-start; gap:14px; padding:12px 18px; background:var(--card); }
.dc-drop-ico { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); flex:none; }
.dc-drop-ico svg { width:22px; height:22px; }
.dc-upload.is-empty { display:flex; flex-direction:column; align-items:center; gap:12px; padding:64px 24px; text-align:center; border:2px dashed var(--border-strong); box-shadow:none; background:color-mix(in srgb, var(--card) 70%, transparent); }
.dc-upload.is-empty .dc-drop-ico { width:56px; height:56px; border-radius:16px; }
.dc-upload.is-empty .dc-drop-ico svg { width:28px; height:28px; }
.dc-upload.is-empty h2 { font-size:22px; font-weight:680; }
.dc-upload.is-empty p { max-width:580px; color:var(--text-2); }
.dc-empty-acts { display:flex; gap:10px; margin-top:6px; }
.dc-run { min-width:0; display:flex; flex-direction:column; gap:10px; }
.dc-run-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.dc-run-head b { font-size:15px; font-weight:660; }
.dc-run-head > span { color:var(--muted); font-size:13px; }
.dc-run-head .spacer { flex:1; }
.dc-run-head .dc-x { --h:28px; padding:0 9px; font-size:18px; line-height:1; color:var(--muted); }
.dc-run-note, .dc-run-more { color:var(--muted); font-size:12.5px; }
.dc-run-more a { color:var(--accent-text); font-weight:600; }
.dc-run-acts { display:flex; gap:8px; }
.dc-pause { display:flex; gap:10px; align-items:flex-start; padding:9px 12px; border-radius:10px; background:var(--warn-bg); color:var(--warn-text); font-size:13px; box-shadow:inset 0 0 0 1px var(--warn-border); }
.dc-pause svg { width:16px; height:16px; flex:none; margin-top:2px; }
.dc-items { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:28px; }
.dc-item { display:grid; grid-template-columns:20px minmax(0, 1fr) auto; gap:4px 10px; align-items:center; padding:7px 8px; border-radius:9px; cursor:pointer; }
.dc-item:hover { background:var(--surface-2); }
.dc-item.is-removed { cursor:default; opacity:.6; }
.dc-item.is-static { cursor:default; }
.dc-item.is-static:hover { background:none; }
.dc-item-name { min-width:0; display:flex; align-items:baseline; gap:8px; }
.dc-item-name b { font-size:13.5px; font-weight:620; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:none; max-width:60%; }
.dc-item-name small { font-size:11.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.dc-item-note { font-size:12.5px; color:var(--text-2); white-space:nowrap; font-variant-numeric:tabular-nums; }
.dc-item-note.is-warn { color:var(--warn-text); font-weight:600; }
.dc-item-note.is-fail { color:var(--fail-text); font-weight:600; }
.dc-item-bar { grid-column:2 / -1; height:4px; }
.dc-ring { width:18px; height:18px; border-radius:50%; border:2px solid var(--accent-soft-2); border-top-color:var(--accent); animation:spin 1s linear infinite; }
.dc-ring.is-wait { animation:none; border-style:dashed; border-color:var(--border-strong); }

/* the open points of a large upload (W181, MR 12.10.2026): every group with its receipts and their proposals */
.dc-overview { padding:20px 22px 16px; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.og-top { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.og-top h2 { font-size:19px; font-weight:680; }
.og-top h2.og-done { display:flex; align-items:center; gap:8px; color:var(--ok-text); }
.og-top h2.og-done svg { width:20px; height:20px; }
.og-lede { margin-top:4px; max-width:80ch; color:var(--muted); font-size:12.5px; }
.og-ki { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; color:var(--muted); font-size:12px; }
.og-ki .spinner { width:14px; height:14px; border-width:2px; }
.og-ki.is-failed { color:var(--warn-text); }
.og-status { margin-top:12px; padding:8px 12px; border-radius:10px; background:var(--ok-bg); color:var(--ok-text); font-size:12.5px; box-shadow:inset 0 0 0 1px var(--ok-border); }
.og-status.is-error { background:var(--warn-bg); color:var(--warn-text); box-shadow:inset 0 0 0 1px var(--warn-border); }
.og-groups { display:grid; gap:10px; margin:14px 0 0; padding:0; list-style:none; }
.og { border-radius:var(--r-md); background:var(--card); box-shadow:inset 0 0 0 1px var(--border); overflow:hidden; }
.og-head { display:grid; grid-template-columns:40px minmax(0, 1fr) auto; align-items:center; gap:14px; padding:12px 14px 10px; background:var(--surface-2); }
.og-count { display:grid; place-items:center; width:40px; height:40px; border-radius:var(--r-sm); background:var(--warn-bg); color:var(--warn-text); font-size:17px; font-weight:740; font-variant-numeric:tabular-nums; }
.og-text { min-width:0; }
.og-text h3 { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:660; }
.og-text p { margin-top:2px; color:var(--muted); font-size:12.5px; }
.og-tag { padding:1px 7px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-text); font-size:10px; font-weight:720; letter-spacing:.05em; }
.og-acts { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.og-acts .dc-select select { height:32px; font-size:12.5px; }
.og-decision { color:var(--text-2); font-size:12.5px; font-weight:600; }
.og-rows { width:100%; border-collapse:collapse; font-size:12.5px; }
.og-rows td { padding:8px 10px; vertical-align:middle; border-top:1px solid var(--hairline); }
.og-rows td.og-pick { width:44px; padding-left:24px; }
.og-pick input { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.og-doc { width:30%; min-width:0; }
.og-doc a { color:var(--text); text-decoration:none; }
.og-doc a:hover b { color:var(--accent-text); text-decoration:underline; text-underline-offset:2px; }
.og-doc b { font-weight:620; }
.og-doc small { display:block; margin-top:1px; color:var(--muted); font-size:11.5px; }
.og-rows td.num { width:1%; white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; color:var(--text-2); }
.og-prop { padding-left:22px !important; }
.og-prop b { font-weight:620; color:var(--text); }
.og-prop small { display:block; max-width:78ch; margin-top:2px; color:var(--muted); font-size:11.5px; line-height:1.4; }
.og-result { display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px 8px; color:var(--text-2); }
.og-result select { height:30px; font-size:12px; }
.og-result small { color:var(--muted); font-size:11px; }
.og-why { color:var(--muted); font-size:12px; }
.og-act { width:1%; white-space:nowrap; text-align:right; padding-right:14px !important; }
.og-act .linkbtn { margin-left:12px; font-size:12.5px; }
.og-rows tr.is-out td { color:var(--faint); }
.og-rows tr.is-out .og-doc b { color:var(--muted); text-decoration:line-through; text-decoration-color:var(--border-strong); }
.og-rows tr.is-blocked td { background:var(--surface-2); }
.og-more { display:block; margin:2px 0 10px 24px; font-size:12.5px; }
.og-later { margin-top:12px; color:var(--text-2); font-size:12.5px; }
.og-later summary { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; padding:9px 12px; border-radius:10px; background:var(--surface-2); cursor:pointer; list-style:none; }
.og-later summary::-webkit-details-marker { display:none; }
.og-later summary::before { content:"›"; color:var(--muted); font-weight:700; transition:transform .15s; }
.og-later[open] summary::before { transform:rotate(90deg); }
.og-later summary span { color:var(--muted); }
.og-later ul { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:8px 12px 0; list-style:none; }
.og-later li { padding:3px 9px; border-radius:var(--r-pill); background:var(--surface-2); font-size:11.5px; }
.og-later li b { margin-right:3px; font-variant-numeric:tabular-nums; }
.og-next { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:12px; padding:11px 14px; border-radius:var(--r-md); background:var(--surface-2); }
.og-next.is-now { background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); }
.og-next-label { color:var(--text-2); font-size:13px; font-weight:620; }
.og-next .btn svg { width:14px; height:14px; }
.og-months { color:var(--muted); font-size:12.5px; }
.og-months a { color:var(--text-2); font-weight:600; text-decoration:none; }
.og-months a:hover { color:var(--accent-text); text-decoration:underline; }
.og-months a b { color:var(--muted); font-weight:600; font-variant-numeric:tabular-nums; }
/* the end of an upload (MR 13.10.2026): „Hochladen abschließen“, then what went into which month */
.og-finish { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:12px; padding:12px 14px; border-radius:var(--r-md); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); }
.og-finish > span { color:var(--text-2); font-size:12.5px; }
.og-finish .c-err { flex-basis:100%; }
.dc-overview.is-pending .og-lede { display:flex; align-items:center; gap:8px; }
.dc-overview.is-pending .spinner { width:14px; height:14px; border-width:2px; }
.dc-fin { min-width:0; display:flex; flex-direction:column; gap:10px; }
.dc-fin-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dc-fin-head svg { width:18px; height:18px; color:var(--ok-text); }
.dc-fin-head b { font-size:15px; font-weight:660; }
.dc-fin-head > span { color:var(--muted); font-size:13px; }
.dc-fin-head .spacer { flex:1; }
.dc-fin-head .dc-x { --h:28px; padding:0 9px; font-size:18px; line-height:1; color:var(--muted); }
.dc-fin-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.dc-fin-row .og-months { display:flex; flex-wrap:wrap; gap:4px 14px; }
.dc-fin-rest { color:var(--muted); font-size:12.5px; }
.dc-fin-rest a { color:var(--accent-text); font-weight:600; }
.dc-fin-next .btn svg { width:14px; height:14px; }
.dc-run .og-next { margin-top:2px; }
.og-tech { margin-top:10px; color:var(--faint); font-size:11.5px; }
.og-tech summary { cursor:pointer; width:max-content; }
.og-tech p { margin-top:4px; }
/* a receipt beside its overview group (W201, W202) */
.og.has-preview { overflow:clip; box-shadow:inset 0 0 0 1px var(--accent-border); }
.og-body { display:grid; grid-template-columns:minmax(0, 1fr) minmax(420px, 46%); align-items:start; }
.og-main { min-width:0; }
.og-aside { position:sticky; top:12px; max-height:calc(100vh - 24px); overflow:auto; padding:14px; background:var(--surface-2); box-shadow:inset 1px 0 0 var(--hairline); }
.og-aside .dc-q { background:var(--card); }
.og-aside .dc-d-pages { background:var(--card); box-shadow:inset 0 0 0 1px var(--hairline); }
/* beside the receipt the table keeps what tells the rows apart; the why stands in the receipt's card */
.og.has-preview .og-prop small, .og.has-preview:not(.is-bulk) td.num, .og.has-preview:not(.is-bulk) td.og-pick { display:none; }
.og.has-preview .og-doc { width:auto; }
.og.has-preview .og-prop { padding-left:12px !important; }
.og-rows tr[data-og-row] { cursor:pointer; }
.og-rows tr[data-og-row]:hover td { background:var(--surface-2); }
.og-rows tr.is-sel td { background:var(--accent-soft); }
.og-rows tr.is-sel td:first-child { box-shadow:inset 3px 0 0 var(--accent); }
/* beside an opened receipt, a group answered per receipt lists its rows compact (MR 13.10.2026) */
.og.is-compact .og-body { grid-template-columns:minmax(240px, 300px) minmax(0, 1fr); }
.og-rows.is-compact td { padding:9px 14px 10px 20px; }
.og-c-top { display:flex; align-items:baseline; justify-content:space-between; gap:10px; color:var(--text); text-decoration:none; }
.og-c-top b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:620; }
.og-c-top .num { flex:none; color:var(--text-2); font-size:12px; font-variant-numeric:tabular-nums; }
.og-c-top:hover b { color:var(--accent-text); }
.og-rows.is-compact small { display:block; margin-top:1px; color:var(--muted); font-size:11.5px; }
.og-c-prop { display:block; margin-top:4px; color:var(--ok-text); font-size:12px; font-weight:620; }
.og-c-prop.is-open { color:var(--warn-text); }
.og.is-compact .og-aside { padding:14px 16px 16px; }
.dc-ga { display:flex; flex-direction:column; gap:12px; }
.dc-ga-head { display:flex; align-items:flex-start; gap:6px; }
.dc-ga-head > div { flex:1; min-width:0; }
.dc-ga-head b { display:block; font-size:14.5px; font-weight:660; }
.dc-ga-head small { display:block; margin-top:1px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.dc-ga-head .btn { flex:none; text-decoration:none; }
.dc-ga-head .preview-colors { width:32px; padding:0; }
.dc-ga-head .preview-colors span { display:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.dc-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(360px, 480px); gap:18px; align-items:start; }
[data-doc-list] { overflow-x:auto; }
.dc-list { min-width:0; padding:16px 18px 10px; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.dc-list-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.dc-list-head h2 { font-size:17px; font-weight:680; display:flex; align-items:center; gap:8px; }
.dc-list-head h2 .count { min-width:24px; height:22px; padding:0 8px; border-radius:var(--r-pill); background:var(--surface-3); color:var(--text-2); font-size:12px; font-weight:650; display:inline-grid; place-items:center; font-variant-numeric:tabular-nums; }
.dc-list-head .spacer, .dc-bulk .spacer, .dc-d-nav .spacer { flex:1; }
.dc-select select { height:34px; padding:0 8px; border-radius:9px; border:1px solid var(--border-strong); background:var(--card); font-size:13px; color:var(--text-2); max-width:100%; }
.dc-select select:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.dc-chips { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 8px; }
.dc-chips button { height:32px; padding:0 12px; border-radius:var(--r-pill); border:1px solid var(--border); background:var(--card); color:var(--text-2); font-weight:600; font-size:13px; cursor:pointer; }
.dc-chips button:hover { border-color:var(--border-strong); color:var(--text); }
.dc-chips button[aria-pressed="true"] { background:var(--text); border-color:var(--text); color:var(--card); }
.dc-chips .n { margin-left:4px; font-size:11.5px; color:var(--muted); font-variant-numeric:tabular-nums; }
.dc-chips button[aria-pressed="true"] .n { color:color-mix(in srgb, var(--card) 70%, transparent); }
.dc-bulk { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 10px; margin:2px 0 8px; border-radius:11px; background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); }
.dc-bulk b { font-size:13px; font-weight:650; color:var(--accent-text); margin-right:4px; }
.dc-bulk .dc-select select { height:32px; }
.dc-table { width:100%; border-collapse:collapse; font-size:13px; }
.dc-table th { text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:9px 10px; border-bottom:1px solid var(--hairline); white-space:nowrap; }
.dc-table td { padding:9px 10px; border-bottom:1px solid var(--hairline); vertical-align:middle; }
.dc-table tr:last-child td { border-bottom:0; }
.dc-table .num { text-align:right; font-variant-numeric:tabular-nums; }
.dc-row { cursor:pointer; }
.dc-row:hover td { background:var(--row-hover); }
.dc-row.is-sel td { background:var(--accent-soft); }
.dc-row.is-sel td:first-child { box-shadow:inset 3px 0 0 var(--accent); }
.dc-row.is-off td { color:var(--muted); }
.dc-pick { width:30px; }
.dc-pick input { width:15px; height:15px; margin:0; accent-color:var(--accent); vertical-align:middle; }
.dc-name { max-width:360px; }
.dc-name a { color:inherit; text-decoration:none; }
.dc-name a:focus-visible { outline:none; border-radius:4px; box-shadow:var(--ring); }
.dc-name b { display:block; font-weight:620; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dc-name small { display:block; color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dc-date, .dc-amount, .dc-up { white-space:nowrap; color:var(--text-2); }
.dc-month { color:var(--accent-text); font-weight:600; text-decoration:underline; text-underline-offset:2px; text-decoration-color:var(--accent-border); white-space:nowrap; }
.dc-stand .pill { height:22px; font-size:11.5px; }
.dc-none { padding:26px 10px; display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.dc-none p { color:var(--muted); font-size:13px; }
.dc-none a { color:var(--accent-text); font-weight:600; }
.btn.dc-danger { color:var(--fail-text); }
.btn.dc-danger-solid { background:var(--fail); color:#fff; }
.btn.dc-danger-solid:hover { background:#c81e1e; }

.dc-side { position:sticky; top:16px; max-height:calc(100vh - 32px); overflow:auto; border-radius:var(--r-card); }
.dc-side-card { display:flex; flex-direction:column; gap:12px; padding:16px 18px 18px; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.dc-side-head { display:flex; align-items:center; gap:10px; }
.dc-side-head h2 { font-size:17px; font-weight:680; }
.dc-side-sub { color:var(--text-2); font-size:13px; margin-top:-6px; }
.dc-q { display:flex; flex-direction:column; gap:7px; padding:13px 14px; border-radius:13px; background:var(--card-alt); box-shadow:inset 0 0 0 1px var(--border); }
.dc-q.is-must { box-shadow:inset 0 0 0 1px var(--fail-border), inset 3px 0 0 var(--fail); }
.dc-q-top { display:flex; align-items:center; gap:8px; }
.dc-q-kind { font-size:12.5px; color:var(--muted); font-weight:600; }
.dc-q-top .linkbtn { margin-left:auto; font-size:12.5px; }
.dc-q-title { font-size:14.5px; font-weight:660; }
.dc-q p { font-size:13px; color:var(--text-2); }
.dc-q-files { font-size:11.5px; color:var(--muted); overflow-wrap:anywhere; }
.dc-q-acts { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; align-items:center; }
.dc-q-month select { height:32px; }
.dc-q-date { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; }
.dc-q-date .field input { height:34px; }
.dc-q .c-err, .dc-d-file .c-err { margin-top:2px; }
.dc-calm { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:13px; }
.dc-calm svg { width:18px; height:18px; flex:none; color:var(--ok); }
.dc-d-nav { display:flex; align-items:center; gap:8px; }
.dc-d-nav .linkbtn { font-size:13px; }
.dc-d-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.dc-d-head h2 { font-size:19px; font-weight:680; overflow-wrap:anywhere; }
.dc-d-facts { color:var(--muted); font-size:12.5px; margin-top:-6px; overflow-wrap:anywhere; }
.dc-d-more { padding:10px 12px; border-radius:10px; background:var(--info-bg); color:var(--text-2); font-size:12.5px; box-shadow:inset 0 0 0 1px var(--info-border); }
.dc-d-more ul { margin:4px 0 0 16px; padding:0; }
.dc-d-file { display:flex; flex-direction:column; gap:10px; padding:12px 0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
.dc-d-voucher { display:grid; grid-template-columns:96px minmax(0, 1fr); gap:4px 12px; margin:0; padding:10px 12px; border-radius:10px; background:var(--surface-2); font-size:12.5px; }
.dc-d-voucher dt { font-weight:600; color:var(--text-2); }
.dc-d-voucher dd { margin:0; color:var(--text); overflow-wrap:anywhere; }
.dc-d-row { display:grid; grid-template-columns:64px minmax(0, 1fr); gap:4px 12px; align-items:center; }
.dc-d-row > span { font-size:12.5px; font-weight:600; color:var(--text-2); }
.dc-d-row > small { grid-column:2; color:var(--muted); font-size:11.5px; }
.dc-seg { display:inline-flex; padding:3px; gap:3px; border-radius:10px; background:var(--surface-3); justify-self:start; }
.dc-seg button { height:30px; padding:0 11px; border:0; border-radius:8px; background:transparent; cursor:pointer; font-weight:600; font-size:12.5px; color:var(--text-2); }
.dc-seg button[aria-pressed="true"] { background:var(--card); color:var(--text); box-shadow:var(--shadow-sm); }
.dc-seg button:disabled { opacity:.5; cursor:not-allowed; }
.dc-d-acts { display:flex; flex-wrap:wrap; gap:6px; }
.dc-d-acts .btn { text-decoration:none; }
.dc-d-acts .btn svg { width:14px; height:14px; }
.dc-d-pages { display:flex; flex-direction:column; gap:12px; align-items:center; padding:12px; border-radius:12px; background:var(--surface-2); }
.dc-d-pages .doc-page { width:100%; object-fit:contain; }
.dc-d-pages .doc-empty { padding:30px 0; }
/* a page that opens large on click (W201, W204) */
.dc-zoomable { display:block; width:100%; padding:0; border:0; border-radius:3px; background:none; cursor:zoom-in; }
.dc-zoomable:focus-visible { outline:none; box-shadow:var(--ring); }
.dc-zoomable img { display:block; width:100%; height:auto; }
/* „Mehr“: the rare actions of a receipt while a decision waits */
.dc-d-more-toggle { display:flex; }
.dc-d-rare { display:flex; flex-direction:column; gap:12px; padding:12px; border-radius:12px; background:var(--surface-2); }
/* the recommended answer alone and marked, the others as quiet alternatives (W204) */
.dc-q-acts.is-rec { flex-direction:column; align-items:stretch; gap:8px; }
.dc-q-main { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.dc-q-alt { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.dc-q-alt > span { color:var(--muted); font-size:12px; margin-right:2px; }
.dc-rec-tag { padding:2px 8px; border-radius:var(--r-pill); background:var(--ok-bg); color:var(--ok-text); font-size:11px; font-weight:700; letter-spacing:.02em; }
/* two receipts side by side: a fixed label column, one value column each, then their pages */
/* a pair side by side (MR 13.10.2026): one primary answer, then each receipt with its read values and first page */
.dc-pair-acts { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; padding:10px 12px; border-radius:12px; background:var(--card); box-shadow:inset 0 0 0 1px var(--hairline); }
.dc-pair-acts > .btn.primary { margin-right:4px; }
.dc-pair-or { color:var(--muted); font-size:12px; }
.dc-pair-or:empty { display:none; }
.dc-pair-acts .c-err { flex-basis:100%; }
.dc-pair-cols { display:grid; grid-template-columns:repeat(var(--cols), minmax(0, 1fr)); gap:12px; align-items:start; }
.dc-pair-col { display:flex; flex-direction:column; gap:10px; min-width:0; padding:12px; border-radius:12px; background:var(--card); box-shadow:inset 0 0 0 1px var(--hairline); }
.dc-pair-col.is-keep { box-shadow:inset 0 0 0 1.5px var(--ok-border); }
.dc-pair-col header { display:flex; flex-direction:column; gap:2px; min-width:0; }
.dc-pair-col header b { font-size:14px; font-weight:660; }
.dc-pair-col header b span { color:var(--text-2); font-weight:560; }
.dc-pair-col header small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:11.5px; }
.dc-pair-fate { align-self:flex-start; margin-bottom:4px; padding:2px 8px; border-radius:var(--r-pill); font-size:11px; font-weight:700; letter-spacing:.02em; }
.dc-pair-fate.is-keep { background:var(--ok-bg); color:var(--ok-text); }
.dc-pair-fate.is-drop { background:var(--surface-3); color:var(--muted); }
.dc-pair-facts { display:grid; grid-template-columns:max-content minmax(0, 1fr); gap:5px 12px; margin:0; font-size:12.5px; }
.dc-pair-facts > div { display:contents; }
.dc-pair-facts dt { color:var(--muted); font-size:12px; }
.dc-pair-facts dd { display:-webkit-box; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; font-weight:600; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.dc-pair-facts mark { padding:0 4px; border-radius:4px; background:var(--warn-bg); color:var(--warn-text); box-shadow:inset 0 0 0 1px var(--warn-border); }
.dc-pair-page { display:flex; flex-direction:column; gap:6px; margin:0; }
.dc-pair-page .dc-zoomable { max-height:min(60vh, 760px); overflow:hidden; }
.dc-pair-page img { background:#fff; border-radius:3px; box-shadow:var(--paper-shadow, 0 0 0 1px rgba(0,0,0,.08), 0 10px 24px -16px rgba(20,26,40,.45)); }
.dc-pair-page figcaption { color:var(--muted); font-size:11.5px; }
.dc-pair { display:flex; flex-direction:column; gap:12px; }
.dc-pair-why { color:var(--text-2); font-size:12.5px; }
.dc-pair-why .dc-q-kind { margin-right:6px; }
.dc-cmp-same { font-size:12px; color:var(--text-2); }
.dc-cmp-same > span { margin-right:6px; padding:1px 7px; border-radius:var(--r-pill); background:var(--surface-2); color:var(--muted); font-size:10.5px; font-weight:700; }
.dc-cmp-same b { font-weight:620; }
.dc-cmp-hint { color:var(--muted); font-size:11.5px; }
.dc-nopage { padding:30px 0; text-align:center; color:var(--muted); font-size:12.5px; background:var(--surface-2); border-radius:8px; }
/* a comparison needs room: the receipt pane takes about half the width */
.dc-layout.is-wide { grid-template-columns:minmax(0, 1fr) minmax(560px, 1.15fr); }
.dc-layout.is-wide .dc-table th:nth-child(7), .dc-layout.is-wide .dc-table td:nth-child(7) { display:none; }
.dc-layout.is-wide .dc-stand .pill { height:auto; min-height:24px; padding:3px 9px; white-space:normal; }
@media (max-width: 1500px) {
  .dc-layout.is-wide .dc-table th:nth-child(3), .dc-layout.is-wide .dc-table td:nth-child(3) { display:none; }
}
/* the list narrowed to one overview group */
.dc-group-chip { display:inline-flex; align-items:center; gap:4px; height:26px; padding:0 3px 0 10px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-text); font-size:12px; font-weight:620; }
.dc-group-chip button { width:20px; height:20px; border:0; border-radius:50%; background:transparent; color:inherit; font-size:14px; line-height:1; cursor:pointer; }
.dc-group-chip button:hover { background:var(--card); }
/* pages opened large: one receipt, or a pair side by side */
.dc-zoom-box { position:absolute; top:20px; bottom:20px; left:50%; transform:translateX(-50%); width:min(calc(var(--cols) * 860px), calc(100vw - 40px)); padding:0 18px 18px; overflow:auto; border-radius:var(--r-card); background:#262a33; box-shadow:var(--shadow-lg); }
.dc-zoom-bar { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0 8px; background:#262a33; color:#b5bcc8; font-size:12px; }
.dc-zoom .dc-zoom-bar .zoom-x { position:static; }
.dc-zoom-bar .preview-colors { margin-left:auto; }
.dc-zoom-cols { display:grid; grid-template-columns:repeat(var(--cols), minmax(0, 1fr)); align-items:start; gap:18px; }
.dc-zoom-col { display:flex; flex-direction:column; gap:12px; min-width:0; }
.dc-zoom-col header { display:flex; align-items:baseline; gap:10px; padding:2px 2px 0; color:#fff; font-size:13px; }
.dc-zoom-col header b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dc-zoom-col header span { color:#b5bcc8; font-size:12px; white-space:nowrap; }
.dc-zoom-col header a { margin-left:auto; color:#a5b4fc; font-size:12px; white-space:nowrap; }
.dc-zoom-col .doc-page { display:block; width:100%; height:auto; background:#fff; border-radius:3px; }
.dc-zoom-more { color:#b5bcc8; font-size:12px; text-align:center; }

.dc-dialog-back { position:fixed; inset:0; z-index:80; background:var(--overlay); }
.dc-dialog { position:fixed; left:50%; top:50%; z-index:81; transform:translate(-50%, -50%); width:min(520px, calc(100vw - 32px)); display:flex; flex-direction:column; gap:12px;
  padding:22px 24px; border-radius:16px; background:var(--card); box-shadow:var(--shadow-lg); }
.dc-dialog h2 { font-size:19px; font-weight:680; }
.dc-dialog p { font-size:13.5px; color:var(--text-2); }
.dc-dialog-files { margin:0; padding:8px 12px 8px 28px; max-height:180px; overflow:auto; font-size:12.5px; border-radius:10px; background:var(--surface-2); overflow-wrap:anywhere; }
.dc-dialog-acts { display:flex; justify-content:flex-end; gap:8px; }
@media (max-width: 1500px) {
  .dc-table th:nth-child(7), .dc-table td:nth-child(7) { display:none; }
  .dc-name { max-width:280px; }
}
@media (max-width: 1180px) {
  .dc-layout { grid-template-columns:minmax(0, 1fr); }
  .dc-side { position:static; max-height:none; overflow:visible; }
  .og-head { grid-template-columns:40px minmax(0, 1fr); }
  .og-acts { grid-column:2; justify-content:flex-start; }
  .dc-layout.is-wide { grid-template-columns:minmax(0, 1fr); }
  .og-body, .og.is-compact .og-body { grid-template-columns:minmax(0, 1fr); }
  .og-aside { position:static; max-height:none; box-shadow:inset 0 1px 0 var(--hairline); }
}
@media (max-width: 900px) {
  .docs-page .head { flex-wrap:wrap; }
  .head .right.dc-head-acts { margin-left:0; width:100%; }
  .dc-search, .dc-search input { flex:1; width:auto; min-width:0; }
  .dc-upload { grid-template-columns:minmax(0, 1fr); }
  .dc-items { grid-template-columns:minmax(0, 1fr); }
  .og-top { flex-direction:column; gap:10px; }
  .og-rows, .og-rows tbody, .og-rows tr, .og-rows td { display:block; width:auto !important; }
  .og-rows tr { padding:8px 14px; border-top:1px solid var(--hairline); }
  .og-rows td { padding:2px 0 !important; border:0; text-align:left !important; }
  .og-rows td.og-pick:empty { display:none; }
}
@media (max-width: 640px) {
  .dc-pair-cols { grid-template-columns:minmax(0, 1fr); }
  .dc-table th:nth-child(3), .dc-table td:nth-child(3) { display:none; }
  .dc-name { max-width:160px; }
}

/* ---------- DATEV-Übergabe: month export and year package (MR 12.10.2026) ---------- */
.panes.is-handover { grid-template-columns:minmax(0, 1fr) 600px; }
.hv-bar .m-title .crumb + .crumb { margin-left:-10px; }
.hv-list { padding:0 0 14px; }
.hv-list-head { position:sticky; top:0; z-index:2; background:color-mix(in srgb, var(--card) 95%, transparent); backdrop-filter:blur(6px); padding:14px 18px 10px; border-bottom:1px solid var(--hairline); }
.hv-list-head small { display:block; margin-top:4px; font-size:12px; color:var(--muted); }
.hv-item { padding:12px 18px 10px; border-bottom:1px solid var(--hairline); }
.hv-who { display:grid; grid-template-columns:minmax(0, auto) minmax(0, 1fr) auto; gap:12px; align-items:baseline; margin-bottom:6px; }
.hv-who b { font-weight:640; font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hv-who span { font-size:12.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hv-who .num { font-variant-numeric:tabular-nums; text-align:right; }
.hv-months { display:flex; flex-direction:column; padding:8px 8px 0; }
.hv-month { display:grid; grid-template-columns:120px 170px minmax(0, 1fr) auto; gap:12px; align-items:center; padding:11px 12px; border-radius:11px; color:inherit; text-decoration:none; font-size:13.5px; }
.hv-month:hover { background:var(--surface-2); }
.hv-month.is-static { color:var(--muted); }
.hv-month.is-static:hover { background:none; }
.hv-mname { font-weight:640; }
.hv-mcount { color:var(--muted); font-size:12.5px; }
.hv-mgo { display:inline-flex; align-items:center; gap:4px; color:var(--accent-text); font-size:12.5px; font-weight:600; }
.hv-month.is-static .hv-mgo { color:var(--faint); font-weight:500; }
.hv-mgo svg { width:14px; height:14px; }
.hv-card { display:flex; flex-direction:column; gap:14px; }
.hv-title h2 { font-size:19px; font-weight:680; }
.hv-title p { margin-top:3px; font-size:13px; color:var(--text-2); }
.hv-block { border-radius:var(--r-lg); background:var(--surface-2); padding:12px 14px; display:flex; flex-direction:column; gap:8px; }
.hv-block.is-holding { background:var(--fail-bg); box-shadow:inset 0 0 0 1px var(--fail-border); }
.hv-head { display:flex; align-items:center; gap:8px; }
.hv-head h3, .hv-hints summary h3 { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); font-weight:650; margin:0; }
.hv-block.is-holding .hv-head h3 { color:var(--fail-text); }
.hv-head .pill { height:20px; font-size:11px; padding:0 8px; }
.hv-facts { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px 18px; }
.hv-fact { display:flex; flex-direction:column; min-width:0; }
.hv-fact span { font-size:11px; color:var(--muted); font-weight:600; }
.hv-fact b { font-size:14px; font-weight:640; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.hv-fact small { font-size:12px; color:var(--text-2); overflow-wrap:anywhere; }
.hv-point { display:grid; grid-template-columns:20px minmax(0, 1fr) auto; gap:10px; align-items:start; padding:8px 0; border-top:1px solid var(--ink-line); }
.hv-head + .hv-point, .hv-hints summary + .hv-point { border-top:0; }
.hv-point b { font-size:13.5px; font-weight:640; }
.hv-point p { font-size:12.5px; color:var(--text-2); margin-top:2px; line-height:1.45; }
.hv-point-act { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.hv-point-act .btn { text-decoration:none; }
.hv-more { margin-top:4px; font-size:12px; color:var(--muted); }
.hv-more summary { cursor:pointer; }
.hv-more pre { white-space:pre-wrap; font-size:11.5px; margin-top:4px; }
.hv-hints summary { list-style:none; display:flex; align-items:baseline; gap:8px; cursor:pointer; }
.hv-hints summary::-webkit-details-marker { display:none; }
.hv-quiet { font-size:12.5px; color:var(--muted); }
.hv-open { margin-left:auto; font-size:12px; color:var(--accent-text); font-weight:600; }
.hv-hints[open] .hv-open { display:none; }
.hv-item .c-lines { margin-top:0; }
.released-box p .linkbtn { text-decoration:none; }
.hv-clear { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ok-text); background:var(--ok-bg); border-radius:var(--r-lg); padding:10px 14px; }
.hv-clear svg { width:15px; height:15px; flex:none; }
.hv-finding { padding:8px 0; border-top:1px solid var(--ink-line); }
.hv-head + .hv-finding { border-top:0; }
.hv-finding b { font-size:13.5px; font-weight:640; }
.hv-finding p { font-size:12.5px; color:var(--text-2); margin-top:2px; }
.hv-finding small { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
.hv-finding .pill { height:18px; font-size:10.5px; padding:0 7px; vertical-align:1px; }
.hv-ack { display:flex; gap:9px; align-items:flex-start; padding:10px 12px; border-radius:10px; background:var(--card); box-shadow:inset 0 0 0 1px var(--warn-border); font-size:13px; cursor:pointer; }
.hv-ack input { margin-top:2px; }
.hv-offer { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:12px; align-items:start; padding-top:4px; }
.hv-offer small { display:block; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.hv-offer p { font-size:12.5px; color:var(--warn-text); margin-top:3px; }
.hv-offer-acts { display:flex; flex-direction:column; gap:6px; align-items:stretch; }
.hv-msg { display:grid; grid-template-columns:18px minmax(0, 1fr); gap:10px; padding:10px 14px; border-radius:var(--r-lg); font-size:13px; }
.hv-msg > svg { width:16px; height:16px; margin-top:2px; }
.hv-msg p { font-size:12.5px; color:var(--text-2); margin-top:2px; }
.hv-msg.is-ok { background:var(--ok-bg); color:var(--ok-text); }
.hv-msg.is-info { background:var(--info-bg); color:var(--info-text); }
.hv-msg.is-fail { background:var(--fail-bg); color:var(--fail-text); box-shadow:inset 0 0 0 1px var(--fail-border); }
.hv-notice { margin:auto; padding:30px 10px; max-width:520px; }
.hv-points { width:100%; text-align:left; background:var(--surface-2); border-radius:var(--r-lg); padding:4px 14px; }
.hv-notice-acts { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.hv-notice-acts .btn { text-decoration:none; }
@media (max-width: 1100px) {
  .panes.is-handover { grid-template-columns:minmax(0, 1fr); }
}

/* ---------- Nachforderungen: the year's client requests by month, with the letter (W31) ---------- */
.requests-page .crumb { color:var(--muted); text-decoration:none; font-weight:600; font-size:13px; }
.requests-page .crumb:hover { color:var(--text); }
.rq-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(360px, 460px); gap:18px; align-items:start; }
.rq-list { display:flex; flex-direction:column; gap:14px; min-width:0; }
.rq-month { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:6px 18px 10px; scroll-margin-top:16px; }
.rq-month-head { display:flex; align-items:baseline; gap:12px; padding:12px 0 8px; }
.rq-month-head h2 { font-size:17px; font-weight:680; }
.rq-month-head > span { color:var(--muted); font-size:12.5px; }
.rq-month-head .linkbtn { margin-left:auto; font-size:12.5px; text-decoration:none; }
.rq-sub { display:flex; align-items:center; gap:7px; padding:10px 0 6px; font-size:12px; }
.rq-sub svg { width:15px; height:15px; flex:none; }
.rq-sub b { font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.rq-sub .n { font-size:11px; font-weight:650; color:var(--muted); }
.rq-sub small { color:var(--muted); font-size:12px; margin-left:4px; }
.rq-sub.is-holds { color:var(--fail-text); }
.rq-sub.is-info { color:var(--info-text); border-top:1px solid var(--hairline); margin-top:4px; }
.rq-sub.is-info:first-of-type { border-top:0; margin-top:0; }
.rq-item { display:grid; grid-template-columns:28px minmax(0, 1fr) auto; gap:12px; align-items:start; padding:12px 12px 12px 10px; margin:0 -10px 6px;
  border-radius:12px; border:1px solid var(--hairline); box-shadow:inset 3px 0 0 var(--info-border); }
.rq-item.is-holds { border-color:var(--fail-border); background:linear-gradient(90deg, var(--fail-bg), var(--card) 38%); box-shadow:inset 3px 0 0 var(--fail); }
.rq-mark { width:26px; height:26px; border-radius:8px; display:grid; place-items:center; background:var(--info-bg); color:var(--info-text); }
.rq-item.is-holds .rq-mark { background:var(--fail-bg); color:var(--fail-text); }
.rq-mark svg { width:15px; height:15px; }
.rq-body { min-width:0; display:flex; flex-direction:column; gap:5px; }
.rq-receipt { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; font-size:13px; color:var(--muted); }
.rq-receipt b { color:var(--text); font-size:14px; font-weight:640; }
.rq-receipt span { font-variant-numeric:tabular-nums; }
.rq-qs { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px; }
.rq-qs li { font-size:13.5px; color:var(--text-2); line-height:1.45; }
.rq-qs li + li { padding-top:4px; border-top:1px dashed var(--hairline); }
.rq-qs small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.rq-parked { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--violet-text); }
.rq-parked svg { width:14px; height:14px; flex:none; }
.rq-since { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.rq-since .pill { height:20px; font-size:11px; padding:0 8px; }
.rq-acts { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.rq-acts .btn { text-decoration:none; }
.rq-acts .btn svg { width:14px; height:14px; }
.rq-acts .linkbtn { font-size:12.5px; color:var(--muted); }
.rq-acts .linkbtn:hover { color:var(--fail-text); }
.rq-way { color:var(--muted); font-size:11.5px; max-width:150px; text-align:right; }
/* A group of the same reason (MR 2026-10-13): one question, its receipts as compact rows aligned across the group. */
.rq-item.rq-group { grid-template-columns:28px minmax(0, 1fr); }
.rq-group-head { display:flex; align-items:center; gap:10px; }
.rq-group-head .rq-receipt { flex:1; min-width:0; }
.rq-group-head .btn { flex:none; text-decoration:none; }
.rq-group-head .btn svg { width:14px; height:14px; }
.rq-gq { font-size:13.5px; color:var(--text-2); line-height:1.45; margin:0; }
.rq-glist { list-style:none; margin:2px 0 0; padding:0; border-top:1px solid var(--hairline); display:grid; grid-template-columns:84px minmax(0, 1fr) auto auto; column-gap:14px; }
.rq-gi { grid-column:1 / -1; display:grid; grid-template-columns:subgrid; row-gap:1px; align-items:center; padding:5px 0; border-bottom:1px solid var(--hairline); font-size:13px; min-height:38px; }
.rq-gi-date { color:var(--muted); font-variant-numeric:tabular-nums; font-size:12.5px; }
.rq-gi-party { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-weight:580; }
.rq-gi-party small { color:var(--muted); font-weight:500; font-size:12px; margin-left:8px; }
.rq-gi-amount { text-align:right; font-variant-numeric:tabular-nums; color:var(--text-2); }
.rq-gi-acts { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.rq-gi-acts .linkbtn { font-size:12.5px; text-decoration:none; white-space:nowrap; }
.rq-gi-acts .btn { height:26px; padding:0 9px; text-decoration:none; }
.rq-gi-acts .btn svg { width:13px; height:13px; }
.rq-gi-acts .rq-remove { color:var(--muted); }
.rq-gi-acts .rq-remove:hover { color:var(--fail-text); }
.rq-gi-acts .rq-way { max-width:none; }
@media (hover: hover) {
  .rq-gi .rq-remove { opacity:0; transition:opacity .12s; }
  .rq-gi:hover .rq-remove, .rq-gi:focus-within .rq-remove { opacity:1; }
}
.rq-gi-notes { grid-column:2 / -1; display:flex; flex-direction:column; gap:1px; }
.rq-gi-notes small { color:var(--muted); font-size:12px; line-height:1.4; }
.rq-group-way { color:var(--muted); margin-left:auto; font-size:11.5px; }
.rq-scope button { font-weight:600; }
.rq-done { border-top:1px solid var(--hairline); margin-top:6px; padding-top:6px; }
.rq-done summary { cursor:pointer; font-size:12.5px; font-weight:620; color:var(--text-2); padding:6px 0; }
.rq-done summary .n { color:var(--muted); font-weight:600; margin-left:3px; }
.rq-done-row { display:grid; grid-template-columns:20px minmax(0, 1fr) 190px 100px; gap:10px; align-items:start; padding:7px 0; font-size:12.5px; color:var(--muted); border-top:1px solid var(--hairline); }
.rq-done-text { color:var(--text-2); text-decoration:line-through; text-decoration-color:var(--faint); }
.rq-done-text b { font-weight:620; }
.rq-done-when small { display:block; font-size:11.5px; }
.rq-done-row .linkbtn { justify-self:end; text-decoration:none; font-size:12.5px; }
.rq-check { color:var(--ok); }
.rq-check svg { width:15px; height:15px; }
.rq-empty { display:flex; gap:14px; align-items:flex-start; padding:18px 20px; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.rq-empty > svg { width:26px; height:26px; flex:none; color:var(--ok); padding:4px; background:var(--ok-bg); border-radius:8px; }
.rq-empty b { font-size:15px; }
.rq-empty p { color:var(--text-2); font-size:13px; margin-top:2px; }
.rq-letter { position:sticky; top:16px; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:14px 16px 16px; display:flex; flex-direction:column; gap:12px; }
.rq-letter-head { display:flex; align-items:center; gap:8px; }
.rq-letter-head h2 { font-size:16px; font-weight:680; }
.rq-letter-head small { color:var(--muted); font-size:12px; }
.rq-letter-head .spacer { flex:1; }
.rq-paper { white-space:pre-wrap; font-size:13px; line-height:1.55; color:var(--text); background:var(--card-alt); border:1px solid var(--border); border-radius:10px;
  padding:18px 20px; max-height:calc(100vh - 200px); overflow:auto; overflow-wrap:anywhere; }
.rq-paper.is-empty { color:var(--muted); white-space:normal; }
@media (max-width: 1100px) {
  .rq-layout { grid-template-columns:minmax(0, 1fr); }
  .rq-letter { position:static; }
}
@media (max-width: 640px) {
  .rq-item { grid-template-columns:28px minmax(0, 1fr); }
  .rq-acts { grid-column:2; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .rq-done-row { grid-template-columns:20px minmax(0, 1fr); }
  .rq-glist { display:block; }
  .rq-gi { display:grid; grid-template-columns:minmax(0, 1fr) auto; column-gap:10px; }
  .rq-gi-date { grid-column:1 / -1; }
  .rq-gi-acts, .rq-gi-notes { grid-column:1 / -1; justify-content:flex-start; }
}
/* Printing the requests page prints the letter alone (W31). */

/* ---------- the year page (MR 14.10.2026, W276–W278): month strip, result, close ---------- */
.wrap.year-page { max-width:1600px; }
.year-page .cta { padding:12px 18px; }
.year-page .cta .ico { width:36px; height:36px; border-radius:10px; }
.year-page .cta b { font-size:15px; }
.ystrip { display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:8px; }
.ytile { background:var(--card); border-radius:var(--r-lg); box-shadow:var(--shadow-card); padding:10px 11px 11px; display:flex; flex-direction:column; gap:7px; min-width:0; cursor:pointer; font-size:12px; }
.ytile:hover { background:var(--row-hover); }
.ytile.is-cur { box-shadow:var(--shadow-card), inset 0 0 0 2px var(--accent); }
.ytile .pill { height:22px; font-size:11.5px; padding:0 8px; align-self:flex-start; max-width:100%; }
.ytile-name { font-weight:680; font-size:14px; display:flex; align-items:baseline; justify-content:space-between; gap:6px; }
.ytile-name small { font-weight:500; font-size:11.5px; color:var(--muted); white-space:nowrap; }
.ytile-line { color:var(--text-2); line-height:1.35; display:flex; flex-direction:column; gap:5px; overflow-wrap:anywhere; }
.ytile-line svg { width:12px; height:12px; vertical-align:-1px; margin-right:4px; }
.ytile .linkbtn { align-self:flex-start; font-size:12px; }
.ytile.is-empty { cursor:default; background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
.ytile.is-empty:hover { background:var(--surface-2); }
.ytile.is-empty .ytile-line { color:var(--muted); flex-direction:row; align-items:center; }
.ytile.is-confirmed .ytile-line { color:var(--ok-text); }
.ygrid { display:grid; grid-template-columns:minmax(0, 1fr) 470px; gap:16px; align-items:start; }
.ycard { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:16px 20px 18px; display:flex; flex-direction:column; gap:12px; min-width:0; scroll-margin-top:16px; }
.ycard-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ycard-head h2 { font-size:17px; font-weight:680; display:flex; align-items:center; gap:10px; }
.ycard-head .spacer { flex:1; }
.ycard-head small { font-size:12px; }
.y-tables { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px; }
.y-table { width:100%; border-collapse:collapse; font-size:13px; }
.y-table th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:4px 6px 6px; border-bottom:1px solid var(--hairline); }
.y-table td { padding:6px 6px; border-bottom:1px solid var(--hairline); vertical-align:top; }
.y-table td small { display:block; color:var(--muted); font-size:11.5px; line-height:1.35; margin-top:1px; }
.y-table .num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.y-table tr.is-total td { font-weight:650; border-bottom-color:var(--border-strong); }
.y-table tr.is-extra td { color:var(--text-2); border-bottom:0; }
.y-table tr.is-extra svg { width:13px; height:13px; vertical-align:-2px; margin-right:5px; color:var(--violet-text); }
.y-table input.y-filed { width:118px; text-align:right; font:inherit; font-variant-numeric:tabular-nums; padding:4px 7px; border:1px solid var(--border-strong); border-radius:7px; background:var(--card); }
.y-diff { color:var(--warn-text); font-weight:650; }
.y-same { color:var(--ok-text); display:inline-grid; }
.y-same svg { width:14px; height:14px; }
.y-filed-form { display:flex; align-items:center; gap:10px; }
.y-filed-form label { display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--text-2); }
.y-filed-form input { width:380px; font:inherit; font-size:13px; padding:6px 9px; border:1px solid var(--border-strong); border-radius:8px; background:var(--card); }
.y-filed-form .spacer { flex:1; }
.y-devs { display:grid; grid-template-columns:repeat(auto-fill, minmax(330px, 1fr)); gap:10px; }
.y-dev { background:var(--surface-2); border-radius:var(--r-md); padding:10px 12px; font-size:12.5px; }
.y-dev-head { display:flex; justify-content:space-between; gap:10px; font-size:13px; margin-bottom:4px; }
.y-dev-head .num { color:var(--warn-text); font-weight:650; font-variant-numeric:tabular-nums; }
.y-dev ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.y-dev li { display:flex; justify-content:space-between; gap:10px; color:var(--text-2); }
.y-dev li .num { font-variant-numeric:tabular-nums; white-space:nowrap; }
.y-dev li.is-rest { color:var(--fail-text); font-weight:600; }
.y-dev li.is-done { color:var(--ok-text); font-weight:600; }
.y-dev li svg { width:12px; height:12px; vertical-align:-1px; margin-right:4px; }
.y-ok { display:flex; align-items:center; gap:8px; color:var(--ok-text); font-size:13px; font-weight:600; }
.y-ok svg { width:15px; height:15px; }
.yclose .checks { margin-top:0; }
.yclose .ck.is-note { color:var(--text-2); }
.y-package { display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding-top:4px; }
.y-package small { color:var(--muted); font-size:12px; }
.pk-list { display:flex; flex-direction:column; gap:6px; padding:2px 0 10px 34px; border-bottom:1px solid var(--hairline); }
.pk-row { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:4px 10px; align-items:center; padding:8px 10px; border-radius:var(--r-md); background:var(--surface-2); font-size:12.5px; }
.pk-row b { font-weight:620; }
.pk-row small { display:block; color:var(--muted); font-size:11.5px; }
.pk-row > .num { font-variant-numeric:tabular-nums; font-weight:620; white-space:nowrap; }
.pk-acts { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.pk-acts .btn.small { --h:28px; padding:0 9px; font-size:12px; }
.pk-acts .linkbtn.quiet { font-size:12px; }
.pk-party { color:var(--text); font-weight:620; text-align:left; }
.pk-kept { color:var(--text-2); font-size:12px; }
.pk-row.is-kept { background:var(--card); box-shadow:inset 0 0 0 1px var(--border); }
.pk-reason { flex:1; min-width:180px; font:inherit; font-size:12.5px; padding:5px 8px; border:1px solid var(--border-strong); border-radius:7px; background:var(--card); }
@media (max-width: 1400px) {
  .ygrid { grid-template-columns:minmax(0, 1fr); }
  .ystrip { grid-template-columns:repeat(6, minmax(0, 1fr)); }
}

/* ---------- „Für den Steuerberater“ (W277; easy to go through, MR 14.10.2026): two groups, choices as buttons, the topic beside the table ---------- */
.wrap.advisor-page { max-width:1880px; gap:14px; }
.advisor-page .head .sub { max-width:900px; }
.head .right.sb-sheet-acts { flex-direction:row; align-items:center; gap:6px; }
.sb-progress { display:flex; align-items:center; gap:12px; font-size:13.5px; }
.sb-progress small { color:var(--muted); font-size:12.5px; }
.sb-progress .spacer { flex:1; }
.sb-bar { width:200px; height:7px; border-radius:var(--r-pill); background:var(--border); overflow:hidden; flex:none; }
.sb-bar > span { display:block; height:100%; border-radius:inherit; background:var(--ok); transition:width .3s ease; }
.sb-keys { font-variant-numeric:tabular-nums; }
.sb-ready { display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:var(--r-card); background:var(--ok-bg); box-shadow:inset 0 0 0 1px var(--ok-border); }
.sb-ready b { display:block; font-weight:660; }
.sb-ready small { color:var(--text-2); font-size:12.5px; }
.sb-ready .spacer { flex:1; }
.sb-ready .mark { width:24px; height:24px; }
.sb-stale { display:flex; gap:10px; align-items:center; padding:10px 14px; border-radius:var(--r-lg); background:var(--warn-bg); color:var(--warn-text); box-shadow:inset 0 0 0 1px var(--warn-border); font-size:13px; }
.sb-stale svg { width:16px; height:16px; flex:none; }
.sb-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:16px; align-items:start; }
.sb-layout.has-pane { grid-template-columns:minmax(0, 1fr) minmax(520px, 700px); }
.sb-list { background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); padding:2px 14px 8px; min-width:0; }
.sb-table { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; }
.sb-table > thead th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:10px 8px 8px; border-bottom:1px solid var(--hairline); }
.sb-table > thead th:nth-child(1) { width:30%; }
.sb-table > thead th:nth-child(3) { width:27%; }
.sb-group > td { padding:18px 8px 8px; border-bottom:1px solid var(--hairline); }
.sb-group:first-child > td { padding-top:12px; }
.sb-group h2 { display:inline; font-size:14px; font-weight:690; }
.sb-group h2 .count { font-size:12px; font-weight:600; color:var(--muted); margin-left:2px; }
.sb-group small { margin-left:10px; color:var(--muted); font-size:12px; }
.sb-row { cursor:pointer; }
.sb-row > td { padding:11px 8px; border-bottom:1px solid var(--hairline); vertical-align:top; transition:background-color .12s ease; }
.sb-row:hover > td { background:var(--surface-2); }
.sb-row.is-selected > td { background:var(--accent-soft); }
.sb-row.is-selected > td:first-child { box-shadow:inset 3px 0 0 var(--accent); }
.sb-topic { display:grid; grid-template-columns:22px minmax(0, 1fr); gap:10px; align-items:start; }
.sb-topic .mark { width:22px; height:22px; margin-top:1px; }
.sb-topic b { font-weight:640; font-size:13.5px; }
.sb-row.is-done .sb-topic b { color:var(--text-2); }
.sb-topic small { display:block; color:var(--muted); font-size:11.5px; line-height:1.4; margin-top:2px; }
.sb-topic .sb-evidence { color:var(--text-2); }
.sb-has-note { display:inline-flex !important; gap:4px; align-items:center; color:var(--accent-text) !important; }
.sb-has-note svg { width:12px; height:12px; }
.sb-opts { display:flex; flex-wrap:wrap; gap:6px; }
.sb-opt { display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:4px 10px; border-radius:8px; border:0; box-shadow:inset 0 0 0 1px var(--border-strong);
  background:var(--card); color:var(--text); font:inherit; font-size:12.5px; font-weight:560; line-height:1.25; text-align:left; cursor:pointer; transition:box-shadow .12s ease, background-color .12s ease, transform .1s ease; }
.sb-opt:hover { box-shadow:inset 0 0 0 1px var(--accent); color:var(--accent-text); }
.sb-opt:active { transform:scale(.97); }
.sb-opt:focus-visible { outline:none; box-shadow:inset 0 0 0 1px var(--accent), var(--ring); }
.sb-opt.is-prov { background:var(--accent-soft); box-shadow:inset 0 0 0 1.5px var(--accent); color:var(--accent-text); }
.sb-opt.is-state { cursor:default; background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); color:var(--text-2); }
.sb-opt.is-state:active { transform:none; }
.sb-opt.is-other { box-shadow:inset 0 0 0 1px var(--border); color:var(--text-2); background:transparent; }
.sb-opt.is-busy, .sb-opt[aria-disabled="true"] { opacity:.55; }
.sb-opt small { color:var(--muted); font-weight:500; font-size:11.5px; }
.sb-tag { font-size:10px; font-weight:680; letter-spacing:.02em; padding:1px 6px; border-radius:var(--r-pill); background:var(--accent); color:#fff; }
.sb-opt.is-state .sb-tag { background:var(--surface-3); color:var(--text-2); }
.sb-opts.is-compact { margin-top:6px; }
.sb-opts.is-compact .sb-opt { min-height:26px; padding:2px 8px; font-size:12px; }
.sb-date { display:flex; gap:6px; align-items:center; margin-top:8px; }
.sb-date input { font:inherit; font-size:12.5px; padding:5px 8px; border:1px solid var(--border-strong); border-radius:7px; background:var(--card); color:var(--text); }
.sb-founded { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; }
.sb-sub { margin-top:8px; display:flex; flex-direction:column; gap:6px; }
.sb-sub > small { color:var(--text-2); font-size:11.5px; }
.sb-partly { display:block; color:var(--muted); font-size:11.5px; margin-top:5px; }
.sb-effect { font-variant-numeric:tabular-nums; }
.sb-effect > span { display:block; font-weight:620; line-height:1.4; }
.sb-effect > span + span { margin-top:2px; }
.sb-effect > span.muted { font-weight:500; }
.sb-effect > small { display:block; color:var(--muted); font-size:11.5px; line-height:1.4; margin-top:4px; }
/* The pane beside the table: the selected topic with its receipts and a preview. */
.sb-pane { position:sticky; top:12px; max-height:calc(100vh - 84px); overflow:auto; overscroll-behavior:contain; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card);
  padding:16px 18px 18px; display:flex; flex-direction:column; gap:12px; min-width:0; }
.sb-p-head { display:flex; gap:10px; align-items:flex-start; }
.sb-p-head > div { flex:1; min-width:0; }
.sb-p-head h2 { font-size:17px; font-weight:690; margin:2px 0 0; text-wrap:balance; }
.sb-p-head small { display:block; color:var(--muted); font-size:12.5px; margin-top:2px; }
.sb-p-group { font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; font-weight:700; color:var(--muted); }
.sb-p-group.is-blocking { color:var(--warn-text); }
.sb-p-nav { display:flex; gap:2px; flex:none; }
.sb-p-nav .btn.small { --h:28px; width:30px; padding:0; font-size:14px; }
.sb-p-state { margin:0; font-size:13px; line-height:1.5; padding:9px 12px; border-radius:var(--r-md); background:var(--surface-2); }
.sb-p-state.is-done { display:flex; gap:8px; align-items:flex-start; background:var(--ok-bg); color:var(--ok-text); }
.sb-p-state.is-done svg { width:15px; height:15px; flex:none; margin-top:2px; }
.sb-p-why { font-size:13px; line-height:1.5; display:flex; flex-direction:column; gap:8px; }
.sb-p-why p { margin:0; }
.sb-conseq { margin:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:8px; font-size:12.5px; }
.sb-conseq div { background:var(--surface-2); border-radius:var(--r-sm); padding:8px 10px; }
.sb-conseq dt { font-weight:640; }
.sb-conseq dd { margin:2px 0 0; color:var(--text-2); }
.sb-p-rel { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.sb-p-rel > small { color:var(--muted); font-size:12px; margin-right:2px; }
.sb-chip { display:inline-flex; align-items:center; min-height:26px; padding:2px 10px; border-radius:var(--r-pill); border:0; background:var(--accent-soft); color:var(--accent-text);
  font:inherit; font-size:12px; font-weight:600; cursor:pointer; text-decoration:none; }
.sb-chip:hover { background:var(--accent-soft-2); }
.sb-p-note { display:flex; flex-direction:column; gap:4px; }
.sb-p-note label { font-size:12px; font-weight:640; color:var(--text-2); }
.sb-p-note label small { color:var(--muted); font-weight:500; }
.sb-p-note textarea { font:inherit; font-size:13px; line-height:1.45; padding:7px 10px; border:1px solid var(--border-strong); border-radius:8px; background:var(--card); color:var(--text); resize:vertical; min-height:38px; }
.sb-p-note textarea:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.sb-note-state { color:var(--muted); font-size:11.5px; }
.sb-p-rhead { display:flex; align-items:baseline; gap:10px; border-top:1px solid var(--hairline); padding-top:12px; }
.sb-p-rhead h3 { font-size:13.5px; font-weight:680; margin:0; flex:1; }
.sb-p-rhead .count { color:var(--muted); font-weight:600; font-size:12px; }
.sb-p-body { display:grid; grid-template-columns:minmax(200px, 250px) minmax(0, 1fr); gap:12px; align-items:start; }
.sb-cases { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; max-height:calc(100vh - 140px); overflow:auto; }
.sb-case { border-radius:var(--r-sm); }
.sb-case.is-shown { background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); }
.sb-c-main { display:flex; flex-direction:column; gap:1px; width:100%; padding:7px 9px; border:0; background:none; border-radius:var(--r-sm); text-align:left; font:inherit; color:inherit; cursor:pointer; }
.sb-case:not(.is-shown) .sb-c-main:hover { background:var(--surface-2); }
.sb-c-top { display:flex; gap:8px; align-items:baseline; }
.sb-c-top b { flex:1; min-width:0; font-size:12.5px; font-weight:620; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sb-c-top .num { font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sb-c-main small { color:var(--muted); font-size:11px; }
.sb-c-state { font-size:11px; color:var(--warn-text); }
.sb-c-state.is-decided { display:inline-flex; gap:4px; align-items:center; color:var(--ok-text); }
.sb-c-state.is-decided svg { width:11px; height:11px; }
.sb-c-state.is-evidence { color:var(--accent-text); font-weight:600; }
.sb-case .sb-c-note, .sb-case .is-fail { display:block; padding:0 9px 6px; font-size:11px; color:var(--text-2); }
.sb-case .is-fail { color:var(--fail-text); }
.sb-case .sb-opts.is-compact { padding:0 9px 8px; margin:0; }
.sb-case.is-decided .sb-c-top b { color:var(--text-2); }
.sb-preview { min-width:0; display:flex; flex-direction:column; gap:8px; }
.sb-pv-head { display:flex; gap:6px; align-items:flex-start; }
.sb-pv-head > div { flex:1; min-width:0; }
.sb-pv-head b { display:block; font-size:13px; font-weight:650; overflow-wrap:anywhere; }
.sb-pv-head small { display:block; color:var(--muted); font-size:11.5px; }
.sb-pv-head .preview-colors { width:32px; padding:0; }
.sb-pv-head .preview-colors span { display:none; }
.sb-pv-page { background:var(--surface-2); border-radius:var(--r-sm); padding:8px; }
.sb-pv-page .doc-page { display:block; width:100%; max-height:none; height:auto; }
.sb-pv-page .doc-empty { padding:40px 0; display:flex; justify-content:center; color:var(--muted); font-size:12.5px; }
.sb-pv-more { margin:0; font-size:11.5px; }
.sb-sheet { display:none; }
.sb-sheet.is-shown { display:block; }
@media (max-width: 1400px) {
  .sb-layout.has-pane { grid-template-columns:minmax(0, 1fr); }
  .sb-pane { position:static; max-height:none; }
}
@media print {
  body:has(.advisor-page) { background:#fff; }
  body:has(.advisor-page) .topbar, body:has(.advisor-page) .offline-banner, body:has(.advisor-page) #toast,
  .advisor-page > .head, .sb-progress, .sb-ready, .sb-stale, .sb-layout { display:none !important; }
  .advisor-page { padding:0; }
  .sb-sheet { display:block !important; border:0; background:none; padding:0; max-height:none; overflow:visible; font-size:11pt; }
}
/* ---------- the booking journal (MR 14.10.2026, W286–W289): a client's year for a review, with marks ---------- */
.year-page .head .right { flex-direction:row; align-items:center; gap:10px; }
body.is-journal { overflow:hidden; }
.app.is-journal { height:100vh; display:grid; grid-template-rows:60px minmax(0, 1fr); }
.journal-page { display:grid; grid-template-rows:auto minmax(0, 1fr); min-height:0; }
.jr-head { display:flex; align-items:center; gap:18px; padding:12px 22px; min-width:0; }
.jr-title { display:flex; flex-direction:column; min-width:0; }
.jr-title h1 { font-size:20px; font-weight:680; white-space:nowrap; }
.jr-title small { font-size:11.5px; color:var(--muted); white-space:nowrap; }
.jr-tabs { display:flex; gap:2px; padding:3px; border-radius:11px; background:var(--surface-3); min-width:0; overflow-x:auto; scrollbar-width:none; }
.jr-tabs button { display:inline-flex; align-items:center; height:30px; padding:0 10px; border:0; border-radius:8px; background:transparent; cursor:pointer; font:inherit; font-weight:600; font-size:13px; color:var(--text-2); white-space:nowrap; }
.jr-tabs button:hover { color:var(--text); }
.jr-tabs button.is-active { background:var(--card); color:var(--text); box-shadow:var(--shadow-sm); }
.jr-tabs button:focus-visible { outline:none; box-shadow:var(--ring); }
.jr-tools { margin-left:auto; display:flex; align-items:center; gap:10px; }
.jr-only { display:inline-flex; align-items:center; gap:7px; height:32px; padding:0 11px; border-radius:8px; background:var(--surface-2); font-size:12.5px; font-weight:600; color:var(--text-2); cursor:pointer; white-space:nowrap; }
.jr-only.is-on { background:var(--accent-soft); color:var(--accent-text); }
.jr-only input { margin:0; accent-color:var(--accent); }
.jr-user { font-size:12.5px; color:var(--muted); white-space:nowrap; }
.jr-user b { color:var(--text-2); font-weight:620; }
.jr-count { display:inline-flex; align-items:center; justify-content:center; gap:3px; min-width:18px; height:18px; padding:0 5px; margin-left:6px; border-radius:var(--r-pill); background:var(--surface-3); color:var(--muted); font-size:10.5px; font-weight:700; font-variant-numeric:tabular-nums; }
.jr-count svg { width:11px; height:11px; }
.jr-count.is-open { background:var(--warn-bg); color:var(--warn-text); }
.jr-tabs button.is-active .jr-count:not(.is-open) { background:var(--surface-2); }
/* The receipt beside the journal is as wide as an A4 page needs to show whole in its height. */
.jr-body { --jr-pv:clamp(460px, calc((100vh - 200px) / 1.414 + 28px), 700px); display:grid; grid-template-columns:minmax(0, 1fr); gap:14px; padding:0 14px 14px; min-height:0; }
.jr-body.has-preview { grid-template-columns:minmax(0, 1fr) var(--jr-pv); }
.jr-list { padding:0 0 24px; outline:none; }
.jr-preview .doc-name b { color:var(--text); font-weight:620; }
.jr-preview .doc-tools .btn svg { width:14px; height:14px; }
.jr-preview .doc-tools .btn.small { --h:28px; padding:0 9px; gap:6px; }
.jr-wait { display:flex; flex-direction:column; align-items:center; gap:10px; padding:18vh 20px; color:var(--muted); text-align:center; font-size:13px; }
.jr-wait b { color:var(--text); font-size:14px; }
.jr-wait span { max-width:520px; }
.jr-print-head { display:none; }
.jr-month { padding:0 8px 18px; }
.jr-month + .jr-month { border-top:1px solid var(--border); }
.jr-month-head { position:sticky; top:0; z-index:3; display:flex; align-items:baseline; gap:12px; height:44px; padding:12px 6px 0; background:color-mix(in srgb, var(--card) 94%, transparent); backdrop-filter:blur(6px); }
.jr-month-head h2 { font-size:16px; font-weight:680; white-space:nowrap; }
.jr-month-head .muted { font-size:12.5px; }
.jr-empty { padding:14px 6px; color:var(--muted); font-size:13px; }
/* The advisor's topics of a whole class of receipts, once under the month's head (W290). */
.jr-topics { display:flex; flex-direction:column; gap:4px; padding:0 6px 8px; }
.jr-topic { display:flex; align-items:center; gap:8px; min-height:32px; padding:2px 4px 2px 8px; border-radius:8px; background:var(--surface-2); font-size:12.5px; color:var(--text-2); }
.jr-topic .jr-tag { margin:0; flex:none; }
.jr-topic-text { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.jr-topic-text b { color:var(--text); font-weight:620; }
.jr-topic-text .num { font-variant-numeric:tabular-nums; }
.jr-topic .btn.small { --h:26px; flex:none; }
.jr-topic.is-on { background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent); }
button.jr-only { border:0; font-family:inherit; }
.jr-topic-off svg { width:12px; height:12px; }
.jr-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:12.5px; }
.jr-table col.w-mk { width:30px; } .jr-table col.w-amt { width:96px; } .jr-table col.w-sh { width:30px; }
.jr-table col.w-acct { width:148px; } .jr-table col.w-acct2 { width:172px; } .jr-table col.w-bu { width:136px; }
.jr-table col.w-dt { width:54px; } .jr-table col.w-bf { width:110px; } .jr-table col.w-hint { width:184px; }
.jr-table thead th { position:sticky; top:44px; z-index:2; background:var(--card); text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:6px 6px 6px; border-bottom:1px solid var(--border); white-space:nowrap; }
.jr-table thead th.r { text-align:right; }
.jr-table td { padding:5px 6px; vertical-align:top; line-height:1.4; }
.jr-table .num { font-variant-numeric:tabular-nums; white-space:nowrap; }
.jr-table .r { text-align:right; }
.jr-table td.sh { color:var(--text-2); font-weight:600; }
.jr-table td.acct, .jr-table td.bu { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jr-table td.acct b, .jr-table td.bu b { font-weight:620; font-variant-numeric:tabular-nums; }
.jr-table td.acct small, .jr-table td.bu small { margin-left:6px; color:var(--muted); font-size:12px; }
.jr-table td.acct.is-none { color:var(--faint); }
.jr-table td.dt { font-variant-numeric:tabular-nums; color:var(--text-2); }
.jr-table td.bf { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text-2); }
.jr-table td.is-same { color:var(--faint); }
.jr-table td.txt span { overflow-wrap:anywhere; }
.jr-table td.txt small { display:block; color:var(--muted); font-size:11.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.jr-table td.hint { line-height:1; padding-top:6px; }
/* A receipt is one group: a line between receipts, a dashed one between the lines of a split booking. */
.jr-rcpt > tr:last-child > td { border-bottom:1px solid var(--hairline); }
.jr-rcpt > tr.is-cont > td { border-top:1px dashed var(--border); }
.jr-rcpt.is-split > tr.jr-line > td.jr-mk { box-shadow:inset 3px 0 0 var(--border-strong); }
.jr-rcpt > tr.jr-line { cursor:pointer; }
.jr-rcpt:hover > tr > td { background:var(--row-hover); }
.jr-rcpt.is-sel > tr > td { background:var(--accent-soft); }
.jr-rcpt.is-sel > tr.is-line > td { background:var(--accent-soft-2); }
.jr-rcpt.is-sel.is-split > tr.jr-line > td.jr-mk { box-shadow:inset 3px 0 0 var(--accent); }
.jr-line.is-parked td.jr-amt, .jr-line.is-parked td.acct b { color:var(--warn-text); }
.jr-line.is-unbooked td { color:var(--muted); }
.jr-line.is-unbooked .jr-amt { text-decoration:line-through; text-decoration-color:var(--faint); }
.jr-line.is-unbooked td.txt span { color:var(--text-2); }
.jr-state { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jr-state .pill, .jr-req-line .pill, .jr-asks .pill { height:20px; padding:0 8px; font-size:11px; }
.jr-reason { margin-left:6px; font-size:12px; }
.jr-tag { display:inline-flex; align-items:center; height:19px; max-width:100%; padding:0 7px; margin:0 4px 4px 0; border-radius:var(--r-pill); background:var(--surface-3); color:var(--text-2); font-size:10.5px; font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jr-tag.warn { background:var(--warn-bg); color:var(--warn-text); }
.jr-tag.info { background:var(--info-bg); color:var(--info-text); }
.jr-tag.ok { background:var(--ok-bg); color:var(--ok-text); }
.jr-tag.violet { background:var(--violet-bg); color:var(--violet-text); }
.jr-mk-btn { display:inline-grid; place-items:center; width:22px; height:22px; margin-top:-2px; border:0; border-radius:6px; background:transparent; color:var(--faint); cursor:pointer; opacity:0; transition:opacity .12s var(--ease); }
.jr-mk-btn svg { width:14px; height:14px; }
.jr-mk-btn:hover { background:var(--hover); color:var(--text); }
.jr-mk-btn:focus-visible { outline:none; box-shadow:var(--ring); opacity:1; }
.jr-rcpt:hover .jr-mk-btn, .jr-rcpt.is-sel .jr-mk-btn { opacity:1; }
.jr-mk-btn.is-open { opacity:1; background:var(--warn-bg); color:var(--warn-text); }
.jr-mk-btn.is-done { opacity:1; background:var(--ok-bg); color:var(--ok-text); }
.jr-note > td, .jr-req > td { padding:0 6px 7px; }
.jr-mark { display:grid; grid-template-columns:16px minmax(0, 1fr) auto auto; gap:10px; align-items:start; padding:8px 10px 8px 12px; border-radius:var(--r-md); background:var(--warn-bg); box-shadow:inset 0 0 0 1px var(--warn-border); font-size:12.5px; cursor:default; }
.jr-mark.is-done { background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
.jr-mark-ico svg { width:15px; height:15px; margin-top:2px; color:var(--warn-text); }
.jr-mark.is-done .jr-mark-ico svg { color:var(--ok-text); }
.jr-mark-body p { margin:0; color:var(--text); line-height:1.45; overflow-wrap:anywhere; }
.jr-mark.is-done .jr-mark-body p { color:var(--text-2); }
.jr-mark-body small { display:block; margin-top:2px; color:var(--muted); font-size:11.5px; }
.jr-flag { display:inline-block; margin-top:3px; margin-right:8px; font-size:11px; font-weight:650; color:var(--fail-text); }
.jr-mark .pill { height:20px; padding:0 8px; font-size:11px; margin-top:1px; }
.jr-mark-acts { display:flex; gap:2px; }
.jr-mark-acts .btn.small, .jr-editor-acts .btn.small, .c-review-marks .btn.small { --h:26px; padding:0 9px; font-size:12px; }
.jr-editor { display:flex; flex-direction:column; gap:6px; padding:8px 10px; border-radius:var(--r-md); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); cursor:default; }
.jr-editor textarea { width:100%; min-height:54px; resize:vertical; font:inherit; font-size:13px; line-height:1.45; padding:7px 9px; border:1px solid var(--border-strong); border-radius:8px; background:var(--card); color:var(--text); }
.jr-editor textarea:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.jr-editor-acts { display:flex; align-items:center; gap:8px; }
.jr-editor-acts small { color:var(--muted); font-size:11.5px; }
.jr-req-line { display:flex; align-items:center; gap:8px; padding:0 2px; font-size:12px; color:var(--text-2); cursor:default; }
.jr-req-text { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.jr-req-line small { color:var(--muted); white-space:nowrap; }
.jr-req-line .linkbtn { font-size:12px; white-space:nowrap; }
/* A client request opens in place (MR 2026-10-15): every question, its state, dates and answer, then its comments. */
.jr-req-toggle { flex:1; min-width:0; display:flex; align-items:center; gap:8px; padding:3px 6px 3px 2px; margin:0; border:0; border-radius:8px; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer; }
.jr-req-toggle:hover { background:var(--surface-2); }
.jr-req-toggle:focus-visible { outline:none; box-shadow:var(--ring); }
.jr-chev { display:inline-flex; flex:none; color:var(--muted); transition:transform .12s; }
.jr-chev svg { width:13px; height:13px; }
.jr-req.is-open .jr-chev { transform:rotate(90deg); }
.jr-req.is-open .jr-req-text { white-space:normal; color:var(--text); }
.jr-req.is-loose .jr-req-text { color:var(--muted); }
.jr-cmt { display:inline-flex; align-items:center; gap:3px; flex:none; height:19px; padding:0 7px; border-radius:var(--r-pill); background:var(--surface-3); color:var(--text-2); font-size:11px; font-weight:650; font-variant-numeric:tabular-nums; }
.jr-cmt.is-open { background:var(--warn-bg); color:var(--warn-text); }
.jr-cmt svg { width:11px; height:11px; }
.jr-req-note { margin:0; color:var(--muted); font-size:12px; }
.jr-req-detail > td { padding:0 6px 9px; }
.jr-req-box { margin-left:22px; padding:9px 12px 10px; border-radius:var(--r-md); background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); font-size:12.5px; cursor:default; display:flex; flex-direction:column; gap:8px; }
.jr-req-qs { margin:0; padding:0 0 0 18px; display:flex; flex-direction:column; gap:4px; color:var(--text); line-height:1.45; }
.jr-req-qs li { overflow-wrap:anywhere; }
.jr-req-qs small { display:block; color:var(--muted); font-size:11.5px; }
.jr-req-facts { margin:0; display:flex; flex-wrap:wrap; gap:4px 18px; }
.jr-req-facts div { display:flex; gap:6px; min-width:0; }
.jr-req-facts dt { color:var(--muted); font-weight:600; }
.jr-req-facts dd { margin:0; color:var(--text-2); overflow-wrap:anywhere; }
.jr-req-elsewhere { margin:0; color:var(--muted); font-size:12px; }
/* A tax-advisor topic's tag opens its explanation below the line (MR 2026-10-15). */
.jr-tag.is-topic { border:0; font:inherit; font-size:10.5px; font-weight:650; cursor:pointer; }
.jr-tag.is-topic:hover, .jr-tag.is-topic.is-open { box-shadow:inset 0 0 0 1px var(--violet); }
.jr-tag.is-topic:focus-visible { outline:none; box-shadow:var(--ring); }
.jr-topic-row > td { padding:0 6px 7px; }
.jr-topic-box { display:flex; align-items:baseline; gap:10px; padding:7px 12px; border-radius:var(--r-md); background:var(--violet-bg); font-size:12.5px; cursor:default; }
.jr-topic-box .jr-tag { flex:none; margin:0; background:var(--card); }
.jr-topic-box p { flex:1; min-width:0; margin:0; color:var(--text); line-height:1.45; }
.jr-topic-box p small { display:block; color:var(--text-2); font-size:11.5px; }
.jr-topic-box .linkbtn { flex:none; font-size:12px; white-space:nowrap; }
/* A request's comment thread, the same in the journal, on the requests page and on the month card (MR 2026-10-15). */
.rc-thread { display:flex; flex-direction:column; gap:6px; min-width:0; }
.rc-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.rc-c { padding:7px 10px 6px; border-radius:var(--r-sm); background:var(--card); box-shadow:inset 3px 0 0 var(--warn), inset 0 0 0 1px var(--border); }
.rc-c.is-resolved { box-shadow:inset 3px 0 0 var(--ok), inset 0 0 0 1px var(--border); }
.rc-c.is-editing { padding:0; box-shadow:none; background:none; }
.rc-meta { display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px; font-size:12px; color:var(--muted); min-width:0; }
.rc-meta b { color:var(--text); font-weight:650; white-space:nowrap; }
.rc-meta .pill { height:18px; padding:0 7px; font-size:10.5px; margin-left:auto; flex:none; }
.rc-c p { margin:3px 0 0; font-size:13px; line-height:1.45; color:var(--text); overflow-wrap:anywhere; }
.rc-c.is-resolved p { color:var(--text-2); }
.rc-acts { display:flex; gap:12px; margin-top:3px; }
.rc-acts .linkbtn, .rc-add { font-size:12px; }
.rc-acts .rc-del { color:var(--muted); }
.rc-acts .rc-del:hover { color:var(--fail-text); }
.rc-add { align-self:flex-start; display:inline-flex; align-items:center; gap:5px; }
.rc-add svg { width:13px; height:13px; }
.rc-compose { display:flex; flex-direction:column; gap:6px; padding:8px 10px; border-radius:var(--r-md); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-border); }
.rc-compose textarea { width:100%; min-height:54px; resize:vertical; font:inherit; font-size:13px; line-height:1.45; padding:7px 9px; border:1px solid var(--border-strong); border-radius:8px; background:var(--card); color:var(--text); }
.rc-compose textarea:focus { outline:none; border-color:var(--accent); box-shadow:var(--ring); }
.rc-compose-acts { display:flex; align-items:center; gap:8px; }
.rc-compose-acts .btn.small { --h:26px; padding:0 9px; font-size:12px; }
.rc-compose-acts small { color:var(--muted); font-size:11.5px; }
.rq-body > .rc-thread { margin-top:4px; }
.rq-gi-thread { grid-column:2 / -1; padding:4px 0 2px; }
.rq-done-acts { display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.rq-done-thread { grid-column:2 / -1; }
.jr-foot { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); gap:14px; padding:16px 0 2px; align-items:start; }
.jr-sums, .jr-asks, .jr-orphans { background:var(--surface-2); border-radius:var(--r-lg); padding:12px 14px; min-width:0; }
.jr-orphans { margin-top:14px; }
.jr-sums h3, .jr-asks h3, .jr-orphans h3 { font-size:13.5px; font-weight:680; margin:0 0 8px; }
.jr-asks h3 small { margin-left:6px; color:var(--muted); font-size:12px; font-weight:500; }
.jr-figs { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px; margin-bottom:10px; }
.jr-figs span { display:flex; flex-direction:column; padding:6px 9px; border-radius:8px; background:var(--card); }
.jr-figs small { font-size:11px; color:var(--muted); }
.jr-figs b { font-size:13px; font-weight:650; font-variant-numeric:tabular-nums; }
.jr-acc { width:100%; border-collapse:collapse; font-size:12px; }
.jr-acc th { text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:650; padding:3px 6px 5px; border-bottom:1px solid var(--border); }
.jr-acc td { padding:3px 6px; border-bottom:1px solid var(--hairline); }
.jr-acc .num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.jr-acc td.acct { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:260px; }
.jr-acc td.acct b { font-weight:620; font-variant-numeric:tabular-nums; }
.jr-acc td.acct small { margin-left:6px; color:var(--muted); font-size:11.5px; }
.jr-acc tr.is-total td { font-weight:650; border-top:1px solid var(--border-strong); border-bottom:0; }
.jr-asks ul { list-style:none; margin:0 0 8px; padding:0; display:flex; flex-direction:column; gap:4px; }
.jr-asks li { display:grid; grid-template-columns:auto minmax(0, max-content) auto minmax(0, 1fr) auto; gap:8px; align-items:center; padding:5px 8px; border-radius:8px; background:var(--card); font-size:12.5px; }
.jr-asks li .num { font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--text-2); }
.jr-ask-who { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; font-weight:620; }
.jr-ask-text { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-2); }
.jr-asks > .linkbtn { font-size:12.5px; }
.jr-year-sums .jr-foot { grid-template-columns:minmax(0, 760px); }
.jr-table.is-plain td { padding:0 0 6px; }
/* The month card and list (W287): a reviewer's marks stand above everything else. */
.c-review-marks { margin-top:14px; padding:11px 14px 12px; border-radius:var(--r-lg); background:var(--warn-bg); box-shadow:inset 0 0 0 1px var(--warn-border); }
.c-review-marks.is-done { background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); }
.crm-head { display:flex; align-items:center; gap:8px; font-size:13px; }
.crm-head svg { width:15px; height:15px; color:var(--warn-text); flex:none; }
.c-review-marks.is-done .crm-head svg { color:var(--ok-text); }
.crm-head .linkbtn { margin-left:auto; font-size:12.5px; }
.c-review-marks ul { list-style:none; margin:8px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.c-review-marks li { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:10px; align-items:start; }
.c-review-marks p { margin:0; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
.c-review-marks li.is-done p { color:var(--text-2); }
.c-review-marks small { display:block; margin-top:2px; color:var(--muted); font-size:11.5px; }
/* The comments on the receipt's client request, on its month card (MR 2026-10-15). */
.c-rq-thread { margin-top:14px; padding:11px 14px 12px; border-radius:var(--r-lg); background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border); display:flex; flex-direction:column; gap:8px; }
.crq-head { display:flex; align-items:center; gap:8px; font-size:13px; }
.crq-head svg { width:15px; height:15px; color:var(--warn-text); flex:none; }
.c-rq-thread.is-done .crq-head svg { color:var(--ok-text); }
.crq-head small { color:var(--muted); font-size:12px; }
.crq-head .linkbtn { margin-left:auto; font-size:12.5px; }
.crq-ask { margin:0; font-size:12.5px; color:var(--text-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row .tag.review { background:var(--warn-bg); color:var(--warn-text); margin-left:0; margin-right:6px; }
.row .tag.review.is-done { background:var(--ok-bg); color:var(--ok-text); }
@media (max-width: 1500px) {
  .jr-title small, .jr-user { display:none; }
  .jr-table col.w-hint { width:150px; } .jr-table col.w-bu { width:120px; } .jr-table col.w-acct2 { width:160px; }
}
/* Printing the journal prints the shown month or year with its marks, landscape, without the controls. */
@page journal { size:A4 landscape; margin:10mm 9mm; }
@media print {
  body.is-journal, .app.is-journal { overflow:visible; height:auto; display:block; background:#fff; }
  body.is-journal .topbar, body.is-journal .offline-banner, body.is-journal #toast,
  .jr-head, .jr-preview, .jr-mark-acts, .jr-editing, .jr-req-line .linkbtn, .jr-asks > .linkbtn,
  .jr-chev, .rc-acts, .rc-add, .rc-compose, .rc-c.is-editing, .jr-topic-box .linkbtn { display:none !important; }
  /* Every request prints with all it says and its comments, also when it is closed on screen. */
  tr.jr-req-detail[hidden] { display:table-row !important; }
  .jr-req-toggle { padding:0; }
  .jr-req-box { margin-left:12px; padding:2px 8px; background:none; box-shadow:none; border-left:2px solid #999; border-radius:0; font-size:7.5pt; gap:2px; }
  .jr-req-qs small, .jr-req-facts dt { font-size:6.5pt; }
  .rc-c, .rc-c.is-resolved { background:none; box-shadow:none; border-left:2px solid #b7791f; border-radius:0; padding:1px 6px; }
  .rc-c.is-resolved { border-left-color:#0e9f6e; }
  .rc-c p, .rc-meta { font-size:7.5pt; }
  .jr-cmt { height:auto; padding:0 4px; font-size:6.5pt; border:1px solid #bbb; background:none !important; color:#333 !important; }
  .jr-cmt svg { width:8px; height:8px; }
  .jr-topic-box { background:none; border:1px solid #ccc; padding:2px 6px; font-size:7.5pt; }
  .journal-page { display:block; page:journal; }
  .jr-body { display:block; padding:0; }
  .jr-list { overflow:visible; box-shadow:none; border-radius:0; background:none; padding:0; }
  .jr-print-head { display:flex; justify-content:space-between; align-items:baseline; gap:20px; font-size:9pt; padding:0 0 6px; margin-bottom:4px; border-bottom:1px solid #888; }
  .jr-print-head b { font-size:12pt; }
  .jr-month { padding:0; }
  .jr-month + .jr-month { border-top:0; break-before:page; }
  .jr-month-head, .jr-table thead th { position:static; background:none; backdrop-filter:none; height:auto; }
  .jr-month-head { padding:6px 0 4px; }
  .jr-table { font-size:7.5pt; }
  .jr-table col.w-mk { width:16px; } .jr-table col.w-amt { width:62px; } .jr-table col.w-sh { width:18px; }
  .jr-table col.w-acct { width:110px; } .jr-table col.w-acct2 { width:130px; } .jr-table col.w-bu { width:100px; }
  .jr-table col.w-dt { width:36px; } .jr-table col.w-bf { width:76px; } .jr-table col.w-hint { width:120px; }
  .jr-table td { padding:2px 3px; }
  .jr-table td.acct small, .jr-table td.bu small { font-size:7pt; }
  .jr-table thead th { font-size:6pt; letter-spacing:0; padding:2px 3px; }
  .jr-print-head span { font-size:8.5pt; }
  .jr-month-head h2 { font-size:11pt; }
  .jr-month-head .muted { font-size:8pt; }
  .jr-topics { padding:0 0 4px; gap:1px; }
  .jr-topic { min-height:0; padding:0; background:none !important; box-shadow:none !important; font-size:7.5pt; }
  .jr-topic .btn { display:none; }
  .jr-topic-text { white-space:normal; }
  .jr-mark, .jr-req-line { font-size:7.5pt; }
  .jr-mark-body small, .jr-req-line small, .jr-table td.txt small { font-size:6.5pt; }
  .jr-mark-ico svg { width:9px; height:9px; margin-top:1px; }
  .jr-tag, .pill, .jr-state .pill, .jr-req-line .pill, .jr-asks .pill, .jr-mark .pill { height:auto; padding:0 4px; font-size:6.5pt; line-height:1.5; }
  .jr-reason { font-size:7pt; }
  .jr-note > td, .jr-req > td { padding:0 3px 3px; }
  .jr-sums h3, .jr-asks h3, .jr-orphans h3 { font-size:9pt; }
  .jr-figs small { font-size:6.5pt; }
  .jr-figs b { font-size:8pt; }
  .jr-acc th { font-size:6pt; padding:1px 4px 2px; }
  .jr-acc td { padding:1px 4px; }
  .jr-req-text, .jr-ask-text { white-space:normal; }
  .jr-rcpt { break-inside:avoid; }
  .jr-rcpt.is-sel > tr > td, .jr-rcpt:hover > tr > td { background:none; }
  .jr-mk-btn { opacity:1; width:14px; height:14px; background:none !important; }
  .jr-mk-btn:not(.is-open):not(.is-done) { visibility:hidden; }
  .jr-mk-btn svg { width:10px; height:10px; }
  .jr-mark, .jr-mark.is-done { background:none; box-shadow:none; border-left:2px solid #b7791f; border-radius:0; padding:1px 8px; grid-template-columns:12px minmax(0, 1fr) auto; }
  .jr-mark.is-done { border-left-color:#0e9f6e; }
  .jr-tag, .pill { border:1px solid #bbb; background:none !important; color:#333 !important; }
  .jr-foot { break-inside:avoid; grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); padding-top:8px; }
  .jr-sums, .jr-asks, .jr-orphans { background:none; border:1px solid #ccc; padding:6px 8px; }
  .jr-figs span, .jr-asks li { background:none; padding:2px 4px; }
  .jr-acc, .jr-asks li { font-size:7.5pt; }
}

@media print {
  body:has(.requests-page) { background:#fff; }
  body:has(.requests-page) .topbar, body:has(.requests-page) .offline-banner, body:has(.requests-page) #toast,
  .requests-page > .head, .rq-list, .rq-letter-head { display:none !important; }
  .requests-page { padding:0; }
  .rq-layout { display:block; }
  .rq-letter { position:static; box-shadow:none; padding:0; }
  .rq-paper { border:0; background:none; padding:0; max-height:none; overflow:visible; font-size:11pt; }
}
