:root { --setup-line:#d8cfbd; --setup-soft:#f5f1e8; --setup-ink:#162b4d; --setup-muted:#586579;
  --setup-accent:#9b2c2c; --setup-ok:#1f6b45; --setup-warn-bg:#fff0d5; --setup-warn:#673b00; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --setup-line:#385176; --setup-soft:#13233d; --setup-ink:#f5f1e8;
  --setup-muted:#bbc6d8; --setup-accent:#ffb4b4; --setup-ok:#a6e2bd; --setup-warn-bg:#3a2b11; --setup-warn:#ffe0a3; } }
:root[data-theme="dark"] { --setup-line:#385176; --setup-soft:#13233d; --setup-ink:#f5f1e8;
  --setup-muted:#bbc6d8; --setup-accent:#ffb4b4; --setup-ok:#a6e2bd; --setup-warn-bg:#3a2b11; --setup-warn:#ffe0a3; }
[hidden] { display:none !important; }
.setup-shell { width:min(100% - 1.25rem,72rem); color:var(--setup-ink); }
.setup-shell h1 { font-size:clamp(2rem,8vw,3.8rem); margin:.25rem 0 .4rem; }
.setup-shell h2 { font-size:clamp(1.55rem,5vw,2.35rem); margin:.15rem 0; }
.setup-shell h3 { margin:0; font-size:1.1rem; }
.setup-legal { padding:1rem; border-left:.35rem solid #ba6b00; border-radius:.7rem; background:var(--setup-warn-bg); color:var(--setup-warn); font-weight:700; }
.setup-steps { display:grid; gap:.7rem; margin:1rem 0 1.5rem; padding:1rem; border:1px solid var(--setup-line); border-radius:1rem; background:var(--setup-soft); }
.setup-steps h2,.setup-steps p { margin:0; }
.setup-steps ol { display:grid; gap:.55rem; margin:0; padding:0; list-style:none; }
.setup-steps label { display:flex; align-items:flex-start; gap:.65rem; min-height:3rem; padding:.55rem; border-radius:.65rem; background:var(--setup-bg, canvas); }
.setup-steps input { flex:none; width:1.35rem; height:1.35rem; margin:.15rem 0 0; accent-color:var(--setup-ok); }
.setup-steps a { display:inline-flex; align-items:center; min-height:3rem; color:inherit; font-weight:700; }
.setup-state,.setup-error { min-height:1.5rem; font-weight:700; }
.setup-error { color:var(--setup-accent); }
.setup-content { display:grid; gap:2.5rem; }
.setup-section { scroll-margin-top:1rem; display:grid; gap:1rem; }
.setup-heading { display:flex; justify-content:space-between; gap:1rem; align-items:end; border-bottom:1px solid var(--setup-line); padding-bottom:.7rem; }
.setup-kicker { margin:0; color:var(--setup-muted); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.76rem; }
.setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.setup-card { display:grid; align-content:start; gap:.8rem; padding:1rem; border:1px solid var(--setup-line); border-radius:1rem; background:color-mix(in srgb,var(--setup-soft) 55%,transparent); }
.setup-form label { display:grid; gap:.35rem; font-weight:700; }
.setup-fieldset { display:grid; gap:.8rem; min-width:0; margin:0; padding:0; border:0; }
.setup-fieldset[disabled] { opacity:.72; }
.setup-fieldset select[multiple] { min-height:11rem; }
.setup-form input,.setup-form select { width:100%; min-height:2.9rem; border:1px solid var(--setup-line); border-radius:.65rem; padding:.6rem .7rem; font:inherit; color:var(--setup-ink); background:canvas; }
.setup-form input:focus-visible,.setup-form select:focus-visible,.setup-button:focus-visible,.setup-steps :is(a,input):focus-visible { outline:3px solid var(--setup-accent); outline-offset:2px; }
.setup-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.setup-check-grid { display:grid; gap:.65rem; }
.setup-check { grid-template-columns:auto 1fr !important; align-items:start; }
.setup-check input { width:1.3rem; min-height:1.3rem; margin:.15rem 0 0; }
.setup-button { width:fit-content; min-height:2.9rem; border:0; border-radius:.7rem; padding:.65rem 1rem; font:inherit; font-weight:800; background:#162b4d; color:#fff; cursor:pointer; }
.setup-button.secondary { color:var(--setup-ink); background:transparent; border:1px solid var(--setup-line); }
.setup-button.danger { color:var(--setup-accent); background:transparent; border:1px solid currentColor; }
.setup-button[disabled] { opacity:.55; cursor:progress; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .setup-button { background:#f5f1e8; color:#162b4d; } }
:root[data-theme="dark"] .setup-button { background:#f5f1e8; color:#162b4d; }
.setup-hint,.setup-meta { margin:0; color:var(--setup-muted); font-size:.92rem; line-height:1.45; overflow-wrap:anywhere; }
.setup-list { display:grid; gap:.6rem; }
.setup-item { display:grid; gap:.45rem; padding:.75rem; border-radius:.75rem; background:var(--setup-soft); }
.setup-item-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; }
.setup-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.setup-badge { display:inline-flex; width:fit-content; padding:.18rem .55rem; border-radius:999px; background:#dcefe1; color:#1d5a2d; font-size:.78rem; font-weight:800; }
.setup-badge.pending { background:var(--setup-warn-bg); color:var(--setup-warn); }
.setup-empty { color:var(--setup-muted); margin:0; }
.setup-wide { margin-top:.1rem; }
/* KG3 (153303): consent-text editor and its preview dialog. */
#consent-text-form textarea { width:100%; min-height:8rem; border:1px solid var(--setup-line); border-radius:.65rem; padding:.6rem .7rem; font:inherit; font-weight:400; line-height:1.45; color:var(--setup-ink); background:canvas; resize:vertical; }
#consent-text-form textarea:focus-visible { outline:3px solid var(--setup-accent); outline-offset:2px; }
#consent-text-form details > summary, #consent-text-history > summary { min-height:2.75rem; display:flex; align-items:center; cursor:pointer; font-weight:700; }
#consent-texts-card select { max-width:100%; }
.consent-text-dialog { width:min(100% - 1rem,48rem); max-height:calc(100dvh - 1rem); overflow:auto; border:1px solid var(--setup-line); border-radius:1rem; padding:1rem; color:var(--setup-ink); background:canvas; }
.consent-text-dialog::backdrop { background:rgb(0 0 0 / .45); }
.consent-text-dialog > * + * { margin-top:.8rem; }
.setup-secret { display:grid; gap:.65rem; padding:.8rem; border:2px solid var(--setup-warn); border-radius:.8rem; background:var(--setup-warn-bg); }
.setup-secret code { user-select:all; overflow-wrap:anywhere; font-weight:800; }
.setup-short-code { font-size:clamp(1.8rem,7vw,3rem); letter-spacing:.08em; line-height:1; }
.setup-qr img { display:block; width:min(100%,18rem); height:auto; border:1px solid var(--setup-line); background:#fff; }
@media (max-width:700px) { .setup-grid,.setup-pair { grid-template-columns:1fr; } .setup-shell { width:min(100% - 1rem,72rem); padding:1rem .25rem; } .setup-card { padding:.85rem; } }
/* Folded sections (KG3 buero-layout, M5): the page was 12,000 px long; now only the section that needs work is open. */
.setup-fold { display:block; border:1px solid var(--setup-line); border-radius:1rem; background:color-mix(in srgb,var(--setup-soft) 35%,transparent); }
.setup-fold > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.5rem; padding:.7rem 1.1rem; cursor:pointer; list-style:none; border-bottom:0; }
.setup-fold > summary::-webkit-details-marker { display:none; }
.setup-fold > summary::after { content:"▸"; flex:none; font-size:1.3rem; color:var(--setup-muted); }
.setup-fold[open] > summary::after { content:"▾"; }
.setup-fold[open] > summary { border-bottom:1px solid var(--setup-line); }
.setup-fold > summary hgroup { display:grid; gap:.1rem; margin:0; }
.setup-fold > summary:focus-visible { outline:3px solid var(--setup-accent); outline-offset:2px; }
.setup-section-body { display:grid; gap:1rem; padding:1rem 1.1rem 1.2rem; }
.setup-fold h2 { margin:0; }
/* KG3 (153303): contract text editor and its preview dialog. */
.setup-form textarea { width:100%; min-height:8rem; border:1px solid var(--setup-line); border-radius:.65rem; padding:.6rem .7rem; font:inherit; font-weight:400; line-height:1.45; color:var(--setup-ink); background:canvas; resize:vertical; }
.setup-form textarea:focus-visible { outline:3px solid var(--setup-accent); outline-offset:2px; }
.setup-form details > summary { min-height:2.75rem; display:flex; align-items:center; cursor:pointer; font-weight:700; }
#terms-history > summary { min-height:2.75rem; display:flex; align-items:center; cursor:pointer; font-weight:700; }
.setup-dialog { width:min(100% - 1rem,48rem); max-height:calc(100dvh - 1rem); overflow:auto; border:1px solid var(--setup-line); border-radius:1rem; padding:1rem; color:var(--setup-ink); background:canvas; }
.setup-dialog::backdrop { background:rgb(0 0 0 / .45); }
.setup-dialog > * + * { margin-top:.8rem; }
