/* quest: nur App-spezifische Ergänzungen zu glaze.css (wird nie geändert).
   Abstände, Radien und Farben ausschließlich über glaze-Tokens (GLAZE.md, Grundsatz 5). */

/* Abstände in Karten */
.card-actions { margin-top: var(--sp-7); }               /* Knopfzeile oder Folgeblock in einer Karte */
.card-foot { margin-top: var(--sp-5); }                  /* Fußnote am Kartenende */
.panel-next { margin-top: var(--gap); }
.bar-gap { margin: var(--sp-4) 0 var(--sp-6); }           /* Fortschrittsbalken unter einer Kennzahl */
.self-end { align-self: end; }
.grow-input { flex: 1; min-width: 200px; }
select.inline-select { width: auto; min-width: 180px; }
select.fit-select { width: auto; max-width: 100%; }         /* Auswahl so breit wie ihr Inhalt, etwa in Regelzeilen */
.form-card { max-width: 720px; }
.bar-cell { width: 34%; }

/* Listen, Tabellen, Zeitachse */
.num { font-variant-numeric: tabular-nums; }
.controls form { display: contents; }
a.ev:hover { background: var(--card); }
tfoot th { border-top: 1px solid var(--line); }
pre.cmd { overflow: auto; max-width: 100%; white-space: pre-wrap; word-break: break-all; }
details > summary { cursor: pointer; padding: var(--sp-2) 0; }
details > .steps, details > p { margin-top: var(--sp-3); }

/* Geräte-Assistent */
.stepno { font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.step-body { gap: var(--sp-5); margin-top: var(--sp-5); }
.steps { margin: 0; padding-left: var(--sp-8); display: grid; gap: var(--sp-2); }
.dev-row .row { margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 640px) { .dev-row .row { margin-left: 0; flex-basis: 100%; justify-content: flex-start; } }
.dev-row form { display: contents; }
.qr-col { display: grid; gap: var(--sp-3); align-content: start; justify-items: start; }
.qr-col p { max-width: 230px; }

/* Anmeldung, Einrichtung, Fehlerseiten */
.tfa-grid { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--gap); align-items: start; }
@media (max-width: 640px) { .tfa-grid { grid-template-columns: 1fr; justify-items: start; } }

/* Monatsbericht: Unterschriften */
.signatures { display: flex; gap: calc(2 * var(--sp-10)); margin-top: calc(var(--sp-10) + var(--sp-2)); }
.signatures > div { flex: 1; border-top: 1px solid var(--text); padding-top: var(--sp-2); }
