:root{color:#1f2933;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}.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(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}}
