:root{font-family:system-ui,sans-serif;color:#f4eddf;background:#151d1b;--gold:#e2bb7e;--muted:#b9c5bf;--line:#45524b}*{box-sizing:border-box}body{margin:0}header,main{max-width:1120px;margin:auto;padding:28px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--gold);font:38px Georgia,serif;letter-spacing:2px}.brand span{display:block;font:9px system-ui;letter-spacing:3px;color:var(--muted);margin-top:7px}.badge{border:1px solid var(--line);border-radius:30px;padding:9px 14px;font-size:12px}.hero{padding:45px 0 24px}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2px}h1{font:clamp(38px,6vw,67px)/1.1 Georgia,serif;margin:20px 0}h1 em{color:var(--gold);font-weight:normal}p{line-height:1.65;color:var(--muted)}.notice{border-left:3px solid var(--gold);background:#202c26;padding:15px 20px;line-height:1.7;font-size:14px;margin-top:28px}nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:12px 0 18px}button{border:1px solid var(--line);border-radius:6px;background:#25342c;color:#f4eddf;cursor:pointer;padding:12px 17px;font:inherit;font-size:14px;min-height:44px}button:hover,button.active{border-color:var(--gold);color:var(--gold)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--gold);color:#17201b;border:0;font-weight:650}a,button,input,select{outline-offset:5px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#202b25;border:1px solid var(--line);border-radius:12px;padding:26px}.card h2{font:30px Georgia,serif;margin:12px 0}.pill{color:var(--gold);font-size:11px;letter-spacing:1px}.meta{display:flex;gap:20px;padding:15px 0;color:var(--muted);font-size:14px;flex-wrap:wrap}form{display:grid;gap:16px;margin-top:20px}label{display:grid;gap:7px;font-size:13px;color:var(--muted)}input,select{min-height:44px;padding:10px;border-radius:5px;border:1px solid #657368;background:#17201b;color:#fff;font:inherit;width:100%}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}details{margin-top:20px}summary{cursor:pointer;color:var(--gold);min-height:35px}.steps{list-style:none;padding:0}.steps li{display:flex;gap:14px;border-bottom:1px solid var(--line);padding:16px 0;line-height:1.5}.steps li:before{content:'○';color:var(--gold)}.small{font-size:12px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 7px}th{color:var(--gold);font-weight:500}.scroll{overflow:auto}#message:not(:empty){background:#3c3525;padding:12px 18px;border-radius:6px;color:#ffe0ab}footer{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;font-size:12px;color:var(--muted);line-height:1.8}footer span{display:block}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:#fff;color:#000;padding:10px}@media(max-width:640px){header,main{padding:20px}.grid{grid-template-columns:1fr}.hero{padding-top:25px}.brand{font-size:30px}.badge{font-size:10px}.card{padding:20px}.row{grid-template-columns:1fr}nav button{flex:1}.meta{gap:12px}}

.spaced{margin-top:22px}
.hero{padding:26px 0 12px}h1{font-size:clamp(34px,5vw,50px)}.hero>p:not(.eyebrow){margin:10px 0}.notice{margin-top:18px}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0}.toolbar label{min-width:260px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{border:1px solid var(--line);border-radius:8px;padding:20px;background:#202b25;display:grid;gap:9px}.stat strong{font:30px Georgia,serif;color:var(--gold)}.stat span{font-size:12px;color:var(--muted)}.command-form{border-top:1px solid var(--line);padding-top:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.command-form h3{grid-column:1/-1;font:22px Georgia,serif;margin:4px 0}.command-form button{align-self:end}.draft{border-top:1px solid var(--line);padding:18px 0}.status-line{color:var(--gold);font-size:20px}th{white-space:nowrap}.skip{z-index:10}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold)}@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar label{min-width:0}.command-form{grid-template-columns:1fr}nav button{flex:initial;min-height:48px}.command-form button{min-height:52px}.stat{padding:15px}.stat strong{font-size:25px}}

body.guest-mode main{max-width:760px}
.guest-wrap{max-width:640px;margin:8px auto 28px}
.guest-wrap h2{font:34px Georgia,serif;margin:8px 0 12px}
.guest-form{position:relative;margin-top:8px}
.guest-step{border:0;margin:0;padding:0;display:grid;gap:18px}
.guest-step legend{font:28px Georgia,serif;color:#f4eddf;padding:0}
.guest-step h3{font:22px Georgia,serif;margin:8px 0 0}
.progress{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.progress li{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px}
.progress li[aria-current="step"]{color:var(--gold);border-color:var(--gold)}
.choice{min-height:44px;display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
.choice input{width:1.25rem;height:1.25rem;min-height:0;flex:0 0 auto}
.choice span{line-height:1.4}
.guest-actions{display:flex;gap:12px;flex-wrap:wrap}
.guest-actions button{min-height:44px}
.hint{margin:0;color:var(--muted);font-size:14px}
.field-error,.guest-top{color:#ffd0c8;background:#3c2a28;border-radius:6px;padding:10px 12px;margin:0}
.review-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.review-list li{border-bottom:1px solid var(--line);padding-bottom:10px;line-height:1.5}
textarea{min-height:110px;padding:10px;border-radius:5px;border:1px solid #657368;background:#17201b;color:#fff;font:inherit;width:100%}
.company-field{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.guest-wrap a{color:var(--gold)}
@media(max-width:640px){.guest-wrap{margin:0 auto}.progress li,.choice,.guest-actions button{min-height:48px}}

.brand{display:flex;align-items:center;gap:14px;letter-spacing:0}
.brand img{width:92px;height:92px;object-fit:cover;border-radius:16px;background:#0e0e0e}
.brand .word{font:34px Georgia,serif;letter-spacing:1px;color:var(--gold);line-height:1}
.brand .word small{display:block;margin-top:6px;font:9px system-ui;letter-spacing:3px;color:var(--muted)}
.filters,.save-row,.pills{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.filters label{min-width:150px;flex:1}
.pills{margin:14px 0}
.pills button,.chip,.person-row{min-height:44px}
.person-list{display:grid;gap:8px}
.person-row{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;text-align:left;background:#17201b}
.person-row strong{color:#f4eddf}
.person-row span{color:var(--muted);font-size:13px}
.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.bed-card{border:1px solid var(--line);border-radius:12px;padding:14px;min-height:128px;background:#17201b}
.bed-card.free{border-style:dashed}
.bed-card.over{border-color:var(--gold);background:#24352c}
.bed-card strong{display:block;color:var(--gold);font:22px Georgia,serif}
.chip{border-radius:999px;cursor:grab}
.mask{display:grid;gap:12px}
.mask h3{font:24px Georgia,serif;margin:8px 0 0}
.barcode{background:#fff;border-radius:8px;padding:10px;width:max-content}
.barcode svg{display:block;max-width:100%}
.save-row input{min-width:180px;flex:1}
@media(max-width:700px){.brand img{width:72px;height:72px}.brand .word{font-size:28px}.person-row{align-items:flex-start;flex-direction:column}.bed-card,.person-row,.pills button{min-height:48px}}
[hidden]{display:none !important}

body.desk{color:#1c241f;background:#f6f1e7;--gold:#8a5a12;--muted:#3e4a43;--line:#e3d7c6}
body.desk header,body.desk main{max-width:none;padding:10px 18px 16px}
body.desk header{gap:16px;align-items:center;background:#f6f1e7}
body.desk .hero{display:none !important}
body.desk .brand img{width:48px;height:48px;border-radius:10px}
body.desk .brand .word{font-size:22px;color:#1c241f}
body.desk .brand .word small{color:var(--muted)}
body.desk .badge{color:var(--muted);background:#fff}
body.desk .surface-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-left:auto}
body.desk .surface-links a{color:var(--gold);font-size:14px;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
body.desk .surface-links a[aria-current="page"]{font-weight:700}
body.desk .scope-note{font-size:12px;color:var(--muted);max-width:280px;line-height:1.3}
body.desk nav{padding:6px 0 8px;background:#f6f1e7}
body.desk:not(.guest-mode) button{min-height:32px;padding:4px 12px;background:#fff;color:#1c241f}
body.desk:not(.guest-mode) button.primary{background:var(--gold);color:#fff}
body.desk:not(.guest-mode) button.active,body.desk .chips button.active{background:var(--gold);color:#fff;border-color:var(--gold)}
body.desk .card{background:#fff;color:#1c241f;box-shadow:0 1px 0 rgba(28,36,31,.04)}
body.desk .roster-card{padding:12px 14px}
body.desk .card h2{font-size:26px;margin:0 0 6px;color:#1c241f}
body.desk p,.body.desk .notice{color:var(--muted)}
body.desk .notice{background:#fff;color:#1c241f}
body.desk .stat{background:#fff}
body.desk .stat strong,body.desk th,body.desk .status-line{color:var(--gold)}
body.desk:not(.guest-mode) input,body.desk:not(.guest-mode) select,body.desk:not(.guest-mode) textarea{min-height:36px;background:#fff;color:#1c241f;border-color:#c9bfae}
body.desk .chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
body.desk .chips button{border-radius:999px}
body.desk .count-line{margin:0 0 8px;font-size:13px}
body.desk .roster th,body.desk .roster td{padding:4px 8px;white-space:nowrap;background:#fff;color:#1c241f;vertical-align:middle}
body.desk .roster .detail-row td{white-space:normal;background:#fbf8f2}
body.desk .roster .row-toggle{min-height:32px;padding:0 2px;border:0;background:transparent;color:#1c241f;font-weight:650;text-align:left;box-shadow:none}
body.desk .mask{display:grid;gap:10px;padding:8px 0 12px}
body.desk .mask h2{font:22px Georgia,serif;margin:0}
body.desk footer{margin-top:18px;padding-top:12px}
body.desk .guest-step legend,body.desk .guest-wrap h2,body.desk .guest-step h3{color:#1c241f}
body.desk .field-error,body.desk .guest-top{color:#6d2218;background:#f8e6e2}
body.desk #message:not(:empty){background:#fff4d8;color:#1c241f}
body.desk.guest-mode .choice input{min-height:0;width:1.25rem;height:1.25rem}
body.guest-mode .surface-links{display:none !important}
@media(max-width:700px){body.desk:not(.guest-mode) .row-toggle,body.desk:not(.guest-mode) .chips button,body.desk .surface-links a{min-height:44px}}
.help-block{display:grid;gap:12px;margin-top:18px}
.help-block h3{font:24px Georgia,serif;margin:0}
.slot-line{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(110px,1fr));gap:8px;align-items:center;border:0;margin:0;padding:0}
body.desk .slot-line .choice{margin:0;min-height:44px}
@media(max-width:700px){.slot-line{grid-template-columns:1fr}body.desk [data-helpers] button{min-height:44px}}
body.desk .filter-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(160px,.8fr);gap:8px}
body.desk .bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px}
body.desk .bulk input{min-width:220px;flex:1}
body.desk .roster .pick{width:18px;height:18px;min-height:18px}
body.desk textarea{width:100%;min-height:88px}
html[data-surface="teilnehmer"] nav,html[data-surface="akademie-teilnehmer"] nav,html[data-surface="teilnehmer"] .surface-links,html[data-surface="akademie-teilnehmer"] .surface-links{display:none !important}
html[data-surface="akademie"] nav button:not([data-view="verwaltung"]){display:none !important}
@media(max-width:700px){body.desk .filter-row{grid-template-columns:1fr}body.desk .bulk button,body.desk .roster .pick{min-height:44px;min-width:44px}}
body.desk .scroll{overflow-x:auto}
body.desk table.roster{display:table;border-collapse:collapse;width:max-content;background:#fff}
body.desk table.roster > thead{display:table-header-group}
body.desk table.roster > tbody{display:table-row-group}
body.desk table.roster tr{display:table-row}
body.desk table.roster th,body.desk table.roster td{display:table-cell}
body.desk table.roster th{color:#8a5a12;background:#fff}
body.desk table.roster th:has(.sort-head){padding:0}
body.desk table.roster button.sort-head{min-height:32px;padding:4px 8px;border:0;border-radius:0;background:transparent;color:#8a5a12;font-weight:650;box-shadow:none;white-space:nowrap}
body.desk table.roster button.sort-head[aria-pressed="true"]{background:#fff4d8}
body.desk .bulk textarea[data-letter]{flex-basis:100%;min-height:72px}
body.desk .bulk select{width:auto;min-width:220px;flex:0 1 280px}
@media(max-width:700px){body.desk .roster .row-toggle,body.desk table.roster button.sort-head,body.desk .bulk select,body.desk .bulk button{min-height:44px}body.desk table.roster button.sort-head,body.desk .bulk button{min-width:44px}}
body.desk .bed-card{background:#fff;color:#1c241f}
body.desk .bed-card.free{border:2px dashed var(--gold);background:#fffdf8}
body.desk .bed-card.over{border-color:var(--gold);background:#fff4d8}
body.desk .bed-card.locked{border:2px solid #8a5a12;background:#f3efe6;cursor:not-allowed}
body.desk .chip{border:2px dashed var(--gold);background:#fff4d8;cursor:grab}
body.desk .pills .chip{min-height:44px}
body.desk [data-handwriting] summary,body.desk [data-handwriting] button{min-height:44px}
body.desk [data-handwriting] .command-form{display:grid;gap:12px}
body.desk [data-handwriting] .command-form p,body.desk [data-handwriting] .command-form .choice,body.desk [data-handwriting] .command-form button{grid-column:1 / -1}
body.desk [data-schalter]{display:grid;gap:10px;margin:12px 0 18px;padding:14px;border:1px solid var(--gold);border-radius:10px;background:#202c26}
body.desk [data-schalter] h3{margin:0;font:22px Georgia,serif;color:var(--gold)}
body.desk [data-schalter] .schalter-actions,body.desk [data-schalter] [data-room-choices]{display:flex;flex-wrap:wrap;gap:8px}
body.desk [data-schalter] button{min-height:44px}
body.desk [data-schalter] button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
body.desk [data-earlybird]{display:grid;gap:10px;margin:12px 0 18px;padding:14px;border:1px solid var(--gold);border-radius:10px;background:#202c26}
body.desk [data-earlybird] h2{margin:0;font:28px Georgia,serif;color:var(--gold)}
body.desk [data-earlybird] [data-eb-hits],body.desk [data-earlybird] [data-eb-pick],body.desk [data-earlybird] .schalter-actions{display:flex;flex-wrap:wrap;gap:8px}
body.desk [data-earlybird] input,body.desk [data-earlybird] button{min-height:44px}
body.desk [data-earlybird] [data-eb-badge]{color:var(--gold)}
body.desk .overview{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
body.desk .overview-task{min-height:44px;text-align:left}
body.desk .gate{max-width:40rem}
body.desk .bed-card.held{border:2px solid #8a5a12;background:#f6f1e6;cursor:not-allowed}
body.desk .mine-card{margin-top:12px;padding:12px;border:1px solid #e4d3ae;border-radius:12px;background:#fff}
body.desk .mine-card button{min-height:44px;margin:8px 8px 0 0}
[hidden]{display:none !important}
