:root{--bg:#f7f6f3;--surface:#fff;--text:#1f2430;--text-muted:#6b7280;--accent:#c0392b;--accent-soft:#fdecea;--danger:#b3261e;--border:#e6e4df;--shadow:0 2px 8px #0000000f;--radius:14px;--sans:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}@media (prefers-color-scheme:dark){:root{--bg:#14161a;--surface:#1d2026;--text:#f0f1f3;--text-muted:#9aa1ac;--accent:#ff6b5b;--accent-soft:#ff6b5b1f;--danger:#ff8a80;--border:#2c2f37;--shadow:0 2px 10px #0006}}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2{color:var(--text);line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:inherit}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:0}.account-nav{gap:8px;display:flex}.brand{align-items:center;gap:8px;font-size:1.2rem;font-weight:700;display:inline-flex}.brand-icon{font-size:1.4rem}.brand-name{letter-spacing:-.5px}.app-main{flex:1;width:100%}.page{max-width:760px;margin:0 auto;padding:28px 20px 60px}.app-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:18px 20px;font-size:.85rem}.hero h1{letter-spacing:-.5px;margin:0 0 8px;font-size:2rem}.subtitle{color:var(--text-muted);margin:0}.muted{color:var(--text-muted)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:6px;padding:20px;transition:transform .12s,border-color .12s;display:flex}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-logo{font-size:2rem}.card-title{font-size:1.1rem;font-weight:600}.card-desc{color:var(--text-muted);font-size:.9rem}.menu-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.menu-logo{font-size:2.4rem;display:block}.menu-head h1{margin:6px 0 4px;font-size:1.8rem}.menu-category{margin-bottom:28px}.category-title{border-bottom:2px solid var(--accent);margin-bottom:12px;padding-bottom:6px;font-size:1.25rem;display:inline-block}.item-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.menu-item{border-radius:10px;align-items:flex-start;gap:16px;padding:12px;display:flex}.menu-item:hover{background:var(--surface)}.menu-item-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.menu-item-name{font-weight:600}.menu-item-desc{color:var(--text-muted);font-size:.9rem}.menu-item-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tag{text-transform:uppercase;letter-spacing:.4px;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 8px;font-size:.72rem}.menu-item-price{white-space:nowrap;flex:none;font-weight:700}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{filter:brightness(1.05)}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.alert{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:10px;margin:12px 0;padding:14px 16px}.qr-page{text-align:center}.qr-box{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin:20px auto;padding:20px;display:inline-flex}.qr-url{word-break:break-all;font-size:.85rem}.qr-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:16px 0 24px;display:flex}.btn-small{padding:6px 12px;font-size:.85rem}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn:disabled{opacity:.45;cursor:not-allowed}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.hero-cta{margin-top:16px}.form{flex-direction:column;gap:14px;margin:16px 0;display:flex}.form-inline{flex-flow:wrap;align-items:flex-end}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.field input{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:.98rem}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px}.field-grow{flex:1;min-width:200px}.field-logo{flex:none;width:76px}.field-logo input{text-align:center;font-size:1.3rem}.field-price{flex:none;width:120px}.auth-page{max-width:460px}.auth-tabs{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:6px;margin-bottom:24px;padding:5px;display:flex}.auth-tab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:9px 10px;font-size:.88rem;font-weight:600}.auth-tab.is-active{background:var(--accent);color:#fff}.auth-switch{text-align:center;font-size:.9rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:20px 0;padding:18px 20px}.panel-title{margin:0;font-size:1.05rem}.restaurant-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.restaurant-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.restaurant-logo{font-size:1.9rem}.restaurant-main{flex-direction:column;flex:1;min-width:160px;display:flex}.restaurant-name{font-weight:600}.restaurant-slug{font-size:.82rem}.restaurant-actions{flex-wrap:wrap;gap:8px;display:flex}.category-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.category-actions{flex-wrap:wrap;gap:6px;display:flex}.editor-dish-list{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.editor-dish{background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px;display:flex}.editor-dish-main{flex-direction:column;flex:1;gap:3px;min-width:180px;display:flex}.editor-dish-actions{flex-wrap:wrap;gap:6px;display:flex}.dish-form{width:100%}.dish-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.dish-form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.is-unavailable .menu-item-name,.menu-item-name.is-unavailable{color:var(--text-muted);text-decoration:line-through}.tag-muted{color:var(--text-muted);background:var(--border)}.menu-cover{aspect-ratio:16/7;object-fit:cover;border-radius:var(--radius);background:var(--surface);width:100%;margin-bottom:20px;display:block}.card-cover{aspect-ratio:3/2;object-fit:cover;background:var(--surface);border-radius:10px;width:100%}.menu-item-photo,.drink-item-photo,.editor-dish-photo,.restaurant-cover{object-fit:cover;background:var(--surface);border-radius:10px;flex:none}.menu-item-photo{width:72px;height:72px}.drink-item-photo{width:56px;height:56px}.editor-dish-photo{width:48px;height:48px}.restaurant-cover{width:56px;height:56px}.drink-item.has-photo{grid-template-columns:max-content 1fr max-content}.drink-item-photo{align-self:start}.photo-field-row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.photo-preview{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-preview-thumb{width:84px;height:84px}.photo-preview-cover{aspect-ratio:16/7;width:180px;height:auto}.photo-preview-empty{opacity:.45;font-size:1.6rem}.photo-field-actions{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:200px;display:flex}.photo-pick{cursor:pointer}.photo-pick input[type=file]{display:none}.photo-hint{flex-basis:100%;font-size:.78rem}.menu-jump{font-family:var(--sans);flex-wrap:wrap;gap:8px;margin:-8px 0 24px;display:flex}.menu-jump-back{justify-content:center;margin:22px 0 0}#piatti,.menu-drinks{scroll-margin-top:116px}.menu-drinks{font-family:var(--serif);border-top:1px solid var(--border);margin-top:44px;padding-top:26px}.menu-drinks-title{text-align:center;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin:0 0 22px;font-size:.95rem;font-weight:600}.drink-category{margin-bottom:26px}.drink-category-title{letter-spacing:.03em;margin:0 0 8px;font-size:1.1rem;font-weight:600}.drink-list{margin:0;padding:0;list-style:none}.drink-item{grid-template-columns:1fr max-content;align-items:baseline;column-gap:14px;padding:9px 4px;display:grid}.drink-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.drink-name-row{align-items:baseline;gap:8px;display:flex}.drink-leader{min-width:0;color:var(--text-muted);opacity:.5;border-bottom:1px dotted;flex:auto;transform:translateY(-.25em)}.drink-meta{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.8rem}.drink-prices{flex-direction:column;align-items:flex-end;min-width:96px;display:flex}.drink-price{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.drink-price-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.7rem;font-weight:600}@media (width<=380px){.drink-leader{display:none}}.editor-dish-prices{flex-direction:column;align-items:flex-end;display:flex}.category-hint{margin:4px 0 0;font-size:.88rem}.field select{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:.98rem}.field select:focus{outline:2px solid var(--accent);outline-offset:-1px}.field-kind{flex:none;width:220px}.field-measure{flex:none;width:150px}.kind-select{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 10px;font-family:inherit;font-size:.85rem}.dish-form-details>summary{color:var(--text-muted);cursor:pointer;margin-bottom:10px;font-size:.85rem;font-weight:600}.dish-form-hint{margin:4px 0 0;font-size:.82rem}
