.adm{padding:60px 0}.adm h2{margin-bottom:.3em}
.blist{display:grid;gap:16px;margin-top:28px}
.brow{display:grid;grid-template-columns:1.4fr 1.4fr 1fr .7fr auto;gap:14px;align-items:center;background:#fff;border:1px solid rgba(168,135,79,.4);padding:18px 22px}
.brow b{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400}.brow small{color:var(--muted);display:block}
.brow .days{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--olive)}
.brow .btn,.mini{padding:10px 16px;font-size:.6rem}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.panel{background:#fff;border:1px solid rgba(168,135,79,.4);padding:30px 28px;margin-top:28px}
.panel h3{margin-bottom:.4em}
.pf select{width:100%;padding:14px 16px;border:1px solid var(--gold-l);background:#fff;font:inherit}
.items li .acts{display:flex;gap:6px;flex:none}
.vrow{display:grid;grid-template-columns:1fr 2fr;gap:12px;align-items:center;margin-bottom:12px}
.vrow input{width:100%;padding:12px 14px;border:1px solid var(--gold-l);font:inherit}
.back{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--gold)}
@media(max-width:900px){.brow{grid-template-columns:1fr 1fr}.brow .acts{grid-column:1/-1;display:flex;gap:10px}.g2,.vrow{grid-template-columns:1fr}}
.badge,.newbadge{display:inline-block;background:var(--gold);color:#fff;font-family:'Jost';font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:5px 12px;border-radius:20px;vertical-align:middle;text-decoration:none}
.newbadge{float:right;margin-top:-6px}
.inq{border:1px solid rgba(168,135,79,.4);padding:22px 24px;background:var(--ivory)}
.ih{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ih b{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400}
.ex{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--gold-l);padding:2px 8px}
.pill{margin-left:auto;border-radius:20px;padding:6px 14px;font:inherit;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid;background:#fff;cursor:pointer}
.pill.new{color:#fff;background:var(--gold);border-color:var(--gold)}.pill.contacted{color:var(--olive);border-color:var(--olive)}.pill.booked{color:#fff;background:var(--olive);border-color:var(--olive)}
.ig{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 18px;margin:14px 0;font-size:.9rem}.ig i{display:block;font-style:normal;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.ig a{color:var(--olive);word-break:break-all}
.msg{font-style:italic;color:var(--muted);margin:0 0 14px}
@media(max-width:900px){.ig{grid-template-columns:1fr 1fr}.newbadge{float:none;display:inline-block;margin:0 0 14px}}
.ih .pill{width:auto;flex:none;margin-left:auto}#inquiries{scroll-margin-top:110px}

/* v2: thumbs + photo upload */
.bident{display:flex;align-items:center;gap:14px}
.bthumb{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid rgba(168,135,79,.45);flex:none;background:var(--champ)}
.bthumb.ph{display:inline-block}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
.photo-slot{display:grid;gap:10px;justify-items:start}
.photo-prev{width:100%;aspect-ratio:4/3;border:1px solid rgba(168,135,79,.4);background:var(--champ);display:flex;align-items:center;justify-content:center;overflow:hidden}
.photo-prev img{width:100%;height:100%;object-fit:cover;display:block}
.photo-prev span{font-size:.8rem;color:var(--muted);font-style:italic;padding:12px}
@media(max-width:700px){.photo-grid{grid-template-columns:1fr}}

/* v3 manage panels */
.pf select, .vc select{padding:8px 10px;border:1px solid var(--gold-l,#c9a84f);background:#fff;font:inherit;font-size:.85rem}
.msglist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.msglist li{border:1px solid rgba(168,135,79,.4);padding:14px 16px;background:#fff}
.msglist li.empty{border-style:dashed;color:#888;font-style:italic}
.msgbubble .mh{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}
.msgbubble .mh b{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--olive,#5c6b3a)}
.msgbubble .mh small{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold,#a8874f)}
.msgbubble.from-planner{border-left:3px solid var(--olive,#5c6b3a)}
.msgbubble.from-bride{border-left:3px solid var(--gold,#a8874f)}
.rsvp-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}
.rsvp-stats div{border:1px solid var(--gold,#a8874f);padding:12px;background:var(--ivory,#f7f3ea);text-align:center}
.rsvp-stats b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--olive,#5c6b3a)}
.rsvp-stats span{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#a8874f)}

/* v4: cropper modal */
.crop-modal{position:fixed;inset:0;z-index:80;background:rgba(20,20,14,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.crop-modal[hidden]{display:none!important}
.crop-dialog{background:var(--ivory,#faf7f0);border:1px solid rgba(168,135,79,.55);max-width:720px;width:100%;padding:22px 22px 18px;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.crop-dialog h3{margin:0 0 14px;font-family:'Cormorant Garamond',serif;font-weight:400;color:var(--olive);font-size:1.6rem}
.crop-stage{max-height:60vh;background:#1a1a14;overflow:hidden}
.crop-stage img{display:block;max-width:100%}
.crop-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.photo-slot .btn.mini{margin-right:6px}

/* v8 — client-portal layout for manage view */
.adm{padding:0 0 80px}
.adm-hero{padding:48px 0 36px}
.adm-hero h1{margin:.2em 0 .35em;font-family:'Cormorant Garamond',serif;font-weight:400;color:var(--ink)}
.adm-hero h1 em{font-style:italic;color:var(--olive)}
.adm-tabs{margin-top:22px}
.adm-card{background:#fff;border:1px solid rgba(168,135,79,.4);padding:28px 26px;margin-top:18px;position:relative}
.adm-card h3{margin:0 0 .45em;font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:400;color:var(--olive);text-align:left}
.adm-hint{font-size:.85rem;color:var(--muted);text-align:left;margin:0 0 14px;line-height:1.45}
.adm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
@media(max-width:800px){.adm-grid-2{grid-template-columns:1fr}}
.adm .psec{padding:56px 0}
.adm .psec h2{text-align:left;margin-bottom:.35em}
.adm .psec .eyebrow{display:block;text-align:left}
.adm-vendor-card{margin-bottom:14px;padding-top:14px}
.adm-vendor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-right:32px;margin-bottom:4px}
.adm-vendor-head .role{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);font-family:Jost,system-ui,sans-serif}
.adm .band{background:var(--champ,#f3efe4)}
.adm .back{display:inline-block;margin-bottom:8px}
#adm-details,#adm-photos,#adm-sections,#adm-vendors,#adm-vpay,#adm-contracts,#adm-pin,#adm-docs,#adm-due,
#adm-details,#adm-sections,#adm-vendors,#adm-vpay,#adm-design,#adm-due,#adm-docs,#adm-guests,#adm-msg,#adm-pin{scroll-margin-top:100px}


/* v9 — payment rows, labels, collapsible cards, sticky tabs */
.btn.mini{
  display:inline-flex!important;align-items:center;justify-content:center;
  grid-template-columns:none!important;gap:0;margin:0;
  padding:8px 14px!important;font-size:.62rem;letter-spacing:.12em;
  width:auto;min-width:0;min-height:0;line-height:1.2;
}
.btn.mini.solid{background:var(--olive);color:#fff!important;border-color:var(--olive)}
.vp-x,.btn.vp-x{
  min-width:2.25rem;padding:8px 10px!important;font-size:1.25rem!important;
  letter-spacing:0!important;text-transform:none!important;line-height:1;
  font-family:Georgia,"Times New Roman",serif;color:var(--gold,#a8874f)!important;
  background:transparent!important;
}
.vp-x:hover,.btn.vp-x:hover{color:#8b3a3a!important;border-color:#8b3a3a}
.vpay-table{width:100%;border-collapse:separate;border-spacing:0 10px;margin:0}
.vpay-table thead th{
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#a8874f);
  font-weight:400;text-align:left;padding:0 8px 6px;border:0;
}
.vpay-row td{vertical-align:middle;padding:0 6px;background:transparent}
.vpay-row input,.vpay-row select{
  width:100%;padding:10px 12px;border:1px solid rgba(168,135,79,.45);
  font:inherit;background:#fff;box-sizing:border-box;
}
.vpay-row .vpay-vendor{min-width:10rem}
.vpay-row .vpay-amt{width:6.5rem;min-width:5.5rem}
.vpay-row .vpay-due{width:9.5rem;min-width:8rem}
.vpay-row .vpay-status{min-width:9rem}
.vpay-row .vpay-acts{display:flex;gap:8px;align-items:center;white-space:nowrap}
.vpay-add{margin-top:8px;padding-top:4px;border-top:1px dashed rgba(168,135,79,.35)}
@media(max-width:900px){
  .vpay-table,.vpay-table thead,.vpay-table tbody,.vpay-table tr,.vpay-table th,.vpay-table td{display:block;width:100%}
  .vpay-table thead{display:none}
  .vpay-row{border:1px solid rgba(168,135,79,.35);padding:12px 10px;margin-bottom:12px;background:#fff}
  .vpay-row td{padding:6px 0}
  .vpay-row td::before{
    content:attr(data-label);display:block;font-size:.62rem;letter-spacing:.14em;
    text-transform:uppercase;color:var(--gold,#a8874f);margin-bottom:4px
  }
  .vpay-row .vpay-amt,.vpay-row .vpay-due,.vpay-row .vpay-status,.vpay-row .vpay-vendor{width:100%;min-width:0}
  .vpay-row .vpay-acts{justify-content:flex-start}
  .vpay-row td.vpay-acts-cell::before{display:none}
}
.adm-vendor-head .role{text-transform:none;letter-spacing:.08em;font-size:.78rem}
.adm-tabs{position:sticky;top:0;z-index:20;background:var(--champ,#f3efe4);padding:10px 0 12px;margin-top:18px;border-bottom:1px solid rgba(168,135,79,.3)}
.adm-card{padding:0;overflow:hidden}
.adm-card > summary{
  list-style:none;cursor:pointer;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  user-select:none;
}
.adm-card > summary::-webkit-details-marker{display:none}
.adm-card > summary h3{margin:0;flex:1}
.adm-card > summary::after{
  content:'▾';font-size:1rem;color:var(--gold,#a8874f);transition:transform .2s ease;flex:none
}
.adm-card:not([open]) > summary::after{transform:rotate(-90deg)}
.adm-card-body{padding:0 26px 26px}
.adm-card .adm-hint{margin-top:0}

.vp-acts{display:flex;gap:6px;align-items:center;justify-content:flex-end;white-space:nowrap}
.vpay-table input,.vpay-table select{width:100%;min-width:0;box-sizing:border-box}
.vpay-table td{vertical-align:middle;padding:6px 4px}
.adm .psec{scroll-margin-top:96px}

/* v10 */
.vpay-row .vpay-bal{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--olive)}
.next-due-banner{
  margin:0 0 16px;padding:16px 18px;border:1px solid var(--gold,#a8874f);
  background:var(--ivory,#fbf8f2);
}
.next-due-banner .eyebrow{display:block;margin-bottom:6px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.next-due-banner p{margin:0;font-size:1.02rem}
.next-due-banner b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.3rem;color:var(--olive)}
.next-due-banner.empty{border-style:dashed}
.next-due-banner.empty p{font-style:italic;color:var(--muted);font-size:.9rem}
.auto-pay-tag{display:inline-block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:2px 8px;margin-left:8px}
