/* =========================================================
   PROPRICARE HEALTHCARE — design system
   Shared shell + tokens. Practice pages override --accent-*
   via body[data-practice] to "retint" the whole UI.
   ========================================================= */

:root{
  /* neutrals */
  --white:#FFFFFF;
  --paper:#F6F8FA;
  --paper-deep:#EEF2F5;
  --ink-900:#182233;
  --ink-700:#374357;
  --ink-600:#5B6779;
  --ink-400:#8B96A6;
  --line:#E2E8ED;
  --line-strong:#CBD5DF;

  /* Propricare corporate blue — Medical Centre logo */
  --blue-900:#1D2B5C;
  --blue-800:#233A73;
  --blue-700:#2E4A93;
  --blue-500:#1596CF;
  --blue-200:#BFE1F2;
  --blue-100:#E7F4FB;

  /* Women's Clinic plum */
  --plum-900:#2C1B44;
  --plum-800:#402A5C;
  --plum-700:#5A3878;
  --plum-500:#B15A82;
  --plum-200:#EBD3E1;
  --plum-100:#F7ECF2;

  /* clinical sage — shared secondary accent */
  --sage-600:#2F8F6B;
  --sage-100:#E4F3EC;

  --warn-600:#B4552F;
  --warn-100:#FBEAE2;

  /* default (corporate) accent scope — used on shared pages */
  --accent-900:var(--blue-900);
  --accent-700:var(--blue-700);
  --accent-500:var(--blue-500);
  --accent-200:var(--blue-200);
  --accent-100:var(--blue-100);
  --accent-label:"Propricare Healthcare";

  --font-display:'Sora', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;

  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
  --shadow-card:0 1px 2px rgba(24,34,51,0.04), 0 12px 28px rgba(24,34,51,0.07);
  --shadow-pop:0 20px 48px rgba(24,34,51,0.16);
  --wrap:1180px;
}

/* Practice re-tint scopes */
body[data-practice="medical"]{
  --accent-900:var(--blue-900);
  --accent-700:var(--blue-700);
  --accent-500:var(--blue-500);
  --accent-200:var(--blue-200);
  --accent-100:var(--blue-100);
}
body[data-practice="womens"]{
  --accent-900:var(--plum-900);
  --accent-700:var(--plum-700);
  --accent-500:var(--plum-500);
  --accent-200:var(--plum-200);
  --accent-100:var(--plum-100);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--white);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul,ol{list-style:none;}
button{font-family:inherit; cursor:pointer; background:none; border:none; color:inherit;}
input,select,textarea{font-family:inherit; font-size:15px; color:var(--ink-900);}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; color:var(--ink-900);}
:focus-visible{outline:3px solid var(--accent-500); outline-offset:2px; border-radius:4px;}

.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px;}
.wrap-narrow{max-width:820px; margin:0 auto; padding:0 24px;}

.eyebrow{
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.09em; text-transform:uppercase;
  color:var(--accent-700); display:inline-flex; align-items:center; gap:8px; font-weight:500;
}
.eyebrow::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--accent-500); flex-shrink:0;}

.section{padding:88px 0;}
.section-tight{padding:56px 0;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:clamp(26px,3.4vw,38px); margin:14px 0 12px; line-height:1.15;}
.section-head p{color:var(--ink-600); font-size:16.5px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.bg-paper{background:var(--paper);}
.bg-accent{background:var(--accent-900); color:var(--paper);}
.bg-accent .eyebrow{color:rgba(246,248,250,0.75);}
.bg-accent h2,.bg-accent h3{color:var(--white);}

/* ===== buttons ===== */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:600; font-size:14.5px;
  padding:13px 24px; border-radius:999px; border:1px solid transparent; transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  white-space:nowrap;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--accent-900); color:var(--white);}
.btn-primary:hover{box-shadow:0 10px 24px rgba(24,34,51,0.24);}
.btn-accent{background:var(--accent-500); color:var(--white);}
.btn-accent:hover{box-shadow:0 10px 24px rgba(24,34,51,0.2);}
.btn-ghost{border-color:var(--line-strong); color:var(--accent-900); background:var(--white);}
.btn-ghost:hover{border-color:var(--accent-500);}
.btn-ghost.on-dark{border-color:rgba(246,248,250,0.35); color:var(--white);}
.btn-ghost.on-dark:hover{border-color:var(--white);}
.btn-whatsapp{background:#1F8A4C; color:#fff;}
.btn-whatsapp:hover{box-shadow:0 10px 24px rgba(31,138,76,0.28);}
.btn-sm{padding:9px 16px; font-size:13.5px;}
.btn-block{width:100%;}
.btn[disabled]{opacity:0.5; cursor:not-allowed; transform:none !important;}

/* ===== header ===== */
header{position:sticky; top:0; z-index:80; background:rgba(255,255,255,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.topbar{background:var(--accent-900); color:rgba(246,248,250,0.85); font-size:12.5px;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:36px; gap:16px; flex-wrap:wrap;}
.topbar a{color:var(--white); font-weight:600;}
.topbar-links{display:flex; gap:18px; align-items:center;}
.topbar-links a{opacity:0.9;}
.topbar-links a:hover{opacity:1;}

nav.wrap{display:flex; align-items:center; justify-content:space-between; height:76px; gap:20px;}
.brand{display:flex; align-items:center; gap:11px; flex-shrink:0;}
.brand img{height:38px; width:auto;}
.brand-text{font-family:var(--font-display); font-weight:700; font-size:16.5px; color:var(--ink-900); line-height:1.15;}
.brand-text small{display:block; font-family:var(--font-mono); font-weight:400; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent-700); margin-top:2px;}

.nav-links{display:flex; gap:26px; align-items:center;}
.nav-links a{font-size:14px; font-weight:500; color:var(--ink-600); transition:color .15s; position:relative;}
.nav-links a:hover, .nav-links a.active{color:var(--ink-900);}
.nav-links a.active::after{content:""; position:absolute; left:0; right:0; bottom:-22px; height:2px; background:var(--accent-500);}
.practice-pill{display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.04em; text-transform:uppercase;
  background:var(--accent-100); color:var(--accent-900); padding:6px 12px; border-radius:999px; font-weight:600;}
.practice-pill::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--accent-500);}
.nav-cta{display:flex; gap:10px; align-items:center; flex-shrink:0;}
.menu-toggle{display:none; font-size:22px; color:var(--ink-900);}

@media (max-width:960px){
  .nav-links{position:fixed; top:0; right:-100%; height:100vh; width:min(320px,86vw); background:var(--white); flex-direction:column;
    align-items:flex-start; padding:100px 28px 28px; gap:22px; box-shadow:var(--shadow-pop); transition:right .25s ease; z-index:90; overflow-y:auto;}
  .nav-links.open{right:0;}
  .nav-links a.active::after{display:none;}
  .menu-toggle{display:block; z-index:95;}
  .nav-cta .btn-ghost{display:none;}
}
@media (max-width:520px){
  .topbar .wrap{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; justify-content:flex-start; gap:18px; height:34px;}
  .topbar-links{flex-shrink:0;}
  nav.wrap{height:66px; gap:10px;}
  .brand img{height:32px;}
  .brand-text{font-size:14px;}
  .brand-text small{font-size:9.5px;}
  .nav-cta .btn-primary{padding:10px 14px; font-size:13px;}
  .float-whatsapp{width:50px; height:50px; font-size:22px; bottom:18px; right:18px;}
}
@media (max-width:640px){
  .practice-card{min-height:0;}
}

/* ===== hero ===== */
.hero{padding:56px 0 72px; position:relative; overflow:hidden;}

.practice-switch{display:flex; gap:10px; margin-bottom:22px; flex-wrap:wrap;}
.switch-btn{display:inline-flex; align-items:center; gap:7px; padding:10px 20px; border-radius:999px; font-size:13.5px; font-weight:600; color:#fff; transition:transform .15s ease, box-shadow .15s ease;}
.switch-btn:hover{transform:translateY(-1px);}
.switch-medical{background:var(--blue-700);}
.switch-medical:hover{box-shadow:0 8px 20px rgba(46,74,147,0.32);}
.switch-womens{background:var(--plum-700);}
.switch-womens:hover{box-shadow:0 8px 20px rgba(90,56,120,0.32);}
@media (max-width:480px){ .switch-btn{padding:9px 16px; font-size:12.5px;} }
.hero::before{content:""; position:absolute; top:-140px; right:-180px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent-500) 16%, transparent), transparent 70%); pointer-events:none;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:52px; align-items:center; position:relative;}
.hero h1{font-size:clamp(32px,4.4vw,52px); line-height:1.08; margin:16px 0 18px;}
.hero h1 em{font-style:normal; color:var(--accent-700); border-bottom:4px solid var(--accent-500);}
.hero p.lede{font-size:18px; color:var(--ink-600); max-width:480px; margin-bottom:30px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px;}
.hero-trust{display:flex; gap:28px; flex-wrap:wrap;}
.hero-trust div{border-left:2px solid var(--accent-500); padding-left:12px;}
.hero-trust strong{display:block; font-family:var(--font-display); font-size:22px; color:var(--accent-900);}
.hero-trust span{font-size:12.5px; color:var(--ink-600);}
.hero-media{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-pop); position:relative;}
.hero-media img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/3;}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-media{order:-1;}
}

/* ===== dual practice cards (home signature) ===== */
.dual-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.practice-card{border-radius:var(--radius-lg); padding:36px; position:relative; overflow:hidden; box-shadow:var(--shadow-card);
  transition:transform .2s ease, box-shadow .2s ease; display:flex; flex-direction:column; min-height:360px;}
.practice-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-pop);}
.practice-card.medical{background:linear-gradient(155deg, var(--blue-900), var(--blue-700));}
.practice-card.womens{background:linear-gradient(155deg, var(--plum-900), var(--plum-700));}
.practice-card .card-eyebrow{font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.65);}
.practice-card h3{color:#fff; font-size:26px; margin:12px 0 10px;}
.practice-card p{color:rgba(255,255,255,0.78); font-size:15px; margin-bottom:22px; max-width:400px;}
.practice-card .tag-row{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px;}
.practice-card .tag{font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:999px; background:rgba(255,255,255,0.14); color:#fff;}
.practice-card .card-foot{margin-top:auto; display:flex; gap:10px; flex-wrap:wrap;}
.practice-card .btn-ghost{border-color:rgba(255,255,255,0.4); color:#fff; background:transparent;}
.practice-card .btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,0.08);}

@media (max-width:800px){ .dual-grid{grid-template-columns:1fr;} }

/* ===== generic cards / grids ===== */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
@media (max-width:900px){ .grid-3{grid-template-columns:repeat(2,1fr);} .grid-4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;} }

.card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-card);}
.icon-tile{width:46px; height:46px; border-radius:12px; background:var(--accent-100); color:var(--accent-700); display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:16px;}
.card h3{font-size:17px; margin-bottom:8px;}
.card p{color:var(--ink-600); font-size:14.5px;}

.why-card{text-align:left;}
.stat-row{display:flex; gap:0; border-top:1px solid var(--line); margin-top:20px;}
.stat{flex:1; padding:24px 0; border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat strong{display:block; font-family:var(--font-display); font-size:30px; color:var(--accent-900);}
.stat span{font-size:12.5px; color:var(--ink-600);}

/* ===== service accordions ===== */
.accordion{border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--white);}
.accordion-item + .accordion-item{border-top:1px solid var(--line);}
.accordion-trigger{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; text-align:left; font-weight:600; font-size:15.5px;}
.accordion-trigger:hover{background:var(--paper);}
.accordion-trigger .plus{font-family:var(--font-mono); font-size:18px; color:var(--accent-700); transition:transform .2s ease; flex-shrink:0;}
.accordion-item.open .accordion-trigger .plus{transform:rotate(45deg);}
.accordion-panel{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.accordion-item.open .accordion-panel{max-height:600px;}
.accordion-panel-in{padding:0 24px 22px; color:var(--ink-600); font-size:14.5px;}
.service-list{display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin-top:6px;}
.service-list li{display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:var(--ink-700); padding:4px 0;}
.service-list li::before{content:"✓"; color:var(--sage-600); font-weight:700; flex-shrink:0;}
@media (max-width:620px){ .service-list{grid-template-columns:1fr;} }

/* ===== doctors ===== */
.doctor-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px; display:flex; flex-direction:column; gap:14px;}
.doctor-photo{width:100%; aspect-ratio:1; border-radius:12px; background:var(--accent-100); color:var(--accent-900);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:26px;}
.doctor-info h3{font-size:16px; margin-bottom:3px;}
.doctor-info span{font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.03em; text-transform:uppercase; color:var(--accent-700); font-weight:600;}
.doctor-info p{color:var(--ink-600); font-size:13.5px; margin-top:6px;}
.doctor-card.placeholder{align-items:center; justify-content:center; text-align:center; border-style:dashed; border-color:var(--line-strong); background:var(--paper);}
.doctor-card.placeholder .doctor-photo{background:transparent; border:2px dashed var(--line-strong); color:var(--ink-400); font-size:24px;}
.doctor-card.placeholder p{color:var(--ink-600); font-size:13.5px;}

/* ===== steps ===== */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; counter-reset:step;}
.step{padding:26px; border-radius:var(--radius); background:var(--white); border:1px solid var(--line);}
.step-num{display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--accent-900); color:#fff;
  font-family:var(--font-mono); font-weight:600; font-size:14px; margin-bottom:14px;}
.step h3{font-size:16.5px; margin-bottom:8px;}
.step p{color:var(--ink-600); font-size:14.5px;}
@media (max-width:800px){ .steps{grid-template-columns:1fr;} }

/* ===== testimonials ===== */
.testi-track{display:grid; grid-auto-flow:column; grid-auto-columns:min(360px,80vw); gap:20px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x mandatory;}
.testi-card{scroll-snap-align:start; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px;}
.testi-stars{color:var(--accent-500); font-size:14px; margin-bottom:12px; letter-spacing:2px;}
.testi-quote{font-size:15px; color:var(--ink-700); margin-bottom:18px;}
.testi-who{display:flex; align-items:center; gap:10px;}
.testi-avatar{width:38px; height:38px; border-radius:50%; background:var(--accent-100); color:var(--accent-900); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; font-family:var(--font-display);}
.testi-who strong{display:block; font-size:13.5px;}
.testi-who span{font-size:12px; color:var(--ink-600);}

/* ===== blog / health tips ===== */
.blog-card{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:var(--white);}
.blog-thumb{aspect-ratio:16/10; background:linear-gradient(135deg, var(--accent-100), var(--paper-deep)); display:flex; align-items:center; justify-content:center; color:var(--accent-700); font-family:var(--font-mono); font-size:12px;}
.blog-body{padding:20px;}
.blog-tag{font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--accent-700); font-weight:600;}
.blog-body h3{font-size:16px; margin:10px 0 8px;}
.blog-body p{font-size:13.5px; color:var(--ink-600);}

/* ===== insurance / partners ===== */
.partner-row{display:flex; flex-wrap:wrap; gap:14px;}
.partner-chip{border:1px solid var(--line); border-radius:999px; padding:10px 20px; font-size:13.5px; font-weight:600; color:var(--ink-600); background:var(--white);}

/* ===== socials ===== */
.social-row{display:flex; gap:14px; flex-wrap:wrap;}
.social-chip{width:52px; height:52px; border-radius:14px; background:var(--white); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:20px; color:var(--ink-400); position:relative;}
.social-chip.sm{width:34px; height:34px; border-radius:9px; font-size:14px;}
.social-chip.pending::after{content:"soon"; position:absolute; bottom:-18px; left:50%; transform:translateX(-50%); font-family:var(--font-mono); font-size:9.5px; color:var(--ink-400); white-space:nowrap;}

/* ===== maps / contact blocks ===== */
.contact-wrap{display:grid; grid-template-columns:1fr 1fr; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-pop);}
.contact-map{background:var(--accent-900); color:#fff; padding:40px; display:flex; flex-direction:column; justify-content:space-between; gap:20px; position:relative; min-height:340px;}
.map-embed{border-radius:var(--radius); overflow:hidden; border:1px solid rgba(255,255,255,0.18); aspect-ratio:16/9;}
.map-embed iframe{width:100%; height:100%; border:0; display:block; filter:grayscale(0.15);}
.pin{width:38px; height:38px; border-radius:50%; background:var(--accent-500); display:flex; align-items:center; justify-content:center; font-size:16px; margin-bottom:14px;}
.contact-details{background:var(--white); padding:40px; display:flex; flex-direction:column; gap:20px;}
.hours-table{width:100%; border-collapse:collapse; font-size:14.5px;}
.hours-table td{padding:10px 0; border-bottom:1px solid var(--line); font-family:var(--font-mono); font-size:13px;}
.hours-table td:first-child{color:var(--ink-600); font-family:var(--font-body); font-size:14.5px;}
.hours-table td:last-child{text-align:right; color:var(--ink-900); font-weight:600;}
.contact-cta{display:flex; gap:10px; flex-wrap:wrap;}
.emergency-line{background:var(--warn-100); color:var(--warn-600); border-radius:var(--radius-sm); padding:14px 16px; font-size:13.5px;}
@media (max-width:800px){ .contact-wrap{grid-template-columns:1fr;} }

.action-row{display:flex; gap:10px; flex-wrap:wrap;}

/* ===== forms ===== */
.form-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:36px; box-shadow:var(--shadow-card);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
.field{display:flex; flex-direction:column; gap:7px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13px; font-weight:600; color:var(--ink-700);}
.field .hint{font-size:12px; color:var(--ink-400); font-weight:400;}
.field input, .field select, .field textarea{
  border:1px solid var(--line-strong); border-radius:10px; padding:12px 14px; background:var(--white); transition:border-color .15s;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--accent-500); outline:none;}
.field textarea{resize:vertical; min-height:90px;}
.radio-group{display:flex; gap:10px; flex-wrap:wrap;}

.consent-row{display:flex; align-items:flex-start; gap:10px; margin:6px 0 22px; cursor:pointer;}
.consent-row input[type="checkbox"]{width:18px; height:18px; margin-top:2px; accent-color:var(--accent-700); flex-shrink:0; cursor:pointer;}
.consent-row span{font-size:13px; color:var(--ink-600); line-height:1.5;}
.consent-row a{color:var(--accent-700); text-decoration:underline;}
.radio-chip{border:1px solid var(--line-strong); border-radius:999px; padding:10px 18px; font-size:13.5px; font-weight:600; cursor:pointer; transition:all .15s;}
.radio-chip input{display:none;}
.radio-chip.checked{background:var(--accent-900); color:#fff; border-color:var(--accent-900);}
@media (max-width:700px){ .form-row{grid-template-columns:1fr;} }

.confirm-panel{border:1px dashed var(--accent-500); background:var(--accent-100); border-radius:var(--radius); padding:24px; margin-top:22px;}
.confirm-panel h3{font-size:16px; margin-bottom:10px; color:var(--accent-900);}
.confirm-code{font-family:var(--font-mono); font-size:13px; background:var(--white); border:1px solid var(--line); padding:14px; border-radius:8px; white-space:pre-wrap; margin:12px 0;}

/* ===== FAQ ===== */
.faq-cat{margin-bottom:14px;}
.faq-cat-label{font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--accent-700); font-weight:600; margin:34px 0 12px;}
.faq-cat-label:first-child{margin-top:0;}

/* ===== admin ===== */
.admin-shell{display:grid; grid-template-columns:230px 1fr; min-height:100vh;}
.admin-side{background:var(--ink-900); color:rgba(246,248,250,0.85); padding:26px 18px; display:flex; flex-direction:column; gap:4px;}
.admin-side .brand-text{color:#fff;}
.admin-side .brand{margin-bottom:28px;}
.admin-link{padding:11px 14px; border-radius:9px; font-size:14px; font-weight:500; display:flex; align-items:center; gap:10px; color:rgba(246,248,250,0.7);}
.admin-link:hover{background:rgba(255,255,255,0.06); color:#fff;}
.admin-link.active{background:var(--accent-700); color:#fff;}
.admin-main{padding:34px 40px; background:var(--paper);}
.admin-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; flex-wrap:wrap; gap:14px;}
.admin-head h1{font-size:24px;}
.kpi-row{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:30px;}
.kpi{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px;}
.kpi span{font-size:12.5px; color:var(--ink-600);}
.kpi strong{display:block; font-family:var(--font-display); font-size:26px; margin-top:6px;}
.admin-panel{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; margin-bottom:24px;}
.admin-panel h2{font-size:16px; margin-bottom:16px;}
.table-scroll{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
table.data{width:100%; border-collapse:collapse; font-size:13.5px;}
.table-scroll table.data{min-width:560px;}
table.data th{text-align:left; padding:10px 12px; color:var(--ink-600); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:0.04em; border-bottom:1px solid var(--line);}
table.data td{padding:12px; border-bottom:1px solid var(--line); vertical-align:top;}
table.data tr:last-child td{border-bottom:none;}
.badge{display:inline-flex; padding:4px 10px; border-radius:999px; font-size:11.5px; font-weight:600;}
.badge.medical{background:var(--blue-100); color:var(--blue-900);}
.badge.womens{background:var(--plum-100); color:var(--plum-900);}
.badge.new{background:var(--sage-100); color:var(--sage-600);}
.empty-state{padding:40px 20px; text-align:center; color:var(--ink-600); font-size:14px;}
.settings-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:1000px){
  .admin-shell{grid-template-columns:1fr;}
  .admin-side{flex-direction:row; align-items:center; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:14px 16px; gap:8px; position:sticky; top:0; z-index:60;}
  .admin-side .brand{margin-bottom:0; margin-right:6px;}
  .admin-side .brand-text small{display:none;}
  .admin-side > div{display:none;}
  .admin-link{white-space:nowrap; flex-shrink:0;}
  .admin-main{padding:24px 18px;}
  .kpi-row{grid-template-columns:1fr 1fr;}
  .settings-grid{grid-template-columns:1fr;}
}
@media (max-width:480px){
  .admin-main{padding:20px 14px;}
  .kpi-row{gap:12px;}
  .kpi strong{font-size:22px;}
  .admin-head h1{font-size:20px;}
}
.callout{border-radius:var(--radius-sm); padding:14px 16px; font-size:13px; background:var(--blue-100); color:var(--blue-900); margin-bottom:20px; line-height:1.5;}

/* ===== footer ===== */
footer{background:var(--ink-900); color:rgba(246,248,250,0.72); padding-top:64px;}
.footer-practices{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:52px;}
.footer-practice-card{border:1px solid rgba(246,248,250,0.14); border-radius:var(--radius); padding:24px;}
.footer-practice-card h4{color:#fff; font-size:16px; margin-bottom:8px;}
.footer-practice-card p{font-size:13.5px; margin-bottom:16px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-bottom:40px; border-bottom:1px solid rgba(246,248,250,0.12);}
.footer-logo{font-family:var(--font-display); font-weight:700; font-size:19px; color:#fff; margin-bottom:10px;}
.footer-grid h4{color:#fff; font-size:13.5px; margin-bottom:14px;}
.footer-grid ul{display:flex; flex-direction:column; gap:10px; font-size:13.5px;}
.footer-grid a:hover{color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; padding:22px 0; font-size:12.5px; flex-wrap:wrap; gap:10px;}
@media (max-width:800px){ .footer-practices,.footer-grid{grid-template-columns:1fr;} }

.float-whatsapp{position:fixed; bottom:24px; right:24px; width:58px; height:58px; border-radius:50%; background:#1F8A4C; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 12px 28px rgba(31,138,76,0.4); z-index:70;}

.pagehead{padding:56px 0 40px; background:var(--paper);}
.pagehead h1{font-size:clamp(28px,3.6vw,42px); margin:14px 0 10px;}
.pagehead p{color:var(--ink-600); font-size:16px; max-width:640px;}
.breadcrumb{font-size:13px; color:var(--ink-400); margin-bottom:10px;}
.breadcrumb a:hover{color:var(--accent-700);}

.divider{height:1px; background:var(--line); margin:0;}
.placeholder-note{font-size:12px; color:var(--ink-400); font-family:var(--font-mono);}
