/* ================================================================
   Glowly Pro — style.css 
   ================================================================ */
   @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

   :root {
     --rose:#E11D48;  --rose-d:#9F1239;  --rose-dd:#7F1D1D;
     --rose-l:#FB7185; --rose-bg:#FFF1F2; --rose-b:rgba(225,29,72,.14);
     --gold:#F59E0B;   --gold-bg:#FFFBEB;
     --grad:linear-gradient(135deg,#E11D48 0%,#9F1239 100%);
     --grad-soft:linear-gradient(135deg,#FFF1F2 0%,#FFF8EE 100%);
     --grad-deep:linear-gradient(135deg,#9F1239 0%,#7F1D1D 100%);
     --white:#fff; --bg:#FFF8F9; --bg2:#FFE4E8;
     --ink:#1A0009; --dark:#3B0013; --body:#6B3040; --muted:#A06070; --faint:#E8C4CC;
     --ok:#10B981; --ok-bg:#D1FAE5; --ok-b:rgba(16,185,129,.2);
     --warn:#F59E0B; --warn-bg:#FEF3C7; --warn-b:rgba(245,158,11,.2);
     --err:#EF4444;  --err-bg:#FEE2E2;  --err-b:rgba(239,68,68,.2);
     --sh1:0 1px 4px rgba(127,29,29,.07);
     --sh2:0 4px 16px rgba(127,29,29,.10);
     --sh3:0 10px 40px rgba(127,29,29,.14);
     --sh4:0 24px 70px rgba(127,29,29,.18);
     --sh-r:0 8px 30px rgba(225,29,72,.26);
     --r:10px; --rl:16px; --rxl:24px; --r2x:32px;
   }
   
   *,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
   html { scroll-behavior:smooth }
   body { font-family:'Poppins',sans-serif; background:var(--white); color:var(--dark); -webkit-font-smoothing:antialiased; line-height:1.7 }
   h1 { font-size:clamp(2rem,4.5vw,3.4rem); font-weight:800; line-height:1.13; letter-spacing:-.03em; color:var(--ink) }
   h2 { font-size:clamp(1.35rem,2.5vw,2.1rem); font-weight:700; line-height:1.22; letter-spacing:-.025em; color:var(--ink) }
   h3 { font-size:1.02rem; font-weight:600; color:var(--dark); line-height:1.4 }
   p  { color:var(--body); line-height:1.8; font-size:.93rem }
   a  { text-decoration:none; color:var(--rose); transition:color .18s }
   a:hover { color:var(--rose-d) }
   img { max-width:100%; display:block }
   .g-text { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text }
   
   /* ── BUTTONS ───────────────────────────────────────────────── */
   .btn { display:inline-flex; align-items:center; gap:8px; padding:11px 24px; border-radius:var(--r); font-family:'Poppins',sans-serif; font-size:.86rem; font-weight:600; cursor:pointer; transition:all .22s; text-decoration:none; border:none; line-height:1.4; white-space:nowrap }
   .btn:hover { text-decoration:none; transform:translateY(-2px) }
   .btn-primary { background:var(--grad); color:#fff !important; box-shadow:var(--sh-r) }
   .btn-primary:hover { background:var(--grad-deep); color:#fff !important; box-shadow:0 12px 32px rgba(225,29,72,.38) }
   button.btn-primary { -webkit-appearance:none; appearance:none; color:#fff !important; border:none }
   a.btn-primary { color:#fff !important }
   .btn-lg { padding:14px 32px; font-size:.92rem }
   .btn-block { width:100%; justify-content:center; display:flex }
   .btn-outline { background:var(--white); color:var(--rose-d); border:2px solid var(--rose-b) }
   .btn-outline:hover { border-color:var(--rose); background:var(--rose-bg); color:var(--rose-d) }
   .btn-ghost { background:transparent; color:var(--body); border:2px solid var(--faint) }
   .btn-ghost:hover { border-color:var(--rose-b); color:var(--dark); background:var(--bg) }
   .btn-white { background:#fff; color:var(--rose-d); box-shadow:0 4px 20px rgba(0,0,0,.13) }
   .btn-white:hover { background:#fff5f6; color:var(--rose-d) }
   .btn-outline-white { background:transparent; color:rgba(255,255,255,.9); border:2px solid rgba(255,255,255,.32) }
   .btn-outline-white:hover { border-color:rgba(255,255,255,.7); color:#fff; background:rgba(255,255,255,.08) }
   .btn-nav { background:var(--grad)!important; color:#fff!important; padding:9px 20px!important; border-radius:var(--r)!important; font-size:.82rem!important; font-weight:600!important; display:inline-block; box-shadow:var(--sh-r); transition:all .2s }
   .btn-nav:hover { background:var(--grad-deep)!important; transform:translateY(-1px); color:#fff!important }
   .btn-sm { padding:5px 13px; font-size:.76rem; background:var(--rose-bg); color:var(--rose-d); border:1.5px solid rgba(225,29,72,.17); border-radius:8px; cursor:pointer; display:inline-flex; align-items:center; gap:5px; font-family:'Poppins',sans-serif; font-weight:600; transition:all .18s; text-decoration:none }
   .btn-sm:hover { background:var(--bg2); text-decoration:none }
   .btn-sm.danger { background:var(--err-bg); color:var(--err); border-color:rgba(239,68,68,.2) }
   .btn-sm-outline { padding:7px 16px; font-size:.8rem; background:transparent; color:var(--body); border:1.5px solid var(--faint); border-radius:8px; cursor:pointer; display:inline-flex; align-items:center; gap:5px; transition:all .18s; font-family:'Poppins',sans-serif; text-decoration:none }
   .btn-sm-outline:hover { border-color:var(--rose-b); color:var(--rose) }
   .btn-primary-sm { padding:7px 16px; font-size:.8rem; background:var(--grad); color:#fff; border:none; border-radius:8px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-family:'Poppins',sans-serif; font-weight:600; transition:all .2s; text-decoration:none }
   .btn-primary-sm:hover { background:var(--grad-deep); color:#fff }
   
   /* ── NAV ───────────────────────────────────────────────────── */
   .site-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.96); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border-bottom:1px solid rgba(225,29,72,.07) }
   .nav-wrap { max-width:1200px; margin:0 auto; padding:0 40px; height:68px; display:flex; align-items:center; justify-content:space-between; gap:16px }
   .nav-logo { display:flex; align-items:center; gap:11px; text-decoration:none!important; flex-shrink:0 }
   .nav-logo-mark { width:42px; height:42px; border-radius:13px; background:var(--grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 4px 16px rgba(225,29,72,.3); position:relative; overflow:hidden }
   .nav-logo-mark::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.22) 0%,transparent 52%); pointer-events:none }
   .nav-logo-mark svg { width:22px; height:22px; position:relative; z-index:1; display:block }
   .nav-logo-text { display:flex; flex-direction:column; line-height:1.1 }
   .nav-logo-name { font-size:1.18rem; font-weight:800; letter-spacing:-.03em; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text }
   .nav-logo-sub { font-size:.5rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted) }
   .nav-links { list-style:none; display:flex; align-items:center; gap:28px }
   .nav-links a { color:var(--body); font-size:.86rem; font-weight:500; transition:color .18s; white-space:nowrap }
   .nav-links a:hover { color:var(--rose) }
   .nav-burger { display:none; background:none; border:1.5px solid var(--faint); border-radius:9px; padding:7px 10px; font-size:.9rem; color:var(--rose-d); cursor:pointer; transition:all .18s; flex-shrink:0 }
   .nav-burger:hover { background:var(--rose-bg) }
   .mob-overlay { position:fixed; inset:0; background:rgba(26,0,9,.5); z-index:200; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); opacity:0; pointer-events:none; transition:opacity .3s }
   .mob-overlay.on { opacity:1; pointer-events:all }
   .mob-drawer { display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; width:280px; background:#fff; z-index:201; transform:translateX(-100%); transition:transform .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--sh4) }
   .mob-drawer.on { transform:translateX(0) }
   .mob-drawer-head { padding:17px 16px; border-bottom:1px solid rgba(225,29,72,.08); display:flex; align-items:center; justify-content:space-between }
   .mob-drawer-close { width:30px; height:30px; border-radius:8px; border:1.5px solid var(--faint); background:none; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--muted); transition:all .18s }
   .mob-drawer-close:hover { background:var(--rose-bg); color:var(--rose-d) }
   .mob-drawer-links { padding:10px; flex:1; display:flex; flex-direction:column; gap:2px }
   .mob-link { display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:var(--r); color:var(--body); font-size:.88rem; font-weight:500; text-decoration:none; transition:all .17s }
   .mob-link:hover { background:var(--rose-bg); color:var(--rose-d) }
   .mob-link i { width:16px; text-align:center; color:var(--rose); font-size:.84rem }
   .mob-drawer-foot { padding:12px 10px; border-top:1px solid rgba(225,29,72,.08) }
   
   /* ── HERO ──────────────────────────────────────────────────── */
   .hero-section { overflow:hidden; position:relative }
   .hero-section::before { content:''; position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(225,29,72,.06),transparent 65%); top:-120px; left:-180px; border-radius:50%; pointer-events:none; filter:blur(60px); z-index:0 }
   .hero-section::after  { content:''; position:absolute; width:500px; height:500px; background:radial-gradient(circle,rgba(245,158,11,.05),transparent 65%); top:0; right:-120px; border-radius:50%; pointer-events:none; filter:blur(60px); z-index:0 }
   .hero { max-width:1200px; margin:0 auto; padding:88px 40px 80px; display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center; position:relative; z-index:1 }
   .hero-text { min-width:0 }
   .hero-badge { display:inline-flex; align-items:center; gap:8px; background:var(--grad-soft); border:1.5px solid rgba(225,29,72,.2); padding:6px 16px; border-radius:100px; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--rose-d); margin-bottom:22px }
   .badge-dot { width:6px; height:6px; border-radius:50%; background:var(--rose); animation:bdot 2s infinite; flex-shrink:0 }
   @keyframes bdot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.6)} }
   .hero-text h1 { margin-bottom:18px }
   .hero-text > p { font-size:1.04rem; margin-bottom:32px; max-width:480px }
   .hero-btns { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:38px }
   .hero-proof { display:flex; align-items:center; gap:20px; padding-top:26px; border-top:1px solid rgba(225,29,72,.1); flex-wrap:wrap }
   .av-row { display:flex }
   .av { width:32px; height:32px; border-radius:50%; border:2.5px solid #fff; margin-left:-8px; display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:700; color:#fff; flex-shrink:0 }
   .av.av1 { background:var(--grad); margin-left:0 }
   .av.av2 { background:linear-gradient(135deg,#F59E0B,#E11D48) }
   .av.av3 { background:linear-gradient(135deg,#FB7185,#E11D48) }
   .av.av4 { background:linear-gradient(135deg,#9F1239,#7F1D1D) }
   .proof-text strong { display:block; font-size:.83rem; font-weight:700; color:var(--dark) }
   .proof-text span   { font-size:.71rem; color:var(--muted) }
   .proof-sep { width:1px; height:26px; background:var(--faint) }
   .proof-stars .stars { color:#f59e0b; font-size:.88rem; letter-spacing:2px }
   .proof-stars span   { font-size:.71rem; color:var(--muted); display:block; margin-top:1px }
   .hero-visual { position:relative; display:flex; align-items:center; justify-content:center; padding:24px 16px; min-height:360px }
   .hero-card { background:#fff; border-radius:20px; box-shadow:0 24px 64px rgba(127,29,29,.17),0 0 0 1px rgba(225,29,72,.07); overflow:hidden; width:300px; animation:heroFloat 5.5s ease-in-out infinite; position:relative; z-index:2; flex-shrink:0 }
   @keyframes heroFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
   .hc-top { background:var(--grad); padding:13px 17px; display:flex; align-items:center; justify-content:space-between }
   .hc-dots { display:flex; gap:5px }
   .hc-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.35) }
   .hc-label { font-size:.68rem; font-weight:700; color:#fff; letter-spacing:.07em; text-transform:uppercase }
   .hc-date-row { font-size:.62rem; color:var(--muted); padding:7px 17px 2px; font-weight:500 }
   .hc-list { padding:6px 10px 8px; display:flex; flex-direction:column; gap:4px }
   .hc-item { display:flex; align-items:center; gap:8px; padding:8px 9px; border-radius:9px; background:var(--bg) }
   .hc-bar { width:3px; height:34px; border-radius:2px; flex-shrink:0 }
   .bar-g { background:var(--ok) } .bar-y { background:var(--gold) } .bar-r { background:var(--rose) }
   .hc-time { font-size:.62rem; font-weight:600; color:var(--muted); width:42px; flex-shrink:0; text-align:center }
   .hc-info { flex:1; min-width:0 }
   .hc-info strong { display:block; font-size:.75rem; font-weight:600; color:var(--dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
   .hc-info span   { font-size:.61rem; color:var(--muted) }
   .hc-pill { font-size:.57rem; padding:3px 8px; border-radius:100px; font-weight:700; white-space:nowrap }
   .pill-g { background:var(--ok-bg); color:#059669 }
   .pill-y { background:var(--warn-bg); color:#d97706 }
   .pill-r { background:var(--rose-bg); color:var(--rose-d) }
   .hc-bottom { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(225,29,72,.07) }
   .hc-stat { padding:11px 14px }
   .hc-stat + .hc-stat { border-left:1px solid rgba(225,29,72,.07) }
   .hc-stat-l { font-size:.56rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); margin-bottom:4px }
   .hc-stat-n { font-size:1.6rem; font-weight:900; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; letter-spacing:-.04em }
   .hc-stat-s { font-size:.6rem; color:var(--ok); font-weight:600; margin-top:3px }
   .float-card { position:absolute; background:#fff; border-radius:12px; padding:9px 13px; box-shadow:0 12px 36px rgba(127,29,29,.15),0 0 0 1px rgba(225,29,72,.07); display:flex; align-items:center; gap:9px; white-space:nowrap; z-index:10 }
   .fc1 { top:4px; right:0; animation:heroFloat 5.5s ease-in-out infinite; animation-delay:.9s }
   .fc2 { bottom:50px; left:0; animation:heroFloat 5.5s ease-in-out infinite; animation-delay:1.8s }
   .fc-icon { width:33px; height:33px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
   .fci-p { background:var(--ok-bg) } .fci-p i { color:var(--ok) }
   .fci-k { background:var(--gold-bg) } .fci-k i { color:var(--gold) }
   .fc-val { font-size:1.05rem; font-weight:900; color:var(--ink); line-height:1; letter-spacing:-.03em }
   .fc-lbl { font-size:.61rem; color:var(--muted); margin-top:1px }
   
   /* ── LOGOS ─────────────────────────────────────────────────── */
   .logos-strip { background:var(--bg); border-top:1px solid rgba(225,29,72,.07); border-bottom:1px solid rgba(225,29,72,.07); padding:20px 40px; text-align:center }
   .logos-strip p { font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:12px }
   .logos-row { display:flex; justify-content:center; align-items:center; gap:32px; flex-wrap:wrap }
   .logos-row span { font-size:.84rem; font-weight:700; color:var(--faint); letter-spacing:.04em; transition:color .2s }
   .logos-row span:hover { color:var(--rose-l) }
   
   /* ── SECTION SHARED ────────────────────────────────────────── */
   .sec-head { text-align:center; margin-bottom:50px }
   .sec-tag  { display:inline-block; font-size:.62rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--rose); margin-bottom:10px; background:var(--rose-bg); padding:4px 14px; border-radius:100px; border:1px solid rgba(225,29,72,.14) }
   .sec-head h2 { margin-bottom:10px }
   .sec-head p  { max-width:530px; margin:0 auto }
   
   /* ── FEATURES ──────────────────────────────────────────────── */
   .features-sec { padding:90px 40px; background:#fff }
   .features-inner { max-width:1200px; margin:0 auto }
   .feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px }
   .feat-card { background:#fff; border-radius:18px; padding:26px; border:1.5px solid rgba(225,29,72,.08); transition:all .26s }
   .feat-card:hover { transform:translateY(-4px); box-shadow:var(--sh2); border-color:rgba(225,29,72,.18) }
   .feat-icon-wrap { width:48px; height:48px; border-radius:13px; background:var(--rose-bg); border:1.5px solid rgba(225,29,72,.13); display:flex; align-items:center; justify-content:center; margin-bottom:14px; flex-shrink:0; transition:all .22s }
   .feat-card:hover .feat-icon-wrap { background:var(--grad); border-color:transparent; box-shadow:var(--sh-r) }
   .feat-icon-wrap i { font-size:1.05rem; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; transition:all .22s }
   .feat-card:hover .feat-icon-wrap i { background:none; -webkit-text-fill-color:#fff; color:#fff }
   .feat-card h3 { margin-bottom:7px }
   
   /* ── HOW IT WORKS ──────────────────────────────────────────── */
   .how-sec { background:var(--bg); padding:90px 40px; text-align:center }
   .how-inner { max-width:1100px; margin:0 auto }
   .steps-row { margin:44px auto 0; display:flex; align-items:flex-start; position:relative; max-width:960px }
   .steps-row::before { content:''; position:absolute; top:24px; left:13%; right:13%; height:1.5px; background:linear-gradient(90deg,transparent,var(--rose-b) 30%,var(--rose-b) 70%,transparent) }
   .step-col { flex:1; padding:0 16px; text-align:center }
   .step-num { width:50px; height:50px; border-radius:50%; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.1rem; font-weight:800; margin:0 auto 16px; position:relative; z-index:1; box-shadow:var(--sh-r) }
   .step-col h3 { margin-bottom:6px }
   
   /* ── TESTIMONIALS ──────────────────────────────────────────── */
   .testi-sec { padding:90px 40px; background:#fff }
   .testi-inner { max-width:1200px; margin:0 auto }
   .testi-inner > span { display:block; margin-bottom:4px }
   .testi-inner > h2  { margin-bottom:40px }
   .testi-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:18px; align-items:start }
   .tc { background:#fff; border:1.5px solid rgba(225,29,72,.09); border-radius:20px; padding:26px; box-shadow:var(--sh1); transition:all .22s }
   .tc:hover { box-shadow:var(--sh2); transform:translateY(-3px) }
   .tc.feat { background:var(--grad); border:none; box-shadow:var(--sh-r) }
   .tc.feat blockquote,.tc.feat .tc-stars { color:rgba(255,255,255,.9) }
   .tc.feat .tc-name { color:#fff }
   .tc.feat .tc-role  { color:rgba(255,255,255,.48) }
   .tc-stars { font-size:.84rem; letter-spacing:3px; color:#f59e0b; margin-bottom:12px; display:block }
   .tc blockquote { font-size:.9rem; font-style:italic; color:var(--dark); line-height:1.8; margin-bottom:18px }
   .tc-author { display:flex; align-items:center; gap:10px }
   .tc-av   { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; color:#fff; flex-shrink:0; background:var(--grad) }
   .tc-name { display:block; font-size:.83rem; font-weight:600; color:var(--dark) }
   .tc-role { font-size:.71rem; color:var(--muted) }
   
   /* ── PRICING ───────────────────────────────────────────────── */
   .pricing-sec { background:var(--bg); padding:90px 40px }
   .pricing-inner { max-width:1100px; margin:0 auto; text-align:center }
   .pricing-sub { margin-bottom:24px; color:var(--body) }
   .billing-tabs { display:inline-flex; background:var(--white); border:1.5px solid var(--rose-b); border-radius:100px; padding:4px; margin-bottom:40px; gap:4px }
   .t-tab { padding:8px 24px; border:none; border-radius:100px; font-family:'Poppins',sans-serif; font-size:.83rem; font-weight:600; color:var(--muted); background:transparent; cursor:pointer; transition:all .2s; display:flex; align-items:center; gap:7px }
   .t-tab.on { background:var(--grad); color:#fff; box-shadow:var(--sh-r) }
   .save-tag { font-size:.65rem; font-weight:700; background:rgba(255,255,255,.25); padding:2px 8px; border-radius:100px }
   .t-tab:not(.on) .save-tag { background:var(--ok-bg); color:var(--ok) }
   .plans-grid { max-width:1040px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; padding-top:18px; overflow:visible }
   .plan { background:#fff; border:1.5px solid rgba(225,29,72,.09); border-radius:20px; padding:28px; position:relative; transition:all .25s; box-shadow:var(--sh1); overflow:hidden }
   .plan:hover { transform:translateY(-4px); box-shadow:var(--sh3) }
   .plan.pop { background:var(--grad); border:none; box-shadow:var(--sh-r) }
   .plan.pop .p-name,.plan.pop .p-price { color:#fff }
   .plan.pop .p-desc,.plan.pop .p-per   { color:rgba(255,255,255,.55) }
   .plan.pop .p-feat  { color:rgba(255,255,255,.85) }
   .plan.pop hr       { border-color:rgba(255,255,255,.15) }
   .plan.pop .p-check { color:#fff }
   .plan.pop .p-limits span { color:rgba(255,255,255,.7) }
   .p-ribbon { position:absolute; top:16px; right:0; background:var(--gold); color:#fff; padding:5px 14px 5px 12px; border-radius:6px 0 0 6px; font-size:.62rem; font-weight:800; letter-spacing:.04em; white-space:nowrap; box-shadow:-2px 2px 8px rgba(0,0,0,.14) }
   .plan.pop .p-ribbon { background:rgba(255,255,255,.95); color:var(--rose-d) }
   .p-name { font-size:1.18rem; font-weight:700; color:var(--ink); margin-bottom:6px }
   .p-desc { font-size:.83rem; color:var(--body); margin-bottom:16px; line-height:1.65 }
   .p-price-row { display:flex; align-items:flex-end; gap:4px; margin-bottom:14px }
   .p-price { font-size:2.8rem; font-weight:900; color:var(--ink); line-height:1; letter-spacing:-.04em }
   .p-per   { font-size:.8rem; color:var(--muted); padding-bottom:6px }
   .p-limits { display:flex; gap:14px; margin-bottom:14px; flex-wrap:wrap }
   .p-limits span { font-size:.76rem; color:var(--muted); display:flex; align-items:center; gap:5px }
   .p-limits span i { color:var(--rose); font-size:.7rem }
   .plan hr { border:none; border-top:1.5px solid rgba(225,29,72,.1); margin:14px 0 }
   .p-feats { list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:22px; text-align:left }
   .p-feat  { display:flex; align-items:center; gap:8px; font-size:.84rem; color:var(--body) }
   .p-check { color:var(--rose); font-size:.74rem; flex-shrink:0; width:14px }
   .gw-btn { display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; border-radius:var(--r); font-weight:600; font-size:.82rem; margin-bottom:7px; text-decoration:none; transition:all .2s; font-family:'Poppins',sans-serif; background:#fff; border:1.5px solid #FFE0EA; color:var(--dark) }
   .gw-btn:hover { border-color:var(--rose); background:var(--rose-bg); color:var(--rose-d); transform:translateY(-1px); text-decoration:none }
   .gw-btn i { font-size:1.05rem }
   .gw-stripe   i { color:#5851D8 }
   .gw-paypal   i { color:#003087 }
   .gw-razorpay i { color:#2B6CB0 }
   .gw-btn:hover i { color:var(--rose) }
   .plan.pop .gw-btn { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.28); color:#fff }
   .plan.pop .gw-btn i { color:rgba(255,255,255,.85) }
   .plan.pop .gw-btn:hover { background:rgba(255,255,255,.26); border-color:rgba(255,255,255,.55); color:#fff }
   .plan.pop .gw-btn:hover i { color:#fff }
   .pricing-note { display:flex; justify-content:center; gap:22px; flex-wrap:wrap; margin-top:30px; font-size:.77rem; color:var(--muted) }
   .pricing-note span { display:flex; align-items:center; gap:6px }
   .pricing-note i { color:var(--rose); font-size:.72rem }
   
   /* ── PLAN CARDS (choose-plan.php) ───────────────────────────── */
   .plan-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; padding:4px 2px 20px }
   .plan-card { background:#fff; border:1.5px solid #FFE0EA; border-radius:18px; padding:26px; position:relative; transition:all .25s; box-shadow:0 2px 12px rgba(225,29,72,.06); overflow:hidden }
   .plan-card:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(225,29,72,.12) }
   .plan-featured { background:var(--grad); border:none; box-shadow:0 8px 32px rgba(159,18,57,.22); overflow:visible }
   .plan-current  { border-color:var(--rose); box-shadow:0 4px 20px rgba(225,29,72,.14) }
   .plan-ribbon-side { position:absolute; top:16px; right:0; padding:5px 14px 5px 12px; background:var(--gold); color:#fff; font-size:.62rem; font-weight:800; border-radius:6px 0 0 6px; box-shadow:-2px 2px 8px rgba(0,0,0,.14); white-space:nowrap }
   .plan-featured .plan-ribbon-side { background:rgba(255,255,255,.95); color:var(--rose-d) }
   .current-ribbon-side { background:#059669!important; color:#fff!important }
   .plan-name { font-size:1.1rem; font-weight:800; color:var(--dark); margin-bottom:4px }
   .plan-featured .plan-name { color:#fff }
   .plan-desc { font-size:.8rem; color:var(--body); margin-bottom:18px; line-height:1.6 }
   .plan-featured .plan-desc { color:rgba(255,255,255,.65) }
   .plan-price-wrap { display:flex; align-items:flex-end; gap:4px; margin-bottom:16px }
   .plan-price { font-size:2.6rem; font-weight:900; color:var(--ink); line-height:1; letter-spacing:-.04em }
   .plan-featured .plan-price { color:#fff }
   .plan-cycle { font-size:.8rem; color:var(--muted); padding-bottom:5px }
   .plan-featured .plan-cycle { color:rgba(255,255,255,.6) }
   .plan-limits { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px }
   .plan-limits span { font-size:.74rem; color:var(--muted); display:flex; align-items:center; gap:5px }
   .plan-limits span i { color:var(--rose); font-size:.68rem }
   .plan-featured .plan-limits span { color:rgba(255,255,255,.7) }
   .plan-featured .plan-limits span i { color:rgba(255,255,255,.85) }
   .plan-card hr { border:none; border-top:1.5px solid #FFE0EA; margin:14px 0 }
   .plan-featured hr { border-top-color:rgba(255,255,255,.2) }
   .plan-feats { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:20px }
   .plan-feats li { display:flex; align-items:center; gap:8px; font-size:.83rem; color:var(--body) }
   .feat-check { color:var(--rose); font-size:.72rem; flex-shrink:0 }
   .plan-featured .plan-feats li { color:rgba(255,255,255,.85) }
   .plan-featured .feat-check { color:rgba(255,255,255,.9) }
   .btn-plan-active   { width:100%; padding:11px; border:none; border-radius:var(--r); background:#F0FDF4; color:#166534; font-family:'Poppins',sans-serif; font-weight:700; font-size:.84rem; cursor:default }
   .btn-plan-disabled { width:100%; padding:11px; border:none; border-radius:var(--r); background:#F3F4F6; color:#9CA3AF; font-family:'Poppins',sans-serif; font-weight:600; font-size:.84rem; cursor:not-allowed }
   .plan-gateways { display:flex; flex-direction:column; gap:8px }
   .stripe-btn  { background:#F8F7FF; border-color:#C7C4F0; }
   .stripe-btn  i { color:#635BFF }
   .paypal-btn  { background:#F0F7FF; border-color:#BAD9F7 }
   .paypal-btn  i { color:#003087 }
   .razorpay-btn{ background:#F0F9FF; border-color:#BAE6FD }
   .razorpay-btn i { color:#0284C7 }
   .plan-featured .stripe-btn,.plan-featured .paypal-btn,.plan-featured .razorpay-btn { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.28); color:#fff }
   .plan-featured .stripe-btn i,.plan-featured .paypal-btn i,.plan-featured .razorpay-btn i { color:rgba(255,255,255,.9) }
   .billing-tabs { display:inline-flex; background:var(--rose-bg); border:1.5px solid #FFD6E2; border-radius:100px; padding:4px; gap:4px }
   .cp-toggle-row { text-align:center; margin-bottom:28px; display:flex; flex-direction:column; align-items:center; gap:10px }
   .tab { padding:8px 24px; border:none; border-radius:100px; font-family:'Poppins',sans-serif; font-size:.82rem; font-weight:600; color:var(--muted); background:transparent; cursor:pointer; transition:all .2s; display:inline-flex; align-items:center; gap:7px }
   .tab.active { background:var(--grad); color:#fff; box-shadow:0 3px 10px rgba(225,29,72,.22) }
   .save-pill { font-size:.62rem; font-weight:700; background:rgba(255,255,255,.22); padding:2px 7px; border-radius:100px }
   .tab:not(.active) .save-pill { background:#DCFCE7; color:#166534 }
   
   /* ── CTA ───────────────────────────────────────────────────── */
   .cta-sec { padding:90px 40px }
   .cta-box { max-width:800px; margin:0 auto; background:var(--grad); border-radius:var(--r2x); padding:76px 52px; text-align:center; position:relative; overflow:hidden; box-shadow:0 28px 72px rgba(159,18,57,.28) }
   .cta-box::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 70% 14%,rgba(255,255,255,.13),transparent 55%); pointer-events:none }
   .cta-deco { position:absolute; opacity:.14; pointer-events:none }
   .cta-deco-1 { top:16px; right:36px }
   .cta-deco-2 { bottom:16px; left:36px }
   .cta-box > *:not(.cta-deco) { position:relative; z-index:1 }
   .cta-box h2 { font-size:2.1rem; color:#fff; margin-bottom:12px; line-height:1.15 }
   .cta-box p  { color:rgba(255,255,255,.68); margin-bottom:32px; font-size:1rem; line-height:1.75 }
   .cta-btns   { display:flex; gap:12px; justify-content:center; flex-wrap:wrap }
   
   /* ── FOOTER ────────────────────────────────────────────────── */
   .site-footer { background:#1A0009; padding:60px 40px 26px }
   .ft-inner { max-width:1200px; margin:0 auto; display:flex; gap:48px; margin-bottom:40px }
   .ft-brand { flex:1.4 }
   .ft-logo { display:flex; align-items:center; gap:10px; text-decoration:none }
   .ft-logo-mark { width:34px; height:34px; border-radius:10px; background:var(--grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; overflow:hidden }
   .ft-logo-mark::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.18) 0%,transparent 52%); pointer-events:none }
   .ft-logo-mark svg { width:17px; height:17px; position:relative; z-index:1; display:block }
   .ft-logo-text { display:flex; flex-direction:column; line-height:1.1 }
   .ft-logo-name { font-size:1rem; font-weight:800; letter-spacing:-.03em; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text }
   .ft-logo-sub  { font-size:.48rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.18) }
   .ft-brand p { font-size:.84rem; color:rgba(255,255,255,.22); line-height:1.8; margin-top:12px; max-width:220px }
   .ft-socials { display:flex; gap:7px; margin-top:16px }
   .ft-socials a { width:30px; height:30px; border-radius:8px; border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.24); font-size:.8rem; transition:all .18s }
   .ft-socials a:hover { border-color:var(--rose-l); color:var(--rose-l) }
   .ft-cols { display:flex; gap:40px; flex:2 }
   .ft-col h5 { font-size:.6rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.16); margin-bottom:13px }
   .ft-col a  { display:block; font-size:.84rem; color:rgba(255,255,255,.28); margin-bottom:9px; transition:color .18s }
   .ft-col a:hover { color:#fff }
   .ft-bottom { max-width:1200px; margin:0 auto; padding-top:18px; border-top:1px solid rgba(255,255,255,.06); display:flex; align-items:center; justify-content:space-between; font-size:.74rem; color:rgba(255,255,255,.16); flex-wrap:wrap; gap:8px }
   .ft-gws { display:flex; gap:10px }
   .ft-gws span { display:flex; align-items:center; gap:4px }
   
   .auth-split { display:flex; min-height:100vh }
   .auth-illus-panel { width:460px; min-width:340px; flex-shrink:0; background:linear-gradient(155deg,#FFF1F2 0%,#FFE4E8 55%,#FECDD3 100%); display:flex; flex-direction:column; padding:36px; position:relative; overflow:hidden; border-right:1px solid rgba(225,29,72,.1) }
   .auth-illus-panel::before { content:''; position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(225,29,72,.11),transparent 65%); top:-150px; right:-130px; pointer-events:none }
   .auth-illus-panel::after  { content:''; position:absolute; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(159,18,57,.07),transparent 65%); bottom:-70px; left:-90px; pointer-events:none }
   .auth-illus-panel > * { position:relative; z-index:1 }
   .auth-panel-logo { display:flex; align-items:center; gap:10px; text-decoration:none }
   .auth-panel-logo-mark { width:38px; height:38px; border-radius:11px; background:var(--grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 4px 14px rgba(225,29,72,.28) }
   .auth-panel-logo-mark svg { width:20px; height:20px; display:block }
   .auth-panel-logo-name { font-size:1.05rem; font-weight:800; color:var(--dark); letter-spacing:-.03em }
   .auth-art { flex:1; display:flex; align-items:center; justify-content:center; padding:20px 0 }
   .auth-quote { margin-top:auto }
   .auth-quote blockquote { font-size:.85rem; font-style:italic; color:var(--body); line-height:1.75; margin-bottom:10px; border-left:3px solid var(--rose); padding-left:14px }
   .auth-quote cite { font-size:.72rem; color:var(--muted); font-style:normal }
   .auth-perks { margin-top:18px; display:flex; flex-direction:column; gap:9px }
   .auth-perk   { display:flex; align-items:center; gap:9px; font-size:.8rem; color:var(--body) }
   .auth-perk i { font-size:.68rem; color:var(--rose); width:18px; height:18px; background:var(--rose-bg); border:1px solid rgba(225,29,72,.14); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
   .auth-form-panel { flex:1; display:flex; align-items:center; justify-content:center; background:#fff; padding:40px 32px; overflow-y:auto }
   .auth-card { background:#fff; border-radius:var(--r2x); padding:42px 38px; width:100%; max-width:420px; box-shadow:var(--sh4); border:1.5px solid rgba(225,29,72,.08) }
   .auth-card-logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0 }
   .auth-card-logo.mb { margin-bottom:24px }
   .auth-card-logo-mark { width:38px; height:38px; border-radius:11px; background:var(--grad); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(225,29,72,.28); flex-shrink:0; position:relative; overflow:hidden }
   .auth-card-logo-mark::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.2) 0%,transparent 52%); pointer-events:none }
   .auth-card-logo-mark svg { width:20px; height:20px; position:relative; z-index:1; display:block }
   .auth-card-logo-name { font-size:1.08rem; font-weight:800; letter-spacing:-.03em; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text }
   .auth-h2  { font-size:1.55rem; font-weight:900; color:var(--ink); letter-spacing:-.04em; margin-bottom:5px }
   .auth-sub { font-size:.86rem; color:var(--body); margin-bottom:26px; line-height:1.65 }
   .auth-page main,.register-page main,.admin-auth-page main { padding:0!important; min-height:0!important; display:block }
   .register-page-wrap { background:var(--bg); min-height:100vh; display:flex; flex-direction:column }
   .admin-auth-page { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#FFF1F2 0%,#FFE4E8 60%,#FECDD3 100%); padding:24px }
   .admin-login-card { background:#fff; border-radius:var(--r2x); padding:44px 42px; width:100%; max-width:420px; box-shadow:var(--sh4); border:1.5px solid rgba(225,29,72,.08) }
   .admin-login-logo { display:flex; align-items:center; gap:10px; text-decoration:none; margin-bottom:28px }
   .admin-login-logo-mark { width:40px; height:40px; border-radius:12px; background:var(--grad); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(225,29,72,.28); flex-shrink:0; position:relative; overflow:hidden }
   .admin-login-logo-mark::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.2) 0%,transparent 52%); pointer-events:none }
   .admin-login-logo-mark svg { width:20px; height:20px; position:relative; z-index:1; display:block }
   .admin-login-logo-name { font-size:1.1rem; font-weight:800; letter-spacing:-.03em; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text }
   .admin-login-illus { text-align:center; margin-bottom:22px }
   .admin-badge { display:inline-flex; align-items:center; gap:6px; background:var(--rose-bg); color:var(--rose-d); border:1px solid rgba(225,29,72,.18); padding:5px 14px; border-radius:100px; font-size:.72rem; font-weight:700; letter-spacing:.06em; margin-bottom:10px }
   .admin-login-h2 { font-size:1.5rem; font-weight:800; color:var(--ink); letter-spacing:-.03em; margin-bottom:4px }
   .admin-login-sub { font-size:.86rem; color:var(--body); margin-bottom:24px }
   .admin-login-back { display:inline-flex; align-items:center; gap:6px; font-size:.8rem; color:var(--muted); margin-top:18px; font-weight:500 }
   .admin-login-back:hover { color:var(--rose) }
   .register-topbar { padding:14px 40px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border-bottom:1px solid rgba(225,29,72,.07); flex-wrap:wrap }
   .register-topbar-signin { font-size:.84rem; color:var(--muted); white-space:nowrap }
   .register-topbar-signin a { color:var(--rose); font-weight:600; margin-left:4px }
   .register-wrap { min-height:calc(100vh - 64px); display:flex; align-items:center; justify-content:center; padding:20px 24px 48px; background:var(--bg) }
   .register-box { background:#fff; border-radius:var(--r2x); width:100%; max-width:680px; box-shadow:var(--sh4); border:1.5px solid rgba(225,29,72,.08); overflow:hidden }
   .register-header { background:linear-gradient(155deg,#FFF1F2 0%,#FFE4E8 55%,#FECDD3 100%); position:relative; overflow:hidden; padding:32px 44px 24px; border-bottom:1.5px solid rgba(225,29,72,.1) }
   .register-header::before { content:''; position:absolute; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(225,29,72,.1),transparent 65%); top:-100px; right:-70px; pointer-events:none }
   .register-header > * { position:relative; z-index:1 }
   .register-gem-art { display:flex; justify-content:center; margin-bottom:16px }
   .register-header h1 { font-size:1.6rem; color:var(--dark); margin-bottom:6px }
   .register-header p  { color:var(--body); margin-bottom:12px; font-size:.9rem }
   .reg-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px }
   .reg-chip  { display:inline-flex; align-items:center; gap:5px; background:rgba(225,29,72,.06); border:1px solid rgba(225,29,72,.16); padding:5px 13px; border-radius:100px; font-size:.72rem; font-weight:600; color:var(--rose-d) }
   .reg-chip i { font-size:.66rem; color:var(--rose) }
   .register-form { padding:34px 44px 38px }
   .form-group { display:flex; flex-direction:column; gap:6px }
   .form-group label { font-size:.77rem; font-weight:600; color:var(--dark) }
   .form-group .password {margin-bottom:14px;}
   .form-input { background:var(--bg); border:1.5px solid rgba(225,29,72,.12); color:var(--dark); padding:11px 14px; border-radius:var(--r); font-family:'Poppins',sans-serif; font-size:.875rem; transition:all .2s; width:100% }
   .form-input:focus { outline:none; border-color:var(--rose); background:#fff; box-shadow:0 0 0 3px rgba(225,29,72,.07) }
   .form-input-icon { padding-left:38px }
   .input-icon-wrap { position:relative }
   .input-icon { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--muted); font-size:.82rem; pointer-events:none }
   select.form-input { cursor:pointer }
   textarea.form-input { resize:vertical; min-height:90px }
   .form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px }
   .btn-text-short { display:none !important }
   .btn-text-full  { display:inline !important }
   .hidden { display:none!important }
   .float-right { float:right }
   .status-select { background:var(--bg); border:1.5px solid rgba(225,29,72,.1); color:var(--dark); padding:5px 10px; border-radius:8px; font-size:.8rem; cursor:pointer; font-family:'Poppins',sans-serif }
   .strength-bar-wrap { height:3px; background:var(--faint); border-radius:2px; margin-top:6px }
   .strength-bar { height:3px; border-radius:2px; transition:all .3s; width:0; background:var(--grad) }
   .alert { padding:11px 15px; border-radius:var(--r); font-size:.84rem; margin-bottom:14px; border:1.5px solid transparent; display:flex; align-items:center; gap:9px; line-height:1.5 }
   .alert i { flex-shrink:0; font-size:.88rem; line-height:1 }
   .alert > span, .alert > div { flex:1; min-width:0 }
   .alert > div { align-self:flex-start }
   .alert:has(> div) { align-items:flex-start }
   .alert:has(> div) i { margin-top:3px }
   .alert-success { background:var(--ok-bg);   border-color:var(--ok-b);   color:#065f46 }
   .alert-error   { background:var(--err-bg);  border-color:var(--err-b);  color:#991b1b }
   .alert-warning { background:var(--warn-bg); border-color:var(--warn-b); color:#92400e }
   .alert-info    { background:var(--rose-bg); border-color:var(--rose-b); color:var(--rose-d) }
   .status-pill { display:inline-block; padding:3px 11px; border-radius:100px; font-size:.71rem; font-weight:600 }
   .status-confirmed,.status-active,.status-completed { background:var(--ok-bg);   color:#059669 }
   .status-pending  { background:var(--warn-bg); color:#d97706 }
   .status-cancelled,.status-expired,.status-failed { background:var(--err-bg); color:var(--err) }
   .status-no_show  { background:var(--rose-bg); color:var(--rose-d) }
   .status-none,.status-refunded { background:var(--rose-bg); color:var(--rose) }
   .gw-tag { display:inline-block; font-size:.71rem; font-weight:600; padding:2px 9px; border-radius:6px }
   .gw-tag.gw-stripe   { color:#6558e0; background:rgba(99,91,255,.09) }
   .gw-tag.gw-paypal   { color:#0070c8; background:rgba(0,112,200,.09) }
   .gw-tag.gw-razorpay { color:#2b8fe0; background:rgba(51,149,255,.09) }
   .app-page main,.admin-page main { padding:0 }
   .app-shell,.admin-shell { display:flex; flex-direction:row; min-height:100vh; background:#FFFAFC; position:relative }
   .sidebar,.admin-sidebar { width:252px; flex-shrink:0; background:#fff; border-right:1.5px solid #FFE4EF; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; overflow-y:auto; box-shadow:2px 0 8px rgba(225,29,72,.04); z-index:50; transition:transform .28s cubic-bezier(.4,0,.2,1) }
   .sb-header { display:flex; align-items:center; gap:10px; padding:16px 14px 14px; border-bottom:1.5px solid #FFE8EF; flex-shrink:0 }
   .sb-logo-link { display:flex; align-items:center; gap:10px; text-decoration:none; flex:1; min-width:0 }
   .sb-mark { width:36px; height:36px; border-radius:10px; background:var(--grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 3px 10px rgba(225,29,72,.22); position:relative; overflow:hidden }
   .sb-mark::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.2) 0%,transparent 52%); pointer-events:none }
   .sb-mark svg { position:relative; z-index:1; display:block }
   .sb-mark-sm { width:32px; height:32px; border-radius:9px }
   .sb-text { display:flex; flex-direction:column; line-height:1.15; min-width:0 }
   .sb-name { font-size:.95rem; font-weight:800; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; letter-spacing:-.02em; display:block; white-space:nowrap }
   .sb-sub  { font-size:.48rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); display:block }
   .mob-logo-name { font-size:.95rem; font-weight:800; color:var(--dark); letter-spacing:-.02em; white-space:nowrap }
   .sb-close-btn { display:none; width:30px; height:30px; border-radius:8px; background:#FFF0F5; border:1.5px solid #FFD6E2; color:var(--rose-d); cursor:pointer; align-items:center; justify-content:center; font-size:.8rem; transition:all .18s; flex-shrink:0 }
   .sb-close-btn:hover { background:var(--rose); color:#fff }
   .sidebar-salon { display:flex; align-items:center; gap:10px; padding:12px 16px 14px; border-bottom:1px solid #FFE8EF; background:linear-gradient(135deg,#FFF5F8,#fff); flex-shrink:0 }
   .salon-avatar { width:34px; height:34px; border-radius:10px; background:var(--grad); color:#fff; font-weight:800; font-size:.85rem; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
   .salon-name-text { font-size:.82rem; font-weight:700; color:var(--dark); display:block }
   .salon-owner     { font-size:.68rem; color:var(--muted); display:block }
   .sidebar-nav,.admin-nav { padding:10px; flex:1; display:flex; flex-direction:column; gap:2px; overflow-y:auto }
   .sn-item,.an-item { display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:10px; font-size:.83rem; font-weight:600; color:var(--body); text-decoration:none; transition:all .18s; white-space:nowrap }
   .sn-item i,.an-item i { width:16px; text-align:center; font-size:.82rem; color:var(--muted); flex-shrink:0; transition:color .18s }
   .sn-item:hover,.an-item:hover { background:#FFF0F5; color:var(--rose-d); text-decoration:none }
   .sn-item:hover i,.an-item:hover i { color:var(--rose) }
   .sn-item.active,.an-item.active { background:var(--grad); color:#fff; box-shadow:0 3px 12px rgba(225,29,72,.22) }
   .sn-item.active i,.an-item.active i { color:#fff }
   .sn-logout,.an-logout { color:var(--err)!important }
   .sn-logout i,.an-logout i { color:var(--err)!important }
   .sn-logout:hover,.an-logout:hover { background:#FEF2F2!important; color:#DC2626!important }
   .nav-section-label { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); padding:10px 12px 3px; display:block }
   .sidebar-foot,.admin-nav-foot { padding:10px 10px 14px; border-top:1px solid #FFE8EF; flex-shrink:0 }
   .admin-sidebar-user { display:flex; align-items:center; gap:10px; padding:8px 4px 8px }
   .admin-avatar { width:32px; height:32px; border-radius:50%; background:var(--grad); color:#fff; font-weight:700; font-size:.78rem; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
   .admin-sidebar-name { font-size:.79rem; font-weight:600; color:var(--dark); display:block }
   .admin-sidebar-role { font-size:.63rem; color:var(--muted); display:block }
   .admin-tag { font-size:.54rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--rose-bg); color:var(--rose-d); padding:2px 8px; border-radius:5px; margin-left:auto; border:1px solid rgba(225,29,72,.15) }
   .dash-mob-top { display:none; position:sticky; top:0; z-index:200; width:100%; height:56px; align-items:center; justify-content:space-between; padding:0 16px; background:#fff; border-bottom:1.5px solid #FFE8EF; box-shadow:0 2px 8px rgba(225,29,72,.07); flex-shrink:0 }
   .dash-mob-logo { display:flex; align-items:center; gap:10px; text-decoration:none }
   .dash-mob-burger { width:38px; height:38px; border-radius:10px; background:#FFF0F5; border:1.5px solid #FFD6E2; color:var(--rose-d); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.9rem; transition:all .18s; flex-shrink:0 }
   .dash-mob-burger:hover { background:var(--rose); color:#fff; border-color:var(--rose) }
   .sb-overlay { display:none; position:fixed; inset:0; background:rgba(26,0,9,.48); z-index:299; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px) }
   .sb-overlay.on { display:block }
   .app-main,.admin-main { flex:1; min-width:0; padding:28px 32px; overflow-x:hidden }
   .app-bar  { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:24px; padding-bottom:18px; border-bottom:1.5px solid #FFE0EA; gap:12px; flex-wrap:wrap }
   .admin-bar{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:24px; padding-bottom:18px; border-bottom:1.5px solid #FFE0EA; gap:12px; flex-wrap:wrap }
   .app-bar h1  { font-size:1.4rem; font-weight:800; color:var(--ink); margin-bottom:2px }
   .admin-bar h1{ font-size:1.4rem; font-weight:800; color:var(--dark) }
   .app-bar p,.admin-bar span { font-size:.79rem; color:var(--muted); margin-top:2px; display:block }
   .sub-banner { border-radius:var(--rl); padding:12px 18px; margin-bottom:22px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:.84rem; font-weight:500; flex-wrap:wrap }
   .sub-banner i { margin-right:7px }
   .sub-banner.ok      { background:#F0FDF4; border:1.5px solid #BBF7D0; color:#166534 }
   .sub-banner.warn    { background:#FFFBEB; border:1.5px solid #FDE68A; color:#92400E }
   .sub-banner.no-plan { background:#FFF1F2; border:1.5px solid #FECDD3; color:var(--rose-d) }
   .stats-grid,.admin-stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px }
   .stat-tile,.ast-card { background:#fff; border:1.5px solid #FFE8EF; border-radius:16px; padding:20px 18px 16px; transition:all .22s; box-shadow:0 1px 6px rgba(225,29,72,.05); position:relative; overflow:hidden; display:flex; flex-direction:column }
   .stat-tile:hover,.ast-card:hover { transform:translateY(-3px); box-shadow:0 6px 24px rgba(225,29,72,.1) }
   .stat-tile::before,.ast-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px }
   .stat-tile:nth-child(1)::before,.ast-card:nth-child(1)::before { background:linear-gradient(90deg,#FB7185,#E11D48) }
   .stat-tile:nth-child(2)::before,.ast-card:nth-child(2)::before { background:linear-gradient(90deg,#34D399,#059669) }
   .stat-tile:nth-child(3)::before,.ast-card:nth-child(3)::before { background:linear-gradient(90deg,#FCD34D,#F59E0B) }
   .stat-tile:nth-child(4)::before,.ast-card:nth-child(4)::before { background:linear-gradient(90deg,#818CF8,#6366F1) }
   .st-icon,.ast-icon { width:40px; height:40px; border-radius:11px; background:#FFF0F5; display:flex; align-items:center; justify-content:center; margin-bottom:14px; flex-shrink:0 }
   .st-icon i,.ast-icon i { font-size:.9rem; color:var(--rose) }
   .stat-tile:nth-child(2) .st-icon,.ast-card:nth-child(2) .ast-icon { background:#F0FDF4 }
   .stat-tile:nth-child(2) .st-icon i,.ast-card:nth-child(2) .ast-icon i { color:#059669 }
   .stat-tile:nth-child(3) .st-icon,.ast-card:nth-child(3) .ast-icon { background:#FFFBEB }
   .stat-tile:nth-child(3) .st-icon i,.ast-card:nth-child(3) .ast-icon i { color:#D97706 }
   .stat-tile:nth-child(4) .st-icon,.ast-card:nth-child(4) .ast-icon { background:#EEF2FF }
   .stat-tile:nth-child(4) .st-icon i,.ast-card:nth-child(4) .ast-icon i { color:#6366F1 }
   .st-num,.ast-num { font-size:1.7rem; font-weight:900; color:var(--ink); line-height:1.1; letter-spacing:-.03em; margin-bottom:4px }
   .st-label,.ast-lbl { font-size:.72rem; color:var(--muted); font-weight:500; line-height:1.3 }
   .dash-grid { display:grid; grid-template-columns:1fr 300px; gap:18px }
   .dash-side { display:flex; flex-direction:column; gap:18px }
   .dash-card { background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 1px 6px rgba(225,29,72,.05); border:1.5px solid #FFE8EF }
   .dash-card-hd { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1.5px solid #FFE8EF; background:#FFFAFB }
   .dash-card-hd h2 { font-size:.86rem; font-weight:700; color:var(--dark); display:flex; align-items:center; gap:7px }
   .dash-card-hd h2 i { color:var(--rose); font-size:.8rem }
   .link-more { font-size:.74rem; color:var(--muted); font-weight:500; text-decoration:none; padding:4px 10px; border-radius:6px; transition:all .18s; white-space:nowrap }
   .link-more:hover { color:var(--rose); background:#FFF0F5 }
   .admin-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:22px }
   .admin-card { background:#fff; border:1.5px solid #FFE0EA; border-radius:16px; overflow:hidden; margin-bottom:22px; box-shadow:0 1px 6px rgba(225,29,72,.05) }
   .ac-hd { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; background:#FFFAFB; border-bottom:1.5px solid #FFE0EA }
   .ac-hd h2 { font-size:.87rem; font-weight:700; color:var(--dark); display:flex; align-items:center; gap:7px }
   .ac-hd h2 i { color:var(--rose); font-size:.82rem }
   .ac-hd span,.ac-hd a { font-size:.74rem; color:var(--muted); text-decoration:none }
   .ac-hd a:hover { color:var(--rose) }
   .chart-wrap { padding:18px 20px }
   .gw-totals,.gw-totals-row { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px }
   .gwt { background:#fff; border:1.5px solid #FFE0EA; border-radius:14px; padding:16px 18px; box-shadow:0 1px 5px rgba(225,29,72,.04); position:relative; overflow:hidden }
   .gwt::after { content:''; position:absolute; top:0; left:0; right:0; height:3px }
   .gwt.total::after,.gwt.purple::after { background:var(--grad) }
   .gwt.stripe::after   { background:linear-gradient(90deg,#635BFF,#818CF8) }
   .gwt.paypal::after   { background:linear-gradient(90deg,#003087,#009CDE) }
   .gwt.razorpay::after { background:linear-gradient(90deg,#2B8FE0,#38BDF8) }
   .gwt span  { display:block; font-size:.68rem; font-weight:700; color:var(--muted); margin-bottom:7px; text-transform:uppercase; letter-spacing:.07em }
   .gwt strong{ font-size:1.3rem; font-weight:800; letter-spacing:-.03em; display:block; color:var(--dark) }
   .gwt.total,.gwt.purple { background:var(--grad); border:none }
   .gwt.total span,.gwt.total strong,.gwt.purple span,.gwt.purple strong { color:#fff }
   .table-resp { overflow-x:auto }
   .dash-table { width:100%; border-collapse:collapse; font-size:.82rem }
   .dash-table th { padding:10px 16px; text-align:left; font-size:.65rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; border-bottom:1.5px solid #FFE8EF; background:#FAFAFA; white-space:nowrap }
   .dash-table td { padding:11px 16px; border-bottom:1px solid #FFF0F5; vertical-align:middle }
   .dash-table tbody tr:last-child td { border-bottom:none }
   .dash-table tbody tr:hover td { background:#FFFBFC }
   .td-sub  { font-size:.7rem; color:var(--muted); margin-top:2px }
   .td-mono { font-family:'Courier New',monospace; font-size:.75rem; color:var(--muted) }
   .td-id   { font-size:.72rem; color:var(--faint); font-family:'Courier New',monospace }
   .muted-dash { color:var(--faint) }
   .admin-card .dash-table th { border-bottom-color:#FFE0EA; background:#FFFAFB }
   .status-pill { display:inline-flex; align-items:center; padding:3px 9px; border-radius:100px; font-size:.68rem; font-weight:700; letter-spacing:.03em; white-space:nowrap }
   .status-confirmed { background:#FFF1F2; color:var(--rose-d); border:1px solid #FECDD3 }
   .status-completed { background:#F0FDF4; color:#166534;        border:1px solid #BBF7D0 }
   .status-pending   { background:#FFFBEB; color:#92400E;        border:1px solid #FDE68A }
   .status-cancelled { background:#F3F4F6; color:#374151;        border:1px solid #E5E7EB }
   .status-no_show   { background:#FEF2F2; color:#991B1B;        border:1px solid #FECACA }
   .status-active    { background:#F0FDF4; color:#166634;        border:1px solid #BBF7D0 }
   .status-inactive  { background:#F3F4F6; color:#6B7280;        border:1px solid #E5E7EB }
   .status-expired   { background:#FEF2F2; color:#991B1B;        border:1px solid #FECACA }
   .status-trial     { background:#EFF6FF; color:#1D4ED8;        border:1px solid #BFDBFE }
   .status-none      { background:#F3F4F6; color:#6B7280;        border:1px solid #E5E7EB }
   .gw-tag { display:inline-flex; align-items:center; padding:3px 8px; border-radius:6px; font-size:.68rem; font-weight:700; letter-spacing:.02em }
   .gw-stripe   { background:#EEF2FF; color:#4F46E5 }
   .gw-paypal   { background:#EFF6FF; color:#0369A1 }
   .gw-razorpay { background:#F0F9FF; color:#0284C7 }
   .filter-bar { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; align-items:center }
   .filter-bar .form-input { height:40px; padding:8px 12px; font-size:.82rem; width:auto }
   .filter-search { min-width:200px; flex:1; max-width:280px }
   .btn-outline-sm { padding:8px 16px; font-size:.8rem; background:#fff; color:var(--body); border:1.5px solid #FFE0EA; border-radius:var(--r); cursor:pointer; font-family:'Poppins',sans-serif; font-weight:600; transition:all .18s; white-space:nowrap; text-decoration:none; display:inline-flex; align-items:center; gap:6px }
   .btn-outline-sm:hover { border-color:var(--rose); color:var(--rose) }
   .admin-page .form-input:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(225,29,72,.07) }
   .flash { display:flex; align-items:center; gap:9px; padding:12px 16px; border-radius:var(--r); margin-bottom:16px; font-size:.83rem; font-weight:500 }
   .flash i { flex-shrink:0 }
   .flash-ok  { background:#F0FDF4; border:1.5px solid #BBF7D0; color:#166534 }
   .flash-err { background:#FFF1F2; border:1.5px solid #FECDD3; color:var(--rose-d) }
   .empty-box { text-align:center; padding:40px 20px }
   .empty-box-icon { width:52px; height:52px; border-radius:50%; background:#FFF0F5; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; font-size:1.3rem; color:var(--rose-l) }
   .empty-icon { font-size:2rem; display:block; margin:0 auto 12px; opacity:.3 }
   .empty-box h2,.empty-box h3 { font-size:.95rem; font-weight:700; color:var(--dark); margin-bottom:6px }
   .empty-box p { font-size:.82rem; color:var(--muted) }
   .empty-box.large { padding:60px 20px }
   .upcoming-list { }
   .upcoming-item { display:flex; align-items:center; gap:12px; padding:11px 16px; border-bottom:1px solid #FFF0F5 }
   .upcoming-item:last-child { border:none }
   .upcoming-date { min-width:44px; text-align:center; background:#FFF5F8; border-radius:var(--r); padding:6px 4px; border:1px solid #FFD6E2; flex-shrink:0 }
   .upcoming-date strong { display:block; font-size:.78rem; font-weight:700; color:var(--rose-d) }
   .upcoming-date span   { font-size:.61rem; color:var(--muted) }
   .upcoming-info { flex:1; min-width:0 }
   .upcoming-info strong { display:block; font-size:.81rem; font-weight:600; color:var(--dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
   .upcoming-info span   { font-size:.71rem; color:var(--muted) }
   .payment-row { display:flex; align-items:center; justify-content:space-between; padding:11px 16px; border-bottom:1px solid #FFF0F5; gap:10px }
   .payment-row:last-child { border:none }
   .payment-row > div:first-child strong { display:block; font-size:.81rem; font-weight:600; color:var(--dark) }
   .payment-row > div:first-child span   { font-size:.71rem; color:var(--muted) }
   .payment-row-right { text-align:right; flex-shrink:0 }
   .payment-row-right strong { font-size:.86rem; font-weight:700; color:var(--ink); display:block }
   .salon-row-name   { display:flex; align-items:center; gap:10px }
   .salon-row-avatar { width:30px; height:30px; border-radius:8px; background:var(--grad); color:#fff; font-weight:700; font-size:.78rem; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
   .admin-bar-right { display:flex; align-items:center; gap:10px }
   .admin-avatar-chip { display:flex; align-items:center; gap:8px; background:#FFF5F8; border:1.5px solid #FFD6E2; border-radius:100px; padding:5px 14px 5px 6px }
   .admin-avatar-chip span { font-size:.79rem; font-weight:600; color:var(--rose-d) }
   .admin-avatar-circle { width:28px; height:28px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:.75rem; flex-shrink:0 }
   .rev-chart { display:flex; align-items:flex-end; gap:10px; height:140px; padding:0 4px }
   .rev-col { flex:1; display:flex; flex-direction:column; align-items:center; gap:5px }
   .rev-val { font-size:.62rem; font-weight:700; color:var(--body) }
   .rev-bar { width:100%; background:var(--grad); border-radius:5px 5px 0 0; opacity:.75; transition:opacity .2s }
   .rev-bar:hover { opacity:1 }
   .rev-mo { font-size:.64rem; color:var(--muted) }
   .plan-bar-row   { margin-bottom:14px }
   .plan-bar-label { display:flex; justify-content:space-between; margin-bottom:5px; font-size:.8rem }
   .plan-bar-label span:first-child { font-weight:600; color:var(--dark) }
   .plan-bar-count { color:var(--muted) }
   .plan-bar-count em { font-style:normal }
   .plan-bar-track { height:7px; background:#FFE8EF; border-radius:100px; overflow:hidden }
   .plan-bar-fill  { height:100%; border-radius:100px; transition:width .5s }
   .appt-summary-strip { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; font-size:.79rem; color:var(--body); font-weight:500 }
   .appt-summary-strip i { color:var(--rose); margin-right:3px }
   .strip-pill { padding:3px 10px; border-radius:100px; font-size:.71rem; font-weight:700 }
   .strip-pill.confirmed { background:#FFF1F2; color:var(--rose-d) }
   .strip-pill.completed { background:#F0FDF4; color:#166534 }
   .strip-pill.cancelled { background:#F3F4F6; color:#374151 }
   .form-page-wrap { max-width:480px }
   .form-page-card { background:#fff; border:1.5px solid #FFE0EA; border-radius:var(--rl); padding:28px 30px; box-shadow:0 2px 12px rgba(225,29,72,.06) }
   .btn-primary-sm { display:inline-flex; align-items:center; gap:6px; padding:7px 16px; background:var(--grad); color:#fff; border:none; border-radius:var(--r); font-family:'Poppins',sans-serif; font-size:.78rem; font-weight:600; cursor:pointer; text-decoration:none; white-space:nowrap; transition:opacity .18s }
   .btn-primary-sm:hover { opacity:.88; color:#fff; text-decoration:none }
   .hidden { display:none!important }
   .cust-detail-card { background:#fff; border:1.5px solid #FFE0EA; border-radius:var(--rl); overflow:hidden; margin-bottom:22px; box-shadow:0 2px 16px rgba(225,29,72,.07) }
   .cust-detail-head { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; background:linear-gradient(90deg,#FFF5F8,#fff); border-bottom:1.5px solid #FFE0EA; gap:14px; flex-wrap:wrap }
   .cust-detail-identity { display:flex; align-items:center; gap:14px; min-width:0 }
   .cust-detail-avatar { width:48px; height:48px; border-radius:14px; background:var(--grad); color:#fff; font-weight:800; font-size:1.3rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 4px 14px rgba(225,29,72,.22) }
   .cust-detail-identity h2 { font-size:1.05rem; font-weight:800; color:var(--dark); margin-bottom:3px }
   .cust-detail-identity span { font-size:.78rem; color:var(--muted) }
   .cust-detail-grid { display:grid; grid-template-columns:1fr 1fr }
   .cust-detail-grid > div { padding:20px 22px }
   .cust-detail-grid > div:first-child { border-right:1.5px solid #FFE0EA }
   .cust-detail-section { margin-bottom:0 }
   .cust-detail-section + .cust-detail-section { margin-top:20px }
   .cust-detail-section h4 { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #FFF0F5 }
   .cust-info-row { display:flex; align-items:center; gap:10px; padding:6px 0; font-size:.82rem; color:var(--body); border-bottom:1px solid #FFF8FA }
   .cust-info-row:last-child { border-bottom:none }
   .cust-info-row i { width:28px; height:28px; border-radius:8px; background:#FFF0F5; color:var(--rose); font-size:.72rem; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
   .cust-pay-row { display:flex; align-items:center; justify-content:space-between; padding:9px 0; border-bottom:1px solid #FFF0F5; gap:10px }
   .cust-pay-row:last-child { border-bottom:none }
   .cust-pay-row > div:first-child strong { display:block; font-size:.82rem; font-weight:600; color:var(--dark) }
   .cust-pay-row > div:first-child span   { font-size:.71rem; color:var(--muted) }
   .cust-pay-row > div:last-child { text-align:right; flex-shrink:0 }
   .cust-pay-row > div:last-child strong { font-size:.84rem; font-weight:700; color:var(--dark); display:block; margin-bottom:3px }
   .modal { display:none; position:fixed; inset:0; z-index:500; align-items:center; justify-content:center; padding:20px; background:rgba(26,0,9,.48); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px) }
   .modal.open { display:flex }
   .modal-box { background:#fff; border-radius:20px; width:100%; max-width:600px; max-height:90vh; overflow-y:auto; position:relative; box-shadow:0 24px 60px rgba(225,29,72,.16); animation:modalIn .22s cubic-bezier(.4,0,.2,1) }
   @keyframes modalIn { from{opacity:0;transform:translateY(14px) scale(.97)} to{opacity:1;transform:none} }
   .modal-head { display:flex; align-items:center; justify-content:space-between; padding:20px 24px 16px; border-bottom:1.5px solid #FFE0EA; background:linear-gradient(90deg,#FFF5F8,#fff); position:sticky; top:0; z-index:1 }
   .modal-head h2 { font-size:1rem; font-weight:800; color:var(--dark); display:flex; align-items:center; gap:8px }
   .modal-head h2 i { color:var(--rose); font-size:.9rem }
   .modal-close { width:32px; height:32px; border-radius:8px; background:#FFF0F5; border:1.5px solid #FFD6E2; color:var(--rose-d); cursor:pointer; font-size:.82rem; display:flex; align-items:center; justify-content:center; transition:all .18s; flex-shrink:0 }
   .modal-close:hover { background:var(--rose); color:#fff; border-color:var(--rose) }
   .modal-box form { padding:22px 24px 26px }
   .modal-box .form-row-2 { margin-bottom:14px }
   .modal-box .form-group { margin-bottom:14px }
   .appt-setup-notice { display:flex; align-items:flex-start; gap:14px; background:#FFF8EC; border:1.5px solid #FDE68A; border-radius:var(--rl); padding:14px 18px; margin-bottom:20px; font-size:.83rem; color:#92400E }
   .appt-setup-notice i { color:#D97706; font-size:1rem; margin-top:1px; flex-shrink:0 }
   .appt-setup-notice strong { display:block; margin-bottom:3px; font-weight:700 }
   .appt-filter-bar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#fff; border:1.5px solid #FFE0EA; border-radius:var(--rl); padding:12px 16px; margin-bottom:18px }
   .afb-group { display:flex; align-items:center; gap:8px; background:#FFF5F8; border:1.5px solid #FFD6E2; border-radius:var(--r); padding:0 12px; height:40px; flex:1; min-width:140px; max-width:220px }
   .afb-group label { color:var(--rose); font-size:.78rem; flex-shrink:0 }
   .afb-input { border:none; background:transparent; outline:none; font-family:'Poppins',sans-serif; font-size:.82rem; color:var(--ink); width:100%; height:100% }
   .afb-input option { background:#fff }
   .afb-btn { display:inline-flex; align-items:center; gap:7px; padding:0 18px; height:40px; background:var(--grad); color:#fff; border:none; border-radius:var(--r); font-family:'Poppins',sans-serif; font-size:.82rem; font-weight:600; cursor:pointer; white-space:nowrap; transition:opacity .18s }
   .afb-btn:hover { opacity:.88 }
   .afb-clear { font-size:.8rem; color:var(--muted); font-weight:500; text-decoration:none; padding:8px 10px; border-radius:var(--r); transition:color .18s; white-space:nowrap }
   .afb-clear:hover { color:var(--rose) }
   .appt-card { background:#fff; border:1.5px solid #FFE0EA; border-radius:var(--r2x); overflow:hidden; box-shadow:0 2px 12px rgba(225,29,72,.05) }
   .appt-table-wrap { overflow-x:auto }
   .appt-table { width:100%; border-collapse:collapse; font-size:.83rem }
   .appt-table thead tr { background:#FFFAFB }
   .appt-table th { padding:11px 16px; text-align:left; font-size:.65rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; border-bottom:1.5px solid #FFE0EA; white-space:nowrap }
   .appt-table td { padding:13px 16px; border-bottom:1px solid #FFF0F5; vertical-align:middle }
   .appt-table tbody tr:last-child td { border-bottom:none }
   .appt-table tbody tr:hover td { background:#FFFBFC }
   .appt-dt-time { font-weight:700; font-size:.86rem; color:var(--dark) }
   .appt-dt-date { font-size:.72rem; color:var(--muted); margin-top:2px }
   .appt-client-name { font-weight:600; color:var(--dark); font-size:.84rem }
   .appt-client-phone { font-size:.71rem; color:var(--muted); margin-top:2px }
   .appt-service-name { font-weight:500; color:var(--body) }
   .appt-duration { font-size:.78rem; color:var(--muted); display:flex; align-items:center; gap:4px }
   .appt-duration i { color:var(--rose-l); font-size:.7rem }
   .appt-price { font-weight:700; color:var(--dark) }
   .appt-status-sel { font-family:'Poppins',sans-serif; font-size:.75rem; font-weight:600; padding:5px 8px; border:1.5px solid #FFE0EA; border-radius:8px; background:#FFF5F8; color:var(--dark); cursor:pointer; outline:none; transition:border-color .18s }
   .appt-status-sel:focus { border-color:var(--rose) }
   .appt-empty { text-align:center; padding:56px 24px }
   .appt-empty-icon { width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#FFF0F5,#FFE4EE); border:2px solid #FFD6E2; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:1.5rem; color:var(--rose-l) }
   .appt-empty h3 { font-size:1rem; font-weight:700; color:var(--dark); margin-bottom:6px }
   .appt-empty p { font-size:.83rem; color:var(--muted); line-height:1.6 }
   .field-warn { font-size:.72rem; color:var(--err); display:block; margin-top:4px }
   .appt-modal { position:fixed; inset:0; z-index:500; display:flex; align-items:center; justify-content:center; padding:20px; pointer-events:none; opacity:0; transition:opacity .22s }
   .appt-modal.open { pointer-events:all; opacity:1 }
   .appt-modal-bg { position:fixed; inset:0; background:rgba(26,0,9,.45); z-index:499; backdrop-filter:blur(3px); opacity:0; pointer-events:none; transition:opacity .22s }
   .appt-modal-bg.on { opacity:1; pointer-events:all }
   .appt-modal-inner { background:#fff; border-radius:20px; box-shadow:0 24px 60px rgba(225,29,72,.14); width:100%; max-width:640px; max-height:90vh; overflow-y:auto; position:relative; z-index:501; transform:translateY(16px) scale(.98); transition:transform .22s }
   .appt-modal.open .appt-modal-inner { transform:translateY(0) scale(1) }
   .appt-modal-head { display:flex; align-items:flex-start; justify-content:space-between; padding:22px 26px 18px; border-bottom:1.5px solid #FFE0EA; background:linear-gradient(90deg,#FFF5F8,#fff) }
   .appt-modal-head h2 { font-size:1.05rem; font-weight:800; color:var(--dark); margin-bottom:3px }
   .appt-modal-head p  { font-size:.78rem; color:var(--muted) }
   .appt-modal-close { width:32px; height:32px; border-radius:8px; background:#FFF0F5; border:1.5px solid #FFD6E2; color:var(--rose-d); cursor:pointer; font-size:.82rem; display:flex; align-items:center; justify-content:center; transition:all .18s; flex-shrink:0 }
   .appt-modal-close:hover { background:var(--rose); color:#fff; border-color:var(--rose) }
   .appt-form { padding:22px 26px }
   .appt-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px }
   .appt-form-group { display:flex; flex-direction:column; gap:6px }
   .appt-form-group label { font-size:.76rem; font-weight:700; color:var(--dark); text-transform:uppercase; letter-spacing:.05em }
   .appt-form-group label .req { color:var(--rose) }
   .appt-select,.appt-input { width:100%; padding:10px 12px; font-family:'Poppins',sans-serif; font-size:.83rem; color:var(--ink); background:#fff; border:1.5px solid #FFE0EA; border-radius:var(--r); outline:none; transition:border-color .18s,box-shadow .18s }
   .appt-select:focus,.appt-input:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(225,29,72,.07) }
   .appt-select { cursor:pointer }
   .gw-setup-banner { display:flex; align-items:center; gap:16px; background:#FFFBEB; border:1.5px solid #FDE68A; border-radius:var(--rl); padding:16px 20px; margin-bottom:24px }
   .gw-setup-icon { width:40px; height:40px; border-radius:10px; background:#FEF3C7; display:flex; align-items:center; justify-content:center; color:#D97706; font-size:1rem; flex-shrink:0 }
   .gw-setup-text strong { display:block; font-size:.86rem; font-weight:700; color:#92400E; margin-bottom:2px }
   .gw-setup-text span   { font-size:.8rem; color:#B45309 }
   .gw-setup-text code   { background:#FDE68A; padding:1px 5px; border-radius:4px; font-size:.78rem }
   .current-plan-banner { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:linear-gradient(90deg,#F0FDF4,#ECFDF5); border:1.5px solid #BBF7D0; border-radius:var(--rl); padding:16px 20px; margin-bottom:24px }
   .cpb-left { display:flex; align-items:center; gap:14px }
   .cpb-icon { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,#059669,#10B981); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1rem; flex-shrink:0 }
   .cpb-name { font-size:.95rem; font-weight:800; color:#065F46; display:block }
   .cpb-meta { font-size:.78rem; color:#047857; margin-top:2px; display:block }
   .cpb-expiry { text-align:right }
   .cpb-expiry span { font-size:.76rem; color:#047857; display:block }
   .cpb-expiry strong { font-size:.88rem; font-weight:700; color:#065F46 }
   
   /* ══════════════════════════════════════════════════════════════
      CHECKOUT / PAYMENT PAGES
      ══════════════════════════════════════════════════════════════ */
   .checkout-page { background:var(--bg); min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px 16px }
   .checkout-shell { width:100%; max-width:860px }
   .checkout-card { display:grid; grid-template-columns:1fr 1fr; background:#fff; border-radius:var(--r2x); box-shadow:0 8px 48px rgba(127,29,29,.13); overflow:hidden; border:1.5px solid #FFE0EA; min-height:520px }
   .checkout-left { background:var(--grad); padding:36px 32px; display:flex; flex-direction:column; position:relative; overflow:hidden }
   .checkout-left::before { content:''; position:absolute; width:280px; height:280px; border-radius:50%; background:rgba(255,255,255,.07); top:-80px; right:-80px; pointer-events:none }
   .checkout-left::after  { content:''; position:absolute; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.05); bottom:-40px; left:-40px; pointer-events:none }
   .co-back { display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.7); font-size:.78rem; font-weight:600; text-decoration:none; margin-bottom:28px; transition:color .18s; position:relative; z-index:1 }
   .co-back:hover { color:#fff }
   .co-brand-logo { display:flex; align-items:center; gap:10px; margin-bottom:28px; position:relative; z-index:1 }
   .co-brand-logo span { font-size:1.1rem; font-weight:800; color:#fff; letter-spacing:-.02em }
   .co-plan-summary { margin-bottom:20px; position:relative; z-index:1 }
   .co-plan-name  { font-size:1.3rem; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:4px }
   .co-plan-cycle { font-size:.78rem; color:rgba(255,255,255,.6); margin-bottom:12px }
   .co-plan-price { font-size:2.4rem; font-weight:900; color:#fff; letter-spacing:-.04em; line-height:1 }
   .co-plan-price span { font-size:.95rem; font-weight:500; color:rgba(255,255,255,.65); margin-left:2px }
   .co-plan-feats { list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:8px; position:relative; z-index:1 }
   .co-plan-feats li { display:flex; align-items:center; gap:9px; font-size:.82rem; color:rgba(255,255,255,.85) }
   .co-plan-feats li i { color:rgba(255,255,255,.9); font-size:.72rem; flex-shrink:0 }
   .co-trust { margin-top:auto; display:flex; gap:16px; flex-wrap:wrap; position:relative; z-index:1 }
   .co-trust span { display:flex; align-items:center; gap:6px; font-size:.72rem; color:rgba(255,255,255,.55); font-weight:500 }
   .co-trust span i { font-size:.68rem }
   .checkout-right { padding:36px 32px; display:flex; flex-direction:column }
   .co-gw-header { display:flex; align-items:center; gap:14px; margin-bottom:28px }
   .co-gw-icon { font-size:2rem }
   .stripe-icon   { color:#635BFF }
   .paypal-icon   { color:#003087 }
   .razorpay-icon { color:#2B8FE0 }
   .co-gw-title { font-size:1.1rem; font-weight:800; color:var(--ink); letter-spacing:-.02em }
   .co-gw-sub   { font-size:.78rem; color:var(--muted) }
   .co-form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:16px }
   .co-label { font-size:.76rem; font-weight:700; color:var(--dark); letter-spacing:.02em }
   .co-input { background:var(--bg); border:1.5px solid rgba(225,29,72,.14); color:var(--dark); padding:11px 14px; border-radius:var(--r); font-family:'Poppins',sans-serif; font-size:.875rem; transition:all .2s; width:100% }
   .co-input:focus { outline:none; border-color:var(--rose); background:#fff; box-shadow:0 0 0 3px rgba(225,29,72,.07) }
   .co-stripe-el { background:var(--bg); border:1.5px solid rgba(225,29,72,.14); border-radius:var(--r); padding:12px 14px; transition:all .2s }
   .co-stripe-el.StripeElement--focus { border-color:var(--rose); background:#fff; box-shadow:0 0 0 3px rgba(225,29,72,.07) }
   .co-stripe-el.StripeElement--invalid { border-color:var(--err) }
   .co-error { font-size:.78rem; color:var(--err); margin-top:6px; min-height:18px }
   .co-pay-btn { width:100%; padding:14px; margin-top:8px; background:var(--grad); color:#fff !important; border:none; border-radius:var(--r); font-family:'Poppins',sans-serif; font-size:.95rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:9px; transition:all .22s; box-shadow:var(--sh-r); letter-spacing:-.01em }
   .co-pay-btn:hover { background:var(--grad-deep); transform:translateY(-1px); box-shadow:0 12px 32px rgba(225,29,72,.35) }
   .co-pay-btn:disabled { opacity:.65; cursor:not-allowed; transform:none }
   .co-footer-note { margin-top:16px; font-size:.72rem; color:var(--muted); text-align:center }
   #paypal-button-container { margin-top:8px }
   .co-paypal-info { background:#EFF6FF; border:1.5px solid #BFDBFE; border-radius:var(--r); padding:14px 16px; font-size:.84rem; color:#1E40AF; margin-bottom:20px; display:flex; gap:10px; align-items:flex-start; line-height:1.6 }
   .co-paypal-info i { flex-shrink:0; margin-top:2px; color:#3B82F6 }
   .co-paypal-btns { margin-bottom:16px }
   .co-rzp-icon { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,#2B8FE0,#38BDF8); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; flex-shrink:0 }
   .co-rzp-methods { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px }
   .co-rzp-methods span { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; background:var(--bg); border:1.5px solid rgba(225,29,72,.1); border-radius:100px; font-size:.76rem; color:var(--body); font-weight:500 }
   .co-rzp-methods span i { color:var(--rose); font-size:.72rem }
   @media(max-width:680px){ .checkout-card { grid-template-columns:1fr } .checkout-left,.checkout-right { padding:24px 20px } .co-plan-price { font-size:1.9rem } }
   
   /* ══════════════════════════════════════════════════════════════
      RESPONSIVE
      ══════════════════════════════════════════════════════════════ */
   @media (max-width:1200px) { .nav-wrap { padding:0 24px } .hero { padding:72px 24px 64px } .features-sec,.how-sec,.testi-sec,.pricing-sec { padding:80px 24px } .cta-sec { padding:64px 24px } .logos-strip { padding:18px 24px } .site-footer { padding:48px 24px 22px } .ft-inner,.ft-bottom { padding-left:24px; padding-right:24px } }
   @media (max-width:1100px) { .hero { gap:40px } .feat-grid { grid-template-columns:1fr 1fr } .testi-grid { grid-template-columns:1fr 1fr } .plans-grid { grid-template-columns:1fr 1fr } .plan-cards-grid { grid-template-columns:1fr 1fr } .cust-detail-grid { grid-template-columns:1fr 1fr } .dash-grid { grid-template-columns:1fr } .admin-grid-2 { grid-template-columns:1fr } .gw-totals,.gw-totals-row { grid-template-columns:repeat(2,1fr) } .stats-grid,.admin-stats-row { grid-template-columns:repeat(2,1fr) } }
   @media (max-width:900px) { .nav-links { display:none } .nav-burger { display:flex } .hero { grid-template-columns:1fr; gap:32px; padding:56px 24px 48px } .hero-visual { display:none } .hero-text h1 { font-size:clamp(1.75rem,5vw,2.6rem) } .ft-inner { flex-direction:column; gap:28px } .ft-cols { flex-wrap:wrap; gap:20px } .ft-col { min-width:110px } .testi-grid { grid-template-columns:1fr } .steps-row { flex-direction:column; align-items:center } .steps-row::before { display:none } .step-col { width:100%; max-width:320px; padding-bottom:28px } }
   @media (max-width:860px) { .app-shell,.admin-shell { flex-direction:column } .sidebar,.admin-sidebar { display:flex; position:fixed; left:0; top:0; bottom:0; height:100dvh; height:100vh; width:270px; z-index:300; transform:translateX(-100%); transition:transform .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--sh4) } .sidebar.mob-open,.admin-sidebar.mob-open { transform:translateX(0) } .sb-close-btn { display:flex } .dash-mob-top { display:flex } .app-main,.admin-main { width:100%; padding:18px 16px } .app-bar,.admin-bar { margin-bottom:16px; padding-bottom:14px } .admin-bar-right { display:none } .dash-grid { grid-template-columns:1fr } .dash-side { display:contents } .admin-grid-2 { grid-template-columns:1fr } .gw-totals,.gw-totals-row { grid-template-columns:repeat(2,1fr) } .stats-grid,.admin-stats-row { grid-template-columns:repeat(2,1fr) } .stat-tile,.ast-card { padding:16px 14px 13px } .st-icon,.ast-icon { width:36px; height:36px; margin-bottom:10px } .st-num,.ast-num { font-size:1.5rem } .gwt { padding:13px 14px } .gwt strong { font-size:1.15rem } .rev-chart { height:110px } .dash-table th,.dash-table td { padding:9px 12px; font-size:.79rem } .appt-form-row,.form-row-2 { grid-template-columns:1fr } .filter-search { max-width:100%; flex:1 } .cust-detail-grid { grid-template-columns:1fr } .cust-detail-grid>div:first-child { border-right:none; border-bottom:1.5px solid #FFE0EA } .plan-cards-grid { grid-template-columns:1fr; max-width:420px; margin:0 auto } .plans-grid { grid-template-columns:1fr; max-width:400px; margin:0 auto } .feat-grid { grid-template-columns:1fr } .auth-split { flex-direction:column } .auth-illus-panel { width:100%; min-width:0; padding:22px 20px; min-height:auto } .auth-art { display:none } .auth-perks,.auth-quote { display:none } .register-header { padding:24px 22px } .register-form { padding:24px 22px } }
   @media (max-width:700px) { .appt-filter-bar { flex-direction:column; align-items:stretch } .afb-group { max-width:100% } .appt-modal-inner { border-radius:14px } .appt-modal-head { padding:16px 18px } .appt-form { padding:16px 18px } .appt-form-row { grid-template-columns:1fr } .appt-table th:nth-child(4),.appt-table td:nth-child(4),.appt-table th:nth-child(5),.appt-table td:nth-child(5) { display:none } .dash-table th:nth-child(4),.dash-table td:nth-child(4) { display:none } }
   @media (max-width:600px) { .hero { padding:36px 18px 32px } .hero-text h1 { font-size:1.85rem } .hero-text > p { font-size:.9rem } .hero-btns { flex-direction:column } .hero-btns .btn { width:100%; justify-content:center } .how-sec,.features-sec,.testi-sec,.pricing-sec { padding:52px 18px } .cta-box { padding:44px 20px; border-radius:var(--rxl) } .cta-box h2 { font-size:1.5rem } .cta-btns { flex-direction:column } .cta-btns .btn { width:100%; justify-content:center } .logos-strip { padding:14px 18px } .logos-row { gap:14px } .pricing-inner .billing-tabs { width:100% } .t-tab { flex:1; justify-content:center } .site-footer { padding:36px 18px 18px } .ft-cols { gap:14px } .app-main,.admin-main { padding:12px } .app-bar h1,.admin-bar h1 { font-size:1.2rem } .app-bar p,.admin-bar span { font-size:.74rem } .stats-grid,.admin-stats-row { gap:10px } .stat-tile,.ast-card { padding:13px 12px 11px } .st-icon,.ast-icon { width:32px; height:32px; margin-bottom:9px; border-radius:9px } .st-icon i,.ast-icon i { font-size:.8rem } .st-num,.ast-num { font-size:1.3rem } .st-label,.ast-lbl { font-size:.67rem } .gw-totals,.gw-totals-row { gap:10px } .gwt { padding:11px 12px } .gwt strong { font-size:1.05rem } .gwt span { font-size:.61rem; margin-bottom:5px } .admin-card,.dash-card { border-radius:12px } .ac-hd { padding:11px 14px } .chart-wrap { padding:12px 14px } .dash-card-hd { padding:11px 14px } .rev-chart { height:90px; gap:7px } .rev-val { font-size:.57rem } .rev-mo { font-size:.59rem } .dash-table th,.dash-table td { padding:8px 10px; font-size:.76rem } .dash-table th:nth-child(5),.dash-table td:nth-child(5) { display:none } }
   @media (max-width:480px) { .app-main,.admin-main { padding:10px } .app-bar,.admin-bar { flex-direction:column; align-items:stretch; gap:8px } .app-bar .btn,.admin-bar .btn { width:100%; justify-content:center } .app-bar h1,.admin-bar h1 { font-size:1.1rem } .btn-text-full { display:none !important } .btn-text-short { display:inline !important } .stats-grid,.admin-stats-row { grid-template-columns:repeat(2,1fr); gap:8px } .stat-tile,.ast-card { padding:11px 10px 10px } .st-num,.ast-num { font-size:1.2rem } .st-label,.ast-lbl { font-size:.64rem } .gw-totals,.gw-totals-row { grid-template-columns:repeat(2,1fr); gap:8px } .gwt strong { font-size:.95rem } .gwt span { font-size:.58rem } .filter-bar { flex-direction:column; align-items:stretch } .filter-bar .form-input,.btn-outline-sm { width:100%; justify-content:center } .appt-summary-strip { display:none } .plan-cards-grid,.plans-grid { max-width:100% } .cust-detail-head { flex-direction:column; align-items:flex-start } .cust-detail-grid>div { padding:14px } .upcoming-item { padding:9px 12px; gap:8px } .upcoming-date { min-width:38px; padding:5px 4px } .upcoming-date strong { font-size:.73rem } .appt-table th:nth-child(6),.appt-table td:nth-child(6) { display:none } .register-header h1 { font-size:1.2rem } .register-box { border-radius:var(--rl) } .register-header,.register-form { padding:18px 16px } .auth-card { padding:26px 18px } .admin-login-card { padding:28px 20px } .form-row-2 { grid-template-columns:1fr } .register-topbar { padding:10px 16px } }
   @media (max-width:360px) { .app-main,.admin-main { padding:8px } .stats-grid,.admin-stats-row { gap:6px } .gw-totals,.gw-totals-row { gap:6px } .stat-tile,.ast-card { padding:9px 8px } .st-num,.ast-num { font-size:1.05rem } .st-label,.ast-lbl { font-size:.6rem } .gwt strong { font-size:.88rem } .gwt { padding:9px 10px } .nav-wrap { padding:0 10px } .nav-logo-sub { display:none } .dash-table th,.dash-table td { padding:6px 8px; font-size:.72rem } }

/* ══════════════════════════════════════════════════════════════
   RENEW SUBSCRIPTION PAGE
   ══════════════════════════════════════════════════════════════ */
.renew-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:20px; align-items:start }

/* Status banners */
.renew-banner { display:flex; align-items:center; gap:14px; border-radius:var(--rl); padding:16px 20px; margin-bottom:24px }
.renew-banner-icon { width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1.1rem }
.renew-banner-title { font-size:.88rem; font-weight:700; margin-bottom:2px }
.renew-banner-desc  { font-size:.8rem }
.renew-banner.expired { background:#FEF2F2; border:1.5px solid #FECACA }
.renew-banner.expired .renew-banner-icon  { background:#FEE2E2; color:#EF4444 }
.renew-banner.expired .renew-banner-title { color:#991B1B }
.renew-banner.expired .renew-banner-desc  { color:#B91C1C }
.renew-banner.urgent  { background:#FFFBEB; border:1.5px solid #FDE68A }
.renew-banner.urgent  .renew-banner-icon  { background:#FEF3C7; color:#D97706 }
.renew-banner.urgent  .renew-banner-title { color:#92400E }
.renew-banner.urgent  .renew-banner-desc  { color:#B45309 }
.renew-banner.active  { background:#F0FDF4; border:1.5px solid #BBF7D0 }
.renew-banner.active  .renew-banner-icon  { background:#DCFCE7; color:#059669 }
.renew-banner.active  .renew-banner-title { color:#065F46 }
.renew-banner.active  .renew-banner-desc  { color:#047857 }

/* Plan summary card */
.renew-plan-card { background:#fff; border:1.5px solid #FFE0EA; border-radius:20px; overflow:hidden; box-shadow:0 2px 12px rgba(225,29,72,.06) }
.renew-plan-header { background:var(--grad); padding:24px 26px; position:relative; overflow:hidden }
.renew-plan-header::before { content:''; position:absolute; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.07); top:-60px; right:-60px; pointer-events:none }
.renew-plan-header::after  { content:''; position:absolute; width:100px; height:100px; border-radius:50%; background:rgba(255,255,255,.05); bottom:-30px; left:-30px; pointer-events:none }
.renew-plan-header-inner { position:relative; z-index:1 }
.renew-plan-identity { display:flex; align-items:center; gap:12px; margin-bottom:18px }
.renew-plan-gem { width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1.1rem; color:#fff }
.renew-plan-label { font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:2px }
.renew-plan-name  { font-size:1.2rem; font-weight:800; color:#fff; letter-spacing:-.02em }
.renew-plan-price-row { display:flex; align-items:flex-end; gap:4px; margin-bottom:6px }
.renew-plan-price { font-size:2.8rem; font-weight:900; color:#fff; line-height:1; letter-spacing:-.04em }
.renew-plan-per   { font-size:.85rem; color:rgba(255,255,255,.6); padding-bottom:6px }
.renew-plan-cycle { font-size:.78rem; color:rgba(255,255,255,.65) }

.renew-plan-body { padding:20px 26px }
.renew-info-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid #FFF0F5 }
.renew-info-row:last-of-type { border-bottom:none }
.renew-info-label { font-size:.8rem; color:var(--muted); display:flex; align-items:center; gap:7px }
.renew-info-label i { color:var(--rose); width:14px; font-size:.75rem }
.renew-info-value { font-size:.82rem; font-weight:700; color:var(--dark) }
.renew-info-value.ok      { color:#059669 }
.renew-info-value.warn    { color:#D97706 }
.renew-info-value.expired { color:#EF4444 }
.renew-info-value.large   { font-size:.9rem; font-weight:800 }

.renew-switch-link { margin-top:16px; padding-top:16px; border-top:1.5px solid #FFE0EA; display:flex; align-items:center; justify-content:center; gap:7px; font-size:.8rem; color:var(--muted); font-weight:600; text-decoration:none; transition:color .18s }
.renew-switch-link:hover { color:var(--rose) }
.renew-switch-link i { font-size:.72rem }

/* Payment methods card */
.renew-pay-card { background:#fff; border:1.5px solid #FFE0EA; border-radius:20px; overflow:hidden; box-shadow:0 2px 12px rgba(225,29,72,.06) }
.renew-pay-head { padding:22px 26px 16px; border-bottom:1.5px solid #FFE0EA; background:linear-gradient(90deg,#FFF5F8,#fff) }
.renew-pay-head h2 { font-size:.95rem; font-weight:800; color:var(--dark); margin-bottom:3px; display:flex; align-items:center; gap:8px }
.renew-pay-head h2 i { color:var(--rose); font-size:.88rem }
.renew-pay-head p  { font-size:.78rem; color:var(--muted); margin:0 }
.renew-pay-methods { padding:22px 26px; display:flex; flex-direction:column; gap:12px }

.renew-gw-btn { display:flex; align-items:center; gap:16px; padding:16px 18px; border-radius:var(--rl); text-decoration:none; transition:all .2s }
.renew-gw-btn:hover { transform:translateY(-2px); text-decoration:none }
.renew-gw-icon { width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
.renew-gw-info { flex:1; min-width:0 }
.renew-gw-name    { font-size:.88rem; font-weight:700; color:var(--dark); margin-bottom:2px }
.renew-gw-methods { font-size:.74rem; color:var(--muted) }
.renew-gw-right { display:flex; align-items:center; gap:8px; flex-shrink:0 }
.renew-gw-amount { font-size:.82rem; font-weight:800 }
.renew-gw-right i { font-size:.7rem; color:var(--muted) }

.renew-gw-stripe   { background:#F8F7FF; border:1.5px solid #C7C4F0 }
.renew-gw-stripe:hover { border-color:#635BFF; box-shadow:0 4px 16px rgba(99,91,255,.15) }
.renew-gw-stripe .renew-gw-icon   { background:#fff; box-shadow:0 2px 8px rgba(99,91,255,.15) }
.renew-gw-stripe .renew-gw-icon i { font-size:1.5rem; color:#635BFF }
.renew-gw-stripe .renew-gw-amount { color:#635BFF }

.renew-gw-paypal   { background:#F0F7FF; border:1.5px solid #BAD9F7 }
.renew-gw-paypal:hover { border-color:#003087; box-shadow:0 4px 16px rgba(0,48,135,.12) }
.renew-gw-paypal .renew-gw-icon   { background:#fff; box-shadow:0 2px 8px rgba(0,48,135,.1) }
.renew-gw-paypal .renew-gw-icon i { font-size:1.4rem; color:#003087 }
.renew-gw-paypal .renew-gw-amount { color:#003087 }

.renew-gw-razorpay   { background:#F0F9FF; border:1.5px solid #BAE6FD }
.renew-gw-razorpay:hover { border-color:#0284C7; box-shadow:0 4px 16px rgba(2,132,199,.12) }
.renew-gw-razorpay .renew-gw-icon   { background:linear-gradient(135deg,#2B8FE0,#38BDF8); box-shadow:0 2px 8px rgba(2,132,199,.2) }
.renew-gw-razorpay .renew-gw-icon i { font-size:1.1rem; color:#fff }
.renew-gw-razorpay .renew-gw-amount { color:#0284C7 }

.renew-security { padding:14px 26px 20px; display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap }
.renew-security span { display:flex; align-items:center; gap:5px; font-size:.72rem; color:var(--muted) }
.renew-security span i { color:var(--rose); font-size:.65rem }

/* Empty state */
.renew-empty { background:#fff; border:1.5px solid #FFE0EA; border-radius:20px; padding:56px 24px; text-align:center; box-shadow:0 2px 12px rgba(225,29,72,.06) }
.renew-empty-icon { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#FFF0F5,#FFE4EE); border:2px solid #FFD6E2; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:1.8rem; color:var(--rose-l) }
.renew-empty h2 { font-size:1.1rem; font-weight:800; color:var(--dark); margin-bottom:8px }
.renew-empty p  { font-size:.86rem; color:var(--muted); margin-bottom:24px; max-width:340px; margin-left:auto; margin-right:auto }

@media(max-width:860px) { .renew-grid { grid-template-columns:1fr } }

/* ══════════════════════════════════════════════════════════════
   AUTH FORM HELPERS
   ══════════════════════════════════════════════════════════════ */
.auth-form .form-group         { margin-bottom:14px }
.auth-form .form-group:last-of-type { margin-bottom:0 }
.auth-form-foot  { text-align:right; margin-bottom:20px; margin-top:4px }
.auth-forgot     { font-size:.78rem; color:var(--rose); font-weight:500 }
.auth-forgot:hover { color:var(--rose-d) }
.auth-switch     { text-align:center; margin-top:20px; font-size:.83rem; color:var(--muted) }
.auth-switch a   { font-weight:600; color:var(--rose) }
.form-group .email { margin-bottom: 16px;}
/* Register form spacing */
.register-form .form-row-2   { margin-bottom:14px }
.register-form .form-row-2:last-of-type { margin-bottom:26px }
.register-form .form-group label i { color:var(--rose); margin-right:5px; font-size:.7rem }
.register-foot   { text-align:center; margin-top:16px; font-size:.82rem; color:var(--muted) }
.register-foot a { font-weight:600; color:var(--rose) }

/* Fix main tag on auth pages — must not add padding or constrain layout */
.auth-page main,
.register-page main,
.admin-auth-page main {
  padding:0 !important;
  min-height:0 !important;
  display:contents;
}

/* Register form row spacing */
.register-form-inner .form-row-2 { margin-bottom:14px }
.register-form-inner .form-row-2:last-of-type { margin-bottom:26px }
