:root{color:#1f2933;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f5ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:0;border-radius:8px;padding:.6rem .9rem;background:#256f5b;color:#fff;cursor:pointer;font-weight:700;text-decoration:none}button:hover,.button:hover{background:#1d5b4a}button.secondary,.button.secondary{border:1px solid #ccd2d8;background:#fff;color:#22313f}button.secondary:hover,.button.secondary:hover{background:#eef2f4}button.danger{background:#bb3e35}button.danger:hover{background:#9f3029}button.icon{width:42px;min-width:42px;padding:0}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;min-height:42px;border:1px solid #ccd2d8;border-radius:8px;padding:.58rem .7rem;background:#fff;color:#1f2933}textarea{min-height:78px;resize:vertical}label{display:grid;gap:.35rem;color:#52606d;font-size:.92rem;font-weight:700}fieldset{min-width:0;margin:0;border:0;padding:0}legend{margin-bottom:.45rem;color:#52606d;font-weight:800}main{width:min(100%,960px);margin:0 auto;padding:1rem}.app-shell{min-height:100vh}.topbar{position:sticky;z-index:10;top:0;border-bottom:1px solid #e2ded5;background:#f7f5eff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-inner{display:flex;width:min(100%,960px);min-height:56px;align-items:center;justify-content:space-between;gap:.75rem;margin:0 auto;padding:.65rem 1rem}.brand{color:#1f2933;font-weight:900;text-decoration:none;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:.45rem}.nav-links a,.nav-links button{min-height:36px;border-radius:8px;padding:.45rem .62rem;background:transparent;color:#3e4c59;font-size:.92rem;font-weight:800;text-decoration:none}.nav-links a:hover,.nav-links button:hover{background:#e9e2d5}.nav-links form{margin:0}.theme-toggle{width:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #d7d2c8;background:#fffdf8;color:#3e4c59;font-size:1.15rem;line-height:1}.theme-toggle:hover{background:#e9e2d5}.guest-toolbar{display:flex;width:min(100%,960px);justify-content:flex-end;margin:0 auto;padding:.75rem 1rem 0}:focus-visible{outline:3px solid #58a58c;outline-offset:2px}.page-header{display:grid;gap:.4rem;margin:.35rem 0 1rem}.page-header h1{margin:0;color:#17212b;font-size:clamp(1.7rem,8vw,3rem);line-height:1.05}.page-header p{margin:0;color:#616e7c}.toolbar{display:flex;flex-wrap:wrap;gap:.55rem}.today-list-link{gap:.4rem}.today-count-badge{display:inline-flex;min-width:22px;min-height:22px;align-items:center;justify-content:center;border-radius:999px;padding:0 .35rem;background:#256f5b;color:#fff;font-size:.78rem;line-height:1}.grid{display:grid;gap:.85rem}.two-column{display:grid;gap:1rem}.menu-board{display:grid;gap:.75rem}.menu-filter{position:sticky;z-index:8;top:64px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;border:1px solid #e1ddd3;border-radius:8px;padding:.35rem;background:#fffdf8f5;box-shadow:0 8px 22px #2d37480f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu-filter button{min-height:42px;gap:.4rem;border:1px solid transparent;background:transparent;color:#3e4c59}.menu-filter button:hover{background:#f0ece2}.menu-filter button.active{background:#256f5b;color:#fff}.menu-filter button.active:hover{background:#1d5b4a}.menu-filter span{display:inline-flex;min-width:24px;min-height:24px;align-items:center;justify-content:center;border-radius:999px;padding:0 .35rem;background:#ffffff38;font-size:.78rem}.menu-filter button:not(.active) span{background:#e8efe9;color:#256f5b}.menu-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.menu-summary h2{margin:0;color:#17212b;font-size:1.12rem;line-height:1.25}.dish-list{display:grid;gap:.5rem}.dish-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:start;gap:.5rem;border:1px solid #e1ddd3;border-radius:8px;padding:.55rem;background:#fffdf8;box-shadow:0 6px 18px #2d37480d}.dish-row.expanded{border-color:#9db8ad;box-shadow:0 8px 22px #256f5b1f}.dish-main{display:grid;min-width:0;min-height:42px;justify-items:start;gap:.18rem;border-radius:6px;padding:.25rem .35rem;background:transparent;color:#1f2933;text-align:left}.dish-main:hover{background:#f4f1e8}.dish-name{overflow-wrap:anywhere;color:#17212b;font-weight:900;line-height:1.25}.dish-meta,.dish-note{overflow-wrap:anywhere;font-size:.84rem;line-height:1.35}.dish-meta{color:#52606d;font-weight:800}.dish-note{color:#7b8794}.quick-add{margin:0}.quick-add-button{font-size:1.35rem;line-height:1}.dish-options{display:grid;grid-column:1 / -1;gap:.7rem;border-top:1px solid #ebe6dc;padding-top:.7rem}.dish-options button[type=submit]{width:100%}.method-list.compact .method-option span{min-height:36px;padding:.45rem .65rem}.card{border:1px solid #e1ddd3;border-radius:8px;background:#fffdf8;box-shadow:0 8px 22px #2d37480f}.card-body{display:grid;gap:.75rem;padding:.9rem}.card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.card-title h2,.card-title h3{margin:0;color:#17212b;font-size:1.12rem;line-height:1.25}.muted{color:#7b8794}.badge{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:.2rem .55rem;background:#e8efe9;color:#256f5b;font-size:.8rem;font-weight:900;white-space:nowrap}.badge.warn{background:#f8e8d0;color:#8d4f19}.badge.off{background:#edf0f2;color:#616e7c}.form-grid,.form-row{display:grid;gap:.75rem}.inline-form{display:flex;gap:.5rem}.inline-form input{min-width:0}.actions{display:flex;flex-wrap:wrap;gap:.5rem}.status-message{border-radius:8px;padding:.75rem .85rem;background:#e8efe9;color:#1d5b4a;font-weight:800}.status-message.error{background:#ffe8e4;color:#9f3029}.empty-state{border:1px dashed #c9c3b8;border-radius:8px;padding:1.2rem;background:#fffdf8;color:#616e7c;text-align:center}.quantity-control{display:grid;grid-template-columns:42px minmax(44px,1fr) 42px;align-items:center;overflow:hidden;width:140px;border:1px solid #ccd2d8;border-radius:8px;background:#fff}.quantity-control form{margin:0}.quantity-control button{border-radius:0;background:#fff;color:#22313f}.quantity-control strong{text-align:center}.method-list{display:flex;flex-wrap:wrap;gap:.45rem}.method-option{position:relative}.method-option input{position:absolute;opacity:0;pointer-events:none}.method-option span{display:inline-flex;min-height:42px;align-items:center;border:1px solid #ccd2d8;border-radius:8px;padding:.55rem .8rem;background:#fff;color:#22313f;font-weight:800}.method-option input:checked+span{border-color:#256f5b;background:#e8efe9;color:#1d5b4a}.admin-dish{display:grid;gap:.85rem}.checkbox-label{display:flex;min-height:42px;align-items:center;gap:.55rem;border:1px solid #ccd2d8;border-radius:8px;padding:.58rem .7rem;background:#fff;color:#22313f}.checkbox-label input{width:20px;min-height:20px}.dish-admin-list{margin-top:1rem}.method-admin{display:grid;gap:.65rem;border-top:1px solid #ebe6dc;padding-top:.85rem}.method-admin h3{margin:0}.method-item{display:grid;gap:.5rem;border:1px solid #ebe6dc;border-radius:8px;padding:.65rem;background:#fff}.admin-method{display:grid;gap:.5rem}.add-method-form{align-items:end}.add-method-form input[type=number]{width:86px;flex:0 0 86px}@media(max-width:400px){.topbar-inner{padding-inline:.75rem}.brand{display:none}.nav-links{width:100%;justify-content:space-between;gap:.2rem}.nav-links a,.nav-links button{padding-inline:.45rem}}@media(min-width:720px){main{padding:1.5rem}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dish-list,.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-method{grid-template-columns:minmax(0,1fr) 96px auto;align-items:end}.method-item{grid-template-columns:minmax(0,1fr) auto;align-items:end}}html[data-theme=dark]{color:#dfe8e3;color-scheme:dark;background:#121715}html[data-theme=dark] button,html[data-theme=dark] .button{background:#32856d}html[data-theme=dark] button:hover,html[data-theme=dark] .button:hover{background:#3c987d}html[data-theme=dark] button.secondary,html[data-theme=dark] .button.secondary,html[data-theme=dark] .theme-toggle{border-color:#46534f;background:#222b28;color:#e2e9e5}html[data-theme=dark] button.secondary:hover,html[data-theme=dark] .button.secondary:hover,html[data-theme=dark] .theme-toggle:hover{background:#303b37}html[data-theme=dark] button.danger{background:#a9443d}html[data-theme=dark] button.danger:hover{background:#bf5148}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{border-color:#46534f;background:#1b2320;color:#edf2ef}html[data-theme=dark] label,html[data-theme=dark] legend,html[data-theme=dark] .dish-meta{color:#adb9b3}html[data-theme=dark] .topbar{border-color:#333d39;background:#121715f0}html[data-theme=dark] .brand,html[data-theme=dark] .page-header h1,html[data-theme=dark] .menu-summary h2,html[data-theme=dark] .dish-name,html[data-theme=dark] .card-title h2,html[data-theme=dark] .card-title h3,html[data-theme=dark] .table-open-button{color:#f2f5f3}html[data-theme=dark] .nav-links a,html[data-theme=dark] .nav-links button{color:#c6d0cb}html[data-theme=dark] .nav-links a:hover,html[data-theme=dark] .nav-links button:hover{background:#2a3430}html[data-theme=dark] .page-header p,html[data-theme=dark] .muted,html[data-theme=dark] .dish-note,html[data-theme=dark] .table-open-button small{color:#95a29c}html[data-theme=dark] .menu-filter{border-color:#3a4541;background:#1b2320f0;box-shadow:0 8px 22px #00000038}html[data-theme=dark] .menu-filter button{background:transparent;color:#c6d0cb}html[data-theme=dark] .menu-filter button:hover,html[data-theme=dark] .dish-main:hover{background:#2a3430}html[data-theme=dark] .menu-filter button.active{background:#32856d;color:#fff}html[data-theme=dark] .menu-filter button.active:hover{background:#3c987d}html[data-theme=dark] .menu-filter button:not(.active) span,html[data-theme=dark] .badge{background:#243b33;color:#79c2a8}html[data-theme=dark] .dish-row,html[data-theme=dark] .card,html[data-theme=dark] .empty-state{border-color:#3a4541;background:#1b2320;box-shadow:0 8px 22px #0003}html[data-theme=dark] .dish-row.expanded{border-color:#4e8b76;box-shadow:0 8px 22px #32856d33}html[data-theme=dark] .dish-main{background:transparent;color:#dfe8e3}html[data-theme=dark] .dish-options,html[data-theme=dark] .method-admin{border-color:#333d39}html[data-theme=dark] .badge.warn{background:#49351f;color:#edb875}html[data-theme=dark] .badge.off{background:#2b3330;color:#a4aea9}html[data-theme=dark] .status-message{background:#243b33;color:#8bd0b6}html[data-theme=dark] .status-message.error{background:#482824;color:#f3a29a}html[data-theme=dark] .empty-state{color:#9eaaa4}html[data-theme=dark] .quantity-control,html[data-theme=dark] .quantity-control button,html[data-theme=dark] .method-option span,html[data-theme=dark] .checkbox-label,html[data-theme=dark] .method-item,html[data-theme=dark] .admin-table-wrap{border-color:#46534f;background:#222b28;color:#e2e9e5}html[data-theme=dark] .quantity-control button:hover{background:#303b37}html[data-theme=dark] .method-option input:checked+span{border-color:#4fa486;background:#243b33;color:#8bd0b6}html[data-theme=dark] .admin-dish-table th{background:#222b28;color:#adb9b3}html[data-theme=dark] .admin-dish-table th,html[data-theme=dark] .admin-dish-table td{border-color:#333d39}html[data-theme=dark] .table-open-button:hover{background:transparent;color:#8bd0b6}html[data-theme=dark] .modal-scrim,html[data-theme=dark] .modal-scrim:hover{background:#000000a8}@media(prefers-reduced-motion:no-preference){html,button,input,select,textarea,.card,.dish-row,.topbar,.menu-filter{transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}}
