.home-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; background:#fff; border-bottom:1px solid #ecdcc0;
}
.home-header-right{ display:flex; align-items:center; gap:12px; }
.account-badge{
  font-size:.74rem; padding:4px 12px; border-radius:12px;
  background:#eee; color:#666; font-weight:500;
}
.account-badge.premium{ background:linear-gradient(90deg,var(--gold),#f0d68a); color:#5a4a1a; }

.logout-btn{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; color:var(--pink-dark); border:1px solid var(--pink-dark);
  border-radius:20px; padding:7px 16px; font-size:.78rem; font-weight:500;
  cursor:pointer; transition:background .15s, color .15s;
}
.logout-btn span{ font-size:.9rem; }
.logout-btn:hover{ background:var(--pink-dark); color:#fff; }

.stats-card h2{ margin-bottom:12px; }
.stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px;
}
.stat-box{
  background:#fbf3e7; border-radius:12px; padding:14px 8px; text-align:center;
  display:flex; flex-direction:column; gap:2px;
}
.stat-num{ font-size:1.5rem; font-weight:700; color:var(--pink-dark); }
.stat-label{ font-size:.68rem; opacity:.7; }
.stat-box.stat-yes .stat-num{ color:#2c7a3d; }
.stat-box.stat-no .stat-num{ color:#a33; }
.stat-box.stat-pending .stat-num{ color:#a37a1a; }
@media (max-width:520px){ .stats-grid{ grid-template-columns:1fr 1fr; } }
.stats-subtitle{ font-size:.85rem; margin:6px 0 4px; }

.upgrade-banner{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  background:linear-gradient(90deg, #fff8ec, #fdf0d8);
  border:1px solid var(--gold); border-radius:14px;
  padding:14px 18px; margin-bottom:16px;
}
.upgrade-banner p{ margin:2px 0 0; font-size:.78rem; opacity:.8; }
.upgrade-btn{
  background:#25D366; color:#fff; text-decoration:none;
  padding:10px 18px; border-radius:20px; font-size:.8rem; font-weight:500;
  white-space:nowrap;
}

.home-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.b-open-btn.secondary{
  background:#fff; color:var(--pink-dark); border:1px solid var(--pink-dark);
}
.b-open-btn.disabled{ opacity:.5; cursor:not-allowed; pointer-events:none; }

.guests-header{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  margin-bottom:2px;
}
.per-page-select{
  border:1px solid #d9c6a8; border-radius:8px; padding:6px 10px; font-size:.76rem; font-family:inherit;
}

.guest-table-wrap{ overflow-x:auto; margin-top:10px; }
.guest-table{ width:100%; border-collapse:collapse; font-size:.78rem; }
.guest-table th{
  text-align:left; padding:8px 10px; background:#fbf3e7; border-bottom:2px solid var(--gold);
  font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; opacity:.7;
}
.guest-table td{ padding:8px 10px; border-bottom:1px solid #f0e6d2; }
.guest-actions{ display:flex; gap:6px; flex-wrap:wrap; }
.guest-actions button{
  border:1px solid var(--gold); background:#fff; border-radius:14px;
  font-size:.7rem; padding:4px 10px; cursor:pointer;
}
.send-wa-btn{ border-color:#25D366 !important; color:#1a9c4a; }

.pagination{ display:flex; gap:6px; flex-wrap:wrap; margin-top:12px; justify-content:center; }
.page-btn{
  border:1px solid #d9c6a8; background:#fff; border-radius:8px;
  width:30px; height:30px; font-size:.75rem; cursor:pointer;
}
.page-btn.active{ background:var(--pink-dark); color:#fff; border-color:var(--pink-dark); }

.couple-detail{
  margin-top:16px; padding-top:16px; border-top:1px dashed #eadfc6;
}
.detail-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.detail-grid h4{ font-size:.72rem; text-transform:uppercase; opacity:.6; margin:12px 0 2px; }
.detail-grid h4:first-child{ margin-top:0; }
.detail-grid p{ font-size:.8rem; margin:0 0 4px; }
.detail-list{ list-style:none; padding:0; margin:0; font-size:.78rem; }
.detail-list li{ padding:4px 0; border-bottom:1px solid #f3ead6; }
.theme-swatch{ display:flex; align-items:center; gap:6px; }
.theme-swatch span{ width:16px; height:16px; border-radius:50%; display:inline-block; border:1px solid #0002; }
@media (max-width:600px){ .detail-grid{ grid-template-columns:1fr; } }

.edit-row input, .edit-row select{
  border:1px solid #d9c6a8; border-radius:6px; padding:4px 6px; font-size:.75rem; width:100%; font-family:inherit;
}
.save-guest-btn{ border-color:var(--pink-dark) !important; color:var(--pink-dark); font-weight:600; }
.cancel-guest-btn{ opacity:.7; }

.add-guest-box{
  margin-top:18px; padding-top:16px; border-top:1px dashed #eadfc6;
}
.add-guest-box h3{ font-size:.85rem; margin:0 0 10px; }
.add-guest-row{
  display:grid; grid-template-columns:2fr 1fr 1.4fr auto; gap:8px;
}
.add-guest-row input, .add-guest-row select{
  border:1px solid #d9c6a8; border-radius:8px; padding:8px 10px; font-size:.8rem; font-family:inherit;
}
@media (max-width:560px){ .add-guest-row{ grid-template-columns:1fr; } }
