/* KNUENCE™ website — Stage F additions (registration states, privacy-request form, admin dashboard).
   Existing design tokens only: no new colours, typefaces or sizes. */

/* ---------------------------------------------------------------- Forms: honeypot, Turnstile slot, live-form states */
.k-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.k-turnstile { min-height: 65px; }
.k-form [aria-busy="true"] { opacity: .7; cursor: progress; }
.k-callout { border-left: 3px solid var(--k-blue); background: var(--k-wash); padding: var(--k-space-4) var(--k-space-5); border-radius: 0 var(--k-radius-md) var(--k-radius-md) 0; }

/* ---------------------------------------------------------------- Admin dashboard */
.adm { padding-block: var(--k-space-8) var(--k-space-11); }
.adm-title { margin-bottom: var(--k-space-3); }
.adm-message:not(:empty) { margin-top: var(--k-space-5); padding: var(--k-space-3) var(--k-space-4); border-radius: var(--k-radius-md); background: var(--k-wash); border: 1px solid var(--k-rule); }
.adm-message[data-tone="error"] { border-color: var(--k-error); color: var(--k-error); background: #FEF3F2; }
.adm-section { margin-top: var(--k-space-8); padding-top: var(--k-space-5); border-top: 1px solid var(--k-rule); }
.adm-section > .k-h3 { margin-bottom: var(--k-space-4); }
.adm-gates { display: grid; gap: var(--k-space-2); }
.adm-gates li { display: flex; gap: var(--k-space-3); align-items: baseline; font-size: var(--k-text-small-size); }
.adm-gates b { min-width: 3.5em; font-weight: 600; }
.adm-gates .ok b { color: var(--k-success); }
.adm-gates .no b { color: var(--k-error); }
.adm-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--k-space-4); margin: 0; }
.adm-tiles div { border: 1px solid var(--k-rule); border-radius: var(--k-radius-lg); padding: var(--k-space-4); }
.adm-tiles dt { font-size: var(--k-text-small-size); color: var(--k-slate); }
.adm-tiles dd { margin: var(--k-space-1) 0 0; font-family: var(--k-font-display); font-weight: 600; font-size: var(--k-text-h2-size); font-variant-numeric: tabular-nums; }
.adm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--k-space-6); margin-top: var(--k-space-6); }
.adm-grid > div { min-width: 0; }
.adm-grid caption { text-align: left; font-weight: 600; padding-bottom: var(--k-space-2); }
.adm-bar { display: block; height: 6px; margin-top: 4px; border-radius: 3px; background: var(--k-blue); min-width: 2px; }
.adm-num { text-align: right; font-variant-numeric: tabular-nums; }
.adm-scroll { overflow-x: auto; }
.adm-scroll .k-table td, .adm-scroll .k-table th { white-space: nowrap; }
.adm-scroll .k-table td.wrap { white-space: normal; min-width: 14em; }
.adm-filters { display: flex; flex-wrap: wrap; gap: var(--k-space-3); align-items: center; margin-bottom: var(--k-space-4); }
.adm-filters .k-input, .adm-filters .k-select { width: auto; min-width: 12em; }
.adm-pager { margin-top: var(--k-space-4); }
.adm-pre { margin-top: var(--k-space-4); padding: var(--k-space-4); background: var(--k-wash); border-radius: var(--k-radius-md); overflow-x: auto; font-size: var(--k-text-small-size); white-space: pre-wrap; }
.adm-actions { display: flex; flex-wrap: wrap; gap: var(--k-space-2); }
.adm .k-status { white-space: normal; line-height: 1.35; }
.adm-scroll .adm-pre { margin: 0; min-width: 26em; max-width: 40em; white-space: pre-wrap; word-break: break-word; }
