/* Lunelly · Evening Glass. Shared materials; business behaviour stays in modules. */
:root {
  --ui-color-scheme: dark; color-scheme: var(--ui-color-scheme);
  --ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ui-bg: #100e0d; --ui-surface: #272320; --ui-glass: rgba(40,35,32,.78);
  --ui-raised: rgba(42,37,34,.88); --ui-solid: rgba(34,30,28,.96);
  --ui-fill: rgba(255,245,235,.07); --ui-text: #f7f3ef; --ui-muted: #d0c9c2; --ui-caption: #b7aea6;
  --ui-accent: #8752d4; --ui-accent-hover: #7440bf; --ui-on-accent: #fff;
  --ui-tint: rgba(160,110,235,.18); --ui-tint-text: #c6a7ff; --ui-coin: #f1c579;
  --ui-line: rgba(255,245,230,.16); --ui-input-line: #8c8078;
  --ui-danger: #f1a0a5; --ui-success: #a8d7b5; --ui-warning: #e5be7e;
  --ui-shadow: 0 12px 32px #0000002e, inset 0 1px 0 #fffaf224;
  --ui-shadow-float: 0 16px 48px #0000003d; --ui-radius: 24px;
  --ui-scene: radial-gradient(ellipse at 80% 8%,#48392c40,transparent 55%),radial-gradient(ellipse at 12% 62%,#30273533,transparent 58%),linear-gradient(155deg,#211b18,#151210 55%,#100e0d);
  --ui-event-surface: linear-gradient(120deg,#493832c9,#352c32b0);
  --ui-pwa-surface: linear-gradient(120deg,#3b2c4b,#292221); --ui-switch-off: #59514b;
  --ui-opaque-glass: #272320; --ui-opaque-raised: #2a2522; --ui-opaque-solid: #221e1c;
  --ui-contrast-muted: #f0eae5; --ui-contrast-caption: #e0d7d0; --ui-contrast-line: #a2958a;
  --ui-blur: blur(20px) saturate(120%); --ui-raised-blur: blur(26px) saturate(120%);
  --ui-speed: 160ms; --ui-sidebar: 232px; --ui-gutter: 24px; --ui-gap: 24px;
  --z-header: 30; --z-dock: 40; --z-popover: 60; --z-backdrop: 80; --z-modal: 90; --z-message: 100;
  --purple: var(--ui-accent); --muted: var(--ui-muted); --panel: var(--ui-glass); --border: var(--ui-line); --shadow: var(--ui-shadow);
  --wishlist-ink: var(--ui-text); --wishlist-muted: var(--ui-muted); --wishlist-violet: var(--ui-tint-text);
  --wishlist-violet-dark: var(--ui-accent-hover); --wishlist-violet-soft: var(--ui-tint); --wishlist-card: var(--ui-glass); --wishlist-line: var(--ui-line); --wishlist-shadow: var(--ui-shadow);
  --ln-notification-purple: var(--ui-accent); --ln-notification-purple-dark: var(--ui-tint-text);
  --ln-notification-ink: var(--ui-text); --ln-notification-muted: var(--ui-muted); --ln-notification-line: var(--ui-line);
  background: var(--ui-bg); color: var(--ui-text); font-family: var(--ui-font);
}
:root[data-theme=light] {
  --ui-color-scheme: light;
  --ui-bg: #f5f3f8; --ui-surface: #ffffff; --ui-glass: rgba(255,255,255,.80);
  --ui-raised: rgba(255,255,255,.92); --ui-solid: rgba(255,255,255,.97);
  --ui-fill: rgba(58,43,77,.05); --ui-text: #27232f; --ui-muted: #625b6b; --ui-caption: #6b6272;
  --ui-tint: rgba(135,82,212,.10); --ui-tint-text: #6f3bb1; --ui-coin: #805415;
  --ui-line: rgba(58,43,77,.16); --ui-input-line: #8a7e94;
  --ui-danger: #a53243; --ui-success: #2f6847; --ui-warning: #785321;
  --ui-shadow: 0 12px 32px #3423420d, inset 0 1px 0 #ffffffb3;
  --ui-shadow-float: 0 16px 48px #3423421c;
  --ui-scene: radial-gradient(ellipse at 80% 8%,#f5e6d880,transparent 55%),radial-gradient(ellipse at 12% 62%,#e9e0f880,transparent 58%),linear-gradient(155deg,#faf8f6,#f5f3f8 55%,#eeeaf3);
  --ui-event-surface: linear-gradient(120deg,#f5e9dbed,#eee5f6e6);
  --ui-pwa-surface: linear-gradient(120deg,#f0e7fc,#faf5ef); --ui-switch-off: #857b8c;
  --ui-opaque-glass: #ffffff; --ui-opaque-raised: #ffffff; --ui-opaque-solid: #ffffff;
  --ui-contrast-muted: #37303e; --ui-contrast-caption: #4b4055; --ui-contrast-line: #67566f;
}
*, *::before, *::after { box-sizing: border-box; }
body, body.wishlist-standalone { margin: 0; background: transparent; color: var(--ui-text); font: 400 16px/1.5 var(--ui-font); -webkit-font-smoothing: antialiased; }
/* A quiet gradient is the honest fallback until a licensed room photograph is supplied. */
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: var(--ui-scene); }
body:not(.auth-viewport-locked) { overflow-x: visible; }
html.auth-viewport-locked, body.auth-viewport-locked { width: 100%; height: auto; min-height: 100%; overflow: visible; overscroll-behavior: auto; }
body.auth-viewport-locked #root { height: auto; min-height: 100svh; overflow: visible; }
button, input, select, textarea { font-family: inherit; }
button, [role=button], summary { touch-action: manipulation; }
button, a { -webkit-tap-highlight-color: transparent; transition: background-color var(--ui-speed), color var(--ui-speed), border-color var(--ui-speed); }
button:disabled { cursor: not-allowed; }
:where(button, a, input, textarea, select, summary, [tabindex]):focus-visible { outline: 3px solid var(--ui-tint-text); outline-offset: 3px; }
/* A programmatic page landmark is not an interactive control. Keep keyboard
   outlines on buttons/links, but never frame the entire page after a dialog. */
main[tabindex="-1"]:focus { outline: none; }
h1, h2, h3 { color: inherit; font-weight: 650; letter-spacing: -.025em; overflow-wrap: anywhere; }
h1 { font-size: 36px; line-height: 1.15; } h2 { font-size: 22px; line-height: 1.3; }
p, small, b { overflow-wrap: anywhere; } img { max-width: 100%; }
button svg, a svg { flex-shrink: 0; } input, select, textarea { accent-color: var(--ui-accent); }
::placeholder { color: var(--ui-caption); opacity: 1; }
.reveal, .delay-1, .delay-2 { animation: none; opacity: 1; transform: none; }
[hidden] { display: none !important; }

/* One material per surface, not per row. */
.eg-panel, .eg-metric, .settings-card, .account-settings-card, .cal-board, .cal-day-panel, .loy-card,
.partner-task-card, .partner-task-summary > article, .store-summary-main, .store-summary-card, .store-manage-products,
.store-incoming-purchases, .store-history, .partner-task-empty, .shop-empty, .partner-store-card,
.couple-room-metric, .couple-room-module, .pair-card, .root-panel, .root-settings-card, .root-server-card,
.support-create-card, .support-ticket-column, .support-ticket-detail, .wishlist-card, .wishlist-share-card, .wishlist-empty {
  border: 1px solid var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-glass); color: var(--ui-text);
  box-shadow: var(--ui-shadow); -webkit-backdrop-filter: var(--ui-blur); backdrop-filter: var(--ui-blur);
}
.settings-card, .account-settings-card, .root-panel, .root-settings-card, .support-ticket-detail { background: var(--ui-solid); }
.partner-task-card::before { display: none; }
.partner-task-card:hover { transform: none; box-shadow: var(--ui-shadow); }
.app-shell { display: grid; grid-template-columns: var(--ui-sidebar) minmax(0,1fr); gap: var(--ui-gap); width: 100%; max-width: 1600px; margin: 0 auto; padding: var(--ui-gutter); min-height: 100vh; min-height: 100svh; }
.app-shell::before { display: none; }
.sidebar { position: sticky; inset: auto; top: var(--ui-gutter); width: auto; height: calc(100vh - 48px); height: calc(100dvh - 48px); align-self: start; padding: 24px 12px; border: 1px solid var(--ui-line); border-radius: 28px; background: var(--ui-raised); box-shadow: var(--ui-shadow); -webkit-backdrop-filter: var(--ui-raised-blur); backdrop-filter: var(--ui-raised-blur); overflow-y: auto; overscroll-behavior: contain; transform: none; }
.brand { padding: 0 8px 24px; gap: 10px; }.brand strong { font-size: 26px; letter-spacing: -.025em; }.brand small { color: var(--ui-muted); font-size: 12px; }.brand-mark { width: 48px; height: 48px; background: transparent; box-shadow: none; flex-shrink: 0; }
.sidebar-nav { gap: 4px; padding: 0; }.sidebar-nav button { min-height: 48px; padding: 12px; border: 1px solid transparent; border-radius: 14px; gap: 10px; color: var(--ui-muted); font-size: 14px; line-height: 1.35; font-weight: 550; text-align: left; white-space: normal; }
.sidebar-nav button svg { width: 22px; height: 22px; }.sidebar-nav button.active { background: var(--ui-tint); color: var(--ui-tint-text); border-color: var(--ui-line); box-shadow: none; }
.sidebar-bottom { margin-top: auto; padding-top: 24px; }.couple-mini { border-color: var(--ui-line); }.couple-mini small { color: var(--ui-muted); }.wallet-card { background: var(--ui-fill); border-color: var(--ui-line); border-radius: 18px; box-shadow: none; color: var(--ui-text); }
.dashboard, .dashboard.tasks-dashboard { margin: 0; padding: 0 0 24px; width: 100%; min-width: 0; }
.home-topbar, .dashboard > .page-profile-area { position: sticky; inset: auto; top: 12px; height: 56px; min-height: 56px; width: 100%; margin: 0 0 24px; padding: 4px 0; display: flex; justify-content: flex-end; align-items: center; z-index: var(--z-header); }
.home-tabs { display: none; }.profile-area { gap: 9px; }.home-topbar .profile-button { display: none; }.home-topbar .profile-area > :is(.ln-notification-bell,.icon-button) { margin: 0; }
.icon-button, .ln-notification-bell, .page-profile-area > .icon-button { width: 44px; height: 44px; min-width: 44px; border: 1px solid var(--ui-line); border-radius: 50%; background: var(--ui-raised); color: var(--ui-text); box-shadow: var(--ui-shadow); }
.ln-notification-bell:hover { transform: none; box-shadow: var(--ui-shadow); }.ln-notification-bell__badge { background: var(--ui-accent); color: white; font-size: 11px; box-shadow: none; }
.profile-menu { z-index: var(--z-popover); top: calc(100% + 8px); right: 0; width: 260px; max-width: calc(100vw - 32px); padding: 8px; border: 1px solid var(--ui-line); border-radius: 20px; background: var(--ui-solid); color: var(--ui-text); box-shadow: var(--ui-shadow-float); }
.profile-menu button { min-height: 44px; color: var(--ui-text); font-size: 14px; border-radius: 12px; }.profile-menu-divider { background: var(--ui-line); }.profile-menu button.danger { color: var(--ui-danger); }
.mobile-menu-button, .sidebar-close { display: none; }
.ln-quick-open { position: fixed; left: max(280px,calc((100vw - 1600px)/2 + 280px)); top: 28px; z-index: var(--z-header); height: 48px; width: clamp(230px,28vw,440px); padding: 0 16px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--ui-line); border-radius: 999px; background: var(--ui-raised); color: var(--ui-muted); backdrop-filter: var(--ui-raised-blur); }
.ln-quick-open svg { width: 20px; height: 20px; }.ln-quick-open kbd { margin-left: auto; font-size: 12px; }.ln-skip-link { position: fixed; top: 8px; left: 50%; z-index: var(--z-message); transform: translate(-50%,-200%); padding: 12px 20px; border-radius: 14px; background: var(--ui-surface); color: var(--ui-text); }.ln-skip-link:focus { transform: translate(-50%,0); }

/* Home: real data, responsive 12-column grid. */
.eg-home { color: var(--ui-text); }.eg-welcome { margin: 0 0 24px; }.eg-welcome h1 { margin: 8px 0; }.eg-welcome p { margin: 0; color: var(--ui-muted); }.eg-eyebrow { color: var(--ui-tint-text); font-size: 13px; font-weight: 550; }.eg-home-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
.eg-panel { padding: 24px; min-width: 0; }.eg-panel h2 { margin: 0 0 12px; }.eg-panel p { margin: 8px 0 20px; }.eg-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }.eg-card-heading h2 { margin: 0; font-size: 20px; }.eg-card-heading button { min-height: 44px; color: var(--ui-tint-text); border: 0; background: transparent; font-size: 14px; }
.eg-metrics { grid-column: 8 / -1; grid-row: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; min-width: 0; }.eg-metric { display: flex; flex-direction: column; gap: 12px; padding: 20px 16px; min-width: 0; }.eg-metric > span { font-size: 13px; }.eg-metric strong { font-size: 32px; line-height: 1.1; font-weight: 600; font-variant-numeric: tabular-nums; }.eg-metric button { margin-top: auto; min-height: 44px; padding: 0; color: var(--ui-tint-text); background: transparent; border: 0; font-size: 12px; text-align: left; }
.eg-next-event { grid-column: 1 / 8; grid-row: 1; min-height: 220px; background: var(--ui-event-surface); }.eg-next-event h2 { font-size: 30px; margin-top: 12px; }.eg-next-event .eg-button { float: right; }.eg-next-event::after { content: ""; display: block; clear: both; }
.eg-today { grid-column: span 5; }.eg-mini-calendar { grid-column: span 4; padding: 20px; }.eg-couple { grid-column: span 3; text-align: center; }.eg-store { grid-column: span 9; }.eg-personal { grid-column: span 3; }.eg-invite { margin-bottom: 16px; }
.eg-muted, .eg-empty, .eg-loading { color: var(--ui-muted); }.eg-empty, .eg-loading { padding-block: 24px; }.eg-error { color: var(--ui-danger); }.eg-error button { min-height: 44px; border: 1px solid var(--ui-line); border-radius: 14px; background: var(--ui-fill); color: var(--ui-text); padding: 8px 16px; }
.eg-icon { color: var(--ui-tint-text); display: inline-flex; }.eg-coin, .eg-reward { color: var(--ui-coin); display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.eg-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 10px 20px; border: 1px solid var(--ui-line); border-radius: 999px; background: var(--ui-fill); color: var(--ui-text); font-size: 14px; font-weight: 600; text-decoration: none; }
.eg-task-list { display: grid; gap: 8px; }.eg-task-row { display: flex; align-items: center; width: 100%; gap: 12px; padding: 12px; min-height: 84px; border: 0; border-radius: 18px; background: var(--ui-fill); color: var(--ui-text); text-align: left; }.eg-task-row > .eg-icon { width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 14px; background: var(--ui-tint); flex-shrink: 0; }.eg-task-row > span:nth-child(2) { min-width: 0; flex: 1; }.eg-task-row b { display: block; font-size: 16px; font-weight: 550; }.eg-task-row small { display: block; font-size: 13px; color: var(--ui-muted); }.eg-task-row .eg-reward { flex-wrap: wrap; font-size: 14px; }
.eg-calendar-month { display: flex; align-items: center; justify-content: space-between; gap: 4px; }.eg-calendar-month b { font-size: 14px; text-transform: capitalize; }.eg-calendar-month button { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--ui-fill); color: var(--ui-text); font-size: 24px; }
.eg-weekdays, .eg-month-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 2px; text-align: center; }.eg-weekdays { margin-top: 12px; font-size: 12px; color: var(--ui-muted); }.eg-month-grid { margin-bottom: 12px; }.eg-month-grid button { position: relative; min-height: 38px; padding: 4px; color: var(--ui-text); border: 1px solid transparent; border-radius: 12px; background: transparent; font-size: 14px; }.eg-month-grid .is-outside { color: var(--ui-caption); }.eg-month-grid .is-today { background: var(--ui-tint); border-color: var(--ui-tint-text); }.eg-month-grid i { position: absolute; bottom: 3px; left: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: var(--ui-tint-text); }
.eg-couple-avatars { display: flex; align-items: flex-start; justify-content: center; gap: 12px; margin: 24px 0 16px; }.eg-couple-avatars > div { min-width: 0; flex: 1; }.eg-couple-avatars > div > span:last-child { display: block; font-size: 13px; margin-top: 8px; }.eg-avatar { display: inline-flex; width: 64px; height: 64px; border-radius: 50%; align-items: center; justify-content: center; background: var(--ui-tint); color: var(--ui-tint-text); font-size: 24px; overflow: hidden; }.eg-avatar img { width: 100%; height: 100%; object-fit: cover; }.eg-couple h3 { font-size: 16px; }.eg-couple p { font-size: 14px; }
.eg-rewards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }.eg-reward-card { min-width: 0; padding: 0 0 12px; text-align: left; background: var(--ui-fill); border: 1px solid var(--ui-line); border-radius: 18px; color: var(--ui-text); display: flex; flex-direction: column; gap: 8px; }.eg-reward-photo { aspect-ratio: 4/3; width: 100%; border-radius: 17px 17px 0 0; background: var(--ui-tint); display: flex; justify-content: center; align-items: center; overflow: hidden; }.eg-reward-photo img { width: 100%; height: 100%; object-fit: cover; }.eg-reward-card > b, .eg-reward-card > .eg-coin { padding-inline: 12px; font-size: 14px; }.eg-reward-card > .eg-coin { margin-top: auto; }.eg-personal .eg-button { margin-top: 8px; }

/* Shared controls and page headers. Existing ownership and workflow remain intact. */
.settings-page, .ln-calendar-page, .app-shell .loyalty-page { padding-top: 0; color: var(--ui-text); }
.ln-calendar-page, .ln-calendar-editor { font-family: var(--ui-font); }
.tasks-page-header, .shop-page-header, .settings-page-header, .cal-page-header, .loy-heading { min-height: 0; padding: 0 0 24px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; gap: 20px; }
:is(.tasks-page-header,.shop-page-header,.settings-page-header,.cal-page-header,.loy-heading) h1 { font-size: 36px; font-weight: 650; line-height: 1.15; margin: 8px 0 12px; }
.settings-page-header p, .cal-page-header p, .loy-muted, .loy-footnote, .cal-muted, .cal-board-header small, .cal-event p, .cal-event > small, .store-manage-copy p, .partner-task-description, .partner-task-details { color: var(--ui-muted); }
.settings-eyebrow, .cal-eyebrow, .loy-eyebrow, .tasks-eyebrow, .shop-eyebrow { color: var(--ui-tint-text); font-size: 13px; }
.partner-task-tabs, .cal-view-switch, .loy-tabs, .wishlist-tabs, .support-tabs { padding: 4px; gap: 4px; background: var(--ui-raised); border: 1px solid var(--ui-line); border-radius: 18px; box-shadow: none; backdrop-filter: none; }
.partner-task-tabs button, .cal-view-switch button, .loy-tabs button, .wishlist-tabs button, .support-tabs button { min-height: 44px; border: 0; border-radius: 14px; background: transparent; font-size: 14px; font-weight: 550; color: var(--ui-muted); box-shadow: none; }
.partner-task-tabs button.active, .cal-view-switch button[aria-pressed=true], .loy-tabs button[aria-pressed=true], .wishlist-tabs button.active, .support-tabs button.active { background: var(--ui-tint); color: var(--ui-tint-text); box-shadow: inset 0 1px 0 var(--ui-line); }
.partner-task-tabs button.active > span { background: var(--ui-fill); color: var(--ui-tint-text); }
.eg-primary, .settings-primary, .settings-page .account-settings-form footer button.primary, .ln-calendar-page .cal-primary, .ln-calendar-editor .cal-primary, .loyalty-page .loy-primary, .loy-dialog .loy-primary,
.partner-task-create, .partner-task-actions button.primary, .partner-task-modal footer button.primary, .store-section-heading > button, .root-modal-submit, .root-panel-heading button, .pair-link-issue, .pair-invite-accept, .support-reply-form button, .wishlist-button.primary {
  background: linear-gradient(#8752d4,#7440bf); color: white; border: 1px solid #a978eb; box-shadow: inset 0 1px 0 #ffffff24,0 4px 12px #0002; font-weight: 600; border-radius: 16px; min-height: 48px;
}
.settings-back, .couple-room-edit-button, .wishlist-button, .cal-icon, .cal-today, .loy-button { background: var(--ui-fill); border: 1px solid var(--ui-line); color: var(--ui-text); border-radius: 14px; box-shadow: none; min-height: 44px; }
:is(.settings-page,.loy-form,.ln-calendar-editor,.root-content,.support-page,.partner-task-modal,.pair-card,.wishlist-dialog) input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),
:is(.settings-page,.loy-form,.ln-calendar-page,.ln-calendar-editor,.root-content,.support-page,.partner-task-modal,.wishlist-dialog) select,
:is(.settings-page,.loy-form,.ln-calendar-editor,.support-page,.partner-task-modal,.wishlist-dialog) textarea,
.shop-search, .loy-filters input, .loy-filters select { min-height: 48px; border: 1px solid var(--ui-input-line); border-radius: 14px; color: var(--ui-text); background: var(--ui-solid); font-size: 16px; }
.shop-search input { font-size: 16px; color: var(--ui-text); }.settings-page label { font-size: 14px; font-weight: 550; color: var(--ui-text); }
.settings-layout { grid-template-columns: 210px minmax(0,1fr); }.settings-content { max-width: 720px; }.settings-card, .account-settings-card { padding: 24px; }.settings-navigation { position: sticky; top: 92px; padding: 6px; border: 1px solid var(--ui-line); border-radius: 20px; background: var(--ui-raised); }.settings-navigation a { border-radius: 14px; padding: 14px; color: var(--ui-muted); }.settings-navigation a[aria-current=page] { background: var(--ui-tint); color: var(--ui-tint-text); }.settings-navigation small { font-size: 12px; }
.account-settings-identity { background: var(--ui-fill); border-color: var(--ui-line); border-radius: 18px; }.account-settings-person small, .account-settings-person p { color: var(--ui-muted); }.eg-appearance { display: flex; gap: 16px; align-items: center; justify-content: space-between; }.eg-appearance p { color: var(--ui-muted); font-size: 14px; }.eg-appearance input { width: 24px; height: 44px; flex-shrink: 0; }
.cal-day-panel > header { background: var(--ui-fill); border-color: var(--ui-line); }.ln-calendar-page button, .ln-calendar-editor button, .loyalty-page button, .loy-dialog button { min-height: 44px; }.ln-calendar-page .cal-cell { min-height: 96px; border-color: var(--ui-line); background: transparent; color: var(--ui-text); }.ln-calendar-page .cal-cell.is-selected { background: var(--ui-tint); box-shadow: inset 0 0 0 2px var(--ui-tint-text); }.ln-calendar-page .cal-cell.is-today > b { color: white; background: var(--ui-accent); border-radius: 50%; }.cal-event { background: var(--ui-fill); border-color: var(--ui-line); color: var(--ui-text); }.cal-event-actions button { min-height: 44px; }.cal-event p { font-size: 14px; }
.partner-task-card h2 { font-size: 21px; }.store-section-heading h2 { font-size: 22px; }.store-manage-copy { min-width: 0; }.store-manage-copy h3 { font-size: 16px; white-space: normal; overflow-wrap: anywhere; }.partner-task-summary, .partner-store-summary { margin-top: 0; }.store-manage-row { border-color: var(--ui-line); }.shop-category, .shop-categories button { background: var(--ui-fill); color: var(--ui-muted); border-color: var(--ui-line); }.shop-categories button.active { background: var(--ui-tint); color: var(--ui-tint-text); }
.couple-room-hero, .wishlist-hero, .support-hero { background: var(--ui-glass); border: 1px solid var(--ui-line); box-shadow: var(--ui-shadow); border-radius: 28px; color: var(--ui-text); }.couple-room-hero::before, .couple-room-hero::after { display: none; }.couple-room-hero p, .wishlist-hero p, .support-hero p { color: var(--ui-muted); }.wishlist-page { padding-bottom: 40px; }.wishlist-topbar a, .wishlist-topbar button { color: var(--ui-text); }.wishlist-card-media { background: var(--ui-fill); }.wishlist-card-body { background: transparent; }.wishlist-chip { background: var(--ui-tint); color: var(--ui-tint-text); }
.root-shell { background: transparent; color: var(--ui-text); }.root-sidebar { background: var(--ui-raised); border-color: var(--ui-line); }.root-sidebar button, .root-topbar { color: var(--ui-text); background: transparent; }.root-content { min-width: 0; }.root-panel table { color: var(--ui-text); }.root-panel :is(th,td) { border-color: var(--ui-line); }.root-panel th { background: var(--ui-solid); }.root-panel tbody tr:hover { background: var(--ui-fill); }
.rbac-root-shell, .rbac-dialog-backdrop, .rbac-no-access { --rbac-purple: var(--ui-tint-text); --rbac-purple-dark: var(--ui-tint-text); --rbac-ink: var(--ui-text); --rbac-muted: var(--ui-muted); --rbac-line: var(--ui-line); --rbac-card: var(--ui-solid); --rbac-text-caption: 13px; --rbac-text-supporting: 14px; --rbac-text-body: 16px; --rbac-text-control: 16px; color: var(--ui-text); }
.rbac-root-shell { background: transparent; }.rbac-sidebar { background: var(--ui-raised); }.rbac-page { min-width: 0; }.rbac-hero { background: var(--ui-glass); }.rbac-panel, .rbac-card { border: 1px solid var(--ui-line); border-radius: 24px; background: var(--ui-solid); }
.support-ticket-list, .support-message, .support-summary article { background: var(--ui-fill); color: var(--ui-text); border-color: var(--ui-line); }.support-message.own { background: var(--ui-tint); }
/* Conversation metadata wraps independently; the sender never competes with a date. */
.support-page :is(.support-original-message,.support-thread-message) { grid-template-columns: 28px minmax(0,1fr); gap: 10px; }
.support-page .support-original-message { padding: 16px; }
.support-page .support-thread { margin-inline: 16px; }
.support-page .support-thread-message { padding: 12px 0; }
.support-page .support-message-avatar { width: 28px; height: 28px; border-radius: 9px; font-size: 13px; }
.support-page :is(.support-original-message,.support-thread-message) > div:last-child { min-width: 0; }
.support-page :is(.support-original-message,.support-thread-message) > div:last-child > header { flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.support-page :is(.support-original-message,.support-thread-message) header b { flex: 0 1 auto; min-width: 0; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.support-page .support-thread-message header > span { padding: 2px 6px; font-size: 11px; line-height: 1.5; font-weight: 500; text-transform: none; background: var(--ui-tint); }
.support-page :is(.support-original-message,.support-thread-message) header time { font-size: 12px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.support-page :is(.support-original-message,.support-thread-message) p { margin-top: 6px; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; color: var(--ui-text); }
.support-page .support-reply-form { margin: 8px 16px 16px; padding: 12px; }
.support-page .support-reply-form textarea { min-height: 84px; font-size: 16px; }
.support-page .support-reply-form button { min-height: 44px; }
@media (max-width:767px) {
  .support-page :is(.support-original-message,.support-thread-message) header time { flex-basis: 100%; margin-left: 0; }
  .support-page .support-status-flow { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 12px 16px; overflow: visible; }
  .support-page .support-status-flow > div { flex-direction: row; gap: 6px; text-align: left; }
  .support-page .support-status-flow > div::after { display: none; }
  .support-page .support-status-flow small { max-width: none; font-size: 12px; font-weight: 500; white-space: normal; }
  .support-page .support-status-flow > div > span { width: 22px; height: 22px; flex-shrink: 0; font-size: 12px; }
}

/* Codes and original card photos are intentionally NOT glass. */
.loy-card-face { color: #fff; }.loy-code, .loy-barcode, .loy-qr, .loy-code-canvas { background: #fff; color: #000; filter: none; backdrop-filter: none; box-shadow: none; }.loy-code svg, .loy-code canvas, .loy-barcode svg { background: #fff; filter: none; }.loy-auto-hint, .loy-code-options { background: var(--ui-fill); border-color: var(--ui-line); color: var(--ui-muted); }.loy-card-photo { filter: none; }
.loy-dialog .loy-colors button { width: 44px; height: 44px; min-height: 44px; }

.wishlist-hero > div > span, .wishlist-public-hero > span:last-child { color: var(--ui-muted); }
.wishlist-public-hero, .wishlist-summary article, .loy-empty { background: var(--ui-glass); color: var(--ui-text); border-color: var(--ui-line); }
.wishlist-modal { background: var(--ui-solid); color: var(--ui-text); border-color: var(--ui-line); }
.wishlist-standalone:has(.wishlist-hero) .wishlist-page { padding-bottom: calc(108px + env(safe-area-inset-bottom,0px)); }
.ln-notification-settings-card, .ln-install-card, .ln-pwa-card { background: var(--ui-solid); border: 1px solid var(--ui-line); color: var(--ui-text); box-shadow: var(--ui-shadow); }
.ln-pwa-card { background: var(--ui-pwa-surface); }
.ln-notification-header { padding: 16px; gap: 8px; flex-wrap: wrap; min-height: 80px; }.ln-notification-header h2 { white-space: normal; line-height: 1.25; }.ln-notification-header__actions { margin-left: auto; }
.ln-notification-header__actions > button, .ln-notification-item__actions button { min-height: 44px; min-width: 44px; }.ln-notification-item__copy p { font-size: 14px; }.ln-notification-item__copy h3 { font-size: 16px; }
.ln-notification-item__meta { flex-wrap: wrap; gap: 4px 12px; }.ln-notification-item__meta b { font-size: 12px; letter-spacing: .04em; }.ln-notification-item__meta time { font-size: 12px; }.ln-notification-item__copy strong { white-space: normal; font-size: 16px; line-height: 1.35; }.ln-notification-item__dot { background: var(--ui-tint-text); box-shadow: none; }
@media (min-width:768px) { .ln-notification-layer .ln-notification-panel { top: 80px; bottom: auto; height: min(760px,calc(100dvh - 104px)); } }
@media (max-width:767px) { .ln-notification-layer .ln-notification-panel { left: 8px; } }
.ln-pwa-button, .ln-install-card button { background: linear-gradient(#8752d4,#7440bf); color: white; border-color: var(--ui-line); min-height: 48px; }
.ln-notification-settings-card h3 { font-size: 18px; }.ln-notification-setting-row b { font-size: 16px; }.ln-notification-setting-row small, .ln-notification-settings-card header p { font-size: 14px; }
.ln-switch { width: 50px; height: 44px; flex-basis: 50px; background: transparent; }.ln-switch::before { content: ''; position: absolute; inset: 7px 0; border: 1px solid var(--ui-input-line); border-radius: 999px; background: var(--ui-switch-off); }.ln-switch i { top: 10px; left: 3px; width: 24px; height: 24px; background: white; }.ln-switch.is-on { background: transparent; }.ln-switch.is-on::before { background: var(--ui-accent); border-color: var(--ui-accent); }.ln-switch.is-on i { transform: translateX(20px); }
.ln-quiet-hours, .ln-quiet-hours.is-enabled { max-height: none; opacity: 1; margin-top: 12px; overflow: visible; transition: none; }.ln-quiet-hours input { min-height: 48px; font-size: 16px; }.ln-quiet-hours:not(.is-enabled) { opacity: .65; }
.settings-page label.eg-appearance { flex-direction: row; }.settings-page .eg-appearance input { width: 24px; padding: 0; height: 44px; }
.eg-theme-picker { border: 0; padding: 0; margin: 20px 0 0; min-width: 0; }
.eg-theme-picker legend { padding: 0; margin-bottom: 12px; font-size: 16px; font-weight: 550; }
.eg-theme-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.settings-page label.eg-theme-option { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 52px; margin: 0; padding: 12px; border: 1px solid var(--ui-input-line); border-radius: 16px; background: var(--ui-fill); cursor: pointer; font-size: 16px; }
.settings-page .eg-theme-option input { width: 20px; height: 20px; min-height: 0; margin: 0; padding: 0; flex-shrink: 0; }
.settings-page label.eg-theme-option:has(input:checked) { color: var(--ui-tint-text); background: var(--ui-tint); border-color: var(--ui-tint-text); }
.eg-theme-option:focus-within { outline: 3px solid var(--ui-tint-text); outline-offset: 3px; }
.settings-page .eg-theme-hint { margin: 12px 0 24px; color: var(--ui-muted); font-size: 14px; }
.eg-appearance-card .eg-appearance { border-top: 1px solid var(--ui-line); padding-top: 20px; }
.partner-task-meta b, .partner-task-meta strong { color: var(--ui-text); }.partner-task-meta small { color: var(--ui-muted); }
.eg-purchase-confirm footer { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }.eg-purchase-confirm h2 { margin-top: 0; }.eg-purchase-confirm p { color: var(--ui-muted); font-size: 16px; }
.eg-media-unavailable::after { content: 'Фото недоступно'; display: grid; place-items: center; padding: 16px; color: var(--ui-muted); font-size: 14px; background: var(--ui-surface); }
@media (max-width:767px) { .ln-notification-category-settings { grid-template-columns: minmax(0,1fr); } }
/* Forms and transient surfaces use a denser, readable material. */
.partner-task-modal-backdrop, .root-modal-backdrop, .account-settings-backdrop, .ln-notification-backdrop, .page-scrim { background: #0007; backdrop-filter: blur(4px); z-index: var(--z-backdrop); }
dialog::backdrop { background: #0007; backdrop-filter: blur(4px); }
.partner-task-modal, .root-modal, .account-settings-modal, .loy-dialog, .ln-calendar-editor, .wishlist-dialog, .ln-command-dialog { color: var(--ui-text); background: var(--ui-solid); border: 1px solid var(--ui-line); border-radius: 28px; box-shadow: var(--ui-shadow-float); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow-y: auto; overscroll-behavior: contain; }
.partner-task-modal, .root-modal { z-index: var(--z-modal); }.loy-dialog-head, .cal-editor-head, .account-settings-header { background: var(--ui-solid); color: var(--ui-text); border-color: var(--ui-line); }.loy-dialog-close, .cal-close { min-width: 44px; min-height: 44px; color: var(--ui-text); background: var(--ui-fill); }
.loy-dialog.loy-cashier { max-width: none; width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; background: #fff; color: #171717; }.loy-cashier::backdrop { background: #fff; backdrop-filter: none; }
.ln-notification-panel { z-index: var(--z-modal); width: min(420px,calc(100vw - 32px)); color: var(--ui-text); background: var(--ui-solid); border: 1px solid var(--ui-line); border-radius: 24px; box-shadow: var(--ui-shadow-float); }.ln-notification-header, .ln-notification-footer, .ln-notification-settings { background: var(--ui-solid); color: var(--ui-text); }.ln-notification-item, .ln-notification-setting, .ln-notification-empty { background: transparent; border-color: var(--ui-line); }.ln-notification-item.is-unread { background: var(--ui-tint); }.ln-notification-item p, .ln-notification-item time { color: var(--ui-muted); }
.ln-command-dialog { padding: 0; width: min(560px,calc(100vw - 32px)); }.ln-command-dialog header { padding: 20px; border-bottom: 1px solid var(--ui-line); }.ln-command-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; }.ln-command-heading h2 { margin: 0; font-size: 20px; min-width: 0; }.ln-command-heading button { width: 44px; height: 44px; background: var(--ui-fill); color: var(--ui-text); border: 0; border-radius: 50%; font-size: 24px; }.ln-command-dialog input { width: 100%; margin-top: 16px; min-height: 48px; border: 1px solid var(--ui-input-line); border-radius: 14px; padding: 12px; background: var(--ui-fill); color: var(--ui-text); font-size: 16px; }.ln-command-list { display: grid; gap: 4px; padding: 12px; max-height: 55dvh; overflow-y: auto; }.ln-command-list button { display: flex; align-items: center; gap: 12px; text-align: left; padding: 12px 16px; min-height: 48px; border: 0; border-radius: 14px; color: var(--ui-text); background: transparent; font-size: 16px; }.ln-command-list svg { width: 22px; height: 22px; color: var(--ui-tint-text); }.ln-command-dialog footer { padding: 12px 24px; color: var(--ui-muted); font-size: 12px; }
.ln-command-actions { display: flex; gap: 8px; flex-shrink: 0; }.ln-command-actions button { display: grid; place-items: center; cursor: pointer; }.ln-command-actions svg { width: 22px; height: 22px; }
.ln-dock-hint,.ln-dock-status { margin: 0; padding: 12px 20px; color: var(--ui-muted); font-size: 13px; line-height: 1.5; }
.ln-dock-editor.ln-command-list { position: relative; gap: 6px; padding: 8px; overscroll-behavior: contain; scroll-behavior: auto; }
.ln-dock-row { position: relative; display: grid; grid-template-columns: 20px 22px minmax(0,1fr) 88px 44px; gap: 6px; align-items: center; min-width: 0; padding: 8px; border: 1px solid var(--ui-line); border-radius: 16px; background: var(--ui-surface); color: var(--ui-text); user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.ln-dock-row[data-pinned=true] { background: var(--ui-tint); }.ln-dock-row.is-held { border-color: var(--ui-tint-text); }.ln-dock-row.is-dragging { z-index: 2; background: var(--ui-surface); box-shadow: var(--ui-shadow-float); outline: 2px solid var(--ui-tint-text); will-change: transform; }
.ln-dock-position { font-size: 12px; color: var(--ui-muted); text-align: center; font-variant-numeric: tabular-nums; }.ln-dock-copy { min-width: 0; }.ln-dock-copy b { display: block; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }.ln-dock-copy small { display: block; margin-top: 3px; font-size: 11px; line-height: 1.35; color: var(--ui-muted); }
.ln-dock-moves { display: flex; }.ln-dock-row button { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 12px; font-size: 20px; cursor: pointer; }.ln-dock-row button:disabled { opacity: .35; cursor: default; }.ln-dock-row .ln-dock-handle { touch-action: none; cursor: grab; }.ln-dock-row.is-dragging .ln-dock-handle { cursor: grabbing; }
.ln-dock-reset { display: block; min-height: 44px; margin: 0 20px 16px; padding: 8px 12px; border: 1px solid var(--ui-line); border-radius: 12px; color: var(--ui-tint-text); background: var(--ui-fill); font: inherit; font-size: 14px; cursor: pointer; }
@media(max-width:480px) { .ln-dock-row { grid-template-columns: 16px minmax(0,1fr) 88px 44px; gap: 4px; padding: 6px; }.ln-dock-symbol { display: none; } }
.login-screen { background: transparent; min-height: 100vh; min-height: 100svh; height: auto; overflow: visible; padding: 48px 24px; }.login-screen::before, .login-screen::after { display: none; }.login-card, .login-card.registration-card, .email-verification-card { background: var(--ui-solid); color: var(--ui-text); border: 1px solid var(--ui-line); border-radius: 32px; box-shadow: var(--ui-shadow-float); max-width: 460px; padding: 36px; }.login-card h1 { font-size: 36px; }.login-card p, .login-card label, .login-card small { color: var(--ui-muted); }.login-card button[type=submit], .login-submit { background: linear-gradient(#8752d4,#7440bf); color: white; min-height: 48px; border-radius: 16px; }.login-input { background: var(--ui-fill); border-color: var(--ui-input-line); }.login-input input { background: transparent; color: var(--ui-text); }.login-card a { color: var(--ui-tint-text); }
.login-card .input-wrap input { background: transparent; border: 0; border-radius: 0; padding: 0; min-width: 0; font-size: 16px; }
.login-card .login-input input { background: transparent; border: 0; border-radius: 0; min-width: 0; font-size: 16px; }
.wallet-card svg, .coin-icon { color: var(--ui-coin); }
.home-topbar .profile-area > .avatar-pair { order: -1; }
@media (max-width:767px) { .home-topbar .profile-area > .avatar-pair { margin-right: auto; }.home-topbar .avatar-pair span { width: 36px; height: 36px; }.eg-metric strong { overflow-wrap: anywhere; } }
.ln-notification-toast { z-index: var(--z-message); color: var(--ui-text); background: var(--ui-solid); border: 1px solid var(--ui-line); box-shadow: var(--ui-shadow-float); }
.eg-offline { position: fixed; z-index: var(--z-popover); bottom: 24px; left: 50%; transform: translateX(-50%); width: max-content; max-width: min(560px,calc(100% - 32px)); padding: 10px 16px; border-radius: 16px; background: var(--ui-solid); color: var(--ui-warning); border: 1px solid var(--ui-line); font-size: 14px; line-height: 1.4; box-shadow: var(--ui-shadow); pointer-events: none; }
@media (max-width:767px) { .eg-offline { bottom: calc(100px + env(safe-area-inset-bottom,0px)); } }
html[data-eg-overlay] .eg-offline, html[data-eg-keyboard] .eg-offline { display: none; }
.eg-wco-drag { display: none; }

@media (hover:hover) { .sidebar-nav button:hover, .profile-menu button:hover, .ln-command-list button:hover, .eg-task-row:hover, .eg-button:hover { background: var(--ui-fill); color: var(--ui-text); transform: none; }.eg-primary:hover { background: var(--ui-accent-hover); }.eg-reward-card:hover { border-color: var(--ui-tint-text); } }
@media (min-width:1280px) { .eg-home-grid:not(:has(.eg-next-event)) > .eg-metrics { grid-column: 1/-1; }.eg-home-grid:not(:has(.eg-today)) > .eg-personal { grid-column: span 6; } }
@media (max-width:1279px) and (min-width:768px) { :root { --ui-sidebar: 208px; --ui-gutter: 16px; --ui-gap: 16px; }.ln-quick-open { left: 240px; top: 20px; width: 250px; }.eg-home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.eg-home-grid > * { grid-column: span 1; grid-row: auto; }.eg-home-grid > .eg-next-event { grid-column: 1/-1; grid-row: 1; }.eg-home-grid > .eg-metrics, .eg-home-grid > .eg-store { grid-column: 1/-1; }.eg-rewards { grid-template-columns: repeat(4,minmax(0,1fr)); }.settings-layout { grid-template-columns: 180px minmax(0,1fr); } }
@media (min-width:768px) and (max-width:1023px) { :root { --ui-sidebar: 80px; }.sidebar { padding: 16px 8px; }.brand { padding: 0 6px 24px; }.brand > div:last-child, .sidebar-nav button span, .sidebar-bottom { display: none; }.sidebar-nav button { justify-content: center; padding: 12px 4px; }.sidebar-nav button { font-size: 0; }.ln-quick-open { left: 112px; width: 230px; }.settings-layout { grid-template-columns: minmax(0,1fr); }.settings-navigation { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }.eg-rewards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
  :root { --ui-gutter: 16px; --ui-gap: 16px; }
  .app-shell { display: block; padding: calc(8px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(108px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px)); }
  .sidebar, .mobile-menu-button, .page-scrim, .ln-quick-open { display: none; }.dashboard, .dashboard.tasks-dashboard { padding: 0; margin: 0; }
  .home-topbar, .dashboard > .page-profile-area { position: relative; top: auto; height: 56px; min-height: 56px; margin-bottom: 20px; justify-content: flex-end; }.profile-button > div:not(.avatar-pair) { display: none; }.profile-button { padding: 2px 6px; }.home-topbar .profile-area { width: 100%; justify-content: flex-end; }.home-topbar .avatar-pair { margin-right: auto; }.home-topbar .profile-button { margin-right: auto; }.profile-menu { right: 0; }
  .eg-welcome h1, :is(.tasks-page-header,.shop-page-header,.settings-page-header,.cal-page-header,.loy-heading) h1 { font-size: 28px; line-height: 1.2; }.eg-welcome p { font-size: 15px; }.eg-welcome { margin-bottom: 20px; }
  .eg-home-grid { display: flex; flex-direction: column; gap: 16px; }.eg-panel { padding: 20px; }.eg-metrics { order: 0; gap: 8px; }.eg-next-event { order: 1; min-height: 200px; }.eg-today { order: 2; }.eg-mini-calendar { order: 3; }.eg-couple { order: 4; }.eg-store { order: 5; }.eg-personal { order: 6; }.eg-metric { padding: 16px 12px; gap: 8px; }.eg-metric strong { font-size: 28px; }.eg-metric button { font-size: 12px; }.eg-metric > span { font-size: 12px; }.eg-next-event h2 { font-size: 28px; }.eg-rewards { grid-template-columns: repeat(2,minmax(0,1fr)); }.eg-month-grid button { min-height: 44px; }.eg-couple-avatars { max-width: 260px; margin-inline: auto; }.eg-task-row { padding: 12px 8px; gap: 8px; }.eg-card-heading { gap: 8px; }
  .eg-dock { position: fixed; z-index: var(--z-dock); bottom: calc(12px + env(safe-area-inset-bottom,0px)); left: max(12px,env(safe-area-inset-left,0px)); right: max(12px,env(safe-area-inset-right,0px)); display: grid; grid-template-columns: repeat(var(--dock-count,5),minmax(0,1fr)); padding: 6px; min-height: 72px; border: 1px solid var(--ui-line); border-radius: 28px; background: var(--ui-raised); backdrop-filter: var(--ui-raised-blur); -webkit-backdrop-filter: var(--ui-raised-blur); box-shadow: var(--ui-shadow-float); }
  .eg-dock button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 58px; min-width: 0; padding: 6px 0; border: 0; border-radius: 20px; background: transparent; color: var(--ui-muted); font-size: 11px; line-height: 1.25; }.eg-dock svg { width: 22px; height: 22px; }.eg-dock button[aria-current=page] { color: var(--ui-tint-text); background: var(--ui-tint); }.eg-dock button[aria-disabled=true] { color: var(--ui-caption); }
  html[data-eg-overlay] .eg-dock, html[data-eg-keyboard] .eg-dock { display: none; }.eg-more { margin: auto auto 0; width: 100%; max-width: 100%; border-radius: 28px 28px 0 0; padding-bottom: env(safe-area-inset-bottom,0px); }.eg-more .ln-command-list { max-height: 55dvh; }
  .tasks-page-header, .shop-page-header, .settings-page-header, .cal-page-header, .loy-heading { flex-wrap: wrap; gap: 16px; padding-bottom: 20px; }.tasks-header-actions, .shop-header-actions { flex-wrap: wrap; gap: 8px; }.partner-task-tabs { flex-wrap: wrap; }.partner-task-tabs button { flex: 1 1 auto; padding: 10px; }.partner-task-summary, .partner-store-summary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.partner-summary-primary, .store-summary-main { grid-column: 1/-1; min-height: 120px; padding: 20px; }.store-manage-row { flex-wrap: wrap; }.store-manage-copy { flex: 1; }.store-section-heading { flex-wrap: wrap; gap: 12px; }
  .settings-layout { grid-template-columns: minmax(0,1fr); }.settings-navigation { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }.settings-navigation a { padding: 12px; }.settings-card, .account-settings-card { padding: 20px 16px; }.settings-content { width: 100%; }.account-settings-identity { flex-wrap: wrap; }
  .cal-workspace { gap: 16px; }.ln-calendar-page .cal-cell { min-height: 60px; padding: 6px 2px; }.cal-cell .cal-cell-events { font-size: 0; }.ln-calendar-page .cal-icon { width: 44px; }.loy-tabs button { padding: 10px 12px; }.loy-filters select { font-size: 16px; }
  .loy-dialog, .ln-calendar-editor, .wishlist-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); }.partner-task-modal, .root-modal { max-height: calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); }.partner-task-modal-backdrop, .root-modal-backdrop { padding: max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }
  .ln-notification-panel { width: calc(100% - 16px); right: 8px; bottom: max(8px,env(safe-area-inset-bottom,0px)); top: max(8px,env(safe-area-inset-top,0px)); max-height: calc(100dvh - 24px); }.ln-notification-toast, .ln-pwa-update-banner { bottom: calc(100px + env(safe-area-inset-bottom,0px)); }
  .couple-room-hero { padding: 24px; grid-template-columns: minmax(0,1fr); }.wishlist-page { width: calc(100% - 32px); }.wishlist-topbar { flex-wrap: wrap; gap: 12px; }.wishlist-hero, .support-hero { padding: 24px; gap: 24px; }.support-shell { width: calc(100% - 32px); }.support-summary { gap: 8px; }.support-summary article { padding: 12px 8px; }.support-summary small { font-size: 12px; }.root-content { padding: 20px 16px; }.root-panel { overflow-x: auto; }.root-panel table { min-width: 600px; }.root-sidebar { overflow-x: auto; }.root-sidebar nav button { min-width: 44px; }
  .login-screen { padding: max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom)); }.login-card, .login-card.registration-card, .email-verification-card { padding: 28px 22px; }.login-card h1 { font-size: 30px; }.login-options { flex-wrap: wrap; gap: 8px; }
}
@media (min-width:768px) { .eg-dock { display: none; } }
@media (max-width:359px) { .app-shell { padding-inline: 12px; }.eg-panel { padding: 16px; }.eg-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.eg-metric:first-child { grid-column: 1/-1; }.eg-rewards { grid-template-columns: minmax(0,1fr); }.eg-month-grid button { min-height: 36px; }.eg-dock button { font-size: 11px; }.settings-navigation { grid-template-columns: minmax(0,1fr); } }
@media (display-mode:window-controls-overlay) { .eg-wco-drag { display: block; position: fixed; top: env(titlebar-area-y,0px); left: env(titlebar-area-x,0px); width: env(titlebar-area-width,100%); height: env(titlebar-area-height,0px); -webkit-app-region: drag; pointer-events: none; background: var(--ui-bg); }.app-shell { padding-top: calc(var(--ui-gutter) + env(titlebar-area-height,0px)); }.ln-quick-open { top: calc(28px + env(titlebar-area-height,0px)); }button, a, input { -webkit-app-region: no-drag; } }
:root[data-reduced-transparency=true] { --ui-glass: var(--ui-opaque-glass); --ui-raised: var(--ui-opaque-raised); --ui-solid: var(--ui-opaque-solid); --ui-blur: none; --ui-raised-blur: none; --ui-shadow: none; }
html[data-reduced-transparency=true] body::before { background: var(--ui-bg); }
html[data-reduced-transparency=true] .eg-next-event { background: var(--ui-surface); }
@media (prefers-reduced-transparency:reduce) { :root, :root[data-theme] { --ui-glass: var(--ui-opaque-glass); --ui-raised: var(--ui-opaque-raised); --ui-solid: var(--ui-opaque-solid); --ui-blur: none; --ui-raised-blur: none; --ui-shadow: none; }body::before { background: var(--ui-bg); }.eg-next-event { background: var(--ui-surface); } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { :root, :root[data-theme] { --ui-glass: var(--ui-opaque-glass); --ui-raised: var(--ui-opaque-raised); --ui-solid: var(--ui-opaque-solid); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }*,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
@media (prefers-contrast:more) { :root, :root[data-theme] { --ui-muted: var(--ui-contrast-muted); --ui-caption: var(--ui-contrast-caption); --ui-line: var(--ui-contrast-line); --ui-glass: var(--ui-opaque-glass); --ui-raised: var(--ui-opaque-raised); --ui-solid: var(--ui-opaque-solid); --ui-blur: none; --ui-raised-blur: none; } }
@media (forced-colors:active) { body::before { display: none; }* { box-shadow: none; backdrop-filter: none; }button, input, select, textarea { border: 1px solid ButtonText; }.eg-dock button[aria-current=page], .sidebar-nav button.active { outline: 2px solid Highlight; } }
@media print { .ln-quick-open, .ln-skip-link, .eg-dock, .sidebar, .home-topbar { display: none; }.app-shell { display: block; } }
