:root{--color-text:#1f2933;--color-muted:#6b7280;--color-bg:#f5f5f4;--color-card:#fff;--color-border:#e5e7eb;--color-accent:#ec4899}*{box-sizing:border-box}body{color:var(--color-text);background:var(--color-bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}h1{margin:0 0 .5rem;font-size:1.4rem}a{color:var(--color-accent)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem}.muted{color:var(--color-muted);font-size:.875rem}.page-loading{text-align:center;color:var(--color-muted);padding:3rem 1rem}.admin-layout{flex-direction:column;min-height:100vh;display:flex}.admin-header{background:var(--color-card);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.admin-brand{font-weight:700}.admin-nav{gap:1rem;display:flex}.admin-nav a{color:var(--color-muted);text-decoration:none}.admin-nav a.active{color:var(--color-accent);font-weight:600}.admin-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1rem}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{width:100%;max-width:420px}.auth-logo{width:56px;height:56px;margin:0 auto .75rem;display:block}.form-field{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.form-field>span:first-child{font-size:.875rem;font-weight:600}.form-field input,.form-field textarea{font:inherit;border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:.5rem .65rem}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1rem;display:grid}.checkbox-field{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.color-row{align-items:center;gap:.5rem;display:flex}.color-row input[type=color]{border:1px solid var(--color-border);background:#fff;border-radius:8px;width:44px;height:38px;padding:2px}.color-row input:not([type=color]){flex:1}.btn{font:inherit;background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.55rem 1.1rem;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn-ghost{color:var(--color-accent);background:0 0}.button-row{gap:.5rem;display:flex}.error-text{color:#b91c1c;font-size:.875rem}.success-text{color:#15803d;font-size:.9rem}.badge{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.badge-new{color:#92400e;background:#fef3c7;border-color:#f59e0b}.badge-closed{opacity:.7}.badge-success{color:#15803d;background:#dcfce7;border-color:#16a34a}.badge-warning{color:#991b1b;background:#fee2e2;border-color:#dc2626}.badge-order-pending,.badge-order-confirmed{color:#92400e;background:#fef3c7;border-color:#f59e0b}.badge-order-shipped{color:#1e40af;background:#dbeafe;border-color:#3b82f6}.badge-order-delivered{color:#15803d;background:#dcfce7;border-color:#16a34a}.badge-order-cancelled,.badge-order-refunded{color:#4b5563;background:#f3f4f6;border-color:#9ca3af}.order-lines-readonly{margin:.5rem 0;padding:0;list-style:none}.public-service-checkout{margin-top:.5rem}.public-checkout-button{background:var(--tenant-color,var(--color-accent));color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem}.public-checkout-button:disabled{opacity:.6;cursor:default}.public-checkout-error{color:#b91c1c;margin-top:.35rem}.cart-bar{background:var(--color-bg);border:1px solid var(--color-border);border-radius:.75rem;margin:1.5rem 0;padding:1rem;position:sticky;bottom:1rem;box-shadow:0 4px 16px #00000014}.cart-lines{margin:.5rem 0;padding:0;list-style:none}.cart-line{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.cart-line-title{flex:1}.cart-line-qty{align-items:center;gap:.4rem;display:flex}.cart-line-qty button{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:.35rem;width:1.75rem;height:1.75rem}.cart-line-price{text-align:right;min-width:5rem}.cart-line-remove{color:var(--color-muted);cursor:pointer;background:0 0;border:none;text-decoration:underline}.cart-total{margin:.5rem 0;font-size:1.05rem}.nav-badge{background:var(--color-accent);color:#fff;text-align:center;border-radius:999px;min-width:1.25rem;margin-left:.35rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-block}.request-list li.inactive{opacity:.6}.logo-preview{object-fit:contain;border:1px solid var(--color-border);background:#fff;border-radius:8px;align-self:flex-start;max-width:180px;max-height:64px;padding:4px}.stack{flex-direction:column;gap:1rem;display:flex}.admin-user{align-items:center;gap:.5rem;display:flex}.plan-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.plan-badge--free{color:#475569;background:#e2e8f0}.plan-badge--basic{color:#1d4ed8;background:#dbeafe}.plan-badge--pro{color:#92400e;background:#fef9c3}.btn-upgrade{color:#fff;cursor:pointer;background:#ec4899;border:none;border-radius:999px;padding:.2rem .75rem;font-size:.75rem;font-weight:600;transition:opacity .15s}.btn-upgrade:hover:not(:disabled){opacity:.85}.btn-upgrade:disabled{opacity:.5;cursor:default}@media (width<=720px){.admin-header{flex-wrap:wrap}.admin-nav{flex-wrap:wrap;order:3;gap:.5rem 1rem;width:100%}}.public-link-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.public-link{word-break:break-all;font-weight:600}.qr-box{border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:.5rem}.service-list,.request-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.service-list li,.request-list li{border:1px solid var(--color-border);border-radius:10px;padding:.75rem}.service-list li.inactive{opacity:.6}.service-list li{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.service-actions{flex-wrap:wrap;gap:.25rem;display:flex}.request-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hours-grid{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.hours-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.hours-row .checkbox-field{margin-bottom:0}.hours-day{width:6.5rem;font-weight:600}.hours-times{align-items:center;gap:.5rem;display:flex}.hours-times input{font:inherit;border:1px solid var(--color-border);border-radius:8px;padding:.35rem .5rem}.public-page{justify-content:center;min-height:100vh;padding:1rem;display:flex}.public-page>.card{align-self:flex-start;width:100%;max-width:480px}.public-app{max-width:480px;margin:0 auto;padding:0 1rem 3rem}.public-header{text-align:center;border-bottom:4px solid var(--tenant-color,var(--color-accent));margin-bottom:1rem;padding:2rem 1rem 1.25rem}.public-header h1{font-size:1.6rem}.public-logo{object-fit:contain;max-width:200px;max-height:72px;margin-bottom:.75rem}.public-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1.1rem}.public-section h2{color:var(--tenant-color,var(--color-text));margin:0 0 .6rem;font-size:1.05rem}.public-services{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.public-service-row{justify-content:space-between;gap:.75rem;display:flex}.public-price{white-space:nowrap;color:var(--tenant-color,var(--color-text));font-weight:600}.public-hours{border-collapse:collapse;width:100%}.public-hours td{padding:.25rem 0}.public-hours td:last-child{text-align:right}.public-contact{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.btn-primary-tenant{background:var(--tenant-color,var(--color-accent));width:100%}.public-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.public-legal{color:var(--color-muted);font-size:.8rem}.public-legal summary{cursor:pointer;padding:.25rem 0;font-weight:600}.public-legal-text{font:inherit;white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0;font-size:.75rem}.public-platform-note{text-align:center;margin:0;font-size:.75rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.pricing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.pricing-card.featured{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.pricing-price{color:var(--color-accent);font-size:1.6rem;font-weight:700}.pricing-badge{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.pricing-features{flex-direction:column;gap:.35rem;margin:.5rem 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.pricing-features li:before{content:"✓ ";color:var(--color-accent);font-weight:700}.legal-page{max-width:760px;margin:2rem auto;padding:0 1rem 3rem}.legal-page h1{margin-bottom:1.5rem;font-size:1.5rem}.legal-page h2{margin:1.5rem 0 .5rem;font-size:1.05rem}.legal-page p,.legal-page address{margin:0 0 .75rem;font-style:normal;line-height:1.7}.legal-draft-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.cart-consent{align-items:flex-start;margin:.75rem 0;font-size:.85rem}.b2b-listings-toggle{margin-top:.5rem}.b2b-listings-preview{border-top:1px solid var(--color-border);margin:.5rem 0 0;padding:.5rem 0 0;list-style:none}.b2b-listings-preview li{margin-bottom:.5rem}.b2b-send-request{margin-top:.4rem}.b2b-send-request textarea{width:100%;margin-bottom:.4rem}
