@font-face{font-family:'Fachschaft Sans';src:url('/fonts/DejaVuSans.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:'Fachschaft Sans';src:url('/fonts/DejaVuSans-Bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{font-family:'Fachschaft Sans',system-ui,sans-serif;color:#152a3d;background:#f3f6f8;font-size:16px}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:'Fachschaft Sans',system-ui,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(2.1rem,4vw,4rem);line-height:1.08;margin:.4rem 0 1.2rem}h2{font-size:1.55rem}h3{margin:.3rem 0}p{line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:0;border-radius:9px;background:#c69a53;color:#102a43;padding:.82rem 1.2rem;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#e7edf1;color:#17334c}.danger{background:#fbe1dc;color:#a32d25}.small{font-size:.85rem;padding:.5rem .7rem}.top{background:#102a43;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:1rem max(2rem,calc((100vw - 1180px)/2));gap:1rem}.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none;line-height:1.15;font-size:.78rem;letter-spacing:.02em}.brand strong{font-size:1rem}.logo{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c69a53;color:#e8be79;font:700 1.7rem Georgia;border-radius:5px}.top nav{display:flex;gap:1.5rem}.top nav a{text-decoration:none;font-weight:600}main{max-width:1180px;margin:auto;padding:2.2rem 1.5rem;min-height:75vh}.eyebrow{font-size:.78rem;color:#86612c;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.muted{color:#65788a}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card,.panel{background:#fff;border:1px solid #dfe6ea;border-radius:14px;padding:1.5rem;box-shadow:0 8px 30px #102a4307}.event-card{overflow:hidden;padding:0}.event-card .body{padding:1.35rem}.event-art{height:185px;background:linear-gradient(120deg,#102a43,#29547a 65%,#99703b);position:relative;overflow:hidden}.event-art:after{content:'§';position:absolute;right:8%;top:-65px;color:#ffffff20;font:280px Georgia}.event-art img{height:100%;width:100%;object-fit:cover;position:relative;z-index:1}.event-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:1.5rem}.hero{background:#102a43;color:#fff;border-radius:16px;overflow:hidden}.hero .copy{padding:2.2rem}.hero .eyebrow{color:#e8be79}.hero p{color:#d8e4ec}.hero .event-art{height:265px}.aside{position:sticky;top:1rem;align-self:start}.detail{border-bottom:1px solid #e2e8ec;padding:.8rem 0;display:flex;justify-content:space-between;gap:1rem}.detail span:first-child{color:#6e7e8b}.price{font-size:2.2rem;font-weight:800;letter-spacing:-.05em}.notice{border-left:4px solid #c69a53;background:#fff9eb;padding:1rem;border-radius:5px}.status{display:inline-block;border-radius:50px;padding:.3rem .7rem;background:#e5f5ed;color:#17603d;font-weight:700;font-size:.85rem}.status.bad{background:#fde8e5;color:#a42d26}.status.warn{background:#fff3d7;color:#805b12}.field{display:grid;gap:.35rem;margin:.8rem 0}.field label{font-weight:700;font-size:.9rem}.field input,.field select,.field textarea,.search{border:1px solid #cbd6dd;background:#fff;border-radius:8px;padding:.78rem;min-width:0;width:100%;color:#142c43}.field textarea{min-height:110px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.checkbox{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;line-height:1.5}.checkbox input{margin-top:.25rem}.stack{display:grid;gap:1rem}.toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.toolbar .search{width:min(340px,100%)}.admin-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap}.tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid #d8e0e6;margin:1.3rem 0}.tabs button{background:transparent;color:#536b7f;border-radius:0;padding:.75rem 1rem}.tabs button.active{color:#102a43;border-bottom:3px solid #c69a53}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat b{display:block;font:700 2rem 'Fachschaft Sans'}.table-wrap{overflow:auto;background:#fff;border:1px solid #dfe6ea;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;padding:.82rem .8rem;border-bottom:1px solid #e9eef1;white-space:nowrap}th{background:#f8fafb;color:#5d7081;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border:0}.scan{max-width:620px;margin:auto;text-align:center}.scan video{width:100%;max-height:370px;background:#152a3d;border-radius:12px;object-fit:cover}.scan-result{padding:1.2rem;border-radius:10px;background:#e6f6ec;color:#11573a;margin:1rem 0}.scan-result.bad{background:#fee7e4;color:#a42d26}footer{background:#102a43;color:#cfdae1;padding:2rem max(1.5rem,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:2rem}footer a{margin-left:1rem}.loading{padding:2rem;text-align:center}.error{color:#a42d26;font-weight:700}.success{color:#116c44;font-weight:700}.login{max-width:430px;margin:3rem auto}.row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.full{width:100%}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.admin-grid .wide{grid-column:1/-1}details{margin:1rem 0}summary{cursor:pointer;font-weight:700}.fine{font-size:.83rem;color:#65788a}@media(max-width:850px){.grid,.stats{grid-template-columns:repeat(2,1fr)}.event-layout{grid-template-columns:1fr}.aside{position:static}}@media(max-width:600px){.top{padding:.8rem 1rem}.top nav{gap:.7rem;font-size:.83rem}.brand strong{font-size:.84rem}.logo{width:35px;height:35px}main{padding:1.3rem 1rem}.grid,.stats,.form-grid,.admin-grid{grid-template-columns:1fr}.hero .copy{padding:1.4rem}.hero .event-art{height:180px}footer{display:block}footer a{display:inline-block;margin:1rem 1rem 0 0}}
/* Fachschaftskleidung und quadratisches Logo */
.ticket-person{border:1px solid #d8e0e6;border-radius:10px;margin:.8rem 0;padding:.5rem 1rem;background:#f9fbfc}.ticket-person legend{font-weight:800;color:#102a43;padding:0 .3rem}
.brand .logo{width:48px;height:48px;flex:0 0 48px;overflow:hidden;background:#fff;color:#102a43;border-radius:10px;padding:3px}
.brand .logo img{width:100%;height:100%;object-fit:contain;display:block}
.logo-preview{width:120px;height:120px;object-fit:contain;background:#f6f8fa;border:1px solid #dfe6ea;border-radius:12px;margin-top:.5rem;padding:8px}
.clothing-banner{border-radius:20px;background:linear-gradient(120deg,#102a43,#294968 66%,#735c3b);color:#fff;padding:clamp(2rem,5vw,4rem);margin-bottom:2rem;min-height:245px;display:flex;flex-direction:column;justify-content:center}
.clothing-banner .eyebrow{color:#e8be79}.clothing-banner p{max-width:650px;color:#dbe8ee;font-size:1.1rem}
.clothing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
.clothing-card{background:#fff;border:1px solid #e0e7eb;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px #102a430d;transition:transform .2s,box-shadow .2s}
.clothing-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #102a4320}
.clothing-cover{height:270px;display:block;background:linear-gradient(145deg,#edf1f2,#ced8df)}
.clothing-cover img,.clothing-main-image img{width:100%;height:100%;object-fit:contain;display:block}
.clothing-placeholder{height:100%;width:100%;display:grid;place-items:center;font-size:7rem;background:linear-gradient(145deg,#dbe5eb,#f5f1e9)}
.clothing-card-body{padding:1.4rem}.clothing-card-body h2{margin:.55rem 0}.clothing-card-body p{min-height:48px;color:#65788a}
.clothing-card-body .button{margin-top:1rem}.clothing-price{font:800 1.65rem 'Fachschaft Sans',system-ui,sans-serif;color:#102a43}
.clothing-product{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:1.5rem;margin-top:1.1rem;align-items:start}
.clothing-gallery{position:sticky;top:1rem}.clothing-main-image{width:100%;height:min(60vw,570px);background:#e8eef1;padding:0;border-radius:18px;overflow:hidden}
.clothing-main-image:hover{filter:none}.clothing-thumbs{display:flex;gap:.6rem;overflow:auto;padding:.7rem 0}
.clothing-thumbs button{padding:0;width:76px;height:76px;flex:0 0 76px;border:2px solid transparent;background:#e8eef1;overflow:hidden}
.clothing-thumbs button.active{border-color:#c69a53}.clothing-thumbs img{width:100%;height:100%;object-fit:cover}
.clothing-details{border-radius:18px}.clothing-details h1{font-size:clamp(2rem,3vw,3rem)}.clothing-details .clothing-price{font-size:2rem}
.clothing-lightbox{border:0;border-radius:15px;padding:1rem;background:#fff;max-width:min(95vw,850px);width:100%;box-shadow:0 25px 90px #0008;text-align:right}
.clothing-lightbox::backdrop{background:#061626dc}.lightbox-view{display:flex;align-items:center;justify-content:center;gap:.5rem}
.lightbox-view img{max-height:75vh;min-width:0;max-width:calc(100% - 110px);object-fit:contain}.lightbox-view button{font-size:1.8rem}.clothing-lightbox p{text-align:center}
.clothing-admin-list{display:flex;gap:.65rem;overflow:auto;padding:.8rem 0 1.2rem}
.clothing-admin-item{min-width:205px;max-width:250px;padding:.55rem;display:flex;align-items:center;gap:.65rem;text-align:left;background:#fff;border:1px solid #dfe6ea;color:#102a43}
.clothing-admin-item.active{border-color:#c69a53;box-shadow:0 0 0 2px #c69a5333}.clothing-admin-item img,.clothing-admin-item .clothing-placeholder{width:50px;height:50px;font-size:1.6rem;object-fit:contain;border-radius:7px}
.clothing-admin-item small{display:block;color:#65788a;font-size:.72rem;line-height:1.5}.clothing-manage-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.clothing-manage-grid .panel{min-width:0}.clothing-image-edit{display:grid;gap:.35rem;width:96px}.clothing-image-edit img{width:96px;height:96px;object-fit:contain;background:#eef2f4;border-radius:8px}
.clothing-pickup-panel{border-top:1px solid #dfe6ea;padding-top:1.2rem;margin-top:1.5rem}
@media(max-width:950px){.clothing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clothing-manage-grid,.clothing-product{grid-template-columns:1fr}.clothing-gallery{position:static}.clothing-main-image{height:440px}}
@media(max-width:600px){.clothing-grid{grid-template-columns:1fr}.clothing-cover{height:260px}.clothing-main-image{height:340px}.brand .logo{width:38px;height:38px;flex-basis:38px}.top nav{gap:.5rem}.top nav a{font-size:.72rem}}
@media(max-width:600px){.top{flex-wrap:wrap}.top nav{width:100%;justify-content:space-between}}
/* Umfragen und interner Workspace */
[hidden]{display:none!important}.survey-page{max-width:850px;margin:auto}.survey-choice{padding:.7rem;border-bottom:1px solid #e5ebf1}.survey-choice input{width:auto}.survey-select{color:#102a43;text-align:left;background:white;border:1px solid #dae3ec;padding:1.3rem;cursor:pointer;line-height:1.8}.survey-select.selected{border:2px solid #b18a4c}.poll-result{display:grid;grid-template-columns:minmax(120px,1fr) 2fr 40px;gap:1rem;align-items:center;margin:.8rem 0}.poll-result progress{width:100%;accent-color:#102a43}.map-tools{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.map-tools .field{flex:1;min-width:180px}.map-viewport{height:600px;overflow:auto;border:1px solid #d6e0e8;border-radius:16px;background:#f5f8fb;overscroll-behavior:contain}.map-sizing{width:4200px;height:4200px}.map-canvas{position:relative;width:4200px;height:4200px;transform-origin:0 0;background-image:radial-gradient(#c7d5e2 1px,transparent 1px);background-size:24px 24px}.map-lines{position:absolute;inset:0;pointer-events:none}.map-node{position:absolute;width:180px;min-height:72px;padding:12px;color:#102a43;border:2px solid #c6d3df;border-radius:14px;background:#fff;box-shadow:0 4px 14px #102a4310;touch-action:none;overflow-wrap:anywhere;user-select:none;cursor:grab;font-size:14px}.map-node.map-root{background:#102a43;color:#fff}.map-node.selected{border:3px solid #c99942;box-shadow:0 0 0 4px #c9994228}.workspace-panel{margin-top:1.5rem}.workspace-panel .toolbar{align-items:end}.workspace-panel #map-status{font-weight:600}nav{flex-wrap:wrap}@media(max-width:650px){.map-viewport{height:450px}.workspace-panel{padding:1rem}.poll-result{grid-template-columns:1fr 1fr 30px}.map-tools button{flex:1}}
/* Strukturierte Admin-Oberfläche */
.admin-main{max-width:1600px;padding:1.5rem 1.25rem}.admin-shell{display:grid;grid-template-columns:265px minmax(0,1fr);gap:1.6rem;align-items:start}.admin-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.admin-sidebar{position:sticky;top:1rem;display:flex;flex-direction:column;background:#fff;border:1px solid #dfe6ea;border-radius:18px;max-height:calc(100vh - 2rem);overflow:auto;box-shadow:0 8px 30px #102a4306}.sidebar-brand{display:flex;gap:.7rem;align-items:center;padding:1.3rem 1rem;border-bottom:1px solid #e8edf2}.sidebar-brand small{display:block;font-size:.72rem;color:#64798a;margin-top:.2rem}.sidebar-mark{background:#102a43;color:#e2ba7d;width:37px;height:37px;display:grid;place-items:center;border-radius:10px;font:700 1.6rem Georgia}.sidebar-close{display:none}.admin-navigation{padding:.65rem .65rem 1rem}.admin-navigation details{margin:.3rem 0}.admin-navigation summary{display:flex;align-items:center;justify-content:space-between;padding:.7rem .6rem;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#6a7b8a;list-style:none}.admin-navigation summary::-webkit-details-marker{display:none}.admin-navigation summary:after{content:'⌄';font-size:1rem;transition:transform .15s}.admin-navigation details[open] summary:after{transform:rotate(180deg)}.nav-group-items{display:grid;gap:.2rem}.admin-navigation button{display:flex;justify-content:flex-start;gap:.65rem;width:100%;text-align:left;background:transparent;color:#435a6c;border-radius:9px;padding:.8rem .65rem;font-size:.81rem;font-weight:700;line-height:1.4}.admin-navigation button svg{width:20px;height:20px;flex:0 0 20px}.admin-navigation button:hover{background:#f0f4f7;filter:none}.admin-navigation button.active{color:#102a43;background:#f6ecd9;box-shadow:inset 3px 0 #c69a53}.sidebar-account{margin-top:auto;border-top:1px solid #e8edf2;padding:1rem;display:grid;gap:.55rem}.sidebar-account strong{font-size:.76rem;overflow-wrap:anywhere}.sidebar-account button{font-size:.8rem}.admin-workarea{min-width:0}.admin-page-header{border-bottom:1px solid #d9e2e9;padding:.1rem 0 1rem;margin-bottom:1.5rem}.admin-page-top{display:flex;gap:1rem;align-items:center;margin-bottom:1.2rem;flex-wrap:wrap}.admin-page-top button{font-size:.8rem;padding:.6rem .8rem}.admin-page-top svg{width:18px;height:18px}.admin-site-link{margin-left:auto;font-size:.8rem;color:#536b7e;text-decoration:none}.admin-page-header h1{font-size:clamp(1.6rem,3vw,2.5rem);margin:0 0 .65rem}.admin-page-header p{margin:0;font-size:.9rem}.admin-content .grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.admin-content .stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-content .card,.admin-content .panel{box-shadow:0 3px 15px #102a4304}.admin-content h2{font-size:1.25rem}.event-sections{display:grid;gap:1.5rem}.admin-form-section{border:1px solid #dbe4eb;border-radius:12px;margin:0;padding:1rem 1.2rem;min-width:0}.admin-form-section legend{font-weight:700;font-size:1rem;color:#15364f;padding:0 .45rem}.admin-form-section>.fine{margin:.1rem 0 .7rem}.admin-form-section .admin-grid{gap:0 1rem}.form-save-actions{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #dbe4eb}.admin-content .toolbar{padding:.6rem 0}.admin-content input:focus,.admin-content textarea:focus,.admin-content select:focus{outline:2px solid #c69a53;outline-offset:2px}.admin-navigation button:focus-visible,.admin-navigation summary:focus-visible{outline:2px solid #c69a53;outline-offset:1px}.admin-mobile-backdrop{display:none}.privacy-assistant{border:1px solid #dbe4eb;padding:1rem;border-radius:12px;background:#f8fafc}.privacy-assistant textarea{min-height:240px}.admin-content th{position:sticky;top:0;z-index:1}.admin-content .table-wrap{max-height:70vh}.admin-content .map-viewport{height:560px}
@media(max-width:1100px){.admin-shell{grid-template-columns:235px minmax(0,1fr);gap:1rem}.admin-content .admin-grid{grid-template-columns:1fr}.admin-content .admin-grid .wide{grid-column:auto}}
@media(max-width:900px){.admin-main{padding:1rem}.admin-shell,.admin-shell.sidebar-collapsed{display:block}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(310px,85vw);max-height:none;z-index:110;border-radius:0 18px 18px 0}.admin-mobile-backdrop{display:block;position:fixed;inset:0;background:#0e2336a6;z-index:100}.sidebar-close{display:inline-flex;margin-left:auto;padding:.3rem .6rem}.admin-page-header{margin-top:.25rem}.admin-page-top{gap:.6rem}.admin-page-top #admin-breadcrumb{font-size:.7rem}.admin-content .map-viewport{height:430px}}
@media(prefers-reduced-motion:reduce){.admin-navigation summary:after{transition:none}}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.permission-choice{padding:.7rem;border:1px solid #dce5eb;background:white;border-radius:8px}.permission-choice input{flex:0 0 auto}.permission-list{white-space:normal;min-width:180px;max-width:330px;line-height:1.6}@media(max-width:650px){.permission-grid{grid-template-columns:1fr}}
/* Mobile bookings, stable guest lists and finance ledger */
.action-dialog{border:0;border-radius:20px;padding:1.5rem;max-width:480px;width:calc(100% - 2rem);box-shadow:0 24px 90px #102a4344;color:var(--ink,#16233b)}
.action-dialog::backdrop{background:#102a4388}.action-dialog h2{font-size:1.3rem;margin-top:0}.action-dialog .row{margin-top:1.2rem}.action-dialog input{width:100%}
.finance-account{background:linear-gradient(135deg,#102a43,#24526b);border-radius:22px;padding:2rem;color:#fff;margin-bottom:1rem}.finance-account .eyebrow{color:#b9d7e7}.finance-account h2{font-size:1rem;color:#d7e6ee;margin-top:1.3rem}.finance-balance{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.04em}.finance-account-bottom{display:flex;gap:2rem;flex-wrap:wrap;border-top:1px solid #ffffff33;padding-top:1rem;margin-top:1.5rem}.finance-account-bottom strong{display:block;font-size:1.5rem;margin-top:.4rem}.finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-amount{font-weight:700;white-space:nowrap}.positive{color:#167344}.negative{color:#a53a45}.guest-scroll{max-height:65vh;overflow:auto;overflow-anchor:none}.guest-scroll th{position:sticky;top:0;z-index:1;background:#edf2f7}.event-sections{display:grid;gap:1rem}.admin-form-section legend{font-weight:700}.admin-form-section .fine{line-height:1.6}#guest-action-result{overflow-anchor:none}
@media(max-width:600px){.finance-account{padding:1.25rem}.finance-account-bottom{gap:1.2rem}.finance-stats b{font-size:1.6rem}.admin-content .toolbar{align-items:stretch}.admin-content .toolbar>*{max-width:100%}.form-save-actions{position:static!important}.action-dialog .row>*{flex:1}.admin-form-section{min-width:0}.admin-grid input,.admin-grid select,.admin-grid textarea{min-width:0;max-width:100%}.guest-scroll{max-height:60vh}}

/* Manuelle Finanzkorrekturen und Vorschau auf kleinen Bildschirmen */
.action-dialog{max-height:90dvh;overflow-y:auto}.action-dialog li{white-space:normal;overflow-wrap:anywhere;margin:.45rem 0}#finance-ledger input[type="checkbox"]{width:24px;height:24px;min-width:24px;cursor:pointer}#finance-ledger td:last-child{white-space:normal;min-width:220px}#finance-ledger td:last-child button{margin:.2rem}
