/* Einrichtung, Konto und Zustände teilen dieselbe ruhige Formensprache. */
.surface-kicker { display:block; font-size:10px; font-weight:750; letter-spacing:.15em; color:var(--color-accent-ink); margin-bottom:10px; }
.auth-view { display:grid; grid-template-columns:minmax(280px,420px) minmax(300px,440px); justify-content:center; align-content:center; gap:clamp(32px,7vw,110px); padding:48px 32px; overflow:auto; min-height:100dvh; height:auto; background:radial-gradient(ellipse at 6% 10%,var(--color-surface-warm),transparent 55%),var(--color-surface-sunken); }
.auth-story { align-self:center; text-align:left; }
.auth-story h2 { font-size:clamp(36px,4.3vw,60px); line-height:1.05; font-weight:650; letter-spacing:-.055em; margin:18px 0 24px; }
.auth-story h2 em { color:var(--color-accent-ink); font-family:Georgia,serif; font-weight:400; }
.auth-story>p { max-width:340px; font-size:16px; line-height:1.75; color:var(--color-text-muted); }
.auth-story-board { max-width:290px; margin-top:38px; padding:22px; border:1px solid var(--color-border); border-radius:20px; background:var(--color-surface); transform:rotate(-3deg); box-shadow:var(--shadow-card); }
.auth-story-board>span { display:flex; justify-content:space-between; font-weight:650; font-size:14px; }
.auth-story-board b { color:var(--color-success-ink); }
.auth-story-board div { display:flex; gap:10px; margin:18px 0 14px; }
.auth-story-board i { height:56px; flex:1; border-radius:10px; background:var(--color-accent-soft); border-top:4px solid var(--peach); }
.auth-story-board i:nth-child(2) { background:var(--color-success-soft); border-color:var(--color-success-fill); }
.auth-story-board i:nth-child(3) { background:var(--color-warning-soft); border-color:var(--color-warning); }
.auth-story-board small { color:var(--color-text-muted); font-size:11px; }
.auth-card { padding:36px; border-radius:26px; border:1px solid var(--color-border); background:var(--color-surface); box-shadow:var(--shadow-modal); max-width:440px; align-self:center; }
.auth-brand { gap:9px; margin-bottom:26px; }
.auth-brand img { width:48px; height:48px; }
.auth-brand span { font-size:25px; }
.auth-card h1 { font-size:25px; font-weight:650; line-height:1.2; }
.auth-sub { font-size:14px; line-height:1.6; margin:12px 0 26px; }
.auth-forgot { margin:18px 0 0; }
.auth-forgot .link-btn { min-height:36px; text-underline-offset:4px; }
.auth-switch { padding-top:18px; border-top:1px solid var(--color-border); }
.auth-card .field input { min-height:50px; }
.feedback-panel { padding:16px 18px; border:1px solid var(--color-accent-line); border-radius:14px; background:var(--color-accent-soft); font-size:14px; line-height:1.6; color:var(--color-text); margin:14px 0 20px; text-align:left; }
.auth-error { border-radius:12px; padding:12px 14px; line-height:1.5; }
.modal { padding:28px; border-color:var(--color-border); }
.modal-header { padding-bottom:18px; border-bottom:1px solid var(--color-border); margin-bottom:22px; gap:18px; }
.modal-header h2 { font-size:23px; line-height:1.2; font-weight:650; letter-spacing:-.035em; }
.modal .icon-btn { flex-shrink:0; min-width:40px; min-height:40px; background:var(--color-surface-raised); border-radius:50%; }
.settings-section { padding:24px; border:1px solid var(--color-border); border-radius:18px; margin:0 0 26px; background:var(--color-surface-raised); }
.settings-section h3 { font-size:23px; font-weight:650; letter-spacing:-.035em; margin:0 0 10px; }
.theme-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; border:0; padding:0; margin:20px 0 0; min-width:0; }
.theme-option { position:relative; display:flex; flex-direction:column; cursor:pointer; border-radius:13px; padding:6px 6px 11px; border:2px solid transparent; min-width:0; }
.theme-option input { position:absolute; width:1px; height:1px; opacity:0; }
.theme-option:has(input:checked) { background:var(--color-surface); border-color:var(--color-accent); }
.theme-option:has(input:checked)::after { content:'✓'; display:grid; place-items:center; position:absolute; right:10px; top:10px; width:21px; height:21px; border-radius:50%; color:var(--theme-on-accent); background:var(--peach); font-size:13px; font-weight:750; }
.theme-option:has(:focus-visible) { outline:3px solid var(--color-accent); outline-offset:3px; }
.theme-option:has(:disabled) { cursor:progress; }
.theme-preview { display:grid; grid-template-columns:13px repeat(3,1fr); grid-template-rows:15px 45px; gap:4px; padding:7px; border-radius:8px; background:var(--preview-bg); height:78px; overflow:hidden; }
.preview-nav { grid-row:span 2; background:var(--preview-nav); border-radius:3px; }
.preview-header { grid-column:span 3; background:var(--preview-accent); border-radius:3px; }
.preview-card { background:var(--preview-card); border-top:3px solid var(--preview-accent); border-radius:3px; }
.theme-option-name { font-size:12px; font-weight:700; margin:10px 2px 3px; }
.theme-option-description { font-size:10px; line-height:1.4; color:var(--color-text-muted); margin:0 2px; }
.settings-feedback { font-size:13px; line-height:1.5; color:var(--color-accent-ink); min-height:20px; margin:12px 0 0; }
#aboBereich { margin:16px 0 28px; padding:24px; border:1px solid var(--color-border); border-radius:18px; background:var(--color-surface); }
#aboBereich>.account-hint:first-child { padding:0 0 18px; margin:0 0 20px; border-bottom:1px solid var(--color-border); font-size:15px; line-height:1.65; }
.abo-tarife { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.abo-tarif { position:relative; padding:20px; gap:12px; background:var(--color-surface-raised); border:1px solid var(--color-border-strong); border-radius:16px; }
.abo-tarif:has(input:checked) { background:var(--color-accent-soft); border:2px solid var(--color-accent); padding:19px; }
.abo-tarif:has(input:focus-visible) { outline:3px solid var(--color-accent); outline-offset:3px; }
.abo-tarif input { width:19px; height:19px; flex-shrink:0; }
.abo-tarif-kopf strong { font-size:28px; font-weight:650; letter-spacing:-.04em; }
#aboBestellenBtn { width:100%; margin-top:8px; }
.abo-bar { padding:12px 16px; border-radius:14px; gap:13px; box-shadow:var(--shadow-card); }
.abo-bar>.icon { box-sizing:content-box; padding:10px; border-radius:11px; background:var(--color-surface); }
.abo-bar-btn { border-radius:10px; min-height:40px; }
.abo-nur-lesen .task-check { opacity:1; border-style:dashed; background:var(--color-surface-raised); }
.abo-nur-lesen .quick-add,.abo-nur-lesen .list-add,.abo-nur-lesen .reward-card { opacity:.68; }
.abo-nur-lesen .nav-create-btn { opacity:.68; filter:none; }
.delete-warnung { padding:20px; border:1px solid var(--color-border-strong); border-radius:14px; background:var(--color-surface-warm); color:var(--color-text); }
.delete-warnung ul { margin-top:12px; }
.delete-warnung li::marker { color:var(--color-accent-ink); }
.delete-export { padding:16px 0; font-size:14px; line-height:1.7; }
.delete-export .link-btn { font-size:inherit; text-decoration:underline; text-underline-offset:3px; }
.delete-aktionen,.action-footer { display:flex; gap:10px; padding-top:18px; border-top:1px solid var(--color-border); margin-top:16px; }
#deleteSubmit { background:var(--color-accent); color:var(--color-surface); }
#deleteSubmit:disabled { opacity:.45; }
.action-description { font-size:15px; line-height:1.7; color:var(--color-text-muted); }
.action-footer .btn { flex:1; }
.device-note { border:1px solid var(--color-accent-line); background:var(--color-accent-soft); padding:18px; border-radius:14px; font-size:15px; line-height:1.7; }
.device-note>.icon { margin-right:7px; color:var(--color-accent-ink); }
.photo-grid { gap:12px; margin:20px 0; }
.photo-tile { border-radius:14px; border:1px solid var(--color-border); overflow:hidden; }
.feed-warning,.feed-error { display:block; white-space:normal; overflow-wrap:anywhere; line-height:1.6; padding:9px 0 3px; }
.admin-item.feed-incomplete { border-left:3px solid var(--color-warning); }
.radial-item { border-radius:22px; min-width:82px; min-height:82px; background:var(--color-surface); color:var(--color-text); border:1px solid var(--color-border-strong); }
.radial-label { font-size:12px; font-weight:650; }
@media (max-width:900px) {
 .theme-picker { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .auth-view { grid-template-columns:minmax(280px,440px); padding:28px 20px; }
 .auth-story { display:none; }
}
@media (max-width:540px) {
 .auth-card { padding:28px 22px; border-radius:20px; }
 .modal { padding:22px 18px; border-radius:20px; }
 .settings-section,#aboBereich { padding:18px 14px; }
 .theme-picker { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .abo-tarife { grid-template-columns:1fr; }
 .action-footer,.delete-aktionen { flex-direction:column; }
 .abo-bar { gap:9px; }
 .abo-bar>.icon { padding:7px; }
 .radial-item { min-width:74px; min-height:74px; border-radius:19px; }
}

.settings-feedback.fehler { color:var(--color-danger-ink); }
.radial-item { width:82px; height:82px; margin:-41px 0 0 -41px; }
@media(max-width:700px) {
 .sidebar .nav-foot { flex:0 0 80px; gap:2px; }
 .sidebar .nav-foot .nav-item { min-width:38px; }
 .sidebar .nav-foot .nav-label { display:none; }
 .sidebar .nav-create { flex:0 0 46px; }
 .sidebar .nav-create .nav-label { display:none; }
 .radial-item { width:74px; height:74px; min-width:74px; min-height:74px; margin:-37px 0 0 -37px; }
}
@media(max-width:360px) { .sidebar .nav-label { font-size:8px; } }
/* Der Anlegeknopf sitzt links unten: beide Ziele müssen nach innen auffächern. */
@media(max-width:700px) { .radial-menu { --direction:-55deg; --spread:25deg; --radius:120px; } }

/* Die Verankerung folgt dem Knopf sofort; nur die beiden Ziele animieren. */
.radial-menu { transition-property:none; }

/* Ein eigener Einstieg mit wachsender Board-Vorschau. */
#setupModal { background:var(--theme-backdrop); padding:24px; }
#setupModal .setup-modal { display:grid; grid-template-columns:330px minmax(0,1fr); max-width:1050px; padding:0; border-radius:28px; max-height:calc(100dvh - 48px); overflow-y:auto; isolation:isolate; }
.setup-stage { padding:34px 26px; background:var(--theme-sidebar); color:var(--theme-sidebar-text); display:flex; flex-direction:column; position:relative; overflow:hidden; min-height:650px; }
.setup-stage::before { content:''; position:absolute; width:420px; height:420px; border:1px solid color-mix(in srgb,var(--theme-sidebar-text) 12%,transparent); border-radius:50%; left:-270px; bottom:-230px; pointer-events:none; box-shadow:0 0 0 55px color-mix(in srgb,var(--theme-sidebar-text) 3%,transparent),0 0 0 110px color-mix(in srgb,var(--theme-sidebar-text) 3%,transparent); }
.setup-brand { display:flex; align-items:center; gap:10px; font-weight:700; font-size:19px; letter-spacing:-.04em; }
.setup-stage-copy { margin:58px 0 32px; position:relative; }
.setup-eyebrow { font-size:10px; font-weight:750; letter-spacing:.12em; line-height:1.6; }
.setup-stage-copy>.setup-eyebrow { color:var(--theme-sidebar-muted); font-size:8px; }
.setup-stage h3 { font-size:43px; line-height:1.1; font-weight:550; letter-spacing:-.045em; margin:16px 0; }
.setup-stage h3 em { font-family:Georgia,serif; font-weight:400; color:var(--peach); }
.setup-stage-copy>p { color:var(--theme-sidebar-muted); font-size:13px; line-height:1.75; }
.setup-preview { position:relative; padding:14px 11px 12px; background:var(--color-surface); color:var(--color-text); border-radius:15px; box-shadow:0 18px 34px #00000024; transform:rotate(-3deg); margin:4px -3px 26px; }
.setup-preview-bar { display:flex; align-items:center; gap:6px; font-size:9px; font-weight:700; margin-bottom:16px; }
.setup-preview-bar small { margin-left:auto; font-size:6px; letter-spacing:.1em; font-weight:600; color:var(--color-text-muted); }
.setup-preview-dot { width:6px; height:6px; border-radius:50%; background:var(--peach); }
.setup-preview-columns { display:flex; gap:6px; }
.setup-preview-column { flex:1; min-width:0; background:var(--color-surface-raised); border:1px solid var(--color-border); border-radius:9px; padding:12px 6px 8px; text-align:center; animation:setup-arrive .3s ease both; }
.setup-preview-column.is-empty { border-style:dashed; background:transparent; }
.setup-preview-avatar { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; overflow:hidden; font-size:12px; font-weight:700; }
.setup-preview-avatar img,.setup-preview-avatar svg { width:100%; height:100%; object-fit:cover; }
.setup-preview-ghost { border:1px dashed var(--color-border-strong); color:var(--color-text-muted); background:var(--color-surface-raised); font-size:18px; font-weight:400; }
.setup-preview-column>strong { display:block; font-size:9px; font-weight:650; margin:7px 0 12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.setup-preview-lines { display:grid; gap:6px; }
.setup-preview-lines i { display:block; height:18px; border-radius:4px; background:var(--color-surface); border:1px solid var(--color-border); }
.setup-preview-lines i::before { content:''; display:block; height:3px; width:60%; background:var(--color-border); border-radius:2px; margin:6px; }
.setup-preview-footer { font-size:8px; line-height:1.5; color:var(--color-text-muted); margin-top:11px; text-align:center; }
.setup-stage-note { display:flex; align-items:center; gap:8px; font-size:10px; color:var(--theme-sidebar-muted); margin-top:auto; padding-top:22px; position:relative; }
.setup-stage-note .icon { width:15px; height:15px; color:var(--peach); }
.setup-workspace { padding:27px 38px 28px; display:flex; flex-direction:column; min-width:0; }
.setup-topline { display:flex; align-items:center; justify-content:space-between; margin-bottom:23px; gap:12px; color:var(--color-accent-ink); }
.setup-schritte { counter-reset:setup; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:34px; }
.setup-punkt { counter-increment:setup; display:block; border:0; border-top:3px solid var(--color-border); border-radius:0; padding:9px 0 0; background:transparent; color:var(--color-text-muted); font-size:10px; font-weight:500; }
.setup-punkt::before { content:none; }
.setup-punkt.aktiv { border-color:var(--color-accent); background:transparent; color:var(--color-text); font-weight:750; }
.setup-punkt.fertig { border-color:var(--peach); color:var(--color-text-muted); background:transparent; }
.setup-heading h2 { font-size:34px; font-weight:650; letter-spacing:-.045em; line-height:1.13; margin:0 0 16px; max-width:430px; }
.setup-heading h2:focus { outline:none; }
.setup-text { font-size:14px; line-height:1.75; max-width:55ch; color:var(--color-text-muted); margin:0 0 25px; }
.setup-inhalt { animation:setup-arrive .22s ease both; }
.setup-form { display:block; margin:0 0 30px; }
.setup-form label { display:block; margin-bottom:9px; font-size:12px; font-weight:650; }
.setup-name-entry { display:flex; gap:8px; }
.setup-name-entry input,.setup-auswahl { min-height:50px; border:1px solid var(--color-border-strong); border-radius:12px; padding:12px; font-size:16px; }
.setup-name-entry .btn { padding:0 15px; gap:6px; font-size:12px; }
.setup-name-entry .icon { width:16px; height:16px; }
.setup-roster-heading { display:flex; justify-content:space-between; gap:10px; color:var(--color-text-muted); font-size:9px; letter-spacing:.08em; font-weight:650; margin-bottom:12px; }
.setup-roster-heading>span:last-child { font-weight:500; letter-spacing:0; }
.setup-personen { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 0 14px; }
.setup-person { display:flex; align-items:center; gap:10px; padding:12px; min-width:0; border:1px solid var(--color-border); border-radius:14px; animation:setup-arrive .25s ease both; }
.setup-person-avatar { display:inline-flex; flex:0 0 38px; width:38px; height:38px; border-radius:50%; overflow:hidden; align-items:center; justify-content:center; font-size:14px; }
.setup-person-avatar svg,.setup-person-avatar img { width:100%; height:100%; object-fit:cover; }
.setup-person-name { font-size:13px; overflow-wrap:anywhere; min-width:0; }
.setup-person-check { display:inline-flex; width:14px; height:14px; color:var(--color-success-ink); margin-left:auto; flex-shrink:0; }
.setup-empty-roster { display:flex; align-items:center; gap:14px; grid-column:1/-1; border:1px dashed var(--color-border-strong); border-radius:14px; padding:20px; background:var(--color-surface-raised); }
.setup-empty-symbol { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--color-accent-soft); color:var(--color-accent-ink); font-size:23px; flex-shrink:0; }
.setup-empty-roster p { margin:0; font-size:13px; line-height:1.5; }
.setup-empty-roster small { display:block; font-size:11px; color:var(--color-text-muted); margin-top:4px; }
.setup-microcopy { font-size:11px; color:var(--color-text-muted); line-height:1.6; margin:0; }
.setup-auswahl { margin:8px 0 17px; }
.setup-vorlagen { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:18px; }
.setup-vorlage { position:relative; min-width:0; padding:13px 11px; min-height:66px; gap:9px; border-radius:12px; transition:background .15s,border-color .15s; }
.setup-vorlage input { width:16px; height:16px; flex-shrink:0; order:3; margin-left:auto; }
.setup-vorlage .icon { width:22px; height:22px; color:var(--color-accent-ink); }
.setup-task-copy { font-size:11px; font-weight:650; line-height:1.4; }
.setup-task-copy small { display:block; font-size:9px; color:var(--color-text-muted); font-weight:400; margin-top:4px; }
.setup-vorlage:has(:checked) { background:var(--color-accent-soft); border-color:var(--color-accent); }
.setup-vorlage:has(:focus-visible) { outline:2px solid var(--color-accent); outline-offset:2px; }
.setup-selection-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.setup-selection-bar>span { color:var(--color-text-muted); font-size:11px; }
.setup-selection-bar .btn { font-size:12px; min-height:44px; padding:10px 14px; }
.setup-hinweis:not(.hidden) { padding:12px; border-radius:10px; background:var(--color-success-soft); color:var(--color-success-ink); font-size:12px; }
.setup-fuss { margin-top:auto; padding-top:24px; border-top:0; gap:10px; }
.setup-inhalt+.setup-fuss { margin-top:auto; }
.setup-fuss>.link-btn { font-size:11px; white-space:nowrap; min-height:44px; }
.setup-aktionen { gap:7px; }
.setup-aktionen .btn { font-size:12px; padding:12px 15px; min-height:46px; }
.setup-finish-mark { display:grid; place-items:center; width:64px; height:64px; border-radius:22px; margin:10px 0 22px; color:var(--color-success-ink); background:var(--color-success-soft); transform:rotate(-7deg); }
.setup-finish-mark svg { width:30px; height:30px; transform:rotate(7deg); }
.setup-summary { display:grid; grid-template-columns:1fr 1fr; padding:0; border:1px solid var(--color-border); border-radius:16px; background:var(--color-surface-raised); margin:0 0 24px; color:var(--color-text); }
.setup-summary>div { padding:22px; }
.setup-summary>div+div { border-left:1px solid var(--color-border); }
.setup-summary strong { display:block; font-size:40px; line-height:1; font-weight:550; letter-spacing:-.05em; margin-bottom:10px; }
.setup-summary span { font-size:11px; color:var(--color-text-muted); }
.setup-next-hint { display:flex; gap:13px; align-items:flex-start; padding:0 0 25px; }
.setup-next-hint>.icon { width:18px; height:18px; color:var(--color-accent-ink); flex-shrink:0; }
.setup-next-hint strong { font-size:13px; font-weight:650; }
.setup-next-hint p { font-size:12px; color:var(--color-text-muted); line-height:1.7; margin:5px 0 0; }
@keyframes setup-arrive { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:950px) {
 #setupModal .setup-modal { grid-template-columns:270px minmax(0,1fr); }
 .setup-stage { padding:28px 20px; }
 .setup-stage h3 { font-size:37px; }
 .setup-workspace { padding:24px; }
 .setup-heading h2 { font-size:29px; }
 .setup-fuss { flex-direction:column-reverse; align-items:stretch; gap:10px; }
 .setup-aktionen .btn { flex:1; }
}
@media(max-width:700px) {
 #setupModal { padding:12px; }
 #setupModal .setup-modal { display:block; max-width:520px; border-radius:22px; max-height:calc(100dvh - 24px); }
 .setup-stage { min-height:0; padding:20px 24px; }
 .setup-brand { font-size:17px; }
 .setup-brand img { width:27px; height:27px; }
 .setup-stage-copy,.setup-stage-note { display:none; }
 .setup-preview { transform:none; margin:18px 0 0; }
 #setupModal[data-step="0"] .setup-preview,#setupModal[data-step="1"] .setup-preview { display:none; }
 .setup-workspace { padding:18px 24px 22px; }
 .setup-topline { margin-bottom:17px; }
 .setup-schritte { margin-bottom:27px; gap:7px; }
 .setup-punkt { font-size:9px; }
 .setup-heading h2 { font-size:30px; }
 .setup-text { font-size:13px; margin-bottom:23px; }
 .setup-name-entry { flex-wrap:wrap; }
 .setup-name-entry input { width:100%; flex-basis:100%; }
 .setup-name-entry .btn { width:100%; min-height:46px; }
 .setup-personen { grid-template-columns:1fr; }
 .setup-person-avatar { flex-basis:34px; width:34px; height:34px; }
 .setup-vorlagen { grid-template-columns:1fr; }
 .setup-vorlage { padding:12px 14px; min-height:60px; }
 .setup-task-copy { font-size:13px; }
 .setup-selection-bar { align-items:stretch; flex-direction:column; gap:9px; }
 .setup-fuss { padding-top:26px; }
 .setup-empty-roster { padding:16px; }
 .setup-summary>div { padding:18px 14px; }
}
@media(prefers-reduced-motion:reduce) { .setup-inhalt,.setup-person,.setup-preview-column { animation:none; } .setup-vorlage { transition:none; } }

/* Sichtbare Rückmeldung, wenn das Tablet Wachhalten nicht erlaubt. */
.screen-awake-notice { padding:10px 14px; margin:0 0 12px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface-raised); color:var(--color-text-muted); font-size:12px; line-height:1.6; }
#fullscreenBtn[data-screen-awake="active"] .icon { position:relative; }
#fullscreenBtn[data-screen-awake="active"] .icon::after { content:''; position:absolute; right:-5px; top:-3px; width:6px; height:6px; border-radius:50%; background:#a8d7ab; box-shadow:0 0 0 2px var(--theme-sidebar); }

/* Einstellungen: feste Orientierung, getrennte Bestände und Formulare. */
#adminModal { padding:24px; }
#adminModal .settings-modal { width:min(1180px,100%); max-width:1180px; height:min(880px,calc(100dvh - 48px)); max-height:none; padding:0; display:flex; flex-direction:column; overflow:hidden; border-radius:24px; background:var(--color-surface-sunken); }
#adminModal .settings-header { flex:none; margin:0; padding:20px 26px; background:var(--color-surface); }
.settings-heading { display:flex; align-items:center; gap:13px; }
.settings-heading img { width:38px; height:38px; }
.settings-eyebrow { display:block; margin-bottom:4px; color:var(--color-text-muted); font-size:9px; font-weight:700; letter-spacing:.15em; }
#adminModal .settings-header h2 { font-size:21px; }
.settings-layout { display:grid; grid-template-columns:212px minmax(0,1fr); flex:1; min-height:0; }
#adminModal .settings-nav { display:flex; flex-direction:column; flex-wrap:nowrap; gap:4px; margin:0; padding:22px 14px; overflow-y:auto; border-right:1px solid var(--color-border); background:var(--color-surface); }
.settings-nav-label { margin:18px 12px 7px; color:var(--color-text-muted); font-size:9px; font-weight:700; letter-spacing:.12em; }
.settings-nav-label:first-child { margin-top:0; }
#adminModal .tab { display:flex; align-items:center; gap:10px; flex:0 0 auto; min-height:46px; border:1px solid transparent; border-radius:11px; padding:11px 12px; text-align:left; font-size:13px; font-weight:550; color:var(--color-text-muted); background:transparent; box-shadow:none; }
#adminModal .tab>.icon { width:19px; height:19px; flex-shrink:0; }
#adminModal .tab.active { background:var(--color-accent-soft); color:var(--color-accent-ink); border-color:var(--color-accent-line); font-weight:700; }
#adminModal .tab:hover:not(.active) { background:var(--color-surface-raised); color:var(--color-text); }
.settings-nav-arrow { margin-left:auto; font-size:20px; opacity:0; }
.tab.active .settings-nav-arrow { opacity:1; }
.settings-content { min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:30px; }
.settings-mobile-nav { display:none; }
.settings-panel-heading { margin:0 0 24px; }
.settings-panel-heading h2 { margin:0 0 7px; font-size:29px; letter-spacing:-.045em; font-weight:650; line-height:1.15; }
.settings-panel-heading p { margin:0; color:var(--color-text-muted); font-size:14px; line-height:1.6; }
.settings-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start; }
#adminModal .settings-card,#adminModal .theme-settings { padding:24px; margin:0 0 20px; border:1px solid var(--color-border); border-radius:17px; background:var(--color-surface); min-width:0; }
#adminModal .settings-card h3 { font-size:16px; line-height:1.4; font-weight:650; letter-spacing:-.02em; margin:0 0 18px; display:flex; align-items:center; gap:8px; }
#adminModal .settings-card h3:not(:first-child) { margin-top:24px; }
#adminModal .settings-card h3>.icon { width:18px; height:18px; color:var(--color-text-muted); }
#adminModal .account-hint { color:var(--color-text-muted); font-size:13px; line-height:1.65; margin:0 0 18px; }
#adminModal .account-info { font-size:13px; color:var(--color-text-muted); overflow-wrap:anywhere; padding:0 0 18px; border-bottom:1px solid var(--color-border); margin:0 0 20px; }
#adminModal .account-info strong { color:var(--color-text); }
#adminModal .admin-list { margin:0; gap:0; }
#adminModal .admin-item { padding:14px 0; gap:10px; border:0; border-bottom:1px solid var(--color-border); border-radius:0; background:transparent; align-items:center; }
#adminModal .admin-item:first-child { padding-top:0; }
#adminModal .admin-item:last-child { border-bottom:0; padding-bottom:0; }
#adminModal .item-title { font-size:14px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
#adminModal .item-sub { font-size:12px; font-weight:450; line-height:1.6; }
#adminModal .item-avatar { width:36px; height:36px; font-size:14px; }
#adminModal .item-icon { width:34px; height:34px; border-radius:10px; }
#adminModal .item-actions { gap:8px; flex-wrap:wrap; justify-content:flex-end; }
#adminModal .mini-btn { width:40px; height:40px; border-radius:10px; background:var(--color-surface); }
#adminModal .mini-btn:not(:hover) { border-color:var(--color-border); }

#adminModal .admin-form { gap:14px; margin:0; }
#adminModal .small-label { font-size:12px; font-weight:600; color:var(--color-text-muted); margin:0 0 -6px; }
#adminModal .admin-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),#adminModal .admin-form select { min-height:46px; min-width:0; border:1px solid var(--color-border-strong); border-radius:10px; padding:11px 12px; background:var(--color-surface-raised); color:var(--color-text); font:inherit; font-size:14px; width:100%; }
#adminModal .admin-form input:focus,#adminModal .admin-form select:focus { border-color:var(--color-accent); outline:2px solid var(--color-accent-soft); outline-offset:1px; }
#adminModal .btn { min-height:44px; border-radius:10px; font-size:13px; padding:11px 16px; line-height:1.4; }
#adminModal .admin-form>.btn { align-self:flex-start; }
#adminModal .admin-form>.form-row:last-child { margin-top:8px; padding-top:16px; border-top:1px solid var(--color-border); flex-wrap:wrap; }
#adminModal .admin-form>.form-row:last-child>.btn { flex:0 1 auto; }
#adminModal .form-row { gap:12px; min-width:0; }
#adminModal .form-row>* { min-width:0; }
#adminModal .person-fields { display:flex; flex-direction:column; gap:8px; }
#adminModal .person-fields .small-label { margin:0; }
#adminModal .person-row { align-items:center; }
#adminModal .avatar-preview .icon { width:28px; height:28px; }
#adminModal .settings-selected-icon { display:inline-flex; vertical-align:middle; margin-right:8px; color:var(--color-accent-ink); }
#adminModal .settings-selected-icon svg { width:17px; height:17px; }
#adminModal .avatar-upload { width:68px; height:68px; flex:none; border-radius:18px; }
#adminModal .settings-disclosure { border:1px solid var(--color-border); border-radius:10px; background:var(--color-surface-raised); padding:0 12px; }
#adminModal .settings-disclosure summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:12px; font-weight:600; color:var(--color-text-muted); }
#adminModal .settings-disclosure[open] summary { color:var(--color-text); margin-bottom:10px; border-bottom:1px solid var(--color-border); }
#adminModal .settings-disclosure .template-list,#adminModal .settings-disclosure .icon-picker,#adminModal .settings-disclosure .figure-picker { padding-bottom:14px; margin:0; }
#adminModal .icon-picker { gap:6px; }
#adminModal .icon-option { width:38px; height:38px; border-radius:9px; }
#adminModal .check-chip { line-height:1.6; font-size:12px; align-items:flex-start; }
#adminModal .check-chip input { margin-top:3px; flex:none; }
#adminModal .points-row { flex-wrap:wrap; gap:10px; }
#adminModal .points-row input { max-width:90px; }
#adminModal .points-presets { flex-wrap:wrap; }
#adminModal .settings-calendar-feed>.account-hint { max-width:600px; }
#adminModal .settings-calendar-feed .admin-list:not(:empty) { margin-bottom:22px; }
#adminModal .settings-calendar-feed .admin-form { max-width:620px; }
#adminModal #aboBereich { padding:0; border:0; margin:0; border-radius:0; }
#adminModal .theme-settings h3 { font-size:16px; font-weight:650; margin-bottom:10px; letter-spacing:-.02em; }
#adminModal .theme-picker { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#adminModal .theme-preview { height:100px; grid-template-rows:20px 54px; }
#adminModal .theme-option-name { font-size:13px; }
#adminModal .theme-option-description { font-size:11px; }
#adminModal .settings-danger { border-color:var(--color-danger-line); background:var(--color-danger-soft); }
#adminModal .settings-danger h3,#adminModal .settings-danger h3>.icon { color:var(--color-danger-ink); }
#adminModal .settings-legal { background:transparent; border:0; padding:8px 0; }
#adminModal .settings-legal h3 { font-size:12px; color:var(--color-text-muted); }
#adminModal .legal-links { gap:14px; }
#adminModal .device-note { padding:14px; border-radius:10px; border:1px solid var(--color-border); background:var(--color-surface-raised); }
#adminModal :focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
@media (max-width:1199px) {
  .settings-split { grid-template-columns:1fr; gap:0; }
  .settings-layout { grid-template-columns:190px minmax(0,1fr); }
  .settings-content { padding:24px; }
}
@media (max-width:700px) {
  #adminModal { padding:10px; }
  #adminModal .settings-modal { height:calc(100dvh - 20px); border-radius:18px; }
  #adminModal .settings-header { padding:14px 18px; }
  .settings-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
  #adminModal .settings-nav { display:none; }
  .settings-mobile-nav { display:flex; align-items:center; gap:14px; padding:12px 18px; background:var(--color-surface); border-bottom:1px solid var(--color-border); font-size:11px; color:var(--color-text-muted); }
  .settings-mobile-nav select { flex:1; min-width:0; min-height:44px; border:1px solid var(--color-border-strong); background:var(--color-surface-raised); color:var(--color-text); border-radius:9px; padding:10px; font:inherit; font-size:13px; }
  .settings-content { padding:22px 16px; scrollbar-gutter:auto; }
  .settings-panel-heading { margin-bottom:20px; }
  .settings-panel-heading h2 { font-size:25px; }
  .settings-panel-heading p { font-size:13px; }
  #adminModal .settings-card,#adminModal .theme-settings { padding:18px; margin-bottom:16px; border-radius:13px; }
  #adminModal .theme-picker { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #adminModal .theme-preview { height:85px; grid-template-rows:15px 44px; }
  #adminModal .settings-card .form-row:not(.person-row):not(.type-switch) { flex-wrap:wrap; }
  #adminModal .settings-card .form-row>.event-field { flex-basis:100%; }
  #adminModal .item-avatar { width:30px; height:30px; }
  #adminModal .item-actions { gap:6px; }
  #adminModal .admin-item:has(.item-actions>:nth-child(3)) { flex-wrap:wrap; }
  #adminModal .admin-item:has(.item-actions>:nth-child(3)) .item-actions { width:100%; }
  #adminModal .admin-item { gap:8px; }
  #adminModal .abo-tarife { grid-template-columns:1fr; }
}
@media (max-width:370px) {
  #adminModal { padding:0; }
  #adminModal .settings-modal { height:100dvh; border-radius:0; border:0; }
  .settings-content { padding:18px 12px; }
  #adminModal .settings-card,#adminModal .theme-settings { padding:14px; }
  #adminModal .admin-item { flex-wrap:wrap; }
  #adminModal .admin-item .item-actions { width:100%; }
}
#adminModal .settings-card-header { display:flex; align-items:center; gap:12px; justify-content:space-between; margin-bottom:18px; }
#adminModal .settings-card-header h3 { margin:0; }
#adminModal .settings-add-link { flex:none; display:inline-flex; align-items:center; gap:5px; min-height:40px; padding:7px 10px; border:1px solid var(--color-accent-line); background:var(--color-accent-soft); color:var(--color-accent-ink); font-size:12px; font-weight:650; border-radius:9px; }
#adminModal .settings-add-link span { font-size:17px; }
#adminModal .settings-add-link:hover { border-color:var(--color-accent); }
#adminModal .avatar-preview>svg { width:28px; height:28px; }
#adminModal .photo-grid>p { grid-column:1 / -1; font-size:13px; line-height:1.6; color:var(--color-text-muted); }

/* Anlegen gehört zu den Werkzeugen unten; Salbei unterscheidet es von der Ansicht. */
.sidebar .nav-foot .nav-create { margin:0; }
#createBtn { background:#b7cfbe; color:#233d2f; border:1px solid #c8dfcf; box-shadow:none; }
#createBtn:hover,#createBtn[aria-expanded="true"] { background:#d0e3d5; color:#233d2f; }
@media(max-width:700px) {
  /* Breite aus dem Inhalt statt fest: Mit dem Widerrufs-Link stehen hier drei
     Knöpfe, die in 90 px nicht passten – der letzte ragte über den Rand. */
  .sidebar .nav-foot { flex:0 0 auto; }
  .sidebar .nav-foot .nav-create { flex:0 0 46px; }
  .radial-menu { --direction:-115deg; --spread:25deg; --radius:110px; }
}
.radial-item { color:var(--color-text); }
#aboBereich .abo-klein a { color:var(--color-accent-ink); text-underline-offset:3px; }
/* Öffentlicher Vertragslink auf der Anmeldung. */
.withdraw-link { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 11px; border:1px solid var(--color-border, #c9b8a7); border-radius:9px; color:var(--color-accent-ink, #91472e); background:var(--color-surface, #fffefa); font-size:12px; font-weight:650; text-decoration:none; }
.withdraw-link:focus-visible { outline:3px solid var(--color-accent-ink, #91472e); outline-offset:3px; }
.auth-contract { text-align:center; }
