:root{color:#201f1d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{letter-spacing:0}:focus-visible{outline-offset:2px;outline:3px solid #8e321f59}.app-shell{color:#201f1d;background:#f7f5f2;min-height:100svh}.topbar{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5f2f0;border-bottom:1px solid #ded8cf;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px 24px;display:flex;position:sticky;top:0}.topbar h1,.editor h2,.login-panel h1{color:#161411;margin:0;font-size:24px;line-height:1.15}.eyebrow{color:#8e321f;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.topbar-actions,.toolbar{align-items:center;gap:10px;display:flex}.admin-layout{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 420px;gap:18px;width:min(1440px,100%);margin:0 auto;padding:18px;display:grid}.menu-list,.editor,.login-panel{background:#fffdf9;border:1px solid #ded8cf;border-radius:8px;box-shadow:0 12px 28px #402e1c14}.menu-list{min-width:0;padding:14px}.toolbar{justify-content:space-between;margin-bottom:12px}.search-field,.password-field{background:#fff;border:1px solid #d8d1c7;border-radius:8px;align-items:center;gap:8px;min-width:0;display:flex}.search-field{flex:1;height:42px;padding:0 12px}.search-field input,.password-field input{color:#201f1d;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.category-tabs{gap:8px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.category-tabs button,.plain-button,.icon-button,.primary-button,.danger-button{color:#201f1d;min-height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8d1c7;border-radius:8px;font-weight:700}.category-tabs button{flex:none;padding:0 14px}.category-tabs button.active{color:#fff;background:#182d26;border-color:#182d26}.plain-button,.primary-button,.danger-button{justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}.primary-button{color:#fff;background:#8e321f;border-color:#8e321f}.danger-button{color:#8e321f;border-color:#b9a8a1}.icon-button{place-items:center;width:40px;padding:0;display:inline-grid}button:disabled{cursor:wait;opacity:.64}.items{gap:8px;display:grid}.item-row{color:#201f1d;text-align:left;cursor:pointer;background:#fff;border:1px solid #e5ded4;border-radius:8px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:66px;padding:8px 12px 8px 8px;display:grid}.item-row.selected{border-color:#8e321f;box-shadow:inset 4px 0 #8e321f}.item-row.muted{color:#7c7167;background:#f4f0eb}.archived-tab.active{color:#fff;background:#8e321f;border-color:#8e321f}.empty-list{color:#7c7167;margin:8px 2px;font-size:14px}.delete-button{color:#fff;width:100%;min-height:52px;font:inherit;letter-spacing:.01em;cursor:pointer;background:#d11a0f;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:16px;font-weight:800;display:flex;box-shadow:0 4px 14px #d11a0f52}.delete-button:hover{background:#b01209}.restore-button-lg{color:#fff;min-height:38px;font:inherit;cursor:pointer;background:#2f6b53;border:1px solid #2f6b53;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.restore-button-lg:hover{background:#275a47}.modal-backdrop{z-index:50;background:#14121080;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fbf7f1;border-radius:14px;flex-direction:column;gap:14px;width:min(420px,100%);padding:22px;display:flex;box-shadow:0 18px 48px #14121047}.modal h2{margin:0;font-size:20px}.modal label{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.modal input,.modal select{min-height:40px;font:inherit;background:#fff;border:1px solid #d8d1c7;border-radius:8px;padding:0 12px;font-weight:400}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.item-thumb{color:#8e321f;background:#efe8dd;border-radius:8px;place-items:center;width:50px;height:50px;display:grid;overflow:hidden}.item-thumb img{object-fit:contain;width:100%;height:100%}.item-copy{min-width:0}.item-copy strong,.item-copy span{overflow-wrap:anywhere;display:block}.item-copy strong{font-size:15px;line-height:1.25}.item-copy span{color:#756b61;margin-top:2px;font-size:13px}.item-price{white-space:nowrap;font-weight:800}.editor{flex-direction:column;gap:14px;max-height:calc(100svh - 108px);padding:16px;display:flex;position:sticky;top:90px;overflow:auto}.editor.empty{color:#756b61;place-items:center;min-height:240px;display:grid}.editor-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.status-pill{border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:800}.status-pill.available{color:#17603b;background:#e4f2e8}.status-pill.hidden{color:#8e321f;background:#f4e6e0}.editor label,.login-panel label{color:#574d43;gap:6px;font-size:13px;font-weight:800;display:grid}.editor input,.editor textarea,.editor select{box-sizing:border-box;color:#201f1d;width:100%;font:inherit;background:#fff;border:1px solid #d8d1c7;border-radius:8px}.editor input,.editor select{height:40px;padding:0 10px}.editor textarea{resize:vertical;padding:10px}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-grid.single{grid-template-columns:1fr}.position-control{gap:8px;display:grid}.position-control>span{color:#574d43;font-size:13px;font-weight:800}.position-control>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.position-control button{color:#201f1d;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8d1c7;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.switches{grid-template-columns:1fr;gap:10px;display:grid}.switch{background:#fff;border:1px solid #d8d1c7;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;min-height:42px;padding:0 10px;display:flex!important}.switch input{width:18px;height:18px}.tag-grid{border:1px solid #d8d1c7;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:10px;display:grid}.tag-grid legend{color:#574d43;padding:0 4px;font-size:13px;font-weight:800}.tag-grid label{align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.tag-grid input{width:16px;height:16px}.image-control{background:#fcfaf7;border:1px solid #e3ddd4;border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.image-control .hint{color:#7c7167;margin:-4px 0 0;font-size:12.5px;line-height:1.4}.image-control .hint.warn{color:#8e321f;margin-top:0;font-weight:700}.menu-card-preview{background:#161616;border:1px solid #1f1f1f;border-radius:14px;grid-template-columns:128px minmax(0,1fr);align-items:stretch;min-height:96px;display:grid;overflow:hidden;box-shadow:0 10px 30px #0003}.preview-thumb{background:#0c0c0c;min-height:96px;position:relative;overflow:hidden}.preview-thumb img{object-fit:cover;transform-origin:50%;width:128px;height:100%;min-height:96px;display:block}.preview-thumb[data-display=fit] img{padding:4px}.menu-card-preview.empty .preview-thumb{color:#8e321f;background:#efe8dd;place-items:center;display:grid}.preview-copy{color:#f4f1ec;flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:12px;display:flex}.preview-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.preview-row strong{font-size:15px;font-weight:800;line-height:1.2}.preview-row span{color:#ffe600;white-space:nowrap;font-weight:800}.preview-copy p{color:#b8b2a8;margin:0;font-size:13px;line-height:1.4}.display-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.display-toggle button{color:#3a352f;cursor:pointer;background:#fff;border:1px solid #d8d1c7;border-radius:9px;padding:9px 10px;font-weight:700}.display-toggle button.active{color:#fff;background:#8e321f;border-color:#8e321f}.zoom-control{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-weight:700;display:grid}.zoom-control input[type=range]{accent-color:#8e321f;width:100%}.zoom-reset{color:#3a352f;cursor:pointer;background:#fff;border:1px solid #d8d1c7;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}.image-actions{flex-wrap:wrap;gap:8px;display:flex}.upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.editor-actions{flex-direction:column;gap:12px;margin-top:2px;display:flex}.editor-actions-row{gap:10px;display:flex}.editor-actions-row>button{flex:1}.notice{background:#fff;border:1px solid #d8d1c7;border-radius:8px;width:min(1440px,100% - 36px);margin:14px auto 0;padding:10px 12px;font-weight:700}.notice.success{color:#17603b;background:#eaf7ed;border-color:#b7d8c1}.notice.error{color:#8e321f;background:#fff1ec;border-color:#deb9ac}.login-panel{text-align:center;flex-direction:column;align-items:center;width:min(420px,100% - 32px);margin:70px auto 0;padding:22px;display:flex}.login-panel form{text-align:left;gap:14px;width:100%;margin-top:24px;display:grid}.brand-badge{background:#1b1a18;border-radius:12px;place-items:center;display:grid;overflow:hidden}.brand-badge img{object-fit:cover;width:100%;height:100%;display:block}.brand-badge-lg{border-radius:18px;width:96px;height:96px;margin-bottom:16px;box-shadow:0 8px 22px #1b1a1838}.topbar-brand{align-items:center;gap:14px;display:flex}.topbar-brand .brand-badge{flex:none;width:46px;height:46px}.password-field{height:44px;padding:0 6px 0 12px}.password-field button{color:#201f1d;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.wide{width:100%}@media (width<=980px){.admin-layout{grid-template-columns:1fr}.editor{max-height:none;position:static}}@media (width<=640px){.topbar{align-items:flex-start;padding:12px 14px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.admin-layout{padding:12px}.toolbar,.field-grid,.switches{grid-template-columns:1fr}.toolbar{display:grid}.item-row{grid-template-columns:46px minmax(0,1fr)}.item-price{grid-column:2}}
