/* =====================================================================
   MapGrow — Premium SaaS Design Layer v3  (vibrant • glassy • colourful)
   Pure CSS skin — no markup / logic changes.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* ---------- 1. Tokens ---------- */
html:root{
  --p-ink:#171540; --p-ink-2:#434068; --p-muted:#6e6b92; --p-subtle:#9b98bd;
  --p-line:#e9e7f6; --p-line-2:#f2f0fb; --p-bg:#f6f6fd;
  --p-brand:#6a48ff; --p-brand-600:#5733ee; --p-brand-700:#4424c9; --p-brand-50:#f1edff; --p-brand-100:#e1d9ff;
  --p-pink:#ff4d9a; --p-orange:#ff8a1f; --p-green:#14c38e; --p-sky:#1fb2ff; --p-amber:#ffc22e; --p-fuchsia:#c13bff;
  --p-accent:#ff8a1f; --p-accent-600:#e8700a; --p-accent-50:#fff3e6;
  --p-ok:#0c9f6c; --p-ok-bg:#e5f9f1; --p-warn:#a86400; --p-warn-bg:#fff5db; --p-bad:#e0264e; --p-bad-bg:#ffecf1;
  --p-grad:linear-gradient(135deg,#6a48ff 0%,#9b4dff 55%,#d946ef 100%);
  --p-grad-warm:linear-gradient(135deg,#ff8a1f,#ff4d9a);
  --p-r-sm:11px; --p-r-md:15px; --p-r-lg:20px; --p-r-xl:26px;
  --p-sh-xs:0 1px 2px rgba(23,21,64,.05);
  --p-sh-sm:0 1px 2px rgba(23,21,64,.04),0 6px 18px rgba(80,60,200,.07);
  --p-sh-md:0 2px 6px rgba(23,21,64,.05),0 16px 36px rgba(80,60,200,.14);
  --p-sh-lg:0 10px 20px rgba(23,21,64,.07),0 32px 64px rgba(80,60,200,.2);
  --p-glow:0 8px 22px rgba(106,72,255,.38);
  --p-ring:0 0 0 4px rgba(106,72,255,.17);
  --p-font:'Plus Jakarta Sans','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;

  --dash-ink:var(--p-ink); --dash-purple:var(--p-brand); --dash-purple-light:var(--p-brand-50); --dash-orange:var(--p-accent); --dash-bg:var(--p-bg); --dash-muted:var(--p-muted); --dash-line:var(--p-line);
  --kt-purple:var(--p-brand); --kt-purple-light:var(--p-brand); --kt-orange:var(--p-accent); --kt-ink:var(--p-ink); --kt-muted:var(--p-muted); --kt-line:var(--p-line); --kt-soft:var(--p-brand-50);
  --sa-purple:var(--p-brand); --sa-purple-2:var(--p-brand); --sa-orange:var(--p-accent); --sa-ink:var(--p-ink); --sa-muted:var(--p-muted); --sa-line:var(--p-line); --sa-soft:var(--p-brand-50);
  --rm-purple:var(--p-brand); --rm-orange:var(--p-accent); --rm-ink:var(--p-ink); --rm-muted:var(--p-muted); --rm-line:var(--p-line); --rm-bg:var(--p-bg);
  --ra-purple:var(--p-brand); --ra-orange:var(--p-accent); --ra-ink:var(--p-ink); --ra-muted:var(--p-muted); --ra-line:var(--p-line); --ra-bg:var(--p-bg);
  --clinic-ink:var(--p-ink); --clinic-purple:var(--p-brand); --clinic-purple-light:var(--p-brand-50); --clinic-orange:var(--p-accent); --clinic-bg:var(--p-bg); --clinic-muted:var(--p-muted); --clinic-line:var(--p-line);
  --mg-ink:var(--p-ink); --mg-purple:var(--p-brand); --mg-purple2:var(--p-brand); --mg-orange:var(--p-accent); --mg-bg:var(--p-bg); --mg-muted:var(--p-muted); --mg-line:var(--p-line);
  --purple:var(--p-brand); --purple2:var(--p-brand); --orange:var(--p-accent); --ink:var(--p-ink); --muted:var(--p-muted); --line:var(--p-line); --soft:var(--p-brand-50); --bg:var(--p-bg);
  --navy:var(--p-ink); --blue:var(--p-brand);
  --login-purple:var(--p-brand); --login-orange:var(--p-brand); --brand-purple:var(--p-brand); --brand-orange:var(--p-brand);
  --bs-body-font-family:var(--p-font); --bs-primary:#6a48ff; --bs-primary-rgb:106,72,255; --bs-link-color:#5733ee; --bs-link-hover-color:#4424c9; --bs-border-color:#e9e7f6; --bs-border-radius:11px;
}

/* ---------- 2. Base — soft colour-mesh canvas ---------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html body{
  font-family:var(--p-font)!important;color:var(--p-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
  background:
    radial-gradient(760px 460px at 0% 0%,rgba(124,92,255,.14),transparent 62%),
    radial-gradient(700px 460px at 100% 0%,rgba(255,77,154,.11),transparent 62%),
    radial-gradient(800px 560px at 55% 105%,rgba(31,178,255,.12),transparent 62%),
    radial-gradient(520px 380px at 0% 70%,rgba(255,138,31,.07),transparent 62%),
    var(--p-bg)!important;
}
@media (min-width:900px){html body{background-attachment:fixed!important}}
html body :is(.local-dashboard,.ai-workspace,.clinic-wrap,.account-wrap,.rm-shell,.kt-layout,.sa-layout,.rh-page,.ra-page,.login-page,.register-page){font-family:var(--p-font);background:transparent}
html body :is(h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5){font-family:var(--p-font);letter-spacing:-.022em;color:var(--p-ink)}
html body ::selection{background:rgba(106,72,255,.22)}
html body :focus-visible{outline:none;box-shadow:var(--p-ring);border-radius:9px}
html body a{transition:color .15s ease,background .2s ease,border-color .15s ease,box-shadow .25s ease,transform .25s ease}
html body :is(.stat-value,.kt-stat-number,.num,.rm-stat strong,.rh-stat strong,.clinic-stat strong,.price,td,th){font-variant-numeric:tabular-nums}
html *{scrollbar-width:thin;scrollbar-color:#cfc6ff transparent}
html ::-webkit-scrollbar{width:10px;height:10px}
html ::-webkit-scrollbar-thumb{background:linear-gradient(#b9a8ff,#ff9ccb);border-radius:99px;border:3px solid transparent;background-clip:content-box}

/* gradient page titles */
html body :is(.page-title,.kt-heading h1,.rm-head h1,.sa-page-head h1,.ai-title-row h1,.account-head h1,.container .header h1,.login-heading h1,.register-heading h1){
  font-weight:800!important;letter-spacing:-.04em!important;
  background:linear-gradient(90deg,#171540 0%,#4a2ee0 55%,#c13bff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}

/* ---------- 3. Top navbar — frosted glass ---------- */
html body .navbar{background:rgba(255,255,255,.72)!important;backdrop-filter:saturate(200%) blur(18px);-webkit-backdrop-filter:saturate(200%) blur(18px);border-bottom:1px solid rgba(106,72,255,.1);box-shadow:0 6px 24px rgba(80,60,200,.06)!important;position:sticky;top:0;z-index:1030;padding-top:.65rem;padding-bottom:.65rem}
html body .navbar-brand{font-weight:800;letter-spacing:-.03em;color:var(--p-ink)!important;display:inline-flex;align-items:center;gap:10px}
html body .navbar-brand::before{content:"";width:30px;height:30px;border-radius:10px;background:var(--p-grad);box-shadow:var(--p-glow),inset 0 1px 0 rgba(255,255,255,.4)}
html body .navbar .nav-link{font-size:13.5px;font-weight:600;color:var(--p-ink-2)!important;border-radius:10px;padding:.5rem .85rem!important}
html body .navbar .nav-link:hover{background:var(--p-brand-50);color:var(--p-brand)!important}
html body .dropdown-menu{border:1px solid var(--p-line);border-radius:16px;box-shadow:var(--p-sh-lg);padding:8px;margin-top:10px!important;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
html body .dropdown-item{border-radius:10px;font-size:13px;font-weight:550;padding:9px 12px;color:var(--p-ink-2)}
html body .dropdown-item:hover,html body .dropdown-item:focus{background:var(--p-brand-50);color:var(--p-brand)}
html body .dropdown-divider{border-color:var(--p-line-2);margin:6px 4px}
html body main.py-4{padding-top:0!important}

/* ---------- 4. Sidebar — white glass, colourful icon chips ---------- */
html body :is(.side-rail,.kt-sidebar,.rm-sidebar,.rh-sidebar,.ra-sidebar,.sa-sidebar,.ai-rail,.sidebar){
  background:
    radial-gradient(240px 180px at 0 0,rgba(124,92,255,.14),transparent 70%),
    radial-gradient(240px 220px at 100% 100%,rgba(255,77,154,.12),transparent 70%),
    rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px);color:var(--p-ink)!important;border:1px solid rgba(255,255,255,.9)!important;
  border-radius:var(--p-r-xl)!important;box-shadow:0 0 0 1px var(--p-line),var(--p-sh-md)!important;
}
html body > .sidebar{border-radius:0!important;border-width:0!important;box-shadow:1px 0 0 var(--p-line),var(--p-sh-sm)!important}
html body :is(.brand-lockup,.kt-brand,.rm-brand,.rh-brand,.ra-brand,.sa-brand,.ai-brand,.brand){border-bottom:1px solid var(--p-line-2)!important}
html body :is(.brand-mark,.kt-brand-mark,.rm-brand-mark,.rh-brand-mark,.ra-brand-mark,.sa-brand-mark,.ai-brand-mark){background:var(--p-grad)!important;color:#fff!important;border-radius:13px!important;box-shadow:var(--p-glow),inset 0 1px 0 rgba(255,255,255,.4)!important;font-weight:800!important}
html body :is(.brand-name,.kt-brand strong,.rm-brand-name,.rh-brand-name,.ra-brand-name,.sa-brand strong,.ai-brand strong,.brand-title){color:var(--p-ink)!important;font-weight:800!important;letter-spacing:-.025em}
html body :is(.brand-caption,.kt-brand small,.rm-brand-caption,.rh-brand-caption,.ra-brand-caption,.sa-brand small,.ai-brand small,.brand-sub){color:var(--p-subtle)!important}
html body .sidebar .brand{color:var(--p-ink)!important}
html body .sidebar .brand span{color:var(--p-brand)!important}
html body .sidebar .brand small{color:var(--p-subtle)!important}
html body :is(.rail-label,.kt-nav-label,.rm-nav-label,.rh-nav-label,.ra-nav-label,.sa-nav-label,.ai-rail-label,.nav-label){color:var(--p-subtle)!important;font-weight:700!important;letter-spacing:.11em!important}

html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link,.sidebar .nav-link){
  color:var(--p-ink-2)!important;font-weight:600!important;font-size:13px!important;border-radius:13px!important;border-left:0!important;
  transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link,.sidebar .nav-link):hover{background:linear-gradient(90deg,#f4f0ff,#fff6fb)!important;color:var(--p-ink)!important;transform:translateX(3px)}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link,.sidebar .nav-link).active{
  background:linear-gradient(90deg,#ece6ff,#ffeaf4)!important;color:var(--p-brand-700)!important;font-weight:700!important;
  box-shadow:inset 0 0 0 1px rgba(106,72,255,.14),0 6px 16px rgba(106,72,255,.12)!important;transform:none;
}
/* colourful icon chips */
html body :is(.rail-icon,.kt-nav-icon,.rm-nav-icon,.rh-nav-icon,.ra-nav-icon,.sa-nav-icon,.side-icon){
  width:30px!important;height:30px!important;flex:0 0 30px!important;display:grid!important;place-items:center;border-radius:10px;font-size:14px!important;color:#fff!important;
  background:var(--chip,linear-gradient(135deg,#9a85ff,#6a48ff));box-shadow:0 4px 10px rgba(106,72,255,.25);
}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link):nth-of-type(6n+1){--chip:linear-gradient(135deg,#9a85ff,#6a48ff)}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link):nth-of-type(6n+2){--chip:linear-gradient(135deg,#4dd0ff,#1f8bff)}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link):nth-of-type(6n+3){--chip:linear-gradient(135deg,#ffb347,#ff6a1f)}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link):nth-of-type(6n+4){--chip:linear-gradient(135deg,#ff7eb6,#ff3d85)}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link):nth-of-type(6n+5){--chip:linear-gradient(135deg,#3fe0b0,#0aa879)}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link):nth-of-type(6n+6){--chip:linear-gradient(135deg,#d77bff,#a22cf0)}
html body :is(.kt-soon,.rm-soon,.rh-soon,.ra-soon,.sa-coming){background:var(--p-grad)!important;color:#fff!important;border:0;font-weight:700!important}
html body :is(.rail-help,.kt-quick,.rm-sidebar-help,.rh-help,.ra-help,.sa-quick,.quick-card){
  background:radial-gradient(180px 120px at 100% 0,rgba(255,200,120,.55),transparent 70%),linear-gradient(135deg,#6a48ff,#b04bff 60%,#ff5fa8)!important;
  border:0!important;border-radius:16px!important;color:#fff!important;box-shadow:0 14px 28px rgba(106,72,255,.34)!important;
}
html body :is(.rail-help,.kt-quick,.rm-sidebar-help,.rh-help,.ra-help,.sa-quick,.quick-card) :is(strong,p){color:#fff!important}
html body :is(.rail-help,.kt-quick,.rm-sidebar-help,.rh-help,.ra-help,.sa-quick,.quick-card) p{opacity:.9}
html body :is(.rail-help,.kt-quick,.rm-sidebar-help,.rh-help,.ra-help,.sa-quick,.quick-card) a{color:#fff!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}

/* ---------- 5. Hero banners — vivid mesh gradient ---------- */
html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero,.booking-brand){
  background:
    radial-gradient(420px 260px at 8% 10%,rgba(255,110,199,.75),transparent 70%),
    radial-gradient(380px 260px at 95% 0%,rgba(255,179,71,.7),transparent 70%),
    radial-gradient(420px 300px at 70% 120%,rgba(53,208,255,.6),transparent 70%),
    linear-gradient(135deg,#4423d6 0%,#6a3cff 55%,#8b4dff 100%)!important;
  border:1px solid rgba(255,255,255,.22)!important;border-radius:var(--p-r-xl)!important;
  box-shadow:0 24px 50px rgba(90,60,230,.34),inset 0 1px 0 rgba(255,255,255,.3)!important;
}
html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero) :is(h1,h2,h3){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;letter-spacing:-.035em;text-shadow:0 2px 14px rgba(40,10,120,.25)}
html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero) p{color:rgba(255,255,255,.88)!important}
html body :is(.eyebrow,.kt-eyebrow,.rm-eyebrow,.rh-eyebrow,.ra-eyebrow){font-weight:700!important;letter-spacing:.14em!important}
html body :is(.crumb,.kt-crumb,.sa-crumb){color:var(--p-subtle)!important;font-weight:500}
html body :is(.profile-pill,.user-chip,.sa-user-dot,.kt-user-dot){background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border:1px solid var(--p-line)!important;box-shadow:var(--p-sh-sm)!important;border-radius:999px!important}
html body :is(.avatar,.ai-avatar,.rm-avatar){background:var(--p-grad)!important;color:#fff!important;font-weight:800;border:0;box-shadow:0 4px 12px rgba(106,72,255,.3)}
html body .status-dot{background:rgba(255,255,255,.2)!important;border:1px solid rgba(255,255,255,.4)!important;color:#fff!important;backdrop-filter:blur(8px)}

/* ---------- 6. Cards ---------- */
html body :is(.panel,.stat-card,.kt-card,.kt-stat,.rm-card,.rm-stat,.rh-card,.rh-stat,.ra-card,.ra-section,.sa-card,.ai-panel,.ai-post,.clinic-card,.clinic-stat,.account-card,.booking-card,.success-card,.tool-card,.workspace-card,.plan,.local-dashboard .panel,.card){
  background:rgba(255,255,255,.94)!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:var(--p-r-lg)!important;
  box-shadow:0 0 0 1px var(--p-line),var(--p-sh-sm)!important;transition:box-shadow .25s ease,transform .25s ease;
}
html body :is(.panel,.kt-card,.rm-card,.rh-card,.ra-section,.sa-card,.ai-panel,.clinic-card,.account-card,.tool-card,.workspace-card):hover{box-shadow:0 0 0 1px #ddd5ff,var(--p-sh-md)!important}
html body :is(.stat-card,.kt-stat,.rm-stat,.rh-stat,.ra-card,.clinic-stat,.tool-card,.plan):hover{transform:translateY(-4px);box-shadow:0 0 0 1px #d9ceff,var(--p-sh-md)!important}
html body :is(.panel-head,.kt-card-head,.ai-panel-head,.rm-list-head,.rh-list-head,.sa-history-head,.ra-section-head){border-bottom-color:var(--p-line-2)!important}
html body :is(.panel-title,.kt-card-title h2,.ai-panel-head h2,.rm-list-head h2,.rh-list-head h2,.sa-card-intro h2,.section-title,.ra-section h2,.account-card h2){font-weight:700!important;letter-spacing:-.02em;color:var(--p-ink)}
html body :is(.panel-subtitle,.kt-card-title p,.ai-panel-head p,.rm-list-head p,.sa-card-intro p,.section-copy,.account-muted,.ai-help,.kt-help){color:var(--p-muted)!important}

/* KPI cards — each one gets its own colour story */
html body :is(.stat-card,.kt-stat,.rm-stat,.clinic-stat,.ra-card,.rh-stat){position:relative;overflow:hidden}
html body :is(.stat-card,.kt-stat,.ra-card)::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--k-grad,var(--p-grad))}
html body :is(.stat-card,.kt-stat,.ra-card,.rm-stat,.rh-stat,.clinic-stat)::after{content:"";position:absolute;right:-34px;top:-34px;width:120px;height:120px;border-radius:50%;background:var(--k-grad,var(--p-grad));opacity:.1;pointer-events:none}
html body .clinic-stat::before{width:0!important}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+1){--k-grad:linear-gradient(135deg,#9a85ff,#6a48ff);--k-tint:#f3efff;--k-glow:rgba(106,72,255,.38)}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+2){--k-grad:linear-gradient(135deg,#ffb347,#ff6a1f);--k-tint:#fff3e6;--k-glow:rgba(255,106,31,.38)}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+3){--k-grad:linear-gradient(135deg,#3fe0b0,#0aa879);--k-tint:#e8faf3;--k-glow:rgba(10,168,121,.38)}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+4){--k-grad:linear-gradient(135deg,#ff7eb6,#ff3d85);--k-tint:#ffedf5;--k-glow:rgba(255,61,133,.38)}
html body :is(.stats-grid>.stat-card,.kt-stats>.kt-stat,.rm-stats>.rm-stat,.rh-stat-grid>.rh-stat,.ra-grid>.ra-card,.clinic-grid>.clinic-stat){
  background:linear-gradient(165deg,var(--k-tint,#fff) 0%,#fff 62%)!important;
}
html body :is(.stat-icon,.kt-stat-icon,.rh-stat-icon,.ra-stat-icon){
  width:46px!important;height:46px!important;border-radius:15px!important;color:#fff!important;font-size:19px!important;border:0!important;
  background:var(--k-grad,var(--p-grad))!important;box-shadow:0 10px 20px var(--k-glow,rgba(106,72,255,.35)),inset 0 1px 0 rgba(255,255,255,.4)!important;
}
html body :is(.tool-icon,.sa-icon-box,.kt-card-icon,.sa-history-icon){background:var(--p-grad)!important;color:#fff!important;border:0!important;border-radius:13px!important;box-shadow:0 8px 18px rgba(106,72,255,.3)!important}
html body .kt-card-icon.orange{background:var(--p-grad-warm)!important;box-shadow:0 8px 18px rgba(255,106,31,.32)!important}
html body :is(.stat-value,.kt-stat-number,.num){font-weight:800!important;letter-spacing:-.045em!important;color:var(--p-ink)}
html body :is(.stat-label,.kt-stat-label,.ra-label){color:var(--p-muted)!important;font-weight:600}
html body :is(.stat-note,.kt-stat-note){color:var(--p-subtle)!important}
html body :is(.stat-trend,.ra-stat-tag){background:rgba(255,255,255,.85)!important;color:var(--p-brand-700)!important;border:1px solid rgba(106,72,255,.16);font-weight:700;border-radius:999px!important;padding:4px 10px!important}

/* ---------- 7. Tables ---------- */
html body :is(.kt-table thead th,.sa-table thead th,.ra-table th,.business-table th,.metric-table th,.clinic-wrap .table thead th,.table thead th,.panel table th){
  background:linear-gradient(90deg,#f1edff,#fff1f8)!important;color:var(--p-brand-700)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase;border-bottom:1px solid var(--p-brand-100)!important;
}
html body :is(.kt-table tbody td,.sa-table tbody td,.ra-table td,.business-table td,.metric-table td,.clinic-wrap .table td,.table td,.panel table td){border-color:var(--p-line-2)!important;color:var(--p-ink-2)}
html body :is(.kt-table tbody tr:hover td,.sa-table tbody tr:hover td,.business-table tbody tr:hover,.business-table tbody tr:hover td,.table-hover tbody tr:hover>*){background:linear-gradient(90deg,#f8f5ff,#fffafd)!important}
html body :is(.business-name,.kt-keyword-name,.sa-business-name,.rm-person strong,.value){color:var(--p-ink)!important;font-weight:700!important}

/* ---------- 8. Buttons — gradient + glow ---------- */
html body :is(.btn-main,.kt-btn-primary,.ai-btn-primary,.sa-primary-btn,.rm-btn,.ra-btn,.rh-btn.primary,.btn-book,.login-submit,.register-submit,.account-btn:not(.secondary),.btn-primary,.audit-action-btn,.plan .btn){
  background:var(--p-grad)!important;background-size:140% 100%!important;background-position:0 0!important;border:0!important;color:#fff!important;border-radius:12px!important;font-weight:700!important;letter-spacing:-.005em;
  box-shadow:var(--p-glow),inset 0 1px 0 rgba(255,255,255,.3)!important;transition:transform .2s ease,box-shadow .25s ease,background-position .4s ease!important;
}
html body :is(.btn-main,.kt-btn-primary,.ai-btn-primary,.sa-primary-btn,.rm-btn,.ra-btn,.rh-btn.primary,.btn-book,.login-submit,.register-submit,.account-btn:not(.secondary),.btn-primary,.audit-action-btn,.plan .btn):hover{
  background-position:100% 0!important;transform:translateY(-2px)!important;color:#fff!important;box-shadow:0 14px 30px rgba(106,72,255,.48),inset 0 1px 0 rgba(255,255,255,.35)!important;filter:none!important;
}
html body :is(.btn-main,.kt-btn-primary,.ai-btn-primary,.sa-primary-btn,.btn-primary,.login-submit,.register-submit):active{transform:translateY(0)!important}
html body :is(.btn-white,.kt-btn,.ai-btn,.rh-btn,.sa-report-btn,.account-btn.secondary,.btn-light,.btn-outline-primary,.btn-outline-secondary,.page-btn,.rm-btn.light){
  background:#fff!important;color:var(--p-brand-700)!important;border:1px solid var(--p-brand-100)!important;border-radius:12px!important;font-weight:650!important;box-shadow:var(--p-sh-xs)!important;transition:all .2s ease!important;
}
html body :is(.btn-white,.kt-btn,.ai-btn,.rh-btn,.sa-report-btn,.account-btn.secondary,.btn-light,.btn-outline-primary,.btn-outline-secondary,.page-btn,.rm-btn.light):hover:not(:disabled){
  background:linear-gradient(135deg,#f1edff,#fff1f8)!important;border-color:#cdbfff!important;color:var(--p-brand-700)!important;transform:translateY(-1px)!important;box-shadow:var(--p-sh-sm)!important;
}
html body .rh-btn.primary{color:#fff!important;background:var(--p-grad)!important;border:0!important}
html body .rm-btn.orange,html body .welcome .btn-main{background:var(--p-grad-warm)!important;box-shadow:0 8px 22px rgba(255,90,60,.38),inset 0 1px 0 rgba(255,255,255,.35)!important}
html body .welcome .btn-white{background:#fff!important;color:var(--p-brand-700)!important;border-color:#fff!important}
html body .kt-hero .kt-btn,html body .ai-hero .ai-btn{background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.4)!important;backdrop-filter:blur(8px);box-shadow:none!important}
html body :is(.kt-btn-danger,.btn-danger){background:#fff!important;color:var(--p-bad)!important;border:1px solid #f7c3d0!important;border-radius:12px!important;box-shadow:none!important}
html body :is(.kt-btn-danger,.btn-danger):hover{background:var(--p-bad-bg)!important}
html body :is(.btn,.ai-btn,.kt-btn,.rm-btn,.rh-btn,.ra-btn,.btn-main,.btn-white):disabled{opacity:.5;transform:none!important}
html body .page-btn.active{background:var(--p-grad)!important;color:#fff!important;border:0!important}

/* ---------- 9. Forms ---------- */
html body :is(.form-control,.form-select,.kt-control,.ai-control,.rm-textarea,.sa-select,.rm-location-trigger,.search-wrap input,.per-page-control select,.rh-filter select,.ra-filter select,.login-form .form-control,.register-form .form-control,.register-form .form-select){
  background-color:rgba(255,255,255,.95)!important;border:1.5px solid #e4e0f6!important;border-radius:var(--p-r-sm)!important;color:var(--p-ink)!important;font-family:var(--p-font);font-size:13.5px;box-shadow:var(--p-sh-xs)!important;transition:border-color .18s ease,box-shadow .18s ease!important;
}
html body :is(.form-control,.form-select,.kt-control,.ai-control,.rm-textarea,.sa-select,.rm-location-trigger,.search-wrap input,.per-page-control select,.rh-filter select,.ra-filter select):hover{border-color:#c9bdf8!important}
html body :is(.form-control,.form-select,.kt-control,.ai-control,.rm-textarea,.sa-select,.rm-location-trigger,.search-wrap input,.per-page-control select,.rh-filter select,.ra-filter select):focus{border-color:var(--p-brand)!important;box-shadow:var(--p-ring)!important;outline:none}
html body ::placeholder{color:#aaa6c8!important;opacity:1}
html body :is(.form-label,.kt-field label,.ai-field label,.rm-field label,.sa-field label,.rh-filter label,.ra-filter label,.login-form .form-label,.register-form .form-label){font-weight:650!important;color:var(--p-ink-2)!important;font-size:12.5px}
html body .form-check-input:checked{background-color:var(--p-brand);border-color:var(--p-brand)}
html body .ai-upload{background:linear-gradient(135deg,#faf8ff,#fff6fb)!important;border:2px dashed #cdbfff!important;border-radius:var(--p-r-md)!important}
html body .ai-upload:hover{border-color:var(--p-brand)!important}
html body .rm-location-menu{border:1px solid var(--p-line)!important;border-radius:16px!important;box-shadow:var(--p-sh-lg)!important}
html body .rm-location-option:hover,html body .rm-location-option[aria-selected="true"]{background:linear-gradient(90deg,#f1edff,#fff1f8)!important;color:var(--p-brand-700)!important}

/* ---------- 10. Pills, badges, alerts ---------- */
html body :is(.count-pill,.kt-count,.sa-count,.rh-count,.ai-status,.sa-tag,.plan-badge,.kt-pill,.sa-status,.rh-status,.badge){border-radius:999px!important;font-weight:700!important}
html body :is(.count-pill,.kt-count,.sa-count,.rh-count,.ai-status,.sa-tag){background:linear-gradient(135deg,#f1edff,#ffeaf4)!important;color:var(--p-brand-700)!important;border:1px solid rgba(106,72,255,.14)}
html body :is(.audit-score-good,.sa-score.good,.kt-status-published,.kt-pill.found,.badge.text-bg-success,.badge.active,.badge.bg-success,.active.badge){background:var(--p-ok-bg)!important;color:var(--p-ok)!important;border:1px solid #bdeedb}
html body :is(.audit-score-mid,.sa-score.mid,.kt-status-scheduled,.badge.text-bg-warning,.badge.bg-warning){background:var(--p-warn-bg)!important;color:var(--p-warn)!important;border:1px solid #f6df9d}
html body :is(.audit-score-low,.sa-score.low,.kt-status-failed,.kt-pill.error,.badge.text-bg-danger,.badge.suspended,.badge.bg-danger,.suspended.badge){background:var(--p-bad-bg)!important;color:var(--p-bad)!important;border:1px solid #f8c4d1}
html body :is(.audit-score-none,.kt-pill.muted){background:#f3f1fb!important;color:var(--p-muted)!important;border:1px solid var(--p-line)}
html body .pill{background:linear-gradient(135deg,#f1edff,#ffeaf4)!important;color:var(--p-brand-700)!important;border:1px solid rgba(106,72,255,.14)}
html body :is(.kt-alert,.ai-alert,.rm-alert,.ra-alert,.sa-alert,.clinic-alert,.alert,.message,.notice){border-radius:var(--p-r-md)!important;font-weight:550;box-shadow:var(--p-sh-xs)}
html body :is(.kt-alert.success,.ai-alert.success,.sa-alert.success,.alert-success,.message.success){background:var(--p-ok-bg);color:#0a7a52;border:1px solid #bdeedb}
html body :is(.kt-alert.error,.ai-alert.error,.sa-alert.error,.alert-danger,.message.error){background:var(--p-bad-bg);color:#b3173b;border:1px solid #f8c4d1}
html body :is(.kt-alert.warning,.ai-alert.warning,.alert-warning){background:var(--p-warn-bg);color:#8a5400;border:1px solid #f6df9d}
html body :is(.ai-cta,.next-card){background:linear-gradient(135deg,#fff4e8,#ffeef6)!important;border:1px solid #ffd7c2!important;border-radius:var(--p-r-md)!important}
html body :is(.ai-idea,.kt-idea-chip){background:#fff!important;border:1px solid var(--p-brand-100)!important;color:var(--p-brand-700)!important}
html body :is(.ai-idea,.kt-idea-chip):hover{background:linear-gradient(135deg,#f1edff,#fff1f8)!important;transform:translateY(-1px)}
html body .progress{background:#efecfa;border-radius:99px;overflow:hidden}
html body .progress-bar{background:var(--p-grad)}

/* ---------- 11. Pagination ---------- */
html body .pagination{gap:5px}
html body .page-link{border-radius:10px!important;border:1px solid var(--p-line);color:var(--p-ink-2);font-weight:650;font-size:13px}
html body .page-link:hover{background:linear-gradient(135deg,#f1edff,#fff1f8);color:var(--p-brand-700);border-color:var(--p-brand-100)}
html body .page-item.active .page-link{background:var(--p-grad);border-color:transparent;color:#fff;box-shadow:var(--p-glow)}

/* ---------- 12. Page-specific ---------- */
html body .clinic-nav{background:rgba(255,255,255,.92)!important;border:0!important;border-radius:var(--p-r-lg)!important;box-shadow:0 0 0 1px var(--p-line),var(--p-sh-sm)!important;padding:6px!important}
html body .clinic-nav a{background:transparent!important;color:var(--p-ink-2)!important;font-weight:650!important;border-radius:12px!important;box-shadow:none!important}
html body .clinic-nav a:hover{background:linear-gradient(90deg,#f4f0ff,#fff6fb)!important;color:var(--p-ink)!important}
html body .clinic-nav a.active{background:var(--p-grad)!important;color:#fff!important;box-shadow:var(--p-glow)!important}
html body .setup-step{background:var(--p-grad)!important;color:#fff!important;box-shadow:var(--p-glow)}
html body .plan-row .plan-badge{background:var(--p-grad)!important;color:#fff!important;border:0}
html body :is(.empty-state,.kt-empty,.kt-empty-box,.rm-empty,.rh-empty,.ra-empty,.sa-empty,.ai-empty){background:linear-gradient(135deg,#faf8ff,#fff6fb);border:2px dashed #d9ceff;border-radius:var(--p-r-lg)}
html body :is(.rm-review,.rh-entry):hover{background:linear-gradient(90deg,#faf8ff,#fffafd)}
html body :is(.rm-stars,.rm-rating){color:#ffb020}
html body .rm-existing-reply{background:linear-gradient(135deg,#f1edff,#fff1f8)!important;border:0!important;border-radius:13px!important}
html body .kt-draft{background:#fbfaff!important;border:1px solid var(--p-line)!important;border-radius:var(--p-r-md)!important}
html body .kt-post-card{border:1px solid var(--p-line)!important;border-radius:var(--p-r-md)!important}
html body .kt-rank{font-weight:800;background:var(--p-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html body .kt-auto-box{background:linear-gradient(135deg,#faf8ff,#fff6fb)!important;border:1px solid var(--p-brand-100)!important;border-radius:var(--p-r-md)!important}
html body .score-hero{background:linear-gradient(145deg,#f3efff,#fff0f7 60%,#fff6ea)!important;border:1px solid var(--p-brand-100)!important}
html body .report-tag{background:linear-gradient(135deg,#f1edff,#ffeaf4)!important;color:var(--p-brand-700)!important}
html body .plan.featured{
  border:2px solid transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,var(--p-grad) border-box!important;box-shadow:0 0 0 6px rgba(106,72,255,.08),var(--p-sh-md)!important;
}
html body .price{font-weight:800;letter-spacing:-.045em;color:var(--p-ink)}
html body .features li::before{color:var(--p-green)}
html body .top-links a{color:var(--p-brand);font-weight:650}
html body .main .eyebrow{color:var(--p-brand)}
html body .info-box{background:linear-gradient(135deg,#f1edff,#fff1f8)!important;border:0;border-radius:var(--p-r-md)!important}
html body .success-icon{background:var(--p-ok-bg)!important;color:var(--p-ok)!important;box-shadow:0 0 0 10px rgba(12,159,108,.08)}
/* Auth */
html body :is(.login-page,.register-page){background:transparent!important}
html body :is(.login-shell,.register-shell){border:0;border-radius:30px!important;box-shadow:0 0 0 1px var(--p-line),var(--p-sh-lg)!important}
html body :is(.login-aside,.register-aside){
  background:
    radial-gradient(360px 260px at 10% 5%,rgba(255,110,199,.7),transparent 70%),
    radial-gradient(340px 260px at 100% 30%,rgba(255,179,71,.55),transparent 70%),
    radial-gradient(420px 320px at 40% 115%,rgba(53,208,255,.55),transparent 70%),
    linear-gradient(150deg,#4423d6,#6a3cff 60%,#8b4dff)!important}
html body :is(.login-highlight,.register-benefit){background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:16px!important;backdrop-filter:blur(10px)}
html body :is(.login-highlight-icon,.register-benefit-icon){background:rgba(255,255,255,.22)!important;border-radius:12px!important}
html body :is(.login-forgot,.login-register a,.register-login a){color:var(--p-brand)!important;font-weight:700}
html body :is(.login-submit,.register-submit){padding-top:13px;padding-bottom:13px;font-size:14.5px}

/* ---------- 13. Gentle entrance motion ---------- */
@keyframes pRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
html body :is(.panel,.stat-card,.kt-card,.kt-stat,.rm-card,.rm-stat,.rh-card,.rh-stat,.ra-card,.ra-section,.sa-card,.ai-panel,.clinic-card,.clinic-stat,.account-card,.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.plan,.tool-card){animation:pRise .55s cubic-bezier(.2,.7,.2,1) both}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid,.tools-grid,.plans)>:nth-child(2){animation-delay:.06s}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid,.tools-grid,.plans)>:nth-child(3){animation-delay:.12s}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid,.tools-grid,.plans)>:nth-child(4){animation-delay:.18s}
@media (prefers-reduced-motion:reduce){html body *,html body *::before,html body *::after{animation:none!important;transition:none!important}}
@media print{
  html body :is(.sidebar,.side-rail,.kt-sidebar,.rm-sidebar,.rh-sidebar,.ra-sidebar,.sa-sidebar,.ai-rail,.navbar){display:none!important}
  html body{background:#fff!important}
  html body *{box-shadow:none!important;animation:none!important}
}


/* =====================================================================
   v4 — CLINIC SIDEBAR + PREMIUM LOGIN / REGISTER
   ===================================================================== */

/* ---------- Clinic management sidebar ---------- */
html body .clinic-wrap:has(.cl-shell){max-width:1720px}
html body .cl-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
html body .cl-main{min-width:0}
html body .cl-sidebar{position:sticky;top:86px;padding:20px 14px 16px;min-height:calc(100vh - 118px);display:flex;flex-direction:column}
html body .cl-sidebar .brand-lockup{display:flex;gap:12px;align-items:center;padding:4px 8px 18px;margin-bottom:4px}
html body .cl-sidebar .brand-mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;font-size:20px}
html body .cl-sidebar .brand-name{font-size:15px;line-height:1.2}
html body .cl-sidebar .brand-caption{font-size:11px;margin-top:3px}
html body .cl-sidebar .rail-label{font-size:10px;text-transform:uppercase;margin:20px 10px 8px}
html body .cl-sidebar .cl-nav{display:flex;flex-direction:column;gap:3px}
html body .cl-sidebar .rail-link{display:flex;align-items:center;gap:11px;padding:8px 10px;text-decoration:none;margin:0}
html body .cl-sidebar .cl-user{margin-top:auto;padding:12px;border-radius:15px;background:linear-gradient(135deg,#f6f3ff,#fff4fa);border:1px solid var(--p-line);display:flex;align-items:center;gap:11px}
html body .cl-sidebar .cl-user .avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 38px}
html body .cl-sidebar .cl-user strong{display:block;font-size:13px;color:var(--p-ink);line-height:1.2}
html body .cl-sidebar .cl-user small{display:block;font-size:11px;color:var(--p-muted);margin-top:2px}
@media (min-width:992px){html body .cl-shell .clinic-nav{display:none!important}}
@media (max-width:991px){
  html body .cl-shell{grid-template-columns:1fr}
  html body .cl-sidebar{display:none}
}

/* ---------- Auth pages: shared canvas ---------- */
html body :is(.login-page,.register-page){position:relative;overflow:hidden;min-height:calc(100vh - 66px)!important;padding:40px 18px!important;justify-content:center}
html body :is(.login-page,.register-page)::before,html body :is(.login-page,.register-page)::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}
html body :is(.login-page,.register-page)::before{width:420px;height:420px;left:-120px;top:-100px;background:#a58bff}
html body :is(.login-page,.register-page)::after{width:380px;height:380px;right:-100px;bottom:-110px;background:#ff9cc7}
html body:has(:is(.login-page,.register-page)) .navbar{display:none}
html body:has(:is(.login-page,.register-page)) main.py-4{padding:0!important}
html body :is(.login-shell,.register-shell){position:relative;z-index:1;background:rgba(255,255,255,.96)!important;border-radius:32px!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 0 0 1px var(--p-line),0 40px 90px rgba(80,50,200,.22)!important}
html body .login-shell{max-width:1120px!important}
html body .register-shell{max-width:1200px!important}

/* ---------- Aside (brand panel) ---------- */
html body :is(.login-aside,.register-aside){min-height:620px!important;padding:52px 44px!important;color:#fff;isolation:isolate}
html body :is(.login-aside,.register-aside)::before{content:"";position:absolute;z-index:-1;width:440px;height:440px;border-radius:50%;left:-170px;bottom:-190px;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 46px rgba(255,255,255,.05),0 0 0 100px rgba(255,255,255,.035)}
html body :is(.login-aside,.register-aside)::after{z-index:-1}
html body :is(.login-brand,.register-brand){display:flex;align-items:center;gap:12px;font-size:23px!important;font-weight:800;letter-spacing:-.03em;color:#fff!important;margin-bottom:34px!important}
html body :is(.login-brand,.register-brand)::before{content:"";width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.55));box-shadow:0 10px 24px rgba(30,10,110,.35),inset 0 1px 0 #fff;-webkit-mask:none}
html body :is(.login-brand span,.register-brand span){color:#ffd79a!important}
html body :is(.login-eyebrow,.register-eyebrow){display:inline-flex;align-self:flex-start;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);font-size:11px!important;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#fff!important;margin-bottom:20px!important}
html body :is(.login-aside,.register-aside) h2{font-size:38px!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-.04em!important;color:#fff!important;margin-bottom:16px!important;text-shadow:0 2px 18px rgba(40,10,120,.25)}
html body :is(.login-aside,.register-aside) p{font-size:14.5px!important;line-height:1.7!important;color:rgba(255,255,255,.88)!important;max-width:420px}
html body :is(.login-highlight,.register-benefit){display:flex;gap:14px;align-items:center;padding:14px 16px!important;margin-top:12px}
html body :is(.login-highlight-icon,.register-benefit-icon){width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;font-size:17px;color:#fff;font-weight:800}
html body :is(.login-highlight,.register-benefit) strong{color:#fff!important;font-size:14px;font-weight:700}
html body :is(.login-highlight,.register-benefit) small{color:rgba(255,255,255,.78)!important;font-size:12px}
html body .register-benefits{margin-top:26px!important}

/* floating feature cards on the login aside */
html body .auth-preview{margin-top:30px;display:flex;flex-direction:column;gap:12px;max-width:380px}
html body .auth-preview-card{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:17px;background:rgba(255,255,255,.96);color:var(--p-ink);box-shadow:0 18px 36px rgba(30,10,110,.28);animation:authFloat 6s ease-in-out infinite}
html body .auth-preview-card.shift{margin-left:34px;animation-delay:-2s}
html body .auth-preview-card:nth-child(3){animation-delay:-4s}
html body .auth-preview-card strong{display:block;font-size:13.5px;font-weight:700;color:var(--p-ink);line-height:1.2}
html body .auth-preview-card small{display:block;font-size:11.5px;color:var(--p-muted);margin-top:2px}
html body .ap-ico{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:16px;background:linear-gradient(135deg,#ffb347,#ff6a1f);box-shadow:0 8px 16px rgba(255,106,31,.35)}
html body .ap-ico.up{background:linear-gradient(135deg,#3fe0b0,#0aa879);box-shadow:0 8px 16px rgba(10,168,121,.35)}
html body .ap-ico.pink{background:linear-gradient(135deg,#ff7eb6,#ff3d85);box-shadow:0 8px 16px rgba(255,61,133,.35)}
@keyframes authFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ---------- Form panel ---------- */
html body :is(.login-form-panel,.register-form-panel){background:#fff;height:100%;display:flex;flex-direction:column;justify-content:center}
html body .login-form-panel{padding:60px 58px!important}
html body .register-form-panel{padding:46px 52px 38px!important}
html body :is(.login-heading,.register-heading){margin-bottom:30px}
html body :is(.login-heading h1,.register-heading h1){font-size:32px!important;line-height:1.15;margin-bottom:8px!important}
html body :is(.login-heading p,.register-heading p){color:var(--p-muted)!important;font-size:14px!important;margin:0}
html body :is(.login-field,.register-field){margin-bottom:20px!important}
html body :is(.login-form .form-control,.register-form .form-control,.register-form .form-select){min-height:54px!important;padding:12px 16px!important;font-size:14px!important;border-radius:14px!important;border:1.5px solid #e6e2f7!important;background-color:#fbfaff!important}
html body :is(.login-form .form-control,.register-form .form-control,.register-form .form-select):focus{background-color:#fff!important}
html body :is(.login-form .form-control:focus,.register-form .form-control:focus){border-color:var(--p-brand)!important}
html body :is(.login-form #email,.login-form #password,.register-form #name,.register-form #email,.register-form #mobile,.register-form #business_name,.register-form #city,.register-form #website,.register-form #password,.register-form #password-confirm){padding-left:46px!important}
html body :is(.login-password-wrap .form-control,.register-password-wrap .form-control){padding-right:84px!important}
html body :is(.login-password-toggle,.register-password-toggle){right:10px!important;padding:7px 12px!important;border-radius:10px!important;background:var(--p-brand-50)!important;color:var(--p-brand-700)!important;font-size:11.5px!important;font-weight:700!important;transition:background .2s}
html body :is(.login-password-toggle,.register-password-toggle):hover{background:var(--p-brand-100)!important}
html body :is(.login-form .form-label,.register-form .form-label){margin-bottom:8px;font-size:13px!important}
html body .login-options{margin:2px 0 26px!important}
html body .login-remember{color:var(--p-ink-2)!important;font-size:13px!important}
html body .login-remember .form-check-input{width:17px!important;height:17px!important;accent-color:var(--p-brand)!important}
html body :is(.login-submit,.register-submit){min-height:56px!important;border-radius:15px!important;font-size:15px!important;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:-.005em}
html body :is(.login-submit,.register-submit)::after{content:"\2192";font-size:18px;transition:transform .25s ease}
html body :is(.login-submit,.register-submit):hover::after{transform:translateX(5px)}
html body :is(.login-register,.register-login){color:var(--p-muted)!important;font-size:14px!important;margin-top:26px!important}
html body :is(.login-security-note,.register-secure-note){display:flex;align-items:center;justify-content:center;gap:7px;color:var(--p-subtle)!important;font-size:12px!important;margin-top:18px!important;padding-top:18px;border-top:1px solid var(--p-line-2)}
html body :is(.login-security-note,.register-secure-note)::before{content:"\1F512";font-size:12px}
html body :is(.login-form,.register-form) .invalid-feedback{font-size:12px;font-weight:600}
html body :is(.login-form,.register-form) .form-control.is-invalid{border-color:var(--p-bad)!important;background-color:#fff8fa!important}

@media (max-width:991px){
  html body :is(.login-aside,.register-aside){min-height:auto!important;padding:34px 28px!important}
  html body :is(.login-aside,.register-aside) h2{font-size:28px!important}
  html body .auth-preview{display:none}
}
@media (max-width:575px){
  html body :is(.login-page,.register-page){padding:14px 10px!important;align-items:flex-start}
  html body :is(.login-shell,.register-shell){border-radius:22px!important}
  html body :is(.login-form-panel,.register-form-panel){padding:30px 22px!important}
  html body :is(.login-heading h1,.register-heading h1){font-size:26px!important}
}
@media (prefers-reduced-motion:reduce){html body .auth-preview-card{animation:none}}

/* auth field icons */
html body .login-form #email:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m3 8 9 6 9-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .login-form #password:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='3'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #name:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4 4-6 8-6s7 2 8 6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #email:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m3 8 9 6 9-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #mobile:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='3'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #business_name:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 8h2M13 8h2M9 12h2M13 12h2M10 21v-4h4v4'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #city:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11.5A7 7 0 0 0 5 9.5C5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #website:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3.5 3 14.5 0 18M12 3c-3 3.5-3 14.5 0 18'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #password:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='3'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}
html body .register-form #password-confirm:not(.is-invalid){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239b8fe0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='3'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important;background-size:19px!important}

/* ============================================================================
   MAPGROW / ATELIER EDITION · PREMIUM SAAS UI · v5
   Presentation-only enhancement. No JavaScript, PHP, routes or data changes.
   Visual language: midnight navigation • porcelain surfaces • indigo/teal details.
   ============================================================================ */
html:root {
  --p-ink:#14213b; --p-ink-2:#36445e; --p-muted:#66748c; --p-subtle:#8994a8;
  --p-line:#e6eaf1; --p-line-2:#eef1f6; --p-bg:#f6f8fc;
  --p-brand:#4f46e5; --p-brand-600:#4338ca; --p-brand-700:#3730a3;
  --p-brand-50:#eef2ff; --p-brand-100:#dce4ff;
  --p-pink:#de668c; --p-orange:#eea24b; --p-green:#0eaa83; --p-sky:#4b92ed;
  --p-amber:#d99b37; --p-fuchsia:#9d70df;
  --p-accent:#0f9a86; --p-accent-600:#087c70; --p-accent-50:#e8f8f4;
  --p-ok:#087f60; --p-ok-bg:#e6f7f0; --p-warn:#93621f; --p-warn-bg:#fff7e7;
  --p-bad:#c73b51; --p-bad-bg:#fff0f2;
  --p-grad:linear-gradient(125deg,#4f46e5 0%,#6466ec 52%,#597ee8 100%);
  --p-grad-warm:linear-gradient(125deg,#0f9a86,#16ad9c);
  --p-r-sm:10px; --p-r-md:14px; --p-r-lg:18px; --p-r-xl:22px;
  --p-sh-xs:0 1px 2px rgba(18,32,60,.035);
  --p-sh-sm:0 2px 4px rgba(18,32,60,.025),0 12px 28px rgba(18,32,60,.035);
  --p-sh-md:0 5px 12px rgba(18,32,60,.035),0 22px 48px rgba(18,32,60,.075);
  --p-sh-lg:0 12px 28px rgba(18,32,60,.075),0 32px 72px rgba(18,32,60,.12);
  --p-glow:0 8px 22px rgba(79,70,229,.18);
  --p-ring:0 0 0 4px rgba(79,70,229,.13);
  --bs-primary:#4f46e5; --bs-primary-rgb:79,70,229;
  --bs-link-color:#4338ca; --bs-link-hover-color:#3730a3;
  --bs-border-color:#e6eaf1; --bs-border-radius:10px;
  --dash-purple:#4f46e5; --dash-orange:#0f9a86;
  --kt-purple:#4f46e5; --kt-orange:#0f9a86;
  --sa-purple:#4f46e5; --sa-purple-2:#4f46e5; --sa-orange:#0f9a86;
  --rm-purple:#4f46e5; --rm-orange:#0f9a86;
  --ra-purple:#4f46e5; --ra-orange:#0f9a86;
  --clinic-purple:#4f46e5; --clinic-orange:#0f9a86;
  --mg-purple:#4f46e5; --mg-purple2:#4f46e5; --mg-orange:#0f9a86;
  --purple:#4f46e5; --purple2:#4f46e5; --orange:#0f9a86;
  --blue:#4f46e5; --navy:#14213b;
  --login-purple:#152746; --login-orange:#91eedb;
  --brand-purple:#4f46e5; --brand-orange:#0f9a86;
}
html body {
  background:radial-gradient(980px 500px at 70% -13%,rgba(214,225,255,.34),transparent 75%),
             linear-gradient(180deg,#f9fbfe 0%,#f5f7fb 50%,#f8fafd 100%)!important;
  color:var(--p-ink);
}
html body ::selection{background:rgba(79,70,229,.15)}
html *{scrollbar-color:#cbd4e3 transparent}
html ::-webkit-scrollbar-thumb{background:#bbc5d5;border:3px solid transparent;background-clip:content-box}
html body :is(h1,h2,h3,h4,h5,h6){text-wrap:pretty}
html body :is(.page-title,.kt-heading h1,.rm-head h1,.sa-page-head h1,.ai-title-row h1,.account-head h1,.container .header h1,.login-heading h1,.register-heading h1){
  background:none!important;-webkit-text-fill-color:var(--p-ink)!important;color:var(--p-ink)!important;
  font-weight:800!important;letter-spacing:-.042em!important;
}
html body :is(.crumb,.kt-crumb,.sa-crumb,.eyebrow,.kt-eyebrow,.rm-eyebrow,.rh-eyebrow,.ra-eyebrow){letter-spacing:.075em!important}

/* Top chrome: a quiet, purposeful product header. */
html body .navbar{
  background:rgba(255,255,255,.94)!important;backdrop-filter:blur(20px);
  border-bottom:1px solid #e8ecf3!important;box-shadow:0 1px 0 rgba(16,31,58,.025)!important;
  min-height:67px;
}
html body .navbar-brand{font-size:17px;font-weight:800!important;letter-spacing:-.05em}
html body .navbar-brand::before{
  width:33px;height:33px;border-radius:11px;
  background:linear-gradient(135deg,#27336f 0%,#564ee0 66%,#697bef)!important;
  box-shadow:0 6px 13px rgba(79,70,229,.19)!important;
}
html body .navbar .nav-link{font-weight:700!important;color:#4a5870!important}
html body .navbar .nav-link:hover{background:#f0f2fa!important;color:#3730a3!important}
html body .dropdown-menu{background:#fff!important;border:1px solid var(--p-line)!important;box-shadow:var(--p-sh-md)!important}
html body .dropdown-item:hover{background:#f3f5ff!important}

/* Navigation: dark, elegant rails on every logged-in product surface. */
html body :is(.side-rail,.kt-sidebar,.rm-sidebar,.rh-sidebar,.ra-sidebar,.sa-sidebar,.ai-rail,.sidebar){
  background:radial-gradient(340px 240px at 110% -8%,rgba(100,111,235,.23),transparent 76%),
             linear-gradient(173deg,#172440 0%,#111d35 64%,#0e192f 100%)!important;
  color:#e8edfb!important;border:1px solid rgba(216,228,255,.085)!important;
  border-radius:19px!important;box-shadow:0 14px 30px rgba(12,22,44,.13)!important;
  backdrop-filter:none;
}
html body > .sidebar{border-radius:0!important;border:0!important;box-shadow:3px 0 20px rgba(10,20,42,.12)!important}
html body :is(.brand-lockup,.kt-brand,.rm-brand,.rh-brand,.ra-brand,.sa-brand,.ai-brand,.brand){
  border-bottom:1px solid rgba(223,233,255,.10)!important;
}
html body :is(.brand-mark,.kt-brand-mark,.rm-brand-mark,.rh-brand-mark,.ra-brand-mark,.sa-brand-mark,.ai-brand-mark){
  background:linear-gradient(145deg,#7976f5,#4c48da)!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;
  border-radius:12px!important;box-shadow:0 5px 15px rgba(4,8,35,.22)!important;
}
html body :is(.brand-name,.kt-brand strong,.rm-brand-name,.rh-brand-name,.ra-brand-name,.sa-brand strong,.ai-brand strong,.brand-title),
html body .sidebar .brand{color:#f7f9ff!important;font-weight:800!important}
html body .sidebar .brand span{color:#a7aaff!important}
html body :is(.brand-caption,.kt-brand small,.rm-brand-caption,.rh-brand-caption,.ra-brand-caption,.sa-brand small,.ai-brand small,.brand-sub),
html body .sidebar .brand small{color:#93a4c3!important}
html body :is(.rail-label,.kt-nav-label,.rm-nav-label,.rh-nav-label,.ra-nav-label,.sa-nav-label,.ai-rail-label,.nav-label){
  color:#8597b9!important;font-size:10px!important;font-weight:800!important;letter-spacing:.11em!important;
}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link,.sidebar .nav-link){
  color:#afbdd6!important;font-size:12.5px!important;font-weight:600!important;
  border-radius:10px!important;border:1px solid transparent!important;letter-spacing:0;
}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link,.sidebar .nav-link):hover{
  background:rgba(255,255,255,.068)!important;color:#fff!important;
  transform:none!important;border-color:rgba(255,255,255,.06)!important;
}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link,.sidebar .nav-link).active{
  background:linear-gradient(100deg,rgba(102,97,236,.35),rgba(94,104,223,.16))!important;
  color:#fff!important;font-weight:750!important;border-color:rgba(159,170,255,.20)!important;
  box-shadow:inset 3px 0 #a5b4fc,0 6px 15px rgba(4,9,29,.13)!important;
}
html body :is(.rail-icon,.kt-nav-icon,.rm-nav-icon,.rh-nav-icon,.ra-nav-icon,.sa-nav-icon,.side-icon){
  width:28px!important;height:28px!important;flex:0 0 28px!important;
  background:rgba(169,185,225,.12)!important;color:#cbd5f8!important;
  border:1px solid rgba(206,220,255,.09)!important;
  border-radius:9px!important;font-size:14px!important;box-shadow:none!important;
}
html body :is(.rail-link,.kt-nav,.rm-nav,.rh-nav,.ra-nav,.sa-nav,.ai-nav,.side-link).active :is(.rail-icon,.kt-nav-icon,.rm-nav-icon,.rh-nav-icon,.ra-nav-icon,.sa-nav-icon,.side-icon){
  background:#6265df!important;color:#fff!important;border-color:rgba(255,255,255,.20)!important;
}
html body :is(.kt-soon,.rm-soon,.rh-soon,.ra-soon,.sa-coming,.coming){background:rgba(159,175,210,.16)!important;color:#acb9d2!important;box-shadow:none!important}
html body :is(.rail-help,.kt-quick,.rm-sidebar-help,.rh-help,.ra-help,.sa-quick,.quick-card){
  background:linear-gradient(155deg,rgba(96,103,208,.34),rgba(50,72,139,.26))!important;
  border:1px solid rgba(177,190,248,.20)!important;border-radius:15px!important;
  box-shadow:none!important;
}
html body :is(.rail-help,.kt-quick,.rm-sidebar-help,.rh-help,.ra-help,.sa-quick,.quick-card) a{color:#b9f9e9!important}
html body :is(.rail-help,.kt-quick,.rm-sidebar-help,.rh-help,.ra-help,.sa-quick,.quick-card) p{color:#c2cde5!important}
html body .cl-sidebar .cl-user{
  background:rgba(245,249,255,.075)!important;border-color:rgba(220,233,255,.11)!important;
}
html body .cl-sidebar .cl-user strong{color:#eff3ff!important}
html body .cl-sidebar .cl-user small{color:#aab8d0!important}

/* Hero surfaces: midnight product canvas with soft dimensional accents. */
html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero,.booking-brand){
  background:radial-gradient(460px 260px at 105% -10%,rgba(126,139,247,.35),transparent 70%),
             radial-gradient(440px 240px at -9% 111%,rgba(25,171,160,.20),transparent 72%),
             linear-gradient(115deg,#172747 0%,#263d71 60%,#354c86 100%)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:20px!important;
  box-shadow:0 16px 33px rgba(23,42,79,.13)!important;
}
html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero) :is(h1,h2,h3){
  text-shadow:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  letter-spacing:-.035em!important;
}
html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero) p{color:#d5def0!important}
html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero) :is(.eyebrow,.kt-eyebrow,.small){color:#b6c4e6!important}
html body .welcome .status-dot{background:rgba(23,170,136,.18)!important;color:#c3ffe8!important;border:1px solid rgba(119,228,197,.35)!important}
html body :is(.avatar,.ai-avatar,.rm-avatar){background:linear-gradient(135deg,#6463e8,#817df3)!important;box-shadow:none!important}
html body :is(.profile-pill,.user-chip,.sa-user-dot,.kt-user-dot){background:#fff!important;box-shadow:var(--p-sh-xs)!important;border:1px solid var(--p-line)!important}

/* Surface system, widgets and valuable negative space. */
html body :is(.panel,.stat-card,.kt-card,.kt-stat,.rm-card,.rm-stat,.rh-card,.rh-stat,.ra-card,.ra-section,.sa-card,.ai-panel,.ai-post,.clinic-card,.clinic-stat,.account-card,.booking-card,.success-card,.tool-card,.workspace-card,.plan,.local-dashboard .panel,.card){
  background:#fff!important;border:1px solid var(--p-line)!important;
  border-radius:17px!important;box-shadow:var(--p-sh-sm)!important;
}
html body :is(.panel,.kt-card,.rm-card,.rh-card,.ra-section,.sa-card,.ai-panel,.clinic-card,.account-card,.tool-card,.workspace-card):hover{
  box-shadow:var(--p-sh-md)!important;border-color:#d9dff0!important;
}
html body :is(.stat-card,.kt-stat,.rm-stat,.rh-stat,.ra-card,.clinic-stat,.tool-card,.plan):hover{
  transform:translateY(-2px)!important;box-shadow:var(--p-sh-md)!important;border-color:#d5dcf0!important;
}
html body :is(.stat-card,.kt-stat,.ra-card)::before{height:3px!important;background:var(--k-grad,var(--p-grad))!important}
html body :is(.stat-card,.kt-stat,.ra-card,.rm-stat,.rh-stat,.clinic-stat)::after{
  width:86px!important;height:86px!important;right:-45px!important;top:-45px!important;opacity:.055!important;
}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+1){--k-grad:linear-gradient(90deg,#6565e9,#8c90f7);--k-tint:#fff;--k-glow:rgba(79,70,229,.12)}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+2){--k-grad:linear-gradient(90deg,#16a78f,#48c7ac);--k-tint:#fff;--k-glow:rgba(15,154,134,.12)}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+3){--k-grad:linear-gradient(90deg,#438fda,#85b6f5);--k-tint:#fff;--k-glow:rgba(67,143,218,.12)}
html body :is(.stats-grid,.kt-stats,.rm-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+4){--k-grad:linear-gradient(90deg,#dba454,#f1c580);--k-tint:#fff;--k-glow:rgba(219,164,84,.12)}
html body :is(.stats-grid>.stat-card,.kt-stats>.kt-stat,.rm-stats>.rm-stat,.rh-stat-grid>.rh-stat,.ra-grid>.ra-card,.clinic-grid>.clinic-stat){background:#fff!important}
html body :is(.stat-icon,.kt-stat-icon,.rh-stat-icon,.ra-stat-icon,.tool-icon,.sa-icon-box,.kt-card-icon,.sa-history-icon){
  background:#eef1ff!important;color:#5149bb!important;border:1px solid #e0e5ff!important;
  box-shadow:none!important;border-radius:12px!important;
}
html body :is(.stats-grid,.kt-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+2) :is(.stat-icon,.kt-stat-icon,.rh-stat-icon,.ra-stat-icon){background:#e9f8f3!important;color:#07816d!important;border-color:#d1f0e5!important}
html body :is(.stats-grid,.kt-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+3) :is(.stat-icon,.kt-stat-icon,.rh-stat-icon,.ra-stat-icon){background:#ecf4ff!important;color:#3578c2!important;border-color:#daebff!important}
html body :is(.stats-grid,.kt-stats,.rh-stat-grid,.ra-grid,.clinic-grid)>:nth-child(4n+4) :is(.stat-icon,.kt-stat-icon,.rh-stat-icon,.ra-stat-icon){background:#fff6e8!important;color:#b87827!important;border-color:#ffead0!important}
html body .kt-card-icon.orange{background:#e8f8f3!important;color:#0f947a!important;box-shadow:none!important;border-color:#d1f0e5!important}
html body :is(.stat-value,.kt-stat-number,.num,.rm-stat strong,.rh-stat strong,.clinic-stat strong){letter-spacing:-.047em!important;color:#172644!important;font-weight:800!important}
html body :is(.stat-trend,.ra-stat-tag){background:#edf8f3!important;color:#07836b!important;border-color:#cfefdf!important}
html body :is(.panel-head,.kt-card-head,.ai-panel-head,.rm-list-head,.rh-list-head,.sa-history-head,.ra-section-head){border-bottom-color:#edf0f5!important}
html body :is(.panel-title,.kt-card-title h2,.ai-panel-head h2,.rm-list-head h2,.rh-list-head h2,.sa-card-intro h2,.section-title,.ra-section h2,.account-card h2){font-weight:750!important;color:var(--p-ink)!important}

/* Clear hierarchy for tables, data lists, and pagination. */
html body :is(.kt-table thead th,.sa-table thead th,.ra-table th,.business-table th,.metric-table th,.clinic-wrap .table thead th,.table thead th,.panel table th){
  background:#f7f9fd!important;color:#61708a!important;
  border-bottom:1px solid #e9edf4!important;
  font-size:10.5px!important;letter-spacing:.068em!important;
}
html body :is(.kt-table tbody tr:hover td,.sa-table tbody tr:hover td,.business-table tbody tr:hover,.business-table tbody tr:hover td,.table-hover tbody tr:hover>*){background:#f8faff!important}
html body :is(.table td,.table th,.business-table td,.business-table th,.kt-table td,.sa-table td){vertical-align:middle}
html body :is(.business-table,.table-responsive){scrollbar-color:#c7d1e2 #f9fafe}
html body :is(.business-name,.kt-keyword-name,.sa-business-name,.rm-person strong,.value){color:#1c2a45!important}
html body .page-link{background:#fff!important;border-color:#e5eaf3!important;color:#485a76!important;font-weight:650!important}
html body .page-link:hover{background:#f2f4ff!important;color:#4338ca!important}
html body .page-item.active .page-link,html body .page-btn.active{background:#4f46e5!important;color:#fff!important;box-shadow:none!important}

/* Controls: high-contrast action, soft secondary actions, generous focus states. */
html body :is(.btn-main,.btn-primary,.ai-btn-primary,.kt-btn-primary,.rm-btn.primary,.rh-btn.primary,.ra-btn.primary,.sa-btn-primary,.account-btn.primary,.login-submit,.register-submit,.audit-action-btn){
  background:linear-gradient(125deg,#5149e4,#5f6bea)!important;
  border:1px solid #4f46e5!important;color:#fff!important;
  border-radius:11px!important;box-shadow:0 6px 15px rgba(79,70,229,.14)!important;
  font-weight:750!important;
}
html body :is(.btn-main,.btn-primary,.ai-btn-primary,.kt-btn-primary,.rm-btn.primary,.rh-btn.primary,.ra-btn.primary,.sa-btn-primary,.account-btn.primary,.login-submit,.register-submit,.audit-action-btn):hover:not(:disabled){
  background:linear-gradient(125deg,#4338ca,#5054d4)!important;
  border-color:#4338ca!important;box-shadow:0 10px 22px rgba(79,70,229,.22)!important;
  transform:translateY(-1px);
}
html body :is(.btn-white,.kt-btn,.ai-btn,.rh-btn,.sa-report-btn,.account-btn.secondary,.btn-light,.btn-outline-primary,.btn-outline-secondary,.page-btn,.rm-btn.light){
  background:#fff!important;border:1px solid #dde4f0!important;
  color:#465676!important;border-radius:10px!important;
  box-shadow:0 1px 2px rgba(18,32,60,.025)!important;font-weight:700!important;
}
html body :is(.btn-white,.kt-btn,.ai-btn,.rh-btn,.sa-report-btn,.account-btn.secondary,.btn-light,.btn-outline-primary,.btn-outline-secondary,.page-btn,.rm-btn.light):hover:not(:disabled){
  background:#f4f6ff!important;color:#3730a3!important;border-color:#c7cff8!important;box-shadow:var(--p-sh-xs)!important;
}
html body .rm-btn.orange,html body .welcome .btn-main{background:linear-gradient(125deg,#0f9a86,#10ae9a)!important;border-color:#0f9a86!important;color:#fff!important;box-shadow:0 7px 17px rgba(15,154,134,.19)!important}
html body .welcome .btn-main:hover{background:#087e71!important}
html body .welcome .btn-white{color:#293c68!important;background:#fff!important;border-color:#fff!important}
html body :is(.kt-hero .kt-btn,.ai-hero .ai-btn){background:rgba(255,255,255,.13)!important;color:#fff!important;border:1px solid rgba(255,255,255,.29)!important;box-shadow:none!important}
html body :is(.btn-danger,.kt-btn-danger){background:#fff!important;color:#b73550!important;border:1px solid #f0cbd1!important}
html body :is(.btn-danger,.kt-btn-danger):hover{background:#fff0f2!important}
html body :is(.form-control,.form-select,.kt-control,.ai-control,.rm-textarea,.sa-select,.rm-location-trigger,.search-wrap input,.per-page-control select,.rh-filter select,.ra-filter select){
  background-color:#fff!important;border:1px solid #dfe6f0!important;border-radius:10px!important;
  box-shadow:0 1px 2px rgba(15,28,53,.022)!important;color:#1d2c47!important;
}
html body :is(.form-control,.form-select,.kt-control,.ai-control,.rm-textarea,.sa-select,.rm-location-trigger,.search-wrap input,.per-page-control select,.rh-filter select,.ra-filter select):focus{
  border-color:#7775eb!important;box-shadow:var(--p-ring)!important;
}
html body :is(.form-control,.form-select,.kt-control,.ai-control,.rm-textarea,.sa-select,.rm-location-trigger,.search-wrap input,.per-page-control select,.rh-filter select,.ra-filter select):hover{border-color:#c3cce2!important}
html body ::placeholder{color:#9ba6b9!important}
html body .form-check-input:checked{background-color:#4f46e5!important;border-color:#4f46e5!important}
html body .ai-upload{background:#f8faff!important;border-color:#c7d1eb!important}
html body .ai-upload:hover{border-color:#7175da!important}

/* Statuses, empty states, utility panels. */
html body :is(.count-pill,.kt-count,.sa-count,.rh-count,.ai-status,.sa-tag,.pill,.report-tag){background:#eef2ff!important;color:#4942ad!important;border:1px solid #e0e5ff!important}
html body :is(.audit-score-good,.sa-score.good,.kt-status-published,.kt-pill.found,.badge.text-bg-success,.badge.active,.badge.bg-success,.active.badge){background:#e4f7ee!important;color:#087f60!important;border-color:#c8eddb!important}
html body :is(.audit-score-mid,.sa-score.mid,.kt-status-scheduled,.badge.text-bg-warning,.badge.bg-warning){background:#fff7e7!important;color:#93621f!important;border-color:#f5e1b8!important}
html body :is(.audit-score-low,.sa-score.low,.kt-status-failed,.kt-pill.error,.badge.text-bg-danger,.badge.suspended,.badge.bg-danger,.suspended.badge){background:#fff0f2!important;color:#b73550!important;border-color:#f4cbd4!important}
html body :is(.empty-state,.kt-empty,.kt-empty-box,.rm-empty,.rh-empty,.ra-empty,.sa-empty,.ai-empty){background:#f9fbff!important;border:1px dashed #cdd7e8!important}
html body :is(.ai-cta,.next-card,.info-box,.kt-auto-box,.rm-existing-reply){background:#f0f6ff!important;border:1px solid #dfebfa!important;border-radius:14px!important}
html body :is(.ai-idea,.kt-idea-chip){background:#f9faff!important;border:1px solid #dce3f5!important;color:#4656ac!important}
html body :is(.ai-idea,.kt-idea-chip):hover{background:#eef2ff!important}
html body .score-hero{background:linear-gradient(145deg,#eff2ff,#f7f9ff)!important;border-color:#dfe5f7!important}
html body .kt-draft{background:#f9fbff!important;border-color:#e5eaf3!important}
html body .kt-post-card{border-color:#e5eaf3!important}
html body .kt-rank{background:linear-gradient(125deg,#4f46e5,#7294e9)!important;-webkit-background-clip:text!important;background-clip:text!important}
html body .progress{background:#e9edf5}
html body .progress-bar{background:#4f46e5!important}
html body .clinic-nav{background:#fff!important;border:1px solid #e6eaf1!important;box-shadow:var(--p-sh-xs)!important}
html body .clinic-nav a:hover{background:#f1f4ff!important}
html body .clinic-nav a.active{background:#4f46e5!important;box-shadow:none!important;color:#fff!important}
html body .setup-step{background:#4f46e5!important;box-shadow:none!important}
html body .plan-row .plan-badge{background:#4f46e5!important}
html body .plan.featured{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(130deg,#4f46e5,#19aa9b) border-box!important;box-shadow:var(--p-sh-md)!important}
html body .success-icon{background:#e4f7ee!important;color:#087f60!important;box-shadow:0 0 0 9px #eff9f4!important}

/* Auth: presentation only, preserve the existing form structure and validation. */
html body :is(.login-page,.register-page)::before{background:#d8e2ff!important;opacity:.8!important;filter:blur(70px)}
html body :is(.login-page,.register-page)::after{background:#cdeeea!important;opacity:.75!important;filter:blur(75px)}
html body :is(.login-shell,.register-shell){background:#fff!important;border:1px solid #e4e9f3!important;border-radius:24px!important;box-shadow:0 30px 80px rgba(23,42,79,.13)!important}
html body :is(.login-aside,.register-aside){
  background:radial-gradient(400px 290px at 110% -10%,rgba(107,126,231,.38),transparent 73%),
             radial-gradient(350px 280px at -10% 115%,rgba(17,167,149,.32),transparent 72%),
             linear-gradient(145deg,#142343 0%,#1b335e 65%,#273c71 100%)!important;
  color:#fff!important;
}
html body :is(.login-aside,.register-aside) h2{text-shadow:none!important;font-size:clamp(29px,3.4vw,39px)!important}
html body :is(.login-aside,.register-aside) p{color:#cddaf0!important}
html body :is(.login-brand span,.register-brand span){color:#8af2df!important}
html body :is(.login-brand,.register-brand)::before{background:linear-gradient(135deg,#737cef,#3f54be)!important;box-shadow:0 9px 20px rgba(5,10,26,.24)!important}
html body :is(.login-eyebrow,.register-eyebrow){background:rgba(255,255,255,.095)!important;color:#d0def8!important;border-color:rgba(255,255,255,.17)!important}
html body :is(.login-highlight,.register-benefit){background:rgba(255,255,255,.065)!important;border:1px solid rgba(206,224,255,.16)!important;backdrop-filter:none}
html body :is(.login-highlight-icon,.register-benefit-icon){background:rgba(125,151,238,.24)!important}
html body .auth-preview-card{border:1px solid #e8ecf5!important;box-shadow:0 12px 30px rgba(10,20,45,.18)!important}
html body .ap-ico{background:#eef2ff!important;color:#4338ca!important;box-shadow:none!important}
html body .ap-ico.pink{background:#eaf8f4!important;color:#087f60!important}
html body :is(.login-form .form-control,.register-form .form-control,.register-form .form-select){border-color:#dfe6f1!important;border-radius:11px!important;background-color:#fff!important}
html body :is(.login-password-toggle,.register-password-toggle){background:#eef2ff!important;color:#4f46e5!important}
html body :is(.login-submit,.register-submit){border-radius:11px!important}
html body :is(.login-forgot,.login-register a,.register-login a){color:#4843cf!important}

/* Consistent viewport behavior, without hiding any app actions. */
html body :is(.local-dashboard,.ai-workspace,.clinic-wrap,.rm-shell,.kt-layout,.sa-layout,.rh-page,.ra-page){max-width:100%}
html body :is(.dashboard-shell,.kt-layout,.sa-layout,.rm-shell,.rh-layout,.ra-layout,.ai-shell,.cl-shell){min-width:0}
html body :is(.main-content,.kt-main,.sa-main,.rm-main,.rh-main,.ra-main,.ai-main,.cl-main,.main-area){min-width:0}
@media(max-width:1199px){
  html body :is(.side-rail,.kt-sidebar,.rm-sidebar,.rh-sidebar,.ra-sidebar,.sa-sidebar,.ai-rail){border-radius:16px!important}
  html body :is(.profile-pill,.user-chip){max-width:100%}
}
@media(max-width:767px){
  html body :is(.welcome,.kt-hero,.ai-hero,.clinic-head,.rh-head,.ra-head,.setup-hero,.booking-brand){border-radius:15px!important}
  html body :is(.panel,.stat-card,.kt-card,.kt-stat,.rm-card,.rm-stat,.rh-card,.rh-stat,.ra-card,.ra-section,.sa-card,.ai-panel,.clinic-card,.clinic-stat,.account-card,.booking-card,.tool-card,.plan){border-radius:14px!important}
  html body :is(.page-title,.kt-heading h1,.rm-head h1,.sa-page-head h1,.ai-title-row h1){letter-spacing:-.035em!important}
  html body .navbar{min-height:60px}
  html body .cl-sidebar{display:none!important}
  html body .cl-shell{grid-template-columns:minmax(0,1fr)!important}
  html body .auth-preview{display:none!important}
  html body :is(.login-aside,.register-aside){padding:32px 26px!important}
  html body :is(.login-shell,.register-shell){border-radius:18px!important}
}
@media(max-width:480px){
  html body :is(.btn-main,.btn-primary,.ai-btn,.kt-btn,.rh-btn,.btn-white){max-width:100%}
  html body :is(.login-form-panel,.register-form-panel){padding:28px 20px!important}
  html body :is(.login-page,.register-page){padding:12px 8px!important}
}
@media(prefers-reduced-motion:reduce){html body .auth-preview-card{animation:none!important}}
@media print{html body :is(.side-rail,.kt-sidebar,.rm-sidebar,.rh-sidebar,.ra-sidebar,.sa-sidebar,.ai-rail,.sidebar){box-shadow:none!important}}
