/* Shared visual language and the two primary navigation surfaces. */
.nextcloud-settings{margin-bottom:28px}.nextcloud-settings form{max-width:640px}.nextcloud-settings .sound{align-items:flex-start;line-height:1.5}.nextcloud-settings .sound input{min-height:0;margin-top:5px;flex-shrink:0}
:root{--ink:#253042;--muted:#697280;--bg:#f5f6f8;--accent:#b92d35;--line:#dfe3e9}
body{background:var(--bg);letter-spacing:-.015em}body>header{height:78px;padding:0 max(24px,calc((100vw - 1280px)/2));background:#ffffff;border-color:var(--line)}
.brand{display:flex;gap:11px;align-items:center;font-size:1.1rem;letter-spacing:-.035em}.brand-mark{background:var(--accent);color:#fff;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;font-size:1.3rem}
main{max-width:1280px;padding:42px 28px 70px}h1{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:750;letter-spacing:-.055em}h2{font-size:1.2rem;letter-spacing:-.025em}button{font-weight:650;transition:background .15s,border-color .15s}button.ghost{background:#edf0f5;color:#35445b}button:hover{filter:brightness(.97)}button:disabled{cursor:not-allowed}button[hidden]{display:none}.card{box-shadow:none;border-radius:16px}.card>h2:first-child{margin-top:0}input,select{min-height:46px;border-color:#d5dce5}.lead{line-height:1.65}#toast{z-index:30;max-width:calc(100vw - 28px)}
.eyebrow{font-size:.68rem;letter-spacing:.15em;font-weight:750;color:var(--accent);margin:0 0 16px}.booking-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:10px 0 34px}.booking-intro .lead{margin:12px 0 0}.booking-steps{display:flex;gap:24px;list-style:none;padding:0;font-size:.78rem;color:var(--muted);white-space:nowrap}.booking-steps li{display:flex;align-items:center;gap:9px}.booking-steps li span{display:grid;place-items:center;background:#e9edf2;border:1px solid #dbe1e9;border-radius:50%;width:28px;height:28px;font-weight:700}.booking-steps [aria-current]{color:var(--accent);font-weight:700}.booking-steps [aria-current] span{background:var(--accent);color:white;border-color:var(--accent)}
.people-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:start}.people-panel{padding:28px;background:white;border:1px solid var(--line);border-radius:20px;min-width:0}.people-panel label{font-size:.84rem;font-weight:650}.search-control{display:flex;align-items:center;border:1px solid #ccd5df;border-radius:12px;padding:3px 10px;background:#fafbfd;gap:8px;margin-top:5px}.search-control:focus-within{outline:3px solid #dfb4b8;outline-offset:2px}.search-control>span{font-size:1.65rem;color:var(--muted)}.search-control input{border:0;background:transparent;margin:0;min-width:0;outline:none;padding:12px 5px}.search-control button{font-size:.72rem;padding:9px;flex-shrink:0}.people-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 16px}.people-caption h2{font-size:.92rem;margin:0}.people-caption>span{font-size:.75rem;color:var(--muted)}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.person-tile{display:flex;align-items:center;gap:13px;text-align:left;padding:16px 13px;min-height:80px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;font-size:.9rem;min-width:0}.person-tile:hover{background:#fff5f5;border-color:#bf6b71;filter:none}.person-avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;background:#f9e9e9;color:#96373b;border-radius:12px;font-size:.85rem;font-weight:750}.person-tile:nth-child(3n+2) .person-avatar{background:#e9edf4;color:#465b79}.person-tile:nth-child(3n) .person-avatar{background:#f5efdf;color:#8c733e}.person-name{overflow-wrap:anywhere;line-height:1.4}.person-arrow{margin-left:auto;color:#8b94a2;font-size:1.1rem}.people-empty{grid-column:1/-1;padding:25px 10px;color:var(--muted)}.people-empty h3{color:var(--ink)}

.admin-shell{display:grid;grid-template-columns:222px minmax(0,1fr);gap:36px;align-items:start}.admin-sidebar{position:sticky;top:106px;padding-right:20px;border-right:1px solid var(--line);max-height:calc(100dvh - 128px);overflow-y:auto}.sidebar-caption{display:flex;flex-direction:column;margin:0 12px 22px;gap:3px}.sidebar-caption .eyebrow{margin:0;font-size:.6rem}.sidebar-caption strong{font-size:1.15rem}.tabs{display:block;margin:0}.nav-group{margin-bottom:23px}.nav-group h2{font-size:.59rem;letter-spacing:.12em;color:#788496;margin:0 12px 8px}.tabs .nav-group button{display:flex;align-items:center;gap:12px;min-height:43px;margin:3px 0;padding:10px 12px;width:100%;border-radius:9px;background:transparent;color:#5d6c81;text-align:left;font-size:.84rem;font-weight:550}.tabs .nav-group button:hover{background:#edf0f5}.tabs .nav-group button.active{background:#f6e3e5;color:#a12631;font-weight:750;box-shadow:inset 3px 0 #b92d35}.nav-symbol{font-size:1.1rem;width:19px;text-align:center;flex-shrink:0}.back-to-booking{font-size:.75rem;width:100%;margin:6px 0 10px;padding:12px 5px;background:transparent!important}.admin-workspace{min-width:0}.admin-heading{padding:0 0 25px;margin-bottom:25px;align-items:center}.admin-heading h1{font-size:2rem}.admin-heading .lead{font-size:.76rem}.admin-heading>button{font-size:.76rem;padding:9px 12px}.admin-workspace>#admincontent>h2:first-child{margin-top:0}.admin-workspace .grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-workspace>.admin-heading+button{margin-bottom:20px}.mobile-menu{display:none}.admin-workspace .split{gap:20px}.admin-workspace .row{overflow-wrap:anywhere}.admin-workspace .card{min-width:0}.admin-workspace .admin-table{font-size:.85rem}
@media(min-width:1100px){.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.booking-steps{display:none}.people-layout{grid-template-columns:minmax(0,1fr);gap:20px}.people-panel{padding:22px}.admin-shell{grid-template-columns:190px minmax(0,1fr);gap:24px}.admin-sidebar{padding-right:12px}.admin-workspace .split{grid-template-columns:1fr}}
@media(max-width:720px){body>header{height:66px;padding:0 18px}.brand{font-size:1rem}#adminToggle{font-size:.77rem}main{padding:28px 16px 45px}.booking-intro{margin:4px 0 24px}.eyebrow{font-size:.58rem;letter-spacing:.12em}.booking-intro .lead{font-size:.9rem}.people-layout{grid-template-columns:1fr}.people-panel{padding:20px 16px;border-radius:16px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.person-tile{gap:9px;padding:12px 9px;font-size:.8rem;min-height:74px}.person-avatar{width:33px;height:36px;font-size:.73rem}.person-arrow{display:none}.people-caption>span{font-size:.68rem}.admin-shell{grid-template-columns:1fr;gap:20px}.admin-sidebar{position:static;max-height:none;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.sidebar-caption{display:none}.mobile-menu{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.85rem}.admin-sidebar .tabs,.admin-sidebar .back-to-booking{display:none}.admin-sidebar.menu-open .tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 0}.admin-sidebar.menu-open .back-to-booking{display:block}.nav-group{margin:0}.admin-heading{margin-bottom:18px;padding-bottom:18px;flex-wrap:nowrap}.admin-heading h1{font-size:1.7rem}.admin-heading .lead{font-size:.68rem}.admin-workspace .grid{grid-template-columns:1fr}}
@media(max-width:370px){.people-grid{grid-template-columns:1fr}.admin-sidebar.menu-open .tabs{grid-template-columns:1fr}.brand-mark{width:30px;height:30px}.brand{gap:7px;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.admin-sidebar,.booking-steps{display:none!important}.admin-shell{display:block}body>header{display:none}.admin-heading{display:none}}

/* Feuerwehr Körle/Wagenfurth */
body>header{border-top:4px solid var(--accent)}.brand-mark{font-size:1rem;border-radius:9px 9px 15px 15px;flex-shrink:0}.brand-name{display:flex;flex-direction:column;gap:2px;line-height:1.1}.brand-name strong{font-size:1rem;letter-spacing:.02em}.brand-name>span{font-size:.78rem;font-weight:550;letter-spacing:0;color:var(--muted)}.site-footer{max-width:1280px;margin:auto;padding:20px 28px;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line)}.booking-intro h1{max-width:680px}.user-archive-toggle{margin-bottom:18px}.admin-workspace .row>span:last-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:5px}.admin-workspace .row>span:last-child>b{flex-basis:100%;text-align:right}.bar{background:var(--accent)}@media(max-width:720px){.brand-name strong{font-size:.9rem}.brand-name>span{font-size:.7rem}.booking-intro h1{font-size:1.95rem}.site-footer{padding:20px 16px}}

.people-alphabet{display:flex;flex-wrap:wrap;gap:5px;margin:20px 0 10px}.people-alphabet button{min-width:36px;min-height:44px;padding:8px}.people-alphabet button:disabled{opacity:.3;cursor:default}.person-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
