/* Celeby 2026 visual system — Aubergine Gleam + Serenity.
   This file is intentionally not loaded by invitation.html. */
/* Unified Celeby logo plaques. Original artwork stays unchanged. */
:root{--celeby-logo-serenity:#e4eafa;--celeby-logo-periwinkle:#e4eafa;--celeby-logo-radius:18px}
:where(.site-header .brand,.sidebar .brand,.os-brand,.workspace-top>a:first-child,.auth-card>a:first-child,body>header>a:first-child:has(>img[src*="celeby-logo"])){position:relative;isolation:isolate;display:block;overflow:hidden;flex:0 0 auto;border-radius:var(--celeby-logo-radius)!important;background:#e4eafa!important;box-shadow:inset 0 0 0 1px rgba(48,23,40,.05)}
:where(.site-header .brand,.sidebar .brand,.os-brand,.workspace-top>a:first-child,.auth-card>a:first-child,body>header>a:first-child:has(>img[src*="celeby-logo"]))::after{display:none!important}
:where(.site-header .brand,.sidebar .brand,.os-brand,.workspace-top>a:first-child,.auth-card>a:first-child,body>header>a:first-child:has(>img[src*="celeby-logo"]))>img[src*="celeby-logo"]{position:relative;z-index:0;display:block;width:100%!important;height:100%!important;margin:0!important;padding:6px;object-fit:contain!important;object-position:center!important;mix-blend-mode:normal!important}
:where(footer>img[src*="celeby-logo"],.auth-card>img[src*="celeby-logo"]){display:block;object-fit:contain!important;object-position:center!important;padding:7px;border-radius:var(--celeby-logo-radius)!important;background:#e4eafa!important;box-shadow:inset 0 0 0 1px rgba(48,23,40,.05);mix-blend-mode:normal!important}
.site-header .brand{width:116px!important;height:68px!important}.workspace-top>a:first-child{width:112px;height:66px}.workspace-top>a:first-child img{width:100%!important;height:100%!important}.os-brand{width:132px;height:78px}body>header>a:first-child:has(>img[src*="celeby-logo"]){width:120px;height:68px}.auth-card>a:first-child{width:min(100%,490px)!important;height:auto!important;aspect-ratio:1.58/1;margin:0 auto 26px!important}.auth-card>img[src*="celeby-logo"]{width:min(100%,490px)!important;height:auto!important;aspect-ratio:1.58/1;margin:0 auto 26px!important}footer>img[src*="celeby-logo"]{width:190px!important;height:112px!important;margin:0 auto 16px}
.preview-bar{background:#e4eafa!important}.preview-bar>a:first-child{position:relative;isolation:isolate;display:block;width:100%!important;height:100%!important;overflow:hidden}.preview-bar>a:first-child::after{display:none!important}.preview-bar>a:first-child>img[src*="celeby-logo"]{display:block;width:100%!important;height:100%!important;margin:0!important;padding:4px 12px;object-fit:contain!important;object-position:center!important;mix-blend-mode:normal!important}
@media(max-width:700px){:root{--celeby-logo-radius:16px}.auth-card>a:first-child,.auth-card>img[src*="celeby-logo"]{width:100%!important;margin-bottom:22px!important}.workspace-top>a:first-child{width:104px;height:62px}.os-brand{width:58px;height:58px}}


:root {
  --aubergine:#301728;
  --dark-plum:#4f0c28;
  --serenity:#93a9d1;
  --periwinkle:#c5d2f8;
  --mist:#eef1fb;
  --ivory:#faf9fc;
  --paper:#ffffff;
  --card:#ffffff;
  --bg:#f5f4f9;
  --ink:#271722;
  --muted:#746a76;
  --line:#d9dced;
  --plum:#301728;
  --deep:#24101e;
  --purple:#4f0c28;
  --rose:#74415f;
  --rose2:#93a9d1;
  --champagne:#93a9d1;
  --blush:#c5d2f8;
  --gold:#93a9d1;
  --shadow:0 18px 55px rgba(48,23,40,.10);
  color-scheme:light;
}

html { background:#f5f4f9; }
body,
.auth-body {
  color:var(--ink);
  background:
    radial-gradient(circle at 4% 2%,rgba(197,210,248,.72),transparent 25rem),
    radial-gradient(circle at 98% 12%,rgba(147,169,209,.24),transparent 28rem),
    #f7f6fa !important;
}

::selection { background:var(--periwinkle);color:var(--aubergine); }
a { text-decoration-color:rgba(79,12,40,.35); }
p { color:var(--muted); }

/* Shared navigation, brand surfaces and footer */
.site-header,
.workspace-top,
body>header,
.sidebar,
.os-sidebar {
  background:rgba(255,255,255,.94) !important;
  border-color:var(--line) !important;
  box-shadow:0 8px 30px rgba(48,23,40,.035);
  backdrop-filter:blur(18px);
}
.site-header nav a:hover,
.site-header nav a[aria-current="page"],
.back,
.text-link,
footer a { color:var(--dark-plum) !important; }
.site-header.open nav { background:#fff !important; }
footer { background:#f0f2fa;border-color:var(--line) !important; }

/* Buttons and interactive controls */
.button,
.primary,
.auth-primary,
.os-primary,
form>button:not(.dialog-x),
.flow-next,
.concierge-launcher,
#ai-form button {
  color:#fff !important;
  border-color:var(--aubergine) !important;
  background:linear-gradient(135deg,var(--aubergine),var(--dark-plum)) !important;
  box-shadow:0 12px 28px rgba(48,23,40,.18) !important;
}
.button:hover,
.primary:hover,
.auth-primary:hover,
.os-primary:hover,
form>button:not(.dialog-x):hover {
  background:linear-gradient(135deg,#24101e,#601238) !important;
  transform:translateY(-1px);
}
.button-light,
.auth-secondary,
.os-secondary,
.hero-actions button,
.item-actions button,
.item-actions a {
  background:#f5f6fc !important;
  color:var(--aubergine) !important;
  border-color:#b9c4df !important;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid rgba(147,169,209,.55) !important;
  outline-offset:2px;
}

/* Forms */
input,select,textarea,
.auth-card input,.auth-card select,.auth-card textarea,
.event-details input,.event-details textarea,
.form-row input {
  background:#fff !important;
  border-color:#ccd1e4 !important;
  color:var(--ink) !important;
}
input:hover,select:hover,textarea:hover { border-color:var(--serenity) !important; }
.input-suffix b { background:var(--mist) !important;border-color:#ccd1e4 !important; }
.upload-board { background:#f5f6fc !important;border-color:var(--serenity) !important; }
.upload-board.ready { background:#edf1fb !important; }

/* Cards and dialogs */
.auth-card,
.panel,
.metrics article,
.metric-grid article,
.package,
.tab,
.item,
.event-types button,
.palette-options button,
.preview-grid a,
dialog,
form,
.board-column,
.lead-card {
  background:#fff !important;
  border-color:var(--line) !important;
  box-shadow:var(--shadow);
}
dialog::backdrop { background:rgba(36,16,30,.62) !important; }
.dialog-close,.event-flow-close,.dialog-x { background:var(--mist) !important;color:var(--aubergine) !important; }

/* Marketing homepage */
.home-hero-v2,
.hero {
  background:
    linear-gradient(100deg,rgba(250,249,252,.98) 0 48%,rgba(197,210,248,.18)),
    radial-gradient(circle at 82% 15%,rgba(147,169,209,.32),transparent 32rem) !important;
}
.home-hero-v2 em,.home-hero-v2 i,.eyebrow { color:var(--dark-plum) !important; }
.home-hero-photo { position:relative;overflow:hidden; }
.home-hero-photo:after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(197,210,248,.20),rgba(79,12,40,.12));
  mix-blend-mode:color;
}
.button-outline {
  background:#fff !important;
  color:var(--aubergine) !important;
  border-color:var(--serenity) !important;
  box-shadow:none !important;
}
.home-promises,
.trust-strip { background:#eef1fb !important;border-color:var(--line) !important; }
.home-promises article:not(:last-child),
.trust-strip article:not(:last-child) { border-color:#cbd2e7 !important; }
.event-card-grid article,
.event-carousel article { border-color:var(--line) !important;background:#fff !important; }
.event-card-grid article:hover,
.event-carousel article:hover { border-color:var(--serenity) !important;box-shadow:0 20px 45px rgba(48,23,40,.12) !important; }
.home-promises .icon,.event-card-grid button,.home-stats b { color:var(--dark-plum) !important; }
.home-stats div { border-color:var(--line) !important; }
.memory-banner,
.waitlist,
.feature-primary {
  background:linear-gradient(125deg,#eef1fb,#faf9fc 54%,#e7eafa) !important;
  border-color:#cfd5e8 !important;
}
.feature.concierge,
.vendor-section {
  background:
    radial-gradient(circle at 92% 0,rgba(147,169,209,.22),transparent 28rem),
    linear-gradient(135deg,#24101e,#301728 58%,#4f0c28) !important;
}
.feature.concierge p,.vendor-section p,.vendor-section span { color:#dce2f2 !important; }
.feature-icon,.concierge-chip .mark,.event-types i { background:var(--mist) !important;color:var(--aubergine) !important; }
.feature-icon.monogram,.result-mark {
  background:linear-gradient(145deg,var(--periwinkle),var(--serenity)) !important;
  color:var(--aubergine) !important;
}
.velvet-orb { background:radial-gradient(circle at 30% 30%,#93a9d1,#301728 72%) !important; }
.legal-notice,.demo-note,.match-preview { background:var(--mist) !important;border-color:var(--serenity) !important; }

/* Couple dashboard */
.nav-item:hover,.nav-item.active,
.os-nav:hover,.os-nav.active { background:#e9edf9 !important;color:var(--aubergine) !important; }
.nav-item b,.os-nav em,.os-header-actions em { background:var(--dark-plum) !important; }
.ai-side,.ai-banner,.os-ai,.priority-card,
.invitation-panel,.next-step {
  background:linear-gradient(125deg,#fff 18%,#eef1fb 70%,#e5e9f8) !important;
  border-color:#ccd3e8 !important;
}
.ai-side i,.ai-mark,.msg-avatar,.avatar,
.upload-board>b { background:linear-gradient(135deg,var(--aubergine),var(--dark-plum)) !important;color:#fff !important; }
.countdown {
  background:linear-gradient(145deg,#f3f5fc,#fff) !important;
  border-color:#ccd3e8 !important;
}
.progress { background:#e5e8f3 !important; }
.progress span,.progress.gold span,.progress.violet span,
.bars i { background:linear-gradient(90deg,var(--serenity),var(--dark-plum)) !important; }
.schedule li>b { background:var(--mist) !important;color:var(--dark-plum) !important; }
.message.ai .msg-avatar { background:var(--periwinkle) !important;color:var(--aubergine) !important; }
.quick button,.quick-prompts button { color:var(--aubergine) !important;border-color:#c4cbe1 !important;background:#fff !important; }
.qr-grid { background:repeating-conic-gradient(var(--aubergine) 0 25%,#fff 0 50%) 0/14px 14px !important; }

/* Event workspace: tabs, calendar, plan and budget */
.tabs button { background:#fff !important;border-color:#cdd2e4 !important;color:var(--ink) !important; }
.tabs button.active { background:linear-gradient(135deg,var(--aubergine),var(--dark-plum)) !important;color:#fff !important;border-color:var(--aubergine) !important; }
.live-countdown { background:linear-gradient(135deg,var(--periwinkle),#edf1fb) !important;color:var(--aubergine) !important; }
.seat-table { border-color:var(--serenity) !important;background:#fff !important; }
#workspace-status,.toast { background:var(--aubergine) !important;color:#fff !important; }
.calendar-day.is-selected,
.calendar-day.selected,
.calendar-cell.is-selected { border-color:var(--aubergine) !important;background:#eef1fb !important; }
.calendar-event,.agenda-event { border-color:var(--serenity) !important;background:#eef1fb !important;color:var(--aubergine) !important; }
.plan-card,.budget-card,.budget-summary,.guest-card { border-color:var(--line) !important;background:#fff !important; }

/* VendorOS */
.os-body { background:#f6f5f9 !important; }
.priority-card p,.panel header p,.os-header p,.package>p { color:var(--dark-plum) !important; }
.segmented { background:#fff !important;border-color:var(--line) !important; }
.segmented button.active { background:var(--mist) !important;color:var(--aubergine) !important; }
.board-column { background:#eef0f7 !important;box-shadow:none; }
.rose,.plum,.gold { background:var(--periwinkle) !important;color:var(--aubergine) !important; }
.ai-insight { background:linear-gradient(135deg,var(--aubergine),var(--dark-plum)) !important; }
.ai-insight p,.ai-insight span { color:#e7ebf7 !important; }
.score-ring { background:conic-gradient(var(--dark-plum) 82%,#e5e8f3 0) !important; }
.week>b { background:var(--mist) !important; }
.consult { background:#e4e9f8 !important;color:var(--aubergine) !important; }
.prep { background:#d7def2 !important;color:var(--aubergine) !important; }
.cover-placeholder { background:linear-gradient(145deg,var(--periwinkle),var(--serenity) 45%,var(--aubergine)) !important; }
.package.featured { border-color:var(--aubergine) !important; }

/* Vendor registration and authentication */
.vendor-register-copy>span,form>div:first-child>span,.auth-eyebrow { color:var(--dark-plum) !important; }
.vendor-register-copy li:before { background:var(--periwinkle) !important;color:var(--aubergine) !important; }
.auth-card { box-shadow:0 28px 80px rgba(48,23,40,.14) !important; }
.auth-status,#vendor-register-status { color:var(--dark-plum) !important; }

@media (max-width:760px) {
  .workspace-top,.site-header,body>header { background:rgba(255,255,255,.97) !important; }
  .tab { box-shadow:0 12px 35px rgba(48,23,40,.07); }
}

@media (prefers-reduced-motion:no-preference) {
  .button,.primary,.auth-primary,.os-primary,.event-card-grid article,.event-carousel article { transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
}

/* Unified surface pass
   One visual language everywhere: Serenity canvas, Periwinkle surfaces,
   Aubergine actions. Public invitations do not load this stylesheet. */
:root {
  --celeby-canvas:#edf1fb;
  --celeby-surface:#f5f7fd;
  --celeby-surface-strong:#e3e9f7;
  --celeby-field:#f0f3fb;
  --celeby-border:#c9d2e7;
  --paper:var(--celeby-surface);
  --card:var(--celeby-surface);
  --bg:var(--celeby-canvas);
  --ivory:var(--celeby-canvas);
  --line:var(--celeby-border);
}

html,
body,
.auth-body,
.os-body {
  background:var(--celeby-canvas) !important;
}

.site-header,
.workspace-top,
body>header,
.sidebar,
.os-sidebar,
footer {
  background:var(--celeby-surface) !important;
  border-color:var(--celeby-border) !important;
}

.site-header.open nav,
.auth-card,
.panel,
.metrics article,
.metric-grid article,
.package,
.tab,
.item,
.event-types button,
.palette-options button,
.preview-grid a,
dialog,
form,
.lead-card,
.next-step,
.countdown,
.invitation-panel,
.calendar-day-panel,
.celeby-calendar,
.calendar-agenda,
.plan-task-form,
.plan-task-list .item,
.budget-form,
.budget-payments,
.budget-summary article,
.guest-management,
.guest-card,
.seat-table,
.event-card-grid article {
  background:var(--celeby-surface) !important;
  border-color:var(--celeby-border) !important;
}

input,
select,
textarea,
.auth-card input,
.auth-card select,
.auth-card textarea,
.event-details input,
.event-details textarea,
.form-row input,
.page-toolbar input,
.segmented,
.quick button,
.quick-prompts button,
.item-actions button,
.item-actions a,
.hero-actions button,
.button-light,
.auth-secondary,
.os-secondary {
  background:var(--celeby-field) !important;
  border-color:var(--celeby-border) !important;
  color:var(--ink) !important;
}

.tabs button,
.nav-item,
.os-nav,
.calendar-today-button,
.add-selected-day,
.text-button,
.flow-back,
.flow-restart {
  color:var(--aubergine) !important;
}

.tabs button,
.nav-item:hover,
.nav-item.active,
.os-nav:hover,
.os-nav.active,
.segmented button.active,
.calendar-event,
.agenda-event,
.schedule li>b,
.feature-icon,
.concierge-chip .mark,
.event-types i,
.message.ai .msg-avatar,
.upload-board,
.upload-board.ready,
.legal-notice,
.demo-note,
.match-preview,
.live-countdown,
.ai-side,
.ai-banner,
.os-ai,
.priority-card,
.home-promises,
.trust-strip,
.memory-banner,
.waitlist,
.feature-primary {
  background:var(--celeby-surface-strong) !important;
  border-color:var(--celeby-border) !important;
}

.tabs button.active,
.button,
.primary,
.auth-primary,
.os-primary,
form>button:not(.dialog-x),
.flow-next,
.concierge-launcher,
#ai-form button,
.ai-mark,
.ai-side i,
.msg-avatar,
.avatar,
.upload-board>b {
  background:var(--aubergine) !important;
  border-color:var(--aubergine) !important;
  color:#fff !important;
}

.progress,
.budget-progress-track,
.plan-progress>div:last-child {
  background:#d8dfef !important;
}

.progress span,
.progress.gold span,
.progress.violet span,
.budget-progress-track i,
.plan-progress i,
.bars i {
  background:var(--aubergine) !important;
}

.home-hero-v2,
.hero {
  background:var(--celeby-canvas) !important;
}

.vendor-section,
.feature.concierge,
.ai-insight,
.dialog-head {
  background:var(--aubergine) !important;
}

.board-column,
.week>b,
.brief,
.ai-tasks button,
.chat,
.bot,
.consult,
.prep {
  background:var(--celeby-surface-strong) !important;
  border-color:var(--celeby-border) !important;
}

.status:not(.success):not(.urgent),
.viz-badge {
  background:var(--celeby-surface-strong) !important;
  color:var(--aubergine) !important;
}

@media (max-width:760px) {
  .workspace-top,
  .site-header,
  body>header,
  .sidebar.open {
    background:var(--celeby-surface) !important;
  }
}

/* Specificity lock: prevents legacy page styles from reintroducing white,
   blush or champagne surfaces after the shared theme is loaded. */
html body {
  background-color:#edf1fb !important;
  background-image:none !important;
}

html body .site-header,
html body .workspace-top,
html body>header,
html body .sidebar,
html body .os-sidebar,
html body footer {
  background-color:#f5f7fd !important;
  background-image:none !important;
  border-color:#c9d2e7 !important;
}

/* Blend the original logo into the Serenity / Periwinkle dashboard surface. */
html body .sidebar .brand {
  position:relative;
  isolation:isolate;
  background:linear-gradient(145deg,#c5d2f8 0%,#9ba9d1 100%);
  border-radius:16px;
}
html body .sidebar .brand::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:rgba(197,210,248,.68);
  mix-blend-mode:multiply;
}
html body .sidebar .brand img {
  position:relative;
  z-index:0;
  display:block;
}

/* Authentication: one continuous Serenity surface, without stacked color blocks. */
html body.auth-body,
html body.auth-body .auth-card {
  background-color:#edf1fb !important;
  background-image:none !important;
}
html body.auth-body .auth-card {
  border-color:#c9d2e7 !important;
  box-shadow:0 20px 55px rgba(48,23,40,.08) !important;
}
html body.auth-body .auth-card form {
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body.auth-body .auth-card input,
html body.auth-body .auth-card select,
html body.auth-body .auth-card textarea {
  background-color:#edf1fb !important;
  border-color:#b9c4df !important;
  box-shadow:none !important;
}
html body.auth-body .auth-card>a:first-child {
  position:relative;
  isolation:isolate;
  display:block;
  width:160px;
  height:96px;
  margin:0 auto 18px;
  overflow:hidden;
  border-radius:14px;
  background:linear-gradient(145deg,#c5d2f8,#9ba9d1);
}
html body.auth-body .auth-card>a:first-child::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:rgba(197,210,248,.68);
  mix-blend-mode:multiply;
}
html body.auth-body .auth-card>a:first-child img {
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
}

html body .auth-card,
html body .panel,
html body .metrics article,
html body .metric-grid article,
html body .package,
html body .tab,
html body .item,
html body .event-types button,
html body .palette-options button,
html body .preview-grid a,
html body dialog,
html body form,
html body .lead-card,
html body .next-step,
html body .countdown,
html body .invitation-panel,
html body .calendar-day-panel,
html body .celeby-calendar,
html body .calendar-agenda,
html body .plan-task-form,
html body .budget-form,
html body .budget-payments,
html body .budget-summary article,
html body .guest-management,
html body .guest-card,
html body .seat-table,
html body .event-card-grid article {
  background-color:#f5f7fd !important;
  background-image:none !important;
  border-color:#c9d2e7 !important;
}

html body input,
html body select,
html body textarea,
html body .auth-card input,
html body .auth-card select,
html body .auth-card textarea,
html body .event-details input,
html body .event-details textarea,
html body .form-row input,
html body .page-toolbar input,
html body .segmented,
html body .quick button,
html body .quick-prompts button,
html body .item-actions button,
html body .item-actions a,
html body .hero-actions button,
html body .button-light,
html body .auth-secondary,
html body .os-secondary {
  background-color:#f0f3fb !important;
  background-image:none !important;
  border-color:#c9d2e7 !important;
  color:#271722 !important;
}

html body .home-promises,
html body .trust-strip,
html body .memory-banner,
html body .waitlist,
html body .feature-primary,
html body .ai-side,
html body .ai-banner,
html body .os-ai,
html body .priority-card,
html body .live-countdown,
html body .tabs button:not(.active),
html body .nav-item:hover,
html body .nav-item.active,
html body .os-nav:hover,
html body .os-nav.active,
html body .schedule li>b,
html body .calendar-event,
html body .agenda-event {
  background-color:#e3e9f7 !important;
  background-image:none !important;
  border-color:#c9d2e7 !important;
}

html body .button,
html body .primary,
html body .auth-primary,
html body .os-primary,
html body form>button:not(.dialog-x),
html body .tabs button.active,
html body .concierge-launcher,
html body #ai-form button,
html body .ai-mark,
html body .ai-side i,
html body .msg-avatar,
html body .avatar {
  background-color:#301728 !important;
  background-image:none !important;
  border-color:#301728 !important;
  color:#fff !important;
}

html body .home-hero-v2,
html body .hero {
  background-color:#edf1fb !important;
  background-image:none !important;
}

/* Midnight Lavender applies only to the exposed couple-dashboard canvas.
   Cards, navigation, sidebar and other component surfaces remain unchanged. */
html body.couple-dashboard-body {
  background-color:#d8dcef !important;
  background-image:
    radial-gradient(circle at 88% 6%,rgba(59,35,76,.25) 0,rgba(59,35,76,0) 34%),
    radial-gradient(circle at 8% 88%,rgba(107,116,171,.22) 0,rgba(107,116,171,0) 38%),
    linear-gradient(135deg,#eef1fb 0%,#d8dcef 44%,#b9c1e2 72%,#8f94bd 100%) !important;
  background-attachment:fixed !important;
}

