/* ══════════════════════════════════════════════════
   utilities.css — Volvenix Global Utilities
   Single source of truth for utility/helper classes.
   ALL component styles live in app.css exclusively.
   Do NOT add component or layout rules here.
   ══════════════════════════════════════════════════ */
/* =================================================================
   UTILITY CLASSES — auto-generated
   These replace repeated inline style="" attributes across templates.
   Do NOT edit manually; regenerate from the style map if needed.
   ================================================================= */

/* Spacing — margin-bottom */
.u-mb-0  { margin-bottom: 0; }
.u-mb-6  { margin-bottom: 6px; }
.u-mb-10 { margin-bottom: 10px; }
.u-mb-12 { margin-bottom: 12px; }
.u-mb-14 { margin-bottom: 14px; }
.u-mb-16 { margin-bottom: 16px; }
.u-mb-20 { margin-bottom: 20px; }
.u-mb-24 { margin-bottom: 24px; }

/* Spacing — margin-top */
.u-mt-6  { margin-top: 6px; }
.u-mt-8  { margin-top: 8px; }
.u-mt-10 { margin-top: 10px; }
.u-mt-12 { margin-top: 12px; }
.u-mt-16 { margin-top: 16px; }

/* Spacing — other */
.u-m-0      { margin: 0; }
.u-ml-auto  { margin-left: auto; }

/* Spacing — padding */
.u-p-9-14   { padding: 9px 14px; }
.u-p-9-16   { padding: 9px 16px; }
.u-p-12-16  { padding: 12px 16px; }
.u-p-14-18  { padding: 14px 18px; }
.u-p-16     { padding: 16px; }
.u-p-16-20  { padding: 16px 20px; }
.u-p-20     { padding: 20px; }
.u-py-12    { padding-top: 12px; padding-bottom: 12px; }
.u-p-0-clip { padding: 0; overflow: hidden; }
.u-p-16-center { padding: 16px; text-align: center; }

/* Typography — font size */
.u-text-7    { font-size: var(--text-xs); }
.u-text-68   { font-size: var(--text-2xs); }
.u-text-72   { font-size: var(--text-xs); }
.u-text-75   { font-size: var(--text-xs2); }
.u-text-77   { font-size: var(--text-xs2); }
.u-text-78   { font-size: var(--text-xs2); }
.u-text-8    { font-size: var(--text-sm); }
.u-text-82   { font-size: var(--text-sm); }
.u-text-84   { font-size: var(--text-sm); }
.u-text-85   { font-size: var(--text-sm); }
.u-text-88   { font-size: var(--text-sm); }
.u-text-base { font-size: var(--text-base); }
.u-text-11   { font-size: var(--text-lg); }
.u-text-13   { font-size: var(--text-xl2); }
.u-text-14   { font-size: var(--text-xl2); }
.u-text-16   { font-size: 1.6rem; }
.u-text-18   { font-size: 1.8rem; }
.u-text-2xl  { font-size: var(--text-3xl); }
.u-text-25   { font-size: var(--text-4xl); }

/* Typography — font weight */
.u-fw-500 { font-weight: 500; }
.u-fw-600 { font-weight: 600; }
.u-fw-700 { font-weight: 700; }

/* Typography — combos */
.u-text-xs-muted      { font-size: var(--text-xs2); color: var(--muted); }
.u-text-sm-muted      { font-size: var(--text-xs2); color: var(--muted); }
.u-text-72-muted      { font-size: var(--text-xs); color: var(--muted); }
.u-text-82-muted      { font-size: var(--text-sm); color: var(--muted); }
.u-text-8-muted       { font-size: var(--text-sm);  color: var(--muted); }
.u-text-85-muted      { font-size: var(--text-sm); color: var(--muted); }
.u-text-7-muted       { font-size: var(--text-xs);  color: var(--muted); }
.u-text-sm-white-60-mb16 { font-size: var(--text-xs2); color: rgba(255,255,255,.6); margin-bottom: 16px; }
.u-text-85-muted-mb16 { font-size: var(--text-sm); color: var(--muted); margin-bottom: 16px; }
.u-text-8-muted-mb12  { font-size: var(--text-sm);  color: var(--muted); margin-bottom: 12px; }
.u-text-75-muted-mt4  { font-size: var(--text-xs2); color: var(--muted); margin-top: 4px; }
.u-text-75-text-muted-mt4 { font-size: var(--text-xs2); color: var(--text-muted); margin-top: 4px; }
.u-text-78-muted-mt2  { font-size: var(--text-xs2); color: var(--muted); margin-top: 2px; }
.u-text-77-muted-mt5  { font-size: var(--text-xs2); color: var(--muted); margin-top: 5px; }
.u-text-75-muted-fw700 { font-size: var(--text-xs2); color: var(--muted); font-weight: 700; }
.u-text-72-muted-upper { font-size: var(--text-xs); color: var(--text-muted); text-transform: uppercase; }
.u-text-72-secondary  { font-size: var(--text-xs); color: var(--color-text-secondary); }
.u-text-25-mb12       { font-size: var(--text-4xl); margin-bottom: 12px; }
.u-text-25-mb10       { font-size: var(--text-4xl); margin-bottom: 10px; }
.u-text-2xl-mb8       { font-size: var(--text-3xl);   margin-bottom: 8px; }
.u-text-base-fw800    { font-size: var(--text-base);   font-weight: 800; }
.u-text-11-fw800      { font-size: var(--text-lg); font-weight: 800; }
.u-text-11-fw700      { font-size: var(--text-lg); font-weight: 700; }
.u-text-14-fw800      { font-size: var(--text-xl2); font-weight: 800; }
.u-text-16-fw800      { font-size: 1.6rem; font-weight: 800; }
.u-text-88-fw700      { font-size: var(--text-sm); font-weight: 700; }
.u-text-95-fw700-mb4  { font-size: var(--text-md); font-weight: 700; margin-bottom: 4px; }
.u-fw-600-875         { font-weight: 600;  font-size: var(--text-sm); }
.u-fw-600-text        { font-weight: 600;  color: var(--text); }
.u-fw-600-purple      { font-weight: 600;  color: var(--purple); }
.u-fw-700-mb4         { font-weight: 700;  margin-bottom: 4px; }
.u-heading-sm         { font-weight: 700;  font-size: var(--text-lg); margin-bottom: 8px; color: var(--text); }
.u-display-lg         { font-size: 1.8rem; font-weight: 800; letter-spacing: -.03em; }
.u-muted-normal       { color: var(--muted); font-size: var(--text-base); font-weight: 400; }
.u-muted-fw-400       { color: var(--muted); font-weight: 400; }
.u-muted-sm           { color: var(--muted); font-size: var(--text-sm); }
.u-muted-78           { color: var(--muted); font-size: var(--text-xs2); }
.u-muted-82           { color: var(--muted); font-size: var(--text-sm); }
.u-muted-84           { color: var(--muted); font-size: var(--text-sm); }
.u-muted-84-py12      { color: var(--muted); font-size: var(--text-sm); padding: 12px 0; }
.u-purple-fw600       { color: var(--purple); font-weight: 600; }
.u-text-muted-mb20    { color: var(--text-muted); margin-bottom: 20px; }
.u-inline-flex-link   { display: inline-flex; margin-top: 16px; font-size: var(--text-sm); font-weight: 600; }

/* Typography — alignment & transform */
.u-text-center  { text-align: center; }
.u-text-right   { text-align: right; }
.u-capitalize   { text-transform: capitalize; }
.u-nowrap       { white-space: nowrap; }
.u-mono-pr44    { font-family: var(--font-mono); padding-right: 44px; }

/* Labels */
.u-label    { font-size: var(--text-xs);  font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.u-label-72 { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.u-label-68 { font-size: var(--text-2xs); font-weight: 700; text-transform: uppercase; color: var(--muted); }

/* Colors */
.u-muted       { color: var(--muted); }
.u-purple      { color: var(--purple); }
.u-accent      { color: var(--accent); }
.u-text-muted  { color: var(--text-muted); }
.u-red         { color: #ef4444; }
.u-red-dark    { color: #dc2626; }
.u-green       { color: #16a34a; }
.u-green-dark  { color: #15803d; }
.u-blue        { color: #2563eb; }
.u-amber       { color: #92400e; }
.u-white-90    { color: rgba(255,255,255,.9); }
.u-white-60    { color: rgba(255,255,255,.6); }
.u-white-55    { color: rgba(255,255,255,.55); }
.u-green-fw700 { color: #16a34a; font-weight: 700; }
.u-error-inline { color: #dc2626; padding: 12px 0; font-size: var(--text-sm); }
.u-success-hint { margin-top: 8px; font-size: var(--text-sm); color: #16a34a; }

/* Display / flex */
.u-hidden     { display: none; }
.u-inline     { display: inline; }
.u-inline-m0  { display: inline; margin: 0; }
.u-flex-1     { flex: 1; }
.u-flex-1-mw0 { flex: 1; min-width: 0; }
.u-align-start  { align-items: flex-start; }
.u-flex-gap-4   { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.u-flex-gap-6   { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.u-flex-gap-8   { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.u-flex-gap-10  { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.u-flex-gap-8-center  { display: flex; gap: 8px; align-items: center; }
.u-flex-center-gap-6  { display: flex; align-items: center; gap: 6px; }
.u-flex-center-gap-8  { display: flex; align-items: center; gap: 8px; }
.u-flex-center-gap-10 { display: flex; align-items: center; gap: 10px; }
.u-flex-col-gap-6  { display: flex; flex-direction: column; gap: 6px; }
.u-flex-col-gap-8  { display: flex; flex-direction: column; gap: 8px; }
.u-flex-col-gap-10 { display: flex; flex-direction: column; gap: 10px; }
.u-flex-between    { display: flex; justify-content: space-between; align-items: center; }
.u-flex-between-mb20 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.u-flex-end-gap-6  { display: flex; gap: 6px; justify-content: flex-end; }
.u-flex-wrap-gap-8 { display: flex; flex-wrap: wrap; gap: 8px; }
.u-flex-wrap-mb16  { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; align-items: center; }
.u-flex-tags-mb16  { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; align-items: center; }
.u-flex-gap-6-mb6  { display: flex; gap: 6px; margin-bottom: 6px; align-items: center; }
.u-flex-gap-8-mb16 { display: flex; gap: 8px; margin-bottom: 16px; align-items: center; }
.u-flex-gap-10-mt4 { display: flex; gap: 10px; margin-top: 4px; align-items: center; }
.u-flex-clickable  { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: var(--text-sm); }
.u-ml-auto-flex-8  { margin-left: auto; display: flex; gap: 8px; }

/* Sizing */
.u-w-auto { width: auto; }
.u-w-full { width: 100%; }
.u-w-36   { width: 36px; }
.u-w-80   { width: 80px; }
.u-w-90   { width: 90px; }
.u-w-100  { width: 100px; }
.u-w-110  { width: 110px; }
.u-w-120  { width: 120px; }
.u-w-130  { width: 130px; }
.u-w-140  { width: 140px; }
.u-w-160  { width: 160px; }
.u-w-200  { width: 200px; }
.u-min-h-60 { min-height: 60px; }
.u-min-h-70 { min-height: 70px; }

/* Position */
.u-pos-rel       { position: relative; }
.u-pos-rel-clip  { position: relative; overflow: hidden; }
.u-overflow-auto   { overflow: auto; }
.u-overflow-x-auto { overflow-x: auto; }
.u-abs-tr8       { position: absolute; top: 8px; right: 8px; }
.u-abs-icon-tr   { position: absolute; top: 14px; right: 16px; font-size: var(--text-2xl); opacity: .4; }
.u-progress-bar-top { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--purple); border-radius: 3px 3px 0 0; }

/* Buttons / inputs */
.u-pointer           { cursor: pointer; }
.u-btn-plain         { border: none; background: none; cursor: default; }
.u-btn-bare          { border: none; background: none; }
.u-btn-icon          { background: none; border: none; cursor: pointer; font-size: var(--text-xl2); color: var(--muted); }
.u-input-bare        { border: none; outline: none; background: transparent; font-size: var(--text-sm); }
.u-btn-reset-default { border: none; background: none; cursor: default; }
.u-btn-hero          { display: inline-block; padding: 11px 24px; background: var(--hero-btn-bg, var(--purple)); color: #fff; border-radius: 50px; font-weight: 700; font-size: var(--text-md); }
.u-accent-purple     { accent-color: var(--purple); }

/* Borders */
.u-border-l-green { border-left: 4px solid #16a34a; }
.u-border-l-amber { border-left: 4px solid #f59e0b; }
.u-border-l-blue  { border-left: 4px solid #2563eb; }

/* Component patterns */
.u-empty-state       { padding: 48px; text-align: center; }
.u-empty-state-muted { padding: 48px; text-align: center; color: var(--muted); }
.u-empty-cell        { text-align: center; padding: 32px; color: var(--muted); }
.u-empty-full        { text-align: center; padding: 80px 20px; }
.u-cell-center       { text-align: center; padding: 10px; background: #f9fafb; border-radius: 8px; }
.u-row-divider       { padding: 10px 0; border-bottom: 1px solid #f3f4f6; }
.u-card-light        { background: var(--bg-light); border-radius: 12px; padding: 16px 20px; }
.u-modal-card        { background: #fff; border-radius: 16px; padding: 28px; width: 100%; max-width: 480px; }
.u-th-white          { color: #fff; padding: 10px 12px; text-align: left; font-weight: 700; font-size: var(--text-sm); }
.u-panel-header      { padding: 12px 20px; border-bottom: 1px solid var(--border); font-weight: 700; font-size: var(--text-md); }
.u-hint-hidden       { display: none; color: var(--muted); font-size: var(--text-sm); align-self: flex-start; }
.u-hint-right-hidden { display: none; color: var(--muted); font-size: var(--text-sm); margin-left: auto; }
.u-hidden-mb16       { display: none; margin-bottom: 16px; }

/* Modal overlays */
.u-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-editor);
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(3px);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.u-modal-overlay-alt {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  align-items: center;
  justify-content: center;
  z-index: var(--z-editor);
  padding: 20px;
}

/* ----------------------------------------------------------------
   Extended utilities (added in consolidation pass 2)
   ---------------------------------------------------------------- */

/* Width percentages */
.u-w-10pct { width: 10%; }
.u-w-25pct { width: 25%; }
.u-w-50pct { width: 50%; }
.u-w-75pct { width: 75%; }

/* Additional widths */
.u-w-150 { width: 150px; }
.u-w-180 { width: 180px; }
.u-w-220 { width: 220px; }
.u-w-240 { width: 240px; }
.u-w-260 { width: 260px; }
.u-w-300 { width: 300px; }
.u-min-w-0 { min-width: 0; }

/* Heights */
.u-h-16 { height: 16px; }
.u-h-20 { height: 20px; }
.u-h-24 { height: 24px; }
.u-h-32 { height: 32px; }
.u-h-40 { height: 40px; }
.u-h-48 { height: 48px; }

/* Additional spacing */
.u-mb-2  { margin-bottom: 2px; }
.u-mb-4  { margin-bottom: 4px; }
.u-mb-8  { margin-bottom: 8px; }
.u-mt-2  { margin-top: 2px; }
.u-mt-4  { margin-top: 4px; }
.u-mt-20 { margin-top: 20px; }
.u-mt-24 { margin-top: 24px; }
.u-p-8     { padding: 8px; }
.u-p-12    { padding: 12px; }
.u-p-8-12  { padding: 8px 12px; }
.u-p-10-16 { padding: 10px 16px; }
.u-p-6-12  { padding: 6px 12px; }

/* Additional font sizes */
.u-text-65  { font-size: var(--text-2xs); }
.u-text-9   { font-size: var(--text-md); }
.u-text-95  { font-size: var(--text-md); }
.u-text-12  { font-size: var(--text-xl); }
.u-text-125 { font-size: var(--text-xl); }
.u-text-15  { font-size: var(--text-2xl); }

/* Additional flex gaps */
.u-flex-gap-12 { display: flex; gap: 12px; }
.u-flex-gap-16 { display: flex; gap: 16px; }
.u-flex-gap-20 { display: flex; gap: 20px; }
.u-flex-gap-24 { display: flex; gap: 24px; }
.u-flex-center-gap-4  { display: flex; align-items: center; gap: 4px; }
.u-flex-center-gap-12 { display: flex; align-items: center; gap: 12px; }
.u-flex-center        { display: flex; align-items: center; justify-content: center; }
.u-flex-col-gap-4  { display: flex; flex-direction: column; gap: 4px; }
.u-flex-col-gap-12 { display: flex; flex-direction: column; gap: 12px; }
.u-flex-start-gap-8  { display: flex; align-items: flex-start; gap: 8px; }
.u-flex-start-gap-10 { display: flex; align-items: flex-start; gap: 10px; }
.u-flex-wrap-gap-6  { display: flex; flex-wrap: wrap; gap: 6px; }
.u-flex-wrap-gap-10 { display: flex; flex-wrap: wrap; gap: 10px; }
.u-flex-wrap-gap-12 { display: flex; flex-wrap: wrap; gap: 12px; }
.u-flex-gap-8-center-mb20 { display: flex; gap: 8px; align-items: center; margin-bottom: 20px; }
.u-flex-gap-8-mt12 { display: flex; gap: 8px; margin-top: 12px; }

/* Colors */
.u-text-color { color: var(--text); }
.u-text-dark  { color: var(--text-dark); }
.u-success    { color: var(--success); }
.u-warning    { color: var(--warning); }
.u-danger     { color: var(--danger); }
.u-info       { color: var(--info); }
.u-fw-700-text   { font-weight: 700; color: var(--text); }
.u-fw-700-purple { font-weight: 700; color: var(--purple); }

/* Typography extras */
.u-text-75-muted-fw700 { font-size: var(--text-xs2); color: var(--muted); font-weight: 700; }
.u-text-8-fw600-purple { font-size: var(--text-sm); font-weight: 600; color: var(--purple); }
.u-text-15-fw900-purple { font-size: var(--text-2xl); font-weight: 900; color: var(--purple); }
.u-label-muted  { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: var(--muted); }
.u-label-72-muted { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }
.u-label-72-upper-mb4 { font-size: var(--text-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.u-heading-sm-dark { font-weight: 700; font-size: var(--text-lg); margin-bottom: 8px; color: var(--text-dark); }
.u-display-lg { font-size: 1.8rem; font-weight: 800; letter-spacing: -.03em; }
.u-ls-3 { letter-spacing: .03em; }
.u-ls-5 { letter-spacing: .05em; }
.u-lh-1  { line-height: 1; }
.u-lh-14 { line-height: 1.4; }
.u-lh-15 { line-height: 1.5; }

/* Borders */
.u-rounded-8    { border-radius: 8px; }
.u-rounded-12   { border-radius: 12px; }
.u-rounded-full { border-radius: 50%; }

/* Misc */
.u-opacity-30 { opacity: .3; }
.u-opacity-50 { opacity: .5; }
.u-opacity-60 { opacity: .6; }
.u-opacity-70 { opacity: .7; }
.u-no-pointer { pointer-events: none; }
.u-no-select  { user-select: none; }
.u-break-all  { word-break: break-all; }
.u-break-word { word-break: break-word; }
.u-va-middle  { vertical-align: middle; }
.u-va-top     { vertical-align: top; }
.u-gap-4  { gap: 4px; }
.u-gap-6  { gap: 6px; }
.u-gap-8  { gap: 8px; }
.u-gap-12 { gap: 12px; }
.u-gap-16 { gap: 16px; }

/* Component patterns */
.u-stat-card        { background: var(--bg-light); border-radius: 12px; padding: 16px 20px; flex: 1; min-width: 120px; text-align: center; }
.u-modal-card-shadow { background: #fff; border-radius: 16px; padding: 28px; width: 100%; max-width: 480px; box-shadow: 0 24px 64px rgba(0,0,0,.12); }
.u-modal-overlay-z1000 { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: var(--z-overlay); align-items: center; justify-content: center; padding: 20px; }
.u-input-wrapper    { display: flex; align-items: center; gap: 8px; background: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 8px 12px; }
.u-input-transparent { border: none; outline: none; background: transparent; font-size: var(--text-sm); color: var(--text); width: 100%; }
.u-btn-hero-gradient { display: inline-block; padding: 11px 24px; background: var(--hero-gradient); color: #fff; border-radius: 50px; font-weight: 700; font-size: var(--text-md); }
.u-btn-icon-lg      { background: none; border: none; font-size: var(--text-xl2); cursor: pointer; }
.u-panel-header-sm  { padding: 12px 20px; border-bottom: 1px solid var(--border); font-weight: 600; font-size: var(--text-sm); }
.u-progress-bar-gradient { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--gradient); border-radius: 3px 3px 0 0; }
.u-abs-icon-tr-faint { position: absolute; top: 14px; right: 16px; font-size: var(--text-2xl); opacity: .13; }
.u-abs-vcenter-right { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); }
.u-hint-ml-hidden   { display: none; color: var(--muted); font-size: var(--text-sm); margin-left: 12px; }
.u-hint-center-hidden { display: none; color: var(--muted); font-size: var(--text-sm); align-self: center; }
.u-text-72-secondary { font-size: var(--text-xs); color: var(--color-text-secondary); }
.u-success-hint     { margin-top: 8px; font-size: var(--text-sm); color: #16a34a; }
.u-row-divider      { padding: 10px 0; border-bottom: 1px solid #f3f4f6; }

/* ----------------------------------------------------------------
   Live-page pass — remaining inline styles from home page
   ---------------------------------------------------------------- */

/* Mega-menu nav CTA colour overrides */
.u-color-emerald   { color: #6ee7b7; }
.u-color-emerald-bg{ background: #15803d; }
.u-color-blue-600  { color: #1d4ed8; }
.u-color-blue-300  { color: #93c5fd; }
.u-color-blue-bg   { background: #1d4ed8; }
.u-color-amber-700 { color: #b45309; }
.u-color-amber-bg  { background: #92400e; }

/* Mega-menu inner grid (3 equal cols) */
.u-grid-3col { grid-template-columns: 1fr 1fr 1fr; }

/* Misc */
.u-obj-cover      { object-fit: cover; }
.u-logo-img       { height: 32px; object-fit: contain; }
.u-rel-z1         { position: relative; z-index: var(--z-above); }
.u-gtm-hidden     { display: none; visibility: hidden; }
.u-lang-check     { margin-left: auto; color: var(--accent); }
.u-white-30       { color: rgba(255,255,255,0.3); }
.u-footer-legal   { margin-top: 8px; font-size: var(--text-xs); opacity: .5; }

/* Placeholder tagline on tool cards with no description */
.tc-tagline--placeholder { color: var(--text-muted); font-style: italic; }

/* Auth overlay backdrop (JS toggles display) */
.auth-overlay-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-editor);
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(3px);
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
}
.auth-overlay-box {
  position: relative;
  width: 100%;
  max-width: 900px;
  max-height: 92vh;
  overflow-y: auto;
  border-radius: 20px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.2);
}
.auth-overlay-close-btn {
  position: absolute;
  top: 14px; right: 14px;
  z-index: var(--z-above);
  width: 32px; height: 32px;
  border-radius: 50%;
  border: none;
  background: rgba(0,0,0,0.12);
  color: #fff;
  font-size: var(--text-lg);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Cookie footer button */
.cookie-settings-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  font: inherit;
  padding: 0;
  text-decoration: underline;
  opacity: .7;
  font-size: var(--text-xs2);
}

/* Mega CTA gradient cards */
.mega-cta--deals { background: linear-gradient(135deg,#dcfce7,#d1fae5); }
.mega-cta--compare { background: linear-gradient(135deg,#e0f2fe,#dbeafe); }

/* Amber gradient mega-cta */
.mega-cta--amber { background: linear-gradient(135deg,#fef3c7,#fde68a); }

/* Nav drawer sign-out button (reset button styled as link) */
.nav-drawer-signout-btn {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  padding: 0;
  display: block;
}
/* ═══════════════════════════════════════════════════════════
   EXTRACTED INLINE STYLES — Shared (web + admin)
   Auto-generated from inline style= audit. Do not edit manually.
═══════════════════════════════════════════════════════════ */
.u-no-underline-2 { display:inline-flex;align-items:center;gap:8px;background:var(--hero-gradient);color:#fff;font-weight:700;font-size:var(--text-md);padding:14px 32px;border-radius:10px;text-decoration:none; }
.u-row-between-16 { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px; }
.u-si-094d { min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-light);padding:40px 20px; }
.u-si-1693 { border-color:rgba(255,255,255,0.07);margin:24px 0; }
.u-si-42eb { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px; }
.u-si-60d9 { text-align:center;max-width:480px; }
.u-si-7b38 { font-size:6rem;font-weight:800;color:var(--accent);letter-spacing:-0.04em;line-height:1;margin-bottom:16px; }
.u-si-89bb { background:none;border:none;cursor:pointer;font:inherit;padding:0; }
.u-si-8bf0 { display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }
.u-si-b2fa { color:#6b7280; }
.u-si-c43a { margin-top:40px; }
.u-si-d99a { font-size:var(--text-2xl);font-weight:800;color:var(--text-dark);margin:0 0 12px; }
.u-si-e9f5 { background:rgba(255,255,255,.18);border-radius:20px;padding:1px 7px;font-size:var(--text-xs); }
.u-si-fb9a { color:var(--text-muted);font-size:var(--text-md);line-height:1.65;margin:0 0 8px; }
.u-text-muted-sm-5 { font-size:var(--text-xs2);color:var(--text-muted); }

/* ── Auto-extracted unique inline styles ── */
.si-0c254 { color:var(--text-muted);font-size:var(--text-md);line-height:1.65;margin:0 0 32px; }
.si-a8d2e { color:var(--text-muted);font-size:var(--text-sm);line-height:1.6;margin:0 0 32px; }
.si-02cad { text-align:center;max-width:560px; }
.si-b9aa7 { color:var(--text-muted);font-size:var(--text-sm);margin:0 0 32px; }
.si-8cb59 { margin-top:32px;text-align:left;background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;padding:16px;font-family:var(--font-mono);font-size:var(--text-sm);max-width:700px;word-break:break-word; }
.si-00954 { color:rgba(255,255,255,0.5);font-size:var(--text-sm);margin-bottom:16px; }
.si-2b2cb { color:rgba(255,255,255,0.5);font-size:var(--text-sm);margin-bottom:16px; }
.si-b857f { color:rgba(255,255,255,0.4);font-size:var(--text-sm);text-align:center;margin-bottom:8px; }
.si-80f81 { background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:16px 20px;margin-bottom:8px; }
.si-80832 { font-size:var(--text-sm);font-weight:600;color:rgba(255,255,255,.8);margin-bottom:4px; }
.si-145e0 { font-size:var(--text-xs2);color:rgba(255,255,255,.5); }
.si-eff02 { color:#4ade80;font-weight:600; }
.si-b36f5 { color:#f87171;font-weight:600; }
.si-ddc3b { color:rgba(255,255,255,0.4);font-size:var(--text-sm);margin-bottom:16px; }
.si-dee8d { font-size:var(--text-md);letter-spacing:normal;text-align:left; }
.si-c926a { color:rgba(255,255,255,0.2);font-size:var(--text-xs2);padding-right:4px; }
.si-d0607 { margin-left:auto;display:inline; }
.si-5c770 { background:rgba(181,23,158,.1); }
.si-99b44 { background:rgba(59,130,246,.1); }
.si-fa670 { background:rgba(5,150,105,.1); }
.si-c5830 { color:#dc2626;font-weight:700;margin-left:6px; }
.si-c089b { background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:10px 14px;font-size:var(--text-xs2);color:#d97706;display:flex;align-items:center;gap:8px;margin-bottom:20px; }
.si-0da4f { color:#d97706;font-weight:700;margin-left:6px; }
.si-6e7c6 { display:flex;align-items:center;justify-content:center;font-size:var(--text-base); }
.si-66876 { width:100%;text-align:left;background:none;border:none;cursor:pointer;color:inherit;font:inherit; }
.si-7494e { background:#fff;border-radius:20px;min-height:300px;display:flex;align-items:center;justify-content:center; }
.si-0f5df { width:36px;height:36px;border:3px solid #E5E7EB;border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite; }
.si-5653b { background:linear-gradient(135deg,rgba(232,24,122,.06),rgba(106,13,173,.06));border-radius:8px; }
.si-f47a3 { background:linear-gradient(135deg,#E8187A,#6A0DAD);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:900; }