/* =====================================================================
   MANDARAT Arbeitsansicht · arbeit-v3.css (D101 A0.1)
   Repo-owned, loaded after app.css (design-v2, byte-identical and hashed,
   shared with the vault; never edited). Only components v2 lacks, on v2's
   tokens only: no colour, font or size literal outside var(--…) except
   borders' widths and the layout numbers of a component.
   Owner: T1 (Track A). Track B writes arbeit-v3-b.css, Track C
   arbeit-v3-c.css, each loaded after this one (docs/OWNERSHIP-D101.md).
   ===================================================================== */

/* ---------- A0.1 · Kopf ---------------------------------------------- */
/* The section an item belongs to is underlined like the page itself */
.nav a[aria-current="true"]{color:var(--white);border-bottom-color:var(--gold-600)}
.marke{text-decoration:none}
.wer .tresor-link{color:var(--gold-500);text-decoration:none;border:1px solid var(--gold-700);border-radius:var(--radius);
  padding:6px 10px;min-height:36px;display:inline-flex;align-items:center}
.wer .tresor-link:hover{color:var(--gold-500);border-color:var(--gold-500)}

/* ---------- A0.2 · Etikett ------------------------------------------- */
/* KI: dashed, white; only where a model wrote the text (D101 A7, C2) */
.etikett.ki{background:var(--white);color:var(--ink);border:1px dashed var(--navy-600);padding:4px 8px}

/* ---------- A1 · Reiter, Stufen, Takt -------------------------------- */
/* Reiter: tabs of one list, each a link with its count */
.reiter{display:flex;flex-wrap:wrap;gap:0 var(--s5);border-bottom:1px solid var(--line)}
.reiter a{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);color:var(--muted);text-decoration:none;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.reiter a:hover{color:var(--ink)}
.reiter a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold-600);font-weight:500}
.reiter .zahl{font-size:var(--fs-xs);color:var(--muted)}

/* Chips that filter a list (links, not inputs) */
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chips a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--line);
  border-radius:999px;background:var(--surface);color:var(--text);text-decoration:none;font-size:var(--fs-sm)}
.chips a:hover{border-color:var(--navy-300)}
.chips a[aria-current="page"]{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}
.chips .zahl{font-variant-numeric:tabular-nums}

/* Stufen: the stage stepper of a person (Vorgemerkt … Freigeschaltet … Im Tresor erfassen) */
.stufen{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:var(--s2)}
.stufen li{border-top:3px solid var(--line);padding-top:var(--s2);font-size:var(--fs-sm);color:var(--muted)}
.stufen li.erledigt{border-top-color:var(--navy-900);color:var(--ink)}
.stufen li.jetzt{border-top-color:var(--gold-600);color:var(--ink);font-weight:500}

/* Takt: ten working days of a mandate as a bar */
.takt{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}
.takt i{display:block;height:6px;border-radius:2px;background:var(--line)}
.takt i.erledigt{background:var(--navy-900)}
.takt i.jetzt{background:var(--gold-600)}

/* Zwei Spalten: Liste links, Bereich rechts (Kontakte, Heute) */
.zwei-spalten{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:var(--s5);align-items:start}
@media (max-width:900px){.zwei-spalten{grid-template-columns:1fr}}

/* Zeile, die als Ganzes ein Link ist */
.zeilen>li>a.ganz{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none}
.zeilen>li>a.ganz:hover strong{text-decoration:underline}
.zeilen>li[aria-current="true"]{background:var(--navy-050)}

/* Bereich: the detail pane right of a list (Kontakte.html): blocks stacked, the name in the display face */
.bereich{display:flex;flex-direction:column;gap:var(--s4);min-width:0}

/* Schritte: the vertical stage stepper of a candidate; dot, label with its line, chip on the right */
.schritte{list-style:none;margin:var(--s4) 0;padding:0}
.schritte>li{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;
  border-top:1px solid var(--line-soft)}
.schritte>li>div{display:flex;flex-direction:column;gap:2px;min-width:0;padding-left:26px;position:relative}
.schritte>li>div::before{content:"";position:absolute;left:2px;top:4px;width:12px;height:12px;border-radius:50%;
  border:2px solid var(--navy-300);background:var(--surface)}
.schritte>li.erledigt>div::before{background:var(--navy-900);border-color:var(--navy-900)}
.schritte>li.offen>div::before{border-color:var(--gold-600)}
.schritte strong{color:var(--ink);font-weight:500}

/* The jump into the vault: the vault's own colours */
.knopf.tresor{background:var(--navy-950);border-color:var(--navy-950);color:var(--gold-500)}
.knopf.tresor:hover{background:var(--navy-900);color:var(--gold-500)}

/* ---------- A5 · Heute ------------------------------------------------ */
/* Kacheln: the counter row; the two deadline tiles in the alarm tone while not 0 */
.kacheln{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;gap:var(--s3);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.kacheln li{display:flex;flex-direction:column;gap:2px;padding:var(--s3) var(--s4);background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius)}
.kacheln strong{font-size:var(--fs-h1);font-weight:400;color:var(--ink);line-height:1.1}
.kacheln span{font-size:var(--fs-sm);color:var(--muted)}
.kacheln li.alarm{background:var(--alert-bg);border-color:var(--alert-fg)}
.kacheln li.alarm strong{color:var(--alert-fg)}
/* A block's head: title, count line, and the link that collapses it for good (cookie) */
details.block>summary .klappen{margin-left:auto;font-size:var(--fs-xs);color:var(--muted)}
.fuss-zeile{padding:var(--s3) var(--s4);border-top:1px solid var(--line-soft);margin:0}
/* Mandate im Takt: name and day on one line, the bar, the line below */
.zeilen>li.takt-zeile{flex-direction:column;align-items:stretch;gap:var(--s2)}
.zeile-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3)}
.zeile-kopf a{color:inherit;text-decoration:none}
.zeile-kopf .zusatz{white-space:nowrap}
/* Wahlen: checkboxes as compact boxes in a row (the Prüfgrundlagen of the Freischaltung) */
.wahlen{display:flex;flex-wrap:wrap;gap:var(--s2)}
.wahlen .wahl{min-height:0;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}

/* ---------- A7 · Texte ------------------------------------------------ */
/* What the platform put into a template from the mandate */
.vorschau-text mark{background:var(--wait-bg);color:var(--ink);padding:0 2px;border-bottom:1px solid var(--gold-600)}
.brief-feld{width:100%;min-height:16rem;font:inherit;padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius)}

/* D141 (6): „Freischalten“ looks and acts disabled while the form's Basisqualifikation reads „offen“, as app.css's
   .knopf[disabled]; no script: picking „erfüllt“ in the same form enables it at once. The server refuses „offen“. */
#a2-frei:has(select[name="wert"] option[value="offen"]:checked) #a2-freischalten{background:var(--navy-100);border-color:var(--navy-100);color:var(--navy-600);cursor:not-allowed;pointer-events:none}
