/* ══ COCKPIT — akte.css · Aktennummern, Sollwert-Kennzeichen, IF-Eingabe, Blind-Karte, Suchhinweis ══
   Formsprache wie intake.css: Messing = Tinte der Entscheidung, gestrichelt =
   vorläufig/fehlend. Ziffern immer tabular, damit Akten untereinander vergleichbar sind. */

/* ── Identitätsblock ── */
.ak { display: grid; gap: .12rem; min-width: 0; }
.ak__main {
  font-family: var(--f-mono); font-weight: 700; letter-spacing: .04em;
  font-variant-numeric: tabular-nums; color: var(--fg); white-space: nowrap;
}
.ak--row .ak__main { font-size: .9rem; }
.ak--head .ak__main { font-size: clamp(1.25rem, 2.4vw, 1.7rem); letter-spacing: .05em; line-height: 1.1; }
.ak__main--sid { font-size: .76rem; letter-spacing: .02em; }
.ak--head .ak__main--sid { font-size: clamp(.95rem, 1.8vw, 1.25rem); }
a.ak__main:hover { color: var(--brass); text-decoration: underline; text-underline-offset: 3px; }
.ak__ifrow { display: inline-flex; align-items: baseline; gap: .55rem; flex-wrap: wrap; }
.ak__if { display: inline-flex; align-items: baseline; gap: .45rem; font-family: var(--f-mono); font-variant-numeric: tabular-nums; }
.ak__k { font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-dim); }
.ak__ifv { font-size: .78rem; font-weight: 500; color: var(--fg); letter-spacing: .04em; }
.ak--head .ak__ifv { font-size: .98rem; font-weight: 700; }
.ak__if--miss .ak__ifv { color: var(--fg-dim); font-weight: 400; letter-spacing: .01em; font-style: italic; }
.ak__sid { font-family: var(--f-mono); font-size: .62rem; letter-spacing: .03em; color: var(--fg-dim); }
.ak__sid--pending { font-style: italic; }
.ak--head .ak__sid { font-size: .68rem; margin-top: .1rem; }
.ak__edit {
  font-family: var(--f-mono); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--brass); padding: .22rem .5rem; min-height: 28px;
  border: 1px dashed color-mix(in srgb, var(--brass) 65%, transparent); border-radius: 3px;
  transition: background var(--dur), color var(--dur), border-color var(--dur);
}
.ak__edit:hover { background: var(--brass-srf); color: var(--on-brass); border-style: solid; border-color: var(--brass-srf); }
.ak__edit:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.ak__dup {
  margin-top: .55rem; padding: .5rem .75rem; max-width: 70ch;
  font-size: .8rem; color: var(--st-cpa);
  background: color-mix(in srgb, var(--st-cpa) 8%, transparent); border-radius: 3px;
}
.ak__dup b { font-family: var(--f-mono); font-variant-numeric: tabular-nums; }

/* Abzeichen-Zeile (NEU, Sollwerte, REVIEW) unter der IF-Akte */
.ak__tags { display: inline-flex; gap: .4rem; align-items: center; flex-wrap: wrap; margin: .15rem 0 .05rem; }
.srow__via { display: block; margin-top: .2rem; font-family: var(--f-mono); font-size: .62rem; letter-spacing: .04em; color: var(--brass); }
.srow__via::before { content: "↳ "; color: var(--fg-dim); }

/* ── Sollwert-Kennzeichen ── */
.soll {
  display: inline-flex; align-items: center; gap: .32em;
  padding: .16rem .5rem .13rem;
  font-family: var(--f-mono); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  border-radius: 3px; white-space: nowrap; vertical-align: middle;
  border: 1px solid transparent;
}
.soll i { font-style: normal; font-size: .85em; }
/* kein Grüntint hinter dem Text: 9,9-px-Bold braucht 4,5:1 — auf Papier 5,3:1 (design-critic 01.11.) */
.soll--voll   { color: var(--st-clear); border-color: color-mix(in srgb, var(--st-clear) 45%, transparent); background: var(--paper); }
.soll--summen { color: var(--brass); border-color: color-mix(in srgb, var(--brass) 45%, transparent); background: color-mix(in srgb, var(--brass-srf) 14%, transparent); }
.soll--none   { color: var(--fg-dim); font-weight: 500; border-color: var(--line-soft); border-style: dashed; background: transparent; }
.dhead .soll { font-size: .68rem; }

/* ── IF-Eingabe (inline im Akte-Kopf) ── */
.ifedit {
  margin-top: .7rem; padding: .8rem .95rem .7rem; max-width: 560px;
  background: var(--paper); border: 1.5px dashed color-mix(in srgb, var(--brass) 60%, transparent); border-radius: var(--radius);
}
.ifedit__l { display: block; font-family: var(--f-mono); font-size: var(--fs-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fg); }
.ifedit__l span { font-weight: 500; text-transform: none; letter-spacing: .02em; color: var(--fg-dim); margin-left: .4rem; }
.ifedit__row { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-top: .4rem; }
.ifedit__in {
  flex: 1 1 200px; min-height: 44px; padding: 0 .8rem;
  font-family: var(--f-mono); font-size: 1rem; font-weight: 700; letter-spacing: .08em; font-variant-numeric: tabular-nums;
  color: var(--fg); background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius);
}
.ifedit__in:focus { outline: 2px solid var(--brass); outline-offset: 1px; }
.ifedit__row .btn-line { margin-top: 0; min-height: 44px; padding: .5rem 1.1rem; }
.ifedit__err { margin-top: .55rem; font-size: .8rem; font-weight: 600; color: var(--st-block); }
.ifedit__hint { margin-top: .45rem; font-family: var(--f-mono); font-size: .62rem; letter-spacing: .04em; color: var(--fg-dim); }
.ifedit__ok:disabled, .ifedit__cancel:disabled { opacity: .55; cursor: default; }

/* ── Blindtest-Karte (Akte-Kopf, vor dem Inhalt) ── */
.bgate {
  display: grid; justify-items: center; gap: .55rem; text-align: center;
  margin: .4rem 0 1.4rem; padding: 2.4rem 1.2rem 2.2rem;
  color: var(--fg-dim); background: var(--paper);
  border: 1.5px dashed color-mix(in srgb, var(--brass) 60%, transparent); border-radius: var(--radius);
}
.bgate svg { color: var(--brass); }
.bgate__h { font-family: var(--f-mono); font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fg); }
.bgate__s { font-size: .9rem; max-width: 52ch; line-height: 1.5; }
.bgate__s b { font-family: var(--f-mono); font-variant-numeric: tabular-nums; color: var(--fg); }
.bgate__actions { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: center; margin-top: .5rem; }
.bgate__actions .btn-line { margin-top: 0; }
/* Dezentes Topf-Kennzeichen im Kopf (Topf-Regel: unauffällig) */
.topf { font-family: var(--f-mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-dim); border: 1px solid var(--line-soft); border-radius: 3px; padding: .14rem .4rem; }

/* ── Suchhinweis (Live-Region unter der Filterzeile) ── */
.filters__hint {
  flex: 1 0 100%; min-height: 1.2em; margin: -.3rem 0 0 .1rem;
  font-family: var(--f-mono); font-size: .68rem; letter-spacing: .03em; color: var(--fg-dim);
}
.filters__hint--warn { color: var(--st-cpa); font-weight: 700; }
.filters__hint:empty { display: none; }

/* ── Responsive ── */
@media (max-width: 720px) {
  /* Karten-Modus: Akte-Zelle stapelt (Label oben, Block volle Breite) — wie die HS-Zelle in responsive.css */
  .stbl td[data-th="Akte"] { flex-direction: column; align-items: flex-start; gap: .25rem; }
  .stbl td[data-th="Akte"]::before { flex-basis: auto; }
  .ak--head .ak__main { font-size: 1.25rem; }
  .ifedit__row .btn-line { flex: 1 1 auto; }
  .bgate__actions .btn-line { flex: 1 1 auto; }
}
/* Touch-Ziele ≥ 44 px auf Touch/Schmal (web/CLAUDE.md §2; design-critic 01.11., Blocker 4):
   Knopf „eintragen/ändern", Akte-Link der Zeile und die Filter-Bedienelemente. */
@media (max-width: 720px), (pointer: coarse) {
  .ak__edit { min-height: 44px; padding: .6rem .8rem; }
  .ak--row a.ak__main { display: inline-block; padding: .7rem 0; }
  .filters select, .filters__q, .filters__reset { height: 44px; }
}
