/* Shubh Mangal — visual identity
   Palette drawn from a wedding invitation card: deep maroon, antique gold,
   warm ivory paper. One typeface family throughout; hierarchy comes from
   weight, size and the gold rule, not extra fonts or icon sets. */

:root{
  --maroon:#6E1423;
  --maroon-ink:#3E0C14;
  --gold:#A9782F;
  --gold-pale:#EEDFB8;
  --cream:#F7F1E2;
  --paper:#FFFDF8;
  --ink:#2A1D16;
  --ink-soft:#5B4A3D;
  --green:#2E5D45;
  --rust:#8C2E2E;
  --line:#E2D3AE;
}

*{box-sizing:border-box;}
html{scroll-padding-top:12px;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:"Noto Sans Devanagari","Nirmala UI","Shobhika","Segoe UI",-apple-system,sans-serif;
  line-height:1.7;
  font-size:16px;
}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px;}
a{color:inherit;}
h1,h2,h3{margin:0 0 .4em;font-weight:700;letter-spacing:-.01em;color:var(--maroon-ink);}
p{margin:0 0 1em;}

/* ---------- top nav ---------- */
.site-header{background:var(--maroon);color:var(--paper);border-bottom:3px solid var(--gold);}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;gap:16px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);}
.brand-mark{width:34px;height:34px;border:2px solid var(--gold);border-radius:50%;position:relative;flex:none;}
.brand-mark::before{content:"";position:absolute;inset:6px;border:1px solid var(--gold);border-radius:50%;}
.brand-mark-sm{width:30px;height:30px;}
.brand-title{display:block;font-size:22px;font-weight:700;color:var(--gold-pale);}
.brand-sub{display:block;font-size:12px;color:var(--paper);opacity:.75;letter-spacing:.03em;}
.mainnav{display:flex;gap:4px;flex-wrap:wrap;}
.mainnav a{padding:8px 14px;border-radius:2px;text-decoration:none;font-size:14.5px;border:1px solid transparent;}
.mainnav a:hover{border-color:rgba(255,255,255,.35);}
.mainnav a.active{background:var(--gold);color:var(--maroon-ink);font-weight:600;}
.navlink-muted{opacity:.65;font-size:13.5px !important;}

.page{padding:44px 24px 70px;min-height:60vh;}

/* ---------- messages ---------- */
.msg{padding:12px 16px;border-left:3px solid; margin-bottom:22px;font-size:14.5px;background:var(--paper);}
.msg-ok{border-color:var(--green);color:var(--green);}
.msg-err{border-color:var(--rust);color:var(--rust);}

/* ---------- hero ---------- */
.hero{display:flex;gap:40px;align-items:center;padding:10px 0 40px;border-bottom:1px solid var(--line);margin-bottom:34px;flex-wrap:wrap;}
.hero-text{flex:1 1 380px;}
.hero-text h1{font-size:40px;line-height:1.2;max-width:560px;}
.hero-text p{font-size:17px;color:var(--ink-soft);max-width:480px;}
.hero-motif{flex:none;width:150px;height:150px;border-radius:50%;border:2px solid var(--gold);position:relative;display:flex;align-items:center;justify-content:center;}
.hero-motif::before{content:"";position:absolute;inset:12px;border:1px solid var(--gold);border-radius:50%;}
.hero-motif::after{content:"शुभ";font-size:26px;font-weight:700;color:var(--maroon);}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;}

.btn{display:inline-block;padding:11px 24px;border-radius:2px;border:1px solid var(--maroon);background:var(--maroon);color:var(--paper);cursor:pointer;font-family:inherit;font-size:15px;text-decoration:none;font-weight:600;}
.btn:hover{background:var(--maroon-ink);border-color:var(--maroon-ink);}
.btn.outline{background:none;color:var(--maroon);}
.btn.outline:hover{background:var(--maroon);color:var(--paper);}
.btn.green{background:var(--green);border-color:var(--green);}
.btn.rust{background:var(--rust);border-color:var(--rust);}
.btn.small{padding:6px 14px;font-size:13.5px;}

/* ---------- stat ledger (not cards) ---------- */
.ledger{display:flex;gap:0;flex-wrap:wrap;margin:0 0 44px;}
.ledger .stat{flex:1 1 160px;padding:18px 24px;border-left:1px solid var(--line);}
.ledger .stat:first-child{border-left:none;padding-left:0;}
.stat b{display:block;font-size:32px;color:var(--maroon);font-weight:700;}
.stat span{font-size:13px;color:var(--ink-soft);}

.section-title{font-size:22px;margin-top:8px;padding-top:8px;}

/* ---------- feature list ---------- */
.feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;}
@media(max-width:600px){.feature-list{grid-template-columns:1fr;}}
.feature-list li{padding-left:20px;position:relative;color:var(--ink-soft);}
.feature-list li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--gold);border-radius:50%;}

/* ---------- panel / card ---------- */
.panel{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px 28px;margin-bottom:22px;}
.panel-tight{padding:20px 22px;}

/* ---------- forms ---------- */
form label{display:block;font-size:13.5px;margin:16px 0 6px;color:var(--ink-soft);}
form input,form select,form textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:2px;
  background:var(--cream);color:var(--ink);font-family:inherit;font-size:15px;
}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;background:var(--paper);}
form textarea{resize:vertical;min-height:90px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
@media(max-width:620px){.grid2{grid-template-columns:1fr;}}
.note{font-size:13px;color:var(--ink-soft);margin-top:6px;}
.form-max{max-width:460px;}

.toggle-type{display:inline-flex;border:1px solid var(--maroon);border-radius:2px;overflow:hidden;margin:4px 0 2px;}
.toggle-type label{margin:0;}
.toggle-type input{position:absolute;opacity:0;pointer-events:none;}
.toggle-type span{display:block;padding:9px 26px;color:var(--maroon);cursor:pointer;font-weight:600;font-size:14.5px;}
.toggle-type input:checked + span{background:var(--maroon);color:var(--paper);}

/* ---------- profile / match cards ---------- */
.profile-card{display:flex;gap:24px;flex-wrap:wrap;}
.photo{width:150px;height:180px;object-fit:cover;border:1px solid var(--line);flex:none;background:var(--gold-pale);}
.pinfo{flex:1;min-width:240px;}
.pinfo h3{margin-bottom:4px;}
.meta-line{font-size:14.5px;color:var(--ink-soft);margin-bottom:6px;}
.tagpill{display:inline-block;font-size:11.5px;padding:3px 11px;border-radius:20px;margin-left:10px;vertical-align:middle;font-weight:600;}
.tagpill.pending{background:var(--gold-pale);color:var(--maroon-ink);}
.tagpill.approved{background:rgba(46,93,69,.15);color:var(--green);}
.tagpill.rejected{background:rgba(140,46,46,.14);color:var(--rust);}

.filterbar{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.filterbar input,.filterbar select{padding:8px 10px;border:1px solid var(--line);border-radius:2px;background:var(--paper);font-family:inherit;font-size:14px;}

.matchgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:680px){.matchgrid{grid-template-columns:1fr;}}
.mcard{border:1px solid var(--line);padding:16px;display:flex;gap:14px;background:var(--paper);}
.mcard img{width:68px;height:82px;object-fit:cover;background:var(--gold-pale);flex:none;}
.mcard h4{margin:0 0 3px;font-size:15.5px;color:var(--maroon);}
.mcard .m2{font-size:12.5px;color:var(--ink-soft);}
.empty-state{padding:30px 0;color:var(--ink-soft);font-size:15px;}

footer.site-footer{border-top:1px solid var(--line);padding:22px 0;text-align:center;font-size:13px;color:var(--ink-soft);}

/* ---------- admin shell ---------- */
.admin-body{background:var(--cream);}
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;flex:none;background:var(--maroon-ink);color:var(--paper);padding:26px 20px;}
.admin-brand{display:flex;gap:10px;align-items:center;margin-bottom:34px;}
.admin-nav{display:flex;flex-direction:column;gap:4px;}
.admin-nav a{padding:10px 12px;border-radius:2px;text-decoration:none;color:var(--paper);opacity:.85;font-size:14.5px;}
.admin-nav a:hover{opacity:1;background:rgba(255,255,255,.08);}
.admin-nav a.active{background:var(--gold);color:var(--maroon-ink);opacity:1;font-weight:600;}
.admin-content{flex:1;min-width:0;}
.admin-topbar{background:var(--paper);border-bottom:1px solid var(--line);padding:20px 30px;}
.admin-topbar h1{font-size:22px;margin:0;}
.admin-body-inner{padding:26px 30px 60px;}

.admin-stats{display:flex;gap:0;margin-bottom:26px;flex-wrap:wrap;}
.admin-stats .stat{flex:1 1 140px;padding:16px 22px;border-left:1px solid var(--line);}
.admin-stats .stat:first-child{border-left:none;padding-left:0;}

table.admin-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--paper);}
table.admin-table th,table.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
table.admin-table th{font-size:12px;text-transform:none;color:var(--ink-soft);font-weight:600;background:var(--gold-pale);}
table.admin-table tr:hover td{background:rgba(169,120,47,.06);}
.actions{display:flex;gap:6px;flex-wrap:wrap;}
.table-scroll{overflow-x:auto;border:1px solid var(--line);}
