/* ==========================================================
   SM MATRIMONY — SHARED THEME
   Colour values taken directly from the reference design.
   Loaded by every page.
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Noto+Sans+Tamil:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  /* core brand — matches reference exactly */
  --maroon:#5C0612;          /* header, primary surfaces */
  --maroon-mid:#730D1B;      /* borders on maroon */
  --maroon-hover:#850D1E;
  --maroon-deep:#4A0D12;

  --amber:#FBBF24;           /* primary gold accent */
  --amber-light:#FEF08A;
  --amber-dark:#CA8A04;
  --amber-200:#FDE68A;

  --bg:#FFF8F2;              /* page background */
  --bg-soft:#FFFCF8;
  --card:#FFFFFF;
  --line:#EFE5DC;

  --ink:#1E293B;             /* slate-800 */
  --ink-soft:#475569;        /* slate-600 */
  --muted:#64748B;           /* slate-500 */
  --muted-light:#94A3B8;

  --green:#16A34A;
  --green-bg:#DCFCE7;
  --red:#DC2626;

  --r-sm:10px; --r:14px; --r-lg:18px; --r-xl:24px; --r-2xl:28px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.06);
  --shadow:0 4px 16px rgba(0,0,0,.07);
  --shadow-lg:0 12px 34px rgba(0,0,0,.10);
  --header-h:64px;
  --nav-h:62px;
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{
  font-family:'Poppins','Noto Sans Tamil',system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:15px;
  line-height:1.5;
  min-height:100vh;
  padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));
}
a{text-decoration:none;color:inherit}
button{font-family:inherit;border:none;cursor:pointer;background:none}
img{display:block;max-width:100%}
.serif{font-family:'Playfair Display',Georgia,serif}
.hidden{display:none!important}
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}

/* ==========================================================
   HEADER — deep maroon, sticky (matches reference)
   ========================================================== */
.app-header{
  position:sticky;top:0;z-index:40;width:100%;
  background:var(--maroon);color:#fff;
  border-bottom:1px solid var(--maroon-mid);
  box-shadow:var(--shadow-sm);
}
.header-inner{
  max-width:1280px;margin:0 auto;height:var(--header-h);
  padding:0 12px;display:flex;align-items:center;
  justify-content:space-between;gap:8px;
}
.brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1;cursor:pointer}
.brand-logo{width:40px;height:40px;border-radius:50%;flex-shrink:0;
  border:2px solid var(--amber);background:#fff;object-fit:cover}
.brand-text{min-width:0;overflow:hidden}
.brand-name{font-family:'Playfair Display',Georgia,serif;font-weight:800;
  font-size:17px;letter-spacing:.3px;white-space:nowrap;color:#fff}
.brand-name em{font-style:normal;color:var(--amber);font-weight:700;
  text-transform:uppercase;font-size:12px;letter-spacing:.5px}
.brand-motto{font-size:9.5px;color:rgba(253,230,138,.95);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;margin-top:1px}

.header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.lang-btn{
  padding:5px 10px;border-radius:999px;background:var(--maroon-mid);
  color:var(--amber-200);font-size:11px;font-weight:600;
  border:1px solid rgba(251,191,36,.3);display:flex;align-items:center;gap:4px;
  transition:background .2s;
}
.lang-btn:hover{background:var(--maroon-hover)}
.icon-btn{
  position:relative;padding:7px;border-radius:50%;color:rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.icon-btn:hover{background:rgba(255,255,255,.1)}
.icon-btn svg{width:21px;height:21px}
.icon-btn .ico-amber{color:var(--amber-200)}
.icon-btn .ico-heart{color:#FCA5A5;fill:#F87171}
.hdr-badge{
  position:absolute;top:1px;right:1px;min-width:17px;height:17px;padding:0 4px;
  border-radius:999px;background:var(--amber);color:var(--maroon);
  font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--maroon);
}
.hdr-count{font-size:11px;font-weight:700;color:var(--amber-200);margin-left:1px}
.avatar-btn{
  padding:2px;border-radius:50%;border:2px solid var(--amber);flex-shrink:0;
  transition:transform .2s;display:block;
}
.avatar-btn:hover{transform:scale(1.05)}
.avatar-btn img,.avatar-btn .ph{
  width:32px;height:32px;border-radius:50%;object-fit:cover;
  background:var(--maroon-mid);display:flex;align-items:center;justify-content:center;
  color:var(--amber-200);
}
.login-btn{
  padding:7px 14px;border-radius:999px;background:var(--amber);
  color:var(--maroon);font-weight:700;font-size:12px;
  font-family:'Playfair Display',Georgia,serif;
  box-shadow:var(--shadow-sm);border:1px solid var(--amber-200);
  display:flex;align-items:center;gap:5px;white-space:nowrap;transition:background .2s;
}
.login-btn:hover{background:var(--amber-light)}

/* ==========================================================
   BOTTOM NAV — white, blurred, badges (matches reference)
   ========================================================== */
.bottom-nav{
  position:fixed;bottom:0;left:0;right:0;z-index:40;
  background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:1px solid #E2E8F0;box-shadow:0 -4px 20px rgba(0,0,0,.08);
  padding:6px 8px calc(6px + env(safe-area-inset-bottom));
}
.nav-inner{max-width:520px;margin:0 auto;display:flex;align-items:center;justify-content:space-around}
.nav-item{
  position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:4px 8px;min-width:54px;border-radius:12px;
  color:var(--muted);transition:color .2s,transform .2s;
}
.nav-item svg{width:21px;height:21px;transition:transform .2s}
.nav-item span{font-size:10px;margin-top:3px;font-weight:500;letter-spacing:-.2px}
.nav-item.active{color:var(--maroon);font-weight:700}
.nav-item.active svg{transform:scale(1.12);stroke-width:2.5}
.nav-item.active span{font-weight:700}
.nav-item:active{transform:scale(.94)}
.nav-badge{
  position:absolute;top:-5px;right:-7px;min-width:16px;padding:0 4px;
  border-radius:999px;background:var(--maroon);color:var(--amber-200);
  font-size:9px;font-weight:800;line-height:16px;text-align:center;
  border:1.5px solid #fff;
}

/* ==========================================================
   SHARED BUILDING BLOCKS
   ========================================================== */
.container{max-width:1280px;margin:0 auto;padding:14px}
.page-wrap{max-width:640px;margin:0 auto;padding:14px}

.card{
  background:var(--card);border-radius:var(--r-xl);
  border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:13px 20px;border-radius:var(--r);font-weight:600;font-size:14.5px;
  transition:transform .1s,background .2s,opacity .2s;
}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--maroon);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--maroon-hover)}
.btn-gold{background:linear-gradient(135deg,var(--amber-light),var(--amber),var(--amber-dark));
  color:var(--maroon-deep);font-weight:700;box-shadow:0 6px 18px rgba(202,138,4,.3)}
.btn-outline{background:#fff;border:2px solid var(--maroon);color:var(--maroon)}
.btn-block{width:100%}

input,select,textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:var(--r);font-family:inherit;font-size:14.5px;
  background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--amber);
  box-shadow:0 0 0 3px rgba(251,191,36,.15);
}
label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:5px}

.section-title{
  font-family:'Playfair Display',Georgia,serif;
  font-size:19px;font-weight:700;color:var(--ink);
}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}
.section-link{font-size:13px;font-weight:600;color:var(--maroon);display:flex;align-items:center;gap:3px}

.chip-green{background:var(--green-bg);color:var(--green);font-size:11.5px;
  font-weight:700;padding:3px 9px;border-radius:999px;display:inline-block}
.chip-new{position:absolute;top:8px;right:8px;background:var(--green);color:#fff;
  font-size:10px;font-weight:700;padding:3px 9px;border-radius:8px}

.animate-fade-in{animation:fadeIn .25s cubic-bezier(.16,1,.3,1) both}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

.toast{
  position:fixed;left:50%;bottom:calc(var(--nav-h) + 20px);transform:translateX(-50%);
  background:var(--ink);color:#fff;padding:12px 20px;border-radius:var(--r-lg);
  font-size:14px;z-index:9999;box-shadow:var(--shadow-lg);max-width:90%;text-align:center;
}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ==========================================================
   WELCOME / PROFILE STRENGTH CARD
   ========================================================== */
.welcome-card{
  position:relative;overflow:hidden;margin:16px 0;
  background:linear-gradient(100deg,#FFFBF5 0%,#FDF7ED 50%,#F7EEDC 100%);
  border:1px solid rgba(252,211,77,.8);border-radius:var(--r-2xl);
  padding:20px;box-shadow:var(--shadow);
}
.welcome-emblem{
  position:absolute;right:-14px;top:50%;transform:translateY(-50%);
  width:130px;height:130px;opacity:.16;pointer-events:none;
}
.welcome-row{position:relative;z-index:1;display:flex;align-items:center;gap:14px}
.welcome-avatar{position:relative;flex-shrink:0}
.welcome-avatar img,.welcome-avatar .ph{
  width:68px;height:68px;border-radius:50%;object-fit:cover;
  border:2px solid var(--amber-dark);box-shadow:var(--shadow-sm);
  background:var(--line);display:flex;align-items:center;justify-content:center;color:#B9A48C;
}
.welcome-avatar .tick{
  position:absolute;bottom:0;right:0;width:20px;height:20px;background:#10B981;
  border:2px solid #fff;border-radius:50%;display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:10px;font-weight:700;
}
.welcome-hi{
  font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:700;
  color:var(--maroon);display:flex;align-items:center;gap:6px;
}
.welcome-sub{font-size:12px;color:var(--ink-soft);font-weight:500;margin-top:2px}
.strength-wrap{margin-top:12px;position:relative;z-index:1}
.strength-labels{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-bottom:5px}
.strength-labels .l{color:var(--muted)}
.strength-labels .r{color:#047857;font-weight:700}
.strength-track{width:100%;height:10px;background:#E2E8F0;border-radius:999px;overflow:hidden}
.strength-fill{height:100%;background:#10B981;border-radius:999px;transition:width .5s ease}
.welcome-cta{margin-top:14px;position:relative;z-index:1}

/* ==========================================================
   TRUST BADGES ROW
   ========================================================== */
.trust-row{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:14px;box-shadow:var(--shadow-sm);
}
.trust-cell{
  min-width:0;                 /* still the safety net, even with more room now */
  display:flex;align-items:flex-start;gap:10px;text-align:left;
  padding:8px;border-radius:var(--r-lg);
}
.trust-cell svg{width:26px;height:26px;color:var(--amber-dark);flex-shrink:0;margin-top:1px}
.trust-cell .txt{min-width:0}
.trust-cell b{
  display:block;font-size:12.5px;font-weight:700;color:var(--maroon);line-height:1.25;
  overflow-wrap:break-word;
}
.trust-cell small{
  display:block;font-size:10.5px;color:var(--muted);line-height:1.4;margin-top:2px;
  overflow-wrap:break-word;
}

/* ==========================================================
   MATCH CARDS — horizontal scroll
   ========================================================== */
.match-scroll{
  display:flex;gap:14px;overflow-x:auto;padding:2px 14px 8px;margin:0 -14px;
  scroll-snap-type:x mandatory;
}
.match-card{
  flex:0 0 178px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);
  scroll-snap-align:start;display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s;
}
.match-card:active{transform:scale(.98)}
.match-photo{
  position:relative;height:190px;background:#F1E9DC center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;color:#C9B79E;
}
.match-photo .ph svg{width:52px;height:52px}
.match-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(15,23,42,.55),transparent 55%);
}
.badge-verified{
  position:absolute;top:9px;left:9px;z-index:2;display:inline-flex;align-items:center;gap:3px;
  padding:2px 8px;border-radius:999px;background:rgba(5,150,105,.92);color:#fff;
  font-size:9.5px;font-weight:700;backdrop-filter:blur(4px);
}
.badge-new{
  position:absolute;top:9px;right:9px;z-index:2;padding:2px 8px;border-radius:7px;
  background:#059669;color:#fff;font-size:9.5px;font-weight:800;
  text-transform:uppercase;letter-spacing:.4px;
}
.fav-btn{
  position:absolute;bottom:9px;right:9px;z-index:2;padding:8px;border-radius:50%;
  background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.5);
  color:var(--ink-soft);box-shadow:var(--shadow-sm);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;transition:transform .15s;
}
.fav-btn svg{width:16px;height:16px}
.fav-btn.on{background:#EF4444;border-color:#F87171;color:#fff}
.fav-btn.on svg{fill:currentColor}
.fav-btn:active{transform:scale(.9)}
.match-body{padding:13px;flex:1;display:flex;flex-direction:column;gap:3px}
.match-name{
  font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:16px;
  color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.match-meta{font-size:11.5px;color:var(--ink-soft);font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.match-meta-2{font-size:11px;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.match-score{
  display:inline-flex;align-items:center;gap:4px;margin-top:5px;align-self:flex-start;
  padding:3px 9px;border-radius:999px;background:#D1FAE5;color:#065F46;
  font-size:10.5px;font-weight:700;border:1px solid #6EE7B7;
}
.match-actions{display:flex;gap:8px;padding:0 13px 13px}
.match-act{
  flex:1;padding:8px 0;border-radius:11px;border:1px solid var(--line);
  background:#fff;display:flex;align-items:center;justify-content:center;
  color:var(--maroon);transition:background .2s;
}
.match-act svg{width:17px;height:17px}
.match-act.heart{color:#EF4444}
.match-act.heart.on{background:#EF4444;border-color:#EF4444;color:#fff}
.match-act.heart.on svg{fill:currentColor}

/* ==========================================================
   GO PREMIUM BANNER
   ========================================================== */
.premium-banner{
  position:relative;overflow:hidden;margin-top:20px;padding:20px;
  border-radius:var(--r-2xl);
  background:linear-gradient(135deg,#F6E39A 0%,#E6C867 45%,#D4AF37 100%);
  box-shadow:0 14px 34px rgba(212,175,55,.3);color:var(--maroon-deep);
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.premium-banner::after{
  content:"";position:absolute;right:-45px;top:-45px;width:170px;height:170px;
  background:rgba(255,255,255,.18);border-radius:50%;pointer-events:none;
}
.prem-icon{
  width:52px;height:52px;border-radius:50%;background:var(--maroon);color:var(--amber);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;
}
.prem-icon svg{width:26px;height:26px}
.prem-txt{flex:1;min-width:130px;position:relative;z-index:1}
.prem-txt b{display:block;font-family:'Playfair Display',Georgia,serif;
  font-size:20px;font-weight:700}
.prem-txt small{display:block;font-size:12.5px;margin-top:2px;line-height:1.4;opacity:.92}
.premium-banner .btn{position:relative;z-index:1;width:100%;background:var(--maroon);color:#fff}

/* ==========================================================
   SUCCESS STORIES
   ========================================================== */
.story-scroll{display:flex;gap:14px;overflow-x:auto;padding:2px 14px 8px;margin:0 -14px;
  scroll-snap-type:x mandatory}
.story-card{
  flex:0 0 230px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);scroll-snap-align:start;
}
.story-img{width:100%;height:140px;object-fit:cover;background:#F1E9DC}
.story-body{padding:13px}
.story-body b{font-family:'Playfair Display',Georgia,serif;font-size:15px;color:var(--maroon)}
.story-body small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.story-body p{font-size:12.5px;color:var(--ink-soft);margin-top:6px;line-height:1.45}

/* ==========================================================
   LANDING PAGE
   ========================================================== */
.hero{position:relative;max-width:640px;margin:0 auto}
.hero-img{width:100%;height:auto;display:block;border-radius:0 0 var(--r-xl) var(--r-xl);
  box-shadow:var(--shadow)}
.hero-hot{
  position:absolute;left:64.5%;top:74.5%;width:31%;height:11%;
  background:transparent;border-radius:14px;cursor:pointer;
  animation:hotPulse 2.4s ease-in-out infinite;
}
@keyframes hotPulse{0%,100%{box-shadow:0 0 0 0 rgba(251,191,36,0)}
  50%{box-shadow:0 0 0 5px rgba(251,191,36,.5)}}
.hero-cta{display:flex;gap:10px;padding:14px;max-width:420px;margin:0 auto}
.hero-cta .btn{flex:1}
.offer-strip{
  margin:6px 14px;padding:11px 14px;border-radius:var(--r-lg);
  background:linear-gradient(90deg,#FEF3C7,#FDE68A);border:1.5px dashed var(--amber-dark);
  font-size:13px;text-align:center;color:var(--maroon-deep);
}
.gender-tabs{display:flex;gap:8px;margin:0 0 14px}
.gender-tab{
  flex:1;padding:11px 4px;border:1.5px solid var(--line);background:#fff;
  border-radius:var(--r);font-size:13px;font-weight:600;color:var(--muted);
  display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;
}
.gender-tab svg{width:15px;height:15px}
.gender-tab.active{background:var(--maroon);color:#fff;border-color:var(--maroon);
  box-shadow:0 3px 10px rgba(92,6,18,.25)}
.teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.teaser{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;
}
.teaser-ph{
  height:120px;background:linear-gradient(135deg,#EFE3D0,#DFC9A6);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.teaser-ph svg{width:44px;height:44px;color:#fff;opacity:.55}
.teaser-ph::after{content:"🔒";position:absolute;bottom:6px;right:8px;font-size:15px}
.teaser-body{padding:10px;text-align:center}
.teaser-name{font-weight:700;font-size:13.5px;color:var(--ink)}
.teaser-sub{font-size:10.5px;color:var(--muted);margin-top:2px;line-height:1.35}
.land-foot{
  background:linear-gradient(180deg,var(--maroon),var(--maroon-deep));
  color:#FDE68A;padding:22px 16px calc(22px + var(--nav-h));text-align:center;
  font-size:13.5px;line-height:1.9;margin-top:24px;
}
.land-foot b{color:#fff;display:block;margin-bottom:6px;font-size:15px}
.wa-float{
  position:fixed;right:14px;bottom:calc(var(--nav-h) + 16px);z-index:30;
  width:54px;height:54px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
.empty-state{text-align:center;color:var(--muted);padding:30px 14px;font-size:14px}

/* ========== SEARCH ========== */
.search-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:11px 14px;box-shadow:var(--shadow-sm);margin-bottom:12px}
.search-bar input{border:none;padding:0;flex:1;min-width:0;font-size:14.5px}
.search-bar input:focus{box-shadow:none}
.search-bar svg{width:19px;height:19px;color:var(--muted);flex-shrink:0}
.filter-btn{width:36px;height:36px;border-radius:11px;background:var(--maroon);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.filter-btn svg{width:17px;height:17px;color:#fff}
.filter-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:16px;margin-bottom:14px;box-shadow:var(--shadow-sm)}
.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.filter-grid .full{grid-column:1/-1}
.results-bar{display:flex;justify-content:space-between;align-items:center;margin:14px 0 10px;
  font-size:13px;font-weight:600;color:var(--muted)}
.results-count{background:#FEF3C7;color:var(--maroon);border-radius:999px;padding:2px 10px;font-weight:700}

/* row-style profile card (lists) */
.row-card{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow-sm);margin-bottom:11px;cursor:pointer}
.row-photo{width:66px;height:66px;border-radius:14px;object-fit:cover;flex-shrink:0;
  background:#F1E9DC center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#C9B79E}
.row-photo svg{width:30px;height:30px}
.row-body{flex:1;min-width:0}
.row-name{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:16px;color:var(--ink)}
.row-sub{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.tag{font-size:10.5px;background:#FEF9EC;border:1px solid #FDE68A;border-radius:7px;
  padding:2px 7px;color:var(--maroon-deep);font-weight:600}
.status-chip{font-size:11px;font-weight:700;border-radius:8px;padding:3px 9px}
.status-chip.pending{background:#FEF3C7;color:#A16207}
.status-chip.accepted{background:#D1FAE5;color:#065F46}
.status-chip.declined{background:#FEE2E2;color:#991B1B}

/* ========== PROFILE DETAIL ========== */
.detail-photo{width:100%;max-height:340px;object-fit:cover;border-radius:var(--r-xl);
  background:#F1E9DC;display:block}
.wm-wrap{position:relative;overflow:hidden;border-radius:var(--r-xl)}
.wm-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:rgba(255,255,255,.42);
  text-shadow:0 1px 4px rgba(0,0,0,.35);transform:rotate(-24deg);pointer-events:none;white-space:nowrap}
.detail-name{font-family:'Playfair Display',Georgia,serif;font-size:23px;font-weight:700;
  color:var(--maroon);margin-top:14px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:7px 12px;font-size:13.5px;margin-top:12px}
.kv b{color:var(--muted);font-weight:600}
.vbadge{background:var(--green);color:#fff;border-radius:7px;font-size:10.5px;
  font-weight:700;padding:2px 7px;vertical-align:middle}
.locked-box{background:#fff;border:1.5px dashed var(--amber);border-radius:var(--r-lg);
  padding:16px;text-align:center;margin-top:14px}
.blur{filter:blur(5px);user-select:none;font-size:20px;font-weight:800;color:var(--green)}
.phone-num{font-size:21px;font-weight:800;color:var(--green);letter-spacing:1px;margin:6px 0}

/* ========== CHAT ========== */
.chat-page{display:flex;flex-direction:column;height:100dvh;padding:0}
.chat-head{background:var(--maroon);color:#fff;display:flex;align-items:center;gap:10px;
  padding:10px 12px;flex-shrink:0;position:sticky;top:0;z-index:20}
.chat-head a.back{color:#fff;font-size:26px;line-height:1;padding:0 4px}
.chat-head img,.chat-head .ph{width:38px;height:38px;border-radius:50%;object-fit:cover;
  background:var(--maroon-mid);display:flex;align-items:center;justify-content:center;color:var(--amber-200)}
.chat-head .nm{font-family:'Playfair Display',serif;font-size:16px}
.chat-head .sb{font-size:11px;color:var(--amber-200)}
.chat-note{background:#FEF3C7;color:#A16207;font-size:11.5px;padding:7px 12px;text-align:center;font-weight:600}
.chat-msgs{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:3px;
  background:var(--bg)}
.day-chip{align-self:center;background:rgba(92,6,18,.08);color:var(--maroon);font-size:11px;
  font-weight:700;padding:4px 12px;border-radius:12px;margin:8px 0 4px}
.bub{max-width:80%;padding:9px 13px 7px;font-size:14.5px;line-height:1.38;position:relative;
  box-shadow:var(--shadow-sm);word-wrap:break-word}
.bub.me{align-self:flex-end;background:var(--maroon);color:#fff;border-radius:16px 16px 4px 16px;margin-top:7px}
.bub.them{align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px 16px 16px 4px;margin-top:7px}
.bub time{display:block;font-size:9.5px;opacity:.65;margin-top:3px;text-align:right}
.chat-input{flex-shrink:0;display:flex;gap:9px;align-items:flex-end;padding:10px 12px;
  background:#fff;border-top:1px solid var(--line)}
.chat-input textarea{flex:1;border-radius:20px;padding:11px 15px;resize:none;max-height:110px;
  min-height:44px;font-size:14.5px;line-height:1.35}
.send-btn{width:50px;height:50px;border-radius:50%;background:var(--maroon);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.55;
  box-shadow:0 3px 10px rgba(92,6,18,.25);transition:opacity .15s,transform .1s}
.send-btn svg{width:21px;height:21px}
.send-btn.ready{opacity:1}
.send-btn:active{transform:scale(.9)}

/* ========== PLANS ========== */
.plan-card{background:#fff;border:1.5px solid var(--amber);border-radius:var(--r-xl);
  padding:20px 16px;text-align:center;margin-bottom:14px;box-shadow:var(--shadow)}
.plan-name{font-family:'Playfair Display',serif;font-size:20px;color:var(--maroon);font-weight:700}
.plan-price{font-size:30px;font-weight:800;color:var(--ink);margin:6px 0 2px}
.plan-price small{font-size:13px;color:var(--muted);font-weight:600}
.plan-perk{font-size:13px;color:var(--ink-soft);margin-bottom:14px}
.upi-box{background:#fff;border:1.5px dashed var(--maroon);border-radius:var(--r-lg);
  padding:16px;text-align:center;margin-top:14px}
.upi-id{font-size:19px;font-weight:800;color:var(--maroon);letter-spacing:.5px;user-select:all;margin:8px 0}
.status-card{background:linear-gradient(135deg,#FFFBF0,#FEF3C7);border:1.5px solid var(--amber);
  border-radius:var(--r-xl);padding:20px;text-align:center;margin-bottom:16px}
.status-card .big{font-size:25px;font-weight:800;color:var(--maroon)}

/* ========== MORE / SETTINGS LIST ========== */
.list-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  overflow:hidden;box-shadow:var(--shadow-sm)}
.list-row{display:flex;align-items:center;gap:13px;padding:15px 16px;
  border-bottom:1px solid var(--line);color:var(--ink);font-size:14.5px;width:100%;text-align:left}
.list-row:last-child{border-bottom:none}
.list-row .ic{width:38px;height:38px;border-radius:11px;background:#FEF9EC;
  display:flex;align-items:center;justify-content:center;color:var(--maroon);flex-shrink:0}
.list-row .ic svg{width:18px;height:18px}
.list-row .arw{margin-left:auto;color:var(--muted-light)}
.list-row.danger{color:var(--red)}
.list-row.danger .ic{background:#FEE2E2;color:var(--red)}
.group-label{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.6px;margin:20px 0 8px 4px}

/* ========== ADMIN ========== */
.adm-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.adm-actions{display:flex;gap:7px;flex-wrap:wrap}
.adm-actions .btn{padding:8px 13px;font-size:13px}
.shot{width:70px;height:70px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.plan-edit{display:grid;grid-template-columns:1fr 62px 62px 62px 44px;gap:6px;align-items:center;
  font-size:12.5px;margin-bottom:6px}
.plan-edit input{padding:7px;font-size:13px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:18px;
  text-align:center;box-shadow:var(--shadow-sm);margin-bottom:14px}
.stat-card .n{font-size:30px;font-weight:800;color:var(--maroon)}
.stat-card small{color:var(--muted);font-size:12.5px}

/* admin quick-access shield in header */
.admin-ico{color:var(--amber)!important;position:relative}
.admin-ico::after{content:"";position:absolute;bottom:4px;right:4px;width:6px;height:6px;
  border-radius:50%;background:var(--amber);border:1.5px solid var(--maroon)}

/* prominent admin card on the More page */
.admin-card{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:18px;
  border-radius:var(--r-xl);color:#fff;
  background:linear-gradient(135deg,var(--maroon),var(--maroon-deep));
  box-shadow:0 10px 26px rgba(92,6,18,.3);border:1px solid var(--maroon-mid);
}
.admin-card .ic{
  width:48px;height:48px;border-radius:14px;background:rgba(251,191,36,.18);
  display:flex;align-items:center;justify-content:center;color:var(--amber);flex-shrink:0;
}
.admin-card .ic svg{width:24px;height:24px}
.admin-card b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:18px}
.admin-card small{display:block;font-size:12px;color:var(--amber-200);margin-top:2px}
.admin-card .arw{margin-left:auto;color:var(--amber);font-size:20px}
.admin-badge{background:var(--amber);color:var(--maroon);font-size:10px;font-weight:800;
  border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle}

/* ==========================================================
   BRANDED PAGE LOADER — replaces the plain "…" placeholder
   ========================================================== */
.page-loader{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;padding:60px 20px;
}
.page-loader img{
  width:56px;height:56px;border-radius:50%;
  border:2.5px solid var(--amber);
  animation:loaderPulse 1.3s ease-in-out infinite;
}
.page-loader span{font-size:12.5px;color:var(--muted);font-weight:600}
@keyframes loaderPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.08);opacity:.75}
}
@media (prefers-reduced-motion:reduce){
  .page-loader img{animation:none}
}

/* bulk selection action bar */
.bulk-bar{
  position:sticky;top:calc(var(--header-h) + 8px);z-index:20;
  display:flex;align-items:center;gap:10px;
  background:var(--ink);color:#fff;border-radius:var(--r-lg);
  padding:10px 12px;margin-bottom:12px;box-shadow:var(--shadow-lg);
  font-size:13px;font-weight:600;
}
