@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2)format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/figtree-latin-800-normal-30yxI7TZ.woff2)format("woff2"),url(/assets/figtree-latin-800-normal-B7vj2UK8.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2)format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2)format("woff2"),url(/assets/caveat-latin-700-normal-cPyBTTZN.woff)format("woff")}:root{--color-bg:#f1f1f1;--color-surface:#fff;--color-text:#333;--color-muted:#6f6f6f;--color-border:#d8d8d8;--color-primary:#8a1a30;--color-primary-dark:#6d1425;--color-primary-tint:#8a1a3012;--color-action:#4d4d4d;--color-action-dark:#333;--color-action-light:#7a7a7a;--color-accent:#7a7a7a;--color-warning:#b8702f;--color-success:#4a7c59;--radius:3px;--radius-pill:999px;--font-script:"Caveat", cursive;font-family:Figtree,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.script-accent{font-family:var(--font-script);color:var(--color-primary);font-size:1.5em;font-weight:700;line-height:1.2;display:block}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0}.page{max-width:960px;margin:0 auto;padding:24px 16px 64px}.page-narrow{max-width:560px}.page-wide{max-width:1100px}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:10px 16px;display:flex}.brand{grid-template-areas:"stars""name""place";justify-items:center;line-height:1;text-decoration:none;display:grid}.brand-stars{color:var(--color-muted);letter-spacing:.25em;grid-area:stars;margin-bottom:-2px;padding-left:.25em;font-size:.5rem}.brand-name{font-family:var(--font-script);color:var(--color-primary);grid-area:name;font-size:2.1rem;font-weight:700}.brand-place{letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);grid-area:place;margin-top:-2px;padding-left:.3em;font-size:.6rem}.app-header-actions{align-items:center;gap:12px;display:flex}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.deadline-box{background:var(--color-surface);border:1px solid var(--color-border);border-left:5px solid var(--color-accent);border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.deadline-box-passed{border-left-color:var(--color-primary);background:var(--color-primary-tint);border-color:#bf1b3e40}.deadline-icon{flex-shrink:0;font-size:1.25rem;line-height:1.2}.deadline-box-passed .deadline-icon{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;font-weight:800;display:flex}.deadline-headline{margin-bottom:2px;font-size:1rem;font-weight:800;display:block}.deadline-box-passed .deadline-headline{color:var(--color-primary-dark)}.deadline-detail{color:var(--color-muted);font-size:.88rem}.page-header-title{align-items:center;gap:10px;display:flex}.live-dot{background:var(--color-border);border-radius:50%;flex-shrink:0;width:9px;height:9px}.live-dot-on{background:var(--color-success);box-shadow:0 0 0 3px #4a7c5933}h1{margin:0;font-size:1.5rem;font-weight:800}.page-title{margin:0 0 16px}.page-title-row{align-items:center;gap:10px;margin-bottom:16px;display:flex}.page-title-row h1{margin:0}.language-switcher{display:inline-flex;position:relative}.language-trigger{min-height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;padding:6px 4px;display:inline-flex}.language-trigger:hover,.language-trigger[aria-expanded=true]{color:var(--color-primary)}.language-caret{flex-shrink:0;width:10px;height:6px;transition:transform .15s}.language-trigger[aria-expanded=true] .language-caret{transform:rotate(180deg)}.language-menu{z-index:30;border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;min-width:100%;animation:.14s ease-out language-menu-auf;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 16px #0000001f}@keyframes language-menu-auf{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.language-menu{animation:none}.language-caret{transition:none}}.language-menu-item{min-height:40px;color:var(--color-text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:.85rem;display:flex}.language-menu-item:hover{background:var(--color-primary-tint);color:var(--color-primary)}.language-flag{flex-shrink:0;width:22px;height:auto}.language-trigger:focus-visible,.language-menu-item:focus-visible{outline:2px solid var(--color-action-light);outline-offset:2px}.home-links{flex-direction:column;gap:12px;margin-top:24px;display:flex}.button{text-align:center;background:var(--color-action);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border:none;border-radius:0;padding:13px 24px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-block}.button:hover{background:var(--color-action-dark)}.button-secondary{background:var(--color-action-light);color:#fff}.button-secondary:hover{background:var(--color-action)}.button-primary{background:var(--color-primary)}.button-primary:hover{background:var(--color-primary-dark)}.button:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.field{margin-bottom:20px}.field label{margin-bottom:6px;font-weight:600;display:block}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);resize:vertical;background:#fff;padding:10px 12px;font-family:inherit;font-size:1rem;line-height:1.3;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:.85}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--color-bg);color:var(--color-muted);cursor:not-allowed}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236f6f6f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5.5 8 10 12.5 14.5 8'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:34px}input[type=date],input[type=time]{cursor:pointer}.password-field{position:relative}.password-field input{padding-right:44px!important}.password-toggle{width:40px;color:var(--color-muted);cursor:pointer;border-radius:0 var(--radius) var(--radius) 0;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.password-toggle:hover{color:var(--color-text)}.password-toggle:focus-visible{color:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-primary-tint);outline:none}.detected-table{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 12px;font-weight:600}.radio-group{gap:16px;display:flex}.radio-group label{cursor:pointer;align-items:center;gap:6px;font-weight:500;display:flex}.checkbox-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.checkbox-list label{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.error-text{color:var(--color-primary-dark);margin-top:6px;font-size:.9rem}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.success-box{text-align:center;padding:32px 16px}.success-box h2{color:var(--color-accent)}table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 12px;font-size:.95rem}th{background:var(--color-bg);font-weight:600}tr:last-child td{border-bottom:none}.badge{background:var(--color-accent);color:#fff;border-radius:999px;margin:2px 4px 2px 0;padding:2px 8px;font-size:.75rem;display:inline-block}.tabs{z-index:10;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;margin-bottom:20px;padding-top:2px;display:flex;position:sticky;top:0}.tab{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:.95rem;font-weight:600}.tab:hover{color:var(--color-text)}.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-count{border-radius:var(--radius-pill);background:var(--color-border);min-width:18px;color:var(--color-text);margin-left:6px;padding:1px 5px;font-size:.7rem;font-weight:700;display:inline-block}.tab-active .tab-count{background:var(--color-primary);color:#fff}.room-bar{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.room-bar-label{font-size:.95rem;font-weight:700}.link-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:700;text-decoration:underline}.user-badge{color:var(--color-muted);white-space:nowrap;font-size:.85rem}.action-group-title{text-transform:uppercase;letter-spacing:.09em;color:var(--color-muted);margin:26px 0 8px;font-size:.75rem;font-weight:700}.action-list{flex-direction:column;gap:10px;display:flex}.action-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);color:var(--color-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;display:flex}.action-card:hover{border-color:var(--color-primary);border-left-color:var(--color-primary-dark);background:var(--color-primary-tint)}.action-card-body{flex-direction:column;gap:2px;display:flex}.action-card-title{font-size:1.05rem;font-weight:700}.action-card-description{color:var(--color-muted);font-size:.85rem}.action-status{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:4px 10px;font-size:.72rem;font-weight:700}.action-status-open{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-muted)}.action-status-done{background:var(--color-success);color:#fff}.login-hint{color:var(--color-muted);margin:-8px 0 16px;font-size:.85rem}.field-note{color:var(--color-muted);margin:0 0 16px;font-size:.85rem}.summary-tile-issue{border-top-color:var(--color-primary)}.declined-rooms{color:var(--color-muted);font-size:.9rem}.kitchen-menu{font-size:.95rem;line-height:1.7}.kitchen-menu-title{margin-bottom:6px;display:block}.row-total td{background:var(--color-bg);border-top:2px solid var(--color-border);font-weight:700}.summary-bar{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.summary-tile{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--color-border);border-radius:var(--radius);text-align:center;padding:14px}.summary-tile-cleaning{border-top-color:var(--color-warning)}.summary-tile-lunch{border-top-color:var(--color-accent)}.summary-tile .value{color:var(--color-primary);font-size:1.6rem;font-weight:700}.summary-tile .label{color:var(--color-muted);font-size:.8rem}.summary-tile-sub{color:var(--color-muted);border-top:1px solid var(--color-border);margin-top:6px;padding-top:6px;font-size:.75rem}.empty-hint{color:var(--color-muted);padding:8px 0;font-size:.9rem}.table-scroll{overflow-x:auto}.cell-room{font-weight:600}.cell-muted{color:var(--color-muted);font-size:.85rem}.row-flagged td:first-child{box-shadow:inset 3px 0 0 var(--color-warning)}.lunch-cell{flex-direction:column;gap:2px;display:flex}.lunch-primary{font-size:.95rem}.lunch-secondary{color:var(--color-muted);font-size:.78rem}.connection-banner{background:var(--color-primary-tint);color:var(--color-primary-dark);border-radius:var(--radius);border:1px solid #bf1b3e40;margin-bottom:16px;padding:10px 14px;font-size:.9rem}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px;display:grid}.qr-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:16px;display:flex}.qr-card-brand{flex-direction:column;align-items:center;line-height:1.2;display:flex}.qr-card-stars{color:var(--color-primary);letter-spacing:2px;font-size:.7rem}.qr-card-name{text-transform:uppercase;letter-spacing:1px;color:var(--color-muted);font-size:.72rem}.qr-card-room{color:var(--color-text);margin:0;font-size:1.5rem;font-weight:700}.qr-card-hint{color:var(--color-muted);max-width:22ch;margin:0;font-size:.75rem}.sheet-hint{color:var(--color-muted);margin:0;font-size:.85rem}.back-link{color:var(--color-muted);margin-bottom:12px;padding:4px 0;font-size:.9rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-primary)}.section-title{margin:28px 0 12px;font-size:1.1rem}.rating-input{gap:6px;display:flex}.rating-input .star{cursor:pointer;color:var(--color-border);background:0 0;border:none;padding:0;font-size:1.8rem;line-height:1}.rating-input .star.filled{color:var(--color-primary)}.feedback-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feedback-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px}.feedback-meta{color:var(--color-muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.feedback-meta .stars{color:var(--color-primary);letter-spacing:1px}.feedback-message{margin:8px 0 0}.category-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.02em;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.category-badge-rating{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-muted)}.category-badge-issue{background:var(--color-warning);color:#fff}.category-badge-suggestion{background:var(--color-accent);color:#fff}.feedback-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.button-small{padding:7px 14px;font-size:.72rem}.resolved-note{color:var(--color-success);font-size:.82rem;font-weight:700}.feedback-item-resolved{opacity:.62}.feedback-item-resolved .feedback-message{text-decoration:line-through;-webkit-text-decoration-color:var(--color-muted);text-decoration-color:var(--color-muted)}.toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.toolbar-field{flex-direction:column;gap:4px;display:flex}.toolbar-field label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.72rem;font-weight:700}.preset-group{display:flex}.preset-button{border:1px solid var(--color-border);background:var(--color-surface);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);cursor:pointer;border-right:none;padding:9px 14px;font-size:.78rem;font-weight:700}.preset-button:last-child{border-right:1px solid var(--color-border)}.preset-button.active{background:var(--color-action);border-color:var(--color-action);color:#fff}.share-bar{background:var(--color-border);vertical-align:middle;width:90px;height:7px;margin-right:8px;display:inline-block}.share-bar-fill{background:var(--color-accent);height:100%;display:block}.share-value{font-variant-numeric:tabular-nums;color:var(--color-muted);font-size:.85rem}.settings-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:24px;display:grid}.settings-nav{border-left:2px solid var(--color-border);flex-direction:column;gap:2px;display:flex}.settings-nav-item{text-align:left;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;margin-left:-2px;padding:9px 14px;font-size:.9rem;font-weight:600}.settings-nav-item:hover{color:var(--color-text)}.settings-nav-item.active{border-left-color:var(--color-primary);color:var(--color-primary)}.settings-content{min-width:0}@media (width<=760px){.settings-layout{grid-template-columns:1fr;gap:16px}.settings-nav{border-left:none;border-bottom:1px solid var(--color-border);flex-flow:wrap;padding-bottom:2px}.settings-nav-item{border-bottom:2px solid #0000;border-left:none;margin-bottom:-2px;margin-left:0;padding:9px 12px}.settings-nav-item.active{border-left-color:#0000;border-bottom-color:var(--color-primary)}}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:8px;display:grid}.settings-grid .field{min-width:0;margin-bottom:0}.field-hint{color:var(--color-muted);margin-top:5px;font-size:.8rem;display:block}.settings-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.form-intro{color:var(--color-muted);margin:-8px 0 16px;font-size:.92rem}.cleaning-note{color:var(--color-muted);margin-top:4px;font-size:.85rem;font-style:italic;display:block}.option-list{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.option-row{border:1px solid var(--color-border);border-left:3px solid var(--color-success);background:var(--color-surface);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.option-row-inactive{border-left-color:var(--color-border);opacity:.6}.option-labels{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:0;display:flex}.option-label-de{color:var(--color-text);font-size:.92rem;font-weight:600}.option-label-en{color:var(--color-muted);font-size:.78rem}.option-edit-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.option-edit-form input{flex:1;min-width:150px}.room-add-form,.user-add-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.room-add-form .field input,.user-add-form .field input,.user-add-form .field select{min-width:120px}.user-edit-form{flex-wrap:wrap;align-items:flex-end;gap:10px;width:100%;padding:10px 0;display:flex}.user-edit-form .field{flex:140px;min-width:0}.user-edit-actions{align-items:center;gap:12px;display:flex}.user-self-badge{color:var(--color-muted);font-weight:400}.form-divider{border:none;border-top:1px solid var(--color-border);margin:20px 0}.room-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-chip{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-success);justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.room-chip-inactive{border-left-color:var(--color-border);opacity:.6}.room-chip-number{font-variant-numeric:tabular-nums;font-weight:700}.room-chip-actions{align-items:center;gap:4px;display:flex}.room-chip-button{border:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;padding:3px 7px;font-size:.62rem;font-weight:700}.room-chip-button:hover{border-color:var(--color-action);color:var(--color-text)}.room-chip-delete{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.05rem;line-height:1}.room-chip-delete:hover{color:var(--color-primary-dark)}.feedback-item-negative{background:var(--color-primary-tint);box-shadow:inset 3px 0 0 var(--color-primary-dark);border-color:#bf1b3e40}.menu-dishes{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);margin:8px 0 12px;padding:10px 12px;font-size:.9rem;line-height:1.5}.readout-value{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);padding:10px 12px;font-weight:600}.dish-manager,.menu-planner{margin-bottom:20px}.dish-column h3{margin:0 0 8px;font-size:.95rem}.dish-list{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.dish-row{align-items:center;gap:6px;display:flex}.dish-row-name{overflow-wrap:anywhere;text-align:left;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;flex:1;min-width:0;padding:8px 10px;font-size:.9rem}.dish-row-input{border-color:var(--color-primary);flex:1}.dish-row-delete{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:32px;height:32px;color:var(--color-muted);border-radius:50%;font-size:1.1rem;line-height:1}.dish-row-delete:hover{color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.dish-empty{color:var(--color-muted);padding:4px 0;font-size:.85rem}.dish-add-form{flex-direction:column;gap:6px;display:flex}.dish-add-form input{min-width:0}.planner-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.planner-nav{gap:8px;display:flex}.planner-days{flex-direction:column;gap:14px;display:flex}.planner-day{border:1px solid var(--color-border);border-left:3px solid var(--color-border);padding:12px 14px}.planner-day-today{border-left-color:var(--color-primary);background:var(--color-bg)}.planner-day-heading{align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem;font-weight:700;display:flex}.planner-courses{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.dish-slot-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:4px;font-size:.72rem;font-weight:700;display:block}.dish-columns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;display:grid}.dish-column{min-width:0}.menu-preview{background:var(--color-bg);border-left:3px solid var(--color-primary);margin-bottom:20px;padding:12px 14px}.menu-preview-title{margin:0 0 4px;font-size:.95rem;font-weight:700}.menu-display{flex-direction:column;gap:4px;margin:8px 0 0;display:flex}.menu-course{border-bottom:1px solid var(--color-border);grid-template-columns:130px 1fr;align-items:baseline;gap:10px;padding:4px 0;display:grid}.menu-course:last-child{border-bottom:none}.menu-course dt{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.72rem;font-weight:700}.menu-course dd{margin:0;font-size:.95rem}.today-badge{background:var(--color-primary);color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.dish-slot select{font-size:.85rem}.dish-slot input[type=text]{border-color:var(--color-primary);margin-top:4px;font-size:.85rem}.sheet{background:var(--color-surface);max-width:210mm;color:var(--color-text);min-height:100vh;margin:0 auto;padding:16mm 15mm}.sheet-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:14px;display:flex}.sheet-header{border-bottom:2px solid var(--color-primary);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;padding-bottom:10px;display:flex}.sheet-title{margin:0;font-size:1.6rem;font-weight:800}.sheet-date{color:var(--color-muted);margin:2px 0 0;font-size:1rem}.sheet-brand{justify-items:center;line-height:1;display:grid}.sheet-brand-stars{letter-spacing:.25em;color:var(--color-muted);padding-left:.25em;font-size:.45rem}.sheet-brand-name{font-family:var(--font-script);color:var(--color-primary);font-size:1.7rem;font-weight:700}.sheet-brand-place{letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);padding-left:.3em;font-size:.5rem}.sheet-table{border-collapse:collapse;border:1px solid #999;border-radius:0;width:100%}.sheet-table th,.sheet-table td{vertical-align:top;background:0 0;border:1px solid #999;padding:6px 8px;font-size:.9rem}.sheet-table th{background:var(--color-bg);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.sheet-table tbody tr{height:17mm}.sheet-table .col-room{font-variant-numeric:tabular-nums;width:18mm;font-size:1.05rem;font-weight:700}.sheet-table .col-tasks{width:78mm}.sheet-table .col-done{width:20mm}.sheet-table .col-note{width:auto}.sheet-tasks{margin:0;padding-left:16px;line-height:1.45}.sheet-guest-note{margin:4px 0 0;font-size:.82rem;font-style:italic}.sheet-muted{color:var(--color-muted);font-size:.85rem}.sheet-empty{color:var(--color-muted);padding:20px 0}.sheet-footer{color:var(--color-muted);justify-content:space-between;gap:20px;margin-top:14px;font-size:.82rem;display:flex}.laundry-chip-group{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px;display:grid}.laundry-chip-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.laundry-chip-row .laundry-chip{min-height:44px;padding:6px 18px}.laundry-chip{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:48px;color:var(--color-text);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.88rem;display:flex}.laundry-chip:hover{border-color:var(--color-action-light)}.laundry-chip:focus,.laundry-chip-step:focus{outline:none}.laundry-chip:focus-visible,.laundry-chip-step:focus-visible{outline:2px solid var(--color-action-light);outline-offset:2px}.laundry-chip-group .laundry-chip{container-type:inline-size}.laundry-chip-active{border-color:var(--color-primary);background:var(--color-primary-tint);cursor:default;padding:6px 6px 6px 12px}.laundry-chip-active .laundry-chip-price{display:none}@container (width>=280px){.laundry-chip-active .laundry-chip-price{display:inline}}.laundry-chip-selected{border-color:var(--color-primary);background:var(--color-primary-tint);color:var(--color-primary);justify-content:center;font-weight:600}.laundry-chip-label{min-width:0;font-weight:500;line-height:1.25}.laundry-chip-price{color:var(--color-muted);flex-shrink:0;margin-left:auto;font-size:.78rem}.laundry-chip-stepper{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:inline-flex}.laundry-chip-count{text-align:center;font-variant-numeric:tabular-nums;min-width:18px;font-weight:700}.laundry-chip-step{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:30px;height:30px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.05rem;line-height:1;display:inline-flex}.laundry-chip-step:hover{border-color:var(--color-primary);color:var(--color-primary)}.laundry-chip-step:disabled{opacity:.4;cursor:default}.laundry-bar{z-index:20;border-top:1px solid var(--color-border);background:var(--color-surface);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000014}.laundry-bar-inner{width:100%;max-width:640px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;margin:0 auto;padding:14px 24px;font-family:inherit;font-size:.95rem;display:flex}.laundry-bar-amount{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.laundry-bar-link{color:var(--color-primary);font-size:.85rem;font-weight:600;text-decoration:underline}.page-with-bar{padding-bottom:96px}.laundry-total-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:8px;font-size:.8rem;display:block}.laundry-total-empty{color:var(--color-muted);margin:0;font-size:.9rem}.laundry-total-row{justify-content:space-between;gap:12px;padding:3px 0;font-size:.9rem;display:flex}.laundry-total-value{font-variant-numeric:tabular-nums;white-space:nowrap}.laundry-total-sum{border-top:1px solid var(--color-border);margin-top:6px;padding-top:8px;font-size:1rem;font-weight:700}.checkbox-inline{cursor:pointer;align-items:flex-start;gap:8px;font-weight:400;display:flex}.laundry-history{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.laundry-history-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;font-size:.9rem;display:flex}.laundry-history-date{font-weight:600}.laundry-history-total{font-variant-numeric:tabular-nums;margin-left:auto}.laundry-summary{text-align:left;margin:12px 0}.laundry-summary-items{margin:0 0 8px;padding:0;list-style:none}.laundry-summary-items li{align-items:baseline;gap:8px;padding:3px 0;font-size:.9rem;display:flex}.laundry-summary-quantity{font-variant-numeric:tabular-nums;min-width:34px;font-weight:700}.laundry-summary-label{flex:1;min-width:0}.laundry-summary-price{color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.laundry-summary-facts{color:var(--color-muted);border-top:1px solid var(--color-border);flex-wrap:wrap;gap:6px 12px;padding-top:8px;font-size:.82rem;display:flex}.laundry-summary-note{color:var(--color-muted);margin:8px 0 0;font-size:.85rem;font-style:italic}.summary-tile-laundry{border-top-color:var(--color-success)}.laundry-order-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.laundry-order{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:var(--radius);padding:14px}.laundry-order-open{border-left-color:var(--color-warning)}.laundry-order-collected{border-left-color:var(--color-accent)}.laundry-order-returned{border-left-color:var(--color-success);opacity:.75}.laundry-order-head{flex-wrap:wrap;align-items:center;gap:10px;font-size:.85rem;display:flex}.laundry-order-total{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.badge-status-open{background:var(--color-warning)}.badge-status-collected{background:var(--color-action)}.badge-status-returned{background:var(--color-success)}.laundry-edit-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.laundry-edit-form input{flex:1;min-width:160px}.laundry-edit-form select{flex:none;width:auto}.laundry-edit-form .laundry-price-input{text-align:right;flex:0 0 84px;min-width:84px}.laundry-item-price{font-variant-numeric:tabular-nums;color:var(--color-muted);white-space:nowrap;font-size:.9rem}.settings-subtitle{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin:18px 0 8px;font-size:.85rem}@media print{@page{size:A4 portrait;margin:12mm}body{background:#fff}.no-print{display:none!important}.sheet{max-width:none;min-height:0;margin:0;padding:0}.sheet-table thead{display:table-header-group}.sheet-table tr{break-inside:avoid}.qr-grid{grid-template-columns:repeat(2,1fr);gap:0}.qr-card{break-inside:avoid;border:1px dashed #999;border-radius:0;padding:10mm 6mm}}
