@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root {
  --bg: #f3f5f4;
  --ink: #17201e;
  --muted: #66716e;
  --surface: #ffffff;
  --surface-ink: #17201e;
  --surface-muted: #6b7572;
  --line: #e1e6e4;
  --danger: #c2412d;
  --ok: #1f7a45;
  --nav-bg: rgb(255 255 255 / 94%);
  --ad-border: var(--line);
  --header-bg: #141b1a;
  --header-ink: #ffffff;
  --accent: #0e7462;
  --accent-ink: #ffffff;
  --accent-dark: #0e7462;
  --rule: #d6ddda;
  --font: 'Inter', system-ui, -apple-system, sans-serif;
  --display: 'Manrope', 'Inter', system-ui, sans-serif;
  --hero-bg: radial-gradient(120% 90% at 85% 10%, #0e7462 0%, #11483e 45%, #141b1a 100%);
  --hero-filter: none;
  color-scheme: light;
}
:root { --radius: 16px; --radius-sm: 12px; }
h1, h2, h3 { font-weight: 700; letter-spacing: -0.02em; }
h1 { font-size: 32px; } h2 { font-size: 26px; } h3 { font-size: 19px; }
.page-title { font-size: 28px; } .section-title { font-size: 24px; }
.welcome-body h1 { font-size: 30px; }
.welcome-actions .btn { font-size: 20px; min-height: 56px; }
.topbar .logo-text { font: 800 20px var(--display); letter-spacing: -0.01em; }
.btn { font-weight: 600; font-size: 16px; } .link-btn { font-weight: 600; }
.operator .photo { font: 700 54px var(--display); } .operator strong { font: 700 22px var(--display); }
.choice h3 { font-size: 18px; } .choice .price { font: 700 24px var(--display); }
.day strong { font: 700 32px var(--display); } .slot { font: 600 17px var(--font); }
.appt .when-day strong { font: 700 34px var(--display); } .appt .what { font: 600 15px var(--font); }
.appt .when-time strong { font: 700 26px var(--display); }
.points-hero strong { font: 800 64px var(--display); } .points-card strong { font: 800 24px var(--display); }
.otp-input { font: 600 28px var(--font) !important; }
.notice.error { background: #fbeae6; } .notice.ok { background: #e3f3e9; }
.card, .choice, .day, .slot, .appt, .ad-body { box-shadow: 0 0 0 1px var(--line), 0 1px 2px rgb(16 24 22 / 5%); }
.field input, .field select, .input, .textarea { border-color: #d3dad7; }
.segmented button.on { box-shadow: 0 0 0 1px var(--line); }
.operator .photo { border-width: 0; background: color-mix(in srgb, var(--accent) 12%, #ffffff); color: var(--accent-dark); }
.summary-panel { box-shadow: 0 -1px 0 var(--line); }
.razor-rating button { color: #cfd6d3; }
.tabbar { border-top-color: var(--line); }
.btn.primary:not(:disabled):hover { filter: brightness(1.08); }
