/* ============================================================
   ZELMORA STUDIO — style.css v3.0
   Premium Wedding Planner SaaS UI
   ============================================================ */

/* ── CSS VARIABLES ── */
:root {
  --ivory:      #F8F5EF;
  --beige:      #DDD2C2;
  --taupe:      #B8A892;
  --charcoal:   #1D1C1A;
  --sage:       #6F806F;
  --gold:       #B89B62;
  --gold-light: #D4B97A;
  --rose:       #D9B8AA;
  --white:      #FFFFFF;
  --red:        #C0392B;
  --red-light:  #FBE9E7;
  --green:      #5A7A5A;
  --green-light:#E8F5E9;

  /* Glass / surfaces */
  --surface:    #FFFFFF;
  --surface-2:  #F8F5EF;
  --surface-3:  rgba(255,255,255,0.85);
  --glass:      rgba(255,255,255,0.7);
  --glass-border: rgba(184,168,146,0.25);

  /* Sidebar */
  --sidebar-bg: #1A1917;
  --sidebar-w:  256px;

  /* Shadows */
  --shadow-xs:  0 1px 3px rgba(29,28,26,0.06);
  --shadow-sm:  0 2px 8px rgba(29,28,26,0.08);
  --shadow-md:  0 4px 20px rgba(29,28,26,0.12);
  --shadow-lg:  0 8px 40px rgba(29,28,26,0.16);
  --shadow-xl:  0 16px 60px rgba(29,28,26,0.22);
  --shadow-gold:0 4px 20px rgba(184,155,98,0.25);

  /* Radius */
  --r-xs:  6px;
  --r-sm:  10px;
  --r-md:  14px;
  --r-lg:  20px;
  --r-xl:  28px;
  --r-full: 999px;

  /* Typography */
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-body:  'Poppins', system-ui, -apple-system, sans-serif;

  /* Transitions */
  --t-fast: 0.15s ease;
  --t-mid:  0.25s ease;
  --t-slow: 0.4s ease;

  --header-h: 60px;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 15px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  background: var(--surface-2);
  color: var(--charcoal);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
}
h1,h2,h3,h4,h5 { font-family: var(--font-serif); font-weight: 500; line-height: 1.2; }
a { color: var(--gold); text-decoration: none; transition: color var(--t-fast); }
a:hover { color: var(--charcoal); }
img { max-width: 100%; height: auto; display: block; }
input,select,textarea,button { font-family: var(--font-body); }
::selection { background: rgba(184,155,98,0.2); }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--beige); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--taupe); }

/* ══════════════════════════════════════════════════
   AUTH PAGES
══════════════════════════════════════════════════ */
.auth-page {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, var(--ivory) 0%, #ede7db 60%, #e8ddd0 100%);
  padding: 1.5rem;
}
.auth-page::before {
  content: ''; position: fixed; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 80% 20%, rgba(184,155,98,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 10% 80%, rgba(217,184,170,0.1) 0%, transparent 70%);
}
.auth-wrapper { width: 100%; max-width: 420px; position: relative; z-index: 1; }
.auth-brand { text-align: center; margin-bottom: 2rem; }
.brand-ornament {
  font-size: 2rem; color: var(--gold); display: block; margin-bottom: 0.5rem;
  animation: floatOrn 3s ease-in-out infinite;
}
@keyframes floatOrn { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.brand-name { font-family: var(--font-serif); font-size: 2.2rem; font-weight: 300; color: var(--charcoal); letter-spacing: 0.03em; }
.brand-tagline { font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--taupe); margin-top: 0.2rem; }

.auth-card {
  background: var(--white); border-radius: var(--r-xl);
  padding: 2.5rem 2rem; box-shadow: var(--shadow-xl);
  border: 1px solid rgba(255,255,255,0.9);
  animation: authCardIn 0.5s ease;
}
@keyframes authCardIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
.auth-card h2 { font-family: var(--font-serif); font-size: 2rem; font-weight: 400; margin-bottom: 0.2rem; }
.auth-subtitle { font-size: 0.82rem; color: var(--taupe); margin-bottom: 1.75rem; }
.auth-footer { text-align: center; margin-top: 1.25rem; font-size: 0.8rem; color: var(--taupe); }
.auth-footer a { color: var(--gold); font-weight: 500; }
.auth-form { display: flex; flex-direction: column; gap: 0; }

/* ══════════════════════════════════════════════════
   FORMS
══════════════════════════════════════════════════ */
.form-group { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; }
.form-group label {
  font-size: 0.72rem; font-weight: 600; color: var(--taupe);
  letter-spacing: 0.07em; text-transform: uppercase;
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media(max-width:600px) { .form-row { grid-template-columns: 1fr; } }

input[type=text], input[type=email], input[type=password], input[type=date],
input[type=time], input[type=number], input[type=url], input[type=search],
select, textarea {
  width: 100%; padding: 0.7rem 1rem;
  border: 1.5px solid var(--beige); border-radius: var(--r-sm);
  background: var(--ivory); color: var(--charcoal);
  font-size: 0.875rem; outline: none;
  transition: border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);
}
input:focus, select:focus, textarea:focus {
  border-color: var(--gold); background: var(--white);
  box-shadow: 0 0 0 3px rgba(184,155,98,0.15);
}
textarea { resize: vertical; min-height: 80px; }
select { cursor: pointer; }
.checkbox-row { display: flex; align-items: center; gap: 0.5rem; }
.checkbox-row input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--gold); cursor: pointer; flex-shrink: 0; }
.checkbox-row label { font-size: 0.85rem; color: var(--charcoal); margin: 0; text-transform: none; letter-spacing: 0; cursor: pointer; }

/* ══════════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════════ */
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  padding: 0.72rem 1.5rem; background: var(--charcoal); color: var(--white);
  border: none; border-radius: var(--r-sm); cursor: pointer;
  font-size: 0.85rem; font-weight: 500; letter-spacing: 0.03em;
  transition: background var(--t-fast), transform 0.1s, box-shadow var(--t-fast);
  position: relative; overflow: hidden;
}
.btn-primary::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 100%);
  pointer-events: none;
}
.btn-primary:hover { background: #2d2c2a; box-shadow: var(--shadow-md); transform: translateY(-1px); }
.btn-primary:active { transform: scale(0.98); }
.btn-primary.btn-sm  { padding: 0.45rem 1rem; font-size: 0.78rem; }
.btn-primary.btn-full { width: 100%; }
.btn-primary.btn-gold { background: var(--gold); }
.btn-primary.btn-gold:hover { background: var(--gold-light); }

.btn-ghost {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.6rem 1.1rem; background: transparent; color: var(--charcoal);
  border: 1.5px solid var(--beige); border-radius: var(--r-sm); cursor: pointer;
  font-size: 0.85rem; transition: all var(--t-fast);
}
.btn-ghost:hover { border-color: var(--gold); color: var(--gold); background: rgba(184,155,98,0.05); }
.btn-ghost.btn-sm { padding: 0.4rem 0.85rem; font-size: 0.77rem; }

.btn-icon {
  width: 34px; height: 34px; border-radius: var(--r-sm);
  background: var(--ivory); border: 1.5px solid var(--beige);
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.82rem; color: var(--charcoal); transition: all var(--t-fast);
}
.btn-icon:hover { border-color: var(--gold); color: var(--gold); background: rgba(184,155,98,0.08); }

.btn-gold  { padding: 0.42rem 0.9rem; background: var(--gold); color: var(--white); border: none; border-radius: var(--r-xs); cursor: pointer; font-size: 0.76rem; font-weight: 500; transition: all var(--t-fast); }
.btn-gold:hover { background: var(--gold-light); transform: translateY(-1px); }
.btn-danger { padding: 0.42rem 0.9rem; background: transparent; color: var(--red); border: 1px solid rgba(192,57,43,0.25); border-radius: var(--r-xs); cursor: pointer; font-size: 0.76rem; transition: all var(--t-fast); }
.btn-danger:hover { background: var(--red-light); border-color: var(--red); }
.btn-sage { padding: 0.42rem 0.9rem; background: rgba(111,128,111,0.1); color: var(--sage); border: 1px solid rgba(111,128,111,0.2); border-radius: var(--r-xs); cursor: pointer; font-size: 0.76rem; transition: all var(--t-fast); }
.btn-sage:hover { background: rgba(111,128,111,0.2); }
.btn-full { width: 100%; }

/* ══════════════════════════════════════════════════
   ALERTS
══════════════════════════════════════════════════ */
.alert { padding: 0.8rem 1rem; border-radius: var(--r-sm); margin-bottom: 1rem; font-size: 0.83rem; display: flex; align-items: flex-start; gap: 0.5rem; }
.alert-error   { background: var(--red-light);   color: var(--red);   border: 1px solid rgba(192,57,43,0.2); }
.alert-success { background: var(--green-light);  color: var(--green); border: 1px solid rgba(90,122,90,0.2); }
.alert-info    { background: rgba(184,155,98,0.08); color: var(--charcoal); border: 1px solid rgba(184,155,98,0.2); }
.alert-warning { background: #FFF8E1; color: #856404; border: 1px solid #FFE082; }

/* ══════════════════════════════════════════════════
   LAYOUT — SIDEBAR
══════════════════════════════════════════════════ */
.sidebar {
  position: fixed; top: 0; left: 0; height: 100vh; width: var(--sidebar-w);
  background: var(--sidebar-bg); color: var(--beige);
  display: flex; flex-direction: column; z-index: 100;
  overflow: hidden; transition: transform var(--t-mid);
}
.sidebar-brand {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 1.4rem 1.25rem 1rem;
  font-family: var(--font-serif); font-size: 1.05rem; font-weight: 400;
  color: var(--ivory); letter-spacing: 0.03em;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}
.brand-ornament-sm { color: var(--gold); font-size: 0.85rem; }
.sidebar-version { font-size: 0.6rem; background: rgba(184,155,98,0.2); color: var(--gold); padding: 0.1rem 0.45rem; border-radius: var(--r-full); margin-left: auto; letter-spacing: 0.05em; }

.sidebar-nav {
  flex: 1; overflow-y: auto; padding: 0.6rem 0 1rem;
  scrollbar-width: thin; scrollbar-color: rgba(184,155,98,0.2) transparent;
}
.sidebar-nav::-webkit-scrollbar { width: 3px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(184,155,98,0.2); border-radius: 2px; }

.nav-section-label {
  padding: 0.9rem 1.25rem 0.3rem;
  font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(184,168,146,0.4);
}
.nav-item {
  display: flex; align-items: center; gap: 0.65rem;
  padding: 0.58rem 1.25rem; color: rgba(221,210,194,0.7);
  font-size: 0.83rem; transition: all var(--t-fast);
  border-left: 2px solid transparent; cursor: pointer;
  text-decoration: none; position: relative;
}
.nav-item:hover { color: var(--ivory); background: rgba(255,255,255,0.04); }
.nav-item.active {
  color: var(--ivory); background: rgba(184,155,98,0.12);
  border-left-color: var(--gold);
}
.nav-item.active .nav-icon { color: var(--gold); }
.nav-icon { font-size: 0.7rem; width: 14px; text-align: center; flex-shrink: 0; opacity: 0.75; }

.sidebar-footer {
  padding: 0.9rem 1.25rem; border-top: 1px solid rgba(255,255,255,0.06);
  display: flex; align-items: center; justify-content: space-between; flex-shrink: 0;
}
.logout-link { font-size: 0.77rem; color: rgba(184,168,146,0.5); transition: color var(--t-fast); }
.logout-link:hover { color: var(--rose); }

/* ── MOBILE HEADER ── */
.mobile-header {
  display: none; position: fixed; top: 0; left: 0; right: 0; height: var(--header-h);
  background: var(--sidebar-bg); color: var(--ivory);
  align-items: center; justify-content: space-between;
  padding: 0 1rem; z-index: 99; box-shadow: var(--shadow-md);
}
.mobile-brand { font-family: var(--font-serif); font-size: 1rem; letter-spacing: 0.02em; }
.hamburger { background: transparent; border: none; cursor: pointer; display: flex; flex-direction: column; gap: 5px; padding: 4px; }
.hamburger span { display: block; width: 20px; height: 2px; background: var(--ivory); border-radius: 2px; transition: all 0.3s; }
.sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 98; backdrop-filter: blur(2px); }
.sidebar-overlay.show { display: block; }

@media(max-width:768px) {
  .mobile-header { display: flex; }
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: translateX(0); box-shadow: var(--shadow-xl); }
  .main-content { margin-left: 0 !important; padding-top: calc(var(--header-h) + 1rem); }
}

/* ── MAIN CONTENT ── */
.main-content {
  margin-left: var(--sidebar-w); min-height: 100vh;
  padding: 1.75rem 2rem; transition: margin var(--t-mid);
}
@media(max-width:1100px) { .main-content { padding: 1.5rem; } }

/* ══════════════════════════════════════════════════
   SECTIONS
══════════════════════════════════════════════════ */
.section { display: none; }
.section.active { display: block; animation: sectionIn 0.3s ease; }
@keyframes sectionIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

.section-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem;
}
.section-title { font-family: var(--font-serif); font-size: 2rem; font-weight: 400; color: var(--charcoal); line-height: 1.1; }
.section-subtitle { font-size: 0.8rem; color: var(--taupe); margin-top: 0.2rem; }
.section-actions { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }

/* ══════════════════════════════════════════════════
   DASHBOARD
══════════════════════════════════════════════════ */
.countdown-banner {
  background: linear-gradient(135deg, var(--charcoal) 0%, #252420 100%);
  border-radius: var(--r-lg); padding: 2.25rem 2rem; text-align: center;
  color: var(--ivory); margin-bottom: 1.75rem; position: relative; overflow: hidden;
}
.countdown-banner::before {
  content: ''; position: absolute; top: -40px; right: -40px;
  width: 180px; height: 180px; border-radius: 50%;
  border: 1px solid rgba(184,155,98,0.12); pointer-events: none;
}
.countdown-banner::after {
  content: ''; position: absolute; bottom: -60px; left: -30px;
  width: 140px; height: 140px; border-radius: 50%;
  border: 1px solid rgba(184,155,98,0.08); pointer-events: none;
}
.countdown-label { font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.4rem; }
.countdown-number {
  font-family: var(--font-serif); font-size: 4.5rem; font-weight: 300;
  line-height: 1; color: var(--ivory); position: relative; z-index: 1;
}
.countdown-couple { font-family: var(--font-serif); font-size: 1.15rem; font-style: italic; color: var(--beige); margin-top: 0.4rem; position: relative; z-index: 1; }

.stats-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem; margin-bottom: 1.75rem;
}
.stat-card {
  background: var(--white); border-radius: var(--r-md); padding: 1.25rem 1rem;
  border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs);
  transition: transform var(--t-fast), box-shadow var(--t-fast);
  position: relative; overflow: hidden;
}
.stat-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(184,155,98,0.2), transparent);
}
.stat-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.stat-label { font-size: 0.68rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.09em; color: var(--taupe); margin-bottom: 0.5rem; }
.stat-value { font-family: var(--font-serif); font-size: 1.75rem; font-weight: 400; color: var(--charcoal); }
.stat-card.stat-spent   .stat-value { color: var(--red); }
.stat-card.stat-remaining .stat-value { color: var(--green); }
.stat-card.stat-confirmed .stat-value { color: var(--sage); }
.stat-card.stat-pending   .stat-value { color: var(--gold); }

.dashboard-grid {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 1.25rem; margin-bottom: 1.75rem;
}
@media(max-width:1100px) { .dashboard-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:680px)  { .dashboard-grid { grid-template-columns: 1fr; } }
.dashboard-grid .span-2 { grid-column: span 2; }
@media(max-width:680px)  { .dashboard-grid .span-2 { grid-column: span 1; } }

.dash-card {
  background: var(--white); border-radius: var(--r-md); padding: 1.4rem;
  border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs);
}
.dash-card-title { font-family: var(--font-serif); font-size: 1rem; font-weight: 500; margin-bottom: 1.1rem; color: var(--charcoal); }

/* Charts */
.chart-wrap { position: relative; width: 100%; }
.chart-canvas { display: block; margin: 0 auto; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; justify-content: center; }
.legend-item { display: flex; align-items: center; gap: 0.3rem; font-size: 0.72rem; color: var(--charcoal); }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

/* Bar chart */
.bar-chart { display: flex; flex-direction: column; gap: 0.6rem; }
.bar-row { display: flex; align-items: center; gap: 0.5rem; }
.bar-row-label { font-size: 0.7rem; color: var(--taupe); width: 100px; flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-track { flex: 1; height: 8px; background: var(--beige); border-radius: var(--r-full); overflow: hidden; }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--gold), var(--rose)); border-radius: var(--r-full); transition: width 0.8s cubic-bezier(.4,0,.2,1); }
.bar-val { font-size: 0.7rem; color: var(--charcoal); width: 64px; text-align: right; flex-shrink: 0; }

.dash-list { list-style: none; display: flex; flex-direction: column; }
.dash-list li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8rem; padding: 0.5rem 0; border-bottom: 1px solid var(--ivory); }
.dash-list li:last-child { border: none; }
.task-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.task-dot.high   { background: var(--red); }
.task-dot.medium { background: var(--gold); }
.task-dot.low    { background: var(--sage); }
.task-due { font-size: 0.7rem; color: var(--taupe); margin-top: 0.1rem; }

/* ══════════════════════════════════════════════════
   FORM CARD
══════════════════════════════════════════════════ */
.form-card {
  background: var(--white); border-radius: var(--r-lg); padding: 2rem;
  border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-sm);
  max-width: 820px;
}

/* ══════════════════════════════════════════════════
   SEARCH BAR
══════════════════════════════════════════════════ */
.search-bar { display: flex; gap: 0.75rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.search-bar input  { flex: 1; min-width: 200px; }
.search-bar select { min-width: 140px; }

/* ══════════════════════════════════════════════════
   DATA TABLE
══════════════════════════════════════════════════ */
.table-wrap { overflow-x: auto; border-radius: var(--r-md); box-shadow: var(--shadow-xs); border: 1px solid rgba(184,168,146,0.15); }
.data-table { width: 100%; border-collapse: collapse; background: var(--white); font-size: 0.82rem; }
.data-table th {
  padding: 0.8rem 1rem; text-align: left; font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; color: var(--taupe);
  background: var(--ivory); border-bottom: 1.5px solid var(--beige); white-space: nowrap;
}
.data-table td { padding: 0.8rem 1rem; border-bottom: 1px solid rgba(221,210,194,0.4); color: var(--charcoal); vertical-align: middle; }
.data-table tr:last-child td { border-bottom: none; }
.data-table tr:hover td { background: rgba(248,245,239,0.7); }
.data-table .actions { display: flex; gap: 0.35rem; flex-wrap: wrap; }

/* ══════════════════════════════════════════════════
   BADGES
══════════════════════════════════════════════════ */
.badge { display: inline-block; padding: 0.18rem 0.6rem; border-radius: var(--r-full); font-size: 0.7rem; font-weight: 500; white-space: nowrap; }
.badge-confirmed  { background: var(--green-light); color: var(--green); }
.badge-pending    { background: #FFF8E1; color: #b8860b; }
.badge-declined   { background: var(--red-light);   color: var(--red); }
.badge-chosen     { background: rgba(184,155,98,0.15); color: var(--gold); }
.badge-paid       { background: var(--green-light); color: var(--green); }
.badge-unpaid     { background: var(--red-light);   color: var(--red); }
.badge-yes        { background: var(--green-light); color: var(--green); }
.badge-no         { background: var(--ivory);        color: var(--taupe); }
.badge-active     { background: var(--green-light); color: var(--green); }
.badge-suspended  { background: var(--red-light);   color: var(--red); }
.badge-admin      { background: rgba(184,155,98,0.15); color: var(--gold); }
.badge-customer   { background: rgba(111,128,111,0.12); color: var(--sage); }

/* ══════════════════════════════════════════════════
   CHECK LIST (Packing, Photoshoot, Music)
══════════════════════════════════════════════════ */
.check-list { display: flex; flex-direction: column; gap: 0.5rem; }
.check-item {
  background: var(--white); border-radius: var(--r-sm);
  border: 1px solid rgba(184,168,146,0.15);
  padding: 0.9rem 1rem; display: flex; align-items: flex-start; gap: 0.75rem;
  transition: opacity var(--t-fast), box-shadow var(--t-fast);
  box-shadow: var(--shadow-xs);
}
.check-item:hover { box-shadow: var(--shadow-sm); }
.check-item.done { opacity: 0.5; }
.check-item.done .check-item-title { text-decoration: line-through; color: var(--taupe); }
.check-item-checkbox { width: 18px; height: 18px; accent-color: var(--gold); flex-shrink: 0; cursor: pointer; margin-top: 2px; }
.check-item-body { flex: 1; min-width: 0; }
.check-item-title { font-size: 0.87rem; font-weight: 500; }
.check-item-meta  { font-size: 0.72rem; color: var(--taupe); margin-top: 0.2rem; }
.check-item-actions { display: flex; gap: 0.35rem; align-items: center; flex-shrink: 0; }

/* ══════════════════════════════════════════════════
   VENDOR / VENUE CARDS
══════════════════════════════════════════════════ */
.vendor-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.vendor-card {
  background: var(--white); border-radius: var(--r-md); padding: 1.25rem;
  border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs);
  transition: transform var(--t-fast), box-shadow var(--t-fast); position: relative;
}
.vendor-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.vendor-card.chosen { border-color: var(--gold); border-width: 2px; }
.vendor-chosen-badge { position: absolute; top: -8px; right: 12px; background: var(--gold); color: var(--white); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; padding: 0.18rem 0.55rem; border-radius: var(--r-full); text-transform: uppercase; }
.vendor-category { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--gold); margin-bottom: 0.2rem; }
.vendor-name { font-family: var(--font-serif); font-size: 1.1rem; font-weight: 500; margin-bottom: 0.5rem; }
.vendor-price { font-size: 0.9rem; font-weight: 600; color: var(--charcoal); }
.vendor-contact { font-size: 0.77rem; color: var(--taupe); margin: 0.25rem 0; }
.vendor-notes { font-size: 0.77rem; color: var(--taupe); border-top: 1px solid var(--ivory); padding-top: 0.5rem; margin-top: 0.5rem; }
.vendor-actions { display: flex; gap: 0.4rem; margin-top: 0.75rem; }

/* ══════════════════════════════════════════════════
   IMAGE GALLERY GRID
══════════════════════════════════════════════════ */
.image-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}
.image-card {
  background: var(--white); border-radius: var(--r-md); overflow: hidden;
  border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs);
  transition: transform var(--t-fast), box-shadow var(--t-fast); cursor: pointer;
  position: relative; group: true;
}
.image-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.image-card-thumb {
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
  background: var(--beige); display: block;
  transition: transform 0.4s ease;
}
.image-card:hover .image-card-thumb { transform: scale(1.04); }
.image-card-overflow { overflow: hidden; }
.image-card-body { padding: 0.75rem 0.85rem; }
.image-card-title { font-size: 0.83rem; font-weight: 500; color: var(--charcoal); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.image-card-cat   { font-size: 0.68rem; color: var(--gold); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.15rem; }
.image-card-meta  { font-size: 0.7rem; color: var(--taupe); margin-top: 0.15rem; }
.image-card-overlay {
  position: absolute; inset: 0; background: linear-gradient(to top, rgba(29,28,26,0.75) 0%, transparent 55%);
  opacity: 0; transition: opacity var(--t-mid);
  display: flex; align-items: flex-end; padding: 0.75rem;
}
.image-card:hover .image-card-overlay { opacity: 1; }
.image-card-actions { display: flex; gap: 0.35rem; }
.image-card-actions button {
  padding: 0.3rem 0.65rem; border: none; border-radius: var(--r-xs);
  font-size: 0.72rem; cursor: pointer; font-family: var(--font-body);
  transition: all var(--t-fast);
}
.img-btn-view   { background: rgba(255,255,255,0.9); color: var(--charcoal); }
.img-btn-delete { background: rgba(192,57,43,0.85); color: var(--white); }
.img-btn-view:hover   { background: var(--white); }
.img-btn-delete:hover { background: var(--red); }

/* Empty image state */
.empty-state {
  text-align: center; padding: 3rem 2rem;
  background: var(--white); border-radius: var(--r-lg);
  border: 2px dashed var(--beige);
}
.empty-state-icon  { font-size: 2.5rem; color: var(--beige); margin-bottom: 1rem; }
.empty-state-title { font-family: var(--font-serif); font-size: 1.3rem; color: var(--charcoal); margin-bottom: 0.4rem; }
.empty-state-desc  { font-size: 0.83rem; color: var(--taupe); }

/* ══════════════════════════════════════════════════
   IMAGE UPLOAD ZONE
══════════════════════════════════════════════════ */
.upload-zone {
  border: 2px dashed var(--beige); border-radius: var(--r-lg);
  padding: 2.5rem 1.5rem; text-align: center; cursor: pointer;
  transition: all var(--t-mid); background: var(--ivory); position: relative;
}
.upload-zone:hover, .upload-zone.drag-over {
  border-color: var(--gold); background: rgba(184,155,98,0.05);
}
.upload-zone-icon { font-size: 2rem; color: var(--taupe); margin-bottom: 0.75rem; display: block; }
.upload-zone-title { font-family: var(--font-serif); font-size: 1.1rem; color: var(--charcoal); margin-bottom: 0.3rem; }
.upload-zone-desc { font-size: 0.78rem; color: var(--taupe); }
.upload-zone input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }

.upload-progress-bar {
  height: 4px; background: var(--beige); border-radius: var(--r-full); overflow: hidden; margin-top: 0.75rem;
}
.upload-progress-fill {
  height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-light));
  border-radius: var(--r-full); transition: width 0.3s ease; width: 0%;
}

.upload-preview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 0.5rem; margin-top: 1rem; }
.upload-preview-item { position: relative; aspect-ratio: 1; border-radius: var(--r-sm); overflow: hidden; }
.upload-preview-item img { width: 100%; height: 100%; object-fit: cover; }
.upload-preview-remove {
  position: absolute; top: 3px; right: 3px;
  width: 20px; height: 20px; border-radius: 50%;
  background: rgba(29,28,26,0.7); color: var(--white); border: none;
  cursor: pointer; font-size: 0.65rem; display: flex; align-items: center; justify-content: center;
  transition: background var(--t-fast);
}
.upload-preview-remove:hover { background: var(--red); }
.upload-status-badge {
  position: absolute; bottom: 3px; left: 3px; right: 3px;
  background: rgba(0,0,0,0.6); color: var(--white); font-size: 0.6rem;
  padding: 0.15rem 0.3rem; border-radius: var(--r-xs); text-align: center;
}
.upload-status-badge.success { background: rgba(90,122,90,0.85); }
.upload-status-badge.error   { background: rgba(192,57,43,0.85); }

/* ══════════════════════════════════════════════════
   IMAGE PREVIEW MODAL (Lightbox)
══════════════════════════════════════════════════ */
.lightbox {
  display: none; position: fixed; inset: 0; z-index: 9999;
  background: rgba(10,10,10,0.95); backdrop-filter: blur(6px);
  align-items: center; justify-content: center;
}
.lightbox.open { display: flex; animation: lbIn 0.3s ease; }
@keyframes lbIn { from{opacity:0} to{opacity:1} }

.lightbox-inner {
  position: relative; width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  padding: 60px 80px;
}
@media(max-width:600px) { .lightbox-inner { padding: 50px 10px 80px; } }

.lightbox-img-wrap {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; cursor: grab; user-select: none;
}
.lightbox-img-wrap.grabbing { cursor: grabbing; }
.lightbox-img-wrap img {
  max-width: 100%; max-height: 100%; object-fit: contain;
  transform-origin: center; transition: transform 0.25s ease;
  pointer-events: none; border-radius: var(--r-sm);
}

.lightbox-close {
  position: absolute; top: 1rem; right: 1rem; z-index: 2;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15);
  color: var(--white); cursor: pointer; font-size: 1rem;
  display: flex; align-items: center; justify-content: center;
  transition: all var(--t-fast); backdrop-filter: blur(4px);
}
.lightbox-close:hover { background: rgba(255,255,255,0.2); }

.lightbox-controls {
  position: absolute; bottom: 1.25rem; left: 50%; transform: translateX(-50%);
  display: flex; gap: 0.5rem; align-items: center; z-index: 2;
}
.lbctrl {
  width: 38px; height: 38px; border-radius: var(--r-sm);
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15);
  color: var(--white); cursor: pointer; font-size: 0.9rem;
  display: flex; align-items: center; justify-content: center;
  transition: all var(--t-fast); backdrop-filter: blur(4px);
}
.lbctrl:hover { background: rgba(184,155,98,0.3); border-color: var(--gold); }
.lbctrl.active { background: rgba(184,155,98,0.5); border-color: var(--gold); }
.lbctrl-divider { width: 1px; height: 28px; background: rgba(255,255,255,0.15); }

.lightbox-nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15);
  color: var(--white); cursor: pointer; font-size: 1.2rem;
  display: flex; align-items: center; justify-content: center;
  transition: all var(--t-fast); backdrop-filter: blur(4px);
}
.lightbox-nav:hover { background: rgba(184,155,98,0.3); }
.lightbox-nav.prev { left: 1rem; }
.lightbox-nav.next { right: 1rem; }
@media(max-width:600px) { .lightbox-nav { display: none; } }

.lightbox-info {
  position: absolute; top: 1rem; left: 1rem; right: 3.5rem; z-index: 2;
}
.lightbox-title { font-family: var(--font-serif); font-size: 1.1rem; color: var(--white); }
.lightbox-notes { font-size: 0.77rem; color: rgba(255,255,255,0.6); margin-top: 0.1rem; }
.lightbox-counter { position: absolute; top: 1rem; right: 4rem; z-index: 2; font-size: 0.75rem; color: rgba(255,255,255,0.5); }

/* ══════════════════════════════════════════════════
   MOODBOARD GRID
══════════════════════════════════════════════════ */
.moodboard-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.moodboard-card {
  background: var(--white); border-radius: var(--r-md); overflow: hidden;
  border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs);
  transition: transform var(--t-fast), box-shadow var(--t-fast); cursor: pointer;
}
.moodboard-card:hover { transform: scale(1.02); box-shadow: var(--shadow-md); }
.moodboard-card.chosen { border-color: var(--gold); border-width: 2px; }
.moodboard-img-wrap { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: var(--beige); }
.moodboard-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.moodboard-card:hover .moodboard-img { transform: scale(1.05); }
.moodboard-color-swatch { width: 100%; height: 80px; }
.moodboard-placeholder { width: 100%; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; font-size: 2rem; color: var(--taupe); background: var(--ivory); }
.moodboard-body { padding: 0.75rem; }
.moodboard-cat   { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold); }
.moodboard-title { font-family: var(--font-serif); font-size: 0.95rem; margin: 0.2rem 0; }
.moodboard-desc  { font-size: 0.72rem; color: var(--taupe); }
.moodboard-actions { display: flex; gap: 0.35rem; margin-top: 0.5rem; }

/* ══════════════════════════════════════════════════
   PARTY GRID
══════════════════════════════════════════════════ */
.party-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem; }
.party-card {
  background: var(--white); border-radius: var(--r-md); padding: 1.25rem;
  text-align: center; border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs);
  transition: transform var(--t-fast);
}
.party-card:hover { transform: translateY(-2px); }
.party-avatar {
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, var(--beige), var(--rose));
  margin: 0 auto 0.75rem; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-size: 1.4rem; color: var(--charcoal);
}
.party-name { font-family: var(--font-serif); font-size: 1rem; }
.party-role { font-size: 0.75rem; color: var(--gold); letter-spacing: 0.04em; margin: 0.15rem 0; }
.party-side { font-size: 0.7rem; color: var(--taupe); }
.party-actions { display: flex; gap: 0.35rem; justify-content: center; margin-top: 0.75rem; }

/* ══════════════════════════════════════════════════
   BUDGET SUMMARY
══════════════════════════════════════════════════ */
.budget-summary {
  background: var(--charcoal); color: var(--ivory);
  border-radius: var(--r-md); padding: 1.25rem 1.5rem;
  display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center;
  margin-bottom: 1.25rem;
}
.bsum-item { display: flex; flex-direction: column; gap: 0.2rem; }
.bsum-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--taupe); }
.bsum-val   { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 400; }
.bsum-val.spent     { color: var(--rose); }
.bsum-val.remaining { color: #A5D6A7; }

/* ══════════════════════════════════════════════════
   CALENDAR
══════════════════════════════════════════════════ */
.calendar-nav { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.cal-month-label { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 400; flex: 1; text-align: center; }
.calendar-grid {
  display: grid; grid-template-columns: repeat(7, 1fr);
  border: 1px solid var(--beige); border-radius: var(--r-md);
  overflow: hidden; margin-bottom: 1.25rem; background: var(--white);
}
.cal-day-label { padding: 0.55rem; text-align: center; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--taupe); background: var(--ivory); border-bottom: 1.5px solid var(--beige); }
.cal-day { padding: 0.5rem; min-height: 72px; border-right: 1px solid var(--ivory); border-bottom: 1px solid var(--ivory); font-size: 0.78rem; cursor: pointer; transition: background 0.15s; position: relative; }
.cal-day:hover { background: rgba(184,155,98,0.06); }
.cal-day.other-month { color: var(--beige); background: rgba(248,245,239,0.6); }
.cal-day.today { background: rgba(184,155,98,0.08); }
.cal-day .cal-date { font-weight: 600; margin-bottom: 0.25rem; font-size: 0.82rem; }
.cal-day.today .cal-date { background: var(--gold); color: var(--white); width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; }
.cal-event { font-size: 0.62rem; padding: 0.1rem 0.3rem; border-radius: 3px; margin-bottom: 0.15rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cal-event.priority-high   { background: var(--red);  color: var(--white); }
.cal-event.priority-medium { background: var(--gold); color: var(--white); }
.cal-event.priority-low    { background: var(--sage); color: var(--white); }
.calendar-event-list { background: var(--white); border-radius: var(--r-md); padding: 1rem; border: 1px solid rgba(184,168,146,0.15); }

/* ══════════════════════════════════════════════════
   TIMELINE
══════════════════════════════════════════════════ */
#timelineContainer { display: flex; flex-direction: column; gap: 2rem; }
.timeline-month { position: relative; padding-left: 1.5rem; border-left: 2px solid var(--beige); }
.timeline-month-label { position: absolute; left: -12px; top: 0; background: var(--gold); color: var(--white); font-family: var(--font-serif); font-size: 0.78rem; padding: 0.2rem 0.65rem; border-radius: var(--r-full); white-space: nowrap; }
.timeline-items { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 0.55rem; }
.timeline-item { background: var(--white); border-radius: var(--r-sm); padding: 0.85rem 1rem; border: 1px solid rgba(184,168,146,0.15); display: flex; align-items: center; gap: 1rem; box-shadow: var(--shadow-xs); }
.timeline-item.completed { opacity: 0.55; }
.tl-icon { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.priority-high-dot   { background: var(--red); }
.priority-medium-dot { background: var(--gold); }
.priority-low-dot    { background: var(--sage); }
.tl-body { flex: 1; min-width: 0; }
.tl-title { font-size: 0.87rem; font-weight: 500; }
.tl-date  { font-size: 0.72rem; color: var(--taupe); }

/* ══════════════════════════════════════════════════
   ITINERARY
══════════════════════════════════════════════════ */
.itinerary-list { display: flex; flex-direction: column; gap: 0.55rem; }
.itinerary-item {
  background: var(--white); border-radius: var(--r-sm); padding: 1rem 1.25rem;
  border: 1px solid rgba(184,168,146,0.15); display: flex; gap: 1rem;
  align-items: flex-start; box-shadow: var(--shadow-xs);
}
.itinerary-time { font-family: var(--font-serif); font-size: 0.95rem; font-weight: 500; color: var(--gold); white-space: nowrap; min-width: 90px; flex-shrink: 0; }
.itinerary-body { flex: 1; }
.itinerary-title { font-size: 0.9rem; font-weight: 500; }
.itinerary-loc { font-size: 0.76rem; color: var(--taupe); }

/* ══════════════════════════════════════════════════
   SEATING PLAN
══════════════════════════════════════════════════ */
.seating-layout { display: grid; grid-template-columns: 1fr 300px; gap: 1.5rem; }
@media(max-width:900px) { .seating-layout { grid-template-columns: 1fr; } }
.seating-tables-panel, .unseated-panel {
  background: var(--white); border-radius: var(--r-md); padding: 1.25rem;
  border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs);
}
.seating-tables-panel h3, .unseated-panel h3 { font-family: var(--font-serif); font-size: 1.05rem; margin-bottom: 1rem; }
.seating-table-card { border: 1.5px solid var(--beige); border-radius: var(--r-sm); padding: 1rem; margin-bottom: 0.75rem; }
.seating-table-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; }
.seating-table-name { font-weight: 600; font-size: 0.9rem; }
.seating-table-cap  { font-size: 0.75rem; color: var(--taupe); }
.seated-guests { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.5rem; }
.guest-chip { background: var(--ivory); border: 1px solid var(--beige); padding: 0.2rem 0.55rem; border-radius: var(--r-full); font-size: 0.73rem; display: flex; align-items: center; gap: 0.3rem; }
.chip-remove { color: var(--taupe); font-size: 0.7rem; cursor: pointer; }
.chip-remove:hover { color: var(--red); }
.drop-zone { min-height: 36px; border: 2px dashed var(--beige); border-radius: var(--r-xs); padding: 0.5rem; margin-top: 0.5rem; transition: border-color 0.2s; cursor: pointer; font-size: 0.75rem; color: var(--taupe); text-align: center; display: flex; align-items: center; justify-content: center; }
.drop-zone:hover { border-color: var(--gold); color: var(--gold); }
.unseated-list { list-style: none; max-height: 400px; overflow-y: auto; }
.unseated-list li { padding: 0.45rem 0.5rem; font-size: 0.82rem; border-bottom: 1px solid var(--ivory); cursor: grab; display: flex; justify-content: space-between; align-items: center; }
.unseated-list li:hover { background: var(--ivory); }

/* ══════════════════════════════════════════════════
   MODAL
══════════════════════════════════════════════════ */
.modal-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(29,28,26,0.55); backdrop-filter: blur(4px);
  z-index: 999; align-items: center; justify-content: center; padding: 1rem;
}
.modal-overlay.show { display: flex; animation: fadeIn 0.2s ease; }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
.modal {
  background: var(--white); border-radius: var(--r-lg);
  width: 100%; max-width: 560px; max-height: 90vh;
  overflow-y: auto; box-shadow: var(--shadow-xl);
  animation: modalIn 0.28s cubic-bezier(.34,1.56,.64,1);
}
@keyframes modalIn { from{transform:scale(0.94);opacity:0} to{transform:none;opacity:1} }
.modal-header { display: flex; justify-content: space-between; align-items: center; padding: 1.4rem 1.75rem 1rem; border-bottom: 1px solid var(--ivory); position: sticky; top: 0; background: var(--white); z-index: 1; border-radius: var(--r-lg) var(--r-lg) 0 0; }
.modal-header h3 { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 400; }
.modal-close { background: transparent; border: none; cursor: pointer; font-size: 1rem; color: var(--taupe); padding: 0.25rem; transition: color var(--t-fast); }
.modal-close:hover { color: var(--red); }
.modal-body { padding: 1.25rem 1.75rem 1.75rem; }
.modal-body .form-group { margin-bottom: 0.85rem; }
.modal-footer { display: flex; justify-content: flex-end; gap: 0.75rem; margin-top: 1.25rem; }

/* ══════════════════════════════════════════════════
   TOAST
══════════════════════════════════════════════════ */
.toast {
  position: fixed; bottom: 1.5rem; right: 1.5rem;
  background: var(--charcoal); color: var(--ivory);
  padding: 0.8rem 1.25rem; border-radius: var(--r-md);
  font-size: 0.83rem; box-shadow: var(--shadow-lg);
  transform: translateY(80px); opacity: 0;
  transition: transform 0.3s cubic-bezier(.34,1.56,.64,1), opacity 0.3s ease;
  z-index: 9998; max-width: 320px;
  display: flex; align-items: center; gap: 0.5rem;
}
.toast.show   { transform: translateY(0); opacity: 1; }
.toast.success { border-left: 3px solid #6FCF97; }
.toast.error   { border-left: 3px solid var(--red); }
.toast.info    { border-left: 3px solid var(--gold); }

/* ══════════════════════════════════════════════════
   SKELETON LOADER
══════════════════════════════════════════════════ */
.skeleton { background: linear-gradient(90deg, var(--beige) 25%, #e8e0d5 50%, var(--beige) 75%); background-size: 200% 100%; animation: shimmer 1.4s ease infinite; border-radius: var(--r-sm); }
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.skeleton-card { height: 120px; border-radius: var(--r-md); margin-bottom: 1rem; }
.skeleton-line { height: 12px; margin-bottom: 0.5rem; }
.skeleton-line.short { width: 60%; }

/* ══════════════════════════════════════════════════
   HELP SECTION
══════════════════════════════════════════════════ */
.help-content { max-width: 720px; }
.help-intro { text-align: center; padding: 2rem; background: var(--white); border-radius: var(--r-lg); border: 1px solid rgba(184,168,146,0.15); margin-bottom: 1.5rem; box-shadow: var(--shadow-xs); }
.help-intro-icon { font-size: 2rem; color: var(--gold); margin-bottom: 0.75rem; }
.help-intro h3 { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 400; margin-bottom: 0.4rem; }
.help-intro p { font-size: 0.85rem; color: var(--taupe); }
.help-accordion { display: flex; flex-direction: column; gap: 0.5rem; }
.help-item { background: var(--white); border-radius: var(--r-sm); border: 1px solid rgba(184,168,146,0.15); overflow: hidden; box-shadow: var(--shadow-xs); transition: box-shadow var(--t-fast); }
.help-item:hover { box-shadow: var(--shadow-sm); }
.help-item-header { width: 100%; display: flex; align-items: center; gap: 0.75rem; padding: 0.95rem 1.1rem; background: transparent; border: none; cursor: pointer; text-align: left; font-family: var(--font-body); transition: background 0.15s; }
.help-item-header:hover { background: var(--ivory); }
.help-item-icon   { font-size: 0.8rem; color: var(--gold); width: 18px; flex-shrink: 0; }
.help-item-title  { font-size: 0.9rem; font-weight: 500; color: var(--charcoal); flex: 1; }
.help-item-arrow  { font-size: 1rem; color: var(--taupe); transition: color var(--t-fast); flex-shrink: 0; }
.help-item-body   { padding: 0 1.1rem 1.1rem; border-top: 1px solid var(--ivory); }
.help-item-desc   { font-size: 0.85rem; color: var(--charcoal); line-height: 1.75; margin: 0.85rem 0 0.75rem; }
.help-item-tip    { background: rgba(184,155,98,0.07); border-left: 3px solid var(--gold); padding: 0.6rem 0.9rem; border-radius: 0 8px 8px 0; font-size: 0.8rem; color: var(--charcoal); line-height: 1.6; margin-bottom: 0.75rem; }
.help-go-btn      { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.42rem 0.9rem; background: var(--charcoal); color: var(--white); border: none; border-radius: var(--r-sm); cursor: pointer; font-size: 0.78rem; font-weight: 500; font-family: var(--font-body); transition: background var(--t-fast); }
.help-go-btn:hover { background: #2d2c2a; }

/* ══════════════════════════════════════════════════
   MISC UTILITIES
══════════════════════════════════════════════════ */
.text-gold    { color: var(--gold); }
.text-taupe   { color: var(--taupe); }
.text-muted   { color: var(--taupe); font-size: 0.8rem; }
.text-red     { color: var(--red); }
.text-green   { color: var(--green); }
.text-center  { text-align: center; }
.font-serif   { font-family: var(--font-serif); }
.mb-1 { margin-bottom: 0.5rem; }
.mt-1 { margin-top: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mt-2 { margin-top: 1rem; }
.hidden { display: none !important; }
.divider { height: 1px; background: var(--ivory); margin: 1.25rem 0; }
hr { border: none; border-top: 1px solid var(--beige); margin: 1.25rem 0; }
.card { background: var(--white); border-radius: var(--r-md); padding: 1.5rem; border: 1px solid rgba(184,168,146,0.15); box-shadow: var(--shadow-xs); }

/* ── PRINT ── */
@media print {
  .sidebar, .mobile-header, .btn-primary, .btn-ghost, .btn-gold, .btn-danger,
  .search-bar, .modal-overlay, .toast, .lightbox { display: none !important; }
  .main-content { margin: 0; padding: 0; }
}

/* ── Skeleton count-up animation ── */
.count-up { transition: color var(--t-mid); }

/* ============================================================
   ZELMORA MODERN DASHBOARD PATCH — 2026
   Clean app UI like reference: modern, soft, responsive
   ============================================================ */
:root{
  --sidebar-bg:#ffffff;
  --sidebar-w:248px;
  --modern-bg:#fbfaf8;
  --modern-card:#ffffff;
  --modern-line:#eee8df;
  --modern-text:#14142b;
  --modern-muted:#77738a;
  --modern-purple:#7c5cff;
  --modern-pink:#ff7db8;
  --modern-green:#61c985;
  --modern-blue:#5b9dff;
  --modern-orange:#ffb454;
  --shadow-soft:0 12px 34px rgba(21,18,42,.06);
}
body{background:var(--modern-bg);color:var(--modern-text);font-family:var(--font-body);}
h1,h2,h3,h4,h5,.dash-card-title,.section-title{font-family:var(--font-body);font-weight:700;letter-spacing:-.03em;color:var(--modern-text)}
.sidebar{background:#fff;color:#111827;border-right:1px solid var(--modern-line);box-shadow:none;}
.sidebar-brand{padding:1.35rem 1.25rem 1.2rem;border-bottom:1px solid var(--modern-line);}
.sidebar-logo,.brand-heart{background:linear-gradient(135deg,#7c5cff,#ff7db8);color:#fff;border-radius:16px;font-family:var(--font-body);box-shadow:0 10px 24px rgba(124,92,255,.22)}
.sidebar-brand-name{color:#13132a;font-family:var(--font-body);font-weight:800;font-size:.95rem;letter-spacing:-.02em}.sidebar-brand-sub{color:var(--modern-muted);font-size:.74rem;letter-spacing:0;text-transform:none}.sidebar-version{display:none}.nav-section-label{color:#9090a3;font-size:.66rem;font-weight:800;letter-spacing:.11em}.nav-item{color:#343449;border-radius:14px;margin:.15rem .75rem;padding:.72rem .8rem;font-weight:600}.nav-item:hover,.nav-item.active{background:#f3efff;color:var(--modern-purple)}.nav-icon{color:inherit}.sidebar-footer{background:#fff;border-top:1px solid var(--modern-line);}.sidebar-user-avatar,.dash-user-avatar{background:#15162d;color:#fff;border-radius:50%;}.sidebar-user-name{color:#13132a;font-weight:700}.logout-link{color:#8d8da1}
.mobile-header{height:58px;background:#fff;color:#111827;border-bottom:1px solid var(--modern-line);box-shadow:0 8px 24px rgba(20,20,43,.05)}.hamburger span{background:#111827}.mobile-brand{display:flex;flex-direction:column;text-align:center;line-height:1.1;font-family:var(--font-body)}.mobile-brand strong{font-size:.86rem}.mobile-brand small{font-size:.66rem;color:var(--modern-muted)}
.main-content{padding:1.6rem 2rem 2rem;max-width:1240px}.premium-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.brand-mark{display:flex;align-items:center;gap:.85rem}.brand-heart{width:44px;height:44px;display:grid;place-items:center;font-size:1.35rem}.brand-mark h1{font-size:1.15rem;margin:0}.brand-mark p{font-size:.76rem;color:var(--modern-muted);margin:0}.dash-topbar-right{display:flex;align-items:center;gap:1rem}.dash-search{height:42px;min-width:290px;background:#fff;border:1px solid var(--modern-line);box-shadow:none;border-radius:999px;display:flex;align-items:center;gap:.6rem;padding:0 .9rem}.dash-search input{background:transparent!important;border:0!important;box-shadow:none!important;padding:.4rem!important}.dash-notif{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--modern-line);display:grid;place-items:center;color:#24243e;position:relative;cursor:pointer}.dash-notif-dot{position:absolute;top:8px;right:9px;width:7px;height:7px;background:var(--modern-pink);border-radius:50%;}
.wedding-hero{position:relative;display:grid;grid-template-columns:1.4fr .75fr 180px;gap:1.5rem;align-items:center;margin-bottom:1.7rem;padding:2.1rem;border-radius:28px;background:linear-gradient(135deg,#f2ebff 0%,#fff1f8 54%,#fff9ef 100%);box-shadow:var(--shadow-soft);overflow:hidden;border:1px solid rgba(255,255,255,.8)}.wedding-hero:before{content:'';position:absolute;inset:auto -90px -120px auto;width:300px;height:300px;border-radius:50%;background:rgba(124,92,255,.08)}.eyebrow{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:rgba(124,92,255,.1);color:var(--modern-purple);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.hero-copy h2{font-size:1.75rem;margin-bottom:.3rem}.hero-copy p{color:#4f4b63;margin-bottom:1.45rem}.hero-couple{font-size:1.42rem;font-weight:800;line-height:1.25;color:#191936}.hero-date-box{display:flex;gap:.8rem;align-items:center;border-left:1px solid rgba(92,74,120,.13);padding-left:1.4rem;z-index:1}.hero-date-icon{width:44px;height:44px;border-radius:14px;background:#fff;color:var(--modern-purple);display:grid;place-items:center;box-shadow:0 12px 24px rgba(124,92,255,.12)}.hero-date-box small{display:block;color:var(--modern-muted);font-size:.74rem;font-weight:700}.hero-date-box strong{display:block;font-size:1.02rem;color:#151532;margin:.15rem 0}.hero-date-box span{display:block;color:var(--modern-purple);font-size:.75rem;font-weight:700}.hero-photo-card{height:150px;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,.8));padding:10px;box-shadow:0 14px 35px rgba(37,25,55,.11);z-index:1}.hero-photo-inner{height:100%;border-radius:17px;display:grid;place-items:center;font-size:3rem;color:#fff;background:linear-gradient(135deg,#7c5cff,#ff7db8);}
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.45rem}.stat-card{min-height:118px;border-radius:18px;border:1px solid var(--modern-line);box-shadow:var(--shadow-soft);padding:1.1rem;background:#fff;display:flex;flex-direction:column;justify-content:center}.stat-card:before{display:none}.stat-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;margin-bottom:.65rem}.stat-icon-gold{background:#fff4df;color:var(--modern-orange)}.stat-icon-red{background:#ffeaf4;color:var(--modern-pink)}.stat-icon-green,.stat-icon-sage{background:#ecfff3;color:var(--modern-green)}.stat-icon-blue{background:#eef5ff;color:var(--modern-blue)}.stat-label{font-size:.78rem;text-transform:none;letter-spacing:0;color:var(--modern-muted);font-weight:500}.stat-value{font-family:var(--font-body);font-size:1.05rem;font-weight:800;color:var(--modern-text)}
.dashboard-grid{grid-template-columns:repeat(12,1fr);gap:1.1rem;margin-bottom:1.1rem}.dash-col-2{grid-column:span 2}.dash-col-4{grid-column:span 4}.dash-col-6{grid-column:span 6}.dash-card{border-radius:20px;border:1px solid var(--modern-line);box-shadow:var(--shadow-soft);padding:1.35rem;min-height:190px;background:#fff}.dash-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dash-card-title{font-size:.98rem;margin:0}.dash-card-action{font-size:.76rem;color:var(--modern-purple);font-weight:700;cursor:pointer}.chart-legend{justify-content:flex-start!important}.legend-item{color:#55506b;font-size:.74rem}.wedding-date-card{border-radius:20px;padding:1.25rem;background:#15162d;color:#fff;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.wdc-label{font-size:.72rem;color:#cfc8ff;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.wdc-days{font-size:2.6rem;font-weight:900;line-height:1;margin-top:.7rem}.wdc-days-label,.wdc-date,.wdc-couple{font-size:.8rem;color:#e7e4ff}.wdc-flower{position:absolute;right:14px;bottom:10px;color:#ff7db8}.quick-actions-grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:.85rem}.qa-btn{border:1px solid var(--modern-line)!important;border-radius:15px!important;background:#fafaff!important;padding:.9rem .75rem!important;font-weight:800!important;color:#20203a!important;display:flex!important;align-items:center!important;gap:.65rem!important;justify-content:flex-start!important;box-shadow:none!important;cursor:pointer}.qa-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(21,18,42,.07)!important}.qa-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.qa-icon-sage{background:#ecfff3;color:var(--modern-green)}.qa-icon-gold{background:#fff4df;color:var(--modern-orange)}.qa-icon-blue{background:#eef5ff;color:var(--modern-blue)}.qa-icon-rose{background:#ffeaf4;color:var(--modern-pink)}.dash-list li{border-bottom:1px solid var(--modern-line);}.text-muted{color:var(--modern-muted)!important}.app-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:2rem 0 0;padding:1.3rem 0 0;border-top:1px solid var(--modern-line);color:var(--modern-muted);font-size:.78rem}.app-footer strong{color:var(--modern-purple)}
@media(max-width:1100px){.main-content{max-width:none;padding:1.25rem}.wedding-hero{grid-template-columns:1fr 1fr}.hero-photo-card{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 6}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.main-content{padding:calc(var(--header-h) + 1rem) 1rem 1.25rem}.premium-topbar{display:none}.wedding-hero{grid-template-columns:1fr;text-align:center;padding:1.4rem 1.1rem;border-radius:22px}.hero-date-box{border-left:0;border-top:1px solid rgba(92,74,120,.13);padding:1rem 0 0;justify-content:center}.hero-copy h2{font-size:1.25rem}.hero-couple{font-size:1.25rem}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:86px;display:grid;grid-template-columns:44px 1fr;column-gap:.7rem;align-items:center}.stat-icon{grid-row:span 2;margin:0}.stat-label{align-self:end}.stat-value{align-self:start}.dashboard-grid{grid-template-columns:1fr}.dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 1}.dash-card{min-height:150px;padding:1.05rem}.quick-actions-grid{grid-template-columns:1fr}.qa-btn{justify-content:flex-start!important}.app-footer{display:block;text-align:center;line-height:1.8}.dash-search{min-width:0;width:100%}.sidebar{background:#fff;color:#111827}}


/* =====================================================
   ZAID FIX V2 — Luxury Zelmora brand UI cleanup
   Purpose: remove childish purple/pink look, stop repeated branding,
   fix chart distortion, improve responsive/dashboard quality.
   ===================================================== */
:root{
  --modern-bg:#F7F3EC;
  --modern-surface:#FFFCF7;
  --modern-card:#FFFFFF;
  --modern-text:#17130D;
  --modern-muted:#756B5E;
  --modern-line:#E8DECF;
  --modern-purple:#B98B42;
  --modern-pink:#D2A85F;
  --modern-gold:#B98B42;
  --modern-orange:#C59A52;
  --modern-green:#657A58;
  --modern-blue:#2E3746;
  --shadow-soft:0 18px 45px rgba(32,24,13,.075);
  --shadow-card:0 10px 28px rgba(32,24,13,.06);
}
html,body{background:var(--modern-bg)!important;color:var(--modern-text)!important;}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,sans-serif!important;}
h1,h2,h3,.dash-card-title,.stat-value{font-family:'Poppins',system-ui,sans-serif!important;}

/* Sidebar: luxury minimal black + gold, no duplicate cheap blocks */
.sidebar{background:#16130F!important;border-right:1px solid rgba(185,139,66,.18)!important;color:#F8F1E6!important;box-shadow:none!important;}
.sidebar-brand{background:#16130F!important;border-bottom:1px solid rgba(185,139,66,.18)!important;padding:1.15rem 1rem!important;}
.sidebar-logo,.brand-heart{background:linear-gradient(135deg,#C8A15A,#8F6426)!important;color:#fff!important;box-shadow:0 10px 24px rgba(185,139,66,.25)!important;}
.sidebar-brand-name{color:#fff!important;font-size:1rem!important;font-weight:800!important;letter-spacing:-.02em!important;}
.sidebar-brand-sub{color:#C8A15A!important;font-size:.7rem!important;}
.nav-section-label{color:#A8977E!important;font-size:.63rem!important;letter-spacing:.14em!important;}
.nav-item{color:#D9CEBF!important;border-radius:13px!important;margin:.1rem .65rem!important;padding:.72rem .82rem!important;background:transparent!important;}
.nav-item:hover,.nav-item.active{background:rgba(185,139,66,.16)!important;color:#fff!important;}
.nav-icon{color:#C8A15A!important;}
.sidebar-footer{background:#16130F!important;border-top:1px solid rgba(185,139,66,.18)!important;}
.sidebar-user-avatar{background:#C8A15A!important;color:#17130D!important;font-weight:900!important;}
.sidebar-user-name{color:#fff!important;}
.logout-link{color:#C8A15A!important;}

/* Main layout */
.main-content{max-width:1280px!important;padding:1.45rem 2rem 2rem!important;}
.section{animation:none!important;}
.premium-topbar{margin-bottom:1rem!important;}
/* hide repeated desktop brand in content; sidebar already carries app name */
.premium-topbar .brand-mark{display:none!important;}
.premium-topbar{justify-content:flex-end!important;}
.dash-search{border:1px solid var(--modern-line)!important;background:#fff!important;box-shadow:var(--shadow-card)!important;}
.dash-notif{border-color:var(--modern-line)!important;box-shadow:var(--shadow-card)!important;color:#17130D!important;}

/* Hero: clean cream/gold, couple + wedding date as main focus */
.wedding-hero{
  grid-template-columns:1fr auto!important;
  background:linear-gradient(135deg,#FFF8EE 0%,#F3E8D8 52%,#FBF6EE 100%)!important;
  border:1px solid #E8D8BE!important;
  border-radius:24px!important;
  box-shadow:var(--shadow-soft)!important;
  padding:2rem 2.1rem!important;
  margin-bottom:1.35rem!important;
}
.wedding-hero:before{background:rgba(185,139,66,.12)!important;}
.hero-photo-card{display:none!important;}
.eyebrow{background:#17130D!important;color:#F5D79D!important;letter-spacing:.13em!important;border-radius:999px!important;}
.hero-copy h2{color:#17130D!important;font-weight:900!important;font-size:1.68rem!important;letter-spacing:-.03em!important;}
.hero-copy p{color:#6F6251!important;margin-bottom:1.25rem!important;}
.hero-couple{font-size:1.55rem!important;font-weight:900!important;color:#17130D!important;}
.hero-date-box{background:#fff!important;border:1px solid #E8D8BE!important;border-left:0!important;border-radius:18px!important;padding:1rem 1.2rem!important;box-shadow:0 14px 32px rgba(37,25,9,.07)!important;min-width:220px!important;}
.hero-date-icon{background:#F7EAD6!important;color:#B98B42!important;box-shadow:none!important;}
.hero-date-box small{color:#8A7760!important;text-transform:uppercase;letter-spacing:.08em!important;}
.hero-date-box strong{color:#17130D!important;font-size:1.08rem!important;}
.hero-date-box span{color:#B98B42!important;}

/* Stats: tighter, premium, no childish colors */
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1rem!important;margin-bottom:1.15rem!important;}
.stat-card{border:1px solid var(--modern-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--shadow-card)!important;min-height:112px!important;padding:1rem 1.05rem!important;}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(32,24,13,.09)!important;}
.stat-icon{width:34px!important;height:34px!important;margin-bottom:.55rem!important;}
.stat-icon-gold,.stat-icon-red,.stat-icon-green,.stat-icon-sage,.stat-icon-blue{background:#F6E9D2!important;color:#B98B42!important;}
.stat-label{font-size:.72rem!important;color:#7A6F61!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.055em!important;}
.stat-value{font-size:1.08rem!important;color:#17130D!important;font-weight:900!important;}
.stat-spent .stat-value{color:#8F3A2D!important;}

/* Cards/grid: consistent, no empty low quality oversized feel */
.dashboard-grid{gap:1rem!important;margin-bottom:1rem!important;}
.dash-card{background:#fff!important;border:1px solid var(--modern-line)!important;border-radius:18px!important;box-shadow:var(--shadow-card)!important;min-height:178px!important;padding:1.15rem!important;overflow:hidden!important;}
.dash-card-title{font-size:.95rem!important;font-weight:900!important;color:#17130D!important;}
.dash-card-action{color:#B98B42!important;font-weight:800!important;text-decoration:none!important;}
.chart-wrap{min-height:210px!important;align-items:center!important;}
.chart-wrap canvas{display:block!important;margin:auto!important;max-width:220px!important;max-height:220px!important;}
.chart-legend{gap:.7rem!important;flex-wrap:wrap!important;}
.legend-item{font-size:.72rem!important;color:#6F6251!important;}
.legend-dot{width:8px!important;height:8px!important;}

/* Wedding countdown card */
.wedding-date-card{background:#17130D!important;border:1px solid rgba(200,161,90,.32)!important;color:#fff!important;border-radius:18px!important;min-height:178px!important;box-shadow:var(--shadow-card)!important;}
.wdc-label{color:#F5D79D!important;}.wdc-days{color:#fff!important}.wdc-days-label,.wdc-date,.wdc-couple{color:#E9DDCB!important}.wdc-flower{color:#C8A15A!important;}

/* Quick actions: no overflow, premium buttons */
.quick-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.75rem!important;}
.qa-btn{width:100%!important;min-width:0!important;border:1px solid #E8DECF!important;background:#FFFCF7!important;border-radius:14px!important;color:#17130D!important;font-size:.78rem!important;line-height:1.15!important;padding:.75rem!important;font-weight:800!important;justify-content:flex-start!important;box-shadow:none!important;}
.qa-icon{width:30px!important;height:30px!important;border-radius:10px!important;background:#F6E9D2!important;color:#B98B42!important;}
.qa-icon-sage,.qa-icon-gold,.qa-icon-blue,.qa-icon-rose{background:#F6E9D2!important;color:#B98B42!important;}

/* Footer */
.app-footer{border-top:1px solid var(--modern-line)!important;color:#756B5E!important;}
.app-footer strong{color:#B98B42!important;}

/* Mobile polish */
.mobile-header{background:#16130F!important;border-bottom:1px solid rgba(185,139,66,.18)!important;color:#fff!important;}
.mobile-brand small{color:#C8A15A!important;}
.hamburger span{background:#C8A15A!important;}
@media(max-width:1100px){
  .main-content{padding:1.2rem!important;}
  .wedding-hero{grid-template-columns:1fr!important;}
  .hero-date-box{width:100%!important;}
  .dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 6!important;}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:768px){
  .main-content{padding:calc(var(--header-h) + .9rem) .9rem 1.1rem!important;}
  .wedding-hero{text-align:left!important;padding:1.25rem!important;border-radius:20px!important;}
  .hero-copy h2{font-size:1.25rem!important;}
  .hero-couple{font-size:1.22rem!important;}
  .hero-date-box{justify-content:flex-start!important;padding:.9rem!important;min-width:0!important;}
  .stats-grid{grid-template-columns:1fr!important;gap:.72rem!important;}
  .stat-card{display:grid!important;grid-template-columns:38px 1fr!important;column-gap:.75rem!important;min-height:82px!important;align-items:center!important;}
  .stat-icon{grid-row:span 2!important;margin:0!important;}
  .dashboard-grid{grid-template-columns:1fr!important;gap:.85rem!important;}
  .dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 1!important;}
  .dash-card{min-height:140px!important;padding:1rem!important;}
  .quick-actions-grid{grid-template-columns:1fr 1fr!important;gap:.65rem!important;}
  .qa-btn{font-size:.73rem!important;padding:.62rem!important;}
}
@media(max-width:420px){.quick-actions-grid{grid-template-columns:1fr!important}.hero-date-box{display:flex!important}}

/* ══════════════════════════════════════════════════
   FINAL FARHAN REQUEST PATCH — focused luxury hero
   Couple + remaining days + date/location only
══════════════════════════════════════════════════ */
.sidebar-brand{gap:.45rem!important;}
.sidebar-logo,.brand-heart,.hero-photo-card,.eyebrow,.hero-copy h2,.hero-copy p,.hero-date-box,#weddingDateCard{display:none!important;}
.sidebar-footer-clean{padding:.85rem 1rem!important;display:flex!important;justify-content:center!important;align-items:center!important;min-height:auto!important;}
.logout-clean{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;padding:.7rem .85rem!important;border:1px solid rgba(200,161,90,.18)!important;border-radius:12px!important;background:rgba(200,161,90,.08)!important;font-weight:700!important;font-size:.78rem!important;}
.logout-clean:hover{background:rgba(200,161,90,.16)!important;color:#fff!important;}

.wedding-hero-focused{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:245px!important;
  padding:2.4rem 2rem!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 20% 20%, rgba(200,161,90,.16) 0, transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(143,100,38,.12) 0, transparent 28%),
    linear-gradient(135deg,#17130D 0%,#241B12 47%,#4A3119 100%)!important;
  border:1px solid rgba(200,161,90,.42)!important;
  box-shadow:0 22px 65px rgba(35,25,12,.16)!important;
  overflow:hidden!important;
  position:relative!important;
}
.wedding-hero-focused:before{
  content:''!important;
  position:absolute!important;
  inset:12px!important;
  border:1px solid rgba(245,215,157,.24)!important;
  border-radius:22px!important;
  background:transparent!important;
  pointer-events:none!important;
}
.wedding-hero-focused:after{
  content:'✦'!important;
  position:absolute!important;
  right:1.5rem!important;
  bottom:1.15rem!important;
  color:#C8A15A!important;
  font-size:1rem!important;
  opacity:.9!important;
}
.hero-center{position:relative!important;z-index:1!important;width:100%!important;max-width:780px!important;}
.hero-couple{
  font-family:'Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(2.25rem,5vw,4.7rem)!important;
  line-height:1.02!important;
  font-weight:600!important;
  letter-spacing:.025em!important;
  color:#F8E7BC!important;
  text-shadow:0 4px 22px rgba(0,0,0,.28)!important;
  margin:0 0 .75rem!important;
}
.hero-countdown{
  font-family:'Poppins',system-ui,sans-serif!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.5rem 1.05rem!important;
  border-radius:999px!important;
  border:1px solid rgba(245,215,157,.35)!important;
  background:rgba(255,248,238,.08)!important;
  color:#F5D79D!important;
  font-size:clamp(.9rem,1.8vw,1.2rem)!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  margin-bottom:.9rem!important;
}
.hero-date{
  font-family:'Poppins',system-ui,sans-serif!important;
  color:#FFF8EE!important;
  font-size:clamp(1.02rem,2.1vw,1.42rem)!important;
  line-height:1.25!important;
  font-weight:700!important;
  margin-bottom:.2rem!important;
}
.hero-location{
  font-family:'Poppins',system-ui,sans-serif!important;
  color:#D9CEBF!important;
  font-size:clamp(.88rem,1.5vw,1.02rem)!important;
  font-weight:500!important;
}
.hero-ornament{width:min(460px,70%)!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(245,215,157,.55),transparent)!important;position:relative!important;z-index:1!important;}
.hero-ornament-top{margin-bottom:1.2rem!important;}
.hero-ornament-bottom{margin-top:1.25rem!important;}

/* keep Poppins as the global second font */
body,input,select,textarea,button,.nav-item,.stat-label,.stat-value,.dash-card-title,.dash-card-action,.qa-btn,.app-footer{font-family:'Poppins',system-ui,-apple-system,Segoe UI,sans-serif!important;}

/* Row 2 after removing duplicate countdown card */
#chartMealsDonut{max-width:175px!important;max-height:175px!important;}

@media(max-width:768px){
  .wedding-hero-focused{min-height:218px!important;padding:2rem 1.1rem!important;border-radius:22px!important;}
  .wedding-hero-focused:before{inset:9px!important;border-radius:18px!important;}
  .hero-couple{text-align:center!important;font-size:clamp(2.15rem,12vw,3.2rem)!important;}
  .hero-countdown{font-size:.78rem!important;padding:.42rem .8rem!important;letter-spacing:.04em!important;}
  .hero-date{font-size:1rem!important;}
  .hero-location{font-size:.82rem!important;}
  .hero-ornament{width:82%!important;}
  .sidebar-footer-clean{padding:.7rem!important;}
}


/* Feature flag + final clean hero/footer patch */
.wedding-hero-focused{display:flex!important;grid-template-columns:none!important;width:100%!important;}
.wedding-hero-focused:after{content:none!important;display:none!important;}
.hero-photo-card,.hero-photo-inner,.hero-date-box{display:none!important;}
.hero-location{color:#E8DCC7!important;font-size:clamp(.95rem,1.5vw,1.08rem)!important;font-weight:500!important;}
.app-footer{width:100%!important;margin-top:2rem!important;padding:1.2rem 0!important;border-top:1px solid rgba(185,139,66,.18)!important;}
@media(max-width:768px){.app-footer{display:flex!important;flex-direction:column!important;align-items:center!important;gap:.35rem!important;text-align:center!important;}}

/* ══════════════════════════════════════════════════
   FARHAN FINAL HERO CLEANUP — no image ghost, stylish date/venue, stronger responsiveness
══════════════════════════════════════════════════ */
.wedding-hero,
.wedding-hero-focused{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  width:100%!important;
  min-height:250px!important;
  padding:2.35rem clamp(1rem,3vw,3rem)!important;
  text-align:center!important;
  position:relative!important;
  overflow:hidden!important;
}
.wedding-hero::before,
.wedding-hero::after,
.wedding-hero-focused::before,
.wedding-hero-focused::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.wedding-hero > .hero-photo-card,
.wedding-hero > .hero-photo-inner,
.wedding-hero > .hero-date-box,
.wedding-hero > .hero-copy,
.hero-photo-card,
.hero-photo-inner,
.hero-date-box,
.hero-copy{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  position:absolute!important;
  inset:auto!important;
  overflow:hidden!important;
}
.hero-center{
  width:100%!important;
  max-width:920px!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.hero-couple{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
  font-size:clamp(2.45rem,5.3vw,5rem)!important;
  line-height:1!important;
  margin:0 0 .85rem!important;
  text-align:center!important;
}
.hero-countdown{
  margin:.15rem auto .85rem!important;
}
.hero-date{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
  color:#FFF1C8!important;
  font-size:clamp(1.45rem,3vw,2.35rem)!important;
  line-height:1.05!important;
  font-weight:700!important;
  letter-spacing:.015em!important;
  text-shadow:0 4px 18px rgba(0,0,0,.22)!important;
  margin:.08rem 0 .28rem!important;
}
.hero-location{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
  color:#F1DEB4!important;
  font-size:clamp(1.08rem,2vw,1.55rem)!important;
  line-height:1.1!important;
  font-weight:600!important;
  letter-spacing:.012em!important;
  text-shadow:0 3px 14px rgba(0,0,0,.2)!important;
  margin:0!important;
}
.hero-ornament{
  display:block!important;
  width:min(560px,78%)!important;
  max-width:100%!important;
  height:1px!important;
  border:0!important;
  background:linear-gradient(90deg,transparent,rgba(245,215,157,.55),transparent)!important;
  box-shadow:none!important;
}
.hero-ornament-top{margin:0 auto 1.45rem!important;}
.hero-ornament-bottom{margin:1.45rem auto 0!important;}

@media(max-width:1200px){
  .wedding-hero,.wedding-hero-focused{min-height:230px!important;padding:2rem 1.4rem!important;}
}
@media(max-width:992px){
  .wedding-hero,.wedding-hero-focused{border-radius:24px!important;min-height:220px!important;}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 2!important;}
}
@media(max-width:768px){
  .wedding-hero,.wedding-hero-focused{min-height:205px!important;padding:1.65rem .9rem!important;border-radius:20px!important;}
  .hero-couple{font-size:clamp(2.25rem,13vw,3.4rem)!important;}
  .hero-countdown{font-size:.76rem!important;padding:.42rem .75rem!important;max-width:100%!important;white-space:normal!important;}
  .hero-date{font-size:clamp(1.35rem,7vw,1.85rem)!important;}
  .hero-location{font-size:clamp(1.02rem,5.3vw,1.28rem)!important;}
  .hero-ornament{width:86%!important;}
  .stats-grid,.dashboard-grid{grid-template-columns:1fr!important;}
  .dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 1!important;}
  .main-content{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
}
@media(max-width:420px){
  .wedding-hero,.wedding-hero-focused{min-height:196px!important;padding:1.35rem .75rem!important;}
  .hero-couple{font-size:2.05rem!important;letter-spacing:.01em!important;}
  .hero-date{font-size:1.35rem!important;}
  .hero-location{font-size:1.02rem!important;}
}


/* ============================================================
   FARHAN FINAL STABILITY PATCH — image-feature safe + clean hero
   ============================================================ */
body{font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;}
/* Kill every old hero photo/placeholder/border layer permanently */
.wedding-hero,.wedding-hero-focused{
  display:flex!important;grid-template-columns:none!important;grid-template-areas:none!important;
  align-items:center!important;justify-content:center!important;text-align:center!important;
  min-height:clamp(210px,24vw,285px)!important;padding:clamp(1.35rem,3vw,2.7rem)!important;
  overflow:hidden!important;isolation:isolate!important;
}
.wedding-hero::before,.wedding-hero::after,.wedding-hero-focused::before,.wedding-hero-focused::after{content:none!important;display:none!important;}
.wedding-hero > :not(.hero-center):not(.hero-ornament),
.wedding-hero-focused > :not(.hero-center):not(.hero-ornament),
.hero-photo-card,.hero-photo-inner,.hero-date-box,.hero-copy,.hero-image,.hero-media,.hero-placeholder,.hero-left,.hero-visual{
  display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;min-height:0!important;max-height:0!important;
  margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;position:absolute!important;pointer-events:none!important;overflow:hidden!important;
}
.hero-center{grid-column:1/-1!important;margin:0 auto!important;width:min(100%,940px)!important;max-width:940px!important;}
.hero-date,.hero-location{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;}
.hero-date{font-size:clamp(1.7rem,3.2vw,2.65rem)!important;font-weight:700!important;color:#FFF1C8!important;}
.hero-location{font-size:clamp(1.22rem,2.3vw,1.9rem)!important;font-weight:600!important;color:#F1DEB4!important;}
.app-footer{position:relative!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:1rem!important;width:100%!important;margin-top:2.3rem!important;padding:1.05rem 0!important;border-top:1px solid rgba(185,139,66,.22)!important;color:#8A7760!important;}
.app-footer a,.app-footer strong{color:#B98B42!important;font-weight:800!important;text-decoration:none!important;}
@media(max-width:992px){.main-content{max-width:100%!important}.wedding-hero,.wedding-hero-focused{border-radius:24px!important}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 2!important}}
@media(max-width:768px){.wedding-hero,.wedding-hero-focused{min-height:205px!important;padding:1.45rem .85rem!important}.hero-couple{font-size:clamp(2.25rem,12vw,3.25rem)!important}.hero-date{font-size:clamp(1.5rem,7vw,2rem)!important}.hero-location{font-size:clamp(1.14rem,5.5vw,1.45rem)!important}.app-footer{flex-direction:column!important;text-align:center!important;justify-content:center!important}.stats-grid,.dashboard-grid{grid-template-columns:1fr!important}.dash-col-2,.dash-col-4,.dash-col-6{grid-column:span 1!important}}


/* ============================================================
   FINAL QUALITY PASS — premium dashboard charts + responsiveness
   ============================================================ */
.dash-card{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF8 100%)!important;
  border:1px solid rgba(185,139,66,.18)!important;
  box-shadow:0 16px 42px rgba(33,24,13,.07)!important;
}
.dash-card-title{font-weight:800!important;letter-spacing:-.035em!important;color:#17130D!important;}
.dash-card-action{color:#B98B42!important;font-weight:800!important;}
.chart-wrap{
  min-height:205px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
}
.chart-wrap canvas{
  display:block!important;
  width:min(220px,100%)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  image-rendering:auto!important;
}
#chartBudgetDonut,#chartRsvpDonut{width:210px!important;height:210px!important;max-width:100%!important;}
#chartTasksRing,#chartVendorsRing{width:112px!important;height:112px!important;}
#chartMonthlyLine{width:100%!important;max-width:100%!important;height:180px!important;}
.chart-legend{display:flex!important;align-items:center!important;justify-content:center!important;gap:.7rem!important;flex-wrap:wrap!important;}
.legend-item{display:inline-flex!important;align-items:center!important;gap:.34rem!important;font-size:.73rem!important;font-weight:600!important;color:#756B5E!important;}
.legend-dot{width:8px!important;height:8px!important;border-radius:999px!important;box-shadow:0 0 0 3px rgba(185,139,66,.08)!important;}
.progress-ring-group{display:flex!important;align-items:center!important;justify-content:center!important;gap:1.5rem!important;flex-wrap:wrap!important;min-height:195px!important;}
.progress-ring-item{text-align:center!important;}
.progress-ring-label{font-size:.74rem!important;color:#8A7760!important;margin-top:.45rem!important;font-weight:600!important;}
@media(max-width:1200px){
  .main-content{padding-left:1.3rem!important;padding-right:1.3rem!important;}
}
@media(max-width:768px){
  .chart-wrap{min-height:178px!important;}
  #chartBudgetDonut,#chartRsvpDonut{width:180px!important;height:180px!important;}
  .progress-ring-group{gap:1rem!important;min-height:165px!important;}
  #chartTasksRing,#chartVendorsRing{width:98px!important;height:98px!important;}
}
@media(max-width:420px){
  .dash-card{border-radius:17px!important;padding:.95rem!important;}
  .chart-wrap{min-height:160px!important;}
  #chartBudgetDonut,#chartRsvpDonut{width:160px!important;height:160px!important;}
}


/* FINAL MASTER POLISH PATCH */
html,body{min-height:100%!important;}
body{display:flex!important;flex-direction:column!important;}
.main-content{min-height:100vh!important;display:flex!important;flex-direction:column!important;}
.section.active{flex:1 0 auto!important;}
.app-footer{margin-top:auto!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:1rem!important;}
.hero-date,.hero-location{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;color:#F8E7BC!important;text-shadow:0 3px 16px rgba(0,0,0,.22)!important;}
.hero-date{font-size:clamp(1.55rem,3vw,2.35rem)!important;font-weight:600!important;font-style:italic!important;letter-spacing:.02em!important;}
.hero-location{font-size:clamp(1.05rem,2vw,1.45rem)!important;font-weight:500!important;letter-spacing:.035em!important;color:#F2DFC1!important;}
.dash-card canvas{image-rendering:auto!important;max-width:100%!important;}
.progress-rings{display:flex!important;align-items:center!important;justify-content:center!important;gap:2.2rem!important;flex-wrap:wrap!important;}
.chart-center-label,.ring-label{font-family:'Poppins',system-ui,sans-serif!important;font-weight:700!important;}
@media(max-width:768px){.app-footer{flex-direction:column!important;text-align:center!important}.hero-date{font-size:1.65rem!important}.hero-location{font-size:1.1rem!important}.progress-rings{gap:1rem!important}.dash-card{overflow:hidden!important}}


/* Wedding cost source breakdown under dashboard budget chart */
.cost-source-breakdown{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin-top:.7rem;padding-top:.65rem;border-top:1px solid rgba(196,150,42,.18);font-size:.72rem;color:#7a6a56;}
.cost-source-breakdown span{display:flex;justify-content:space-between;gap:.45rem;white-space:nowrap;}
.cost-source-breakdown strong{color:#1f1b16;font-weight:800;}
@media(max-width:560px){.cost-source-breakdown{grid-template-columns:1fr}.cost-source-breakdown span{white-space:normal}}
.disabled-check{opacity:.45;cursor:not-allowed!important}.mini-summary{margin:0 0 1rem 0}.dashboard-grid .dash-col-6{grid-column:span 6}@media(max-width:900px){.dashboard-grid .dash-col-6{grid-column:span 12}}


/* AUTO SUMMARY WEDDING BUDGET PATCH */
.auto-budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;}
.auto-budget-card{background:#fff;border:1px solid rgba(196,150,42,.18);border-radius:18px;padding:1.15rem;box-shadow:0 8px 24px rgba(30,28,26,.05);display:flex;flex-direction:column;gap:.75rem;min-height:160px;}
.auto-budget-title{font-weight:800;font-size:1rem;color:#1D1C1A;}
.auto-budget-desc{font-size:.82rem;line-height:1.55;color:#8A7760;margin-top:.25rem;}
.auto-budget-amount{font-size:1.35rem;font-weight:900;color:#A57C41;margin-top:auto;}
.auto-budget-link{align-self:flex-start;}
@media(max-width:980px){.auto-budget-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.auto-budget-grid{grid-template-columns:1fr;}.auto-budget-card{min-height:auto;}}

/* ACCESSIBILITY SETTINGS PATCH */
body.font-small{font-size:14px!important;}
body.font-default{font-size:16px!important;}
body.font-medium{font-size:17px!important;}
body.font-large{font-size:18px!important;}
body.font-extra_large{font-size:19px!important;}
body.font-large .stat-value,body.font-extra_large .stat-value{line-height:1.15!important;}
body.font-large .data-table,body.font-extra_large .data-table{font-size:.92rem!important;}
body.font-extra_large .qa-btn{font-size:.82rem!important;}
.accessibility-trigger{width:44px;height:44px;border-radius:999px;border:1px solid rgba(196,150,42,.22);background:#fff;color:#1d1c1a;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(30,28,26,.05);display:inline-flex;align-items:center;justify-content:center;transition:.2s ease;}
.accessibility-trigger:hover{background:#FFF8EA;color:#A57C41;transform:translateY(-1px)}
.accessibility-modal{max-width:560px!important;}
.accessibility-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1rem 0;}
.accessibility-controls button{white-space:normal;min-height:44px;}
.accessibility-level-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin:.8rem 0;color:#8A7760;font-size:.72rem;text-align:center;}
.accessibility-current{padding:.8rem 1rem;border-radius:14px;background:#FFF8EA;border:1px solid rgba(196,150,42,.2);color:#1D1C1A;font-size:.9rem;}
.help-notice{margin-top:.9rem!important;padding:.8rem 1rem;border-radius:14px;background:#FFF8EA;border:1px solid rgba(196,150,42,.22);color:#6f5a3d!important;font-size:.82rem!important;line-height:1.6!important;}
@media(max-width:720px){.accessibility-controls{grid-template-columns:1fr}.accessibility-level-row{grid-template-columns:1fr;gap:.2rem;text-align:left}.accessibility-trigger{width:40px;height:40px}.dash-topbar-right{gap:.45rem!important}}
@media(max-width:520px){body.font-extra_large .hero-couple{font-size:clamp(2rem,14vw,3rem)!important}body.font-large .stats-grid,body.font-extra_large .stats-grid{grid-template-columns:1fr!important}.data-table{min-width:680px}}


/* GLOBAL TOOLS + REAL ACCESSIBILITY SCALING PATCH */
html.font-small{font-size:14px!important;}
html.font-default{font-size:15px!important;}
html.font-medium{font-size:16.5px!important;}
html.font-large{font-size:18px!important;}
html.font-extra_large{font-size:19.5px!important;}
html.font-small body{font-size:.95rem!important;}
html.font-default body{font-size:1rem!important;}
html.font-medium body{font-size:1.04rem!important;}
html.font-large body{font-size:1.08rem!important;}
html.font-extra_large body{font-size:1.12rem!important;}
html.font-large .modal,html.font-extra_large .modal{max-width:min(720px,94vw)!important;}
html.font-large input,html.font-large select,html.font-large textarea,
html.font-extra_large input,html.font-extra_large select,html.font-extra_large textarea{font-size:1rem!important;}
html.font-large .btn-primary,html.font-large .btn-ghost,
html.font-extra_large .btn-primary,html.font-extra_large .btn-ghost{font-size:.95rem!important;}
.global-top-tools{position:fixed;top:1.05rem;right:1.4rem;z-index:970;display:flex;align-items:flex-start;gap:.6rem;pointer-events:auto;}
.global-search-wrap{position:relative;}
.global-search{width:min(360px,calc(100vw - 150px));margin:0!important;background:#fff;box-shadow:0 8px 28px rgba(30,28,26,.06);}
.global-search input{width:100%;}
.global-search-suggestions{position:absolute;top:calc(100% + .45rem);right:0;width:min(360px,calc(100vw - 1.5rem));background:#fff;border:1px solid rgba(196,150,42,.2);border-radius:18px;box-shadow:0 18px 42px rgba(30,28,26,.12);padding:.45rem;z-index:980;max-height:320px;overflow:auto;}
.global-search-item{width:100%;border:0;background:transparent;border-radius:13px;padding:.72rem .85rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;cursor:pointer;color:var(--charcoal);font-family:var(--font-body);font-size:.86rem;}
.global-search-item:hover{background:#FFF8EA;color:#A57C41;}
.global-search-item small{font-size:.68rem;color:var(--taupe);white-space:nowrap;}
.global-search-empty{padding:.75rem .85rem;color:var(--taupe);font-size:.8rem;}
.premium-topbar .dash-topbar-right{display:none!important;}
.global-notif{width:44px;height:44px;flex-shrink:0;}
.global-a11y-trigger{flex-shrink:0;}
@media(max-width:780px){
  .global-top-tools{top:.55rem;right:.7rem;gap:.4rem;}
  .global-search{width:44px;min-width:44px;padding:0 .8rem;overflow:hidden;transition:width .18s ease;}
  .global-search input{width:0;opacity:0;pointer-events:none;padding:0;border:0;}
  .global-search-wrap:focus-within .global-search{width:min(280px,calc(100vw - 1.4rem));}
  .global-search-wrap:focus-within .global-search input{width:100%;opacity:1;pointer-events:auto;padding:0;border:0;}
  .global-search-suggestions{right:0;width:min(280px,calc(100vw - 1.4rem));}
  .global-notif{display:none;}
}
@media(max-width:520px){html.font-large{font-size:16.5px!important;}html.font-extra_large{font-size:17px!important;}.global-a11y-trigger{width:40px;height:40px}.global-search{height:40px}.global-top-tools{z-index:1200}}

/* =====================================================
   ZAID PATCH — Non-overlapping global tools
   Keeps Accessibility/Search visible without hiding page buttons.
   ===================================================== */
.global-top-tools{
  position:sticky!important;
  top:.75rem!important;
  right:auto!important;
  left:auto!important;
  width:100%!important;
  z-index:960!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:.6rem!important;
  margin:0 0 1.05rem 0!important;
  pointer-events:none!important;
}
.global-top-tools > *{pointer-events:auto!important;}
.global-search-wrap{flex:0 1 auto!important;}
.global-search{height:44px!important;}
.global-a11y-trigger,.global-notif{position:relative!important;z-index:2!important;}
.section-header{position:relative!important;z-index:1!important;}
@media(max-width:780px){
  .global-top-tools{
    top:calc(var(--header-h) + .55rem)!important;
    right:auto!important;
    justify-content:flex-end!important;
    margin-bottom:.85rem!important;
    gap:.45rem!important;
  }
  .global-search{width:42px!important;min-width:42px!important;height:42px!important;}
  .global-search-wrap:focus-within .global-search{width:min(280px,calc(100vw - 1.4rem))!important;}
}
@media(max-width:520px){
  .global-top-tools{top:calc(var(--header-h) + .45rem)!important;}
  .global-search-wrap:focus-within{position:absolute!important;right:0!important;top:0!important;width:calc(100vw - 1.8rem)!important;}
  .global-search-wrap:focus-within .global-search{width:100%!important;}
}

/* =====================================================
   ZAID PATCH — Mobile tools in safe flow row
   Fixes mobile overlap: search, accessibility and bell sit above content/hero.
   ===================================================== */
@media(max-width:780px){
  .main-content{
    padding-top:calc(var(--header-h) + .8rem)!important;
  }
  .global-top-tools{
    position:static!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    width:100%!important;
    min-height:44px!important;
    margin:0 0 .85rem 0!important;
    padding:0!important;
    z-index:5!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px 42px!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:.5rem!important;
    pointer-events:auto!important;
  }
  .global-top-tools > *{
    pointer-events:auto!important;
  }
  .global-search-wrap{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    flex:none!important;
  }
  .global-search,
  .global-search-wrap:focus-within .global-search{
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    overflow:visible!important;
    padding:0 .8rem!important;
    display:flex!important;
    align-items:center!important;
  }
  .global-search input,
  .global-search-wrap:focus-within .global-search input{
    width:100%!important;
    opacity:1!important;
    pointer-events:auto!important;
    padding:.35rem!important;
  }
  .global-search-wrap:focus-within{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    width:100%!important;
  }
  .global-search-suggestions{
    left:0!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    z-index:30!important;
  }
  .global-a11y-trigger,
  .global-notif{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex:0 0 42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    z-index:2!important;
  }
  .global-notif{
    display:grid!important;
  }
  .wedding-hero,
  .wedding-hero-focused,
  .section-header,
  .stats-grid,
  .dashboard-grid{
    position:relative!important;
    z-index:1!important;
  }
}

@media(max-width:430px){
  .global-top-tools{
    grid-template-columns:minmax(0,1fr) 40px 40px!important;
    gap:.4rem!important;
  }
  .global-a11y-trigger,
  .global-notif{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
  .global-search,
  .global-search-wrap:focus-within .global-search{
    height:40px!important;
    padding:0 .65rem!important;
  }
}


/* =====================================================
   ZAID FINAL MOBILE COMPACT CARDS + SECTION SEARCH PATCH
   - 2 stat cards per row on phones
   - compact Wedding Party cards
   - section search bars never overflow
   ===================================================== */
.section-search{margin:.15rem 0 1rem!important;display:flex!important;gap:.65rem!important;align-items:center!important;flex-wrap:wrap!important;width:100%!important;}
.section-search input,.section-search select{min-width:0!important;}
.section-search input{flex:1 1 220px!important;}
.section-search select{flex:0 0 auto!important;max-width:100%!important;}

@media(max-width:680px){
  .main-content{padding-left:.78rem!important;padding-right:.78rem!important;}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.58rem!important;margin-bottom:.9rem!important;}
  .stat-card{min-height:78px!important;padding:.68rem!important;border-radius:15px!important;display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:.55rem!important;align-items:center!important;}
  .stat-icon{width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;grid-row:1/3!important;}
  .stat-icon svg{width:15px!important;height:15px!important;}
  .stat-label{font-size:.56rem!important;line-height:1.12!important;letter-spacing:.045em!important;margin:0!important;align-self:end!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  .stat-value{font-size:.92rem!important;line-height:1.18!important;align-self:start!important;min-width:0!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
  .wedding-hero,.wedding-hero-focused{margin-bottom:1rem!important;}
  .party-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.68rem!important;}
  .party-card{padding:.72rem .52rem!important;border-radius:16px!important;min-height:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;}
  .party-avatar{width:42px!important;height:42px!important;font-size:1.05rem!important;margin:0 auto .45rem!important;}
  .party-name{font-size:.83rem!important;line-height:1.15!important;max-width:100%!important;overflow-wrap:anywhere!important;}
  .party-role{font-size:.64rem!important;line-height:1.2!important;margin:.12rem 0!important;letter-spacing:.035em!important;}
  .party-side{font-size:.61rem!important;line-height:1.2!important;}
  .party-card .badge{font-size:.58rem!important;padding:.12rem .44rem!important;margin-top:.22rem!important;}
  .party-actions{margin-top:.52rem!important;gap:.28rem!important;display:flex!important;justify-content:center!important;flex-wrap:wrap!important;width:100%!important;}
  .party-actions .btn-gold,.party-actions .btn-danger{font-size:.62rem!important;padding:.34rem .52rem!important;min-width:0!important;}
  .vendor-grid{grid-template-columns:1fr!important;gap:.8rem!important;}
  .vendor-card{padding:.9rem!important;border-radius:16px!important;}
  .check-item{padding:.72rem!important;border-radius:15px!important;gap:.55rem!important;}
  .check-item-title{font-size:.86rem!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
  .check-item-meta{font-size:.67rem!important;line-height:1.25!important;}
  .check-item-actions{gap:.3rem!important;flex-wrap:wrap!important;}
  .data-table{font-size:.78rem!important;}
  .section-header{align-items:flex-start!important;gap:.65rem!important;}
  .section-title{font-size:1.65rem!important;line-height:1.05!important;}
  .btn-primary.btn-sm{font-size:.72rem!important;padding:.52rem .75rem!important;white-space:nowrap!important;}
}
@media(max-width:380px){
  .stats-grid{gap:.5rem!important;}
  .stat-card{padding:.58rem!important;grid-template-columns:28px minmax(0,1fr)!important;}
  .stat-icon{width:28px!important;height:28px!important;min-width:28px!important;}
  .stat-label{font-size:.52rem!important;}
  .stat-value{font-size:.84rem!important;}
  .party-grid{gap:.55rem!important;}
  .party-card{padding:.62rem .45rem!important;}
}


/* =====================================================
   ZAID FINAL MOBILE DATA TABLE CARDS
   Prevents guest/food/vendor-related tables from cutting off on phones.
   ===================================================== */
@media(max-width:560px){
  .main-content .table-wrap{overflow:visible!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;}
  .main-content table.data-table{display:block!important;width:100%!important;min-width:0!important;background:transparent!important;border-collapse:separate!important;border-spacing:0!important;font-size:.78rem!important;}
  .main-content table.data-table thead{display:none!important;}
  .main-content table.data-table tbody{display:grid!important;gap:.72rem!important;width:100%!important;}
  .main-content table.data-table tr{display:block!important;width:100%!important;background:#fff!important;border:1px solid rgba(184,168,146,.2)!important;border-radius:16px!important;box-shadow:0 8px 22px rgba(30,28,26,.055)!important;overflow:hidden!important;}
  .main-content table.data-table td{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important;width:100%!important;padding:.62rem .78rem!important;border-bottom:1px solid rgba(184,168,146,.13)!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
  .main-content table.data-table td:last-child{border-bottom:0!important;}
  .main-content table.data-table td::before{content:attr(data-label);font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#8A7760;text-align:left;flex:0 0 34%;max-width:34%;}
  .main-content table.data-table td.actions{justify-content:flex-start!important;flex-wrap:wrap!important;}
  .main-content table.data-table td.actions::before{flex-basis:100%;max-width:100%;margin-bottom:.22rem;}
  .main-content table.data-table .badge{white-space:nowrap!important;}
}


/* =====================================================
   ZAID FINAL GUEST LIST MOBILE CARDS
   One guest = one compact box. Labels stay above values inside each guest card.
   Desktop table remains unchanged.
   ===================================================== */
.guest-mobile-list{display:none;}
@media(max-width:560px){
  #sec-guests .guest-table-wrap{display:none!important;}
  #guestMobileList.guest-mobile-list{display:grid!important;grid-template-columns:1fr!important;gap:.72rem!important;width:100%!important;margin-top:.75rem!important;}
  .guest-mobile-card{background:#fff!important;border:1px solid rgba(184,168,146,.22)!important;border-radius:16px!important;box-shadow:0 8px 22px rgba(30,28,26,.055)!important;overflow:hidden!important;}
  .guest-mobile-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-top:1px solid rgba(184,168,146,.14)!important;border-left:1px solid rgba(184,168,146,.14)!important;}
  .guest-mobile-field{min-width:0!important;padding:.58rem .62rem!important;border-right:1px solid rgba(184,168,146,.14)!important;border-bottom:1px solid rgba(184,168,146,.14)!important;display:flex!important;flex-direction:column!important;gap:.22rem!important;background:#fff!important;}
  .guest-mobile-field span{display:block!important;font-size:.56rem!important;line-height:1.05!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#9A856D!important;}
  .guest-mobile-field strong{display:block!important;font-size:.78rem!important;line-height:1.24!important;color:#1D1C1A!important;font-weight:600!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
  .guest-mobile-name{grid-column:span 2!important;background:linear-gradient(180deg,#fff,#FFFCF7)!important;}
  .guest-mobile-name strong{font-size:.92rem!important;}
  .guest-plus{font-style:normal!important;font-size:.68rem!important;color:#B89B62!important;margin-left:.25rem!important;}
  .guest-mobile-actions{grid-column:span 2!important;background:#FFFDF8!important;}
  .guest-mobile-actions strong{display:flex!important;align-items:center!important;gap:.45rem!important;flex-wrap:wrap!important;}
  .guest-mobile-actions .btn-gold,.guest-mobile-actions .btn-danger{font-size:.7rem!important;padding:.42rem .78rem!important;border-radius:9px!important;}
  #sec-guests .search-bar.guest-search-bar{gap:.55rem!important;margin-bottom:.65rem!important;}
  #sec-guests .search-bar.guest-search-bar input,
  #sec-guests .search-bar.guest-search-bar select{height:44px!important;font-size:.82rem!important;}
}
@media(min-width:561px){
  #sec-guests .guest-table-wrap{display:block!important;}
}
@media(max-width:360px){
  .guest-mobile-field{padding:.5rem .52rem!important;}
  .guest-mobile-field strong{font-size:.72rem!important;}
  .guest-mobile-name strong{font-size:.84rem!important;}
}

/* =====================================================
   ZAID PATCH: Guest List mobile = compact one-line table rows
   User requested old table-style mobile layout: header row first,
   each guest in a single horizontal row, full details available.
   This overrides the guest card layout only; other section mobile
   tables/cards remain unchanged.
   ===================================================== */
@media(max-width:560px){
  #sec-guests .guest-mobile-list,
  #guestMobileList{display:none!important;}

  #sec-guests .guest-table-wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fff!important;
    border:1px solid rgba(184,168,146,.22)!important;
    border-radius:14px!important;
    box-shadow:0 8px 22px rgba(30,28,26,.055)!important;
    margin-top:.75rem!important;
    padding:0!important;
  }

  #sec-guests #guestTable.data-table,
  #sec-guests .guest-table-wrap table.data-table{
    display:table!important;
    width:100%!important;
    min-width:720px!important;
    table-layout:auto!important;
    border-collapse:collapse!important;
    border-spacing:0!important;
    background:#fff!important;
    font-size:.68rem!important;
  }

  #sec-guests #guestTable thead{
    display:table-header-group!important;
  }

  #sec-guests #guestTable tbody{
    display:table-row-group!important;
    width:auto!important;
  }

  #sec-guests #guestTable tr{
    display:table-row!important;
    width:auto!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  #sec-guests #guestTable th,
  #sec-guests #guestTable td{
    display:table-cell!important;
    width:auto!important;
    min-width:auto!important;
    max-width:none!important;
    padding:.62rem .55rem!important;
    border-bottom:1px solid rgba(184,168,146,.16)!important;
    text-align:left!important;
    vertical-align:middle!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    background:transparent!important;
  }

  #sec-guests #guestTable td::before,
  #sec-guests #guestTable th::before{
    content:none!important;
    display:none!important;
  }

  #sec-guests #guestTable th{
    font-size:.55rem!important;
    line-height:1.05!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.075em!important;
    color:#9A856D!important;
    background:#FBF7F0!important;
  }

  #sec-guests #guestTable td{
    font-size:.68rem!important;
    line-height:1.15!important;
    color:#1D1C1A!important;
  }

  #sec-guests #guestTable td:nth-child(1),
  #sec-guests #guestTable th:nth-child(1){min-width:116px!important;max-width:140px!important;}
  #sec-guests #guestTable td:nth-child(2),
  #sec-guests #guestTable th:nth-child(2){min-width:94px!important;max-width:116px!important;}
  #sec-guests #guestTable td:nth-child(3),
  #sec-guests #guestTable th:nth-child(3){min-width:92px!important;}
  #sec-guests #guestTable td:nth-child(4),
  #sec-guests #guestTable th:nth-child(4){min-width:92px!important;max-width:110px!important;}
  #sec-guests #guestTable td:nth-child(5),
  #sec-guests #guestTable th:nth-child(5){min-width:76px!important;}
  #sec-guests #guestTable td:nth-child(6),
  #sec-guests #guestTable th:nth-child(6){min-width:66px!important;}
  #sec-guests #guestTable td:nth-child(7),
  #sec-guests #guestTable th:nth-child(7){min-width:72px!important;}
  #sec-guests #guestTable td:nth-child(8),
  #sec-guests #guestTable th:nth-child(8){min-width:116px!important;}

  #sec-guests #guestTable td.actions{
    display:table-cell!important;
    white-space:nowrap!important;
    text-align:left!important;
  }

  #sec-guests #guestTable td.actions .btn-gold,
  #sec-guests #guestTable td.actions .btn-danger{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    padding:.34rem .58rem!important;
    margin-right:.28rem!important;
    font-size:.62rem!important;
    border-radius:8px!important;
    white-space:nowrap!important;
  }

  #sec-guests #guestTable .badge{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    max-width:78px!important;
    padding:.24rem .45rem!important;
    font-size:.58rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #sec-guests #guestTable .badge-pending{max-width:64px!important;}

  #sec-guests .guest-table-wrap::-webkit-scrollbar{height:7px!important;}
  #sec-guests .guest-table-wrap::-webkit-scrollbar-track{background:#EEE6DA!important;border-radius:999px!important;}
  #sec-guests .guest-table-wrap::-webkit-scrollbar-thumb{background:#C6A35D!important;border-radius:999px!important;}
}

/* =====================================================
   ZAID PATCH: Contact Information mobile = compact table
   Same behavior as Guest List mobile: header row stays on top,
   each contact stays in one horizontal row, complete fields
   available through safe horizontal scrolling.
   ===================================================== */
@media(max-width:560px){
  #sec-contacts .table-wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fff!important;
    border:1px solid rgba(184,168,146,.22)!important;
    border-radius:14px!important;
    box-shadow:0 8px 22px rgba(30,28,26,.055)!important;
    margin-top:.75rem!important;
    padding:0!important;
  }

  #sec-contacts #contactTable.data-table,
  #sec-contacts .table-wrap table.data-table{
    display:table!important;
    width:100%!important;
    min-width:720px!important;
    table-layout:auto!important;
    border-collapse:collapse!important;
    border-spacing:0!important;
    background:#fff!important;
    font-size:.68rem!important;
  }

  #sec-contacts #contactTable thead{display:table-header-group!important;}
  #sec-contacts #contactTable tbody{display:table-row-group!important;width:auto!important;}

  #sec-contacts #contactTable tr{
    display:table-row!important;
    width:auto!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  #sec-contacts #contactTable th,
  #sec-contacts #contactTable td{
    display:table-cell!important;
    width:auto!important;
    min-width:auto!important;
    max-width:none!important;
    padding:.62rem .55rem!important;
    border-bottom:1px solid rgba(184,168,146,.16)!important;
    text-align:left!important;
    vertical-align:middle!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    background:transparent!important;
  }

  #sec-contacts #contactTable td::before,
  #sec-contacts #contactTable th::before{
    content:none!important;
    display:none!important;
  }

  #sec-contacts #contactTable th{
    font-size:.55rem!important;
    line-height:1.05!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.075em!important;
    color:#9A856D!important;
    background:#FBF7F0!important;
  }

  #sec-contacts #contactTable td{
    font-size:.68rem!important;
    line-height:1.15!important;
    color:#1D1C1A!important;
  }

  #sec-contacts #contactTable td:nth-child(1),
  #sec-contacts #contactTable th:nth-child(1){min-width:126px!important;max-width:150px!important;}
  #sec-contacts #contactTable td:nth-child(2),
  #sec-contacts #contactTable th:nth-child(2){min-width:104px!important;max-width:126px!important;}
  #sec-contacts #contactTable td:nth-child(3),
  #sec-contacts #contactTable th:nth-child(3){min-width:102px!important;max-width:124px!important;}
  #sec-contacts #contactTable td:nth-child(4),
  #sec-contacts #contactTable th:nth-child(4){min-width:112px!important;max-width:132px!important;}
  #sec-contacts #contactTable td:nth-child(5),
  #sec-contacts #contactTable th:nth-child(5){min-width:170px!important;max-width:220px!important;}
  #sec-contacts #contactTable td:nth-child(6),
  #sec-contacts #contactTable th:nth-child(6){min-width:116px!important;}

  #sec-contacts #contactTable td.actions{
    display:table-cell!important;
    white-space:nowrap!important;
    text-align:left!important;
  }

  #sec-contacts #contactTable td.actions .btn-gold,
  #sec-contacts #contactTable td.actions .btn-danger{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    padding:.34rem .58rem!important;
    margin-right:.28rem!important;
    font-size:.62rem!important;
    border-radius:8px!important;
    white-space:nowrap!important;
  }

  #sec-contacts .table-wrap::-webkit-scrollbar{height:7px!important;}
  #sec-contacts .table-wrap::-webkit-scrollbar-track{background:#EEE6DA!important;border-radius:999px!important;}
  #sec-contacts .table-wrap::-webkit-scrollbar-thumb{background:#C6A35D!important;border-radius:999px!important;}
}

/* =====================================================
   ZAID PATCH — Quick Actions moved to header dropdown
   - Removes dashboard Quick Actions card usage
   - Search placeholder is now Search Sections
   - Adds safe non-overlapping top tools grid on mobile/desktop
   ===================================================== */
.global-quick-wrap{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;z-index:5!important;}
.global-quick-trigger{width:44px;height:44px;min-width:44px;border-radius:999px;border:1px solid rgba(196,150,42,.22);background:#1D1C1A;color:#fff;font-weight:900;font-size:1rem;cursor:pointer;box-shadow:0 10px 28px rgba(30,28,26,.10);display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.global-quick-trigger:hover{background:#A57C41;color:#fff;transform:translateY(-1px)}
.global-quick-menu{position:absolute;right:0;top:calc(100% + .55rem);width:230px;background:#fff;border:1px solid rgba(196,150,42,.20);border-radius:18px;box-shadow:0 18px 44px rgba(30,28,26,.16);padding:.55rem;z-index:1300;}
.quick-menu-item{width:100%;border:0;background:transparent;border-radius:14px;padding:.62rem .7rem;display:flex;align-items:center;gap:.65rem;text-align:left;cursor:pointer;color:#1D1C1A;font-weight:800;font-family:var(--font-body);font-size:.78rem;}
.quick-menu-item:hover{background:#FFF8EA;color:#A57C41;}
.quick-menu-item .qa-icon{width:28px!important;height:28px!important;min-width:28px!important;border-radius:10px!important;font-size:.78rem!important;display:grid!important;place-items:center!important;}
.confirm-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(20,18,15,.35);backdrop-filter:blur(5px);z-index:3000;padding:1rem;}
.confirm-overlay.show{display:flex;}
.confirm-box{width:min(360px,calc(100vw - 2rem));background:#fff;border:1px solid rgba(196,150,42,.22);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.22);padding:1.1rem;text-align:center;}
.confirm-icon{width:38px;height:38px;border-radius:999px;background:#FFF1D8;color:#A57C41;display:grid;place-items:center;font-weight:900;margin:0 auto .7rem;}
.confirm-text{font-size:.92rem;line-height:1.45;color:#1D1C1A;font-weight:650;margin-bottom:1rem;}
.confirm-actions{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;}
.confirm-actions .btn-ghost,.confirm-actions .btn-primary{min-width:110px;padding:.62rem .85rem!important;border-radius:12px!important;}

@media(min-width:781px){
  .global-top-tools{grid-template-columns:none!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;}
  .global-search{width:min(360px,calc(100vw - 230px))!important;}
}
@media(max-width:780px){
  .global-top-tools{grid-template-columns:minmax(0,1fr) 42px 42px 42px!important;}
  .global-quick-trigger{width:42px!important;height:42px!important;min-width:42px!important;font-size:.95rem!important;}
  .global-quick-menu{right:0!important;width:min(230px,calc(100vw - 1.8rem))!important;}
}
@media(max-width:430px){
  .global-top-tools{grid-template-columns:minmax(0,1fr) 40px 40px 40px!important;gap:.38rem!important;}
  .global-quick-trigger{width:40px!important;height:40px!important;min-width:40px!important;}
}

/* Dashboard chart readability refinements */
.chart-legend .legend-count{
  font-family:Poppins, sans-serif;
  font-weight:800;
  color:var(--charcoal, #17130d);
  margin-left:.2rem;
}
