:root{--red:#b82d2c;--gray:#7a7a7a;--ink:#242424;--paper:#f4f3f1;--card:#fff;--line:#dedbd7;--soft:#ebe9e6;--ok:#2f7d54;--warn:#9b6b16}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{min-height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px max(24px,5vw);position:sticky;top:0;z-index:10;box-shadow:0 4px 20px #0000000a}header b{font-size:20px;color:var(--red)}header small{display:block;letter-spacing:2px;color:var(--gray);margin-top:3px;text-transform:uppercase;font-size:10px}main{max-width:1240px;margin:0 auto;padding:42px 28px 80px}h1{font-size:clamp(30px,5vw,52px);line-height:1;margin:0 0 10px;letter-spacing:-1.5px}h2{font-size:20px;margin-top:0}h3{margin:12px 0 6px}.card,.tile{background:var(--card);border:1px solid var(--line);border-radius:18px}.card{padding:26px;margin-bottom:20px;box-shadow:0 12px 30px #302a2508}.hero{text-align:left;max-width:none;border-left:7px solid var(--red);background:linear-gradient(110deg,#fff,#f8f6f4)}.hero h1{color:var(--red)}.green{color:var(--ok)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0 34px}.tile{padding:24px;text-align:left;min-height:155px;cursor:pointer;transition:.18s ease;position:relative;overflow:hidden}.tile:after{content:"→";position:absolute;right:20px;bottom:18px;color:var(--red);font-size:22px}.tile:hover{transform:translateY(-4px);box-shadow:0 14px 28px #00000012;border-color:#c9c5c0}.emoji{font-size:30px;background:var(--soft);width:52px;height:52px;border-radius:14px;display:grid;place-items:center}.muted{color:var(--gray);font-size:13px}button{border:0;border-radius:11px;background:var(--red);color:#fff;font-weight:750;padding:13px 18px;cursor:pointer;transition:.15s}button:hover{filter:brightness(.94)}button.secondary{background:#efedeb;color:#393939}input,select{width:100%;padding:14px;background:#faf9f8;border:1px solid #d7d3cf;color:var(--ink);border-radius:11px;margin:7px 0 14px;font-size:15px}input:focus,select:focus{outline:3px solid #b82d2c20;border-color:var(--red)}.row{display:flex;gap:18px}.item{background:#faf9f8;border:1px solid #e7e3df;border-radius:13px;padding:17px;margin:10px 0;display:flex;align-items:center;justify-content:space-between}.price{color:var(--red);font-weight:800}.amounts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.amount{font-size:26px;color:var(--red);font-weight:800;padding:28px;text-align:center;background:#f8f5f3;border:1px solid #e6dfda;border-radius:14px;cursor:pointer}.auth{max-width:620px;margin:55px auto}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.tabs button{background:#efedeb;color:#555}.tabs button:not(.secondary){background:var(--red);color:white}.guest-warning{background:#fff7e7;border:1px solid #e3c681;color:#7c5a13;border-radius:12px;padding:18px;text-align:left;line-height:1.45;margin:8px 0 24px}.fieldlabel{display:block;text-align:left;color:var(--gray);font-weight:800;letter-spacing:1.5px;font-size:11px;margin:14px 0 2px}.auth-submit{width:100%;font-size:17px;padding:16px;margin-top:8px}.adminuser{display:grid;grid-template-columns:2fr 1fr 2fr;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.role{margin-right:14px}.pricegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:18px 0 22px}.pricefield{display:block;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf9f8}.pricefield>span{font-weight:750}.pricefield>div{display:flex;align-items:center;gap:8px}.pricefield input{margin:8px 0 0}.pricefield b{color:var(--gray)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.pricegrid{grid-template-columns:1fr}.row{flex-direction:column}}@media(max-width:650px){header{align-items:flex-start;gap:10px;flex-direction:column}main{padding:28px 16px}.grid{grid-template-columns:1fr}.adminuser{grid-template-columns:1fr}.tabs{grid-template-columns:1fr}.amounts{grid-template-columns:1fr}}

/* Version 3.6 – gemeinsame Frühstücksbestellung */
.qty{display:flex;align-items:center;gap:12px}.qty button{width:44px;height:40px;padding:0;font-size:22px}.qty span{min-width:32px;text-align:center;font-weight:800;font-size:18px}.breakfast-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid #ddd}.breakfast-summary>div{display:flex;flex-direction:column;gap:4px}.breakfast-summary strong{font-size:34px;color:#b82d2c}.breakfast-summary button{min-width:230px}.breakfast-summary button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.breakfast-summary{align-items:stretch;flex-direction:column}.breakfast-summary button{width:100%}}

textarea{width:100%;box-sizing:border-box;background:#f5f5f5;border:1px solid #d7d7d7;border-radius:12px;padding:14px;font:inherit;color:#222;resize:vertical;margin-bottom:14px}.shiftcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.shiftcard{background:#f3f3f3;color:#333;border:2px solid transparent;padding:18px 14px}.shiftcard:hover,.shiftcard.selected{border-color:#b82d2c;background:#fff}.shiftcard b{font-size:16px}

/* Version 3.17 – verbindliches Feuerwache-1C-Dunkeldesign */
:root{--red:#b82d2c;--gray:#7a7a7a;--ink:#f3f3f3;--paper:#111213;--card:#1b1d1f;--line:#34373a;--soft:#272a2d;--ok:#4fca82;--warn:#e0a92f}
body{background:radial-gradient(circle at 10% 0%,#251717 0,#111213 34%,#0d0e0f 100%);color:var(--ink)}
header{background:#151719;border-color:#2e3033;box-shadow:0 5px 24px #0007}header b{color:#fff}main{min-height:calc(100vh - 82px)}
.card,.tile{background:#1b1d1f;border-color:#34373a;box-shadow:0 14px 34px #0003}.hero{background:linear-gradient(115deg,#21191a,#1b1d1f);border-left-color:var(--red)}.hero h1{color:#fff}
.tile:hover{border-color:#5b5e61;box-shadow:0 18px 34px #0006}.emoji{background:#292c2f}.muted{color:#999}.green{color:var(--ok)}
button.secondary{background:#303336;color:#eee}input,select,textarea{background:#25282a;border-color:#3d4043;color:#f5f5f5}input:focus,select:focus,textarea:focus{outline:3px solid #b82d2c33;border-color:var(--red)}
.item,.pricefield{background:#222426;border-color:#34373a}.amount{background:#252326;border-color:#453638}.tabs button{background:#303336;color:#ddd}.guest-warning{background:#2b2519;border-color:#6d5728;color:#f1c65d}.adminuser{border-color:#34373a}.shiftcard{background:#292c2f;color:#eee}.shiftcard:hover,.shiftcard.selected{background:#342324;border-color:var(--red)}hr{border-color:#34373a}.breakfast-summary{border-color:#34373a}
.recipe-card h2{margin-bottom:6px}.recipe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.recipe-persons{display:grid;grid-template-columns:auto 44px 60px 44px 1fr;align-items:center;gap:12px;background:#242628;border-radius:14px;padding:16px;margin:18px 0}.recipe-persons button{height:42px;padding:0}.recipe-persons strong{text-align:center;font-size:26px}.recipe-persons input[type=range]{margin:0;padding:0;background:transparent;border:0}.recipe-card details{border-top:1px solid #34373a;padding:16px 0}.recipe-card summary{cursor:pointer;color:#bbb;font-weight:750}.ingredient{display:flex;justify-content:space-between;gap:18px;padding:11px 2px;border-bottom:1px solid #2d3032}.ingredient b{color:#f1b936}.instructions{line-height:1.65;color:#ddd;padding:14px 2px}.recipe-actions{margin-top:16px}.ingredient-edit{display:grid;grid-template-columns:2fr 1fr 1.2fr 48px;gap:10px;align-items:center}.ingredient-edit input{margin:5px 0}.ingredient-edit button{height:46px;padding:0}.recipe-actions button{width:100%}
@media(max-width:700px){.recipe-head{flex-direction:column}.recipe-persons{grid-template-columns:auto 42px 50px 42px}.recipe-persons input[type=range]{grid-column:1/-1}.ingredient-edit{grid-template-columns:1fr 1fr}.ingredient-edit .ing-name{grid-column:1/-1}}

/* Version 3.19 – besser lesbare Preise im Dunkelmodus */
:root{--price-gray:#c7c7c7}
.meal-price{color:var(--price-gray)!important;font-weight:800}.breakfast-summary strong{color:var(--price-gray)!important}

/* Version 3.21 – Bedienung, Sperrstatus und Einkauf-Dialog */
.dashboard-greeting{font-size:clamp(23px,3.75vw,39px)!important;letter-spacing:-.8px!important;text-transform:none}
.lock-banner{display:flex;flex-direction:column;gap:5px;background:#302122;border:1px solid #6d3434;border-left:5px solid var(--red);border-radius:13px;padding:15px 17px;margin-bottom:18px}.lock-banner b{font-size:17px}.lock-banner span{color:#c7c7c7;font-size:13px}
.locked-control{opacity:.48;filter:grayscale(.25)}button:disabled,input:disabled{opacity:.45;cursor:not-allowed}.check-row input[type=checkbox]{width:24px;height:24px;margin:0;accent-color:var(--red)}
.modal-backdrop{position:fixed;inset:0;background:#000b;z-index:100;display:grid;place-items:center;padding:18px}.modal-card{width:min(680px,100%);max-height:92vh;overflow:auto;background:#1b1d1f;border:1px solid #3c3f42;border-radius:20px;padding:24px;box-shadow:0 30px 80px #000b}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0}.modal-head button{padding:10px 13px}.unit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:8px 0 18px}.unit-btn{background:#292c2f;border:1px solid #414448;color:#eee;padding:11px 8px}.unit-btn.selected{background:var(--red);border-color:var(--red)}.modal-actions{justify-content:flex-end;margin-top:18px}
@media(max-width:650px){.unit-grid{grid-template-columns:repeat(3,1fr)}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}

.brand-home{cursor:pointer;user-select:none}
.brand-home:focus-visible{outline:2px solid #B82D2C;outline-offset:4px;border-radius:4px}

/* Version 3.27 – Doppelbock-Logo im Header */
.brand-title{display:flex;align-items:center;gap:12px}
.brand-logo{width:44px;height:44px;object-fit:contain;filter:invert(24%) sepia(50%) saturate(2424%) hue-rotate(337deg) brightness(86%) contrast(92%)}
.auth-brand{display:flex;align-items:center;gap:16px}
.auth-logo{width:58px;height:58px;object-fit:contain;filter:invert(24%) sepia(50%) saturate(2424%) hue-rotate(337deg) brightness(86%) contrast(92%)}
.auth-brand h1{margin-bottom:4px}
.auth-brand .muted{margin:0}
@media(max-width:650px){.brand-logo{width:38px;height:38px}.auth-logo{width:48px;height:48px}}
.sponsor-banner{padding:14px 16px;margin-bottom:16px;border:1px solid #B82D2C;border-radius:12px;background:rgba(184,45,44,.12);font-weight:800}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000}.modal{width:min(620px,100%);max-height:88vh;overflow:auto;background:#202225;border:1px solid #444;border-radius:16px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.45)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-head h2{margin:0}.person-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;margin:8px 0;padding:14px 16px;background:#292c30;border:1px solid #3b3e43;border-radius:12px}.person-row span{display:flex;flex-direction:column;gap:3px}.person-row small{color:#aaa}.person-row.selected{outline:2px solid #B82D2C;background:rgba(184,45,44,.12)}.sponsor-row{gap:12px}.sponsor-row button{width:auto;min-width:110px}

/* Version 3.31 – Kassenstand und Zahlungsarten */
.crate-total-small{font-size:1rem!important;font-weight:700!important}
.cash-balance-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.cash-balance-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;background:#292c30;border:1px solid #444;border-radius:14px;text-align:left}
.cash-balance-tile span{font-size:.82rem;color:#bdbdbd;font-weight:800;letter-spacing:.05em}.cash-balance-tile strong{font-size:1.55rem;color:#fff}
.payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 18px}.payment-choice label{display:flex;gap:9px;align-items:center;padding:13px;border:1px solid #444;border-radius:11px;background:#292c30;font-weight:700}.payment-choice input{width:20px;height:20px;accent-color:var(--red)}
@media(max-width:520px){.cash-balance-board,.payment-choice{grid-template-columns:1fr}}
/* v3.32 – kompakte Kasse */
.cash-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.section-inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.section-inline h2{margin:0}.section-inline button{width:auto}.compact-price-row{display:flex;align-items:center;gap:8px;max-width:430px}.compact-price-row input{width:150px;margin:0}.compact-price-row span{font-weight:800;color:#aaa}.compact-price-row button{width:auto;white-space:nowrap}.crate-total-small{font-size:1rem!important;font-weight:750!important}.payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 16px}.payment-choice label{padding:12px;border:1px solid #444;border-radius:11px;background:#292c30}.payment-choice input{width:auto;margin:0 8px 0 0}
@media(max-width:520px){.compact-price-row{max-width:none}.compact-price-row input{min-width:0;flex:1}.compact-price-row button{padding-left:12px;padding-right:12px}.section-inline{align-items:flex-start;flex-direction:column}}

/* v3.33 admin compact layout */
.admin-collapsible{padding:0;overflow:hidden}.admin-collapsible>summary{cursor:pointer;font-size:20px;font-weight:800;padding:24px 26px;list-style:none}.admin-collapsible>summary::-webkit-details-marker{display:none}.admin-collapsible>summary:after{content:'▾';float:right;color:var(--red)}.admin-collapsible[open]>summary:after{content:'▴'}.admin-collapsible-body{padding:0 26px 26px}.admin-user-tools{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.admin-user-tools input,.admin-user-tools select{margin:0}.adminuser{grid-template-columns:minmax(220px,1.2fr) 2.8fr;padding:12px;border:1px solid #34373a;border-radius:13px;margin:9px 0;background:#222426}.adminuser.is-active{border-left:5px solid #38a169}.adminuser.is-locked{border:1px solid #b82d2c;border-left:5px solid #e14a49;background:#2b2021}.admin-user-main input{margin:0 0 5px}.admin-user-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-user-controls label{margin:0}.admin-user-controls input[type=checkbox]{width:auto;margin:0 5px 0 0}.status-pill,.role{padding:8px 10px;border:1px solid #45484b;border-radius:9px;background:#292c30;font-size:13px;white-space:nowrap}.status-pill.status-active{color:#6edb8b;border-color:#397b4c;background:#1e3024}.status-pill.status-locked{color:#ff7474;border-color:#a33b3b;background:#3a2022}.admin-user-controls button{padding:9px 12px}
@media(max-width:800px){.adminuser{grid-template-columns:1fr}.admin-user-controls{justify-content:flex-start}.admin-user-tools{grid-template-columns:1fr}}
.admin-user-scroll{max-height:480px;overflow-y:auto;padding-right:6px}.admin-user-scroll .adminuser{min-height:150px}.admin-user-controls button.danger,button.danger{background:#8f2525}.admin-log-tools{display:grid;grid-template-columns:1.5fr 1fr auto auto;gap:10px;align-items:center;margin:14px 0}.admin-log-tools input,.admin-log-tools button{margin:0}.backup-status{padding:14px;border:1px solid #34373a;border-radius:12px;background:#222426}.admin-log-list{max-height:430px;overflow:auto;border-top:1px solid #34373a}.log-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px 14px;padding:12px 4px;border-bottom:1px solid #34373a}.log-row>div{grid-column:1/-1}.adminuser.is-locked:before{content:'❌';font-size:18px;position:absolute;right:12px;top:10px}.adminuser{position:relative}@media(max-width:850px){.admin-log-tools{grid-template-columns:1fr}.log-row{grid-template-columns:1fr}.log-row>div{grid-column:auto}}

.cash-transaction-tools{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:center;margin:12px 0}.cash-transaction-tools input,.cash-transaction-tools button{margin:0}.cash-tx-scroll{max-height:544px;overflow-y:auto;padding-right:6px}.cash-tx-scroll .item{min-height:68px}.cash-tx-check{min-width:28px}.cash-tx-check input{width:18px;height:18px}@media(max-width:750px){.cash-transaction-tools{grid-template-columns:1fr}.cash-tx-scroll{max-height:560px}}
.waffle-plan-control{display:flex;align-items:center;gap:12px}.waffle-plan-checkbox{width:28px;height:28px;accent-color:#B82D2C}.board-message{white-space:pre-wrap}

.waffle-plan-actions{display:flex;align-items:center;gap:12px}.waffle-plan-row{align-items:center}

/* v3.37 */
.guest-code{color:#fff;background:#3a3a3a;padding:.25rem .55rem;border-radius:.4rem;letter-spacing:.06em}.account-settings-form{display:grid;gap:.7rem;max-width:520px}.danger-zone{border-color:rgba(184,45,44,.55)}

/* v3.43 – feste Fußzeile & Teilstorno Frühstück */
body{min-height:100vh;display:flex;flex-direction:column}main#app{flex:1}.site-footer{padding:18px 20px 24px;text-align:center;color:#999;font-size:.88rem;display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.site-footer a{color:#ddd;text-decoration:none}.site-footer a:hover{text-decoration:underline;color:#fff}.modal .qty input[type=number]{max-width:82px}


/* v3.44 – Layoutkorrektur nach v3.43 */
/* Die Footer-Regel aus v3.43 darf die Seitenbreite nicht beeinflussen. */
body{display:block;min-height:100vh}
main#app{width:100%;min-height:calc(100vh - 82px)}
.site-footer{width:100%;padding:18px 20px 24px;text-align:center;color:#999;font-size:.88rem;display:flex;justify-content:center;gap:9px;flex-wrap:wrap}

/* Frühstück: Teilstorno mit stabiler Desktop- und Mobilanordnung */
.breakfast-cancel-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.breakfast-cancel-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;align-items:center;min-width:0}
.breakfast-cancel-item input[type=checkbox]{width:22px;height:22px;margin:0;accent-color:var(--red)}
.breakfast-cancel-name{display:flex;flex-direction:column;gap:3px;min-width:0}
.breakfast-cancel-name b{overflow-wrap:anywhere}
.breakfast-cancel-qty{display:flex;align-items:center;gap:12px;font-weight:800;white-space:nowrap}
.breakfast-cancel-qty input[type=number]{width:82px;min-width:82px;margin:0;padding:12px}
@media(max-width:650px){.breakfast-cancel-row{grid-template-columns:1fr;gap:14px}.breakfast-cancel-qty{padding-left:42px;justify-content:space-between}.breakfast-cancel-qty input[type=number]{width:96px}.breakfast-cancel-row+.breakfast-cancel-row{margin-top:12px}}


/* v3.49 Produktivversion – Footer dauerhaft sichtbar */
body{padding-bottom:58px}
.site-footer{position:fixed;left:0;right:0;bottom:0;z-index:30;width:100%;min-height:48px;padding:12px 20px;background:rgba(21,23,25,.97);border-top:1px solid #34373a;box-shadow:0 -5px 20px #0007;backdrop-filter:blur(8px)}
main#app{padding-bottom:96px}
@media(max-width:650px){body{padding-bottom:78px}.site-footer{font-size:.76rem;padding:10px 12px;gap:6px;min-height:62px}main#app{padding-bottom:118px}}
