body{color:#111827;background:#f9fafb;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:360px;padding:1.5rem 1.25rem;box-shadow:0 1px 3px #00000014}.login-title{text-align:center;margin:0 0 1rem;font-size:1.25rem}.field{flex-direction:column;margin-bottom:.9rem;display:flex}.field label{color:#374151;margin-bottom:.25rem;font-size:.85rem}.field input{font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.55rem .7rem}.field input:focus{outline-offset:1px;border-color:#2563eb;outline:2px solid #2563eb}.form-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0 0 .9rem;padding:.5rem .7rem;font-size:.85rem}.btn-primary{color:#fff;font:inherit;cursor:pointer;background:#111827;border:0;border-radius:6px;padding:.6rem .9rem}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-full{width:100%}.menu-wrap{max-width:560px;margin:0 auto;padding:0 .75rem 4rem}.menu-sticky-top{z-index:10;background:#f9fafb;position:sticky;top:0}.menu-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.menu-header-actions{flex-shrink:0;gap:.5rem;display:flex}.menu-tabs{scrollbar-width:none;background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:6px;padding:.5rem 0 .55rem;display:flex;overflow-x:auto}.menu-tabs::-webkit-scrollbar{display:none}.menu-tab{color:#6b7280;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:999px;flex-shrink:0;min-height:32px;padding:.4rem .85rem;font-size:.85rem}.menu-tab--active{color:#fff;background:#111827;border-color:#111827}.menu-title{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:600;overflow:hidden}.menu-status{text-align:center;color:#4b5563;padding:1.5rem 0}.menu-status-error{color:#991b1b}.menu-category{margin-top:1.25rem}.menu-category-name{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .5rem;font-size:.85rem}.item-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:.75rem;padding:.85rem .9rem;box-shadow:0 1px 2px #0000000a}.item-card-top{align-items:flex-start;gap:.75rem;display:flex}.item-thumb{object-fit:cover;background:#f3f4f6;border-radius:8px;flex-shrink:0;width:64px;height:64px}.item-top-content{flex:1;min-width:0}.item-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.item-name{margin:0;font-size:1rem}.item-badge{white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.7rem}.item-badge-on{color:#065f46;background:#ecfdf5}.item-badge-off{color:#991b1b;background:#fef2f2}.item-desc{color:#4b5563;margin:.35rem 0 .55rem;font-size:.85rem}.item-field{flex-direction:column;margin:.5rem 0;display:flex}.item-field label{color:#374151;margin-bottom:.2rem;font-size:.8rem}.item-field input{font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.7rem .75rem}.item-field input[aria-invalid=true]{border-color:#ef4444}.item-field input:focus{outline-offset:1px;border-color:#2563eb;outline:2px solid #2563eb}.item-fielderror{color:#991b1b;margin-top:.25rem;font-size:.78rem}.item-actions{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.6rem;display:grid}.btn-toggle{font:inherit;cursor:pointer;border:1px solid;border-radius:8px;min-height:44px;padding:.7rem .75rem}.btn-toggle-on{color:#991b1b;background:#fff;border-color:#fecaca}.btn-toggle-off{color:#065f46;background:#fff;border-color:#a7f3d0}.item-actions .btn-primary{min-height:44px}.btn-secondary{color:#111827;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.45rem .7rem}.item-status{margin:.55rem 0 0;font-size:.85rem}.item-status-ok{color:#065f46}.item-status-err{color:#991b1b}.billing-wrap{max-width:560px;margin:0 auto;padding:0 .75rem 4rem}.billing-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin:1rem 0;padding:1.25rem 1.25rem 1.35rem;box-shadow:0 1px 2px #1118270a}.billing-card--ok{background:linear-gradient(#f0fdf4 0%,#fff 55%);border-color:#a7f3d0}.billing-card--muted{background:#f9fafb}.billing-card h2,.billing-card-title{color:#111827;letter-spacing:-.01em;margin:0 0 .4rem;font-size:1.2rem}.billing-card-lead{color:#4b5563;margin:0 0 1rem;font-size:.95rem;line-height:1.45}.billing-card-footnote{color:#6b7280;margin:.75rem 0 .5rem;font-size:.85rem;font-style:italic}.billing-amount{color:#111827;letter-spacing:-.02em;margin:.15rem 0 .75rem;font-size:2rem;font-weight:700}.billing-amount-unit{color:#6b7280;margin-left:.15rem;font-size:1rem;font-weight:500}.billing-tier-row{flex-direction:column;gap:.6rem;margin-top:.9rem;display:flex}.billing-tier-btn{justify-content:space-between;align-items:center;padding-block:.85rem;display:flex}.billing-tier-name{font-weight:600}.billing-tier-price{font-variant-numeric:tabular-nums;opacity:.9}.billing-dl{grid-template-columns:max-content 1fr;align-items:center;gap:.5rem 1rem;margin:.5rem 0 1rem;font-size:.95rem;display:grid}.billing-dl dt{color:#6b7280}.billing-dl dd{color:#111827;margin:0;font-weight:500}.billing-status-pill{border-radius:999px;padding:.15rem .55rem;font-size:.85rem;font-weight:600;line-height:1.4;display:inline-block}.billing-status-pill--ok{color:#065f46;background:#d1fae5}.billing-status-pill--warn{color:#92400e;background:#fef3c7}.billing-status-pill--error{color:#991b1b;background:#fee2e2}.billing-status-pill--muted{color:#374151;background:#e5e7eb}.billing-help{color:#4b5563;margin:.75rem 0 1rem;font-size:.9rem;line-height:1.45}.billing-summary{background:#fff;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin:1rem 0;padding:.75rem;display:grid}.billing-summary-item{min-width:0}.billing-summary-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.75rem}.billing-summary-value{color:#111827;font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.menu-status-ok{color:#065f46}
