@font-face{font-family:"Inter";src:url("fonts/InterVariable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#f5f3ed;--paper:#fffefa;--ink:#222820;--muted:#73796f;--line:#dedfd5;--accent:#ba502a;--accent-soft:#f9e9dd;--green:#49624b;--green-soft:#e6ecdf;--shadow:0 12px 35px #27302007;--radius:20px;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-underline-offset:4px}svg{width:22px;height:22px;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 88px));margin-inline:auto}.topbar{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:11px;font-size:25px;font-weight:800;letter-spacing:-1px}.brand-light{font-weight:450}.brand-mark{width:39px;height:39px;display:flex;align-items:center;justify-content:center;background:var(--ink);border-radius:12px;color:var(--paper);font-size:23px;letter-spacing:-5px;padding-right:5px}.brand-mark>span{color:#e8a985}.nav-right{display:flex;align-items:center;gap:27px}.tag{font-size:10px;font-weight:750;letter-spacing:1.7px;padding:7px 11px;border:1px solid var(--line);border-radius:30px}.nav-link{font-size:12px;text-decoration:none;color:var(--muted)}.nav-link:hover{color:var(--ink)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,5.2vw,68px);line-height:1.04;letter-spacing:-3.4px;margin-bottom:22px;font-weight:760}h1>span{color:var(--accent)}h2,.h2{font-size:23px;line-height:1.2;letter-spacing:-.7px;font-weight:710;margin-bottom:0}.h2{display:block}h3{font-size:18px;line-height:1.3;letter-spacing:-.3px}.hero{display:flex;justify-content:space-between;gap:35px;padding:52px 0 42px;align-items:flex-end}.eyebrow{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:1.7px;margin-bottom:23px;color:var(--muted)}.eyebrow>span{margin-inline:9px;color:#b8bbae}.hero-text{font-size:16px;color:var(--muted);line-height:1.65;margin-bottom:0}.hero-side{display:flex;flex-direction:column;gap:12px;align-items:flex-end;padding-bottom:7px}.status{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:650;white-space:nowrap;padding:8px 12px;border-radius:30px;background:var(--green-soft);color:var(--green)}.status>span{width:6px;height:6px;border-radius:50%;background:currentColor}.status.closed{background:#e9e7df;color:#766f61}.hero-detail{font-size:11px;color:var(--muted)}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:45px;align-items:start}.meal-form{min-width:0}.section-heading{display:flex;align-items:center;gap:13px;margin-bottom:23px}.step{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d6d8ce;border-radius:50%;font-size:11px;font-weight:650;flex-shrink:0;background:var(--bg)}.overline{display:block;font-size:9px;line-height:1.4;letter-spacing:1.7px;font-weight:750;color:var(--muted);margin:0 0 6px}.name-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px 28px;margin-bottom:33px;box-shadow:var(--shadow)}.name-section .step{background:transparent}.name-section .section-heading{margin-bottom:22px}.field-label{display:block;font-size:12px;font-weight:650;margin-bottom:9px}.field-label>span:not(.muted){color:var(--accent)}.text-input,textarea{display:block;width:100%;border:1px solid #d8dcd0;border-radius:9px;background:var(--paper);color:var(--ink);padding:12px 14px;min-height:46px;font-size:14px}.text-input::placeholder,textarea::placeholder{color:#9a9e94}.text-input:disabled,textarea:disabled{background:#efeee8;color:#84897d}.field-help{font-size:11px;line-height:1.6;color:var(--muted);margin:9px 0 0}.course-section{border:0;padding:0;margin:0 0 31px;min-width:0}.course-section legend{padding:0;float:left;width:100%}.course-section legend+.options{clear:both}.course-section .section-heading{margin-bottom:17px}.options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.option{position:relative;display:block;cursor:pointer}.option input{position:absolute;opacity:0;width:1px;height:1px;left:16px;top:16px}.option-card{min-height:148px;height:100%;padding:16px;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:13px;transition:background .15s,border-color .15s,box-shadow .15s}.option-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px}.option-number{font-size:8px;letter-spacing:1.1px;font-weight:700;color:var(--muted)}.radio-mark{display:inline-block;width:17px;height:17px;border:1.3px solid #c8cec0;border-radius:50%;flex-shrink:0;position:relative}.option strong{font-size:14px;line-height:1.35;letter-spacing:-.15px;overflow-wrap:anywhere}.option-description{font-size:10.5px;line-height:1.5;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.option input:checked+.option-card{border-color:var(--green);background:#edf1e6;box-shadow:inset 0 0 0 .5px var(--green)}.option input:checked+.option-card .radio-mark{background:var(--green);border-color:var(--green)}.option input:checked+.option-card .radio-mark:after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:#fff;position:absolute;left:4.7px;top:4.7px}.option input:focus-visible+.option-card{outline:3px solid var(--accent);outline-offset:3px}.option:hover input:not(:disabled)+.option-card{border-color:#9da994}.option input:disabled+.option-card{opacity:.65;cursor:default}.notes{border-top:1px solid var(--line);padding-top:19px;margin-top:4px}.notes summary{font-size:12px;cursor:pointer;font-weight:550;padding-bottom:10px}.notes summary span{font-weight:400;color:var(--muted);margin-left:7px}.notes textarea{margin-top:7px;resize:vertical}.order-sidebar{position:sticky;top:25px}.order-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow)}.order-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.order-card-top .overline{font-size:8px;letter-spacing:1.3px}.small-spark{font-size:26px;color:var(--accent);line-height:1}.order-card h2{font-size:24px}.summary-caption{font-size:10px;line-height:1.6;color:var(--muted);margin:9px 0 22px;min-height:32px}.selection-line{display:flex;gap:11px;margin:0 0 22px;align-items:flex-start}.selection-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#eeeee6;color:#9aa28e;border-radius:50%;font-size:22px;flex-shrink:0;margin-top:2px}.selection-check svg{width:15px;height:15px}.selection-line.selected .selection-check{background:var(--green-soft);color:var(--green)}.selection-line>div>span{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.selection-line strong{display:block;font-size:11px;font-weight:500;color:#939b88;overflow-wrap:anywhere}.selection-line.selected strong{font-weight:650;color:var(--ink)}.progress-row{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:21px;margin-top:4px}.progress-track{height:4px;background:#e9ede3;border-radius:5px;margin:9px 0 20px;overflow:hidden}.progress-track>div{height:100%;background:var(--green);border-radius:5px;transition:width .2s;width:0}.progress-track>.progress-1{width:33.333%}.progress-track>.progress-2{width:66.667%}.progress-track>.progress-3{width:100%}.deadline{display:flex;align-items:center;gap:10px;font-size:10px;line-height:1.65;color:var(--muted);margin-bottom:20px}.deadline svg{width:20px;height:20px}.deadline strong{color:var(--ink);font-weight:600}.one-per-person{font-size:10px;color:var(--muted);margin:0 0 20px}.button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:9px;min-height:44px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:12px;font-weight:620;text-decoration:none;line-height:1.4}.button:hover:not(:disabled){background:#394333}.button svg{width:18px;height:18px}.primary-button{width:100%;justify-content:space-between;gap:6px;font-size:11px}.privacy-note{font-size:9px;text-align:center;line-height:1.6;color:var(--muted);margin:13px 8px 0}.sidebar-note{font-size:10px;line-height:1.8;text-align:center;color:var(--muted);margin:18px 0 0}.secondary{background:transparent;color:var(--ink);border-color:#cdd2c5}.secondary:hover:not(:disabled){background:#e8ece2}.text-button{background:none;border:0;padding:7px 0;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:var(--ink)}.saved-banner{display:flex;align-items:center;gap:12px;padding:18px 21px;border:1px solid #c4d2ba;border-radius:13px;background:#eaf0e3;margin-bottom:24px}.saved-banner>svg{color:var(--green);width:22px;height:22px}.saved-banner strong{display:block;font-size:13px}.saved-banner>div>span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.saved-banner .text-button{margin-left:auto;white-space:nowrap}.notice{padding:17px 21px;border:1px solid #e0c5af;border-radius:12px;background:var(--accent-soft);color:#775537;font-size:12px;margin-bottom:25px}.message{padding:17px 22px;border-radius:12px;margin-top:20px;font-size:13px;overflow-wrap:anywhere}.message.success{background:var(--green-soft);border:1px solid #c6d4b8;color:#375138}.message.error{background:#f6e5dc;border:1px solid #e3b29a;color:#8a3824}.footer{padding:24px 0 31px;display:flex;gap:15px;justify-content:space-between;border-top:1px solid var(--line);margin-top:62px;font-size:9px;letter-spacing:.1px;color:var(--muted)}.loading{min-height:55vh;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--muted);font-size:13px}.loader{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted);font-size:13px;line-height:1.65}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
/* Administration */
.login-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:70px;align-items:center;padding:83px 0 60px}.login-layout h1{font-size:56px}.login-panel{padding:29px}.login-panel>.step{margin-bottom:23px}.login-panel h2{margin-bottom:12px}.login-panel .muted{margin-bottom:23px}.login-panel .button{width:100%;margin:19px 0 2px;justify-content:space-between}.login-panel .field-help{font-size:10px}.admin-hero{display:flex;align-items:center;justify-content:space-between;padding:48px 0 30px;gap:30px}.admin-hero h1{font-size:51px;margin-bottom:13px;letter-spacing:-2px}.admin-hero .eyebrow{margin-bottom:16px}.admin-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.admin-stats{display:flex;align-items:center;gap:32px;margin-bottom:34px;padding:23px 27px;border:1px solid var(--line);background:var(--paper);border-radius:15px}.stat-number{display:flex;align-items:center;gap:15px}.stat-number>strong{font-size:43px;letter-spacing:-2px;font-weight:600;line-height:1}.stat-number>span{font-size:10px;line-height:1.5;color:var(--muted)}.refresh-note{margin-left:auto;font-size:10px;color:var(--muted)}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:33px}.tabs button{border:0;background:transparent;color:var(--muted);padding:0 2px 13px;font-size:12px;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--ink);border-color:var(--ink);font-weight:650}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px}.panel-heading h2{font-size:24px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.summary-course{padding:21px 22px}.summary-course>.overline{margin-bottom:18px;color:var(--green)}.count-row{display:flex;gap:14px;justify-content:space-between;align-items:center;border-top:1px solid #e9eae3;padding:13px 0;font-size:12px;line-height:1.5}.count-row>span{overflow-wrap:anywhere}.count-row:last-child{padding-bottom:0}.count-badge{flex-shrink:0;min-width:30px;height:28px;padding-inline:7px;display:flex;align-items:center;justify-content:center;background:#f0f0e9;border-radius:7px;font-size:12px;color:#8a927f}.count-badge.has-orders{background:var(--green-soft);color:var(--green)}.order-heading{margin-top:39px}.export-links{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto;position:relative;max-width:100%}.orders-table{width:100%;min-width:700px;border-collapse:collapse;font-size:11px;text-align:left}.orders-table th,.orders-table td{padding:15px 17px;border-bottom:1px solid var(--line);vertical-align:top;max-width:230px;overflow-wrap:anywhere}.orders-table thead{background:#eef0e8;color:var(--muted);font-size:10px;white-space:nowrap}.orders-table tbody th{font-weight:650;min-width:130px}.orders-table tbody tr:last-child>*{border-bottom:0}.delete-button{width:25px;height:25px;border:1px solid var(--line);border-radius:6px;color:#95867a;background:transparent;font-size:18px;line-height:1}.delete-button:hover{background:#f6e5dc;color:#8a3824}.empty-state{padding:42px 24px;text-align:center;color:var(--muted)}.empty-symbol{font-size:27px;color:var(--green)}.empty-state h3{color:var(--ink);margin:12px 0 8px;font-size:18px}.empty-state p{font-size:12px;margin-bottom:0}.setup-panel{padding:27px 29px;margin-bottom:20px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wide-field{grid-column:1/-1}.settings-grid .text-input{font-size:14px}.course-edit{border-top:1px solid var(--line);padding-top:23px;margin-top:27px}.course-edit h3{margin-bottom:18px}.edit-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.description-input{margin-top:9px;font-size:11px;min-height:40px;padding:10px 12px}.edit-option .field-label{font-size:10px;color:var(--muted)}.open-panel{padding:25px 29px;display:flex;justify-content:space-between;align-items:center;gap:25px}.switch-label{display:flex;gap:13px;align-items:flex-start;cursor:pointer}.switch-label input{width:19px;height:19px;accent-color:var(--green);flex-shrink:0;margin:2px 0 0}.switch-label strong{display:block;font-size:13px}.switch-label small{display:block;font-size:10px;line-height:1.6;color:var(--muted);max-width:440px;margin-top:4px}.open-panel .button{flex-shrink:0}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tools-grid h2{font-size:22px;margin-bottom:14px}.spaced-label{margin-top:20px}.spaced-button{margin-top:23px}.danger{background:#f5e9e1;border-color:#dec2b0;color:#8b422d}.danger:hover:not(:disabled){background:#eecfbd}.startup-error{padding:40px;margin:50px 0}.startup-error h1{font-size:36px;letter-spacing:-1px}.startup-error .button{margin-top:15px}.print-page{background:white}.print-sheet{max-width:820px;margin:50px auto;padding:20px}.print-controls{display:flex;justify-content:space-between;gap:20px;margin-bottom:45px}.print-sheet h1{font-size:42px;letter-spacing:-1px}.print-sheet h2{margin-top:32px;margin-bottom:15px}.kitchen-table{width:100%;border-collapse:collapse;text-align:left}.kitchen-table th,.kitchen-table td{padding:11px 12px;border:1px solid var(--line);font-size:14px}.kitchen-table th{background:#f0f2eb}.kitchen-table td:last-child{font-weight:600}.kitchen-table:last-child td:last-child{font-weight:500}.print-sheet .muted{font-size:12px}
@media(min-width:1500px){.wrap{width:1180px}.hero{padding-top:60px}.order-layout{gap:50px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.order-layout{grid-template-columns:minmax(0,1fr) 270px;gap:23px}.order-card{padding:19px}.option-card{padding:12px;min-height:155px}.option strong{font-size:12px}.option-number{font-size:7px}.option-description{font-size:9px}.options{gap:8px}.name-section{padding:23px}.hero h1{font-size:58px}.hero-side{max-width:220px}.login-layout{gap:35px;grid-template-columns:minmax(0,1fr) 310px}.login-layout h1{font-size:45px}.edit-options{gap:11px}.open-panel{align-items:flex-start}.open-panel .button{max-width:235px}.summary-course{padding:18px}.refresh-note{font-size:9px}.tools-grid{gap:15px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topbar{height:79px}.brand{font-size:23px}.brand-mark{width:34px;height:34px;font-size:21px;border-radius:10px}.tag{display:none}.nav-right{gap:0}.nav-link{font-size:10px}.hero{padding:31px 0 25px;display:block}.hero h1{font-size:46px;letter-spacing:-2.5px;margin-bottom:16px}.hero .eyebrow{font-size:8px;letter-spacing:1.25px;margin-bottom:19px}.hero .eyebrow>span{margin-inline:4px}.hero-text{font-size:13px;line-height:1.7}.hero-side{flex-direction:row;align-items:center;justify-content:space-between;max-width:none;padding:0;margin-top:22px;gap:8px}.status{font-size:10px;padding:7px 10px}.hero-detail{font-size:10px}.order-layout{grid-template-columns:1fr;gap:25px}.order-sidebar{position:static}.name-section{padding:21px;margin-bottom:28px}.section-heading{gap:11px}.section-heading .step{width:32px;height:32px;font-size:10px}.section-heading h2,.section-heading .h2{font-size:21px}.overline{font-size:8px;letter-spacing:1.3px}.field-label{font-size:11px}.text-input,textarea{font-size:16px;min-height:47px}.field-help{font-size:10px}.course-section{margin-bottom:27px}.options{grid-template-columns:1fr;gap:9px}.option-card{min-height:74px;padding:15px 17px 14px 46px;position:relative}.option-top{display:block;margin:0 0 6px}.option-number{font-size:7px;letter-spacing:1.2px}.radio-mark{position:absolute;left:16px;top:27px;width:17px;height:17px}.option strong{font-size:13px}.option-description{font-size:10px;line-height:1.5;margin-top:4px}.option-description:empty{display:none}.course-section .section-heading{margin-bottom:15px}.notes{padding-top:17px}.order-card{padding:23px}.order-card-top{margin-bottom:10px}.summary-caption{min-height:0;margin:8px 0 23px}.order-card .selection-line{margin-bottom:18px}.selection-line strong{font-size:12px}.selection-line>div>span{font-size:10px}.selection-line{gap:13px}.progress-row{font-size:10px}.primary-button{min-height:48px;font-size:12px}.privacy-note{font-size:10px}.sidebar-note{display:none}.saved-banner{padding:16px;gap:9px;flex-wrap:wrap}.saved-banner .text-button{margin-left:31px;font-size:11px}.saved-banner>div{flex:1}.notice{font-size:11px;padding:15px 17px}.footer{margin-top:34px;flex-direction:column;gap:5px;padding:23px 0;font-size:8px}.message{padding:15px;font-size:12px;margin-top:15px}.login-layout{display:block;padding:39px 0 15px}.login-layout h1{font-size:42px;letter-spacing:-2px}.login-layout .eyebrow{font-size:9px}.login-panel{margin-top:31px;padding:25px}.login-panel .text-input{font-size:16px}.admin-hero{display:block;padding:34px 0 24px}.admin-hero h1{font-size:42px}.admin-hero .eyebrow{font-size:9px}.admin-hero-actions{flex-direction:row;align-items:center;justify-content:space-between;margin-top:22px}.admin-stats{gap:21px;padding:19px;flex-wrap:wrap;margin-bottom:25px}.stat-number>strong{font-size:35px}.stat-number>span{font-size:9px}.stat-number{gap:12px}.refresh-note{flex-basis:100%;margin-left:0}.tabs{gap:22px;margin-bottom:26px}.tabs button{font-size:11px}.panel-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.panel-heading h2{font-size:23px}.panel-heading .button{font-size:10px;min-height:36px;padding:8px 12px}.summary-grid{grid-template-columns:1fr;gap:13px}.summary-course{padding:21px}.summary-course>.overline{font-size:9px;margin-bottom:14px}.count-row{font-size:12px;padding:11px 0}.count-badge{font-size:13px}.order-heading{margin-top:30px}.export-links{gap:19px;font-size:10px;margin-top:8px}.setup-panel{padding:22px 19px;margin-bottom:17px}.settings-grid{grid-template-columns:1fr;gap:20px}.wide-field{grid-column:auto}.edit-options{grid-template-columns:1fr;gap:21px}.description-input{font-size:16px}.edit-option .field-label{font-size:11px}.course-edit h3{font-size:18px}.course-edit{padding-top:21px;margin-top:26px}.setup-panel .muted{font-size:12px}.open-panel{padding:21px;flex-direction:column;gap:21px}.open-panel .button{max-width:none;width:100%}.tools-grid{grid-template-columns:1fr;gap:3px}.tools-grid .text-input{font-size:16px}.empty-state{padding:30px 21px}.print-sheet{margin:15px auto;padding:20px}.print-controls{flex-wrap:wrap;margin-bottom:30px}.print-sheet h1{font-size:30px}.kitchen-table th,.kitchen-table td{font-size:12px;padding:9px}.desktop-break{display:none}.startup-error{padding:25px}.startup-error h1{font-size:28px}.muted{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.loader{animation:none}}
@media print{body.print-page{background:white;color:#000}.print-controls{display:none!important}.print-sheet{width:100%;max-width:none;margin:0;padding:0}.print-sheet h1{font-size:26pt}.print-sheet h2{break-after:avoid;font-size:15pt;margin-top:22px}.kitchen-table{break-inside:avoid}.kitchen-table th,.kitchen-table td{font-size:11pt;padding:8px;border-color:#999}.print-sheet .eyebrow{font-size:8pt}.print-sheet p{font-size:10pt}.print-sheet .muted{font-size:9pt}@page{size:A4;margin:17mm}}

/* Daily menus and optional drinks. */
.day-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 30px}
.day-link{display:flex;flex-direction:column;gap:6px;padding:17px 20px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#fffdf8);text-decoration:none;color:var(--ink);transition:background .15s,border-color .15s}
.day-link span{font-size:16px;font-weight:650}.day-link small{font-size:11px;color:var(--muted)}
.day-link.active{background:var(--green-soft);border-color:var(--green)}.day-link.active small{color:var(--green)}
.day-link:hover{border-color:var(--green)}.day-link:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.vegan-tag{display:inline-flex!important;align-self:flex-start;width:max-content;margin-top:9px;border-radius:5px;background:var(--green-soft);color:var(--green);padding:3px 7px;font-size:9px;font-weight:600;letter-spacing:.4px}
.option-description{overflow-wrap:anywhere}.option strong{overflow-wrap:anywhere}
.drinks-section{margin:6px 0 28px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper,#fffdf8)}
.drinks-section .section-heading{margin-bottom:22px}.drinks-section .switch-label small{font-size:11px}
#drinks-fields{margin-top:20px}#drinks-fields>.field-help{margin-bottom:18px}
.drink-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 34px;align-items:end;gap:10px;margin-bottom:14px}
.drink-row .text-input{font-size:14px}.drink-name-field{min-width:0}.drink-quantity{text-align:center}
.drink-remove{height:44px;width:34px;align-self:end;border:1px solid var(--line);background:transparent;border-radius:8px;font-size:22px;color:var(--muted)}
.drink-remove:hover{background:#f5e9e1;color:#8b422d}.drinks-selection{padding-top:16px;border-top:1px solid var(--line)}
.drink-summary{padding:24px;margin-top:18px}.drink-summary>.overline{color:var(--green);margin-bottom:16px}.drink-summary>.field-help{margin-top:17px}
.vegan-edit{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);margin-top:12px}.vegan-edit input{accent-color:var(--green);width:17px;height:17px}
.all-days-exports{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;margin-top:22px;color:var(--muted)}
.orders-table{min-width:950px}.print-day{margin-bottom:45px}.kitchen-table td small{font-size:11px;color:#555}
.preview-banner{background:#f5e7b8;border-bottom:1px solid #d3bd7b;padding:13px 20px;font-size:13px;text-align:center;color:#493a12}
@media(max-width:760px){.day-nav{gap:8px;margin-bottom:25px}.day-link{padding:14px 10px;border-radius:10px;gap:5px}.day-link span{font-size:13px}.day-link small{font-size:9px}.drinks-section{padding:21px 18px}.drink-row{grid-template-columns:minmax(0,1fr) 65px 32px;gap:7px}.drink-row .text-input{font-size:16px;padding-inline:10px}.drink-row .field-label{font-size:10px}.drink-remove{height:47px;width:32px}.vegan-tag{margin-top:6px;font-size:9px}.option strong{font-size:14px}.option-description{font-size:11px}.drinks-section .button{font-size:11px}.drink-summary{padding:21px}.all-days-exports{gap:12px}.all-days-exports strong{flex-basis:100%}}
@media print{.print-day+.print-day{break-before:page}.print-day{margin:0}.kitchen-table td small{font-size:8pt}.print-day h1{font-size:24pt}.print-day h2{font-size:13pt;margin-top:18px}.print-day .kitchen-table td,.print-day .kitchen-table th{font-size:10pt;padding:7px}.print-day .muted{font-size:8pt}}

.day-help{margin:-14px 0 24px;font-size:11px;color:var(--muted)}

/* TExAS 2026 visual system */
:root{--bg:#080b0c;--paper:#111719;--paper-2:#161e20;--ink:#f5f7f5;--muted:#a8b2b1;--line:#2b3638;--accent:#e08247;--accent-soft:#322117;--green:#57d4d8;--green-soft:#143236;--shadow:0 18px 55px #00000045;--radius:18px}
body{background:radial-gradient(circle at 75% 0,#10262a 0,transparent 34rem),var(--bg);font-size:16px;line-height:1.55;min-width:320px}
.wrap{width:min(1160px,calc(100% - 56px))}.topbar{height:82px;border-color:#293234}.brand{font-size:18px;letter-spacing:.02em;text-transform:uppercase}.brand-light{color:var(--muted);font-weight:500;text-transform:none;margin-left:4px}.brand-mark{width:38px;height:38px;border:1px solid #3e5052;background:#10191b;color:var(--green);font-size:16px;letter-spacing:-2px;border-radius:50%;padding-right:3px}.brand-mark>span{color:var(--accent)}.tag{color:var(--green);border-color:#315155;background:#102023}.nav-link{font-size:13px;color:#c5cccc}.nav-link:hover{color:white}
h1{font-size:clamp(42px,5vw,66px);font-weight:720;letter-spacing:-.05em}h1>span{color:var(--green)}h2,.h2{font-size:25px}.eyebrow,.overline{color:var(--accent);font-weight:750}.hero-text{color:#c0c8c7;font-size:17px;max-width:570px}.hero{padding:44px 0}.guest-hero{position:relative;min-height:270px;margin:28px 0 34px;padding:38px 40px;border:1px solid #304043;border-radius:24px;overflow:hidden;align-items:flex-end;background:#0a0e0f}.guest-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080b0cf7 0%,#080b0cdb 38%,#080b0c3d 72%,#080b0c73 100%),url("keyvisual.webp") 72% 51%/cover no-repeat}.guest-hero:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px #0009;pointer-events:none}.guest-hero>*{position:relative;z-index:1}.guest-hero h1{margin-bottom:14px}.hero-side{align-self:flex-start}.hero-detail{color:#c2cbca}.status{font-size:12px;background:var(--green-soft);color:#7ce9eb}.status.closed{background:#2c2925;color:#d8b89e}
.day-nav{margin-bottom:22px}.day-link{background:#101517;border-color:#293537;padding:17px 20px}.day-link span{font-size:17px}.day-link small{font-size:12px}.day-link.active{background:#123034;border-color:#50bec3}.day-link.active small{color:#82e4e6}.day-help{font-size:13px}.panel,.name-section,.drinks-section,.order-card{background:linear-gradient(145deg,#131a1c,#0f1416);border-color:#2c393b}.name-section{padding:26px 28px}.step{border-color:#466064;background:#101719;color:var(--green);font-size:12px}.field-label{font-size:14px}.text-input,textarea{background:#0b1011;border-color:#3a484a;color:var(--ink);font-size:16px;border-radius:10px}.text-input::placeholder,textarea::placeholder{color:#75817f}.text-input:disabled,textarea:disabled{background:#151a1b;color:#87908f}.field-help{font-size:13px}.options{gap:13px}.option-card{background:#101618;border-color:#2e393b;min-height:174px;padding:18px}.option-number{font-size:10px;color:#8e9c9a}.radio-mark{border-color:#607173}.option strong{font-size:16px}.option-description{font-size:13px;color:#9ca8a7}.option input:checked+.option-card{border-color:var(--green);background:#123034;box-shadow:inset 0 0 0 1px #57d4d866,0 10px 25px #0005}.option input:checked+.option-card .radio-mark{background:var(--green);border-color:var(--green)}.option input:checked+.option-card .radio-mark:after{background:#082023}.vegan-tag{background:#173e35;color:#7be0ba;font-size:11px}.notes{border-color:var(--line)}.notes summary{font-size:14px}.order-sidebar{top:18px}.order-card{padding:25px}.order-card .small-spark{color:var(--accent)}.selection-check{background:#20282a;color:#8e9b99}.selection-line.selected .selection-check{background:#16383b;color:#78e3e7}.selection-line>div>span{font-size:11px}.selection-line strong{font-size:13px;color:#95a09f}.selection-line.selected strong{color:#f7f8f8}.progress-row,.one-per-person,.privacy-note,.sidebar-note{font-size:11px}.progress-track{background:#293234}.progress-track>div{background:var(--green)}.button{background:#f2f5f4;color:#0a0e0f;border-color:#f2f5f4;font-size:14px;font-weight:700}.button:hover:not(:disabled){background:#75dfe2;border-color:#75dfe2;color:#071011}.button.secondary{background:#131a1c;color:#eef2f1;border-color:#455456}.button.secondary:hover:not(:disabled){background:#1b292b}.primary-button{min-height:50px}.switch-label strong{font-size:15px}.switch-label small{font-size:12px}.switch-label input{accent-color:var(--green)}.saved-banner{background:#123034;border-color:#36777c}.saved-banner strong{font-size:15px}.saved-banner>div>span{font-size:13px}.notice{background:#312218;border-color:#6d4930;color:#f0c7a8;font-size:14px}.message.success{background:#123034;border-color:#36777c;color:#bceff0}.message.error{background:#391e18;border-color:#854333;color:#ffc0b2}.footer{border-color:#293234;font-size:11px}.loader{border-color:#344244;border-top-color:var(--green)}
.login-layout{min-height:calc(100vh - 165px);background:linear-gradient(90deg,#080b0c 0,#080b0ce3 45%,#080b0c4d),url("keyvisual.webp") right center/65% auto no-repeat}.login-panel{backdrop-filter:blur(12px);background:#101719eb}.muted{color:var(--muted);font-size:14px}.admin-stats,.summary-course,.setup-panel,.open-panel{background:linear-gradient(145deg,#131a1c,#0f1416);border-color:#2c393b}.tabs{border-color:#344143}.tabs button{color:#aab5b4;font-size:14px}.tabs button.active{color:white;border-color:var(--green)}.count-row{border-color:#293436;font-size:14px}.count-badge{background:#222c2e;color:#aab6b5}.count-badge.has-orders{background:#17393c;color:#7ee5e8}.orders-table thead{background:#172123;color:#bdc6c5}.orders-table th,.orders-table td{border-color:#2b3638;font-size:13px}.delete-button{border-color:#455153;color:#bba99e;background:#171c1d}.description-input{font-size:14px}.danger{background:#351f18;border-color:#744331;color:#ffc2a9}.danger:hover:not(:disabled){background:#51291e}.drink-remove{border-color:#3a4749;color:#aab4b3}.drink-remove:hover{background:#3e211a;color:#f4ae8f}.all-days-exports,.export-links{font-size:13px}.setup-screen{max-width:760px;padding-block:70px}.setup-screen .setup-panel{padding:38px}.setup-screen h1{font-size:52px}.setup-screen code{color:#7be5e7;background:#0b1112;padding:.1em .35em;border-radius:4px}.setup-screen p{color:#bdc6c5}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#69e6ea}input:focus-visible,textarea:focus-visible{outline-color:#69e6ea}
@media(max-width:760px){body{font-size:16px}.wrap{width:calc(100% - 28px)}.topbar{height:70px}.brand{font-size:15px}.brand-mark{width:34px;height:34px}.nav-link{font-size:12px}.guest-hero{min-height:225px;margin:16px 0 23px;padding:24px 20px;border-radius:18px;display:flex}.guest-hero:before{background:linear-gradient(90deg,#080b0cf5 0%,#080b0cda 55%,#080b0c62 100%),url("keyvisual.webp") 63% 50%/cover no-repeat}.guest-hero h1{font-size:37px;letter-spacing:-.045em;margin-bottom:10px}.guest-hero .hero-text{font-size:14px;line-height:1.55;max-width:300px}.guest-hero .eyebrow{margin-bottom:13px}.guest-hero .hero-side{margin-top:18px;align-items:flex-start;flex-direction:column}.day-nav{gap:7px}.day-link{padding:13px 10px}.day-link span{font-size:14px}.day-link small{font-size:10px}.name-section{padding:20px}.field-label{font-size:14px}.section-heading h2,.section-heading .h2{font-size:22px}.option-card{min-height:88px;padding:15px 16px 14px 49px}.option strong{font-size:16px}.option-description{font-size:13px}.radio-mark{top:31px}.drinks-section{padding:20px 17px}.drink-row .field-label{font-size:12px}.login-layout{min-height:auto;background:linear-gradient(#080b0ccd,#080b0cf5),url("keyvisual.webp") center top/cover no-repeat;padding-top:45px}.login-layout h1{font-size:41px}.setup-screen{padding-block:30px}.setup-screen .setup-panel{padding:24px 20px}.setup-screen h1{font-size:38px}.tabs{gap:16px;overflow-x:auto}.tabs button{font-size:12px;white-space:nowrap}.orders-table th,.orders-table td{font-size:12px}.footer{font-size:10px}}
@media print{body,.print-page{background:#fff!important;color:#000!important}.print-sheet,.kitchen-table{color:#000}.print-sheet .muted{color:#444}.kitchen-table th{background:#eee!important}.kitchen-table th,.kitchen-table td{border-color:#777}.print-sheet .eyebrow{color:#333}.print-sheet .button{color:#000}}
.button.secondary:hover:not(:disabled){color:#f4f7f6}
@media(max-width:760px){.guest-hero{display:block}.guest-hero .hero-side{width:100%;align-items:flex-start}.guest-hero .status{white-space:normal;max-width:100%}.guest-hero .hero-detail{white-space:normal}}

/* Fixed event period, local corporate typography and editing workflow */
:root{--font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--title:var(--font)}
body{font-family:var(--font);font-weight:400}h1,h2,h3,.h2,.brand{font-family:var(--title);font-weight:400;letter-spacing:-.025em}.muted,.field-help,.hero-detail,.option-description,.privacy-note,.day-link small,.request-group span{font-weight:300}.eyebrow,.overline,.tag{font-family:var(--font);font-weight:400;letter-spacing:.17em}
.day-switcher{position:sticky;top:0;z-index:20;background:#080b0cf2;backdrop-filter:blur(14px);padding:10px 0 12px;margin-bottom:20px;border-bottom:1px solid #273234}.day-select-label,.day-select{display:none}.day-nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0}.day-link{padding:12px 10px}.day-link span{font-size:15px}.day-link small{font-size:11px}.day-help{display:none}
.options{grid-template-columns:repeat(4,minmax(0,1fr))}.option-card{min-height:168px}.option-none .option-card{border-style:dashed;background:#0c1112}.option-none input:checked+.option-card{border-style:solid}.course-section legend+.time-options,.course-section legend+.drink-choices{clear:both}.time-options,.drink-choices{display:flex;flex-wrap:wrap;gap:10px}.choice-pill{position:relative;cursor:pointer;min-width:0}.choice-pill input{position:absolute;opacity:0}.choice-pill span{display:flex;align-items:center;min-height:48px;padding:11px 17px;border:1px solid #3a484a;border-radius:11px;background:#101618;font-size:15px}.choice-pill input:checked+span{border-color:var(--green);background:#123034;color:#eaffff}.choice-pill input:focus-visible+span{outline:3px solid var(--green);outline-offset:3px}.request-fields{clear:both;margin-top:17px;padding:18px;border:1px solid #344345;border-radius:12px;background:#0c1213}.request-fields[hidden]{display:none}.request-status{display:inline-flex;margin:13px 0 0;padding:5px 10px;border-radius:20px;background:#33281e;color:#efbf98;font-size:12px}.request-status.accepted{background:#153934;color:#8be5c4}.request-status.rejected{background:#3c201b;color:#ffb5a5}.cancel-order{display:block;width:100%;margin-top:12px;color:#e9a586;text-align:center}.selection-line{margin-bottom:14px}
.all-days-panel{padding:23px;margin-bottom:32px}.all-days-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0}.all-days-grid a{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:13px;border:1px solid #2e3b3d;border-radius:10px;text-decoration:none}.all-days-grid a:hover{border-color:var(--green)}.all-days-grid span,.all-days-grid small{display:block}.all-days-grid small{color:var(--muted);font-size:11px}.all-days-grid b{font-size:22px;color:var(--green)}.print-actions{display:flex;gap:9px;flex-wrap:wrap}.small-button{min-height:35px;padding:7px 10px;font-size:12px}.row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.orders-table tbody th small{display:block;color:var(--muted);font-weight:300;margin-top:4px}.time-summary{padding:24px;margin-top:18px}.time-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.time-summary h3{font-size:18px}.count-row span small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.request-group{padding:12px 0;border-top:1px solid #293436}.request-group strong,.request-group span{display:block}.request-group span{font-size:12px;color:var(--muted);margin-top:4px}.notice-inline{color:#f0c7a8}.none-count{border-top-style:dashed}.archive-block{border-top:1px solid var(--line);padding:15px 0}.archive-block summary{cursor:pointer}.archive-order{display:flex;justify-content:space-between;gap:15px;padding:10px;border-bottom:1px solid var(--line)}.archive-order span{color:var(--muted)}
.order-dialog{width:min(760px,calc(100% - 28px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #405052;border-radius:18px;background:#101719;color:var(--ink);padding:26px;box-shadow:0 28px 90px #000b}.order-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.dialog-heading h2{font-size:30px}.dialog-close{border:1px solid #3b494b;background:#182022;color:white;border-radius:50%;width:40px;height:40px;font-size:25px}.edit-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.order-dialog textarea{background:#0b1011}
.print-title{border-bottom:2px solid #111;padding-bottom:8px}.print-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.participant-table{table-layout:fixed}.participant-table th:nth-child(1){width:24%}.participant-table th:nth-child(2){width:42%}.participant-table th:nth-child(3){width:34%}.print-table-wrap{overflow:visible}.none-row{color:#555}.print-sheet h3{margin:18px 0 7px}.kitchen-table thead{display:table-header-group}.kitchen-table tr{break-inside:avoid}.print-day{break-after:page}.print-day:last-child{break-after:auto}
@media(max-width:1000px){.day-nav{grid-template-columns:repeat(3,1fr)}.all-days-grid{grid-template-columns:repeat(3,1fr)}.options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.day-switcher{margin-inline:-14px;padding:9px 14px 11px}.day-select-label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.day-select{display:block;min-height:45px;background:#101719}.day-nav{display:none}.guest-hero{margin-top:14px}.guest-hero h1{font-size:35px}.options{grid-template-columns:1fr}.option-card{min-height:84px}.choice-pill{flex:1 1 calc(50% - 6px)}.choice-pill span{justify-content:center;text-align:center;padding:10px}.order-sidebar{position:static}.all-days-grid{grid-template-columns:repeat(2,1fr)}.all-days-panel{padding:19px 15px}.admin-hero{padding-bottom:8px}.print-actions{width:100%}.print-actions .button{width:100%}.time-summary-grid{grid-template-columns:1fr;gap:16px}.orders-table{min-width:0}.orders-table thead{display:none}.orders-table,.orders-table tbody,.orders-table tr,.orders-table th,.orders-table td{display:block;width:100%}.orders-table tr{margin:0 0 12px;padding:15px;border:1px solid #2e3b3d;border-radius:12px;background:#111719}.orders-table th,.orders-table td{border:0;padding:6px 0;max-width:none}.orders-table td:before{content:attr(data-label);display:block;color:var(--accent);font-size:10px;letter-spacing:.1em;margin-bottom:2px}.row-actions{flex-direction:row;flex-wrap:wrap;align-items:center;margin-top:8px}.edit-order-grid{grid-template-columns:1fr}.order-dialog{padding:21px 17px}.dialog-actions{position:sticky;bottom:-21px;background:#101719;padding:14px 0 21px}.dialog-actions .button{flex:1}.archive-order{display:block}.archive-order span{display:block;margin-top:3px}}
@media print{body{font-family:var(--font)}.print-sheet h1,.print-sheet h2,.print-sheet h3{font-family:var(--title)}.print-day{break-after:page}.print-day:last-child{break-after:auto}.print-columns{grid-template-columns:1fr 1fr}.participant-table{font-size:8.5pt}.participant-table th,.participant-table td{vertical-align:top;overflow-wrap:anywhere;word-break:normal}.quantity-table{font-size:9pt}.print-title{break-after:avoid}.print-sheet h2,.print-sheet h3{break-after:avoid}.kitchen-table{break-inside:auto}.kitchen-table thead{display:table-header-group}.kitchen-table tr{break-inside:avoid;break-after:auto}}

.row-actions .button{white-space:nowrap}

/* Explicit vegan preparation requests */
.option-wrap{display:flex;min-width:0;flex-direction:column}.option-wrap>.option{flex:1}.option-wrap .option-card{height:100%}.vegan-tag{letter-spacing:.02em}
.vegan-request-control,.admin-vegan-control{display:flex;align-items:flex-start;gap:11px;min-height:48px;margin-top:8px;padding:10px 12px;border:1px solid #344446;border-radius:10px;background:#0d1415;color:#d9e1e0;cursor:pointer}.vegan-request-control:not(.available){opacity:.55}.vegan-request-control.available{border-color:#426b68;background:#10201f}.vegan-request-control input,.admin-vegan-control input{width:20px;height:20px;flex:0 0 auto;margin:2px 0 0;accent-color:#57d4d8}.vegan-request-control strong,.admin-vegan-control strong{display:block;font:400 14px/1.2 var(--font);color:#8cf0c9}.vegan-request-control small,.admin-vegan-control small{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:var(--muted)}.vegan-request-control:has(input:focus-visible),.admin-vegan-control:has(input:focus-visible){outline:3px solid var(--green);outline-offset:2px}.admin-vegan-control[hidden]{display:none}.admin-vegan-control{margin-top:9px}.vegan-order-note{display:block;width:max-content;max-width:100%;margin-top:5px;padding:3px 6px;border-radius:4px;background:#173e35;color:#91edc8!important;font-size:10px!important;font-weight:700!important;letter-spacing:.04em}.count-breakdown{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.count-breakdown b{color:#86e9c2}.vegan-print{display:inline-block;margin-left:4px;padding:1px 4px;border:1px solid #111;font-size:9px;white-space:nowrap}.vegan-quantity{font-weight:800!important}
@media(max-width:760px){.vegan-request-control{min-height:52px;margin-top:7px;padding:11px 13px}.vegan-request-control strong{font-size:15px}.vegan-request-control small{font-size:12px}.admin-vegan-control{min-height:50px}.count-breakdown{font-size:12px}.vegan-order-note{font-size:11px!important}}
@media print{.quantity-table th:nth-child(n+2),.quantity-table td:nth-child(n+2){width:16%;text-align:center}.vegan-print{border-width:1.5px}.vegan-quantity{background:#eee!important}}

.dish-card-body{display:block;min-width:0}
.dish-card-copy{display:flex;min-width:0;flex-direction:column}.dish-card-copy strong,.dish-card-copy .option-description{overflow-wrap:anywhere}
@media(max-width:760px){.day-switcher{margin-inline:0}}

/* Two-course service, roster check and fixed 19:00 workflow. */
.service-notice,.fixed-service{margin:0 0 26px;padding:17px 20px;border:1px solid #426b68;border-radius:13px;background:#10201f;color:#dce9e7}.service-notice strong{color:#83e7e9}.fixed-service{padding:22px}.fixed-service>p{margin:0 0 9px}.fixed-service .onsite-drinks{color:#9fc5c3}.future-suggestion{margin-top:18px;padding-top:15px;border-top:1px solid #314344}.future-suggestion summary{cursor:pointer;font-size:14px;color:#8ce8ea}.future-suggestion .switch-label{margin-top:14px}.combination-state{margin:6px 0 16px;padding:9px 11px;border-radius:8px;font-size:12px}.combination-state.valid{background:#153934;color:#8be5c4}.combination-state.invalid,.rule-conflict{background:#3c201b;color:#ffb5a5!important}.roster-check{margin-bottom:24px;padding:22px}.roster-check.needs-attention{border-color:#84553a;background:#2b1d17}.roster-check.complete{border-color:#35665e;background:#10201f}.roster-check p:last-child{margin-bottom:0}.provisional-roster{padding:10px 12px;border-left:3px solid var(--accent);background:#261c17;color:#e9c2a8}.service-plan{margin:24px 0}.service-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.service-plan-grid h3{margin-bottom:3px}.fixed-setting{display:flex;flex-direction:column;margin-top:20px;padding:14px;border:1px solid #3a484a;border-radius:10px;background:#0c1213}.fixed-setting span{color:var(--muted);font-size:12px}.conflict-row{box-shadow:inset 4px 0 #c96b4b}.print-check{margin:16px 0;padding:12px 15px;border:2px solid #555}.print-check h2{margin-top:0}.print-warning{border-color:#a34}.print-ok{border-color:#486}.service-print-note{padding:8px 10px;border:1px solid #777}.print-page .conflict-row{box-shadow:inset 3px 0 #900}
@media(max-width:760px){.service-notice{padding:14px 15px;font-size:13px}.fixed-service{padding:18px 15px}.service-plan-grid{grid-template-columns:1fr}.roster-check{padding:18px 15px}.future-suggestion .switch-label{min-width:0}.future-suggestion small{overflow-wrap:anywhere}}
@media print{.service-notice,.future-suggestion,.fixed-setting{display:none!important}.print-check{break-inside:avoid}.service-plan-grid{display:block}.service-plan-grid>.panel{break-inside:avoid;margin-bottom:12px}}
@media print{.print-service-group{break-inside:avoid;page-break-inside:avoid}.print-service-group h3{break-after:avoid}.print-service-group .quantity-table{break-inside:avoid}}

/* Per-day roster attendance. */
.attendance-manager{margin-top:20px;padding-top:18px;border-top:1px solid #3a484a}.attendance-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.attendance-heading h3{margin:0;font-size:18px}.attendance-heading span{color:var(--muted);font-size:12px}.attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.attendance-person{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:11px 12px;border:1px solid #344345;border-radius:10px;background:#0c1213}.attendance-person>span{min-width:0}.attendance-person strong,.attendance-person small{display:block;overflow-wrap:anywhere}.attendance-person small{margin-top:3px;color:var(--muted);font-size:11px}.attendance-person.inactive{border-color:#745440;background:#251b17}.attendance-person.inactive small{color:#efb58f}.attendance-person .button{flex:0 0 auto}.print-inactive{margin:14px 0;padding:10px 14px;border:1px solid #777}.print-inactive h2{margin:0 0 5px}.print-inactive p{margin:0}
.attendance-person.missing{border-color:#a95337;background:#3b2018}.attendance-person.missing strong,.attendance-person.missing small{color:#ffb49b}.attendance-person.responded{border-color:#35665e;background:#102c29}.attendance-person.responded strong{color:#d9ffef}.attendance-person.responded small{color:#8be5c4}.attendance-person.inactive{border-color:#465052;background:#191f20}.attendance-person.inactive strong{color:#bdc5c4}.attendance-person.inactive small{color:#929d9c}
.attendance-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.overview-actions{display:flex;align-items:flex-end;flex-direction:column;gap:11px}.overview-actions .export-links{justify-content:flex-end}
@media(max-width:760px){.attendance-heading{align-items:flex-start;flex-direction:column}.attendance-list{grid-template-columns:1fr}.attendance-person{align-items:stretch;flex-direction:column}.attendance-actions{flex-direction:column;width:100%}.attendance-person .button{width:100%}.order-heading{align-items:stretch;flex-direction:column}.overview-actions{align-items:stretch;width:100%}.overview-actions .button{width:100%}.overview-actions .export-links{justify-content:flex-start}}
@media print{.attendance-manager{display:none!important}.print-inactive{break-inside:avoid}}

/* Guest-only confirmation saying. */
.saved-banner>div{min-width:0}.confirmation-joke{margin:12px 0 0;padding-top:11px;border-top:1px solid #36777c;font-size:13px;line-height:1.55;color:#d8eeee;overflow-wrap:anywhere}
@media(max-width:760px){.confirmation-joke{font-size:12px;line-height:1.5}}

/* Reload-stable, self-contained confirmation mini memes. */
.confirmation-card{width:min(100%,430px);margin-top:13px;border:1px solid #3e777b;border-radius:12px;overflow:hidden;background:#0c2022}.confirmation-meme{margin:0;background:radial-gradient(circle at 50% 38%,#234f52 0,#102b2e 48%,#09191b 100%)}.confirmation-meme svg{display:block;width:100%;height:auto;max-height:190px;color:#75dfe2}.confirmation-meme figcaption{padding:9px 12px;background:#10292b;color:#effafa;font-size:11px;font-weight:700;line-height:1.4;text-align:center;letter-spacing:.1px}.confirmation-card .confirmation-joke{margin:0;padding:12px 14px;border-top:1px solid #315c60;background:#0c181a;color:#d8eeee;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.confirmation-meme path,.confirmation-meme circle,.confirmation-meme rect{vector-effect:non-scaling-stroke}.meme-plate{fill:#e9f5ef;stroke:#75dfe2;stroke-width:3}.meme-plate-inner{fill:#17383b;stroke:#9df0e2;stroke-width:2}.meme-cutlery,.meme-notes,.meme-cable,.meme-plug,.meme-steam,.meme-arms,.meme-face,.meme-chair,.meme-zzz{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.meme-notes{stroke:#ffc57d}.meme-0 .meme-plate,.meme-0 .meme-plate-inner{transform-box:fill-box;transform-origin:center;animation:meme-plate-dance 2.8s ease-in-out 1 both}.meme-0 .meme-cutlery{transform-box:fill-box;transform-origin:center bottom;animation:meme-cutlery-dance 2.8s ease-in-out 1 both}.meme-0 .meme-notes{opacity:0;animation:meme-pop 2.8s ease 1 both}.meme-cable{stroke-width:5;stroke-dasharray:260;stroke-dashoffset:260}.meme-1 .cable-a{stroke:#75dfe2;animation:meme-draw 2.5s ease-out 1 forwards}.meme-1 .cable-b{stroke:#ffc57d;animation:meme-draw 2.5s .25s ease-out 1 forwards}.meme-plug{stroke:#effafa;animation:meme-pop 2.4s ease 1 both}.meme-cup{fill:#edf8f3;stroke:#75dfe2;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center bottom;animation:meme-victory 2.7s ease-in-out 1 both}.meme-cup .meme-arms,.meme-cup .meme-face{fill:none;stroke:#0d3033;stroke-width:4}.meme-2 .meme-steam{stroke:#ffc57d;stroke-dasharray:35;animation:meme-steam 2.7s ease-out 1 both}.meme-chair{stroke:#dff6ed;stroke-width:5;transform-box:fill-box;transform-origin:center bottom;animation:meme-chair-settle 2.6s ease-out 1 both}.meme-zzz{stroke:#ffc57d;opacity:0;animation:meme-zzz 3s ease-out 1 both}.meme-curtain{fill:#602c42;stroke:#b55d7c;stroke-width:3}.meme-stage{fill:#352419;stroke:#ffc57d;stroke-width:3}.meme-spot{fill:#ffe7a133;stroke:#ffe7a177;stroke-width:2;animation:meme-spotlight 3s ease-out 1 both}.meme-dessert{fill:#f6e3ce;stroke:#ffb873;stroke-width:3;stroke-linejoin:round;transform-box:fill-box;transform-origin:center bottom;animation:meme-dessert-rise 2.6s cubic-bezier(.2,.8,.3,1) 1 both}.meme-rocket{fill:#eff8f2;stroke:#75dfe2;stroke-width:4;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;animation:meme-launch 3s ease-in-out 1 both}.meme-rocket .meme-filling{fill:none;stroke:#e98f61;stroke-width:5}.meme-flame{fill:#ffc057;stroke:#ff805e;stroke-width:3;transform-box:fill-box;transform-origin:right center;animation:meme-flame 3s ease-in-out 1 both}.meme-stars{fill:#f9e792;animation:meme-pop 3s ease 1 both}
@keyframes meme-plate-dance{0%{transform:rotate(0) translateY(8px)}25%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-5px)}75%{transform:rotate(-4deg) translateY(0)}100%{transform:rotate(0) translateY(0)}}@keyframes meme-cutlery-dance{0%{transform:rotate(0)}30%{transform:rotate(-10deg)}60%{transform:rotate(9deg)}100%{transform:rotate(0)}}@keyframes meme-pop{0%,18%{opacity:0;transform:scale(.75)}45%,100%{opacity:1;transform:scale(1)}}@keyframes meme-draw{to{stroke-dashoffset:0}}@keyframes meme-victory{0%{transform:translateY(18px) scale(.9)}30%{transform:translateY(-4px) rotate(-3deg)}55%{transform:translateY(0) rotate(3deg)}100%{transform:translateY(0) rotate(0)}}@keyframes meme-steam{0%{opacity:0;stroke-dashoffset:35}55%,100%{opacity:1;stroke-dashoffset:0}}@keyframes meme-chair-settle{0%{transform:translateX(-24px) rotate(-7deg)}45%{transform:translateX(4px) rotate(2deg)}100%{transform:translateX(0) rotate(0)}}@keyframes meme-zzz{0%,32%{opacity:0;transform:translateY(8px)}65%,100%{opacity:1;transform:translateY(0)}}@keyframes meme-spotlight{0%{opacity:0}35%,100%{opacity:1}}@keyframes meme-dessert-rise{0%{opacity:0;transform:translateY(34px) scale(.8)}55%{opacity:1;transform:translateY(-3px) scale(1.04)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes meme-launch{0%{transform:translate(-24px,18px) rotate(-5deg)}45%{transform:translate(5px,-5px) rotate(3deg)}70%{transform:translate(-2px,2px) rotate(-1deg)}100%{transform:translate(0) rotate(0)}}@keyframes meme-flame{0%{opacity:.3;transform:scaleX(.55)}35%{opacity:1;transform:scaleX(1.15)}70%,100%{opacity:.9;transform:scaleX(.8)}}
@media(max-width:520px){.confirmation-card{width:100%}.confirmation-meme figcaption{font-size:10.5px}.confirmation-card .confirmation-joke{font-size:12px}.saved-banner>div{flex-basis:calc(100% - 31px)}}
@media(prefers-reduced-motion:reduce){.confirmation-meme *{animation:none!important;transform:none!important;stroke-dashoffset:0!important;opacity:1!important}}
@media print{.confirmation-card{display:none!important}}

/* Installable app and explicit Web Push controls. */
#pwa-guest{margin-top:12px}.pwa-shell{margin:22px 0;border:1px solid #315052;border-radius:13px;background:#0d1718}.pwa-shell>summary{cursor:pointer;padding:16px 20px;color:#8ce8ea;font-weight:700}.pwa-shell[open]>summary{border-bottom:1px solid #315052}.pwa-panel{padding:22px;overflow:hidden;border:0;border-radius:0 0 13px 13px}.pwa-panel hr{margin:20px 0;border:0;border-top:1px solid #344345}.pwa-actions,.push-template-grid{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.pairing{margin-top:20px;padding-top:16px;border-top:1px solid #344345}.pairing summary{cursor:pointer;color:#8ce8ea}.pairing form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:15px}.pair-code{display:block;margin:12px 0;padding:13px;border:1px dashed #75dfe2;border-radius:9px;background:#0b1718;color:#effafa;font:700 18px/1.4 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.pwa-offline-note{margin-top:10px}.admin-push-area{margin-top:24px}.push-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.push-template-grid .button{width:100%}.push-preview{margin-top:18px;padding:16px;border:1px solid #35585a;border-radius:11px;background:#0c181a}.push-preview p:first-child{font-size:17px}.push-preview .notice{margin-bottom:0}
@media(max-width:520px){.pwa-panel{padding:18px 15px}.pairing form,.push-template-grid{grid-template-columns:1fr}.pwa-actions>.button,.pwa-actions>.text-button,.pairing form .button{width:100%}.pair-code{font-size:15px}.admin-push-area{min-width:0}}
@media print{#pwa-guest,.admin-push-area{display:none!important}}

/* First-visit app and push guide. */
.pwa-onboarding{width:min(680px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #477174;border-radius:18px;background:#0d1517;color:var(--ink);box-shadow:0 28px 90px #000d}.pwa-onboarding::backdrop{background:#020607d9;backdrop-filter:blur(5px)}.onboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 14px;background:linear-gradient(145deg,#122426,#0d1517)}.onboard-heading h2{margin:2px 0 5px;font-size:30px}.onboard-heading p:last-child{margin:0;color:var(--muted)}.onboard-steps{display:grid;gap:10px;padding:8px 22px 14px}.onboard-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:15px;border:1px solid #2f4547;border-radius:13px;background:#101b1d}.onboard-step>div{min-width:0}.onboard-step h3{margin:1px 0 5px;font-size:18px}.onboard-step p{margin:0 0 11px;color:#b9c8c7;font-size:13px;line-height:1.45}.onboard-number{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#184d50;color:#9bf4f2;font-weight:800}.onboard-action{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:10px}.onboard-action .text-input{width:100%}.onboard-primary{margin-top:4px}.onboard-state{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #3d6264;border-radius:10px;background:#102225}.onboard-state.success{border-color:#3e7568;background:#102923}.onboard-state strong,.onboard-state small{display:block}.onboard-state small{margin-top:2px;color:var(--muted);font-size:11px}.pwa-onboarding svg,.pwa-actions svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pwa-onboarding .button,.pwa-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.install-route{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#79dfe2;font-size:12px}.action-chip{display:inline-flex;min-width:0;align-items:center;gap:6px;padding:8px 9px;border:1px solid #3b5a5d;border-radius:9px;background:#0b1315;color:#e6f3f2}.action-chip b,.action-chip small{display:block}.action-chip small{color:var(--muted);font-size:9px}.action-reason{color:var(--muted);font-size:11px;line-height:1.35}.onboard-voluntary{margin:0 22px 14px;padding:10px 12px;border-left:3px solid var(--accent);background:#122123;color:#c8dddd;font-size:12px}.onboard-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 22px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #314345;background:#0d1517f2;backdrop-filter:blur(8px)}.pwa-guide-button{float:right;margin:0 0 10px 12px}.pwa-onboarding:focus-visible{outline:0}
@media(max-width:520px){.pwa-onboarding{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.onboard-heading{padding:17px 15px 12px}.onboard-heading h2{font-size:25px}.onboard-steps{padding:6px 10px 11px}.onboard-step{grid-template-columns:29px minmax(0,1fr);gap:9px;padding:12px 10px}.onboard-number{width:27px;height:27px}.install-route{gap:5px}.install-route>span[aria-hidden]{display:none}.action-chip{flex:1 1 calc(50% - 5px);justify-content:center;text-align:center}.onboard-action>.button{width:100%}.onboard-voluntary{margin-inline:10px}.onboard-footer{padding-inline:15px}.onboard-footer .button,.onboard-footer .text-button{flex:1}.pwa-guide-button{float:none;width:100%;margin:0 0 13px}}
@media(max-width:340px){.onboard-heading h2{font-size:22px}.onboard-step{grid-template-columns:1fr}.onboard-number{width:25px;height:25px}.action-chip{flex-basis:100%}.onboard-footer{gap:6px;padding-inline:10px}}
@media print{.pwa-onboarding{display:none!important}}
.permission-route{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 10px;color:#79dfe2;font-size:12px}
@media(max-width:520px){.permission-route{gap:5px}.permission-route>span[aria-hidden]{display:none}}

/* Date-specific course limit. */
.course-limit-hint{margin:-12px 0 24px;text-align:center;font-weight:700}.option:has(input:disabled:not(:checked)) .option-card{opacity:.42;filter:saturate(.45);cursor:not-allowed}.option:has(input:disabled:not(:checked)){cursor:not-allowed}.admin-course-select option:disabled{color:#777}.edit-order-grid>div:has(.admin-course-select option:only-child){display:none}
.order-confirmation{margin:16px 0;padding:16px}.order-confirmation strong{display:block;line-height:1.5}.order-confirmation-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.order-confirmation-actions .button{min-height:42px}@media(max-width:600px){.order-confirmation-actions{flex-direction:column}.order-confirmation-actions .button{width:100%}}
.course-auto-note{margin:12px 0 0;padding:12px 14px;border-radius:9px;background:#eaf0e3;color:#375138;font-size:12px;line-height:1.5}

/* Freitag: zweiter Anbieter Ristorante Twins. */
.venue-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0 1.5rem;padding:.35rem;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.venue-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1rem;border-radius:10px;color:var(--muted);font-weight:700;text-align:center;text-decoration:none}.venue-tabs a.active{background:var(--accent);color:#08100d}.twins-category{margin:.75rem 0;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);overflow:hidden}.twins-category summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;font-weight:700}.twins-category summary small{color:var(--muted);font-weight:400}.twins-options{display:grid;gap:1px;background:var(--line)}.twins-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.8rem;padding:1rem;background:var(--panel);cursor:pointer}.twins-option input{margin-top:.25rem;width:1.2rem;height:1.2rem;accent-color:var(--accent)}.twins-option span{min-width:0}.twins-option strong,.twins-option small{display:block;overflow-wrap:anywhere}.twins-option small{margin-top:.25rem;color:var(--muted)}.twins-option b{white-space:nowrap;color:var(--accent)}.twins-option:has(input:disabled){opacity:.48;cursor:not-allowed}.provider-badge{display:block;margin-top:.3rem;color:var(--accent);font-weight:700}.twins-admin-summary td small{display:block;color:var(--muted);margin-top:.2rem}
@media(max-width:420px){.venue-tabs{grid-template-columns:1fr}.twins-option{grid-template-columns:auto minmax(0,1fr)}.twins-option b{grid-column:2}.twins-category summary,.twins-option{padding:.85rem}.twins-admin-summary .panel-heading{align-items:stretch}.twins-admin-summary .row-actions{display:grid;grid-template-columns:1fr}}
@media print{.venue-tabs,.provider-switch{display:none!important}.twins-admin-summary{break-inside:avoid}}

/* Eurest lunch menu: reference view separate from dinner orders. */
.lunch-page{max-width:920px}.lunch-intro{margin:30px 0 23px;padding:32px 34px;border:1px solid #314448;border-radius:22px;background:linear-gradient(120deg,#10282c,#0b1012)}.lunch-intro h1{font-family:var(--title);font-size:clamp(38px,6vw,64px);line-height:1.06}.lunch-intro>p:last-child{max-width:620px;margin-bottom:0;color:#bdcaca}.lunch-day-picker{margin-bottom:28px}.lunch-day-picker label{display:block;margin:0 0 8px;font-weight:700}.lunch-picker-row{display:flex;gap:10px;max-width:500px}.lunch-picker-row .text-input{flex:1;min-width:0}.lunch-picker-row .button{flex:0 0 auto}.lunch-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:15px}.lunch-day{display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px 10px;border:1px solid #354649;border-radius:11px;background:#101719;text-align:center;text-decoration:none}.lunch-day small{color:var(--muted)}.lunch-day.active{border-color:#72d7db;background:#163236}.lunch-day.active small{color:#c8eeee}.lunch-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px}.lunch-section-head h2{font-family:var(--title);font-size:30px}.lunch-readonly{padding:5px 10px;border:1px solid #466064;border-radius:20px;color:#c0d7d7;font-size:11px;white-space:nowrap}.lunch-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lunch-card{min-width:0;padding:20px;border:1px solid #314145;border-radius:14px;background:#11191b}.lunch-card h3{margin:0;color:#f5f9f8;font-size:19px;font-weight:600;overflow-wrap:anywhere}.lunch-card .overline{margin-bottom:10px}.lunch-vegetarian{display:inline-block;margin-top:12px;padding:4px 9px;border:1px solid #438167;border-radius:20px;color:#a5edc5;font-size:11px}.lunch-sandwiches{margin-top:32px}.lunch-sandwiches h2{margin-bottom:15px}.lunch-source{margin-top:28px;padding:15px 18px;border:1px solid #354649;border-radius:12px}.lunch-source summary{cursor:pointer;font-weight:600}.lunch-source img{display:block;width:100%;height:auto;max-width:900px;margin:16px auto 0;border-radius:8px}.lunch-footnote{margin:18px 0 0;color:var(--muted);font-size:12px}
@media(max-width:700px){.lunch-card-grid{grid-template-columns:1fr}.lunch-days{display:none}.lunch-intro{padding:25px 20px}.lunch-section-head{align-items:start;flex-direction:column}.lunch-card{padding:17px}.lunch-card h3{font-size:17px}.lunch-page{max-width:none}}
@media(max-width:380px){.lunch-picker-row{flex-direction:column}.lunch-picker-row .button{width:100%}.lunch-intro h1{font-size:35px}}
@media(max-width:760px){.topbar .nav-right{gap:4px 8px;flex-wrap:wrap;justify-content:flex-end}.topbar .nav-link{font-size:11px}}
.lunch-mark{display:block;margin-top:17px;padding:8px 12px;border:1px solid #547177;border-radius:9px;background:#17272a;color:#dbeded;font-size:12px;font-weight:700}.lunch-mark:hover{border-color:#8ae3e7}.lunch-mark[aria-pressed="true"]{border-color:#7cdbb0;background:#174636;color:#e4fff0}.lunch-card-selected{border-color:#518e72;background:#15261f}.lunch-preview{margin-top:29px;padding:21px;border:1px solid #518e72;border-radius:14px;background:#10231b}.lunch-preview h2{margin-bottom:8px;font-size:20px}.lunch-preview-text{margin-bottom:8px;overflow-wrap:anywhere}.lunch-preview small{color:#b3cebf}

/* Text-only Eurest lunch cards. */
.lunch-card{overflow:hidden;padding:0}.lunch-card-body{padding:18px 20px}.lunch-card .overline{margin-bottom:10px}
@media(max-width:700px){.lunch-card-body{padding:17px}}

.reset-order-button{border-color:#8a684c;color:#f0cb9b}.reset-order-button:hover:not(:disabled){background:#3f3025}.reset-panel{border-color:#6b543d}

.member-create-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; margin-top:20px; }
.member-create-form .field-label { grid-column:1 / -1; margin-bottom:-4px; }
.member-list { display:grid; gap:12px; margin-top:18px; }
.member-row { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px; border:1px solid var(--line,#344); border-radius:14px; }
.member-row strong,.member-row small { display:block; overflow-wrap:anywhere; }
.member-row small { margin-top:4px; color:var(--muted,#9aa); font-size:.8rem; }
.member-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.member-invite-dialog { width:min(520px,calc(100% - 24px)); }
.member-invite-dialog .dialog-body { display:grid; gap:15px; }
.member-invite-dialog p { margin:0; line-height:1.5; }
.member-invite-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.member-invite-actions .button { text-align:center; }
@media (max-width:520px) { .member-invite-actions { grid-template-columns:1fr; } }
.member-login-layout .login-panel { max-width:430px; }
.member-logout { max-width:260px; text-align:right; overflow-wrap:anywhere; }
.name-input[readonly] { border-color:#4b7772; background:#eaf4f0; color:#18332f; }
.member-access-panel .switch-label { margin-top:15px; }
@media (max-width:760px) { .member-logout { text-align:left; } }
@media (max-width:620px) { .member-create-form { grid-template-columns:1fr; } .member-row { align-items:stretch; flex-direction:column; } .member-actions .button { width:100%; } }

/* Menu dietary badges: one leaf = vegetarian; two leaves = vegan preparation available. */
.option-top-right{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.option-top-right .radio-mark{position:relative;inset:auto;top:auto;right:auto;margin:0}
.diet-tag{--diet-vein:#102519;display:inline-flex;align-items:center;gap:4px;min-height:31px;padding:3px 7px 3px 3px;border:1px solid #5a9c69;border-radius:999px;background:#173624;color:#a8ef9f;font-size:11px;font-weight:700;line-height:1.1;white-space:nowrap;letter-spacing:0}
.diet-tag-vegan{--diet-vein:#0f3028;background:#123f34;color:#a5f5c9;border-color:#4aab83}.diet-leaves{display:block;width:25px;height:25px;flex:none;overflow:visible}.diet-legend{--diet-vein:#102519;display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0 0 15px;color:#bcd8c2;font-size:12px;line-height:1.35}.diet-legend .diet-leaves{width:22px;height:22px;color:#a8ef9f}.diet-legend-divider{margin-inline:6px;color:#7b9d87}.edit-option .vegan-edit{display:inline-flex;margin-right:16px}
@media(max-width:760px){.diet-tag{font-size:11px;min-height:34px}.diet-tag .diet-leaves{width:27px;height:27px}.option-top-right{gap:8px}.diet-legend{font-size:11px;padding-inline:3px}}

/* Pilot: compact mail address editing in member administration */
.member-email-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:12px}.member-email-form .field-label{flex-basis:100%}.member-email-form .text-input{flex:1 1 185px;min-width:0}.member-email-form .button{flex:0 0 auto}@media(max-width:580px){.member-email-form .button{width:100%}}

/* CrewEssen memorial mark */
+.brand-symbol{width:40px;height:40px;object-fit:cover;flex:none;border-radius:12px;border:1px solid #315155;background:#080b0c}.brand .brand-light{color:#75dfe2;margin-left:0;font-weight:700;text-transform:none}@media(max-width:760px){.brand-symbol{width:36px;height:36px}}

/* Separate CrewEssen pilot hero, independent of the former event key visual */
+.guest-hero:before{background:linear-gradient(90deg,#080b0cf8 0%,#080b0ce9 41%,#080b0c99 64%,#080b0c55 100%),url("crewessen-mark-source.png") 93% center/auto 125% no-repeat;background-color:#080b0c}.login-layout{background:linear-gradient(90deg,#080b0c 0%,#080b0ce8 48%,#080b0ca8 100%),url("crewessen-mark-source.png") right center/auto 80% no-repeat;background-color:#080b0c}@media(max-width:760px){.guest-hero:before{background:linear-gradient(90deg,#080b0cf8 0%,#080b0ce8 57%,#080b0c99 100%),url("crewessen-mark-source.png") 96% center/auto 120% no-repeat;background-color:#080b0c}.login-layout{background:linear-gradient(#080b0cc9,#080b0cf5),url("crewessen-mark-source.png") right top/auto 70% no-repeat;background-color:#080b0c}}

.brand{text-transform:none}
.activation-brand-symbol{width:64px;height:64px;object-fit:cover;border-radius:16px;margin-bottom:18px;border:1px solid #315155}
