/* Store identity shares one validated palette across the panel and menu. */
.btn-primary, .storefront .product-card .btn-primary, .mobile-bag {
  background:var(--brand); border-color:var(--brand); color:var(--brand-foreground);
}
.btn-primary:hover, .storefront .product-card .btn-primary:hover, .mobile-bag:hover {
  background:var(--brand-hover); border-color:var(--brand-hover); color:var(--brand-foreground);
}
.nav-link.active { background:var(--brand); color:var(--brand-foreground); }
.sidebar-foot svg { color:var(--brand); }
.chart-bar { background:var(--brand); }
.brand>span:last-child { min-width:0; overflow-wrap:anywhere; }
.workspace-nav .brand { align-items:flex-start; font-size:18px; line-height:1.3; }
.field:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft); }
:focus-visible { outline-color:var(--ink); }
input[type=checkbox] { accent-color:var(--brand); }
.message { border-left-color:var(--brand); }
.restaurant-heading { border-top:5px solid var(--brand); }
.restaurant-art { background:var(--brand); }
.house-stamp { background:var(--brand); color:var(--brand-foreground); border-color:var(--brand-foreground); outline-color:var(--brand); }
#cart-panel { border-top-color:var(--brand); }
.menu-tools nav a:hover, .menu-tools nav a:focus-visible { background:var(--brand); border-color:var(--brand); color:var(--brand-foreground); }
.step-number, .user-avatar { background:var(--brand-soft); color:var(--ink); }
.password-field { display:block; position:relative; }
.password-field input, .recovery-form .password-field input { padding-right:54px; }
.password-toggle { position:absolute; right:3px; top:3px; bottom:3px; width:44px; min-height:44px; display:grid; place-items:center; color:var(--muted); border-radius:6px; cursor:pointer; background:transparent; }
.password-toggle:hover { background:#00000008; color:var(--ink); }
.password-toggle .eye-slash { display:none; }
.password-toggle[aria-pressed=true] .eye-slash { display:block; }
.remember-login { display:flex; gap:11px; align-items:flex-start; font-size:14px; cursor:pointer; }
.remember-login input { flex-shrink:0; margin-top:3px; }
.remember-login small { display:block; font-size:12px; font-weight:400; color:var(--muted); margin-top:3px; }
.brand-color-editor { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
.brand-color-input { display:flex; align-items:center; gap:12px; }
.brand-color-input input[type=color] { width:64px; height:48px; padding:5px; cursor:pointer; }
.brand-color-input output { font-size:14px; font-variant-numeric:tabular-nums; }
.brand-color-options { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.brand-color-options button { width:40px; height:40px; border-radius:50%; border:4px solid white; background:var(--swatch); box-shadow:0 0 0 1px var(--line); cursor:pointer; }
.brand-color-options button[aria-pressed=true] { box-shadow:0 0 0 2px var(--ink); }
.brand-preview { border:1px solid var(--line); border-top:5px solid var(--brand); border-radius:10px; padding:20px; display:grid; gap:12px; background:white; }
.brand-preview strong { font-size:20px; overflow-wrap:anywhere; }
.brand-preview>span:not(.brand-preview-button) { font-size:13px; }
.brand-preview-button { display:block; padding:11px 16px; border-radius:7px; text-align:center; background:var(--brand); color:var(--brand-foreground); font-size:14px; font-weight:600; }
@media(max-width:640px) { .brand-color-editor { grid-template-columns:1fr; gap:24px; } }
