:root{--bg:#f6f3ee;--ink:#1d1b18;--muted:#746f67;--line:#ddd4c8;--surface:#fffaf3;--accent:#28745c;--accent-ink:#fff;--danger:#a43d2f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}.shell,.preview,.admin-shell{width:min(1120px,100vw - 32px);margin:0 auto;padding:32px 0 72px}.admin-shell{position:relative}.shell--narrow{width:min(680px,100vw - 32px);padding-top:72px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(32px,6vw,56px);line-height:1}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-weight:800}.muted{color:var(--muted)}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button,button.button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;text-decoration:none;display:inline-flex}.button--primary,button.button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.text-link{color:var(--accent);margin-top:18px;display:block}.error-box{color:var(--danger);white-space:pre-wrap;background:#fff2f0;border:1px solid #e3b5ae;border-radius:8px;padding:14px;overflow:auto}.error-text{color:var(--danger);font-weight:800}.login-form{gap:14px;margin-top:18px;display:grid}.preview-header,.admin-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.admin-session-actions{justify-content:center;padding-top:6px;display:flex}.segmented,.source-tabs{flex-wrap:wrap;gap:8px;display:flex}.segmented button,.source-tabs button,.admin-source-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;min-height:38px;padding:0 12px}.segmented button.active,.source-tabs button.active,.admin-source-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.admin-source-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;margin-bottom:10px;display:grid}.admin-source-tabs button{color:#2a4e3c;background:#f2f6f4;border-color:#dfe9e3;min-height:42px;font-weight:800}.admin-source-subtabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.admin-source-subtabs button{color:#294b3b;cursor:pointer;background:#fff;border:1px solid #d8e5dd;border-radius:999px;min-height:36px;padding:0 16px;font-weight:800}.admin-source-subtabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.source-tabs{z-index:2;background:color-mix(in srgb, var(--bg) 92%, transparent);margin-bottom:20px;padding:10px 0;position:sticky;top:0}.menu-section{margin:28px 0}.menu-section h2{margin-bottom:12px;font-size:22px}.menu-section__note{color:var(--muted);margin-top:-4px;margin-bottom:14px;font-weight:700}.menu-section--special{border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);padding:18px 0}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.menu-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.menu-card--special{border-color:var(--accent)}.menu-card img{aspect-ratio:4/3;object-fit:cover;object-position:center center;background:#fff;width:100%;display:block}.menu-card__body{padding:14px}.menu-card h3{margin-bottom:8px;font-size:17px;line-height:1.25}.price{color:var(--accent);margin-bottom:0;font-weight:800}.pill{color:var(--accent);background:#e7f1ec;border-radius:999px;align-items:center;margin-bottom:8px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:18px;padding:18px}.form-grid,.translation-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px;display:grid}label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}input,select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.editable-select{gap:8px;display:grid}.editable-select .button{justify-self:start;min-height:36px}.editable-select__new{gap:8px;display:grid}.admin-list-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.admin-list-header h2{margin-bottom:0}.status-line{min-height:22px;color:var(--muted);margin-bottom:10px}.processing-indicator{min-height:22px;color:var(--accent);align-items:center;gap:8px;font-size:14px;font-weight:800;display:inline-flex}.processing-spinner{border:2px solid #c8ddd4;border-top-color:var(--accent);border-radius:999px;flex:none;width:16px;height:16px;animation:.8s linear infinite processing-spin}@keyframes processing-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.processing-spinner{animation:none}}.special-editor{gap:14px;display:grid}.special-summary{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.special-summary .button{justify-self:end}.special-summary h3{margin:0 0 4px;font-size:20px}.special-summary p{color:var(--muted);margin:0}.special-main-grid{grid-template-columns:minmax(240px,2fr) minmax(140px,1fr) minmax(100px,.5fr);gap:12px;display:grid}.special-actions{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:12px;padding:12px;display:grid}.file-control{min-width:0}.special-secondary-actions{flex-wrap:wrap;gap:10px;display:flex}.special-publish-button{min-width:150px}.photo-choice-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.photo-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.photo-choice-card{border:1px solid var(--line);background:#fbfaf7;border-radius:8px;align-content:start;gap:8px;min-width:0;padding:10px;display:grid}.photo-choice-card--selected{border-color:var(--accent);box-shadow:0 0 0 2px #c8ddd4}.photo-choice-card img{aspect-ratio:4/3;object-fit:contain;background:#fff;border-radius:6px;width:100%;display:block}.photo-choice-card strong{color:var(--ink);font-size:14px}.photo-choice-warning{color:var(--danger);margin:0;font-size:13px}.lunch-picker{gap:8px;display:grid}.lunch-option{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.lunch-option--starter{background:#f2f8ff;border-left:5px solid #2f80ed}.lunch-option--main{background:#fff7ed;border-left:5px solid #b05a1f}.lunch-option:hover{border-color:var(--accent)}.lunch-option strong,.lunch-option small{display:block}.lunch-option small{color:var(--muted);margin-top:4px;font-size:12px}.admin-table{gap:8px;display:grid}.admin-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid;position:relative}.admin-row--editing{align-items:start}.admin-row strong,.admin-row span{display:block}.admin-row-preview{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;display:grid}.admin-row-preview img,.admin-row-preview__placeholder{border:1px solid var(--line);background:#fff;border-radius:8px;width:64px;height:64px}.admin-row-preview img{object-fit:contain;object-position:center center;padding:4px;display:block}.admin-row span{color:var(--muted);margin-top:4px;font-size:13px}.admin-row-preview .pill{grid-column:2;justify-self:start;margin:0}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.toggle{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;min-width:96px;min-height:38px}.toggle--on{color:#fff;background:var(--accent);border-color:var(--accent)}.edit-card-button{border:1px solid var(--line);color:var(--accent);cursor:pointer;background:#fff;border-radius:8px;min-height:36px;padding:0 12px;font-weight:800}.edit-card-button--active,.edit-card-button:disabled{color:var(--accent);cursor:default;opacity:1;background:#edf6f2;border-color:#c8ddd4}.edit-card-button:hover{border-color:var(--accent);background:#f1faf6}.remove-card-button{border:1px solid var(--line);color:var(--danger);cursor:pointer;background:#fff;border-radius:8px;min-height:38px;padding:0 12px;font-weight:800}.remove-card-button:hover{background:#fff0f0;border-color:#e3b5ae}.item-edit-form{border:1px solid var(--line);background:#fff;border-radius:8px;grid-column:1/-1;gap:12px;margin-top:4px;padding:14px;display:grid}.item-edit-form__actions{justify-content:flex-end}@media (min-width:681px){.admin-header{padding-right:124px}.admin-session-actions{padding-top:0;position:absolute;top:32px;right:0}}@media (max-width:680px){.admin-source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-header,.admin-header,.admin-list-header,.admin-row,.lunch-option,.special-summary,.special-main-grid,.special-actions{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.special-summary .button{justify-self:start}.special-secondary-actions{grid-template-columns:1fr;display:grid}.photo-choice-grid{grid-template-columns:1fr}.admin-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:stretch;gap:12px;padding:12px}.admin-row-preview{order:1;grid-column:1/-1;padding-right:0}.admin-row-actions{order:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;width:100%;display:grid}.admin-row-actions>button{min-width:0}.edit-card-button{width:100%;min-height:42px;color:var(--accent);background:#f1faf6;border-color:#c8ddd4}.edit-card-button--active,.edit-card-button:disabled{color:var(--accent);background:#edf6f2;border-color:#c8ddd4}.toggle{width:100%;min-height:42px;padding:0 14px}.remove-card-button{background:0 0;border:0;grid-column:1/-1;justify-self:center;width:auto;min-height:32px;padding:0 8px}.item-edit-form{order:3}.item-edit-form__actions{z-index:1;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:4px -14px -14px;position:sticky;bottom:0}.item-edit-form__actions .button{flex:140px}}
