/* Project Medusa – Editor im Figma-Aufbau, Formensprache nach Spectrum 2 (Tokens in base.css) */
:root{
  --kopf-h:48px;
  --steuer-h:52px;
  --links-b:248px;
  --rechts-b:268px;
  --ui:13px;
  --h:32px;            /* Höhe der Bedienelemente */
  --schatten-schwebe:0 2px 8px light-dark(rgba(0,0,0,.16), rgba(0,0,0,.48));
}
html,body{height:100%}
body.editor{margin:0;overflow:hidden;user-select:none;-webkit-user-select:none;font-size:var(--ui);line-height:1.45;background:var(--bg)}
body.editor button{font:inherit;color:inherit}
body.editor .knopf{color:var(--akz-auf)}
body.editor .knopf--stumm{color:var(--g800)}
body.editor .knopf--stumm[aria-pressed="true"]{color:var(--neutral-auf)}
body.editor input,body.editor select,body.editor textarea{font-family:var(--f-ui)}

.arbeitsplatz{display:grid;height:100%;grid-template-rows:var(--kopf-h) var(--steuer-h) minmax(0,1fr);
  grid-template-columns:var(--links-b) minmax(0,1fr) var(--rechts-b)}
.arbeitsplatz[data-steuer="zu"]{--steuer-h:0px}
.arbeitsplatz[data-steuer="zu"] .steuerleiste{display:none}

/* ── Kopfzeile ─────────────────────────────────────────────────────────── */
.kopf{grid-column:1 / -1;display:flex;align-items:center;gap:var(--a2);padding:0 var(--a2) 0 var(--a2);
  background:var(--flaeche);border-bottom:1px solid var(--linie);min-width:0}
.kopf__logo{display:flex;align-items:center;gap:2px;height:36px;padding:0 6px 0 8px;border-radius:var(--r-klein);
  border:0;background:transparent;cursor:pointer;color:var(--tx)}
.kopf__logo:hover,.kopf__logo[aria-expanded="true"]{background:var(--g200)}
.kopf__logo svg:first-child{color:var(--tx)}
.menuleiste{display:flex;align-items:center;gap:0;min-width:0;flex:none}
.menuleiste__knopf{height:28px;padding:0 8px;border:0;background:transparent;color:var(--tx);font:inherit;font-size:13px;border-radius:var(--r-klein);cursor:pointer;white-space:nowrap}
.menuleiste__knopf:hover{background:var(--g100)}
.menuleiste__knopf[aria-expanded="true"]{background:var(--g200)}
@media (max-width:1100px){.menuleiste{display:none}}
.kopf__titel{display:flex;align-items:center;gap:var(--a2);min-width:0;flex:0 1 auto}
.kopf__titel input{font-size:15px;font-weight:700;border:1px solid transparent;background:transparent;border-radius:var(--r-klein);
  padding:5px 8px;min-width:80px;width:clamp(120px,24vw,320px);color:var(--tx)}
.kopf__titel input:hover{background:var(--g100);border-color:transparent}
.kopf__titel input:focus{border-color:var(--g800);background:var(--g25);outline:0}
.ortsangabe{color:var(--tx-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kopf .luecke{flex:1}
.syncstatus{display:inline-flex;align-items:center;gap:6px;color:var(--tx-3);white-space:nowrap;padding:0 var(--a2)}
.syncstatus::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tx-3)}
.syncstatus[data-art="gut"]::before{background:var(--gut)}
.syncstatus[data-art="aktiv"]::before{background:var(--auswahl)}
.syncstatus[data-art="warnung"]::before{background:var(--warn)}
.pruefknopf{display:inline-flex;align-items:center;gap:6px;height:var(--h);padding:0 12px;border-radius:var(--r-pille);border:0;
  background:var(--g100);color:var(--g800);cursor:pointer;white-space:nowrap;font-size:13px;font-weight:600}
.pruefknopf::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gut)}
.pruefknopf[data-art="warnung"]::before{background:var(--warn)}
.pruefknopf[data-art="kritisch"]::before{background:var(--schlecht)}
.pruefknopf:hover{background:var(--g200)}
.suchleiste{position:absolute;top:30px;right:12px;z-index:7;width:min(380px,calc(100% - 48px));background:var(--flaeche);border:1px solid var(--linie-stark);
  border-radius:var(--r-klein);box-shadow:var(--schatten-schwebe);padding:6px;display:flex;flex-direction:column;gap:6px}
.suchleiste__gruppe{display:flex;flex-direction:column;gap:6px}
.suchleiste__zeile{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.suchleiste__zeile .textfeld{flex:1;min-width:0}
.suchleiste__optionen{padding:0 4px;gap:var(--a3)}
.suchleiste__optionen .luecke{flex:1}
.suchleiste .haken{font-size:12px}
.suchleiste__zusatz{font-size:var(--t-mini);color:var(--tx-3);display:flex;gap:6px}
.suchleiste__format .auswahlfeld{flex:1 1 100%;min-width:0}
/* Kontur suchen/ersetzen (194): Zahlfeld mit sichtbarer Einheit «pt», breit genug statt 22 px */
.suchleiste__staerke{display:flex;align-items:center;gap:6px;flex:1 1 130px;min-width:130px}
.suchleiste__staerke .textfeld{flex:1;min-width:70px}
.suchleiste__staerke span{flex:none;font-size:12px;color:var(--tx-3)}
.suchleiste__format-kopf{margin:var(--a3) 0 2px;font-size:11px;font-weight:600;color:var(--tx-2)}
.leute{display:flex;align-items:center;padding:0 var(--a1)}
.leute button{border:0;padding:0;background:0;cursor:pointer;border-radius:50%}
.leute button + button{margin-left:-6px}
.avatarpunkt{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;
  font-size:12px;background:var(--farbe,#888);box-shadow:0 0 0 2px var(--flaeche);position:relative}
.leute button[aria-pressed="true"] .avatarpunkt{box-shadow:0 0 0 2px var(--flaeche),0 0 0 4px var(--farbe)}
.avatarpunkt--schaut{background:var(--flaeche-3);color:var(--tx-2);font-size:14px}
.leute__schaut{cursor:default}
.rollenmarke{font-size:12px;padding:2px 8px;border-radius:var(--r-pille);background:var(--flaeche-3);color:var(--tx-2);white-space:nowrap}
.kopfknopf{height:var(--h);display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:var(--r-klein);
  border:1px solid transparent;background:transparent;cursor:pointer;color:var(--tx-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.kopfknopf:hover{background:var(--g200);color:var(--tx)}
.knopf--klein{font-size:13px;height:var(--h);padding:0 14px;min-width:0}
.knopf--gefahr,body.editor .knopf--gefahr{background:var(--schlecht);border-color:var(--schlecht);color:#fff}

/* ── Seitenleisten ─────────────────────────────────────────────────────── */
.dock{background:var(--flaeche);min-height:0;display:flex;flex-direction:row;overflow:hidden;grid-row:3;position:relative}
.dockspalte{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.dockspalte + .dockspalte{border-left:1px solid var(--linie)}
.dockspalte__ende{flex:0 0 auto;min-height:8px}
.dockspalte[data-ziel]{box-shadow:inset 0 0 0 2px var(--auswahl)}
.dock__breite{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:2}
/* Ziehgriffe: mit dem Finger übernähme sonst der Browser die Geste und bräche das Ziehen ab (pointercancel) */
.dock__breite,.palette__groesse,.zahl__label,.leistenreiter button[data-tab],.palette--schwebend .leistenreiter{touch-action:none}
.dock--links .dock__breite{right:-3px}
.dock--rechts .dock__breite{left:-3px}
.dock__breite:hover{background:var(--auswahl);opacity:.35}
.dock--links{border-right:1px solid var(--linie);grid-column:1}
.dock--rechts{border-left:1px solid var(--linie);grid-column:3}
.dock[data-ziel]{box-shadow:inset 0 0 0 2px var(--auswahl)}
.flaeche{grid-row:3;grid-column:2}
.palette{display:flex;flex-direction:column;min-height:0;flex:1 1 0}
.palette + .palette{border-top:1px solid var(--linie)}
.palette__koerper{flex:1;min-height:0;display:flex;flex-direction:column}
.palette__koerper > .leistenkoerper{flex:1}
.leistenreiter__griff{flex:1;min-width:8px}
/* Knöpfe schwebender Paletten (zuklappen, andocken, schliessen): feste Grösse, in jedem Stil gut zu treffen */
.leistenreiter .palette__knopf{flex:none;align-self:center;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:var(--r-klein);color:var(--g700)}
.leistenreiter .palette__knopf svg{width:16px;height:16px}
.leistenreiter .palette__knopf:hover{background:var(--g200);color:var(--g900)}
.palette--schwebend .leistenreiter__griff{cursor:move}
.leistenreiter[data-ziel]{box-shadow:inset 0 0 0 2px var(--auswahl)}
.leistenreiter button[data-tab]{cursor:default}
.schwebepaletten{position:fixed;inset:0;pointer-events:none;z-index:30}
.palette--schwebend{position:absolute;pointer-events:auto;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--r-gross);
  box-shadow:0 4px 16px light-dark(rgba(0,0,0,.16), rgba(0,0,0,.5));overflow:hidden;flex:none;min-width:220px}
.palette__groesse{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;
  background:linear-gradient(135deg,transparent 50%,var(--linie-stark) 50% 60%,transparent 60% 72%,var(--linie-stark) 72% 82%,transparent 82%)}
.palette-geist{position:fixed;z-index:100;pointer-events:none;background:var(--g800);color:var(--g50);padding:4px 12px;border-radius:var(--r-pille);font-size:13px;font-weight:700;box-shadow:var(--schwebe)}
body[data-andocken="links"]::before,body[data-andocken="rechts"]::before{content:"";position:fixed;top:0;bottom:0;width:6px;background:var(--auswahl);z-index:99}
body[data-andocken="links"]::before{left:0}
body[data-andocken="rechts"]::before{right:0}
/* Tabs nach Spectrum 2: Text, darunter ein 2-px-Balken für den aktiven Reiter */
.leistenreiter{display:flex;gap:16px;padding:0 12px;border-bottom:1px solid var(--g200);flex:none;height:40px;align-items:stretch}
.leistenreiter button{border:0;background:0;padding:0;cursor:pointer;color:var(--g700);font-size:14px;font-weight:400;position:relative;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.leistenreiter button:hover{color:var(--g900)}
.leistenreiter button[aria-selected="true"]{color:var(--g900);font-weight:600}
.leistenreiter button[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:1px;background:var(--g800)}
.leistenkoerper{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}
.leer-hinweis{padding:var(--a4);color:var(--tx-3)}

.abschnittfeld{padding:var(--a3) var(--a3) var(--a4);border-bottom:1px solid var(--g200)}
.abschnittfeld:last-child{border-bottom:0}
.abschnittfeld__kopf{display:flex;align-items:center;justify-content:space-between;min-height:24px;margin-bottom:var(--a2)}
.abschnittfeld__kopf h3{font-size:14px;font-weight:700;margin:0;letter-spacing:0;color:var(--g900)}
.abschnittfeld__aktionen{display:flex;gap:2px}
.abschnittfeld__titel{display:flex;align-items:center;gap:6px;flex:1;min-width:0;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:grab;text-align:left;touch-action:none}
.abschnittfeld__titel:active{cursor:grabbing}
.abschnittfeld__pfeil{color:var(--g500);font-size:10px;width:10px}
.abschnittfeld--plus .abschnittfeld__pfeil{font-size:13px}
.abschnittfeld__punkt{width:6px;height:6px;border-radius:50%;background:var(--akz);flex:none}
/* «Mehr» im Abschnittskopf (167 R3) */
.mehrknopf{display:inline-flex;align-items:center;gap:5px;border:0;background:0;padding:2px 6px;border-radius:var(--r-klein);cursor:pointer;color:var(--tx-2);font-size:12px;font-weight:600}
.mehrknopf:hover{color:var(--tx);background:var(--g100)}
.mehrknopf[aria-expanded="true"]{color:var(--tx)}
.mehrfeld{margin-top:var(--a2);padding-top:var(--a2);border-top:1px dashed var(--linie)}
.mehrfeld > .textknopf{padding-left:0}
.otkurz{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:var(--a2)}
.otkurz .textknopf{padding-right:0}
.designumschalter{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:2px var(--a3) 0;flex:none}
.designumschalter .feld__spur{margin:0 auto 0 0}
.designumschalter .textknopf{padding:2px 4px;min-height:0;height:auto}
:root .abschnittfeld.abschnittfeld--plus.ist-zu{padding-top:4px;padding-bottom:4px}
:root .abschnittfeld.ist-zu > .abschnittfeld__kopf{margin-bottom:0}
.abschnittfeld.ist-zu{padding-bottom:var(--a3)}
.abschnittfeld.ist-in-bewegung{opacity:.6;background:var(--g100)}
/* Inhalt rollt, statt zu schrumpfen: in der niedrigen unteren Reitergruppe (167 R2) quetschte die Spalte sonst Blöcke
   mit overflow unter ihre Höhe, der letzte Knopf lag halb ausserhalb der Rollfläche */
.leistenkoerper > *{flex-shrink:0}
.zeile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--a2);margin-bottom:var(--a2)}
.zeile:last-child{margin-bottom:0}
.zeile--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.zeile--1{grid-template-columns:minmax(0,1fr)}
.zeile--voll{display:flex;gap:var(--a2);align-items:center;margin-bottom:var(--a2)}
.zeile--voll > *{flex:1;min-width:0}
.feldlabel{font-size:12px;color:var(--g700);margin:0 0 4px}

/* Zahlenfeld */
/* Felder in Paletten: Spectrum-2-Picker-Fläche (gray-100), beim Bearbeiten Rand gray-800 */
.zahl{display:flex;align-items:center;height:var(--h);border:1px solid transparent;border-radius:var(--r-klein);background:var(--g100);
  min-width:0;transition:background var(--tempo),border-color var(--tempo)}
.zahl:hover{background:var(--g200)}
.zahl:focus-within{border-color:var(--g800);background:var(--g25)}
.zahl__label{flex:none;min-width:22px;padding:0 2px 0 10px;color:var(--g700);cursor:ew-resize;user-select:none;white-space:nowrap}
/* Eigener Tippzustand: sonst zieht die Trefferkorrektur des Fingers ins Eingabefeld daneben */
.zahl__label:active{color:var(--g900)}
.zahl__eingabe{flex:1;min-width:0;width:100%;border:0!important;background:transparent!important;box-shadow:none!important;
  padding:0 4px!important;font-size:13px!important;color:var(--tx)!important;font-variant-numeric:tabular-nums;height:30px;outline:0}
.zahl__einheit{flex:none;padding-right:10px;color:var(--g600)}
.zahl.ist-aus{opacity:.55}
.auswahlfeld{width:100%;height:var(--h);font-size:13px!important;padding:0 28px 0 10px!important;border-radius:var(--r-klein)!important;
  background-color:var(--g100)!important;border:1px solid transparent!important}
.auswahlfeld:hover{background-color:var(--g200)!important}
.textfeld{width:100%;height:var(--h);font-size:13px!important;padding:0 10px!important;border-radius:var(--r-klein)!important;border:1px solid var(--g500)!important;background:var(--g25)!important}
.textfeld:hover{border-color:var(--g600)!important}
.textfeld:focus{border-color:var(--g800)!important}

.symknopf{width:var(--h);height:var(--h);display:inline-grid;place-items:center;border:0;background:transparent;border-radius:var(--r-klein);
  color:var(--g800);cursor:pointer;flex:none;transition:background var(--tempo) var(--kurve),color var(--tempo) var(--kurve)}
.symknopf:hover{background:var(--g200);color:var(--g900)}
.symknopf[aria-pressed="true"]{background:var(--neutral);color:var(--neutral-auf)}
.symknopf:disabled{color:var(--g400);background:transparent;cursor:default}
.symknopf--leise{opacity:.0}
/* Ebenen: Auge und Schloss immer zu sehen, blass solange nichts ausgeblendet oder gesperrt ist */
.ebene__kopf .symknopf--leise{opacity:.45}
.ebene__name:not(.ist-offen){pointer-events:none;cursor:grab}
.ebene__kopf[draggable="true"]{cursor:grab}
.objekt__auge{width:22px!important;height:22px!important;margin-left:auto;flex:none}
.objekt.ist-aus .objekt__name,.objekt.ist-aus .sym{opacity:.45}
.objekt[data-ziel="oben"]{box-shadow:inset 0 2px 0 var(--auswahl)}
.objekt[data-ziel="unten"]{box-shadow:inset 0 -2px 0 var(--auswahl)}
.ebene__kopf[data-ziel="hinein"]{box-shadow:inset 0 0 0 2px var(--auswahl)}
.seitenbild[data-ziel="koppeln"] canvas{box-shadow:0 0 0 3px var(--auswahl);outline:2px dashed var(--auswahl);outline-offset:4px}
*:hover > .symknopf--leise,.symknopf--leise:focus-visible,.symknopf--leise[aria-pressed="true"]{opacity:1}
.segmentleiste{display:flex;background:var(--g100);border-radius:var(--r-klein);padding:0;gap:0;min-width:0}
.segmentleiste button{flex:1;min-width:0;height:var(--h);border:0;background:transparent;border-radius:var(--r-klein);cursor:pointer;color:var(--g800);
  display:grid;place-items:center;padding:0 4px;white-space:nowrap}
.segmentleiste button:hover{background:var(--g200)}
.segmentleiste button[aria-pressed="true"]{background:var(--neutral);color:var(--neutral-auf)}
.ausrichtleiste{display:flex;justify-content:space-between;gap:2px}

/* Farbwahl */
.farbwahl{display:flex;align-items:center;gap:var(--a2);height:var(--h);border-radius:var(--r-klein);background:var(--g100);padding:0 6px 0 8px;
  border:0;min-width:0;cursor:pointer;width:100%;text-align:left}
.farbwahl:hover{background:var(--g200)}
.farbwahl__chip{width:18px;height:18px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.farbwahl__chip[data-keine="true"]{background:linear-gradient(135deg,transparent 45%,var(--schlecht) 45% 55%,transparent 55%),var(--flaeche)!important}
.farbwahl__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx)}
.farbwahl__ton{width:70px;flex:none!important}
.farbwahl__ton .zahl__label{min-width:6px;padding-left:4px}
.farbliste{display:flex;flex-direction:column;max-height:320px;overflow:auto;min-width:240px;padding:4px}
.farbliste button{display:flex;align-items:center;gap:var(--a2);border:0;background:0;padding:0 10px;min-height:var(--h);border-radius:var(--r-klein);cursor:pointer;text-align:left;font-size:14px}
.farbliste button:hover{background:var(--g100)}
.farbliste button[aria-pressed="true"]{background:var(--g200);font-weight:600}
.farbliste .mono{color:var(--tx-3);margin-left:auto;font-size:12px}

/* ── Arbeitsfläche ─────────────────────────────────────────────────────── */
body.editor input,body.editor textarea,body.editor [contenteditable]{user-select:text;-webkit-user-select:text}
.flaeche{position:relative;overflow:hidden;min-width:0;min-height:0;background:var(--g100)}
.flaeche canvas{position:absolute;inset:0;display:block;touch-action:none;outline:0}
.ansicht{position:absolute;inset:0}
/* Textmodus (Auftrag 87): fortlaufender Text über der Arbeitsfläche */
.manuskript{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;background:var(--flaeche)}
.montage__kopf{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--linie)}
.montage__info{flex:1;color:var(--tx-2);font-variant-numeric:tabular-nums}
.montage__text{flex:1;min-height:0;border:0;outline:0;resize:none;padding:24px max(16px,calc(50% - 38ch));font:15px/1.7 var(--f-mono);background:var(--flaeche);color:var(--tx)}
.druckfarben__tabelle{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.druckfarben__tabelle th{text-align:left;font-weight:600;color:var(--tx-2);padding:2px 8px 4px 0;border-bottom:1px solid var(--linie)}
.druckfarben__tabelle td{padding:2px 8px 2px 0}
.druckfarben__zahl{text-align:right}
.druckfarben__hinweis{color:var(--schlecht);margin:6px 0 0}
.textmenge{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.textmenge th{text-align:left;font-weight:normal;color:var(--tx-2);padding:1px 0}
.textmenge td{text-align:right;padding:1px 0 1px 8px}
.textmenge td[data-ueber],.textmenge__ueber{color:var(--schlecht);text-align:right}
/* KI-Kürzen (Auftrag 131): Streichungen wortweise */
.kuerzen{display:flex;flex-direction:column;gap:10px}
.kuerzen__absatz{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:8px;border:1px solid var(--linie);border-radius:6px}
.kuerzen__absatz p{margin:0;line-height:1.5}
.kuerzen__absatz--aus{grid-template-columns:1fr;color:var(--tx-3)}
.kuerzen del{color:var(--schlecht);background:var(--schlecht-weich)}
.kuerzen ins{color:var(--gut);background:var(--gut-weich);text-decoration:none}
.kuerzen__gruppe{cursor:pointer;border-radius:2px}
.kuerzen__gruppe.ist-aus del{color:inherit;background:none;text-decoration:none}
.kuerzen__gruppe.ist-aus ins{display:none}
.altalle{display:flex;flex-direction:column;gap:10px}
.altalle__zeile{display:grid;grid-template-columns:auto 64px minmax(0,1fr);gap:10px;align-items:center}
.altalle__bild{width:64px;height:48px;object-fit:contain;background:var(--flaeche-2, transparent);border-radius:4px}
.flaeche[data-split]{--split:50%}
.flaeche[data-split="v"] .ansicht{right:calc(100% - var(--split))}
.flaeche[data-split="v"] .ansicht--zweit{right:0;left:var(--split);border-left:1px solid var(--linie-stark);background:var(--flaeche-2)}
.flaeche[data-split="h"] .ansicht{bottom:calc(100% - var(--split))}
.flaeche[data-split="h"] .ansicht--zweit{bottom:0;top:var(--split);border-top:1px solid var(--linie-stark);background:var(--flaeche-2)}
.splitgriff{position:absolute;z-index:6;background:transparent}
.flaeche[data-split="v"] .splitgriff{top:0;bottom:0;left:calc(var(--split) - 4px);width:8px;cursor:col-resize}
.flaeche[data-split="h"] .splitgriff{left:0;right:0;top:calc(var(--split) - 4px);height:8px;cursor:row-resize}
.splitgriff:hover{background:var(--auswahl);opacity:.35}
.zweitleiste{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--r-gross);background:var(--flaeche);box-shadow:var(--schatten-schwebe);z-index:4}
.zweitleiste__zoom{font-size:12px;color:var(--tx-2);min-width:46px;text-align:center}
/* Versionen nebeneinander (208): liegt über der Arbeitsfläche wie das Manuskript */
.vsplit{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;background:var(--flaeche);outline:0}
.vsplit__leiste{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--linie-stark);flex-wrap:wrap}
.vsplit__luecke{flex:1}
.vsplit__koppeln{display:flex;align-items:center;gap:4px;font-size:13px}
.vsplit__koerper{--anteil:.5;flex:1;min-height:0;display:flex}
.vsplit__teil{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--flaeche-2)}
.vsplit__teil[data-teil="a"]{flex:0 0 calc((100% - 300px) * var(--anteil) - 4px)}
.vsplit__teil[data-teil="b"]{flex:1 1 0}
.vsplit__kopf{padding:6px 8px;border-bottom:1px solid var(--linie)}
.vsplit__kopf select{width:100%}
.vsplit__leinwand{flex:1;min-height:0;position:relative;overflow:hidden}
.vsplit__leinwand canvas{position:absolute;inset:0;touch-action:none}
.vsplit__griff{flex:0 0 8px;cursor:col-resize;background:var(--linie-stark);background-clip:content-box;padding:0 3.5px}
.vsplit__griff:hover{background-color:var(--auswahl)}
.vsplit__liste{flex:0 0 300px;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--linie-stark)}
.vsplit__listeinner{overflow:auto;padding:10px;flex:1;min-height:0}
.vsplit__legende{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 10px;border-bottom:1px solid var(--linie-stark);font-size:12px;color:var(--tx-2)}
.vsplit__legende span{display:inline-flex;align-items:center;gap:5px}
.vsplit__legende span::before{content:"";width:10px;height:10px;border-radius:2px;flex:none}
.vsplit__legende span[data-art="geaendert"]::before{background:#e8590c}
.vsplit__legende span[data-art="neu"]::before{background:#2f9e44}
.vsplit__legende span[data-art="entfallen"]::before{background:transparent;border:1.5px dashed #c8202a}
.vsplit__telefonmenu{display:none}
/* Schmale Fläche (Paletten daneben): untereinander wie am Telefon, sonst bleiben den Fassungswahlen 90 px und sie lesen «Vorh»/«Aktu» (norman 211) */
.vsplit{container-type:inline-size}
@container (max-width:720px){
  .vsplit__koerper{flex-direction:column}
  .vsplit__teil[data-teil="a"]{flex:0 0 calc(70% * var(--anteil) - 4px)}
  .vsplit__griff{cursor:row-resize;padding:3.5px 0}
  .vsplit__liste{flex:0 0 30%;border-left:0;border-top:1px solid var(--linie-stark)}
}
@media (max-width:700px){
  .vsplit__koerper{flex-direction:column}
  .vsplit__teil[data-teil="a"]{flex:0 0 calc(70% * var(--anteil) - 4px)}
  .vsplit__griff{cursor:row-resize;padding:3.5px 0}
  .vsplit__liste{flex:0 0 30%;border-left:0;border-top:1px solid var(--linie-stark)}
  /* Kopfleiste kompakt (norman 208): nur Menüknopf und Schliessen bleiben, der Rest zieht ins Menü */
  .vsplit__leiste{flex-wrap:nowrap;padding:6px 8px}
  .vsplit__nurdesktop{display:none}
  .vsplit__telefonmenu{display:inline-flex}
}
.texteingabe{position:absolute;width:1px;height:20px;opacity:0;padding:0;border:0;resize:none;overflow:hidden;
  pointer-events:none;left:0;top:0;font-size:16px;z-index:1;caret-color:transparent}
/* Frei im Arbeitsbereich: beidseits 64 px für die Schwebeknöpfe (Chat, Video), zu schmal → zweite Zeile statt Überlappen */
.werkzeugleiste-schwebend{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;
  flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 128px);padding:6px;background:var(--flaeche);border:0;border-radius:var(--r-gross);box-shadow:var(--schatten-schwebe);z-index:5}
.werkzeugleiste-schwebend .trennstrich{width:1px;height:24px;background:var(--linie);margin:0 4px}
.wz{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--r);background:transparent;color:var(--g800);cursor:pointer}
.wz:hover{background:var(--g200);color:var(--g900)}
.wz[aria-pressed="true"]{background:var(--neutral);color:var(--neutral-auf)}
.wz:disabled{opacity:.35;cursor:default}
.folgebalken{position:absolute;inset:0;border:2px solid var(--farbe);pointer-events:none;z-index:4}
.folgebalken span{position:absolute;top:0;left:50%;transform:translateX(-50%);background:var(--farbe);color:#fff;font-weight:600;
  padding:3px 10px;border-radius:0 0 8px 8px;pointer-events:auto;cursor:pointer}
.inline-hinweis{position:absolute;left:50%;top:32px;transform:translateX(-50%);background:var(--tx);color:var(--bg);padding:3px 10px;border-radius:6px;z-index:6;font-variant-numeric:tabular-nums}

/* ── Menüs und Popover ─────────────────────────────────────────────────── */
.schwebe{position:fixed;z-index:80;background:var(--flaeche);border:1px solid var(--g200);border-radius:var(--r);
  box-shadow:var(--schatten-schwebe);font-size:14px;color:var(--tx)}
.schwebe--menue{padding:0;background:transparent;border:0;box-shadow:none}
/* Tooltip: ein Element für alle, Farben aus den Tokens des Oberflächenstils */
.tipp{position:fixed;inset:auto;margin:0;z-index:200;max-width:320px;padding:4px 8px;border:1px solid var(--linie);border-radius:var(--r-klein);
  background:var(--neutral);color:var(--neutral-auf);box-shadow:var(--schwebe);font:var(--t-mini)/1.35 var(--f-ui);
  pointer-events:none;overflow:visible;white-space:normal}
.tipp kbd{margin-left:8px;font:inherit;opacity:.7;font-variant-numeric:tabular-nums}
.menue{position:relative;background:var(--flaeche);border:1px solid var(--g200);border-radius:var(--r);
  box-shadow:var(--schatten-schwebe);padding:6px;min-width:230px;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
/* Untermenü: im Schwebefenster neben dem Menü, Lage aus menu() (dom.js) – nicht im Menü, das rollt */
.menue__unter{position:absolute}
.menue__eintrag{display:flex;align-items:center;width:100%;gap:8px;border:0;background:0;padding:0 10px;min-height:min(var(--h), 30px);font-size:14px;border-radius:var(--r-klein);cursor:pointer;
  text-align:left;color:var(--tx);white-space:nowrap}
.menue__eintrag:hover:not(:disabled),.menue__eintrag:focus-visible{background:var(--g100);color:var(--g900);outline:0}
.menue__eintrag:hover:not(:disabled) kbd{color:inherit;background:transparent;border-color:transparent}
.menue__eintrag:disabled{color:var(--g400);cursor:default}
.menue__haken{width:12px;flex:none}
.menue__text{flex:1}
.menue__taste{font-family:var(--f-ui);font-size:12px;padding:0;background:0;border:0;color:var(--tx-3)}
.menue__pfeil{color:inherit}
.menue__trenner{height:1px;background:var(--g200);margin:4px 10px}

/* ── Seiten ────────────────────────────────────────────────────────────── */
.listenkopf{display:flex;align-items:center;justify-content:space-between;padding:var(--a3) var(--a3) var(--a2)}
.listenkopf h3{font-size:14px;margin:0;font-weight:700}
.musterliste{display:flex;flex-direction:column;padding:0 var(--a2) var(--a3);gap:2px;border-bottom:1px solid var(--linie)}
.eintrag{display:flex;align-items:center;gap:var(--a2);padding:0 8px;border-radius:var(--r-klein);cursor:pointer;min-height:var(--h);color:var(--g800)}
.eintrag:hover{background:var(--g100)}
.eintrag[aria-current="true"]{background:var(--g200);color:var(--g900);font-weight:600}
.eintrag__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eintrag__marke{font-weight:600;min-width:18px;height:18px;border-radius:4px;display:grid;place-items:center;background:var(--flaeche-3);color:var(--tx-2);font-size:12px;padding:0 4px}
/* Musterseite aus einem anderen Dokument: Zeichen rechts, Farbe nach Stand */
.eintrag__spur{font-size:12px;color:var(--tx-2);flex:0 0 auto}
.eintrag[data-verknuepft="veraltet"] .eintrag__spur{color:var(--warnung,#a16207)}
.eintrag[data-verknuepft="weg"] .eintrag__spur{color:var(--kritisch,#c2410c)}
/* Breitere Leiste: Druckbogen fliessen nebeneinander statt untereinander */
.boegen{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--a3) var(--a4);padding:var(--a3)}
.bogen{display:flex;justify-content:center;gap:0;align-items:flex-end}
.bogen[data-solo="R"]{padding-left:72px}   /* Breite einer Miniatur, siehe tw in left.js */
.bogen[data-solo="L"]{padding-right:72px}   /* dieselbe Breite für eine übrig bleibende linke Seite (norman 190/5) */
.bogen--oben{flex-direction:column;align-items:center}   /* Bindung oben (190): Doppelseite übereinander */
.bogen[data-drehung]{position:relative}   /* Ansicht gedreht (198/5): Marke oben rechts am Bogen */
.bogen__drehung{position:absolute;top:-6px;right:-6px;z-index:1;font-size:10px;line-height:1;padding:2px 4px;border-radius:4px;background:var(--auswahl);color:#fff;pointer-events:none}
.bogen--oben[data-solo="R"]{padding-left:0}
.seitenbild{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;border:0;background:0;padding:0;color:var(--tx-2)}
.seitenbild canvas{display:block;background:#fff;box-shadow:0 0 0 1px var(--g300);border-radius:2px}
.seitenbild[aria-current="true"] canvas{box-shadow:0 0 0 2px var(--auswahl)}
.seitenbild[data-ziel="true"] canvas{box-shadow:-3px 0 0 0 var(--auswahl),0 0 0 1px var(--linie)}
.seitenbild[data-ziel="nach"] canvas{box-shadow:3px 0 0 0 var(--auswahl),0 0 0 1px var(--linie)}
.seitenbild--aus canvas{opacity:.35}
.seitenbild__ausicon{width:12px;height:12px;color:var(--tx-3)}
.seitenbild--frei canvas{outline:2px solid #2d9d78;outline-offset:1px}
.seitenbild__freiicon{width:12px;height:12px;color:#2d9d78}
.seitenbild__ausgabe{font-size:11px;line-height:1;color:light-dark(#a84300,#ff9a4d)}
.seitenbild__etikett{display:block;width:100%;height:3px;border-radius:2px;margin-top:1px}
.seitenbild__nr{font-size:12px;font-variant-numeric:tabular-nums;display:flex;gap:4px;align-items:center}
.seitenbild__muster{color:var(--tx-3)}
/* min-height: ein leerer Name reserviert dieselbe Zeile, sonst verschiebt sich die Nachbarseite (norman 190/5) */
.seitenbild__name{font-size:11px;line-height:1.4;min-height:1.4em;color:var(--tx-3);max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Heftplan: Status mit Farbe und Zeichen */
[data-plan]{--plan:var(--g300)}
[data-plan="arbeit"]{--plan:#e0a100}
[data-plan="korrektur"]{--plan:#d7263d}
[data-plan="fertig"]{--plan:#2e9d57}
.planstreifen{display:inline-grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:3px;background:var(--plan);color:#fff;font-size:10px;font-weight:700;line-height:1}
.heftplan{display:flex;flex-direction:column;gap:var(--a3)}
dialog.fenster--breit:has(.heftplan){max-width:min(1000px,96vw);width:1000px}
.heftplan__kopf,.heftplan__fuss{display:flex;gap:var(--a2);align-items:center;flex-wrap:wrap}
.heftplan__kopf{justify-content:space-between}
.heftplan__zaehlung{font-variant-numeric:tabular-nums}
.heftplan__fuss input{flex:1 1 110px;min-width:0}
.heftplan__feld{display:flex;flex:1 1 130px;min-width:0;align-items:center;gap:2px}
.heftplan__zaehlung{display:flex;gap:var(--a2);align-items:center;flex-wrap:wrap}
.heftplan__zaehlung [aria-pressed="true"]{text-decoration:underline}
.heftplan__warnung,[data-geaendert]{color:#fff;background:#b35c00}
.heftplan__warnung{padding:0 4px;border-radius:3px}
.heftplan__raster{display:flex;flex-wrap:wrap;gap:var(--a4) var(--a3);padding:var(--a2)}
.heftplan__bogen{display:flex;align-items:flex-start;padding:6px;border-radius:4px;cursor:pointer}
.heftplan__bogen:hover{background:var(--g100)}
.heftplan__seite{display:flex;flex-direction:column;gap:2px;width:min-content;border:0;background:0;padding:0;color:var(--tx-1);font-size:11px;text-align:left;cursor:pointer}
.heftplan__seite canvas{display:block;background:#fff;box-shadow:0 0 0 1px var(--g300)}
.heftplan__seite[aria-selected="true"] canvas{box-shadow:0 0 0 2px var(--auswahl)}
.heftplan__seite[data-gedimmt]{opacity:.3}
.heftplan__streifen{display:block;padding:1px 4px;background:var(--plan);color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.heftplan__rubrik,.heftplan__wer{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.heftplan__wer{color:var(--tx-2)}
.heftplan__frist{display:block;font-size:11px;color:var(--tx-2)}
.heftplan__frist[data-ueberfaellig]{color:#b35c00;font-weight:600}
.seitenbild__format{display:inline-grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--auswahl);color:#fff;font-size:11px;font-weight:700;line-height:1}

/* ── Ebenen ────────────────────────────────────────────────────────────── */
.ebenenliste{padding:var(--a2)}
.ebene{border-radius:6px}
.ebene__kopf{display:flex;align-items:center;gap:4px;padding:0 4px;border-radius:var(--r-klein);min-height:var(--h)}
.ebene__kopf:hover{background:var(--g100)}
.ebene__kopf[aria-current="true"]{background:var(--g200)}
.ebene__kopf[draggable="true"]{cursor:grab}
.ebene__kopf[data-ziel="oben"]{box-shadow:inset 0 2px 0 var(--auswahl)}
.ebene__kopf[data-ziel="unten"]{box-shadow:inset 0 -2px 0 var(--auswahl)}
.ebene__farbe{width:8px;height:8px;border-radius:2px;flex:none}
.ebene__name{flex:1;min-width:0;border:0;background:transparent;color:var(--tx);padding:3px 4px;border-radius:4px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.ebene__name:focus{background:var(--flaeche-2);outline:1px solid var(--ring-farbe)}
.objektliste{display:flex;flex-direction:column;padding:0 0 4px 14px}
.objekt{display:flex;align-items:center;gap:6px;padding:0 8px;border-radius:var(--r-klein);cursor:pointer;color:var(--g800);min-height:28px}
.objekt:hover{background:var(--g100)}
.objekt[aria-selected="true"]{background:var(--g200);color:var(--g900);font-weight:600}
.objekt__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.objekt .sym{display:inline-grid;color:var(--tx-3)}

/* ── Formate ───────────────────────────────────────────────────────────── */
.formatliste{display:flex;flex-direction:column;gap:1px}
.format{display:flex;align-items:center;gap:var(--a2);padding:0 8px;border-radius:var(--r-klein);cursor:pointer;min-height:var(--h);color:var(--g800)}
.format[hidden]{display:none}
.formatgruppe__kopf{display:flex;align-items:center;gap:var(--a2);padding:0 8px;min-height:var(--h);cursor:pointer;font-weight:600;color:var(--g700)}
.formatgruppe__kopf::before{content:"▾";font-size:.8em}
.formatgruppe--zu>.formatgruppe__kopf::before{content:"▸"}
.formatgruppe--zu>.format{display:none}
.formatsuche__huelle{padding:6px 8px}
.formatsuche{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid var(--g300);border-radius:var(--r-klein);font:inherit;background:var(--g25);color:var(--g800)}
.format:hover{background:var(--g100)}
.format[aria-pressed="true"]{background:var(--g200);color:var(--g900);font-weight:600}
.format__vorschau{width:22px;height:22px;border-radius:4px;display:grid;place-items:center;background:var(--flaeche-2);color:var(--tx-2);font-size:12px;flex:none;font-weight:600}
.format__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.format__info{color:var(--tx-3);white-space:nowrap}

/* ── Kommentare ────────────────────────────────────────────────────────── */
.faeden{display:flex;flex-direction:column;gap:var(--a2);padding:var(--a3)}
/* Leertext in schmaler Spalte (200/14): ohne min-width:0 verweigert der Flex-Kasten das Umbrechen,
   und overflow-x:hidden am Wirt (.leistenkoerper) schneidet den Rest einfach ab, statt zu brechen */
.faeden .leerzustand{min-width:0;overflow-wrap:anywhere}
.faeden .leerzustand .titel{font-size:15px;margin-bottom:var(--a1)}
.faeden .leerzustand p{margin-bottom:0}
/* Der Leertext hat sonst keinen Platz: die Palette teilt sich die Spalte und bekommt 60–170 px, Filter und Hinweis fressen davon 118 (norman 211) */
.palette:has(.faeden .leerzustand){min-height:272px}
.faden{border:1px solid var(--g200);border-radius:var(--r);padding:var(--a3);background:var(--flaeche);cursor:pointer}
.faden:hover{border-color:var(--linie-stark)}
.faden[data-aktiv="true"]{border-color:var(--auswahl)}
.faden[data-erledigt="true"] .faden__text{color:var(--tx-3)}
.faden__kopf{display:flex;align-items:center;gap:var(--a2)}
.faden__name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.faden__zeit{color:var(--tx-3);white-space:nowrap}
.faden__text{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5}
.faden__antworten{margin-top:var(--a2);padding-left:var(--a3);border-left:1px solid var(--linie);display:flex;flex-direction:column;gap:var(--a2)}
.faden__aktionen{display:flex;gap:2px;margin-top:6px;flex-wrap:wrap}
.textknopf{border:0;background:0;color:var(--g800);padding:4px 8px;border-radius:var(--r-klein);cursor:pointer;font-size:13px;font-weight:600}
.start__version .textknopf{padding:0;font:inherit;color:var(--akz);text-decoration:underline}
.textknopf:hover{background:var(--g200)}
.verfassen{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.verfassen textarea{width:100%;min-height:60px;resize:vertical;font-size:12px;padding:6px 8px;border-radius:6px}
.verfassen .knopfreihe{justify-content:flex-end}
.erwaehnfeld{position:relative}
.erwaehnliste{position:absolute;left:0;right:0;top:100%;z-index:20;display:flex;flex-direction:column;padding:4px;background:var(--flaeche);
  border:1px solid var(--g200);border-radius:6px;box-shadow:var(--schatten-schwebe)}
.erwaehnliste button{text-align:left;padding:5px 8px;border-radius:4px;font-size:12px}
.erwaehnliste button:first-child,.erwaehnliste button:hover{background:var(--g100)}
.kleinavatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:12px;background:var(--farbe,#888);flex:none}

/* ── Dialoge ───────────────────────────────────────────────────────────── */
/* Dialog wächst mit dem Inhalt bis ans Fenster (auch beim Ändern der Fenstergrösse); Kopf und Knöpfe
   bleiben stehen, nur der Inhalt scrollt – und nur, wenn das Fenster zu klein ist. Ecke zieht die Grösse. */
dialog.fenster{margin:auto;font-size:13px;max-height:calc(100dvh - 32px);overflow:hidden;resize:both;min-width:min(280px,92vw);min-height:120px}
/* Von Hand an der Ecke gezogen (resize setzt width inline): die Höchstbreite der Dialogart gilt dann nicht mehr, nur das Fenster */
dialog.fenster[style*="width"]{max-width:calc(100vw - 32px)!important}
dialog.fenster[open]{display:flex;flex-direction:column}
dialog.fenster > form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.fenster__kopf,.fenster__fuss{flex:none}
.fenster__koerper .segmentleiste{flex-wrap:wrap}
.fenster__koerper .segmentleiste button{min-width:max-content}
dialog.fenster--breit{max-width:min(760px,94vw)}
dialog.fenster--breit:has(.satzdialog){max-width:min(1080px,96vw);width:1080px}
.fenster__koerper{flex:1 1 auto;min-height:0;overflow:auto}
/* Datenraster (Auftrag 153): im Dialog nimmt das Raster die freie Höhe und scrollt allein; der Rest steht */
.fenster__koerper:has(> .diagrammdialog .datenraster){display:flex;flex-direction:column}
.fenster__koerper > .diagrammdialog:has(.datenraster){flex:1 1 auto;min-height:0}
.diagrammdialog > .dialogfeld:has(> .datenraster){flex:1 1 auto;min-height:0}
.datenraster{display:flex;flex-direction:column;gap:4px;min-height:0;flex:1 1 auto}
.datenraster__kopf{display:flex;gap:4px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.datenraster__leiste{display:flex;gap:2px;flex-wrap:wrap}
:root .datenraster .knopf--klein{height:24px;padding:0 7px;font-size:12px;min-width:0}
.datenraster__text[aria-pressed="true"]{background:var(--akz);color:var(--akz-auf)}
/* Kopf und 12 Zeilen à 25 px ohne Rollen, auf kleinen Bildschirmen höchstens die halbe Höhe; Rollbalken sichtbar */
.datenraster__fenster{flex:1 0 auto;min-height:min(330px,50vh);overflow:auto;border:1px solid var(--linie);border-radius:var(--r-klein);
  scrollbar-width:auto;scrollbar-color:var(--g500) var(--g100)}
.datenraster__tabelle{border-collapse:collapse;width:100%;table-layout:fixed}
.datenraster__tabelle th,.datenraster__tabelle td{border:1px solid var(--linie);padding:0;min-width:64px}
.datenraster__tabelle tr > :first-child{border-left:0}.datenraster__tabelle tr > :last-child{border-right:0}
.datenraster__tabelle thead tr > *{border-top:0;background:var(--g100);font-weight:600;font-size:12px;text-align:left;padding:0 6px;height:24px;position:sticky;top:0;z-index:1}
.datenraster__tabelle thead th:has(input){padding:0}
:root .datenraster input.datenraster__zelle[type=text]{width:100%;height:24px;min-height:0;border:0;border-radius:0;background:transparent;padding:0 6px;font:inherit;font-size:12px;box-shadow:none;font-variant-numeric:tabular-nums}
:root .datenraster thead input.datenraster__zelle[type=text]{font-weight:600}
:root .datenraster select.datenraster__zelle{width:100%;height:24px;min-height:0;border:0;border-radius:0;background-color:transparent;padding:0 18px 0 6px;font:inherit;font-size:12px;box-shadow:none}
:root .datenraster select.datenraster__zelle:focus{outline:2px solid var(--akz);outline-offset:-2px;background-color:var(--g25)}
:root .datenraster input.datenraster__zelle:focus{outline:2px solid var(--akz);outline-offset:-2px;background:var(--g25)}
.datenraster__zelle.ist-zahl{text-align:right}
.datenraster__zelle.ist-markiert{background:color-mix(in srgb,var(--akz) 14%,transparent) !important}
.datenraster__zelle.ist-fehler{color:var(--schlecht);background:color-mix(in srgb,var(--schlecht) 12%,transparent) !important}
.datenraster__zelle[readonly]{color:var(--tx-2)}
.dialograster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--a3) var(--a4)}
.dialograster--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dialogfeld{display:flex;flex-direction:column;gap:4px;min-width:0}
.dialogfeld > label,.dialogfeld > .feldlabel{font-size:12px;color:var(--tx-2);margin:0}
.dialogfeld input[type=text],.dialogfeld input[type=number],.dialogfeld select{width:100%}
/* Haken als Wert eines beschrifteten Felds: Schrift wie die übrigen Haken */
.dialogfeld > .haken{font-size:13px;color:var(--g800);min-height:var(--h, 30px)}
.dialogfeld--kontrolle{flex-direction:row;align-items:center;gap:6px}
.dialogfeld--kontrolle input{flex:none}
.dialogfeld--breit{grid-column:1/-1}
/* Ordnung (Auftrag 154): Knopfleiste – Nebenaktionen links, die Lücke schiebt Abbrechen und Hauptaktion nach rechts */
.fenster__luecke{flex:1 1 0;min-width:var(--a4)}
.fenster__standard{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;overflow:hidden;pointer-events:none}
/* Haken und Radios stehen bündig mit Beschriftungen und Feldkanten, nicht mit dem Rand des Browsers eingerückt */
.fenster__koerper :is(input[type=checkbox],input[type=radio]){margin:0;flex:none}
/* Zweispaltige Zeilen aus den Paletten laufen im Dialog auf dem Spaltenabstand des Dialograsters */
.fenster__koerper .zeile:not(.zeile--voll):not(.zeile--tab){column-gap:var(--a4)}
/* Dateiwahl sieht aus wie ein Nebenknopf */
.fenster__koerper input[type=file]{font:inherit;font-size:12px;color:var(--tx-2);max-width:100%}
.fenster__koerper input[type=file]::file-selector-button{font:inherit;font-size:13px;height:28px;padding:0 12px;margin:0 var(--a2) 0 0;border:0;border-radius:var(--r-klein);
  background:var(--g100);color:var(--g800);cursor:pointer}
.fenster__koerper input[type=file]::file-selector-button:hover{background:var(--g200)}
/* Exportieren: links Vorgabe und Seiten, rechts die Optionen; ohne linke Spalte (EPUB, Katalog) schmal */
dialog.fenster:has(.exportraster__links:not([hidden])){max-width:min(920px,96vw);width:920px}
.exportraster{display:flex;gap:var(--a5);align-items:flex-start}
.exportraster__links{flex:0 0 300px;min-width:0}
.exportraster__rechts{flex:1 1 0;min-width:0}
@media (max-width:760px){.exportraster{flex-direction:column;align-items:stretch}.exportraster__links{flex-basis:auto}}
/* Waagrechte Reiterleiste für Dialoge mit zwei bis fünf Bereichen */
.einstellungen__reiter.einstellungen__reiter--quer{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--linie);padding:0 0 var(--a2);margin-bottom:var(--a3)}
/* Kompakte Dialogzeilen: Beschriftung links, Felder rechts; Gruppen mit Titel in der Linie */
.dialogzeile{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:8px}
.dialogzeile > label{font-size:12px;color:var(--tx-2);text-align:left;margin:0}
.dialogzeile__felder{display:flex;align-items:center;gap:6px;min-width:0}
.dialogzeile__felder input[type=number]{width:64px;height:26px!important;padding:0 6px!important}
.dialogzeile__felder input[type=text],.dialogzeile__felder select{flex:1;min-width:0;height:26px!important}
dialog.fenster--breit:has(.dialog--kompakt):not(:has(.einstellungen)){max-width:min(520px,94vw)}
.dialogseite__paar{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dialogzeile__abstand{width:10px}
.dialogzeile__nebenlabel{font-size:12px;color:var(--tx-2)}
.dialogzeile .einheit{font-size:11px;color:var(--tx-3)}
/* Gruppen: kleine Überschrift auf einer feinen Linie statt Rahmen – wie in den Textrahmen-Optionen */
.dialoggruppe{border:0;border-top:1px solid var(--linie);border-radius:0;margin:0;padding:6px 0 0;display:grid;gap:6px;min-width:0}
.dialoggruppe > legend{font-size:12px;font-weight:600;padding:0 6px 0 0}
.dialogseite{display:grid;gap:10px}
.dialogseite__kopf{display:flex;gap:14px;align-items:flex-start}
.dialogseite__felder{flex:1;display:grid;gap:6px;min-width:0}
.dialog__blatt{flex:none;position:relative;background:#fff;box-shadow:0 0 0 1px var(--linie-stark),0 2px 6px rgba(0,0,0,.12);margin:6px 4px}
.dialog__spiegel{position:absolute;outline:1px solid #d4006e}
.dialog__lage button{min-width:30px;height:26px}
.lage{display:inline-block;border:1.5px solid currentColor;border-radius:1px}
.lage--hoch{width:9px;height:13px}.lage--quer{width:13px;height:9px}
.dialograender{display:grid;grid-template-columns:1fr 1fr auto;gap:6px 10px;align-items:center}
.dialograender .dialog__kette{grid-column:3;grid-row:1/3}
.dialog__kette{width:28px;height:28px;border:1px solid var(--linie);border-radius:var(--r-klein);background:transparent;cursor:pointer;opacity:.55}
.dialog__kette[aria-pressed="true"]{opacity:1;border-color:var(--akz);color:var(--akz-tx)}
.dialog--kompakt .dialogzeile + .dialoggruppe,.dialog--kompakt > .dialogzeile{margin-bottom:4px}
.dialogtrenner{grid-column:1/-1;border-top:1px solid var(--linie);margin:var(--a2) 0 0;padding-top:var(--a3);font-weight:600;font-size:12px}
.linkzeile{display:flex;gap:var(--a2);align-items:center;margin-bottom:var(--a3)}
.linkzeile input{flex:1;min-width:0;font-family:var(--f-mono);font-size:12px}
.farbregler{display:grid;grid-template-columns:18px minmax(0,1fr) 54px;gap:var(--a2);align-items:center;margin-bottom:var(--a2)}
.farbregler input[type=range]{margin:0}
.farbvorschau{height:56px;border-radius:var(--r-klein);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);margin-bottom:var(--a3)}

.meldungen{z-index:90}
.meldung .textknopf{padding-left:0;color:var(--g50);text-decoration:underline}

/* ── Startseite ────────────────────────────────────────────────────────── */
.start__huelle{max-width:1080px;margin:0 auto;padding:var(--a7) var(--a5) var(--a9)}
.start__kopf{display:flex;align-items:center;gap:var(--a3);margin-bottom:var(--a7)}
.anmeldung .start__kopf{margin-bottom:24px}
.start__kopf svg{color:var(--tx)}
.start__marke{font-weight:800;font-size:18px}
.vorlagen{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--a3) 10px;margin-bottom:var(--a4)}
.vorlage{display:flex;flex-direction:column;gap:2px;border:0;background:0;padding:0;cursor:pointer;text-align:left;color:var(--tx);font:inherit}
.vorlage__blatt{height:84px;margin-bottom:4px;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--r);display:flex;align-items:center;justify-content:center;
  color:var(--tx-3);transition:border-color var(--tempo) var(--kurve);gap:0}
.vorlage:hover .vorlage__blatt{border-color:var(--linie-stark)}
.vorlage:focus-visible{outline:0}
.vorlage:focus-visible .vorlage__blatt{box-shadow:var(--ring)}
.vorlage__bild{max-width:90%;max-height:70px;box-shadow:0 1px 3px rgba(13,13,18,.25);background:#fff}
.vorlage__seite{height:62px;max-width:45%;background:#fff;box-shadow:0 1px 3px rgba(13,13,18,.25);display:grid;place-items:center;color:#6a6a78;font-size:12px}
.vorlage__seite + .vorlage__seite{box-shadow:0 1px 3px rgba(13,13,18,.25),-1px 0 0 rgba(13,13,18,.12)}
.vorlage__plus{font-size:26px;font-weight:300;color:var(--tx-3)}
.vorlage__titel{font-weight:600;font-size:13px}
.vorlage__info{font-size:11px;color:var(--tx-3)}

@media (max-width:900px){
  :root{--links-b:0px;--rechts-b:240px}
  .dock--links{display:none}
  .ortsangabe,.syncstatus{display:none}
}
/* Telefon (Auftrag 199): nur die Seite, eine schlanke Kopfzeile, Kommentare als Blatt von unten.
   Keine Paletten, keine Werkzeuge, keine Steuerleiste. Die Fläche liegt in Spalte 1 – vorher stand
   sie in Spalte 2 eines einspaltigen Rasters und bekam 0 px Breite. */
.telefontitel,.kommentarknopf{display:none}
@media (max-width:640px){
  .arbeitsplatz{grid-template-columns:minmax(0,1fr)!important;--steuer-h:0px!important}
  .flaeche{grid-column:1}
  .dock,.steuerleiste,.werkzeugleiste-schwebend,.menuleiste,.chat,.videochat,#menuknopf,#inspektor,#pruefen,#leute,#rolle,#zoomknopf,.kopf > .kopf__titel,.kopf .luecke{display:none!important}
  .kopf{gap:4px;padding:0 6px}
  .telefontitel{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px;color:var(--tx)}
  .kommentarknopf{display:inline-flex;align-items:center}
  .kopf .kopfknopf,.kopf .knopf--klein,.kopf__logo{min-height:36px;flex:none}
  .flaeche .freigabeleiste{top:auto;bottom:10px;left:8px;right:8px;transform:none;max-width:none;flex-wrap:wrap;border-radius:var(--r-gross);padding:8px 10px}
  .flaeche .freigabeleiste__text{white-space:normal;flex:1 1 100%;font-size:12px}
  /* Meldungen oben unter der Kopfzeile – unten liegen Kommentarblatt und Freigabeleiste */
  .meldungen{top:calc(var(--kopf-h) + 8px);bottom:auto;left:8px;right:8px;max-width:none}
  .freigabeleiste .knopf{min-height:36px}
  /* Beim Ändern eines Textes: Rückgängig und Fertig oben rechts – unten liegt die Tastatur */
  .textleiste{position:fixed;top:calc(var(--kopf-h) + 8px);right:8px;z-index:95;display:flex;gap:8px;padding:6px;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--r-gross);box-shadow:var(--schwebe)}
  .textleiste .knopf{min-height:36px}
  body:has(#textleiste:not([hidden])) .meldungen{top:calc(var(--kopf-h) + 66px)}
  /* Versionen vergleichen (norman 208): der Hinweis oben verdeckte «⋯», «Schliessen» und die Fassungswahl */
  body:has(.vsplit) .meldungen{top:auto;bottom:var(--a5)}
}

/* ── Steuerungsleiste ──────────────────────────────────────────────────── */
.steuerleiste{grid-column:1 / -1;grid-row:2;display:flex;align-items:center;gap:var(--a2);padding:0 var(--a3);min-width:0;
  background:var(--flaeche);border-bottom:1px solid var(--linie);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap}
.steuerleiste::-webkit-scrollbar{display:none}
.steuerleiste .trennstrich{flex:none;width:1px;align-self:stretch;margin:8px 2px;background:var(--linie)}
.steuergruppe{display:flex;align-items:center;gap:6px;flex:none}
/* «…» am rechten Rand: was nicht passt, steht im Feld darunter (167 R3) */
.steuerleiste .steuermehr{flex:none;margin-left:auto;font-size:16px;line-height:1;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--tx-2)}
.steuerleiste .steuermehr:hover,.steuerleiste .steuermehr[aria-expanded="true"]{background:var(--flaeche-2)}
.steuerrest{position:fixed;z-index:60;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--flaeche);border:1px solid var(--linie);border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.18);max-width:calc(100vw - 16px);overflow-x:auto}
.steuerrest .steuergruppe{flex-wrap:wrap}
.steuerrest__zeile{display:grid;grid-template-columns:110px auto;align-items:center;gap:8px}
.steuerstapel{display:flex;flex-direction:column;gap:4px;justify-content:center}
/* Kompakte Grösse (Spectrum component-height-50/75) */
.steuerleiste .zahl{height:22px;width:96px;border-radius:6px;font-size:12px}
.steuerleiste .zahl__eingabe{height:20px;font-size:12px!important}
.steuerleiste .zahl__label{min-width:18px;padding-left:6px;display:inline-flex;align-items:center}
.steuerleiste .zahl__label .sym svg{width:14px;height:14px}
.steuerleiste .zahl__einheit{padding-right:6px;font-size:11px}
.steuerleiste .auswahlfeld{height:22px!important;font-size:12px!important;border-radius:6px!important;padding:0 22px 0 8px!important;background-position:calc(100% - 13px) 52%, calc(100% - 9px) 52%!important;width:150px}
.steuerleiste .steuerwahl--schrift{width:132px}
.steuerleiste .segmentleiste{border-radius:6px}
.steuerleiste .segmentleiste button{height:22px;min-width:24px;font-size:12px;border-radius:6px;padding:0 5px}
.steuerleiste .segmentleiste svg{width:14px;height:14px}
.steuerleiste .symknopf{width:var(--h);height:var(--h)}
.steuerleiste .farbwahl{height:22px;width:136px;border-radius:6px;font-size:12px}
.steuerleiste .farbwahl__chip{width:14px;height:14px}
.steuerfarbe{display:flex;align-items:center;gap:4px}
.steuerlabel{font-size:11px;color:var(--tx-3)}
.steuertext{font-size:12px}
.steuerleiste .haken{font-size:12px;gap:5px}
.steuerleiste .haken input{width:13px;height:13px}
.steuerleiste .knopf--klein{height:28px;font-size:12px}
.refpunkt{width:26px;height:26px;display:grid;place-items:center;border:0;background:transparent;border-radius:4px;cursor:pointer;padding:0}
.refpunkt:hover{background:var(--flaeche-2)}
.refpunkt__raster{display:grid;grid-template-columns:repeat(3,5px);gap:3px;padding:2px;border:1px solid var(--linie-stark);border-radius:2px}
.refpunkt__raster i{width:5px;height:5px;border-radius:50%;background:var(--linie-stark)}
.refpunkt__raster i[data-an="true"]{background:var(--tx)}
.refpunkt__raster--gross{grid-template-columns:repeat(3,14px);gap:10px;padding:10px;cursor:pointer}
.refpunkt__raster--gross i{width:14px;height:14px}
.refpunkt__raster--gross i:hover{background:var(--auswahl)}
.refpunkt__pop,.steuerpop{padding:8px}

/* ── Anmeldung (PHP-Version) ───────────────────────────────────────────── */
.anmeldung{min-height:100vh;display:grid;place-items:center;padding:var(--a5)}
body.start .anmeldung{min-height:calc(100vh - var(--start-rand))}
.anmeldung__karte{width:min(400px,100%);background:var(--flaeche);border:0;border-radius:var(--r-gross);padding:var(--a6);box-shadow:var(--schwebe)}
.anmeldung h1{font-size:24px!important;font-weight:800}
.anmeldung__karte input:not([type=checkbox]){width:100%}   /* das Häkchen bleibt schmal, sonst drückt es den Text an den Rand */
.anmeldung .knopf{width:100%;margin-top:var(--a2)}
.fehlertext{font-size:13px;color:var(--schlecht);margin:0 0 var(--a3)}
.start__kopf .luecke{flex:1}

/* Erweiterte Absatzeinstellungen */
.aufklapp{border-top:1px solid var(--g200);padding:6px 0}
.aufklapp summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--g800);padding:4px 0;list-style:none;display:flex;align-items:center;gap:6px}
.aufklapp summary::before{content:"";width:0;height:0;border:4px solid transparent;border-left:5px solid currentColor;transition:transform .12s}
.aufklapp[open] summary::before{transform:rotate(90deg) translateX(2px)}
.aufklapp summary::-webkit-details-marker{display:none}
.aufklapp__inhalt{padding:6px 0 4px;display:grid;gap:var(--a2)}
.aufklapp__inhalt .zeile{margin:0}
.zeile--tab{display:flex;flex-wrap:wrap;align-items:center}
.zeile--tab > .zahl{flex:1 1 92px;min-width:0}
.zeile--tab > select{flex:1 1 84px;width:auto;min-width:0}
.zeile--tab > input.feld--text{flex:0 0 44px;width:44px;text-align:center}
.zeile--tab > input.feld--code{flex:1 1 130px;text-align:left}
.feld--text{padding:0 8px!important;background-image:none!important;cursor:text}
.feld--code{font-family:"Source Code Pro",ui-monospace,monospace}
.haken{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g800)}
.haken.ist-gemischt{opacity:.7}
.unterfeld{display:grid;gap:var(--a2)}
.hinweis{margin:0;font-size:12px;color:var(--g600)}
.tablineal{position:relative;height:28px;border-radius:6px;background:var(--g100);border:1px solid var(--g300);cursor:copy;overflow:visible;touch-action:none}
.tablineal.ist-aus{cursor:default;opacity:.6}
.tablineal__strich{position:absolute;bottom:0;width:1px;height:5px;background:var(--g400);pointer-events:none}
.tablineal__strich--lang{height:9px;background:var(--g500)}
.tablineal__stopp{position:absolute;top:3px;width:12px;height:14px;margin-left:-6px;cursor:ew-resize;background:var(--akz);clip-path:polygon(50% 0,100% 100%,0 100%)}
.tablineal__stopp--left{clip-path:polygon(40% 0,55% 0,55% 70%,100% 70%,100% 100%,40% 100%);margin-left:-5px}
.tablineal__stopp--right{clip-path:polygon(45% 0,60% 0,60% 100%,0 100%,0 70%,45% 70%);margin-left:-7px}
.tablineal__stopp--center{clip-path:polygon(43% 0,57% 0,57% 70%,100% 70%,100% 100%,0 100%,0 70%,43% 70%)}
.tablineal__stopp--decimal{clip-path:polygon(43% 0,57% 0,57% 70%,100% 70%,100% 100%,0 100%,0 70%,43% 70%,43% 40%,80% 40%,80% 55%,43% 55%)}
.tablineal__stopp.ist-weg{opacity:.3}

/* Satz-Einstellungen */
.satzdialog{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--a4);align-items:start}
@media (max-width:760px){.satzdialog{grid-template-columns:1fr}}
.satzdialog__felder{display:grid;gap:var(--a4)}
.satzblock{display:grid;gap:var(--a3)}
.satztabelle{width:100%;border-collapse:collapse;font-size:13px}
.satztabelle th{font-weight:600;text-align:left;color:var(--g700);padding:2px 6px 2px 0;white-space:nowrap}
.satztabelle thead th{font-size:12px;color:var(--g600);font-weight:500}
.satztabelle td{padding:2px 4px}
.satztabelle input{width:100%;min-width:56px}
.regler{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:12px;color:var(--g700)}
.satzvorschau{position:sticky;top:0;display:grid;gap:8px}
.satzvorschau__kopf{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12px;color:var(--g700)}
.satzvorschau__kopf > span{font-weight:600;color:var(--g800);margin-right:auto}
.satzvorschau__breite input{width:64px}
.satzvorschau__rahmen{background:var(--g100);border:1px solid var(--g300);border-radius:8px;padding:10px;max-height:52vh;overflow:auto}
.satzvorschau__bild{display:block;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.satzvorschau__werte{font-size:12px;color:var(--g700);font-variant-numeric:tabular-nums}

/* OpenType-Palette */
.otpalette{padding:var(--a3);display:grid;gap:var(--a3)}
.otpalette__kopf{font-size:13px;color:var(--g700)}
.otpalette__kopf strong{color:var(--g900)}
.otgruppe{display:grid;gap:4px}
.otgruppe h3{margin:6px 0 2px;font-size:12px;font-weight:600;color:var(--g600);text-transform:none}
.otvorschau{display:grid;gap:2px;text-align:left;padding:6px 8px;border-radius:8px;border:1px solid transparent;background:var(--g75);color:var(--g900);cursor:pointer}
.otvorschau:hover{background:var(--g200)}
.otvorschau[aria-pressed=true]{border-color:var(--akz);background:color-mix(in srgb,var(--akz) 10%,var(--g50))}
.otvorschau__name{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:600}
.otvorschau__name code{font-weight:400;color:var(--g600);font-size:11px}
.otvorschau canvas{width:100%;height:30px;display:block}
.otvorschau.ist-ohne-wirkung .otvorschau__name{color:var(--g600)}

/* Lange Dokumente */
.fussnotentext{width:100%;min-height:120px;font:inherit;padding:8px;border-radius:8px;border:1px solid var(--g300);background:var(--g50);color:var(--g900)}
.verweis{display:grid;gap:var(--a3)}
.verweisliste{width:100%;height:auto;min-height:240px;padding:4px;border-radius:8px}
.tocliste{display:grid;gap:6px;padding-right:4px}
.tocreihe{display:grid;grid-template-columns:1fr 110px;gap:8px;align-items:center}
.tocgruppe{display:grid;gap:4px}
.tocdetail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin:0 0 6px 18px;padding-left:8px;border-left:2px solid var(--linie)}
.tocdetail[hidden]{display:none}

/* Variable Schriften */
.variabel{display:grid;gap:var(--a2)}
.achse{display:grid;gap:2px;padding:4px 0}
.achse__kopf{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--g800)}
.achse__kopf > span{margin-right:auto}
.achse__kopf code{color:var(--g600);font-size:11px}
.achse.ist-geaendert .achse__kopf > span{font-weight:600}
.achse__auto{font-size:12px}
.achse__regler{display:grid;grid-template-columns:1fr 64px;gap:8px;align-items:center}
.achse__regler input[type=range]{width:100%;accent-color:var(--akz)}
.achse__zahl{width:100%;height:28px;font-size:12px}
.verlauf{display:grid;gap:8px;margin-top:8px}
.verlauf__stopp{display:grid;grid-template-columns:1fr 64px 14px 1fr auto;gap:8px;align-items:center}
/* Ausgabe-Automatik */
dialog.fenster--breit:has(.ausgabe){max-width:min(1080px,96vw);width:1080px}
.ausgabe{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:var(--a4);max-height:calc(100dvh - 190px)}
.ausgabe__liste{display:flex;flex-direction:column;gap:2px;overflow:auto;border-right:1px solid var(--linie);padding-right:var(--a3)}
.ausgabe__eintrag{text-align:left;border:0;background:0;padding:6px 8px;border-radius:var(--r-klein);cursor:pointer;color:var(--g800);font:inherit}
.ausgabe__eintrag:hover{background:var(--g200)}
.ausgabe__eintrag[aria-pressed="true"]{background:var(--neutral);color:var(--neutral-auf)}
.ausgabe__knoepfe{display:flex;flex-direction:column;align-items:flex-start;margin-top:var(--a3)}
.ausgabe__haupt{display:flex;flex-direction:column;gap:var(--a3);overflow:auto;padding-right:4px}
/* Ausgaben ohne eigenen Rahmen: die Felder laufen auf dem Raster darüber, Linie nur zwischen zwei Ausgaben */
.ausgabe__karte{display:flex;flex-direction:column;gap:var(--a3)}
.ausgabe__karte + .ausgabe__karte{border-top:1px solid var(--linie);padding-top:var(--a3)}
.ausgabe__kartenkopf{display:flex;justify-content:space-between;align-items:center}
.ausgabe__haken{display:flex;flex-wrap:wrap;gap:var(--a2) var(--a4)}
.ausgabe__fassungen{display:flex;flex-direction:column;gap:var(--a2);margin-top:var(--a3)}
.ausgabe__fassung{display:flex;flex-direction:column;gap:var(--a2);padding-left:var(--a3);border-left:2px solid var(--linie)}
.ausgabe__variablen{display:flex;flex-wrap:wrap;gap:4px}
.ausgabe__variable{border:1px solid var(--linie);background:var(--g100);border-radius:999px;padding:2px 8px;font:12px/1.4 ui-monospace,monospace;cursor:pointer;color:var(--g800)}
.ausgabe__variable:hover{background:var(--g200)}
.ausgabe__beispiel{font-size:12px;color:var(--tx-2);margin:0;word-break:break-all}
.ausgabe__status{grid-column:1/-1;font-size:12px;color:var(--tx-2);min-height:16px}
.ausgabe__verlauf{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto}
.ausgabe__verlauf ul{margin:4px 0 0;padding-left:18px;font-size:12px}
.ausgabe__verlauf .ist-fehler{color:var(--fehler,#c0392b)}
.stapelausgabe{display:flex;flex-direction:column;gap:var(--a3)}
.stapelausgabe__docs{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow:auto}
.stapelausgabe__rahmen{position:fixed;left:-20000px;top:0;width:1280px;height:800px;border:0;visibility:hidden}
/* Buchpalette */
.buch{display:flex;flex-direction:column;gap:var(--a2);padding:var(--a2)}
.buch__aktionen{display:flex;flex-wrap:wrap;gap:4px}
.buch__regel{font-size:12px}
.buch__status{font-size:12px;color:var(--g600);min-height:1em}
.buch__wahl{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow:auto}
/* Manuskript zusammenstellen (Auftrag 148) */
.montage__liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow:auto}
.montage__zeile{display:grid;grid-template-columns:auto minmax(8em,1fr) 2fr auto;gap:8px;align-items:center;padding:4px 6px;border:1px solid var(--linie,#ccc);border-radius:4px;background:var(--flaeche,transparent)}
.montage__griff{cursor:grab;opacity:.6}
.montage__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.montage__zeile--fehler .montage__meldung,.montage__fehlerliste{color:var(--schlecht)}
.buchliste{display:flex;flex-direction:column;gap:2px}
.buchteil{display:flex;align-items:center;gap:var(--a2);padding:4px 6px;border-radius:var(--r-klein);cursor:grab;min-height:var(--h)}
.buchteil:hover{background:var(--g100)}
.buchteil[data-weg]{background:color-mix(in srgb,var(--fehler,#c0392b) 10%,transparent)}
.buchteil[data-ziel="oben"]{box-shadow:inset 0 2px 0 var(--akzent,#0d99ff)}
.buchteil[data-ziel="unten"]{box-shadow:inset 0 -2px 0 var(--akzent,#0d99ff)}
.buchteil__nr{min-width:16px;text-align:right;font-size:11px;color:var(--g600)}
.buchteil__haupt{display:flex;flex-direction:column;min-width:0;flex:1}
.buchteil__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.buchteil__spur{font-size:11px;color:var(--g600)}
.buchteil__warn{font-size:11px;color:var(--fehler,#c0392b)}
.buchbericht{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow:auto;font-size:12px}
.buchbericht__zeile{display:flex;flex-direction:column;gap:2px;padding:4px 6px;border-radius:var(--r-klein);border-left:3px solid var(--g300)}
.buchbericht__zeile.ist-klickbar{cursor:pointer}
.buchbericht__zeile.ist-klickbar:hover{background:var(--g100)}
.buchbericht__zeile[data-stufe="fehler"]{border-left-color:var(--fehler,#c0392b);color:var(--fehler,#c0392b)}
.buchbericht__zeile[data-stufe="warnung"]{border-left-color:var(--warnung,#e8a33d)}
.buchbericht__zusatz{color:var(--g600)}
/* Zeitleiste */
.zeitleiste{position:absolute;left:0;right:0;bottom:0;height:230px;max-height:70vh;z-index:5;display:flex;flex-direction:column;background:var(--bg);border-top:1px solid var(--linie);font-size:12px}
.flaeche[data-zeitleiste] .werkzeugleiste-schwebend:not([data-seite="links"]){bottom:246px}
.zeitleiste__leiste{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--linie)}
.zeitleiste__leiste .luecke{flex:1}
.zeitleiste__zeit{font-variant-numeric:tabular-nums;color:var(--tx-2);min-width:110px}
.zeitleiste__feld{display:flex;align-items:center;gap:6px;color:var(--tx-2)}
.zeitleiste__feld input{width:64px}
.zeitleiste__koerper{position:relative;flex:1;overflow:auto}
.zeitleiste__lineal,.zeitleiste__spur{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:26px}
.zeitleiste__lineal{position:sticky;top:0;z-index:2;background:var(--bg);border-bottom:1px solid var(--linie)}
.zeitleiste__name{display:block;text-align:left;border:0;background:0;font:inherit;color:var(--g800);padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.zeitleiste__skala{position:relative;cursor:ew-resize;margin-right:12px}
.zeitleiste__skala span{position:absolute;top:6px;font-size:10px;color:var(--tx-2);transform:translateX(-50%);pointer-events:none}
.zeitleiste__skala span:first-child{transform:none}
.zeitleiste__spur{border-bottom:1px solid var(--linie)}
.zeitleiste__spur.ist-ausgewaehlt{background:var(--g100)}
.zeitleiste__bahn{position:relative;margin-right:12px}
.zeitleiste__clip{position:absolute;top:3px;bottom:3px;border-radius:5px;background:#4c7cf3;color:#fff;font-size:11px;padding:0 8px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;cursor:grab;touch-action:none;min-width:8px}
.zeitleiste__clip--out{background:#d4006e}
.zeitleiste__clip--loop{background:#2d9d78}
.zeitleiste__clip.ist-aktiv{outline:2px solid var(--tx);outline-offset:1px}
.zeitleiste__griff{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:ew-resize;background:rgba(255,255,255,.35)}
.zeitleiste__kopfzeiger{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#e34850;pointer-events:none;z-index:3}
.zeitleiste__leer{padding:12px;color:var(--tx-2);margin:0}
.zeitleiste.ist-keyframes{height:400px}
.zeitleiste__eigenschaften{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 10px;border-top:1px solid var(--linie)}
.zeitleiste input[type=number],.zeitleiste select{height:26px;font-size:12px;padding-top:0;padding-bottom:0}
.zeitleiste__skala span:last-child{transform:translateX(-100%)}
.start__logo{width:40px;height:40px;flex-shrink:0}
.logo__akzent{fill:#89adb3}
.kopf__marke{width:20px;height:20px;flex-shrink:0;margin-right:2px}
.start__version{margin-top:var(--a6);font-size:11px;color:var(--tx-2)}
.datenzusammen__geaendert{background:color-mix(in srgb,#f5b400 28%,transparent)}
.datenzusammen__qr{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px var(--a3);margin-top:var(--a3)}
.datenzusammen__qr>.feldlabel{grid-column:1/-1}
.datenzusammen__qrfeld{display:flex;gap:6px;align-items:center;justify-content:space-between}
.datenzusammen__raster{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--a4);margin-top:var(--a3)}
.datenzusammen__vorschau{display:block;max-width:100%;max-height:340px;margin-top:8px;box-shadow:0 1px 4px rgba(0,0,0,.2);background:#fff}
.datenzusammen__werte{font-size:12px;color:var(--tx-2);margin-top:6px;word-break:break-word}

/* Startseite: Formatkatalog */
.formatkatalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:var(--a4)}
.formatkachel{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid var(--linie);border-radius:10px;background:var(--g25);color:inherit;font:inherit;cursor:pointer;text-align:center}
.formatkachel:hover{border-color:var(--linie-stark)}
.formatkachel__blatt{display:grid;place-items:center;height:56px;width:100%;min-width:0;overflow:hidden}
.formatkachel__seite{display:block;background:var(--g25);border:1px solid var(--g500);border-radius:2px;box-sizing:border-box}
.formatkachel__name{font-size:12px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.formatkachel__mass{font-size:11px;color:var(--g700)}

/* Startseite: Kopf, Abschnitte, Dokumentkarten – Gestalt der Landing id42.xyz (Entwurf B7, 4.11.2026):
   weisser Rand, hellgraue Fläche, klebender heller Kopf mit feiner Linie, eine Akzentfarbe Magenta, nur IBM Plex Sans.
   Die Werte stehen auf body.start und schlagen so die fünf Oberflächenstile; der Editor (body.editor) bleibt unberührt.
   --start-rand ist der weisse Rand oben, links und rechts, --start-innen der Abstand in der Fläche – beide überall gleich. */
@font-face{font-family:"Medusa Plex";font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-400.woff2) format("woff2")}
@font-face{font-family:"Medusa Plex";font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-600.woff2) format("woff2")}
@font-face{font-family:"Medusa Plex";font-weight:700 900;font-display:swap;src:url(fonts/ibm-plex-sans-700.woff2) format("woff2")}
html:has(> body.start){background:light-dark(#ffffff,#0b0b0b)}
:root body.start{
  --start-rand:24px;--start-innen:24px;--start-kopf:52px;
  --f-ui:"Medusa Plex","Source Sans 3",system-ui,sans-serif;
  --bg:light-dark(#f6f6f6,#161616);--flaeche:light-dark(#ffffff,#1f1f1f);--flaeche-2:light-dark(#ececec,#2a2a2a);--flaeche-3:light-dark(#e2e2e2,#333333);
  --linie:light-dark(#dddddd,#353535);--linie-stark:light-dark(#b4b4b4,#5a5a5a);
  --tx:light-dark(#141414,#ededed);--tx-2:light-dark(#555555,#ababab);--tx-3:light-dark(#666666,#9a9a9a);
  --akz:#c8006e;--akz-hover:light-dark(#a3005a,#e0007c);--akz-auf:#ffffff;--akz-tx:light-dark(#c8006e,#ff70b8);
  --akz-weich:light-dark(#fbe5f1,#3a1028);--akz-linie:light-dark(#eeb0d2,#7a1d50);
  --neutral:var(--akz);--neutral-auf:#ffffff;--auswahl:var(--akz-tx);--ring-farbe:var(--akz-tx);--akzent:var(--akz-tx);
  --ring:0 0 0 2px var(--flaeche),0 0 0 4px var(--akz-tx);--schwebe:0 0 0 1px var(--linie);
  --r-klein:2px;--r:2px;--r-gross:4px;
  margin:var(--start-rand) var(--start-rand) 0;min-height:calc(100vh - var(--start-rand));background:var(--bg);color:var(--tx);
  font-family:var(--f-ui);-webkit-font-smoothing:antialiased;line-height:1.45
}
:root body.start :focus-visible{outline:2px solid var(--akz-tx);outline-offset:2px}
/* Links im Text in Magenta; Karten und Marke sind auch Links, bleiben aber in der Textfarbe */
:root body.start a:not([class]){color:var(--akz-tx);text-underline-offset:3px}
:root body.start a:not([class]):hover{color:var(--tx)}
/* Knöpfe wie auf der Landing: eckig, Primär gefüllt in Magenta, die übrigen mit feiner Linie */
:root body.start .knopf{border-radius:var(--r-klein);font-weight:600;box-shadow:none}
:root body.start .knopf:not(.knopf--stumm,.knopf--still,.knopf--gefahr,.startleiste__warten):not(:disabled){background:var(--akz);color:var(--akz-auf)}
:root body.start .knopf:not(.knopf--stumm,.knopf--still,.knopf--gefahr,.startleiste__warten):not(:disabled):hover{background:var(--akz-hover)}
/* Kopf: eine Zeile, klebt im Abstand --start-rand unter der Fensterkante; der Schatten in der Randfarbe deckt den Spalt darüber */
.startleiste{position:sticky;top:var(--start-rand);z-index:20;background:var(--bg);color:var(--tx);border-bottom:1px solid var(--linie);
  box-shadow:0 calc(-1 * var(--start-rand)) 0 var(--start-rand) light-dark(#ffffff,#0b0b0b)}
.startleiste__innen{min-height:var(--start-kopf);padding:0 var(--start-innen);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.startleiste .start__heim{gap:10px;margin-right:12px}
.startleiste .start__logo{width:32px;height:32px;color:var(--tx)}
.startleiste .logo__akzent{fill:var(--tx);opacity:.45}
.startleiste .start__marke{font-size:21px;font-weight:700;letter-spacing:-.03em;color:var(--tx)}
:root body.start .startleiste__suche{flex:1 1 180px;min-width:0;max-width:360px;height:34px;margin-left:auto;padding:0 10px;font:inherit;font-size:14px;color:var(--tx);
  background:var(--flaeche)!important;border:1px solid light-dark(#8a8a8a,#767676)!important;border-radius:var(--r-klein)!important;box-shadow:none!important}
.startleiste__suche::placeholder{color:var(--tx-3)}
.startleiste__suche:focus-visible{border-color:var(--akz-tx)!important}
:root body.start .startleiste .knopf{height:34px}
.startleiste__aktionen,.start__konto{display:flex;gap:6px;align-items:center}
.startleiste + .start__huelle{max-width:none;padding:var(--start-innen) var(--start-innen) var(--a7)}
body.start .start__huelle main > :first-child{margin-top:0}
.knopf--gross{height:44px;padding:0 22px;font-size:15px;border-radius:999px}
.knopf--akzent{background:var(--akzent,#89adb3);color:#12120d}
.knopf--akzent:hover{background:#a3c3c8}
.start__abschnitt{font-size:13px;font-weight:700;letter-spacing:0;margin:var(--a5) 0 var(--a2)}
/* Rubrik wie auf der Landing: klein, Magenta, fein unterstrichen */
:root body.start .start__abschnitt{display:block;width:fit-content;font-size:14px;font-weight:600;line-height:1.4;color:var(--akz-tx);border-bottom:1px solid currentColor;padding-bottom:1px}
body.start .start__abschnitt--klappbar:hover{color:var(--tx)}
.start__abschnittkopf{display:flex;align-items:center;justify-content:space-between;gap:6px var(--a3);flex-wrap:wrap;margin:var(--a5) 0 var(--a2)}
.start__abschnittkopf .start__abschnitt{margin:0}
.start__abschnitt--klappbar{cursor:pointer;user-select:none}
.start__klapp{background:none;border:0;color:inherit;font:inherit;line-height:1;padding:0;margin-right:.35em;cursor:pointer;opacity:.5}
.start__abschnitt--klappbar:hover .start__klapp{opacity:1}
.start__listenaktionen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a2)}
/* Ordner der Dokumentliste: Baum links neben der Liste, eine Zeile je Ordner */
.start__mitbaum{display:grid;grid-template-columns:184px minmax(0,1fr);gap:var(--a4)}
.start__mitbaum:has(.ordnerbaum.ist-leer){grid-template-columns:minmax(0,1fr)}
.ordnerbaum{display:flex;flex-direction:column;gap:2px;min-width:0;align-self:start}
.ordnerbaum.ist-leer{display:none}
/* Feste Spalten Klappen · Name · + · …: Zahlen und Markierung enden in jeder Zeile an derselben Stelle,
   auch in «Alle Dokumente» und «Ohne Ordner», die kein + und … haben */
.ordnerzeile{display:grid;grid-template-columns:14px minmax(0,1fr) 20px 20px;align-items:center;gap:2px;min-width:0;padding-left:calc(var(--tiefe,0) * 14px);border-radius:var(--r-klein)}
.ordnerzeile > .ordner__knopf{grid-column:2}.ordnerzeile > .ordner__plus{grid-column:3}.ordnerzeile > .ordner__mehr{grid-column:4}
.ordner__neu{align-self:flex-start;margin:4px 0 0 16px;padding:0 8px;font-size:12px;font-weight:400;color:var(--tx-2)}
.ordner__neu:hover{color:var(--tx)}
.ordnerzeile.ist-ziel{box-shadow:inset 0 0 0 2px var(--gut)}
.ordnerzeile.ist-gesperrt{opacity:.45}
.ordner__klapp{width:14px;height:24px;flex:none;border:0;background:none;color:var(--tx-2);font:inherit;font-size:10px;line-height:1;padding:0;cursor:pointer}
.ordner__klapp:hover{color:var(--tx)}
.ordner__klapp--leer{cursor:default}
.ordner__knopf{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;height:24px;padding:0 8px;border:0;border-radius:var(--r-klein);background:transparent;color:var(--tx);font:inherit;font-size:12px;cursor:pointer;text-align:left}
.ordner__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}
.ordner__knopf:hover{background:var(--flaeche-2)}
.ordner__knopf.ist-aktiv{background:var(--neutral);color:var(--neutral-auf)}
.ordner__zahl{font-variant-numeric:tabular-nums;opacity:.6;flex:none}
.ordner__plus,.ordner__mehr{width:20px;height:24px;flex:none;border:0;border-radius:var(--r-klein);background:none;color:var(--tx-2);font:inherit;line-height:1;padding:0;cursor:pointer;opacity:0}
.ordnerzeile:hover .ordner__plus,.ordnerzeile:hover .ordner__mehr,.ordner__plus:focus-visible,.ordner__mehr:focus-visible{opacity:1}
.ordner__plus:hover,.ordner__mehr:hover{background:var(--flaeche-2);color:var(--tx)}
.dokkarte[draggable=true]{-webkit-user-drag:element}
/* Ruhige Knöpfe: Fläche mit feiner Linie, damit sie hell wie dunkel als Knopf lesbar sind (Figma hell: g100 = Hintergrund) */
body.start .knopf--stumm,body.start select.start__sortierung.auswahlfeld{background-color:var(--flaeche)!important;color:var(--tx);box-shadow:inset 0 0 0 1px var(--linie)!important;border:0}
body.start .knopf--stumm:hover{background:var(--flaeche-2)!important;box-shadow:inset 0 0 0 1px var(--linie-stark)}
body.start .knopf--stumm.ist-aktiv{background:var(--neutral)!important;color:var(--neutral-auf);box-shadow:none}
.start__sortierung{width:auto;height:28px;border:0!important}
.start__segment{display:inline-flex;gap:2px;padding:2px;border-radius:var(--r-klein);background:var(--flaeche);box-shadow:inset 0 0 0 1px var(--linie)}
body.start .start__segment .knopf{min-width:0;height:24px;background:transparent!important;box-shadow:none}
body.start .start__segment .knopf[aria-pressed="true"]{background:var(--flaeche-2)!important;color:var(--tx);box-shadow:inset 0 0 0 1px var(--linie-stark)}
.start__ablagen{display:flex;flex-wrap:wrap;width:max-content;max-width:100%;margin:0 0 var(--a3)}.start__ablagen[hidden]{display:none}
/* Farbfelder: Stellvertreter Fläche/Kontur, Ziel Rahmen/Text, Ton, Liste */
.farbfelder{display:flex;flex-direction:column;min-height:0}
.farbfelder__kopf{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--linie)}
.farbfelder__proxy{position:relative;width:46px;height:40px;flex:none}
.farbfelder__proxy button{position:absolute;width:26px;height:26px;padding:0;border:1px solid var(--linie-stark);border-radius:3px;background:var(--flaeche);display:grid;place-items:center;cursor:pointer}
.farbfelder__proxy .farbwahl__chip{width:100%;height:100%;border-radius:2px}
.farbfelder__flaeche{left:0;top:0}
.farbfelder__kontur{left:13px;top:13px}
.farbfelder__kontur .farbwahl__chip{box-shadow:inset 0 0 0 6px var(--flaeche)}
.farbfelder__proxy button[aria-pressed="true"]{z-index:2;outline:2px solid var(--akz);outline-offset:1px}
.farbfelder__t{font:900 20px/1 var(--f-ui);-webkit-text-stroke:1px var(--g800)}
.farbfelder__tausch{position:absolute!important;right:-6px;top:-4px;width:18px!important;height:18px!important}
.farbfelder__ziel button{min-width:28px;font-weight:700}
.farbfelder__rahmen{display:inline-block;width:11px;height:11px;border:1.5px solid currentColor}
.farbfelder__kopf .zahl{width:86px;margin-left:auto}
.farbfelder__liste{padding:4px 6px;overflow:auto}
.farbfelder__liste button{width:100%}
.farbfelder__name{flex:1;text-align:left}
.farbfelder__fuss{display:flex;justify-content:flex-end;padding:4px 8px;border-top:1px solid var(--linie)}
.eckenzeile{display:flex;gap:4px;align-items:center}
.eckenzeile .zahl{flex:1}
.eckenknopf{flex:none}
/* Symbole in Feldbeschriftungen und Kettenknopf: SVG, 14–16 px auf ganzen Pixeln */
.zahl__label .sym{display:inline-grid;place-items:center}
.zahl__label .sym svg{width:14px;height:14px;display:block}
.dialog__kette{display:inline-grid;place-items:center;padding:0;color:inherit}
.dialog__kette .sym svg{width:16px;height:16px;display:block}
.eckenraster{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.start__gruppe{grid-column:1/-1;margin:var(--a3) 0 0;font-size:12px;font-weight:700;color:var(--tx-2);border-bottom:1px solid var(--linie);padding-bottom:4px}
body.start .start__gruppe{font-size:13px;font-weight:600;color:var(--tx)}
.start__gruppe:first-child{margin-top:0}
.start__leer{grid-column:1/-1;margin:0;padding:var(--a4);font-size:13px;color:var(--tx-2);border:1px dashed var(--linie);border-radius:var(--r);display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.start__leer .textknopf{font-size:13px}
.start__leerknoepfe{display:flex;flex-wrap:wrap;gap:var(--a2)}
/* Umzug von Microsoft Publisher (Auftrag 176): Kasten mit ?umzug=publisher oben auf der Startseite */
.start__umzug{margin:0 0 var(--a5);padding:var(--a5);border:1px solid var(--linie);border-radius:var(--r);background:var(--flaeche)}
.start__umzug h2{margin:0 0 6px;font-size:16px}
.start__umzug p{margin:0 0 var(--a3);color:var(--tx-2);font-size:13.5px;max-width:64ch}
/* Rückmeldung der Suche: wie viel von wie viel übrig bleibt */
.start__zaehler{grid-column:1/-1;margin:0;padding:6px 2px 0;font-size:12px;color:var(--tx-2)}
/* Kacheln: dichtes Raster, Titel und Eckdaten in zwei Zeilen */
.dokumente{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:var(--a3) 10px}
.dokkarte{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;align-content:start;column-gap:4px;color:var(--tx);text-decoration:none;min-width:0;border-radius:var(--r)}
.dokkarte__bild{grid-column:1/-1;position:relative;aspect-ratio:4/3;margin-bottom:4px;border-radius:var(--r);background:var(--flaeche-2);border:1px solid var(--linie);display:grid;place-items:center;overflow:hidden}
.dokkarte__bild img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(13,13,18,.2))}
.dokkarte__initiale{font-size:36px;font-weight:800;color:var(--tx-3);line-height:1}
.dokkarte__bild.hat-bild .dokkarte__initiale{visibility:hidden}
.dokkarte__online{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:#00ff09;box-shadow:0 0 0 2px var(--flaeche-2),0 0 6px rgba(0,255,9,.7)}
.dokkarte:hover .dokkarte__bild{border-color:var(--linie-stark)}
/* Übersicht: Seitenbilder mit feiner Linie statt Schatten */
body.start .dokkarte__bild img{filter:none}
body.start :is(.vorlage__bild,.vorlage__seite,.vorlage__seite + .vorlage__seite){box-shadow:0 0 0 1px var(--linie-stark)}
body.start .formatkachel{background:var(--flaeche);border-radius:var(--r)}
body.start .start__leer{border-style:solid;background:var(--flaeche)}
body.start .anmeldung__karte{border:1px solid var(--linie);box-shadow:none}
body.start .vorlage__seite{font-size:11px;line-height:1.2;text-align:center;overflow:hidden}
body.start .ordner__knopf.ist-aktiv .ordner__zahl{opacity:1}
.dokkarte:focus-visible{outline:0}
.dokkarte:focus-visible .dokkarte__bild{box-shadow:var(--ring)}
.dokkarte__titel{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dokkarte__meta{grid-column:1;font-size:11px;line-height:1.4;color:var(--tx-3);min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.dokumente:not(.dokumente--liste) .dokkarte__feld:not(:empty):not(.dokkarte__feld--marke) ~ .dokkarte__feld:not(:empty):not(.dokkarte__feld--marke)::before{content:" · "}
.dokkarte__meta .marke{position:absolute;top:6px;left:6px}
.dokkarte__aktionen{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;align-items:center;gap:2px}
.dokkarte__weg{padding:2px 6px;font-size:11px;font-weight:500;color:var(--tx-3)}
.dokkarte__weg:hover{color:var(--schlecht)}
/* «…»-Knopf: dieselben Einträge wie das Kontextmenü, sichtbar und am Tablet bedienbar (≥ 32 px, norman 200/3) */
.dokkarte__mehr{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;border-radius:50%;color:var(--tx-3)}
.dokkarte__mehr:hover{background:var(--flaeche-2);color:var(--tx)}
/* Liste: eine Zeile je Dokument, Eckdaten rechtsbündig */
/* Acht feste Spalten: Bild, Name, Seiten, Format, Geändert, Besitzer, Marke, Löschen.
   Karten und Kopfzeile übernehmen sie per subgrid – so steht alles untereinander.
   Leere Spalten (Besitzer nur bei Admins) fallen auf Breite 0 zusammen. */
.dokumente--liste{grid-template-columns:28px minmax(0,1fr) 72px 112px 104px auto auto auto;column-gap:10px;row-gap:0;border-top:1px solid var(--linie)}
.dokumente--liste .dokkarte,.dokumente--liste .dokliste__kopf{grid-column:1/-1;display:grid;grid-template-columns:subgrid;column-gap:10px;align-items:center}
.dokumente--liste .dokkarte{min-height:40px;padding:4px 6px;border-bottom:1px solid var(--linie);border-radius:0}
.dokumente--liste .dokkarte:hover{background:var(--flaeche-2)}
.dokumente--liste .dokkarte:focus-visible{box-shadow:inset var(--ring)}
.dokumente--liste .dokkarte__bild{grid-column:1;width:28px;aspect-ratio:1;margin:0;border-radius:var(--r-klein)}
.dokumente--liste .dokkarte__initiale{font-size:13px}
.dokumente--liste .dokkarte__online{top:2px;right:2px;width:8px;height:8px}
.dokumente--liste .dokkarte__titel{grid-column:2}
.dokumente--liste .dokkarte__meta{display:contents}
.dokumente--liste .dokkarte__feld{font-size:12px;color:var(--tx-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dokumente--liste .dokkarte__feld--seiten{grid-column:3;font-variant-numeric:tabular-nums}
.dokumente--liste .dokkarte__feld--format{grid-column:4}
.dokumente--liste .dokkarte__feld--zeit{grid-column:5}
.dokumente--liste .dokkarte__feld--wer{grid-column:6}
.dokumente--liste .dokkarte__feld--marke{grid-column:7}
.dokumente--liste .dokkarte__meta .marke{position:static}
.dokumente--liste .dokkarte__aktionen{grid-column:8;grid-row:auto;flex-direction:row}
/* Kopfzeile: nur in der Liste, jede Spalte sortiert */
.dokliste__kopf{display:none}
.dokumente--liste .dokliste__kopf{padding:0 6px 5px;border-bottom:1px solid var(--linie)}
.dokliste__spalte{display:flex;align-items:center;gap:3px;min-width:0;padding:2px 0;border:0;background:none;font:inherit;font-size:11px;font-weight:600;color:var(--tx-3);text-align:left;cursor:pointer}
.dokliste__spalte:hover{color:var(--tx)}
.dokliste__spalte[aria-pressed="true"]{color:var(--tx)}
.dokliste__spalte--name{grid-column:2}
.dokliste__spalte--seiten{grid-column:3}
.dokliste__spalte--format{grid-column:4}
.dokliste__spalte--zeit{grid-column:5}
.dokliste__spalte--person{grid-column:6}
.dokliste__pfeil{font-size:9px;line-height:1}
/* In der Liste sortiert die Kopfzeile – das Auswahlfeld gehört den Kacheln */
.start__listenaktionen.ist-liste .start__sortierung{display:none}
/* Mittlere Breiten: die hinteren Spalten fallen weg */
@media (max-width:1000px){
  .dokumente--liste{grid-template-columns:28px minmax(0,1fr) 72px 0 104px 0 auto auto}
  .dokumente--liste .dokkarte__feld--format,.dokumente--liste .dokkarte__feld--wer,.dokliste__spalte--format,.dokliste__spalte--person{display:none}
}
@media (max-width:600px){
  .startleiste .start__marke{display:none}
  :root body.start{--start-rand:12px;--start-innen:12px}
  /* Telefon: Logo und die drei Knöpfe in einer Zeile, die Suche darunter */
  .startleiste__innen{padding-top:8px;padding-bottom:8px;gap:8px 6px}
  .startleiste .start__heim{margin-right:auto}
  :root body.start .startleiste .knopf{font-size:13px}
  /* Ordner als eine waagrechte Reihe über der Liste: der Baum stünde sonst sechs Zeilen hoch vor dem ersten Dokument */
  .ordnerbaum{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:2px;scrollbar-width:none}
  .ordnerzeile{flex:none;grid-template-columns:auto auto auto;padding-left:0}
  .ordnerzeile > .ordner__knopf,.ordnerzeile > .ordner__mehr{grid-column:auto}
  .ordnerzeile > .ordner__plus,.ordner__klapp--leer{display:none}
  .ordnerzeile .ordner__knopf{box-shadow:inset 0 0 0 1px var(--linie)}
  .ordner__neu{flex:none;margin:0}
  /* :root[data-stil] schlägt die Mindestbreite des Mac-Stils (68 px), sonst bricht «DE» in eine zweite Zeile */
  :root[data-stil] .startleiste__aktionen .knopf,:root[data-stil] .start__konto .knopf{padding:0 10px;min-width:0}
  :root body.start .startleiste__suche{order:9;flex-basis:100%;max-width:none}
  .start__mitbaum,.start__mitbaum:has(.ordnerbaum.ist-leer){grid-template-columns:minmax(0,1fr)}
  .dokumente{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
  /* Telefon: keine Spalten mehr, die Eckdaten stehen wieder als Fliesstext unter dem Titel */
  .dokumente--liste{grid-template-columns:minmax(0,1fr)}
  .dokumente--liste .dokliste__kopf{display:none}
  .dokumente--liste .dokkarte{grid-template-columns:28px minmax(0,1fr) auto}
  .dokumente--liste .dokkarte__meta{display:block;grid-column:2;grid-row:2;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dokumente--liste .dokkarte__feld{display:inline;font-size:11px}
  .dokumente--liste .dokkarte__feld--format,.dokumente--liste .dokkarte__feld--wer{display:inline}
  .dokumente--liste .dokkarte__feld:not(:empty):not(.dokkarte__feld--marke) ~ .dokkarte__feld:not(:empty):not(.dokkarte__feld--marke)::before{content:" · "}
  .dokumente--liste .dokkarte__meta .marke{margin-left:8px}
  .dokumente--liste .dokkarte__bild{grid-row:1/3}
  .dokumente--liste .dokkarte__aktionen{grid-column:3;grid-row:1/3}
}
/* Druckvorstufe */
.pruefknopf{white-space:nowrap}
/* Auftrag 167: unter 1440 px trägt die Kopfzeile zwölf Menüs – Druckvorstufe nur mit dem Stand, Speicherstand nur als Punkt */
@media (max-width:1439px){ .pruefknopf__wort{display:none} .syncstatus{font-size:0;gap:0} .pruefknopf{padding:0 8px} }
dialog.fenster--breit:has(.dv){max-width:min(1180px,96vw);width:1180px}
.dv{display:flex;flex-direction:column;gap:var(--a3);min-height:60vh}
.dv__reiter{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--linie);padding-bottom:6px}
.dv__reiter button{border:0;background:0;font:inherit;font-weight:600;color:var(--g800);padding:6px 10px;border-radius:var(--r-klein);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.dv__reiter button:hover{background:var(--g200)}
.dv__reiter button[aria-selected="true"]{background:var(--neutral);color:var(--neutral-auf)}
.dv__zahl{font-size:11px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--warn);color:#fff;display:inline-grid;place-items:center}
.dv__inhalt{max-height:62vh;overflow:auto}
.dv__ampel{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r);background:var(--g100);border-left:6px solid var(--gut)}
.dv__ampel strong{font-size:18px}
.dv__ampel[data-art="warnung"]{border-left-color:var(--warn)}
.dv__ampel[data-art="kritisch"]{border-left-color:var(--schlecht)}
.dv__kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--a3)}
.dv__kachel{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--r);background:var(--flaeche);border:1px solid var(--linie);border-top:4px solid var(--g300)}
.dv__kachel[data-art="gut"]{border-top-color:var(--gut)}
.dv__kachel[data-art="warnung"]{border-top-color:var(--warn)}
.dv__kachel[data-art="hinweis"]{border-top-color:var(--g400)}
.dv__kachel[data-art="kritisch"]{border-top-color:var(--schlecht)}
.dv__kachelwert{font-size:24px;font-weight:800}
.dv__kacheltitel{font-weight:600}
.dv__kachelspur{font-size:12px;color:var(--tx-2)}
.dv__tabellenhuelle{overflow:auto;border:1px solid var(--linie);border-radius:var(--r)}
.dv__tabelle{width:100%;border-collapse:collapse;font-size:12px}
.dv__tabelle th{position:sticky;top:0;background:var(--g100);text-align:left;font-weight:600;padding:6px 8px;white-space:nowrap}
.dv__tabelle td{padding:6px 8px;border-top:1px solid var(--linie);vertical-align:middle}
.dv__tabelle tr.ist-klickbar,.liste > li.ist-klickbar{cursor:pointer}
.dv__tabelle tr.ist-klickbar:hover td{background:var(--g100)}
.dv__vorschau{width:44px;height:44px;object-fit:contain;background:repeating-conic-gradient(var(--g200) 0 25%,transparent 0 50%) 0 0/10px 10px;border-radius:4px;display:block}
.dv__name{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.dv__wert{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dv__wert::before,.dv__farbraum[data-art]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g400)}
.dv__wert[data-art="gut"]::before{background:var(--gut)}
.dv__wert[data-art="warnung"]::before{background:var(--warn)}
/* Hinweis = grau wie die Marke «Hinweis» in der Liste, nicht orange wie eine Warnung */
.dv__wert[data-art="hinweis"]::before,.dv__farbraum[data-art="hinweis"]::before{background:var(--g500)}
.dv__hinweiskopf{margin:8px 0 0;font-size:var(--t-mini);font-weight:600;color:var(--tx-2)}
.dv__leise{opacity:.8}
.dv__wert[data-art="kritisch"]::before{background:var(--schlecht)}
.dv__farbraum{display:inline-flex;align-items:center;gap:6px}
.dv__farbraum[data-art=""]::before{display:none}
.dv__farbraum[data-art="gut"]::before{background:var(--gut)}
.dv__farbe{display:inline-flex;align-items:center;gap:6px}
.dv__farbfeld{width:14px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.registerliste{max-height:46vh;overflow:auto}
/* Glyphen */
.glyphen__kopf{display:flex;flex-direction:column;gap:6px;padding:var(--a3)}
.glyphen__kopf .zeile{display:flex;gap:6px}
.glyphen__kopf select{min-width:0;flex:1}
.glyphen__raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px;padding:0 var(--a3);max-height:calc(100vh - 330px);overflow:auto}
.glyphen__zelle{border:1px solid var(--linie);background:var(--flaeche);border-radius:4px;padding:0;display:grid;place-items:center;cursor:pointer;color:var(--tx)}
.glyphen__zelle:hover:not(:disabled){background:var(--g200);border-color:var(--g400)}
.glyphen__zelle:disabled{cursor:default;opacity:.85}
.glyphen__fuss{display:flex;align-items:center;gap:8px;padding:6px var(--a3);font-size:12px;color:var(--tx-2);flex-wrap:wrap}
.glyphen__tipp{font-style:italic}
.sepanzeige{position:absolute;right:16px;top:16px;z-index:6;background:#12120d;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;pointer-events:none}
.sepanzeige--mitte{right:auto;left:50%;transform:translateX(-50%)}
/* Befehlsfolgen (Auftrag 213): Aufnahmeanzeige mit Stopp, Liste im Dialog */
.folgeanzeige{top:48px;pointer-events:auto;display:flex;align-items:center;gap:8px;padding:4px 6px 4px 12px}
.folgeanzeige__punkt{width:8px;height:8px;border-radius:50%;background:#e5484d}
.folge{border-bottom:1px solid var(--linie,#8884);padding:6px 0}
.folge summary{display:flex;align-items:center;gap:10px;cursor:pointer}
.folge__name{font-weight:600;flex:1 1 auto}
.folgen__schritte{margin:8px 0;padding-left:28px}
.folgen__schritte li{margin:2px 0}
.folgen__schritte li span{display:inline-block;min-width:60%;margin-right:8px}
.folge__knoepfe{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.folge__knoepfe input{flex:1 1 160px}
/* Bibliothek */
.bibliothek__kopf{display:flex;flex-direction:column;gap:6px;padding:var(--a3)}
.bibliothek__kopf .zeile{display:flex;gap:6px;align-items:center}
.bibliothek__kopf .zeile .knopf:first-child{flex:1}
.bibliothek__kopf .zeile .auswahlfeld{flex:1;min-width:0}
/* Keyframes in der Zeitleiste */
.zeitleiste__clip--keys{background:light-dark(#dbe6ff,#26375f);color:var(--tx);overflow:visible}
.zeitleiste__clip--keys>span:first-child{pointer-events:none}
.zeitleiste__raute{position:absolute;z-index:3;top:50%;width:9px;height:9px;margin:-5px 0 0 -5px;background:var(--akz);border:1px solid var(--g25);transform:rotate(45deg);cursor:ew-resize}
.zeitleiste__raute.ist-aktiv{background:var(--g25);border-color:var(--akz);box-shadow:0 0 0 2px var(--akz)}
.zeitleiste__keys{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-width:100%;max-height:150px;overflow:auto}
.zeitleiste__keytabelle{border-collapse:collapse;font-size:12px}
.zeitleiste__keytabelle th,.zeitleiste__keytabelle td{padding:1px 3px;font-weight:400;color:var(--g700)}
.zeitleiste__keytabelle thead th{font-size:11px}
.zeitleiste__keytabelle input{width:64px;height:24px;border:1px solid var(--linie);border-radius:6px;background:var(--g25);color:inherit;font:inherit;font-size:12px;padding:0 4px}
.zeitleiste__keytabelle tr.ist-aktiv input{border-color:var(--akz)}

.liste__zeile{display:flex;align-items:center;gap:6px;width:100%;background:none;border:0;color:inherit;font:inherit;padding:2px 0;cursor:pointer;text-align:left}
.liste__zeile:hover{color:var(--akz)}
.freigabe__rahmen{margin-top:4px}
.medusa__blick{position:absolute;inset:0;z-index:40;pointer-events:none}
.medusa__blicksprite{position:absolute;image-rendering:pixelated;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));transition:filter .3s}
.medusa__blicksprite svg{width:100%;height:auto;display:block}
.medusa__blicksprite.ist-boese{filter:drop-shadow(0 4px 10px rgba(0,0,0,.35)) drop-shadow(0 0 10px rgba(255,214,90,.9))}
.medusa__stein{position:absolute;border-radius:2px;opacity:0;box-shadow:inset 0 0 0 2px rgba(0,0,0,.25)}
.medusa__stein.ist-stein{opacity:.94;clip-path:inset(0 0 0 0)!important;transition:clip-path .62s ease-out,opacity .18s ease-in}
.medusa__stein.zerfaellt{animation:medusaZerfall .4s ease-in forwards}
@keyframes medusaZerfall{to{opacity:0;transform:translateY(16px) scale(.94) rotate(1.5deg);filter:blur(2px)}}
@media (prefers-reduced-motion: reduce){.medusa__blicksprite,.medusa__stein{animation:none;transition:none}}
.medusa__rahmen{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.medusa{width:230px;max-width:60vw;cursor:pointer}
.medusa svg{width:100%;height:auto;display:block}
.medusa__blase{position:relative;margin:2px 0 0;padding:10px 16px;border:1px solid var(--linie);border-radius:14px;background:var(--flaeche);font-size:15px;max-width:34ch}
.neuigkeiten{display:flex;flex-direction:column;gap:18px;max-height:60vh;overflow:auto}
.neuigkeiten__fassung h3{display:flex;align-items:baseline;gap:10px;font-size:16px;margin:0 0 8px}
.neuigkeiten__datum{font-size:12px;font-weight:400;color:var(--g700)}
.neuigkeiten__gruppe h4{font-size:13px;margin:10px 0 4px;color:var(--g800)}
.neuigkeiten__gruppe ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}
.neuigkeiten__gruppe li{font-size:13px;line-height:1.45}
.farbfeldwahl{width:100%;height:28px;padding:2px;border:1px solid var(--linie);border-radius:6px;background:var(--g25);cursor:pointer}
.codeflaeche{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}
.codefeld{width:100%;min-height:340px;font:12px/1.5 ui-monospace,"Source Code Pro",monospace;border:1px solid var(--linie);border-radius:8px;padding:10px;background:var(--g25);color:var(--tx);resize:vertical;white-space:pre;tab-size:2}
.codevorschau{aspect-ratio:16/9;border:1px solid var(--linie);border-radius:8px;overflow:hidden;background:#111;display:grid;place-items:center;margin-bottom:8px}
.codevorschau canvas{width:100%;height:100%;display:block}
.feld__spur[data-art=fehler]{color:var(--schlecht,#d73220)}
@media (max-width:760px){.codeflaeche{grid-template-columns:minmax(0,1fr)}}
.verlauf{padding:0 var(--a3) var(--a3)}
.verlauf__schritt{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:4px 2px;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:6px}
.verlauf__schritt:hover{background:var(--g100)}
.verlauf__punkt{width:8px;height:8px;border-radius:50%;background:var(--g400);flex:none}
.verlauf__schritt[data-art=jetzt]{font-weight:700}
.verlauf__schritt[data-art=jetzt] .verlauf__punkt{background:var(--akz)}
.verlauf__schritt[data-art=offen]{opacity:.5}
.anzeige__block{padding:var(--a3);border-top:1px solid var(--linie);display:flex;flex-direction:column;gap:6px}
.anzeige__block:first-child{border-top:0}
.feld__zeile{display:flex;flex-direction:column;gap:3px}
.feld__mini{font-size:11px;color:var(--g700)}

/* Brandkits */
.kit{padding:var(--a3);border-top:1px solid var(--linie);display:flex;flex-direction:column;gap:6px}
.kit:first-of-type{border-top:0}
.kit__kopf{display:flex;align-items:center;gap:6px}
.kit__name{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kit__farben{display:flex;flex-wrap:wrap;gap:4px}
.kit__farbe{width:18px;height:18px;border-radius:4px;border:1px solid var(--linie)}
.kit__logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.kit__logo{aspect-ratio:1;border-radius:8px;border:1px solid var(--linie);background:var(--flaeche);display:grid;place-items:center;overflow:hidden;cursor:pointer;padding:2px;font-size:11px}
.kit__logo img{max-width:100%;max-height:100%}
.kit__logo:hover:not(:disabled){border-color:var(--g400);box-shadow:var(--schwebe)}
.bibliothek__raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:0 var(--a3) var(--a3)}
.bibliothek__eintrag{display:flex;flex-direction:column;gap:4px;cursor:pointer;min-width:0}
.bibliothek__bild{aspect-ratio:1;border-radius:8px;border:1px solid var(--linie);background:repeating-conic-gradient(var(--g100) 0 25%,var(--flaeche) 0 50%) 0 0/12px 12px;display:grid;place-items:center;overflow:hidden}
.bibliothek__bild img{max-width:100%;max-height:100%}
.bibliothek__eintrag:hover .bibliothek__bild{border-color:var(--g400);box-shadow:var(--schwebe)}
.bibliothek__bild--format{background:var(--flaeche)}
.bibliothek__farbe{width:100%;height:100%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.bibliothek__stil{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--g700)}
.bibliothek__stil b{font-size:20px;font-weight:600;color:var(--tx)}
.bibliothek__stil small{font-size:10px}
.bibliothek__name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Inspect-Modus */
.inspektknopf::before{background:var(--g500)}
.inspektknopf[aria-pressed="true"]{background:#12120d;color:#fff}
.inspektknopf[aria-pressed="true"]::before{background:#89adb3}
.flaeche[data-inspect]{box-shadow:inset 0 0 0 3px #e34850}
.inspektanzeige{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:10px;background:#12120d;color:#fff;font-size:12px;font-weight:600;padding:4px 6px 4px 12px;border-radius:999px}
.inspektanzeige button{border:0;border-radius:999px;background:#e34850;color:#fff;font:inherit;padding:3px 10px;cursor:pointer}
.inspekt__kopf{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:var(--a3)}
.inspekt__filter{display:flex;flex-wrap:wrap;gap:4px;padding:0 var(--a3) var(--a3)}
.inspekt__chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--g100);cursor:pointer;color:var(--g800)}
.inspekt__chip input{margin:0;width:12px;height:12px}
.inspekt__chip[data-an="true"]{background:var(--g200);color:var(--tx)}
.inspekt__block{display:flex;flex-direction:column;gap:4px}
.inspekt__zeile{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;font-size:12px;align-items:baseline}
.inspekt__schluessel{color:var(--tx-2);overflow:hidden;text-overflow:ellipsis}
.inspekt__wert{font-variant-numeric:tabular-nums;word-break:break-word;display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}
.inspekt__wert[data-art]:not([data-art=""])::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g400);flex-shrink:0}
.inspekt__wert[data-art="gut"]::before{background:var(--gut)}
.inspekt__wert[data-art="warnung"]::before,.inspekt__wert[data-art="hinweis"]::before{background:var(--warn)}
.inspekt__wert[data-art="kritisch"]::before{background:var(--schlecht)}
.inspekt__unter{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3);margin-top:6px}
.inspekt__gut{font-size:12px;color:var(--tx-2);margin:0}
.inspekt__fuss{padding:var(--a3)}
/* Viele Reiter: waagrecht scrollen statt abschneiden */
.leistenreiter{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-padding-inline:32px}
.leistenreiter::-webkit-scrollbar{display:none}
.leistenreiter button[data-tab]{flex:none;white-space:nowrap}
/* Knapp zu schmal: bis drei Reiter (untere Gruppe in win/mac) kürzen sich mit «…», der gewählte am wenigsten, der
   Titel steht im Tooltip (167 R3). Ab vier Reiter (oben bei 1440 px) bliebe von «Formate» nur «For…»: dort kein Kürzen,
   der aktive Reiter wird in die Sicht gerollt, der Rest liegt hinter ‹ und «»» */
.leistenreiter:not(.leistenreiter--viele) button[data-tab]:not([data-tab="comments"]){flex:0 1 auto;min-width:2.8em}
.leistenreiter:not(.leistenreiter--viele) button[data-tab][aria-selected="true"]{min-width:6em}
.leistenreiter .reiter__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.leistenreiter--viele .reiter__name{overflow:visible}
.leistenreiter .leistenreiter__pfeil{position:sticky;z-index:1;flex:none;align-self:stretch;width:22px;padding:0;margin:0;border:0;border-radius:0;
  background:var(--flaeche);color:var(--g800);font-size:18px;line-height:1;cursor:pointer;box-shadow:0 0 8px 4px var(--flaeche)}
.leistenreiter__pfeil[data-richtung="links"]{left:0}
.leistenreiter__pfeil[data-richtung="rechts"]{right:0}
.anzeige__pruefung:empty{display:none}
.vorlage__anzeige{background:#fff;box-shadow:0 1px 3px rgba(13,13,18,.25);display:grid;place-items:center;color:#6a6a78;font-size:11px;max-width:86%;max-height:84%;overflow:hidden}
/* Freigabe */
.freigabeleiste{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:10px;background:#12120d;color:#fff;font-size:13px;padding:6px 8px 6px 14px;border-radius:999px;box-shadow:var(--schwebe);max-width:min(92%,760px)}
.freigabeleiste__gesperrt{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.freigabeleiste__schloss{width:14px;height:14px;color:#6fd3a8}
.freigabeleiste__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.freigabe__kopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:var(--a3)}
.freigabe__status{font-weight:700;padding:3px 10px;border-radius:999px;background:var(--g200);color:var(--g800)}
.freigabe__status[data-status="pruefung"]{background:var(--warn);color:#fff}
.freigabe__status[data-status="freigegeben"]{background:var(--gut);color:#fff}
.freigabe__status[data-status="aenderungen"]{background:var(--schlecht);color:#fff}
.freigabe__block{padding:0 var(--a3) var(--a3)}
.freigabe__diffs{display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow:auto}
.freigabe__diff{margin:0;font-size:12px;line-height:1.5;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--r-klein);padding:6px 8px;white-space:pre-wrap}
.freigabe__diff .ist-neu{background:rgba(45,157,120,.22);border-radius:2px}
.freigabe__diff .ist-weg{background:rgba(227,72,80,.18);text-decoration:line-through;border-radius:2px}

/* Formeln */
.formeldialog{display:flex;flex-direction:column;gap:var(--a3);min-width:min(620px,80vw)}
.formelvorschau{width:100%;height:150px;background:var(--flaeche-2);border:1px solid var(--linie);border-radius:var(--r);color:var(--tx)}
.formeleingabe{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;padding:8px;border:1px solid var(--linie-stark);border-radius:var(--r);background:var(--flaeche);color:var(--tx);resize:vertical}
.formelzeile{display:flex;align-items:center;gap:var(--a3);flex-wrap:wrap}
.formelzeile .dialogfeld--kontrolle{flex:none}
.formelzeile input[type=text],.formelzeile input[type=number]{width:80px}
.formelbeispiele{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.hinweis[data-art="fehler"]{color:var(--schlecht)}
.hinweis[data-art="warnung"]{color:var(--warnung,#a16207)}
/* Meldung im Dialogfuss neben den Knöpfen (QR-Rechnung) */
.qrrdialog input[aria-invalid="true"]{border-color:var(--schlecht)!important;box-shadow:0 0 0 1px var(--schlecht)}
.fenster__fuss .qrr-hinweis{flex:1 1 12em;min-width:0;align-self:center;font-size:12px}

/* Einstellungen */
/* Breite am Fenster, nicht am Inhalt: sonst drückt das Polster einen waagrechten Rollbalken heraus */
dialog.fenster--breit:has(.einstellungen){width:760px}
.einstellungen{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--a4);min-height:320px}
.einstellungen__reiter{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--linie);padding-right:var(--a3)}
.einstellungen__reiter button{text-align:left;padding:8px 10px;border:0;background:transparent;border-radius:var(--r-klein);font:inherit;font-size:13.5px;color:var(--tx);cursor:pointer}
.einstellungen__reiter button:hover{background:var(--g100)}
.einstellungen__reiter button[aria-selected="true"]{background:var(--g200);font-weight:600}
.einstellungen__inhalt{min-width:0}
.einstellungen__inhalt .dialograster{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.einstellungen__inhalt .zeile{display:flex;gap:var(--a2);flex-wrap:wrap}

.segmentleiste--textmodus button{min-width:30px;font-weight:700}

/* Kopf der Seitenpalette: Dokument auf einen Blick */
.dokkopf{padding:10px 10px 8px;border-bottom:1px solid var(--linie)}
.kopf__name{display:flex;align-items:center;gap:2px;min-width:0}
.dokmenue{flex:none;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:var(--r-klein);background:transparent;color:var(--tx-2);cursor:pointer}
.dokmenue svg{width:12px;height:12px}
.dokmenue:hover,.dokmenue[aria-expanded="true"]{background:var(--g200);color:var(--tx)}
/* Dokumentname oben in der linken Spalte, fett, darunter «Seite n von m» */
.dockspalte > .kopf__titel{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:none;padding:10px 10px 8px 17px;border-bottom:1px solid var(--linie)}
.dockspalte > .kopf__titel input{flex:1;width:auto;min-width:0;font-size:14px;font-weight:700!important;padding:3px 6px;margin-left:-7px}
.dockspalte > .kopf__titel input:not(:hover):not(:focus){border-color:transparent!important;background:transparent!important}
.dockspalte > .kopf__titel .ortsangabe{font-size:12px;color:var(--tx-2)}
.dokkopf__spur{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;font-size:12px;color:var(--tx-2)}
.dokkopf__punkt{opacity:.6}

/* Texte reinigen */
.reinigen{display:flex;flex-direction:column;gap:var(--a3);min-width:min(660px,84vw)}
.reinigen__regeln{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px var(--a4)}
.reinigen__regel{padding:3px 8px;margin:0 -8px;border-radius:var(--r-klein)}
.reinigen__regel:hover{background:var(--g100)}

/* Admin- und Ideenseite */
.adminzahlen{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.adminfilter{border:1px solid var(--linie);background:var(--flaeche);border-radius:var(--r-pille);padding:6px 14px;font:inherit;font-size:13px;cursor:pointer;color:var(--tx)}
.adminfilter[aria-pressed="true"]{background:var(--g200);border-color:var(--g800);font-weight:600}
.adminfilter strong{margin-right:4px}
.adminliste,.ideenliste{display:flex;flex-direction:column;gap:10px}
.adminzeile{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--linie);border-radius:var(--r-gross);background:var(--flaeche)}
.adminzeile[data-status="warten"]{border-color:#e6a700;background:color-mix(in srgb, #e6a700 6%, var(--flaeche))}
.adminzeile[data-status="gesperrt"]{opacity:.7}
.adminzeile__name{font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.adminzeile__spur,.ideenzeile__spur{font-size:12.5px;color:var(--tx-2);margin-top:2px}
.adminzeile__notiz{font-size:13px;margin-top:6px;max-width:60ch}
.adminzeile__knoepfe{display:grid;grid-template-columns:minmax(128px,auto) auto;gap:8px;align-items:center;justify-items:end}
.adminzeile__knoepfe>:first-child{justify-self:stretch;text-align:center}
.adminzeile__du{color:var(--tx-2)}
.adminzeile .marke[data-art="warnung"]{color:light-dark(#fff,#12120d)}
.adminzeile__mehr{min-width:32px!important;padding:0 8px!important}
/* Suchfeld der Konten: sichtbarer Rand wie die übrigen Felder der Startseite */
/* :root im Selektor schlägt die Textfeld-Regel der Stile (figma: grau, ohne Rand – auf grauem Grund unsichtbar) */
:root body.start .adminsuche.textfeld{width:260px;max-width:100%;background:var(--flaeche)!important;border:1px solid var(--linie-stark)!important}
body.start .adminsuche:focus-visible{outline:2px solid var(--fokus,#0d66d0);outline-offset:1px}
.startleiste__warten{background:#e6a700!important;color:#12120d!important;text-decoration:none}
@media (max-width:760px){
  .adminzeile__knoepfe{width:100%;grid-template-columns:1fr auto}
  .adminzeile__knoepfe .knopf{min-height:40px}
  :root body.start .adminsuche.textfeld{width:100%}
}
.ideenfilter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ideenzeile{display:flex;gap:14px;padding:12px 14px;border:1px solid var(--linie);border-radius:var(--r-gross);background:var(--flaeche)}
.ideenzeile[data-status="umgesetzt"]{border-color:var(--gut,#2d9d78)}
.ideenzeile__inhalt{min-width:0;flex:1}
.ideenzeile__kopf{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ideenzeile__text{margin:6px 0 0;font-size:14px;white-space:pre-wrap}
.ideenzeile__antwort{margin:6px 0 0;font-size:13px;padding-left:10px;border-left:2px solid var(--linie)}
.ideenzeile__admin{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
/* Daumen hoch mit Zähler: ruhige Kachel, gefärbt erst, wenn man selbst dafür ist */
.ideenstimme{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:52px;height:60px;padding:6px;border:0;border-radius:var(--r);background:var(--g100);cursor:pointer;font:inherit;color:var(--g700);transition:background var(--tempo),color var(--tempo)}
.ideenstimme:hover{background:var(--g200);color:var(--auswahl)}
.ideenstimme[aria-pressed="true"]{background:color-mix(in srgb, var(--auswahl) 14%, transparent);color:var(--auswahl)}
.ideenstimme__daumen{display:block}
.ideenstimme__zahl{font-weight:700;font-size:14px;line-height:1}

/* Aufräum-Assistent: Vorschau zuerst, aufräumen danach */
.aufraeumen{display:flex;flex-direction:column;gap:var(--a3);min-width:min(620px,84vw)}
.aufraeum__schritt{align-items:flex-start;gap:8px}
.aufraeum__schritt>span{display:flex;flex-direction:column;gap:1px}
.aufraeum__bericht{display:flex;flex-direction:column;gap:6px;max-height:34vh;overflow:auto;padding:8px 10px;border:1px solid var(--linie);border-radius:var(--r);background:var(--g050)}
.aufraeum__zeile strong{display:inline-block;min-width:2ch;color:var(--akzent)}

/* Systemcheck: eine Zeile pro Prüfung, Marke links */
.systemcheck{display:flex;flex-direction:column;gap:10px;text-align:left}
.systemcheck__zeile{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}
.systemcheck__zeile>.marke{flex:none;margin-top:2px}
.systemcheck__zeile>div{flex:1}
.systemcheck__zeile .klein{color:var(--g600);margin-top:2px}
.systemcheck__titel{margin:32px 0 12px;font-size:19px!important}
.systemcheck__titel:first-of-type{margin-top:8px}
.systemcheck__meldung{margin:0 0 12px;padding:10px 14px;border-radius:var(--r-gross);background:var(--flaeche);border:1px solid var(--linie-stark)}
.systemcheck__gut{margin-top:10px}
.systemcheck__gut>summary{cursor:pointer;font-weight:600;padding:6px 0}
.systemcheck input[type=file],.start__huelle input[type=file]{font:inherit;font-size:13px}

/* Kopfzeile der Unterseiten (Konten, Ideen): dasselbe Band wie auf der Startseite,
   nur hell – dunkler Text auf hellem Blau liest sich auf einer Arbeitsseite ruhiger. */
/* Kontomenü im Systemcheck (PHP, ohne Skript): popover mit dem Aussehen von menu(), rechts unter dem Kopf
   (1080 px breit, zentriert – wie .start__kopf--unterseite) */
.kontomenue{position:absolute;inset:auto;top:56px;right:max(var(--a5), calc((100vw - 1080px) / 2 + var(--a5)));margin:0;color:var(--tx)}
.kontomenue a.menue__eintrag{color:inherit;text-decoration:none}
.kontomenue button.menue__eintrag{font:inherit;color:inherit}
.kontomenue form{margin:0}
/* Unterseiten (Konten, Ideen): Meldungen links unten – rechts stehen die Zeilenknöpfe */
body:has(.unterseitenkopf) .meldungen{right:auto;left:var(--a5)}
.unterseitenkopf{--uk-bg:var(--bg);--uk-tx:var(--tx);background:var(--uk-bg);color:var(--uk-tx);border-bottom:1px solid var(--linie)}
.start__kopf--unterseite{max-width:1080px;margin:0 auto;padding:14px var(--a5);gap:12px}
.start__heim{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;border-radius:var(--r)}
.start__heim:hover{opacity:.75}
.unterseitenkopf .start__logo{width:32px;height:32px;color:var(--uk-tx)}
.unterseitenkopf .logo__akzent{fill:var(--uk-tx);opacity:.55}
.unterseitenkopf .start__marke{font-size:17px;color:var(--uk-tx)}
.unterseitenkopf + .start__huelle{padding-top:var(--a5)}

/* Bühne der Unterseiten: Titel links, grosses Logo rechts, alles im hellen Band */
.unterseitenbuehne{max-width:1080px;margin:0 auto;padding:6px var(--a5) 30px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);align-items:center;gap:24px}
.unterseitenbuehne__zeile{margin:0 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:color-mix(in srgb,var(--uk-tx) 62%,transparent)}
.unterseitenbuehne__titel{font-size:clamp(28px,3.6vw,44px);line-height:1.04;letter-spacing:-.02em;font-weight:900;margin:0 0 10px;color:var(--uk-tx)}
.unterseitenbuehne__lead{margin:0;font-size:clamp(15px,1.5vw,18px);line-height:1.45;color:color-mix(in srgb,var(--uk-tx) 78%,transparent);max-width:46ch}
.unterseitenbuehne__medaillon{justify-self:end;width:min(100%,160px);aspect-ratio:1;display:grid;place-items:center}
.unterseitenbuehne__logo{width:100%;height:100%;color:var(--uk-tx)}
.unterseitenbuehne__logo .logo__akzent{fill:var(--akz-tx);opacity:1}
/* !important: die Stile mac und win machen jeden .knopf blau – der Rückweg ist aber kein Hauptknopf */
.unterseitenkopf .knopf--still{background:transparent!important;color:var(--uk-tx)!important;border:1px solid color-mix(in srgb,var(--uk-tx) 35%,transparent)!important;box-shadow:none!important}
.unterseitenkopf .knopf--still:hover{background:color-mix(in srgb,var(--uk-tx) 10%,transparent)!important}
.unterseitenkopf .knopf--akzent{background:var(--uk-tx);color:var(--uk-bg)}
.unterseitenkopf .knopf--akzent:hover{background:#2b2b22}
/* Reiter der Verwaltung (Konten · Systemcheck), gleich im JS- und im PHP-Kopf */
.verwaltungsreiter{display:flex;gap:4px;margin-top:18px;flex-wrap:wrap}
.verwaltungsreiter a{padding:7px 14px;border-radius:var(--r-pille);color:var(--uk-tx);text-decoration:none;font-weight:600;font-size:14px;border:1px solid color-mix(in srgb,var(--uk-tx) 30%,transparent)}
.verwaltungsreiter a:hover{background:color-mix(in srgb,var(--uk-tx) 10%,transparent)}
.verwaltungsreiter a[aria-current="page"]{background:var(--uk-tx);color:var(--uk-bg);border-color:transparent}
.verwaltungsreiter a:focus-visible{outline:2px solid var(--uk-tx);outline-offset:2px}
@media (max-width:760px){
  .unterseitenbuehne{grid-template-columns:minmax(0,1fr);padding-bottom:24px}
  .unterseitenbuehne__medaillon{display:none}
}

/* Bilder in Meldung und Eintrag */
.meldenbilder{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.meldenbild{position:relative;margin:0;width:96px;height:72px;border:1px solid var(--linie);border-radius:var(--r-klein);overflow:hidden;background:var(--g100)}
.meldenbild img{width:100%;height:100%;object-fit:cover;display:block}
.meldenbild__weg{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:13px;line-height:1;cursor:pointer}
.ideenzeile__bilder{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.ideenzeile__bilder img{width:120px;height:86px;object-fit:cover;border:1px solid var(--linie);border-radius:var(--r-klein);display:block}
.ideenzeile__bilder a:hover img{border-color:var(--akz)}

/* Systemcheck: zweispaltig, solange Platz ist – die Liste ist lang */
.systemcheck--liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px 28px}
.systemcheck--zahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 28px}
.systemcheck--zahlen .systemcheck__zeile{border-bottom:1px solid var(--linie);padding-bottom:6px}

/* ── Google Fonts ──────────────────────────────────────────────────────── */
.gfonts{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr);gap:var(--a4);align-items:start}
.gfonts__links{display:flex;flex-direction:column;gap:var(--a2);min-width:0}
.gfliste{display:flex;flex-direction:column;gap:1px;max-height:52vh;overflow:auto;border:1px solid var(--g200);border-radius:var(--r);padding:4px}
.gfdetail{min-width:0;display:flex;flex-direction:column;gap:var(--a2)}
.gfdetail__titel{margin:0;font-size:18px}
.gfprobe{width:100%;height:44px;display:block;border:1px solid var(--g200);border-radius:var(--r);background:var(--flaeche);color:var(--tx)}
.gfschnitte{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:var(--a2)}
.gfschnitt{display:flex;align-items:center;gap:6px;white-space:nowrap}
.gfonts>.feld__spur{grid-column:1/-1}
@media (max-width:720px){.gfonts{grid-template-columns:1fr}.gfliste{max-height:32vh}}

/* ── Chat am Dokument ──────────────────────────────────────────────────── */
.faden__tipp{margin-right:auto;align-self:center;font-size:11px;color:var(--tx-3)}
.chat{position:absolute;right:14px;bottom:14px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}
.chat>*{pointer-events:auto}
.blasenknopf{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--linie);background:var(--flaeche);color:var(--tx);box-shadow:0 2px 10px rgba(13,13,18,.18);cursor:pointer;display:grid;place-items:center;font-size:19px;line-height:1}
.blasenknopf:hover{background:var(--g100)}
.chat__knopf.ist-offen{background:var(--akz);color:#fff;border-color:transparent}
.blasenzahl{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--akz);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.chat__fenster{width:min(320px,80vw);max-height:min(58vh,420px);display:flex;flex-direction:column;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--r);box-shadow:0 8px 28px rgba(13,13,18,.22);overflow:hidden}
.chat__kopf{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--linie)}
.chat__verlauf{flex:1;overflow:auto;padding:8px 10px;display:flex;flex-direction:column;gap:8px}
.chat__zeile{display:grid;grid-template-columns:auto auto 1fr;gap:0 6px;align-items:baseline}
.chat__wer{font-weight:600;font-size:12px}
.chat__zeit{font-size:11px;color:var(--tx-3)}
.chat__text{grid-column:1/-1;margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.chat__zeile--ich .chat__text{color:var(--tx-2)}
.chat__unten{display:flex;gap:6px;padding:8px 10px;border-top:1px solid var(--linie);align-items:flex-end}
.chat__feld{flex:1;resize:none;min-height:var(--h);max-height:96px;font:inherit;font-size:13px}
@media (max-width:640px){.chat__fenster{width:min(280px,86vw)}}

/* ── Videochat ─────────────────────────────────────────────────────────── */
.videochat{position:absolute;right:14px;bottom:66px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}
.videochat>*{pointer-events:auto}
.videochat__knopf.ist-offen{background:#d4006e;color:#fff;border-color:transparent}
.videochat__kacheln{display:flex;flex-direction:column;gap:6px;align-items:flex-end;max-height:min(60vh,520px);overflow:auto}
.videokachel{margin:0;position:relative;width:180px;border-radius:var(--r);overflow:hidden;background:#12120d;box-shadow:0 4px 16px rgba(13,13,18,.25)}
.videokachel video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#12120d}
.videokachel--ich video{transform:scaleX(-1)}
.videokachel figcaption{position:absolute;left:0;right:0;bottom:0;padding:3px 7px;font-size:11px;font-weight:600;color:#f2f1ea;background:linear-gradient(transparent,rgba(13,13,18,.75));border-bottom:2px solid transparent}
.videochat__leiste{display:flex;gap:6px;justify-content:flex-end}
.videochat__schalter{width:var(--h);height:var(--h);border-radius:50%;border:1px solid var(--linie);background:var(--flaeche);cursor:pointer;font-size:14px;line-height:1;display:grid;place-items:center}
.videochat__schalter:hover{background:var(--g100)}
.videochat__schalter--weg{background:#d4006e;color:#fff;border-color:transparent}
@media (max-width:640px){.videokachel{width:132px}}

/* Farbart-Marken in den Farbfeldern */
.farbart__huelle{display:inline-grid;place-items:center;flex:none;line-height:0}
.farbart__sym{display:block;line-height:0}
.farbart{display:block}
.farbliste .farbart__huelle{margin-left:auto}

/* Werkzeugleiste wahlweise links am Rand statt schwebend unten (Ansicht › Werkzeugleiste links) */
.werkzeugleiste-schwebend[data-seite="links"]{left:0;top:0;bottom:0;transform:none;flex-direction:column;flex-wrap:nowrap;max-width:none;justify-content:flex-start;
  padding:6px 3px;border-radius:0;border-right:1px solid var(--linie);box-shadow:none;overflow-y:auto;overflow-x:hidden}
.werkzeugleiste-schwebend[data-seite="links"] .trennstrich{width:22px;height:1px;margin:4px 0}
.flaeche[data-wz="links"] .ansicht{left:46px}

/* Variable Schriften: Griffe am Text (Quadrat = Breite, Stiel = Gewicht, Kreis = Neigung, Lesezeichen = optische Grösse) */
.varigriffe{position:absolute;inset:0;pointer-events:none;z-index:3}
/* «+» am Diagramm (Auftrag 204): 32 px Trefferfläche, auch für Touch */
.diagrammplus{position:absolute;inset:0;pointer-events:none;z-index:3}
.diagrammplus__knopf{position:absolute;width:32px;height:32px;margin:-16px 0 0 -16px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--auswahl);color:#fff;font:600 20px/1 system-ui,sans-serif;pointer-events:auto;cursor:pointer;box-shadow:0 1px 3px rgb(0 0 0/.3)}
.diagrammplus__knopf:focus-visible{outline:2px solid var(--auswahl);outline-offset:2px}
.varigriffe__kasten{position:absolute;border:1px solid var(--auswahl)}
.varigriffe__bogen{position:absolute;box-sizing:border-box;border:1.5px solid var(--auswahl);border-bottom:0;border-radius:999px 999px 0 0}
.varigriff{position:absolute;width:0;height:0;pointer-events:auto;touch-action:none;cursor:grab}
.varigriff.ist-aktiv{cursor:grabbing}
.varigriff__dreh{position:absolute;left:0;top:0;transform-origin:0 0}
.varigriff__knopf{position:absolute;box-sizing:border-box;background:#fff;border:1.5px solid var(--auswahl)}
.varigriff__stiel{position:absolute;background:var(--auswahl)}
/* Quadrat an der Ecke */
.varigriff--quadrat .varigriff__knopf{left:-5px;top:-5px;width:10px;height:10px}
.varigriff--quadrat::after{content:"";position:absolute;left:-10px;top:-10px;width:20px;height:20px}
/* Stiel ⊥: Höhe zeigt das Gewicht */
.varigriff--stiel .varigriff__dreh{width:0}
.varigriff--stiel .varigriff__stiel{left:-.75px;top:0;width:1.5px;bottom:0}
.varigriff--stiel .varigriff__knopf{left:-10px;bottom:-2px;width:20px;height:0;border-width:2.5px 0 0}
.varigriff--stiel .varigriff__dreh::after{content:"";position:absolute;left:-12px;top:0;width:24px;bottom:-8px}
/* Kreis am Hebel, dreht mit dem Bogen */
.varigriff--kreis .varigriff__stiel{left:0;top:-.75px;width:10px;height:1.5px}
.varigriff--kreis .varigriff__knopf{left:10px;top:-6px;width:12px;height:12px;border-radius:50%}
.varigriff--kreis .varigriff__dreh::after{content:"";position:absolute;left:0;top:-10px;width:26px;height:20px}
/* Lesezeichen auf dem Bogen, Spitze zur Mitte */
.varigriff--zeichen .varigriff__knopf{left:-6px;top:-7px;width:12px;height:14px;border:0;background:var(--auswahl);clip-path:polygon(0 0,100% 0,100% 65%,50% 100%,0 65%)}
.varigriff--zeichen .varigriff__knopf::before{content:"";position:absolute;inset:1.5px;background:#fff;clip-path:polygon(0 0,100% 0,100% 62%,50% 96%,0 62%)}
.varigriff--zeichen .varigriff__dreh::after{content:"";position:absolute;left:-10px;top:-10px;width:20px;height:20px}
.varigriff.ist-geaendert .varigriff__knopf,.varigriff.ist-geaendert .varigriff__knopf::before{background:var(--auswahl)}
.varigriff.ist-aktiv .varigriff__knopf,.varigriff:hover .varigriff__knopf{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--auswahl) 60%,transparent))}
.varigriffe__leiste{position:absolute;display:flex;flex-wrap:wrap;gap:4px;max-width:420px;pointer-events:none}
.varischild{position:relative;display:flex;gap:4px;align-items:baseline;padding:2px 6px;border:1px solid var(--auswahl);border-radius:4px;background:#fff;color:#1d2433;
  font:500 10.5px/1.4 ui-monospace,SFMono-Regular,monospace;cursor:ew-resize;pointer-events:auto;touch-action:none;overflow:hidden}
.varischild::before{content:"";position:absolute;left:0;bottom:0;height:2px;width:calc(var(--anteil,0)*100%);background:var(--auswahl)}
.varischild b{font-weight:600;color:var(--auswahl)}
.varischild.ist-geaendert{background:color-mix(in srgb,var(--auswahl) 12%,#fff)}
.varischild--satz,.varischild--neu{cursor:pointer}
.varischild--neu{border-style:dashed}
.varigriffe__info{position:absolute;padding:2px 6px;border-radius:4px;background:var(--auswahl);color:#fff;font:500 11px/1.4 system-ui,sans-serif;white-space:nowrap}

/* Steuerleiste: jede Spalte höchstens zwei Zeilen à 22 px, auch gegen die Stilregeln
   (Figma setzt Segmente sonst auf 30 px, die Leiste quillt über) */
.steuerzeile{display:flex;align-items:center;gap:4px}
:root .arbeitsplatz .steuerleiste .segmentleiste{padding:2px;height:22px;box-sizing:border-box;align-items:center}
:root .arbeitsplatz .steuerleiste .segmentleiste button{height:18px;min-width:22px;font-size:12px;padding:0 4px;border-radius:4px}
:root .arbeitsplatz .steuerleiste .knopf--klein{height:22px;padding:0 10px;font-size:12px}
:root .arbeitsplatz .steuerleiste .textknopf{height:22px;padding:0 6px;font-size:12px;display:inline-flex;align-items:center}
:root .arbeitsplatz .steuerleiste .haken{height:22px}
:root .arbeitsplatz .steuerleiste .zahl{height:22px;box-sizing:border-box}
:root .arbeitsplatz .steuerleiste .zahl__eingabe{height:20px!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important}
.bogen--falz{perspective:500px;transform-style:preserve-3d}   /* Faltvorschau, siehe falten() in left.js */
.bogen--falz .seitenbild{transition:transform .35s ease}

/* Effekte je Teil: Name, Füllmethode, Deckkraft in einer Zeile */
.fxzeile{display:grid;grid-template-columns:4.2em minmax(0,1fr) 5.2em;gap:6px;align-items:center;margin-bottom:6px}
.fxzeile .feldlabel{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Farbwähler (Auftrag 08) */
.farbwaehler{width:240px;padding:6px;display:flex;flex-direction:column;gap:6px}
.farbwaehler__reiter{display:flex;gap:2px;border-bottom:1px solid var(--g200)}
.farbwaehler__reiter button{flex:1;border:0;background:0;padding:6px;cursor:pointer;font-size:13px;border-bottom:2px solid transparent;color:inherit}
.farbwaehler__reiter button[aria-selected="true"]{border-bottom-color:var(--akzent,#1473e6);font-weight:600}
.farbwaehler__eigene{display:flex;flex-direction:column;gap:6px}
.farbwaehler__eigene .farbliste{min-width:0;max-height:160px;padding:0}
.farbwaehler__flaechenhuelle{position:relative;width:100%;aspect-ratio:208/120;touch-action:none;cursor:crosshair}
.farbwaehler__flaeche{width:100%;height:100%;display:block;border-radius:var(--r-klein)}
.farbwaehler__marke{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0008;pointer-events:none}
.farbwaehler__farbton{width:100%;height:12px;appearance:none;border-radius:6px;background:linear-gradient(90deg,red,#ff0,lime,cyan,blue,#f0f,red)}
.farbwaehler__zeile{display:grid;grid-template-columns:4.6em minmax(0,1fr) 4.2em;gap:6px;align-items:center;font-size:13px}
.farbwaehler__zeile input[type=number],.farbwaehler__zahl input{width:100%;min-width:0;font:inherit;font-size:13px}
.farbwaehler__regler{width:100%;height:10px;appearance:none;border-radius:5px;border:1px solid var(--g200)}
.farbwaehler__regler--schach{background-color:#fff!important;background-image:linear-gradient(90deg,transparent,var(--text)),repeating-conic-gradient(#ccc 0 25%,#fff 0 50%)!important;background-size:100% 100%,8px 8px!important}
.farbwaehler__felder{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.farbwaehler__zahl{display:flex;align-items:center;gap:3px;flex:1;min-width:0;font-size:12px}
.farbwaehler__modus{display:flex;justify-content:space-between;align-items:center}
.farbwaehler__summe[data-warnung="true"]{color:var(--rot,#d7373f)}
.farbwaehler__titel{font-size:12px;font-weight:600;padding:6px 10px 2px}
.farbwaehler__kopf{display:flex;gap:8px;align-items:center}
.farbwaehler__eintrag .farbwaehler__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.farbwaehler__fuss,.farbwaehler__hinweis{font-size:11px;margin:0}
.auswahlfarben{display:flex;flex-direction:column;gap:4px}
.auswahlfarben__zeile{display:flex;align-items:center;gap:6px}
.auswahlfarben__zeile .farbwaehler__eintrag{flex:1;display:flex;gap:6px;align-items:center;border:0;background:0}
.fxknopf{font-style:italic;font-weight:600;font-family:Georgia,serif}
.fxfenster{display:flex;flex-direction:column;gap:12px;min-width:min(620px,86vw)}
.fxfenster__mitte{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;min-height:190px}
.fxfenster__kopf{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px}
.fxliste{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--linie,rgba(128,128,128,.25));padding-right:10px}
.fxliste__zeile{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:4px}
.fxliste__zeile[aria-selected="true"]{background:var(--flaeche-3,rgba(128,128,128,.15))}
.fxliste__zeile[aria-disabled="true"]{opacity:.45}
.fxliste__platz{display:inline-block;width:13px}
.fxwerte{display:flex;flex-direction:column;gap:8px}
.fxwerte__titel{font-weight:600}
.fxsumme{font-size:12px;display:flex;flex-direction:column;gap:2px;opacity:.85}
.fxsumme__zeile{display:flex;gap:8px;flex-wrap:wrap}
/* Textrahmen-Optionen kompakt: Gruppen in zwei Spalten, Beschriftung neben dem Feld */
.tfdialog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;align-items:start}
.tfgruppe{border:0;border-top:1px solid var(--linie);margin:0;padding:6px 0 0;display:flex;flex-direction:column;gap:5px;min-width:0}
.tfgruppe legend{font-weight:600;font-size:12px;padding:0 6px 0 0}
.tfabhaengig{display:flex;flex-direction:column;gap:5px}
.tfabhaengig[hidden]{display:none}
.tfpaar{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}
/* Prüfprofil: drei Spalten, jede ein eigener Block – die Tab-Folge läuft Spalte für Spalte */
dialog.fenster--breit:has(.pruefprofil){max-width:min(1320px,96vw);width:1320px}
.pruefprofil{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 22px;align-items:start;--ui-feld-h:22px}
.pruefprofil__spalte{display:flex;flex-direction:column;gap:0;min-width:0}
@media (max-width:900px){.pruefprofil{grid-template-columns:1fr}}
/* Feldhöhe 22 statt 24 px (--ui-feld-h): drei volle Spalten Prüfungen passen so bei 1440×900 (seit 229–234) */
/* Prüfungen: kompakte Zeilen, damit es bei 1440×900 nicht rollt (norman-Nachbesserung 200/9: im Stil
   «win» reicht die vorige Dichte nicht mehr, seit neue Prüfungen dazukamen) */
.pruefprofil .tfgruppe{gap:1px;padding-top:2px}
/* Textmuster (224): Erklärsatz und Knopf eng, sonst fehlen bei 1440×900 ein paar Pixel */
.pruefprofil .feld__spur{margin:0;line-height:1.25}
/* Einleitungssatz knapp: im Stil win bleibt wegen höherer Knopfleiste weniger Höhe (dialoggroessen 1440×900) */
.stapel-vert:has(> .pruefprofil){gap:6px}
.stapel-vert:has(> .pruefprofil) > p{margin:0;font-size:12px;line-height:1.3}
html:root dialog .pruefprofil .dialogfeld.tfzeile label{font-size:12px;line-height:1.2}
html:root dialog .pruefprofil .dialogfeld.tfzeile{grid-template-columns:minmax(0,1fr) 7.5em}
/* !important: die Eingaberegel in base.css (neun :not()) schlug die Höhe sonst mit 32 px – die Schwellen rollten in figma/spectrum/win */
dialog .pruefprofil .dialogfeld.tfzeile input,dialog .pruefprofil .dialogfeld.tfzeile select{height:22px!important;min-height:22px}
dialog .pruefprofil .dialogfeld.tfzeile input{padding:0 6px!important}
/* Exportieren › Ausschiessen: zwei Spalten */
.exportbogen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-items:start}
@media (max-width:700px){.exportbogen{grid-template-columns:1fr}}
.tfpaar .dialogfeld.tfzeile{grid-template-columns:minmax(0,1fr) 5em}
/* Beschriftung links: auf der Grundlinie des Felds, auch wenn sie umbricht (erste Zeile, quark 155/6b) */
.dialogfeld.tfzeile{display:grid;grid-template-columns:minmax(0,1fr) 6.5em;align-items:first baseline;gap:6px;margin:0}
/* Lange Beschriftungen (auch übersetzt) brechen um, statt abgeschnitten zu werden */
.dialogfeld.tfzeile label{font-size:12px;margin:0;line-height:1.25;overflow-wrap:anywhere}
.dialogfeld.tfzeile input,.dialogfeld.tfzeile select{min-height:26px;padding:2px 6px;width:100%;min-width:0}
.tfdialog .haken{font-size:13px;margin:0}
@media (max-width:620px){.tfdialog{grid-template-columns:1fr}}
/* Auswahlfelder einer Gruppe gleich breit und rechtsbündig mit den Zahlenfeldern */
.dialogfeld.tfzeile:has(select){grid-template-columns:minmax(0,1fr) minmax(8em,55%)}
/* Ebenenliste: Gruppen auf- und zuklappen */
.objekt__klapp{width:14px;min-width:14px;border:0;background:0;padding:0;cursor:pointer;color:inherit;font-size:10px;line-height:1;text-align:center}
.objekt__klapp:not(button){cursor:default}
/* Ebene: Farbe wählen, «druckt nicht» markieren */
input.ebene__farbe{width:14px;height:14px;padding:0;border:1px solid var(--g200);border-radius:3px;background:0;cursor:pointer}
.ebene__nichtdruck{color:var(--rot,#d7373f)}

/* ── Tablet-Betrieb ────────────────────────────────────────────────────────
   Menüleiste einklappen, Paletten als Blätter von unten, Treffflächen auf
   Fingergrösse – alles nur, wo es gebraucht wird, am Rechner bleibt es schlank. */
.menuknopf{display:none}
@media (max-width:1100px){.menuknopf{display:inline-flex}}

/* Schwebende Paletten werden auf schmalen Schirmen zu Blättern am unteren Rand */
@media (max-width:900px){
  .palette--schwebend{left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:auto!important;height:min(58vh,420px)!important;max-height:58vh;border-radius:var(--r-gross) var(--r-gross) 0 0;
    border-left:0;border-right:0;border-bottom:0;box-shadow:0 -6px 24px light-dark(rgba(0,0,0,.18),rgba(0,0,0,.55))}
  .palette--schwebend .palette__groesse{display:none}
  .palette--schwebend .leistenreiter__griff{cursor:default}
}

/* Finger und Stift: grössere Ziele, ohne dass die Maus darunter leidet */
@media (pointer:coarse),(any-pointer:coarse){
  .menue__eintrag{min-height:40px}
  .menuleiste__knopf{height:38px;padding:0 12px}
  .kopfknopf,.knopf--klein,.pruefknopf{min-height:40px}
  .wz{width:44px;height:44px}
  .leistenreiter .palette__knopf{width:36px;height:36px}
  .leistenreiter{min-height:40px}
  .dokmenue{width:32px;height:32px}
  .schliessen{min-width:36px;min-height:36px}
  /* «…»-Knöpfe (iconButton) hängen an --h, das in figma/studio/mac unter 32 px liegt (200/10);
     .steuerleiste .symknopf (Zeile 586) ist genauer und gewänne sonst gegen die Regel hier */
  .symknopf,.steuerleiste .symknopf{width:40px;height:40px}
  /* Übersicht: Ordnerzeilen fingergross, «+» und «…» ohne Hover sichtbar – sonst nur über langes Drücken erreichbar */
  .ordner__knopf,.ordner__klapp,.ordner__plus,.ordner__mehr,.ordner__neu{min-height:40px}
  .ordner__plus,.ordner__mehr{opacity:1;min-width:32px}
}
@media ((pointer:coarse) or (any-pointer:coarse)) and (min-width:601px){
  .ordnerzeile{grid-template-columns:20px minmax(0,1fr) 32px 32px}
}

/* Griffe für Textmarke und Textauswahl am Finger */
.textgriff{position:absolute;width:28px;height:28px;margin:-2px 0 0 -14px;padding:0;border:0;background:none;
  z-index:6;touch-action:none;cursor:ew-resize}
.textgriff[hidden]{display:none}
.textgriff::before{content:"";display:block;width:14px;height:14px;margin:5px;border-radius:50%;
  background:var(--auswahl);box-shadow:0 1px 4px rgba(0,0,0,.45)}

/* Mehrfachauswahl in der Dokumentenübersicht: die Zeile erscheint, sobald etwas gewählt ist */
.start__auswahl { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  padding: .4rem .6rem; margin-bottom: .5rem; border-radius: var(--radius, 6px);
  background: var(--flaeche-2, #eef2f5); }
.start__auswahlzahl { font-weight: 600; margin-right: .25rem; }
.dokkarte__haken { position: absolute; inset-inline-start: .5rem; inset-block-start: .5rem; z-index: 2;
  opacity: 0; transition: opacity .12s; }
.dokkarte { position: relative; }
.dokkarte:hover .dokkarte__haken, .dokkarte__haken:focus-visible, .dokkarte.ist-gewaehlt .dokkarte__haken { opacity: 1; }
.dokkarte.ist-gewaehlt { outline: 2px solid var(--akzent, #00728f); outline-offset: -2px; }
.dokumente--liste .dokkarte__haken { opacity: 1; inset-block-start: 50%; transform: translateY(-50%); }
/* Verknüpfungen: Name oben, Knöpfe darunter umbrechend – sonst schrumpfen sie ineinander (Auftrag 140) */
[data-palette=sources] .liste > li{flex-wrap:wrap}[data-palette=sources] .liste > li > .liste__haupt{flex-basis:100%}[data-palette=sources] .liste > li > *{flex-shrink:0}
/* Palette Datenzusammenführung (Auftrag 141) */
.datenpalette__feld .format__name,.datenpalette__zuordnung .format__name{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;height:var(--h)}
.datenpalette__feld .format__name[draggable=true]{cursor:grab}
.datenpalette__zuordnung[data-fehlt=true] .format__name{color:var(--warn)}
.datenpalette__blaettern{display:flex;gap:var(--a2);align-items:center;margin:var(--a2) 0}
.datenpalette__blaettern input{width:64px}
.datenpalette__probleme{margin:var(--a2) 0 0;padding:0;list-style:none}
.datenpalette__kopf .knopf{justify-self:start}
/* Datensätze und Feldformat in der Palette «Datenzusammenführung» (Auftrag 144) */
.datenpalette__art{max-width:88px;margin-left:auto}
.datenpalette__muster{white-space:nowrap;font-variant-numeric:tabular-nums}
.datenpalette__bedingung{gap:var(--a1);flex-wrap:wrap}
.datenpalette__bedingung select,.datenpalette__bedingung input{min-width:0;max-width:96px}
.datenpalette__tabellenhuelle{overflow:auto;max-height:260px;border:1px solid var(--linie,rgba(128,128,128,.3))}
.datenpalette__tabelle{border-collapse:collapse;font-size:11px}
.datenpalette__tabelle th{position:sticky;top:0;background:var(--flaeche,var(--bg,Canvas));text-align:left;white-space:nowrap;padding:2px 4px}
.datenpalette__tabelle td{padding:0 2px}
.datenpalette__tabelle input{width:88px;border:0;background:transparent;font:inherit;color:inherit;padding:2px}
.datenpalette__tabelle input:focus{outline:1px solid var(--akzent,Highlight)}
.datenpalette__tabelle tr.ist-aktiv td{background:color-mix(in srgb,var(--akzent,Highlight) 18%,transparent)}

/* Dokument einrichten › Typografie: Satzzeichen-Abstände je Sprache (Auftrag 152) */
.satzzeichen-tabelle { border-collapse: collapse; }
.satzzeichen-tabelle th, .satzzeichen-tabelle td { text-align: left; font-weight: normal; padding: 2px 10px 2px 0; }
/* Änderungen verfolgen (157) */
.aenderungen{display:flex;flex-direction:column;gap:8px}
.aenderungen .aenderung{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:4px}
.aenderungen .liste__spur{margin-left:auto}
.aenderung .stapel{display:flex;gap:12px}
.freigabe__kopf:has(+ .aenderungen){flex-wrap:wrap}
.aenderung[aria-current="true"]{outline:2px solid var(--akz);outline-offset:2px;border-radius:var(--r-klein)}
.aenderung__punkt{width:8px;height:8px;border-radius:50%;flex:none}

/* Gemeinsame Editor-Geometrie; Material und Farben bleiben beim Stil. */
:root body.editor{
  --ui-feld-h:24px;--ui-listenzeile-h:28px;--ui-palettenkopf-h:28px;
  --ui-gruppenkopf-h:24px;--ui-dialogkopf-h:40px;--ui-dialogfuss-h:48px;
  --ui-aktion-h:28px;--ui-werkzeug-h:32px;--ui-feld-r:4px;--ui-fenster-r:8px;
  --h:var(--ui-feld-h);--steuer-h:56px;--ui:13px;
}
:root body.editor .leistenreiter{height:var(--ui-palettenkopf-h);padding:0 8px;gap:2px}
:root body.editor .leistenreiter button{font-size:12px;padding:0 5px}
:root body.editor .leistenreiter .palette__knopf{width:var(--ui-feld-h);height:var(--ui-feld-h);padding:0;margin:0}
:root body.editor .abschnittfeld{padding:8px;margin:0}
:root body.editor .abschnittfeld__kopf{min-height:var(--ui-gruppenkopf-h);margin:0 0 4px}
:root body.editor .abschnittfeld__kopf h3{font-size:12px;line-height:16px;font-weight:600}
:root body.editor .zeile,:root body.editor .zeile--voll{gap:4px;margin-bottom:4px}
:root body.editor .zeile:last-child,:root body.editor .zeile--voll:last-child{margin-bottom:0}
:root body.editor :is(.zahl,.textfeld,.auswahlfeld,.farbwahl){height:var(--ui-feld-h);border-radius:var(--ui-feld-r)!important;font-size:13px!important}
/* Der Typfilter entspricht base.css; Textareas behalten ihre mehrzeilige Höhe. */
:root body.editor :is(.palette,.steuerleiste,.steuerrest,.fenster__koerper) input:not(.zahl__eingabe):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=image]):not([type=submit]):not([type=button]):not([type=reset]),
:root body.editor :is(.palette,.steuerleiste,.steuerrest,.fenster__koerper) select{height:var(--ui-feld-h)!important;min-height:0;font-size:13px!important;border-radius:var(--ui-feld-r)!important}
:root body.editor .zahl__eingabe,
:root body.editor .arbeitsplatz .steuerleiste .zahl__eingabe{height:100%!important;min-height:0!important}
:root body.editor .segmentleiste{padding:2px;gap:0}
:root body.editor .segmentleiste button{height:calc(var(--ui-feld-h) - 4px);font-size:13px}
:root body.editor .fenster__kopf{padding:4px 12px;min-height:var(--ui-dialogkopf-h);border-bottom:1px solid var(--linie);gap:12px;grid-template-columns:var(--ui-aktion-h) minmax(0,1fr) var(--ui-aktion-h)}
:root body.editor .fenster__titel{font-size:13px;line-height:18px;font-weight:600;min-width:0;overflow-wrap:anywhere}
:root body.editor .fenster__koerper{padding:8px 12px;font-size:13px}
:root body.editor .fenster__fuss{padding:8px 12px;min-height:var(--ui-dialogfuss-h);gap:8px;margin:0;border-top:1px solid var(--linie);background:var(--g50);justify-content:flex-end;flex-wrap:wrap}
:root body.editor .fenster__fuss .knopf{height:var(--ui-aktion-h);border-radius:var(--ui-feld-r);flex:0 1 auto;white-space:normal}
:root body.editor .fenster__luecke{flex:1 1 0;min-width:12px}
:root body.editor .schliessen{width:var(--ui-aktion-h);height:var(--ui-aktion-h);margin:0;flex:none}
:root body.editor .dialograster{gap:8px 12px}
:root body.editor .fenster__koerper .zeile:not(.zeile--voll):not(.zeile--tab){column-gap:12px}
:root body.editor .dialogzeile__felder{gap:4px}
:root body.editor .dialoggruppe{padding-top:8px;gap:8px}
:root body.editor .dialogseite{gap:12px}
:root body.editor .menue{padding:4px}
:root body.editor .menue__eintrag{min-height:var(--ui-listenzeile-h);padding:0 8px;font-size:13px;line-height:18px}
:root body.editor .menue__trenner{margin:4px 8px}
:root body.editor .werkzeugleiste-schwebend{padding:4px}
:root body.editor .wz{width:var(--ui-werkzeug-h);height:var(--ui-werkzeug-h)}
:root body.editor .arbeitsplatz .steuerleiste :is(.zahl,.auswahlfeld,.farbwahl,.knopf--klein,.textknopf,.haken){height:var(--ui-feld-h)!important}
:root body.editor .arbeitsplatz .steuerleiste .segmentleiste{height:var(--ui-feld-h);padding:2px}
:root body.editor .arbeitsplatz .steuerleiste .segmentleiste button{height:calc(var(--ui-feld-h) - 4px)}
@media (min-width:901px){
  :root body.editor .palette--schwebend{border-radius:var(--ui-fenster-r)}
}
:root body.editor dialog.fenster{border-radius:var(--ui-fenster-r)}

/* Auch ein zusätzlicher Touchscreen braucht grosse Trefferflächen. */
@media (pointer:coarse),(any-pointer:coarse){
  :root body.editor{--ui-feld-h:32px;--ui-listenzeile-h:40px;--ui-palettenkopf-h:44px;--ui-gruppenkopf-h:32px;--ui-aktion-h:40px;--ui-werkzeug-h:44px;--steuer-h:88px}
  :root body.editor .leistenreiter .palette__knopf{width:40px;height:40px}
  :root body.editor :is(.symknopf,.schliessen){min-width:40px;min-height:40px}
  :root body.editor :is(.mehrknopf,.leistenreiter button,.dokmenue,.dialog__kette,.dialog__lage button,.objekt__klapp){min-width:32px;min-height:32px}
  :root body.editor .objekt__auge{width:32px!important;height:32px!important}
  :root body.editor .haken{min-height:32px}
  :root body.editor .fenster__koerper label:has(input:is([type=checkbox],[type=radio])){min-height:32px;display:inline-flex;align-items:center}
  :root body.editor .segmentleiste button,
  :root body.editor .arbeitsplatz .steuerleiste .segmentleiste button{height:32px;min-width:32px}
  :root body.editor .arbeitsplatz .steuerleiste .segmentleiste{height:36px}
  :root body.editor .menuleiste__knopf{height:40px;padding:0 12px}
  :root body.editor :is(.kopfknopf,.knopf--klein,.pruefknopf){min-height:40px}
}
