:root {
  --primary-color: #1a1a1a;
  --gold: #c9a762;
  --gold-soft: #e2c98f;
  --secondary: #2c2c2c;
  --bg: #101112;
  --surface: #191b1d;
  --surface-2: #222528;
  --text: #f4f4f2;
  --muted: #9fa4aa;
  --border: #34383d;
  --green: #3f8f67;
  --red: #bd4b4b;
  --blue: #4d80c8;
  --orange: #c57c36;
  --shadow: 0 18px 50px rgba(0, 0, 0, .28);
  --radius: 16px;
  --radius-sm: 10px;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }

.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 15% 15%, rgba(201,167,98,.17), transparent 30%),
    radial-gradient(circle at 85% 85%, rgba(40,85,65,.18), transparent 32%),
    linear-gradient(135deg, #0b0b0c, #1c1d1f 60%, #101112);
}
.login-card {
  width: min(100%, 430px);
  background: rgba(25,27,29,.94);
  border: 1px solid rgba(201,167,98,.32);
  border-radius: 24px;
  box-shadow: 0 28px 90px rgba(0,0,0,.48);
  padding: clamp(26px, 5vw, 42px);
  backdrop-filter: blur(14px);
}
.brand { display: flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: .3px; }
.brand-mark {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 12px; background: linear-gradient(145deg, var(--gold-soft), #927239);
  color: #111; font-weight: 900; box-shadow: 0 8px 25px rgba(201,167,98,.2);
}
.login-card h1 { margin: 28px 0 6px; font-size: clamp(1.7rem, 5vw, 2.25rem); }
.login-card .subtitle { color: var(--muted); margin: 0 0 24px; }

.form-group { display: grid; gap: 7px; margin-bottom: 15px; }
.form-group label { font-size: .9rem; color: #d7d9da; }
.input, input, select, textarea {
  width: 100%;
  border: 1px solid var(--border);
  background: #131516;
  color: var(--text);
  border-radius: 11px;
  padding: 12px 13px;
  outline: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
input:focus, select:focus, textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,167,98,.12); }
textarea { min-height: 95px; resize: vertical; }

.btn {
  border: 0;
  border-radius: 10px;
  padding: 11px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 700;
  transition: transform .16s, opacity .16s, background .16s;
}
.btn:hover { transform: translateY(-1px); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.btn-primary { background: var(--gold); color: #151515; }
.btn-primary:hover { background: #d6b873; }
.btn-secondary { background: var(--surface-2); color: var(--text); border: 1px solid var(--border); }
.btn-danger { background: rgba(189,75,75,.15); color: #ffaaaa; border: 1px solid rgba(189,75,75,.36); }
.btn-success { background: rgba(63,143,103,.18); color: #9ce1bb; border: 1px solid rgba(63,143,103,.36); }
.btn-small { padding: 8px 10px; font-size: .82rem; }
.btn-block { width: 100%; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0,1fr); }
.sidebar {
  position: sticky; top: 0; height: 100vh;
  background: #141516; border-right: 1px solid var(--border); padding: 22px 16px;
  display: flex; flex-direction: column; gap: 24px;
}
.sidebar nav { display: grid; gap: 7px; }
.nav-link { padding: 11px 12px; border-radius: 10px; color: #babec3; display: flex; align-items: center; gap: 10px; }
.nav-link:hover, .nav-link.active { background: rgba(201,167,98,.11); color: var(--gold-soft); }
.sidebar-footer { margin-top: auto; border-top: 1px solid var(--border); padding-top: 16px; color: var(--muted); font-size: .86rem; }

.main { min-width: 0; }
.topbar {
  height: 68px; position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 0 clamp(16px, 3vw, 32px); background: rgba(16,17,18,.88);
  border-bottom: 1px solid var(--border); backdrop-filter: blur(12px);
}
.topbar-title { font-weight: 800; }
.user-chip { color: var(--muted); font-size: .9rem; }
.mobile-menu { display: none; }
.content { padding: clamp(18px, 3vw, 32px); }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.page-head h1 { margin: 0; font-size: clamp(1.45rem, 4vw, 2rem); }
.page-head p { margin: 5px 0 0; color: var(--muted); }

.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.stat-card, .card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
}
.stat-card { padding: 18px; }
.stat-label { color: var(--muted); font-size: .85rem; }
.stat-value { font-size: clamp(1.45rem, 4vw, 2rem); font-weight: 800; margin-top: 6px; }
.card { padding: clamp(16px, 2.5vw, 22px); }
.card-title { margin: 0 0 16px; font-size: 1rem; }

.timeline { display: flex; gap: 14px; overflow-x: auto; padding: 4px 2px 14px; scroll-snap-type: x proximity; }
.timeline-card {
  flex: 0 0 min(330px, 86vw); scroll-snap-align: start;
  border: 1px solid var(--border); background: var(--surface-2); border-radius: 14px; padding: 16px;
  position: relative; overflow: hidden;
}
.timeline-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--gold); }
.timeline-time { font-size: 1.25rem; font-weight: 850; color: var(--gold-soft); }
.timeline-name { font-weight: 800; margin-top: 8px; }
.timeline-service { color: var(--muted); margin: 3px 0 12px; }
.card-actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 14px; }

.status { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: .77rem; font-weight: 800; }
.status-azul { background: rgba(77,128,200,.16); color: #9bc1fb; }
.status-dourado { background: rgba(201,167,98,.16); color: #e7cf9c; }
.status-laranja { background: rgba(197,124,54,.17); color: #ffc183; }
.status-verde { background: rgba(63,143,103,.18); color: #9ce1bb; }
.status-vermelho { background: rgba(189,75,75,.17); color: #ffaaaa; }
.status-cinza { background: rgba(150,150,150,.14); color: #c7c7c7; }

.toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-bottom: 16px; }
.toolbar .search { flex: 1 1 260px; }
.table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; min-width: 680px; }
th, td { padding: 13px 14px; text-align: left; border-bottom: 1px solid var(--border); }
th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); background: #161819; }
td { font-size: .91rem; }
tr:last-child td { border-bottom: 0; }

.client-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.client-card { border: 1px solid var(--border); border-radius: 13px; padding: 15px; background: var(--surface-2); }
.client-card h3 { margin: 0 0 4px; }
.client-card p { margin: 3px 0; color: var(--muted); font-size: .9rem; }

.calendar-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 7px; }
.calendar-weekday { text-align: center; color: var(--muted); font-size: .78rem; padding: 6px; }
.calendar-day {
  min-height: 82px; border: 1px solid var(--border); border-radius: 10px; background: #17191a; color: var(--text);
  padding: 8px; text-align: left; position: relative;
}
.calendar-day:hover { border-color: #5a5e62; }
.calendar-day.other-month { opacity: .35; }
.calendar-day.today { border-color: var(--gold); }
.calendar-day.selected { background: rgba(201,167,98,.10); }
.calendar-dot { position: absolute; bottom: 8px; left: 50%; width: 6px; height: 6px; border-radius: 50%; background: var(--green); transform: translateX(-50%); }
.day-number { font-weight: 800; }
.day-agenda { margin-top: 18px; display: grid; gap: 9px; }
.day-agenda-item { border: 1px solid var(--border); background: var(--surface-2); border-radius: 11px; padding: 12px; display: flex; justify-content: space-between; gap: 12px; }

.modal-backdrop {
  position: fixed; inset: 0; z-index: 100; background: rgba(0,0,0,.72); display: none; place-items: center; padding: 18px;
}
.modal-backdrop.open { display: grid; }
.modal {
  width: min(100%, 620px); max-height: 90vh; overflow-y: auto;
  background: var(--surface); border: 1px solid var(--border); border-radius: 18px; box-shadow: 0 24px 90px rgba(0,0,0,.55);
}
.modal-header, .modal-footer { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.modal-header { border-bottom: 1px solid var(--border); }
.modal-header h2 { margin: 0; font-size: 1.12rem; }
.modal-body { padding: 18px; }
.modal-footer { border-top: 1px solid var(--border); justify-content: flex-end; }
.modal-close { background: transparent; border: 0; color: var(--muted); font-size: 1.35rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.form-grid .full { grid-column: 1 / -1; }

.alert { border-radius: 10px; padding: 11px 13px; margin: 12px 0; font-size: .9rem; }
.alert-error { background: rgba(189,75,75,.14); border: 1px solid rgba(189,75,75,.3); color: #ffb5b5; }
.alert-success { background: rgba(63,143,103,.14); border: 1px solid rgba(63,143,103,.3); color: #abe3c2; }
.empty-state { padding: 28px 14px; text-align: center; color: var(--muted); }
.hidden { display: none !important; }
.text-muted { color: var(--muted); }
.text-gold { color: var(--gold-soft); }
.mt-16 { margin-top: 16px; }

.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)); gap: 8px; }
.time-slot { border: 1px solid var(--border); background: var(--surface-2); color: var(--text); border-radius: 9px; padding: 9px; text-align: center; }
.time-slot.available:hover { border-color: var(--green); }
.time-slot.busy { opacity: .42; cursor: not-allowed; text-decoration: line-through; }
.time-slot.selected { border-color: var(--gold); background: rgba(201,167,98,.12); }

@media (max-width: 980px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: 265px; z-index: 50; transform: translateX(-105%); transition: transform .2s; box-shadow: 20px 0 50px rgba(0,0,0,.4); }
  .sidebar.open { transform: translateX(0); }
  .mobile-menu { display: inline-flex; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .client-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .topbar { height: 60px; }
  .content { padding: 16px; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .page-head .btn { width: 100%; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stat-card { padding: 14px; }
  .client-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .calendar-grid { gap: 4px; }
  .calendar-day { min-height: 58px; padding: 6px; }
  .calendar-weekday { font-size: .68rem; padding: 4px 0; }
  .day-agenda-item { flex-direction: column; }
  .toolbar > * { width: 100%; }
}

/* ===== SITE PÚBLICO ===== */
.public-body{background:#0d0e0f;color:var(--text)}
.public-header{position:sticky;top:0;z-index:60;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px);background:rgba(13,14,15,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,167,98,.18)}
.public-logo{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.4px}.public-nav{display:flex;align-items:center;gap:24px;color:#d7d8d9}.public-nav a:hover{color:var(--gold-soft)}.public-nav .nav-admin{padding:9px 12px;border:1px solid var(--border);border-radius:9px;color:var(--muted)}.public-menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.5rem}
.hero-public{min-height:min(760px,82vh);position:relative;display:flex;align-items:center;background-image:url('/assets/images/hero-barbearia.png');background-size:cover;background-position:center;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,7,.94) 0%,rgba(5,6,7,.78) 42%,rgba(5,6,7,.16) 74%,rgba(5,6,7,.15) 100%),linear-gradient(0deg,rgba(13,14,15,.55),transparent 55%)}.hero-content{position:relative;z-index:2;width:min(720px,88%);margin-left:clamp(20px,8vw,120px);padding:70px 0}.eyebrow{display:inline-block;color:var(--gold-soft);font-size:.78rem;font-weight:850;letter-spacing:.16em;margin-bottom:12px}.hero-content h1{font-size:clamp(2.3rem,6vw,5.2rem);line-height:1.02;margin:0 0 20px;max-width:760px}.hero-content p{max-width:620px;font-size:clamp(1rem,2vw,1.18rem);color:#c6c8ca}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn-lg{padding:14px 20px;font-size:1rem}.btn-glass{background:rgba(20,22,24,.72);border:1px solid rgba(255,255,255,.2);color:#fff}
.public-section{padding:clamp(54px,8vw,100px) clamp(18px,7vw,100px);max-width:1500px;margin:0 auto}.compact-section{padding-top:46px}.public-section-alt{max-width:none;background:#121416;padding-left:max(clamp(18px,7vw,100px),calc((100vw - 1500px)/2 + 100px));padding-right:max(clamp(18px,7vw,100px),calc((100vw - 1500px)/2 + 100px))}.section-head-public{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-head-public h2,.public-page-head h1,.public-cta h2{font-size:clamp(1.8rem,4vw,3rem);margin:2px 0}.section-head-public>a{color:var(--gold-soft)}
.service-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-public-card{background:#17191b;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.service-icon{font-size:1.5rem;color:var(--gold)}.service-public-card h3{margin:12px 0 8px}.service-public-card p{color:var(--muted);min-height:48px}.service-meta{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.service-meta strong{font-size:1.25rem;color:var(--gold-soft)}.service-meta span{color:var(--muted)}
.product-grid-public{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-card-public{background:#181a1c;border:1px solid var(--border);border-radius:18px;overflow:hidden}.product-image-wrap{aspect-ratio:1.15/1;background:linear-gradient(145deg,#242629,#121314);display:grid;place-items:center;overflow:hidden}.product-image-wrap img{width:100%;height:100%;object-fit:cover}.product-placeholder{font-weight:900;letter-spacing:.18em;color:#6f7378}.product-body{padding:18px}.product-body h3{margin:0 0 7px}.product-body p{color:var(--muted);min-height:45px}.product-price{font-size:1.4rem;font-weight:850;color:var(--gold-soft);margin:15px 0}.product-stock{font-size:.8rem;color:var(--muted)}.buy-row{display:grid;grid-template-columns:76px 1fr;gap:8px}
.public-cta{margin:20px clamp(18px,7vw,100px) 90px;padding:clamp(28px,5vw,56px);border:1px solid rgba(201,167,98,.32);border-radius:24px;background:radial-gradient(circle at 85% 20%,rgba(201,167,98,.16),transparent 38%),#17191a;display:flex;align-items:center;justify-content:space-between;gap:24px}.public-cta p{color:var(--muted)}.public-footer{border-top:1px solid var(--border);padding:36px clamp(18px,7vw,100px);display:flex;justify-content:space-between;gap:24px;color:var(--muted);background:#0a0b0c}.public-footer strong{color:#fff}
.public-page-head{text-align:center;padding:72px 20px 24px;background:radial-gradient(circle at 50% 0,rgba(201,167,98,.15),transparent 45%)}.public-page-head p{color:var(--muted)}.booking-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px;align-items:start}.booking-card,.booking-side,.payment-result{background:#17191b;border:1px solid var(--border);border-radius:18px;padding:clamp(18px,3vw,28px);box-shadow:var(--shadow)}.booking-side{position:sticky;top:94px}.booking-side ol{padding-left:20px;color:#d9dbdc}.booking-side li{margin:12px 0}.booking-note{margin-top:20px;padding:14px;border-radius:12px;background:rgba(201,167,98,.09);color:var(--gold-soft)}.radio-card{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--border);border-radius:12px;margin-bottom:8px;background:#131516}.radio-card input{width:auto;margin-top:4px}.radio-card span{display:grid}.radio-card small{color:var(--muted)}
.cart-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:start}.cart-items{display:grid;gap:10px}.cart-item{display:grid;grid-template-columns:1fr 90px 120px;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px}.cart-item>div{display:grid}.cart-item small{color:var(--muted)}.divider{border:0;border-top:1px solid var(--border);margin:24px 0}.summary-total{display:flex;justify-content:space-between;font-size:1.3rem;margin:16px 0}.payment-result{max-width:760px;margin:40px auto;text-align:center;padding:50px 28px}.payment-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:rgba(201,167,98,.13);color:var(--gold-soft)}.payment-result.success .payment-icon{background:rgba(63,143,103,.18);color:#9ce1bb}.payment-result .hero-actions{justify-content:center}.wide-modal{width:min(100%,850px)}.schedule-grid{display:grid;gap:8px}.schedule-row{display:grid;grid-template-columns:minmax(130px,1fr) 120px 30px 120px;gap:8px;align-items:center;border:1px solid var(--border);padding:9px;border-radius:10px}.switch-row{display:flex;align-items:center;gap:9px}.switch-row input{width:auto}.form-actions{margin-top:18px;display:flex;justify-content:flex-end}.inline-form{display:flex;gap:7px;align-items:center}.inline-form select{min-width:135px;padding:8px}
@media(max-width:900px){.service-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid-public{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-layout,.cart-layout{grid-template-columns:1fr}.booking-side{position:static}.public-nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;padding:16px 20px;background:#101214;border-bottom:1px solid var(--border)}.public-nav.open{display:flex}.public-menu-btn{display:block}.public-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.hero-public{min-height:680px;background-position:64% center}.hero-overlay{background:linear-gradient(0deg,rgba(5,6,7,.96),rgba(5,6,7,.63) 62%,rgba(5,6,7,.4))}.hero-content{margin:0 auto;padding-top:230px}.service-public-grid,.product-grid-public{grid-template-columns:1fr}.section-head-public{align-items:flex-start;flex-direction:column}.public-footer{flex-direction:column}.cart-item{grid-template-columns:1fr 80px}.cart-item>strong{grid-column:1/-1}.schedule-row{grid-template-columns:1fr 1fr 24px 1fr}.schedule-row label{grid-column:1/-1}}


/* ===== IDENTIDADE VISUAL ===== */
.site-logo-image{display:block;max-width:180px;max-height:52px;width:auto;height:auto;object-fit:contain}.sidebar .site-logo-image{max-width:46px;max-height:42px}.login-card .site-logo-image{max-width:190px;max-height:62px}.public-logo .site-logo-image{max-width:170px;max-height:48px}.visual-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.visual-setting-card{border:1px solid var(--border);background:#151719;border-radius:14px;padding:16px}.visual-setting-card.visual-wide{grid-column:1/-1}.visual-preview{min-height:120px;border:1px dashed #444a50;border-radius:12px;background:#101214;display:grid;place-items:center;padding:16px;margin-bottom:14px;overflow:hidden}.visual-preview img{display:block;max-width:100%;max-height:180px;object-fit:contain}.logo-preview img{max-height:90px}.favicon-preview{min-height:90px}.favicon-preview img{width:64px;height:64px;object-fit:contain}.hero-preview{aspect-ratio:16/5;padding:0}.hero-preview img{width:100%;height:100%;max-height:none;object-fit:cover}
@media(max-width:700px){.visual-settings-grid{grid-template-columns:1fr}.visual-setting-card.visual-wide{grid-column:auto}.hero-preview{aspect-ratio:16/9}.public-logo>span:last-child{display:none}}

/* ===== ÁREA DO CLIENTE, FIDELIDADE E AVISOS ===== */
.form-help{display:block;margin-top:5px;color:var(--muted);font-size:.78rem}.booking-login-hint{text-align:center;color:var(--muted);font-size:.9rem}.booking-login-hint a,.account-switch a{color:var(--gold-soft);font-weight:800}.public-nav .nav-account{padding:9px 12px;border-radius:9px;background:rgba(201,167,98,.1);color:var(--gold-soft)}
.notice-stack{display:grid;gap:8px}.notice-stack-public{padding:12px clamp(18px,7vw,100px);background:#101214;border-bottom:1px solid var(--border)}.notice-stack-client{margin:0 0 18px}.site-notice{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:11px;border:1px solid var(--border);font-size:.9rem}.site-notice strong{white-space:nowrap}.site-notice span{color:#d7d9da}.notice-info{background:rgba(77,128,200,.12);border-color:rgba(77,128,200,.28)}.notice-warning{background:rgba(197,124,54,.14);border-color:rgba(197,124,54,.35)}.notice-success{background:rgba(63,143,103,.14);border-color:rgba(63,143,103,.33)}
.account-auth-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:50px 18px;background:radial-gradient(circle at 20% 15%,rgba(201,167,98,.13),transparent 32%),#0d0e0f}.account-auth-card{width:min(100%,470px);background:#17191b;border:1px solid var(--border);border-radius:20px;padding:clamp(22px,4vw,34px);box-shadow:var(--shadow)}.account-auth-card.account-auth-wide{width:min(100%,720px)}.account-auth-card h1{margin:2px 0 8px;font-size:clamp(1.7rem,4vw,2.3rem)}.account-switch{text-align:center;margin:18px 0 0;color:var(--muted)}
.customer-dashboard{max-width:1450px}.customer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.customer-head h1{font-size:clamp(2rem,5vw,3.2rem);margin:0}.customer-head p{color:var(--muted);margin:6px 0 0}.customer-head-actions{display:flex;gap:8px;flex-wrap:wrap}.customer-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.customer-summary-card{padding:18px;border:1px solid var(--border);border-radius:16px;background:#17191b;display:grid;gap:5px}.customer-summary-card span,.customer-summary-card small{color:var(--muted)}.customer-summary-card strong{font-size:1.6rem;color:var(--gold-soft)}.customer-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.customer-panel-card{background:#17191b;border:1px solid var(--border);border-radius:18px;padding:20px}.customer-panel-card h2{margin:0 0 14px;font-size:1.15rem}.customer-list{display:grid;gap:9px}.customer-list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#131516}.customer-list-item>div:first-child{display:grid;gap:3px}.customer-list-item small{color:var(--muted)}.customer-list-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.loyalty-client-card{margin:16px 0;background:radial-gradient(circle at 90% 10%,rgba(201,167,98,.16),transparent 35%),#17191b}.loyalty-progress{height:12px;border-radius:999px;background:#25282b;overflow:hidden;margin:14px 0}.loyalty-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b6d36,var(--gold-soft));min-width:0}.text-success{color:#9ce1bb}.text-danger{color:#ffaaaa}
.loyalty-home{margin:0 auto;padding:clamp(38px,6vw,70px) clamp(18px,7vw,100px);max-width:1500px}.loyalty-home-card{border:1px solid rgba(201,167,98,.32);border-radius:22px;background:radial-gradient(circle at 90% 0,rgba(201,167,98,.14),transparent 40%),#17191b;padding:clamp(24px,5vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px}.loyalty-home-card h2{margin:4px 0 8px;font-size:clamp(1.7rem,4vw,2.7rem)}.loyalty-home-card p{color:var(--muted);max-width:700px}.loyalty-home-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:900px){.customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-two-cols{grid-template-columns:1fr}.loyalty-home-card{align-items:flex-start;flex-direction:column}.site-notice{flex-direction:column;gap:4px}.site-notice strong{white-space:normal}}
@media(max-width:620px){.customer-head{align-items:flex-start;flex-direction:column}.customer-head-actions{width:100%}.customer-head-actions .btn{flex:1}.customer-summary-grid{grid-template-columns:1fr 1fr}.customer-summary-card{padding:14px}.customer-list-item{align-items:flex-start;flex-direction:column}.customer-list-actions{justify-content:flex-start}.notice-stack-public{padding:10px 14px}}
.sidebar{overflow-y:auto;}
