/* Friesen Mandantenablage – one design system for every page.
   Local assets only: system font stack, no web fonts, no CDN. Every colour is a token below,
   so the dark scheme only redefines tokens. Contrast of text tokens on --flaeche: AA or better. */
:root{
  color-scheme:light;
  /* colours */
  --hintergrund:#f4f6f6;
  --flaeche:#ffffff;
  --flaeche-2:#f1f4f4;
  --flaeche-3:#e5ebeb;
  --linie:#d8e0df;
  --linie-stark:#b3c1c0;
  --text:#152120;
  --text-2:#3f4e4d;
  --text-3:#566564;
  --akzent:#1d6a61;
  --akzent-stark:#14514a;
  --akzent-zart:#e2f0ed;
  --akzent-text:#145048;
  --auf-akzent:#ffffff;
  --fokus:#1a56db;
  --erfolg:#17663a;
  --erfolg-zart:#e5f4ea;
  --erfolg-linie:#a9d6b8;
  --warnung:#7a4f00;
  --warnung-zart:#fff4dc;
  --warnung-linie:#ecd08e;
  --gefahr:#b42318;
  --gefahr-stark:#8f1c13;
  --gefahr-zart:#fdeceb;
  --gefahr-linie:#f1bdb7;
  --marke:#1d6a61;
  --schatten-1:0 1px 2px rgb(16 33 32 / .06);
  --schatten-2:0 4px 18px rgb(16 33 32 / .10);
  --schatten-3:0 12px 40px rgb(16 33 32 / .18);
  /* spacing */
  --a-1:.25rem;--a-2:.5rem;--a-3:.75rem;--a-4:1rem;--a-5:1.5rem;--a-6:2rem;--a-7:3rem;
  /* radius */
  --r-1:.375rem;--r-2:.5rem;--r-3:.75rem;--r-rund:999px;
  /* type scale */
  --t-xs:.75rem;--t-s:.875rem;--t-m:1rem;--t-l:1.125rem;--t-xl:1.375rem;--t-2xl:1.75rem;
  --schrift:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --schrift-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --leiste:15rem;
  font-family:var(--schrift);
}
@media (prefers-color-scheme:dark){
  :root{
    color-scheme:dark;
    --hintergrund:#0e1514;
    --flaeche:#151e1d;
    --flaeche-2:#1b2625;
    --flaeche-3:#24302f;
    --linie:#2c3b3a;
    --linie-stark:#466060;
    --text:#e7efee;
    --text-2:#c2cfcd;
    --text-3:#a3b3b1;
    --akzent:#6cc9b9;
    --akzent-stark:#94dccf;
    --akzent-zart:#163a35;
    --akzent-text:#9fe0d4;
    --auf-akzent:#06201c;
    --fokus:#8ab4ff;
    --erfolg:#7fd6a0;
    --erfolg-zart:#12301f;
    --erfolg-linie:#2d6343;
    --warnung:#f2c66d;
    --warnung-zart:#2e2410;
    --warnung-linie:#6b5420;
    --gefahr:#ff9c92;
    --gefahr-stark:#ffc0b9;
    --gefahr-zart:#3a1714;
    --gefahr-linie:#7c2f28;
    --marke:#6cc9b9;
    --schatten-1:0 1px 2px rgb(0 0 0 / .4);
    --schatten-2:0 4px 18px rgb(0 0 0 / .45);
    --schatten-3:0 12px 40px rgb(0 0 0 / .6);
  }
}

/* --- base ------------------------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;background:var(--hintergrund);color:var(--text);font-size:var(--t-m);line-height:1.5}
a{color:var(--akzent-text);text-underline-offset:.18em}
a:hover{color:var(--akzent-stark)}
:focus-visible{outline:3px solid var(--fokus);outline-offset:2px;border-radius:2px}
img,svg{max-width:100%}
code{font-family:var(--schrift-mono);font-size:.9em}
kbd{font-family:var(--schrift);font-size:var(--t-xs)}
h1{margin:0;font-size:var(--t-2xl);line-height:1.2;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}
h2{margin:0 0 var(--a-3);font-size:var(--t-l);line-height:1.3;font-weight:650}
h3{margin:var(--a-4) 0 var(--a-2);font-size:var(--t-m);line-height:1.35;font-weight:650}
p{margin:var(--a-2) 0 var(--a-4)}
small,.klein{font-size:var(--t-s);color:var(--text-3)}
ul,ol{padding-left:1.25rem}
[hidden]{display:none!important}
.sr-nur{position:absolute;left:0;top:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.sprung{position:fixed;left:-100vw;top:var(--a-3);z-index:200;padding:var(--a-3) var(--a-4);border-radius:var(--r-2);background:var(--flaeche);color:var(--akzent-text);box-shadow:var(--schatten-2)}
.sprung:focus{left:var(--a-3)}
.nur-js{display:none}
.js .nur-js{display:revert}

/* --- shell ----------------------------------------------------------------------------------- */
.app-shell{min-height:100vh}
.mit-navigation .app-shell{display:grid;grid-template-columns:var(--leiste) minmax(0,1fr)}
.hauptbereich{min-width:0;display:flex;flex-direction:column}
.seitenleiste{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--a-5);height:100vh;padding:var(--a-4) var(--a-3);border-right:1px solid var(--linie);background:var(--flaeche);overflow-y:auto}
.leistenmarke,.marke{display:flex;align-items:center;gap:var(--a-3);color:var(--text);text-decoration:none;line-height:1.15}
.leistenmarke{padding:var(--a-2)}
.leistenmarke:hover,.marke:hover{color:var(--text)}
.leistenmarke-zeichen,.marke-zeichen{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:var(--r-2);background:var(--marke);color:var(--auf-akzent);font-weight:750;font-size:1.15rem}
.leistenmarke-name,.marke>span:last-child{font-size:var(--t-m);font-weight:700}
.leistenmarke-name small,.marke small{display:block;margin-top:.1rem;color:var(--text-3);font-size:var(--t-xs);font-weight:500}
.hauptnav{display:flex;flex-direction:column;gap:2px}
.nav-gruppe{display:block;margin:var(--a-3) 0 var(--a-1);padding:0 var(--a-3);color:var(--text-3);font-size:var(--t-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.nav-gruppe:first-child{margin-top:0}
.nav-link{position:relative;display:flex;align-items:center;gap:var(--a-3);min-height:2.5rem;padding:var(--a-2) var(--a-3);border-radius:var(--r-2);color:var(--text-2);font-size:var(--t-s);font-weight:550;text-decoration:none}
.nav-link svg,.leiste-abmelden svg,.menue-knopf svg,.kopf-suche svg{flex:none;width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.nav-link:hover{background:var(--flaeche-2);color:var(--text)}
.nav-link[aria-current="page"]{background:var(--akzent-zart);color:var(--akzent-text);font-weight:650}
.nav-link[aria-current="page"]::before{content:"";position:absolute;left:-.75rem;top:.45rem;bottom:.45rem;width:3px;border-radius:0 3px 3px 0;background:var(--akzent)}
.leiste-unten{margin-top:auto;padding-top:var(--a-3);border-top:1px solid var(--linie)}
.leiste-unten form{margin:0}
.leiste-abmelden{display:flex;align-items:center;gap:var(--a-3);width:100%;min-height:2.5rem;padding:var(--a-2) var(--a-3);border:0;border-radius:var(--r-2);background:transparent;color:var(--text-2);font:inherit;font-size:var(--t-s);font-weight:550;text-align:left;cursor:pointer;box-shadow:none}
.leiste-abmelden:hover{background:var(--flaeche-2);color:var(--text)}
.kopf{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--a-4);min-height:3.75rem;padding:var(--a-2) clamp(var(--a-4),2.5vw,var(--a-6));border-bottom:1px solid var(--linie);background:var(--flaeche)}
.mit-navigation .kopf .marke{display:none}
.menue-knopf{display:none}
.kopf-konto{display:flex;align-items:center;gap:var(--a-2);min-width:0;margin-left:auto}
.konto-avatar{display:grid;place-items:center;flex:none;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--akzent-zart);color:var(--akzent-text);font-size:var(--t-s);font-weight:700}
.konto-text{display:flex;flex-direction:column;max-width:12rem;line-height:1.2}
.konto-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-s)}
.konto-text small{font-size:var(--t-xs)}
#inhalt{width:min(100%,92rem);margin:0 auto;padding:var(--a-5) clamp(var(--a-4),2.5vw,var(--a-6)) var(--a-7)}
#inhalt:focus{outline:none}
.seitenkopf{margin:0 0 var(--a-5)}
.testdaten{margin:var(--a-3) clamp(var(--a-4),2.5vw,var(--a-6)) 0;padding:var(--a-2) var(--a-3);border:1px solid var(--warnung-linie);border-radius:var(--r-2);background:var(--warnung-zart);color:var(--warnung);font-size:var(--t-s)}
#inhalt .testdaten{margin:var(--a-3) 0}

/* --- global search in the header -------------------------------------------------------------- */
.kopf-suche{position:relative;display:flex;align-items:center;flex:1 1 28rem;max-width:36rem;margin:0}
.kopf-suche>svg{position:absolute;left:.7rem;color:var(--text-3);pointer-events:none}
.kopf-suche input[type="search"]{width:100%;min-height:2.4rem;padding:.4rem 4.2rem .4rem 2.3rem;border-radius:var(--r-2);background:var(--flaeche-2)}
.kopf-suche input[type="search"]:focus{background:var(--flaeche)}
.kopf-suche-taste{position:absolute;right:.5rem;padding:.1rem .4rem;border:1px solid var(--linie);border-radius:var(--r-1);background:var(--flaeche);color:var(--text-3);pointer-events:none}
.suche-liste{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:60;max-height:min(70vh,32rem);overflow-y:auto;padding:var(--a-2);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche);box-shadow:var(--schatten-3)}
.suche-gruppe{margin:var(--a-2) var(--a-2) var(--a-1);color:var(--text-3);font-size:var(--t-xs);font-weight:650;letter-spacing:.05em;text-transform:uppercase}
.suche-gruppe:first-child{margin-top:0}
.suche-treffer{display:flex;flex-direction:column;gap:.1rem;padding:var(--a-2) var(--a-3);border-radius:var(--r-2);color:var(--text);text-decoration:none;cursor:pointer}
.suche-treffer strong{font-size:var(--t-s);font-weight:600;overflow-wrap:anywhere}
.suche-treffer small{font-size:var(--t-xs)}
.suche-treffer:hover,.suche-treffer[aria-selected="true"]{background:var(--akzent-zart);color:var(--akzent-text)}
.suche-hinweis{margin:0;padding:var(--a-3);color:var(--text-3);font-size:var(--t-s)}
.suche-alle{display:block;margin-top:var(--a-1);padding:var(--a-2) var(--a-3);border-top:1px solid var(--linie);font-size:var(--t-s);font-weight:600}

/* --- messages: toast for confirmations, inline for errors and notes ----------------------------- */
.meldung,.fehler,.hinweis{margin:0 0 var(--a-4);padding:var(--a-3) var(--a-4);border:1px solid;border-radius:var(--r-2);line-height:1.45}
.meldung{border-color:var(--erfolg-linie);background:var(--erfolg-zart);color:var(--erfolg)}
.fehler{border-color:var(--gefahr-linie);background:var(--gefahr-zart);color:var(--gefahr)}
.hinweis{border-color:var(--warnung-linie);background:var(--warnung-zart);color:var(--warnung)}
.hinweis a,.meldung a,.fehler a{color:inherit;font-weight:650}
.hinweis p:last-child,.fehler p:last-child,.meldung p:last-child{margin-bottom:0}
.fehler ul{margin:.3rem 0 0}
.meldung form.inline{margin-left:var(--a-2)}
.meldung form.inline button{min-height:2rem;padding:.2rem .7rem;border-color:var(--erfolg);background:var(--flaeche);color:var(--erfolg);box-shadow:none}
.js .toast-bereich{position:fixed;right:var(--a-5);bottom:var(--a-5);z-index:90;display:grid;gap:var(--a-2);width:min(26rem,calc(100vw - 2rem))}
.js .toast-bereich .meldung{display:flex;align-items:flex-start;gap:var(--a-3);margin:0;padding:var(--a-3) var(--a-3) var(--a-3) var(--a-4);box-shadow:var(--schatten-3);animation:toast-ein .18s ease-out}
.toast-schliessen{flex:none;margin-left:auto;min-height:1.8rem;width:1.8rem;padding:0;border:0;border-radius:var(--r-1);background:transparent;color:inherit;font-size:1.2rem;line-height:1;box-shadow:none}
.toast-schliessen:hover{background:var(--flaeche-3);color:inherit}
@keyframes toast-ein{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}

/* --- controls ---------------------------------------------------------------------------------- */
button,.knopf{display:inline-flex;align-items:center;justify-content:center;gap:var(--a-2);min-height:2.5rem;max-width:100%;padding:.45rem 1rem;border:1px solid var(--akzent);border-radius:var(--r-2);background:var(--akzent);color:var(--auf-akzent);font:inherit;font-size:var(--t-s);font-weight:600;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;box-shadow:var(--schatten-1);transition:background-color .12s,border-color .12s}
button:hover,.knopf:hover{border-color:var(--akzent-stark);background:var(--akzent-stark);color:var(--auf-akzent)}
button:disabled,button[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
button.zweitrangig,.knopf.zweitrangig,.knopf-zweit{border-color:var(--linie-stark);background:var(--flaeche);color:var(--text);box-shadow:none}
button.zweitrangig:hover,.knopf.zweitrangig:hover,.knopf-zweit:hover{border-color:var(--akzent);background:var(--akzent-zart);color:var(--akzent-text)}
button.gefahr{border-color:var(--gefahr);background:var(--gefahr);color:#fff}
button.gefahr:hover{border-color:var(--gefahr-stark);background:var(--gefahr-stark)}
@media (prefers-color-scheme:dark){button.gefahr{color:#2a0d0a}}
button.klein,.knopf.klein,.knopf-zweit.klein{min-height:2rem;padding:.25rem .65rem;font-size:var(--t-xs)}
button.laedt{position:relative;color:transparent!important}
button.laedt::after{content:"";position:absolute;inset:0;margin:auto;width:1rem;height:1rem;border:2px solid var(--auf-akzent);border-right-color:transparent;border-radius:50%;animation:drehen .7s linear infinite}
button.zweitrangig.laedt::after{border-color:var(--akzent);border-right-color:transparent}
@keyframes drehen{to{transform:rotate(360deg)}}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),select,textarea{min-height:2.5rem;max-width:100%;padding:.45rem .65rem;border:1px solid var(--linie-stark);border-radius:var(--r-2);background:var(--flaeche);color:var(--text);font:inherit;font-size:var(--t-s)}
input::placeholder,textarea::placeholder{color:var(--text-3);opacity:1}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--fokus);outline-offset:1px;border-color:var(--akzent)}
input[type="checkbox"],input[type="radio"]{width:1.1rem;height:1.1rem;accent-color:var(--akzent);vertical-align:middle}
textarea{width:min(100%,32rem);min-height:6rem;resize:vertical}
label{font-weight:550}
.formular p{margin:0 0 var(--a-4)}
.formular p:last-child{margin-bottom:0}
.formular label{display:inline-block;margin-bottom:.3rem}
.formular input:not([type="hidden"]):not([type="checkbox"]),.formular select{width:min(100%,28rem)}
.formular small{display:inline-block;max-width:36rem;margin-top:.3rem;line-height:1.4}
fieldset{min-width:0;margin:var(--a-4) 0;padding:var(--a-4);border:1px solid var(--linie);border-radius:var(--r-3)}
legend{padding:0 var(--a-2);font-weight:650}
.auswahl{list-style:none;padding:0;margin:var(--a-2) 0;columns:18rem auto}
.auswahl li{padding:.2rem 0;break-inside:avoid}
.auswahl label{cursor:pointer;font-weight:450}
details>summary{cursor:pointer}
.schluessel,.startpasswort{display:inline-block;max-width:100%;padding:.15rem .4rem;border-radius:var(--r-1);background:var(--flaeche-2);word-break:break-all}
.schluessel{font-size:var(--t-m);letter-spacing:.03em}
.startpasswort{font-size:1.3rem;letter-spacing:.05em}
.grund{color:var(--text-3)}
.warnung{color:var(--warnung);font-weight:650}
.schritte li{margin:.35rem 0}

/* --- cards: standalone sections of a plain page --------------------------------------------- */
section{min-width:0;margin:var(--a-5) 0}
.karte,
.mit-navigation #inhalt>section,
.mit-navigation #inhalt>.tabelle,
.mit-navigation #inhalt>form:not(.inline):not(.aktion):not(.abbrechen):not(.filter):not(.suche-seite-form){min-width:0;padding:var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche);box-shadow:var(--schatten-1)}
.mit-navigation #inhalt>section{overflow-x:auto}
.mit-navigation #inhalt>section:first-child,.mit-navigation #inhalt>.seitenkopf+section{margin-top:0}
.mit-navigation #inhalt>form.aktion{max-width:52rem;padding:var(--a-4) var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.karte>h2:first-child,.karte>.abschnitt-kopf:first-child{margin-top:0}
.abschnitt-kopf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a-2) var(--a-4);margin:0 0 var(--a-4)}
.abschnitt-kopf h2{margin:0}
.abschnitt-kopf a{font-size:var(--t-s);font-weight:600;text-decoration:none}
.abschnitt-kopf a:hover{text-decoration:underline}
.zaehler{display:inline-flex;align-items:center;min-height:1.4rem;padding:0 .5rem;border-radius:var(--r-rund);background:var(--flaeche-3);color:var(--text-2);font-size:var(--t-xs);font-weight:650;white-space:nowrap}
.bereich-label,.dashboard-eyebrow,.abrechnung-eyebrow,.mcp-aktion-kicker{margin:0 0 .2rem;color:var(--text-3);font-size:var(--t-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.aktion{margin:var(--a-4) 0;padding:var(--a-3) 0;border-top:1px solid var(--linie)}
.aktion p{margin:.2rem 0 var(--a-3)}
.abbrechen{margin-top:var(--a-5)}
form.inline{display:inline;margin-left:var(--a-2)}
.leer-zustand{display:grid;justify-items:center;gap:var(--a-2);padding:var(--a-6) var(--a-4);border:1px dashed var(--linie-stark);border-radius:var(--r-3);color:var(--text-3);text-align:center}
.leer-zustand strong{color:var(--text-2)}
.leer-zustand p{margin:0}

/* --- tables ------------------------------------------------------------------------------------ */
.tabelle{max-width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:var(--t-s)}
th,td{padding:var(--a-2) var(--a-3);border-bottom:1px solid var(--linie);text-align:left;vertical-align:top}
thead th{background:var(--flaeche-2);color:var(--text-2);font-size:var(--t-xs);font-weight:650;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
tbody tr:hover>*{background:var(--flaeche-2)}
tbody tr:last-child>*{border-bottom:0}
td a{font-weight:550}
.monate td,.monate th[scope="col"]{text-align:center}
.monate td a{display:inline-block;min-width:2rem;padding:.1rem .35rem;border-radius:var(--r-1);background:var(--akzent-zart);color:var(--akzent-text);font-weight:650;text-decoration:none}
.monate td a:hover{background:var(--akzent);color:var(--auf-akzent)}
.monate .leer{color:var(--text-3)}
.filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--a-3) var(--a-4);margin:0 0 var(--a-4);padding:var(--a-4);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.filter p{flex:0 1 14rem;min-width:0;margin:0}
.filter label{font-size:var(--t-xs);color:var(--text-3)}
.filter select,.filter input{display:block;width:100%}
.seiten{display:flex;flex-wrap:wrap;gap:var(--a-2);margin:var(--a-3) 0 0;padding-top:var(--a-3);border-top:1px solid var(--linie);font-size:var(--t-s)}

/* --- login and other pages without navigation ------------------------------------------------- */
.ohne-navigation .kopf{position:static;justify-content:center;border:0;background:transparent}
.ohne-navigation .kopf .marke{display:flex}
.ohne-navigation #inhalt{max-width:30rem;padding-top:var(--a-5)}
.ohne-navigation .seitenkopf{text-align:center}
.ohne-navigation #inhalt>.formular,.ohne-navigation #inhalt>section,.ohne-navigation #inhalt>.tabelle{padding:var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche);box-shadow:var(--schatten-2)}
.ohne-navigation #inhalt>.formular input:not([type="hidden"]):not([type="checkbox"]){width:100%}
.ohne-navigation #inhalt>.formular button{width:100%}
.ohne-navigation .testdaten{max-width:30rem;margin-left:auto;margin-right:auto}
.kopplung{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a-4) var(--a-6);margin:var(--a-3) 0}
.kopplung svg{display:block;flex:0 0 auto;max-width:100%;height:auto;background:#fff;padding:.5rem;border-radius:var(--r-2)}
.kopplung-schluessel{flex:1 1 12rem;min-width:0;margin:0}

/* --- overview (dashboard) ---------------------------------------------------------------------- */
.dashboard{display:grid;gap:var(--a-4)}
.dash-kopf{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--a-2) var(--a-5)}
.dash-kennzahlen{display:flex;flex-wrap:wrap;gap:var(--a-2) var(--a-5);margin:0;padding:0;list-style:none;color:var(--text-2);font-size:var(--t-s)}
.dash-kennzahlen strong{color:var(--text);font-size:var(--t-l);font-variant-numeric:tabular-nums}
.dash-raster{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--a-4);align-items:start}
.dash-raster>*{margin:0}
.dash-zeit{grid-column:span 8}
.dash-ki{grid-column:span 4}
.dash-mandanten{grid-column:span 4}
.dash-uploads{grid-column:span 4}
.dash-fristen{grid-column:span 4}
.dash-monate{grid-column:1/-1}
.dash-raster:not(:has(.dash-ki)) .dash-zeit{grid-column:1/-1}
.dash-liste{display:grid;margin:0;padding:0;list-style:none}
.dash-liste>li{display:flex;flex-direction:column;gap:.1rem;min-width:0;padding:var(--a-2) 0;border-bottom:1px solid var(--linie)}
.dash-liste>li:last-child{border-bottom:0}
.dash-liste a{font-weight:600;overflow-wrap:anywhere;text-decoration:none}
.dash-liste a:hover{text-decoration:underline}
.dash-liste small{overflow-wrap:anywhere;font-size:var(--t-xs)}
.dash-zeile{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 var(--a-3)}
.dash-zeile time{flex:none;color:var(--text-3);font-size:var(--t-xs);font-variant-numeric:tabular-nums}
.dash-leer{color:var(--text-3);font-size:var(--t-s)}
.dash-mandant{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:var(--a-3);padding:var(--a-2);margin:0 calc(-1 * var(--a-2));border-radius:var(--r-2);color:var(--text);text-decoration:none}
.dash-mandant:hover{background:var(--flaeche-2);color:var(--text)}
.dash-mandant strong{display:block;font-size:var(--t-s);font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.dash-mandant small{display:block;font-size:var(--t-xs)}
.dash-liste>li.dash-mandant-eintrag{padding:0;border:0}
.avatar{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text);font-size:var(--t-xs);font-weight:700}
.dash-zeit .abschnitt-kopf{margin-bottom:var(--a-3)}
.zeit-status-ruhe{margin:0 0 var(--a-3);color:var(--text-3);font-size:var(--t-s)}
.zeit-laeuft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a-3) var(--a-5)}
.zeit-laeuft-text{min-width:0}
.zeit-laeuft-text strong{display:block;font-size:var(--t-l);overflow-wrap:anywhere}
.zeit-laeuft-text p{margin:.1rem 0 0;color:var(--text-2);font-size:var(--t-s)}
.zeit-laeuft .zeit-uhr{font-size:2.25rem}
.zeit-laeuft .zeit-form--stop{margin:0}
.zeit-punkt{display:inline-block;flex:none;width:.6rem;height:.6rem;margin-right:.4rem;border-radius:50%;background:var(--erfolg);box-shadow:0 0 0 .2rem var(--erfolg-zart);vertical-align:.1em}
.zeit-status-aktiv{display:flex;align-items:flex-start;gap:var(--a-2);min-width:0;padding:var(--a-3);border:1px solid var(--erfolg-linie);border-radius:var(--r-2);background:var(--erfolg-zart)}
.zeit-status-aktiv .zeit-punkt{margin-top:.45rem}
.zeit-status-aktiv p{margin:.1rem 0;font-weight:600;overflow-wrap:anywhere}
.zeit-taetigkeit{margin:.1rem 0;color:var(--text-2);font-size:var(--t-s);font-weight:550;overflow-wrap:anywhere}
.zeit-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--a-2) var(--a-3);min-width:0;margin:0}
.zeit-form label{color:var(--text-2);font-size:var(--t-xs);font-weight:600}
.zeit-form select,.zeit-form input{width:100%;min-width:0}
.zeit-form button{white-space:nowrap}
.zeit-form.zeit-form--start{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}
.zeit-form--start .zeit-feld--notiz{grid-column:1/-2;grid-row:2}
.zeit-feld{display:grid;gap:.25rem;min-width:0}
.zeit-feld[hidden]{display:none}
.zeit-form--stop{display:block}
.dash-ki .dash-liste a{font-weight:600}

/* --- client directory -------------------------------------------------------------------------- */
.mandanten-verzeichnis{display:grid;gap:var(--a-4)}
.mandanten-verzeichnis section{margin:0}
.mandanten-verzeichnis-kopf{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--a-3) var(--a-5)}
.mandanten-verzeichnis-kopf p:last-child{margin:.25rem 0 0;color:var(--text-2);font-size:var(--t-s)}
.mandanten-verzeichnis-werkzeuge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a-3)}
.mandanten-verzeichnis-suche{position:relative;display:flex;align-items:center;flex:1 1 20rem;max-width:30rem;margin:0}
.mandanten-verzeichnis-suche>span[aria-hidden]{position:absolute;left:.75rem;color:var(--text-3)}
.mandanten-verzeichnis-suche input{width:100%;padding-left:2.2rem!important}
.mandanten-verzeichnis-kennzahlen{display:flex;flex-wrap:wrap;gap:var(--a-2) var(--a-5);margin:0;color:var(--text-2);font-size:var(--t-s)}
.mandanten-verzeichnis-kpi{display:flex;align-items:center;gap:var(--a-2)}
.mandanten-verzeichnis-kpi>span:last-child{display:flex;align-items:baseline;gap:.4rem}
.mandanten-verzeichnis-kpi strong{order:-1;color:var(--text);font-size:var(--t-l);font-variant-numeric:tabular-nums}
.mandanten-verzeichnis-kpi-icon{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text)}
.mandanten-verzeichnis-kpi-icon svg{width:1.1rem;height:1.1rem;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mandanten-verzeichnis-panel{padding:0!important;overflow:hidden}
.mandanten-verzeichnis-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--a-3);padding:var(--a-3) var(--a-4);border-bottom:1px solid var(--linie)}
.mandanten-verzeichnis-toolbar h2{margin:0;font-size:var(--t-m)}
.mandanten-verzeichnis-toolbar>span{color:var(--text-3);font-size:var(--t-s)}
.mandanten-verzeichnis-scroll{max-width:100%;container-type:inline-size}
.mandanten-verzeichnis-tabelle th,.mandanten-verzeichnis-tabelle td{padding:var(--a-3) var(--a-4);vertical-align:middle}
.mandanten-verzeichnis-tabelle tbody th{font-size:var(--t-s);font-weight:inherit;text-transform:none;letter-spacing:normal;background:transparent}
.mandanten-verzeichnis-identitaet{display:flex;align-items:center;gap:var(--a-3);min-width:0}
.mandanten-verzeichnis-identitaet>span:last-child{min-width:0}
.mandanten-verzeichnis-avatar{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text);font-size:var(--t-xs);font-weight:700}
.mandanten-verzeichnis-name{display:block;color:var(--text);font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.mandanten-verzeichnis-notiz{display:block;max-width:34rem;margin-top:.1rem;overflow:hidden;color:var(--text-3);font-size:var(--t-xs);text-overflow:ellipsis;white-space:nowrap}
.mandanten-verzeichnis-tabelle td{color:var(--text-2);font-variant-numeric:tabular-nums}
.mandanten-verzeichnis-tabelle td time{white-space:nowrap}
.mandanten-verzeichnis-pfeil{width:2rem;color:var(--text-3);font-size:1.2rem;text-align:right}
.mandanten-verzeichnis-leer{padding:var(--a-6)!important;color:var(--text-3);text-align:center!important}
.mandanten-verzeichnis-fuss{margin:0;padding:var(--a-3) var(--a-4);border-top:1px solid var(--linie);color:var(--text-3);font-size:var(--t-s)}
/* a whole row is one link: the name link stretches over the row (one tab stop, real <a>) */
.zeile-link{position:relative;cursor:pointer}
.zeile-ziel::after{content:"";position:absolute;inset:0;z-index:1}
.zeile-ziel:focus-visible{outline:none}
.zeile-link:focus-within>*{background:var(--akzent-zart)}
.zeile-link:focus-within{outline:3px solid var(--fokus);outline-offset:-3px}
.zeile-link:hover .mandanten-verzeichnis-name{color:var(--akzent-text);text-decoration:underline}
.zeile-link:hover .mandanten-verzeichnis-pfeil{color:var(--akzent-text)}
@container (max-width:44rem){
  .mandanten-verzeichnis-tabelle thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .mandanten-verzeichnis-tabelle,.mandanten-verzeichnis-tabelle tbody{display:block}
  .mandanten-verzeichnis-tabelle tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.5rem;gap:var(--a-1) var(--a-3);padding:var(--a-3) var(--a-4);border-bottom:1px solid var(--linie)}
  .mandanten-verzeichnis-tabelle tr:last-child{border-bottom:0}
  .mandanten-verzeichnis-tabelle th,.mandanten-verzeichnis-tabelle td{display:block;padding:0;border:0;background:transparent!important;font-size:var(--t-xs)}
  .mandanten-verzeichnis-tabelle th[scope="row"]{grid-column:1/-2;padding-bottom:var(--a-1)}
  .mandanten-verzeichnis-tabelle th[scope="row"] .mandanten-verzeichnis-name{font-size:var(--t-s)}
  .mandanten-verzeichnis-tabelle .mandanten-verzeichnis-pfeil{grid-column:-2;grid-row:1;align-self:center}
  .mandanten-verzeichnis-tabelle td[data-spalte]::before{content:attr(data-spalte);display:block;color:var(--text-3);font-weight:600}
  .mandanten-verzeichnis-tabelle td.mandanten-verzeichnis-leer{grid-column:1/-1}
  .mandanten-verzeichnis-notiz{white-space:normal}
}

/* --- client file ("Akte") ---------------------------------------------------------------------- */
.akte{display:grid;gap:var(--a-4)}
.akte section{margin:0}
.akte-kopf{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--a-3) var(--a-5)}
.akte-titel{min-width:0;flex:1 1 28rem}
.mandant-zurueck{display:flex;align-items:center;gap:var(--a-2);margin:0 0 var(--a-1);color:var(--text-3);font-size:var(--t-s)}
.mandant-zurueck a{text-decoration:none;font-weight:550}
.mandant-zurueck a:hover{text-decoration:underline}
.mandant-zurueck span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.akte-meta{display:flex;flex-wrap:wrap;gap:var(--a-1) var(--a-4);margin:var(--a-1) 0 0;padding:0;list-style:none;color:var(--text-2);font-size:var(--t-s)}
.akte-meta strong{color:var(--text);font-variant-numeric:tabular-nums}
.mandant-nummer{margin:0}
.mandant-notiz{max-width:60rem;margin:var(--a-2) 0 0;color:var(--text-2);font-size:var(--t-s);overflow-wrap:anywhere}
.mandant-notiz:empty{display:none}
.mandant-verwaltung{display:flex;flex-wrap:wrap;gap:var(--a-1) var(--a-4);margin:var(--a-2) 0 0;font-size:var(--t-s)}
.ki-sperre-hinweis{display:inline-block;margin:var(--a-2) 0 0;padding:.1rem .5rem;border-radius:var(--r-rund);background:var(--warnung-zart);color:var(--warnung);font-size:var(--t-xs);font-weight:600}
.mandant-upload{flex:none;min-width:0}
.mandant-upload>summary{display:inline-flex;align-items:center;gap:var(--a-2);min-height:2.5rem;padding:.45rem 1rem;border-radius:var(--r-2);background:var(--akzent);color:var(--auf-akzent);font-size:var(--t-s);font-weight:600;list-style:none;box-shadow:var(--schatten-1)}
.mandant-upload>summary::-webkit-details-marker{display:none}
.mandant-upload>summary:hover{background:var(--akzent-stark)}
.mandant-upload[open]{flex-basis:100%}
.mandant-upload[open]>summary{margin-bottom:var(--a-3)}
.mandant-upload section{padding:var(--a-4) var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.mandant-upload section h2{margin-top:0}
.mandant-tabs{display:flex;flex-wrap:wrap;gap:0 var(--a-5);margin:0;border-bottom:1px solid var(--linie)}
.mandant-tabs a{display:inline-flex;align-items:center;min-height:2.6rem;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--text-2);font-size:var(--t-s);font-weight:550;text-decoration:none}
.mandant-tabs a:hover{color:var(--text);border-color:var(--linie-stark)}
.mandant-tabs a[aria-current="page"]{border-color:var(--akzent);color:var(--akzent-text);font-weight:650}
.akte-arbeitsbereich{display:grid;grid-template-columns:14.5rem minmax(0,1fr);align-items:start;gap:var(--a-4)}
.akte-navigator{position:sticky;top:4.5rem;max-height:calc(100vh - 5.5rem);overflow-y:auto;padding:var(--a-3);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.akte-navigator h2{margin:var(--a-1) var(--a-2) var(--a-2);color:var(--text-3);font-size:var(--t-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.akte-navigator-mobil{display:none}
.navi-link,.baum summary,.baum a{display:flex;align-items:center;justify-content:space-between;gap:var(--a-2);min-height:2.1rem;padding:.25rem var(--a-2);border-radius:var(--r-1);color:var(--text-2);font-size:var(--t-s);text-decoration:none}
.navi-link{font-weight:600;color:var(--text)}
.navi-link:hover,.baum a:hover,.baum summary:hover{background:var(--flaeche-2);color:var(--text)}
.navi-link[aria-current="page"],.baum a[aria-current="page"]{background:var(--akzent-zart);color:var(--akzent-text);font-weight:650}
.baum a[aria-current="true"]{color:var(--akzent-text);font-weight:650}
.baum,.baum ul{margin:0;padding:0;list-style:none}
.baum{margin-top:var(--a-2)}
.baum ul{padding-left:var(--a-3)}
.baum summary{font-weight:650;color:var(--text);list-style:none}
.baum summary::-webkit-details-marker{display:none}
.baum summary>span:first-child::before{content:"";display:inline-block;width:.45rem;height:.45rem;margin:0 .5rem .12rem .1rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .12s}
.baum details[open]>summary>span:first-child::before{transform:rotate(45deg)}
.baum li.baum-leer>a{color:var(--text-3)}
.baum-anzahl{display:inline-grid;place-items:center;flex:none;min-width:1.5rem;height:1.25rem;padding:0 .35rem;border-radius:var(--r-rund);background:var(--flaeche-3);color:var(--text-2);font-size:var(--t-xs);font-weight:600;font-variant-numeric:tabular-nums}
.baum li.baum-leer .baum-anzahl{opacity:.7}
.akte-inhalt{display:grid;gap:var(--a-4);min-width:0}
.akte-kategorien{padding:var(--a-4) var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.akte-kategorien .abschnitt-kopf{margin-bottom:var(--a-3)}
.kategorie-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--a-2);margin:0;padding:0;list-style:none}
.kachel{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--a-1);min-height:4.25rem;padding:var(--a-2) var(--a-3);border:1px solid var(--linie);border-radius:var(--r-2);background:var(--flaeche);color:var(--text);text-decoration:none;transition:border-color .12s,background-color .12s,box-shadow .12s}
.kachel:hover{border-color:var(--akzent);background:var(--akzent-zart);color:var(--text)}
.kachel[aria-current="page"]{border-color:var(--akzent);background:var(--akzent-zart);box-shadow:inset 0 0 0 1px var(--akzent)}
.kachel-name{display:flex;align-items:flex-start;gap:var(--a-2);font-size:var(--t-s);font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.kachel-name svg{flex:none;width:1.05rem;height:1.05rem;margin-top:.05rem;fill:none;stroke:var(--akzent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kachel-anzahl{color:var(--text-3);font-size:var(--t-xs);font-variant-numeric:tabular-nums}
.kachel-leer .kachel-name{color:var(--text-3);font-weight:550}
.kachel-leer .kachel-name svg{stroke:var(--text-3)}
.kachel-eigen .kachel-anzahl::after{content:" · eigener Ordner"}
.kachel-ablage{display:none;position:absolute;inset:0;place-items:center;border-radius:inherit;background:var(--akzent);color:var(--auf-akzent);font-size:var(--t-s);font-weight:650}
.ziehen-aktiv .kachel{border-style:dashed;border-color:var(--akzent)}
.ziehen-aktiv .kachel.ziel-ueber{border-style:solid;box-shadow:0 0 0 3px var(--akzent)}
.ziehen-aktiv .kachel.ziel-ueber .kachel-ablage{display:grid}
.akte-tipp{margin:var(--a-3) 0 0;font-size:var(--t-xs)}
.ordner-verwaltung{margin-top:var(--a-3);padding-top:var(--a-3);border-top:1px solid var(--linie);font-size:var(--t-s)}
.ordner-verwaltung>summary{color:var(--akzent-text);font-weight:600}
.ordner-verwaltung h3{margin:var(--a-3) 0 var(--a-2);font-size:var(--t-s)}
.ordner-liste{display:grid;gap:var(--a-1);margin:0;padding:0;list-style:none}
.ordner-liste>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a-1) var(--a-2);min-width:0;padding:var(--a-1) 0}
.ordner-liste>li.ordner-leer{color:var(--text-3)}
.ordner-liste>li.ordner-inaktiv{opacity:.75}
.ordner-umbenennen{display:flex;flex:1 1 14rem;gap:var(--a-2);min-width:0;margin:0}
.ordner-umbenennen input{flex:1;min-width:0}
.ordner-aktionen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a-2)}
.ordner-aktionen form{margin:0}
.ordner-verwaltung button{min-height:2rem;padding:.25rem .65rem;font-size:var(--t-xs)}
.ordner-neu{display:grid;grid-template-columns:minmax(0,22rem) auto;justify-content:start;gap:var(--a-1) var(--a-2);margin:var(--a-3) 0 var(--a-2)}
.ordner-neu label{grid-column:1/-1;font-size:var(--t-xs)}
.ordner-neu input{min-width:0}
/* document panel */
.mandant-dokumentpanel{padding:var(--a-4) var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche);container-type:inline-size}
.mandant-dokumentpanel-kopf{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--a-2) var(--a-4);margin:0 0 var(--a-3)}
.mandant-dokumentpanel-kopf h2{margin:0}
.mandant-dokumentpanel-kopf>span{color:var(--text-3);font-size:var(--t-s);white-space:nowrap}
.dokument-werkzeuge{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a-2) var(--a-3);margin:0 0 var(--a-3)}
.dokument-werkzeuge label{color:var(--text-3);font-size:var(--t-xs);font-weight:600}
.dokument-werkzeuge input[type="search"]{flex:1 1 14rem;max-width:22rem}
.dokument-werkzeuge .sortierung{display:flex;align-items:center;gap:var(--a-2);margin:0 0 0 auto}
.dokumente{font-size:var(--t-s)}
.dokumente thead th{padding:var(--a-2) var(--a-3)}
.dokumente td,.dokumente tbody th{padding:var(--a-2) var(--a-3);vertical-align:middle}
.dokumente tbody th{font-weight:inherit;text-transform:none;letter-spacing:normal;background:transparent;white-space:normal}
.dokument-name{min-width:14rem}
.dokument-name-innen>span:last-child{display:flex;flex-direction:column;min-width:0}
.dokument-name-innen{display:flex;align-items:center;gap:var(--a-3);min-width:0}
.dokument-name strong{font-weight:600;overflow-wrap:anywhere}
.dokument-name small{font-size:var(--t-xs)}
.dokument-dateityp{display:grid;place-items:center;flex:none;width:2.4rem;height:1.6rem;border-radius:var(--r-1);background:var(--flaeche-3);color:var(--text-2);font-size:.65rem;font-weight:700;letter-spacing:.03em}
.dokument-dateityp[data-typ="pdf"]{background:var(--gefahr-zart);color:var(--gefahr)}
.dokument-dateityp[data-typ="csv"],.dokument-dateityp[data-typ="xlsx"]{background:var(--erfolg-zart);color:var(--erfolg)}
.dokument-dateityp[data-typ="docx"],.dokument-dateityp[data-typ="txt"]{background:var(--akzent-zart);color:var(--akzent-text)}
.dokument-dateityp[data-typ="png"],.dokument-dateityp[data-typ="jpg"],.dokument-dateityp[data-typ="tiff"]{background:var(--warnung-zart);color:var(--warnung)}
.dokument-kategorie small,.dokument-termine small,.dokument-loeschdatum small{display:block;font-size:var(--t-xs)}
.dokument-kategorie-name{font-weight:550}
.dokument-termine time,.dokument-loeschdatum time{white-space:nowrap;font-variant-numeric:tabular-nums}
.aktionen{white-space:nowrap}
.aktionen-zeile{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--a-1)}
.aktionen form,.aktionen details{margin:0}
.aktion-knopf,.aktionen details>summary{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2rem;padding:.2rem .55rem;border:1px solid var(--linie);border-radius:var(--r-1);background:var(--flaeche);color:var(--text-2);font:inherit;font-size:var(--t-xs);font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:none;list-style:none}
.aktionen details>summary::-webkit-details-marker{display:none}
.aktion-knopf:hover,.aktionen details>summary:hover{border-color:var(--akzent);background:var(--akzent-zart);color:var(--akzent-text)}
button.aktion-gefahr:hover{border-color:var(--gefahr);background:var(--gefahr-zart);color:var(--gefahr)}
.aktion-knopf svg,.aktionen details>summary svg{flex:none;width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.aufklapp{position:relative}
.aufklapp[open]>summary{border-color:var(--akzent);background:var(--akzent-zart);color:var(--akzent-text)}
.aufklapp>form{position:absolute;right:0;top:calc(100% + .3rem);z-index:20;display:grid;gap:var(--a-2);width:17rem;padding:var(--a-3);border:1px solid var(--linie);border-radius:var(--r-2);background:var(--flaeche);box-shadow:var(--schatten-3);white-space:normal;text-align:left}
.aufklapp>form label{font-size:var(--t-xs);color:var(--text-2)}
.aufklapp>form select,.aufklapp>form input{width:100%}
.loeschdatum>summary{display:inline;color:var(--akzent-text);font-size:var(--t-xs);font-weight:550;text-decoration:underline;text-underline-offset:.15em}
.loeschdatum>form{left:0;right:auto}
/* stacked rows when the panel is narrow: each cell names its column (data-spalte) */
@container (max-width:52rem){
  .dokumente thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .dokumente,.dokumente tbody{display:block}
  .dokumente tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--a-2) var(--a-3);padding:var(--a-3) 0;border-bottom:1px solid var(--linie)}
  .dokumente tr:last-child{border-bottom:0}
  .dokumente tbody tr:hover>*{background:transparent}
  .dokumente td,.dokumente tbody th{display:block;min-width:0;padding:0;border:0}
  .dokumente tbody th.dokument-name{display:block;grid-column:1/-1}
  .dokumente td[data-spalte]::before{content:attr(data-spalte);display:block;color:var(--text-3);font-size:var(--t-xs);font-weight:600}
  .dokumente td.aktionen{grid-column:1/-1;white-space:normal}
  .dokumente td.aktionen::before{content:none}
  .aktionen-zeile{justify-content:flex-start}
  .dokumente td[colspan]{grid-column:1/-1}
}
@container (max-width:30rem){
  .dokumente tr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dokumente td.dokument-kategorie{grid-column:1/-1}
}
/* upload form and confirmation */
.ablage{display:grid;place-items:center;gap:var(--a-1);min-height:7rem;margin:var(--a-3) 0;padding:var(--a-5);border:2px dashed var(--linie-stark);border-radius:var(--r-3);background:var(--flaeche-2);color:var(--text-2);text-align:center;cursor:pointer}
.ablage strong{color:var(--text)}
.ablage:hover,.ablage.aktiv{border-color:var(--akzent);background:var(--akzent-zart)}
input:focus-visible+.ablage{outline:3px solid var(--fokus);outline-offset:2px}
#hochladen-status{font-weight:650}
#hochladen-fortschritt{display:block;width:100%;height:.6rem;margin:var(--a-2) 0;accent-color:var(--akzent)}
#hochladen-fortschritt[hidden]{display:none}
.hochladen-fehler{margin:var(--a-2) 0 0;padding-left:1.1rem;color:var(--gefahr);font-size:var(--t-s)}
.entwuerfe td{vertical-align:top}
.entwuerfe select,.entwuerfe input[type="date"]{max-width:13rem}
@media (max-width:760px){
  .entwuerfe thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .entwuerfe,.entwuerfe tbody{display:block}
  .entwuerfe tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--a-2) var(--a-3);padding:var(--a-3) 0;border-bottom:1px solid var(--linie)}
  .entwuerfe td{display:block;min-width:0;padding:0;border:0}
  .entwuerfe td strong{overflow-wrap:anywhere}
  .entwuerfe td[data-spalte]{grid-column:1/-1}
  .entwuerfe td[data-spalte]::before{content:attr(data-spalte);display:block;margin-bottom:.15rem;color:var(--text-3);font-size:var(--t-xs);font-weight:600}
  .entwuerfe select,.entwuerfe input[type="date"]{width:100%;max-width:none}
}

/* --- search results page ---------------------------------------------------------------------- */
.suche-seite-form{display:flex;flex-wrap:wrap;gap:var(--a-2);margin:0 0 var(--a-5)}
.suche-seite-form input[type="search"]{flex:1 1 20rem;max-width:36rem}
.suche-ergebnisse{display:grid;gap:var(--a-4)}
.suche-ergebnisse section{margin:0}
.treffer-liste{display:grid;margin:0;padding:0;list-style:none}
.treffer-liste>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a-1) var(--a-4);padding:var(--a-3) 0;border-bottom:1px solid var(--linie)}
.treffer-liste>li:last-child{border-bottom:0}
.treffer-liste a.treffer-titel{font-weight:600;overflow-wrap:anywhere;text-decoration:none}
.treffer-liste a.treffer-titel:hover{text-decoration:underline}
.treffer-liste small{display:block}
.treffer-liste>li>div{min-width:0}

/* --- time tracking ----------------------------------------------------------------------------- */
.zeit-seite{display:grid;gap:var(--a-4)}
.zeit-seite section{margin:0}
.zeit-buehne{padding:var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.zeit-buehne-kopf{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--a-3)}
.zeit-buehne-kopf h2{margin:0}
.zeit-zustand{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .65rem;border-radius:var(--r-rund);background:var(--flaeche-3);color:var(--text-2);font-size:var(--t-xs);font-weight:650}
.zeit-zustand>span{width:.5rem;height:.5rem;border-radius:50%;background:var(--text-3)}
.zeit-laufend .zeit-zustand{background:var(--erfolg-zart);color:var(--erfolg)}
.zeit-laufend .zeit-zustand>span{background:var(--erfolg)}
.zeit-buehne-inhalt{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--a-5);margin-top:var(--a-4)}
.zeit-buehne-haupt{min-width:0}
.zeit-mandant-label{margin:0;color:var(--text-3);font-size:var(--t-xs);font-weight:650;letter-spacing:.05em;text-transform:uppercase}
.zeit-mandant-name{margin:.2rem 0;font-size:var(--t-xl);overflow-wrap:anywhere}
.zeit-uhr{display:block;margin:var(--a-1) 0;color:var(--text);font-size:clamp(2.4rem,5vw,3.5rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.zeit-hinweis{margin:var(--a-1) 0 var(--a-4);color:var(--text-2);font-size:var(--t-s)}
.zeit-buehne .zeit-form{max-width:44rem}
.zeit-buehne .zeit-form--stop{max-width:16rem}
.zeit-buehne-rechts{display:flex;align-items:center;justify-content:center}
.zeit-kreis{display:grid;place-items:center;width:9.5rem;aspect-ratio:1;border:.6rem solid var(--akzent-zart);border-top-color:var(--akzent);border-radius:50%}
.zeit-kreis>div{display:grid;gap:.1rem;text-align:center}
.zeit-kreis small{font-size:var(--t-xs)}
.zeit-kreis strong{font-size:var(--t-xl);font-variant-numeric:tabular-nums}
.zeit-buehne-illustration{display:none}
.zeit-kennzahlen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--a-3)}
.zeit-kennzahl{display:flex;align-items:center;gap:var(--a-3);min-width:0;padding:var(--a-4);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.zeit-kennzahl-icon{display:grid;place-items:center;flex:none;width:2.4rem;height:2.4rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text)}
.zeit-kennzahl-icon svg{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.zeit-kennzahl div{display:grid;min-width:0}
.zeit-kennzahl div>span{color:var(--text-2);font-size:var(--t-xs);font-weight:600}
.zeit-kennzahl strong{font-size:var(--t-xl);font-variant-numeric:tabular-nums;line-height:1.2}
.zeit-kennzahl small{font-size:var(--t-xs)}
.zeit-verlauf{padding:var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.zeit-verlauf-kopf{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--a-3);margin-bottom:var(--a-3)}
.zeit-verlauf-kopf h2{margin:0}
.zeit-verlauf-kopf p:last-child{margin:.2rem 0 0;color:var(--text-3);font-size:var(--t-s)}
.zeit-verlauf-anzahl{display:inline-flex;padding:.15rem .6rem;border-radius:var(--r-rund);background:var(--flaeche-3);color:var(--text-2);font-size:var(--t-xs);font-weight:650}
.zeit-tag{margin:var(--a-4) 0 0}
.zeit-tag-kopf{display:flex;align-items:baseline;gap:var(--a-2);margin-bottom:var(--a-1)}
.zeit-tag-kopf h3{margin:0;font-size:var(--t-s)}
.zeit-tag-kopf time{color:var(--text-3);font-size:var(--t-xs)}
.zeit-eintraege{margin:0;padding:0;list-style:none}
.zeit-eintrag{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:var(--a-3);padding:var(--a-2) 0;border-bottom:1px solid var(--linie)}
.zeit-eintrag:last-child{border-bottom:0}
.zeit-eintrag-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text);font-size:var(--t-xs);font-weight:700}
.zeit-eintrag-info{display:grid;min-width:0;gap:.05rem}
.zeit-eintrag-info a,.zeit-eintrag-info strong{font-size:var(--t-s);font-weight:600;overflow-wrap:anywhere;text-decoration:none}
.zeit-eintrag-info a:hover{text-decoration:underline}
.zeit-eintrag-info small{font-size:var(--t-xs)}
.zeit-eintrag-taetigkeit{color:var(--text-2);font-size:var(--t-xs);overflow-wrap:anywhere}
.zeit-eintrag-dauer{padding:.15rem .5rem;border-radius:var(--r-1);background:var(--flaeche-2);font-size:var(--t-xs);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.zeit-leer{display:grid;justify-items:center;gap:var(--a-1);padding:var(--a-6) var(--a-4);border:1px dashed var(--linie-stark);border-radius:var(--r-3);color:var(--text-3);text-align:center}
.zeit-leer>span{font-size:1.4rem}
.zeit-leer strong{color:var(--text-2)}
.zeit-leer p{margin:0;font-size:var(--t-s)}
.zeit-tabelle-rahmen{overflow-x:auto}
/* activities (admin) */
.taetigkeiten-liste{display:grid;gap:var(--a-2);margin:0;padding:0;list-style:none}
.taetigkeit-karte{display:grid;gap:var(--a-2);min-width:0;padding:var(--a-3) var(--a-4);border:1px solid var(--linie);border-radius:var(--r-2);background:var(--flaeche)}
.taetigkeit-karte--inaktiv{background:var(--flaeche-2);color:var(--text-3)}
.taetigkeit-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;align-items:end;gap:var(--a-2) var(--a-3);margin:0}
.taetigkeit-form label{display:grid;gap:.25rem;min-width:0;font-size:var(--t-xs)}
.taetigkeit-form input[type=text]{width:100%;min-width:0}
.taetigkeit-form .taetigkeit-haken{display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.taetigkeit-aktionen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a-2)}
.taetigkeit-aktionen form{margin:0}
.taetigkeit-status{font-size:var(--t-xs);font-weight:650}

/* --- billing draft ----------------------------------------------------------------------------- */
.abrechnung-ansicht{display:grid;gap:var(--a-4)}
.abrechnung-ansicht section{margin:0}
.abrechnung-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--a-3) var(--a-5)}
.abrechnung-kopf>div:first-child>p:last-child{margin:.3rem 0 0;color:var(--text-2);font-size:var(--t-s)}
.abrechnung-titel{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a-2) var(--a-3)}
.abrechnung-entwurf{display:inline-flex;padding:.15rem .6rem;border-radius:var(--r-rund);background:var(--warnung-zart);color:var(--warnung);font-size:var(--t-xs);font-weight:650}
.abrechnung-monat{display:flex;align-items:center;gap:var(--a-2)}
.abrechnung-monat>a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--linie-stark);border-radius:var(--r-2);background:var(--flaeche);font-size:1.4rem;line-height:1;text-decoration:none}
.abrechnung-monat>a:hover{border-color:var(--akzent);background:var(--akzent-zart)}
.abrechnung-monat form{display:flex;align-items:center;gap:var(--a-2);margin:0}
.abrechnung-monat label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.abrechnung-karten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--a-3)}
.abrechnung-karte{display:flex;align-items:center;gap:var(--a-3);min-width:0;padding:var(--a-4);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.abrechnung-karten-icon{display:grid;place-items:center;flex:none;width:2.6rem;height:2.6rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text)}
.abrechnung-karten-icon svg{width:1.3rem;height:1.3rem;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.abrechnung-karte h2{margin:0;color:var(--text-2);font-size:var(--t-xs);font-weight:600}
.abrechnung-karte strong{display:block;font-size:var(--t-xl);font-variant-numeric:tabular-nums;line-height:1.2}
.abrechnung-karte .abrechnung-fehlt{font-size:var(--t-m)}
.abrechnung-karte small{display:block;margin-top:.15rem;font-size:var(--t-xs)}
.abrechnung-spalten{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:start;gap:var(--a-4)}
.abrechnung-panel,.abrechnung-pruefung{min-width:0;padding:var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.abrechnung-panel-kopf{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--a-3);margin-bottom:var(--a-3)}
.abrechnung-panel-kopf h2,.abrechnung-pruefung h2{margin:0}
.abrechnung-panel-kopf>span{color:var(--text-3);font-size:var(--t-xs)}
.abrechnung-tabelle-wrap{overflow-x:auto}
.abrechnung-tabelle tbody th{display:flex;align-items:center;gap:var(--a-2);min-width:12rem;font-size:var(--t-s);font-weight:600;text-transform:none;letter-spacing:normal;background:transparent;white-space:normal}
.abrechnung-tabelle tbody th a{text-decoration:none;overflow-wrap:anywhere}
.abrechnung-tabelle tbody th a:hover{text-decoration:underline}
.abrechnung-tabelle tbody td{vertical-align:middle;font-variant-numeric:tabular-nums}
.abrechnung-tabelle tbody td strong{white-space:nowrap}
.abrechnung-tabelle tr.abrechnung-taetigkeit th{padding-left:2.9rem;font-weight:500}
.abrechnung-tabelle tr.abrechnung-summe th,.abrechnung-tabelle tr.abrechnung-summe td{border-top:2px solid var(--linie)}
.abrechnung-avatar{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text);font-size:var(--t-xs);font-weight:700}
.abrechnung-offen,.abrechnung-ohne-satz{display:block;color:var(--text-3);font-size:var(--t-xs)}
.abrechnung-status{display:inline-flex;padding:.15rem .55rem;border-radius:var(--r-rund);background:var(--flaeche-3);color:var(--text-2);font-size:var(--t-xs);font-weight:600;white-space:nowrap}
.abrechnung-leer td{padding:var(--a-6) var(--a-3)!important;color:var(--text-3);text-align:center!important}
.abrechnung-panel-fuss{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a-3);margin-top:var(--a-3);padding-top:var(--a-3);border-top:1px solid var(--linie);color:var(--text-2);font-size:var(--t-s)}
.abrechnung-panel-fuss strong span{margin-left:var(--a-2);font-size:var(--t-l);font-variant-numeric:tabular-nums}
.abrechnung-zugriff-hinweis:empty{display:none}
.abrechnung-zugriff-hinweis{margin:var(--a-2) 0 0;color:var(--text-3);font-size:var(--t-xs)}
.abrechnung-rechts{display:grid;gap:var(--a-3)}
.abrechnung-pruefung dl{display:grid;gap:var(--a-2);margin:var(--a-3) 0 var(--a-4)}
.abrechnung-pruefung dl>div{display:flex;justify-content:space-between;gap:var(--a-3)}
.abrechnung-pruefung dt{color:var(--text-2);font-size:var(--t-s)}
.abrechnung-pruefung dd{margin:0;font-size:var(--t-s);font-weight:600;text-align:right}
.abrechnung-zeit-link{display:flex;align-items:center;justify-content:space-between;gap:var(--a-2);min-height:2.5rem;padding:.45rem 1rem;border-radius:var(--r-2);background:var(--akzent);color:var(--auf-akzent);font-size:var(--t-s);font-weight:600;text-decoration:none}
.abrechnung-zeit-link:hover{background:var(--akzent-stark);color:var(--auf-akzent)}
.abrechnung-info{display:flex;gap:var(--a-2);padding:var(--a-3) var(--a-4);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche-2);color:var(--text-2)}
.abrechnung-info p{margin:0;font-size:var(--t-xs)}

/* --- settings and admin tools ------------------------------------------------------------------ */
.einstellungen-seite{display:grid;gap:var(--a-4)}
.einstellungen-seite section{margin:0}
.einstellungen-kopf{padding:0}
.einstellungen-kopf h2{margin:0;font-size:var(--t-xl)}
.einstellungen-kopf p:last-child{margin:.3rem 0 0;color:var(--text-2);font-size:var(--t-s)}
.einstellungen-panel{min-width:0;padding:var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.einstellungen-panel h2{margin:0}
.einstellungen-panel>p:last-child{max-width:52rem;margin-bottom:0}
.einstellungen-panel p{max-width:52rem;color:var(--text-2);font-size:var(--t-s)}
.einstellungen-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:var(--a-2);margin:var(--a-3) 0 0;padding:0;list-style:none}
.einstellungen-link{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:var(--a-3);min-height:4.25rem;padding:var(--a-3);border:1px solid var(--linie);border-radius:var(--r-2);color:var(--text);text-decoration:none}
.einstellungen-link:hover{border-color:var(--akzent);background:var(--akzent-zart);color:var(--text)}
.einstellungen-symbol{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:var(--r-2);background:var(--akzent-zart);color:var(--akzent-text);font-size:1.05rem}
.einstellungen-link strong,.einstellungen-link small{display:block}
.einstellungen-link strong{font-size:var(--t-s)}
.einstellungen-link small{font-size:var(--t-xs);line-height:1.35}
.einstellungen-link>span:last-child{color:var(--akzent-text)}
.einstellungen-nas-kopf{display:flex;align-items:center;gap:var(--a-3);margin-bottom:var(--a-2)}
.einstellungen-nas-kopf p{margin:.1rem 0 0}
.nas-quellen{margin-top:var(--a-3)}
.nas-quellen>p:first-child,.nas-quellen-hinweis,.nas-quellen-pruefform span{max-width:56rem;color:var(--text-2);font-size:var(--t-s)}
.nas-quellen code{overflow-wrap:anywhere}
.nas-quellen-tabelle{overflow-x:auto;margin:var(--a-3) 0}
.nas-quellen-tabelle table{min-width:40rem}
.nas-quellen-tabelle td:last-child{width:1%;white-space:nowrap}
.nas-quellen-tabelle td form{display:inline;margin:0}
.nas-quellen-tabelle td button{min-height:2rem;padding:.25rem .6rem;font-size:var(--t-xs)}
.nas-quellen-form{display:grid;grid-template-columns:minmax(8rem,.5fr) minmax(16rem,2fr) auto;gap:var(--a-2) var(--a-3);align-items:end;margin:var(--a-3) 0}
.nas-quellen-form label{display:grid;gap:.25rem;font-size:var(--t-xs);color:var(--text-2)}
.nas-quellen-form input{width:100%;min-width:0}
.nas-quellen-pruefform{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a-3);margin:var(--a-2) 0}
.nas-pruefstatus{display:inline-block;padding:.15rem .5rem;border-radius:var(--r-1);background:var(--warnung-zart);color:var(--warnung);font-size:var(--t-xs)}
.nas-pruefstatus-ok{background:var(--erfolg-zart);color:var(--erfolg)}
.nas-quellen-leer{padding:var(--a-4);border:1px dashed var(--linie-stark);border-radius:var(--r-2);color:var(--text-3)}
.nas-quellen-fehler{color:var(--gefahr)}
.nas-vorschau{margin:var(--a-4) 0;padding:var(--a-4);border:1px solid var(--linie);border-radius:var(--r-2)}
.nas-vorschau h3{margin-top:0}
.nas-vorschau p,.nas-vorschau li{font-size:var(--t-s)}
.nas-vorschau details ul{max-width:25rem;padding-left:1.2rem;white-space:normal}
.einstellungen-mcp-test{margin-top:var(--a-4);padding-top:var(--a-4);border-top:1px solid var(--linie)}
.einstellungen-mcp-testkopf{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--a-3)}
.einstellungen-mcp-testkopf h3,.einstellungen-mcp-liste h3{margin:0}
.einstellungen-mcp-badge{flex:none;padding:.15rem .55rem;border-radius:var(--r-rund);background:var(--warnung-zart);color:var(--warnung);font-size:var(--t-xs);font-weight:650}
.einstellungen-mcp-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr) minmax(0,1.3fr) auto;align-items:end;gap:var(--a-2) var(--a-3);margin:var(--a-2) 0 var(--a-3)}
.einstellungen-mcp-form label{display:grid;gap:.25rem;min-width:0;color:var(--text-2);font-size:var(--t-xs)}
.einstellungen-mcp-form input,.einstellungen-mcp-form select{width:100%;min-width:0}
.einstellungen-mcp-hinweis{max-width:56rem;color:var(--text-3);font-size:var(--t-xs)}
.einstellungen-mcp-liste{overflow-x:auto;padding-top:var(--a-3);border-top:1px solid var(--linie)}
.einstellungen-mcp-liste table{min-width:40rem;margin-top:var(--a-2)}
.einstellungen-mcp-liste button{min-height:2rem;padding:.25rem .6rem;font-size:var(--t-xs)}
.einstellungen-mcp-endpunkt code{display:inline-block;max-width:100%;padding:.15rem .4rem;border-radius:var(--r-1);background:var(--flaeche-2);overflow-wrap:anywhere}
.freigabe-mandanten{padding-left:1.2rem}

/* --- KI-App proposal page ---------------------------------------------------------------------- */
.mcp-aktion-seite{max-width:56rem}
.mcp-aktion-kopf{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--a-3);margin-bottom:var(--a-4)}
.mcp-aktion-kopf h2{margin:0;font-size:var(--t-xl)}
.mcp-aktion-kopf p:last-child{max-width:36rem;margin:.4rem 0 0;color:var(--text-2)}
.mcp-aktion-status{flex:none;padding:.25rem .75rem;border-radius:var(--r-rund);background:var(--akzent-zart);color:var(--akzent-text);font-size:var(--t-s);font-weight:650}
.mcp-aktion-karte{padding:var(--a-5);border:1px solid var(--linie);border-radius:var(--r-3);background:var(--flaeche)}
.mcp-aktion-karte h2{margin:0 0 var(--a-3)}
.mcp-aktion-daten{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);margin:0}
.mcp-aktion-daten dt,.mcp-aktion-daten dd{margin:0;padding:var(--a-2) 0;border-bottom:1px solid var(--linie);overflow-wrap:anywhere}
.mcp-aktion-daten dt{color:var(--text-2);font-size:var(--t-s)}
.mcp-aktion-daten dd{font-weight:600}
.mcp-aktion-hinweis{margin:var(--a-4) 0 var(--a-3);padding:var(--a-3) var(--a-4);border-radius:var(--r-2);background:var(--warnung-zart);color:var(--warnung);font-size:var(--t-s)}
.mcp-aktion-entscheidung{display:flex;flex-wrap:wrap;gap:var(--a-2)}
.mcp-aktion-entscheidung button.mcp-aktion-ablehnen{border-color:var(--linie-stark);background:var(--flaeche);color:var(--text);box-shadow:none}
.mcp-aktion-entscheidung button.mcp-aktion-ablehnen:hover{border-color:var(--gefahr);background:var(--gefahr-zart);color:var(--gefahr)}
.mcp-aktion-zurueck{display:inline-flex;margin-top:var(--a-4);font-size:var(--t-s);font-weight:600;text-decoration:none}

/* --- responsive -------------------------------------------------------------------------------- */
@media (max-width:1180px){
  .dash-zeit,.dash-ki{grid-column:1/-1}
  .dash-mandanten,.dash-uploads,.dash-fristen{grid-column:span 6}
  .dash-fristen{grid-column:1/-1}
  .abrechnung-spalten{grid-template-columns:minmax(0,1fr)}
  .abrechnung-karten{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1020px){
  .akte-arbeitsbereich{grid-template-columns:minmax(0,1fr)}
  .akte-navigator{position:static;max-height:none;overflow:visible;padding:0;border:0;background:transparent}
  .akte-navigator-desktop{display:none}
  .akte-navigator-mobil{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--a-2);margin:0}
  .akte-navigator-mobil label{flex:1 0 100%;font-size:var(--t-xs);color:var(--text-2)}
  .akte-navigator-mobil select{flex:1 1 12rem;min-width:0}
  .akte-navigator h2{display:none}
}
@media (max-width:860px){
  .mit-navigation .app-shell{display:block}
  .seitenleiste{position:static;height:auto;gap:var(--a-2);padding:var(--a-2) var(--a-3);border-right:0;border-bottom:1px solid var(--linie)}
  .seitenleiste .leistenmarke{display:none}
  .hauptnav{flex-direction:row;flex-wrap:wrap;gap:var(--a-1)}
  .nav-gruppe{display:none}
  .nav-link{min-height:2.25rem;padding:.3rem .6rem}
  .nav-link[aria-current="page"]::before{display:none}
  .leiste-unten{margin:0;padding-top:var(--a-2)}
  .mit-navigation .kopf .marke{display:flex}
  .kopf{flex-wrap:wrap;gap:var(--a-2) var(--a-3);padding:var(--a-2) var(--a-4)}
  .kopf-suche{order:5;flex:1 0 100%;max-width:none}
  .kopf-suche-taste{display:none}
  .kopf-suche input[type="search"]{padding-right:.65rem}
  .konto-text{display:none}
  /* with JavaScript the navigation becomes a slide-in menu behind a button */
  .js .menue-knopf{display:inline-flex;min-height:2.5rem;width:2.5rem;padding:0;border-color:var(--linie);background:var(--flaeche);color:var(--text);box-shadow:none}
  .js .seitenleiste{position:fixed;inset:0 auto 0 0;z-index:80;width:min(18rem,85vw);height:100%;padding:var(--a-4) var(--a-3);border-right:1px solid var(--linie);border-bottom:0;box-shadow:var(--schatten-3);transform:translateX(-105%);transition:transform .2s ease-out;visibility:hidden}
  .js .seitenleiste .leistenmarke{display:flex}
  .js .hauptnav{flex-direction:column;flex-wrap:nowrap}
  .js .nav-gruppe{display:block}
  .js .leiste-unten{margin-top:auto}
  .js.menue-offen .seitenleiste{transform:none;visibility:visible}
  .menue-hintergrund{position:fixed;inset:0;z-index:70;background:rgb(0 0 0 / .35)}
  .dash-mandanten,.dash-uploads,.dash-fristen{grid-column:1/-1}
  .zeit-buehne-inhalt{grid-template-columns:1fr}
  .zeit-buehne-rechts{display:none}
}
@media (max-width:640px){
  #inhalt{padding:var(--a-4) var(--a-4) var(--a-7)}
  h1{font-size:var(--t-xl)}
  .karte,.mit-navigation #inhalt>section,.mit-navigation #inhalt>.tabelle,
  .mit-navigation #inhalt>form:not(.inline):not(.aktion):not(.abbrechen):not(.filter):not(.suche-seite-form),
  .akte-kategorien,.mandant-dokumentpanel,.zeit-buehne,.zeit-verlauf,.abrechnung-panel,.abrechnung-pruefung,.einstellungen-panel{padding:var(--a-4)}
  .zeit-form.zeit-form--start{grid-template-columns:1fr}
  .zeit-form--start .zeit-feld--notiz{grid-column:auto;grid-row:auto}
  .zeit-form button,.zeit-buehne .zeit-form--stop{width:100%;max-width:none}
  .zeit-form--stop button{width:100%}
  .zeit-kennzahlen{grid-template-columns:1fr}
  .abrechnung-karten{grid-template-columns:1fr}
  .abrechnung-monat{flex-wrap:wrap}
  .kategorie-kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kachel{min-height:3.75rem}
  .dokument-werkzeuge .sortierung{margin-left:0}
  .dokument-werkzeuge input[type="search"]{max-width:none}
  .aufklapp>form{position:fixed;left:var(--a-4);right:var(--a-4);top:auto;bottom:var(--a-4);width:auto}
  .taetigkeit-form{grid-template-columns:1fr}
  .nas-quellen-form,.einstellungen-mcp-form{grid-template-columns:1fr}
  .einstellungen-mcp-testkopf{display:block}
  .mcp-aktion-daten{grid-template-columns:1fr}
  .mcp-aktion-daten dt{padding-bottom:0;border-bottom:0}
  .ordner-neu{grid-template-columns:minmax(0,1fr) auto}
  .js .toast-bereich{left:var(--a-4);right:var(--a-4);bottom:var(--a-4);width:auto}
  .filter p{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
  .seitenleiste,.kopf,.testdaten,.mandant-upload,.aktionen,.dokument-werkzeuge,.toast-bereich{display:none!important}
  .mit-navigation .app-shell{display:block}
  body{background:#fff;color:#000}
}
.dash-monate summary{display:flex;align-items:center;gap:var(--a-2);list-style:none}
.dash-monate summary::-webkit-details-marker{display:none}
.dash-monate summary::before{content:"";width:.5rem;height:.5rem;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(-45deg);transition:transform .12s}
.dash-monate details[open]>summary::before{transform:rotate(45deg)}
.dash-monate summary h2{margin:0}
.mandant-dokumentpanel .tabelle{overflow:visible}
/* document actions: icons with tooltips in the wide table, labelled buttons in the stacked view */
#suche-feld{padding-left:2.3rem;padding-right:4.2rem}
.kachel-name{overflow-wrap:break-word;hyphens:auto}
.aktionen-zeile{flex-wrap:nowrap}
.dokumente .aktion-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dokumente .aktion-knopf,.dokumente .aufklapp>summary{min-width:2.1rem;min-height:2.1rem}
.dokument-loeschdatum time{display:block}
@container (max-width:52rem){
  .aktionen-zeile{flex-wrap:wrap}
  .dokumente .aktion-text{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}
@media (max-width:860px){.js .kopf-suche-taste{display:none}#suche-feld{padding-right:.65rem}}
.dash-liste>li{font-size:var(--t-s)}
.mandanten-verzeichnis-notiz{display:-webkit-box;max-width:none;white-space:normal;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.mandanten-verzeichnis-scroll{overflow-x:auto}
@media (max-width:640px){
  .abrechnung-monat{width:100%;flex-wrap:nowrap}
  .abrechnung-monat form{flex:1;min-width:0}
  .abrechnung-monat input{flex:1;min-width:0;width:100%}
  .abrechnung-tabelle thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .abrechnung-tabelle,.abrechnung-tabelle tbody{display:block}
  .abrechnung-tabelle tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:var(--a-2);padding:var(--a-3) 0;border-bottom:1px solid var(--linie)}
  .abrechnung-tabelle tbody th,.abrechnung-tabelle tbody td{display:block;min-width:0;padding:0;border:0}
  .abrechnung-tabelle tbody th{display:flex;grid-column:1/-1}
  .abrechnung-tabelle tbody td[data-spalte]::before{content:attr(data-spalte);display:block;color:var(--text-3);font-size:var(--t-xs);font-weight:600}
  .abrechnung-tabelle tr.abrechnung-taetigkeit th{padding-left:0}
  .abrechnung-leer td{grid-column:1/-1}
}
.mandanten-verzeichnis-tabelle thead th{white-space:normal}
.mandanten-verzeichnis-tabelle th,.mandanten-verzeichnis-tabelle td{padding-left:var(--a-3);padding-right:var(--a-3)}
.mandanten-verzeichnis-tabelle td time{white-space:normal}
@media (max-width:640px){
  .abrechnung-monat{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;align-items:start}
  .abrechnung-monat>a:last-child{grid-column:3;grid-row:1}
  .abrechnung-monat form{flex-wrap:wrap}
  .abrechnung-monat form input{flex:1 1 100%}
  .abrechnung-monat form button{flex:1 1 100%}
}

/* Posteingang, Scan-Geräte, Speicher (01.10.2026) */
.nav-zaehler{margin-left:auto;min-width:1.4rem;padding:0 .45rem;border-radius:var(--r-rund);background:var(--akzent);color:var(--auf-akzent);font-size:var(--t-xs);font-weight:700;line-height:1.4rem;text-align:center}
.posteingang-tabelle th[scope="row"]{font-weight:500}
.posteingang-tabelle .dokument-dateityp{display:inline-block;min-width:2.6rem;margin-right:var(--a-2);text-align:center}
.posteingang-hochladen>summary,details.karte>summary{cursor:pointer;font-weight:650}
.posteingang-hochladen form{margin-top:var(--a-4)}
.posteingang-zuordnen{margin-top:var(--a-4)}
.speicher-monate meter.speicher-balken{width:100%;min-width:6rem;height:.9rem}
.speicher-balken-zelle{width:45%}
.karte meter{width:100%;height:1rem}
.abrechnung-umschalter{display:flex;flex-wrap:wrap;gap:var(--a-2);margin-top:var(--a-3)}
.abrechnung-umschalter a{padding:.3rem .8rem;border:1px solid var(--linie-stark);border-radius:var(--r-rund);color:var(--text-2);font-size:var(--t-s);font-weight:600;text-decoration:none}
.abrechnung-umschalter a[aria-current="true"]{border-color:var(--akzent);background:var(--akzent-zart);color:var(--akzent-text)}
.abrechnung-personen{display:block;margin-top:.15rem;font-weight:400}
