/* OneSaver Polished FX build
   Applied build: Neural Web Nodes + Cyber Orange Pro + Luxury Vignette + Neon Trace + Deep Shadow + Scan Banner + Holo text.
   This file is intentionally layered over style.css so the existing layout/features stay intact. */
:root {
  --fx-bg: #030508;
  --fx-blue: #22d9ff;
  --fx-blue-deep: #1d63ff;
  --fx-orange: #ff8a2a;
  --fx-amber: #ffd18a;
  --fx-ink: rgba(2, 6, 10, 0.76);
  --fx-panel: rgba(6, 12, 18, 0.68);
  --fx-line: rgba(255, 255, 255, 0.13);
  --fx-line-hot: rgba(34, 217, 255, 0.34);
  --teal: #22d9ff;
  --cyan: #46edff;
  --blue: #246bff;
  --gold: #ff9b3d;
  --champagne: #ffdca8;
  --bg-panel: rgba(6, 12, 18, 0.70);
  --bg-panel-strong: rgba(3, 8, 14, 0.90);
  --line: rgba(255, 255, 255, 0.13);
  --line-strong: rgba(34, 217, 255, 0.32);
  --shadow: 0 34px 95px rgba(0, 0, 0, 0.62);
}

html { background: var(--fx-bg); }
body.os-polished-fx {
  background:
    radial-gradient(circle at 14% 14%, rgba(34, 217, 255, 0.11), transparent 32%),
    radial-gradient(circle at 74% 10%, rgba(255, 138, 42, 0.09), transparent 30%),
    radial-gradient(circle at 80% 82%, rgba(36, 107, 255, 0.10), transparent 34%),
    linear-gradient(135deg, #020407 0%, #050b11 48%, #020307 100%);
}

#os-fx-canvas {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: 0.95;
  filter: saturate(1.08) contrast(1.05);
  contain: strict;
  transform: translateZ(0);
}

.os-fx-vignette {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 34%, transparent 0 43%, rgba(0, 0, 0, 0.34) 74%, rgba(0, 0, 0, 0.62) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.38));
  opacity: 0.84;
}

.os-fx-scan {
  position: fixed;
  inset: -24%;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(112deg, transparent 0 38%, rgba(255, 255, 255, 0.075) 45%, transparent 54%),
    linear-gradient(90deg, transparent, rgba(34, 217, 255, 0.032), transparent);
  mix-blend-mode: screen;
  opacity: 0.54;
  animation: osFxScan 13s cubic-bezier(.42,0,.18,1) infinite;
  will-change: transform, opacity;
}

@keyframes osFxScan {
  0% { transform: translate3d(-18%, 10%, 0) rotate(0deg); opacity: 0.22; }
  48% { opacity: 0.62; }
  100% { transform: translate3d(32%, -12%, 0) rotate(5deg); opacity: 0.26; }
}

.site-header, main, .site-footer, .flash-stack { position: relative; z-index: 10; }
.bg-orb { opacity: 0.14; filter: blur(70px); z-index: 2; }
.bg-orb-one { background: var(--fx-blue); }
.bg-orb-two { background: var(--fx-orange); }
.bg-orb-three { background: var(--fx-blue-deep); }
.lux-grid { z-index: 2; opacity: 0.09; }

.site-header {
  background: linear-gradient(180deg, rgba(3, 9, 14, 0.82), rgba(3, 8, 13, 0.56));
  border-color: rgba(255,255,255,0.14);
  box-shadow: 0 22px 80px rgba(0,0,0,0.52), 0 0 0 1px rgba(34,217,255,0.035) inset;
}

.brand-text, h1 strong, .title-gradient, h1 em, .section-heading h1, .dashboard-hero h1 {
  background: linear-gradient(105deg, #ffffff 0%, #ffdca8 27%, #26dfff 52%, #ff8a2a 74%, #ffffff 100%);
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: osHoloText 8s linear infinite;
}

@keyframes osHoloText { to { background-position: 240% 0; } }

.btn {
  border-color: rgba(255,255,255,0.15);
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 16px 42px rgba(0,0,0,0.28);
}
.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(115deg, rgba(34,217,255,0.0), rgba(34,217,255,0.78), rgba(255,138,42,0.62), rgba(34,217,255,0.0));
  background-size: 260% 260%;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.0;
  transition: opacity .22s ease;
  animation: osNeonTrace 4.6s linear infinite;
}
.btn:hover::before, .btn-primary::before { opacity: 1; }
.btn-primary {
  color: #061014;
  background: linear-gradient(135deg, #ffe0a7 0%, #ff9b3d 42%, #35e6ff 100%);
  border-color: rgba(255,220,168,.68);
  box-shadow: 0 18px 54px rgba(255,138,42,0.16), 0 0 48px rgba(34,217,255,0.12), inset 0 1px 0 rgba(255,255,255,.36);
}
@keyframes osNeonTrace { to { background-position: 260% 0; } }

.glass-card, .auth-panel, .stat-card, .offer-card, .pricing-card, .site-header, .phone-glass, .claim-row, .ticket-card, .login-card, .detail-grid div, .stats-mini div {
  background:
    linear-gradient(180deg, rgba(255,255,255,.082), rgba(255,255,255,.032)),
    radial-gradient(circle at 14% 0%, rgba(34,217,255,.055), transparent 38%),
    rgba(2, 7, 12, .48);
  border-color: rgba(255,255,255,.135);
  box-shadow:
    0 34px 95px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 45px rgba(34,217,255,.035);
}
.glass-card:hover, .offer-card:hover, .card-choice-preview:hover, .card-select-option:hover {
  border-color: rgba(34,217,255,.32);
  box-shadow:
    0 38px 110px rgba(0,0,0,.62),
    0 0 58px rgba(34,217,255,.09),
    0 0 38px rgba(255,138,42,.045);
}

.business-strip, .discount-pill, .steps-row span.active, .status-dot, .selected-card-name {
  position: relative;
  overflow: hidden;
}
.business-strip::after, .discount-pill::after, .steps-row span.active::after, .status-dot::after, .selected-card-name::after {
  content: "";
  position: absolute;
  inset: -80% auto -80% -90%;
  width: 55%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: rotate(17deg);
  animation: osScanBanner 5.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes osScanBanner {
  0%, 18% { left: -95%; opacity: 0; }
  34% { opacity: .86; }
  54%, 100% { left: 132%; opacity: 0; }
}

.reveal, .hero, .auth-shell, .dashboard-hero, .digital-card-stage, .offer-grid, .management-grid, .business-layout {
  animation: osBlurUnfold .78s cubic-bezier(.2,.78,.18,1) both;
}
@keyframes osBlurUnfold {
  from { opacity: 0; transform: translateY(18px) scale(.988); filter: blur(10px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

.hero-card-wrap, .digital-card-large, .floating-preview {
  filter: drop-shadow(0 42px 95px rgba(0,0,0,.66)) drop-shadow(0 0 34px rgba(34,217,255,.10));
}
.hero-card-wrap::before {
  background: radial-gradient(circle at 42% 50%, rgba(34,217,255,.33), rgba(255,138,42,.10) 42%, transparent 66%);
}

.phone-map, .lux-map {
  background:
    linear-gradient(135deg, rgba(34,217,255,.18), transparent 34%),
    linear-gradient(45deg, rgba(255,138,42,.12), transparent 48%),
    radial-gradient(circle at 50% 45%, rgba(34,217,255,.08), transparent 45%),
    rgba(1,9,14,.70);
}

.table-status, .role-pill, .eyebrow, .discount-pill {
  box-shadow: 0 0 32px rgba(34,217,255,.05), inset 0 1px 0 rgba(255,255,255,.12);
}

@media (prefers-reduced-motion: reduce) {
  .os-fx-scan { display: none !important; }
  .brand-text, .section-heading h1, .dashboard-hero h1 { animation: none !important; }
}

@media (max-width: 720px) {
  #os-fx-canvas { opacity: .72; }
  .os-fx-vignette { opacity: .92; }
  .os-fx-scan { display: none; }
  .bg-orb { animation-duration: 28s; filter: blur(54px); }
}

/* Audit clean fix */
.brand-img{display:none!important;}

/* Theme switch: dark remains the untouched default; light only overrides colour surfaces. */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 5px 11px 5px 6px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: var(--muted-strong);
  background: rgba(255,255,255,.045);
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .3s ease, color .3s ease;
}
.theme-toggle:hover { transform: translateY(-1px); border-color: rgba(34,217,255,.34); }
.theme-toggle-track { position: relative; width: 58px; height: 30px; display: flex; align-items: center; justify-content: space-between; padding: 0 7px; border-radius: 999px; background: rgba(0,0,0,.3); box-shadow: inset 0 0 0 1px rgba(255,255,255,.09); }
.theme-toggle-icon { position: relative; z-index: 1; font-size: 14px; line-height: 1; }
.theme-toggle-sun { color: #ff9b3d; }
.theme-toggle-moon { color: #75e9ff; }
.theme-toggle-thumb { position: absolute; z-index: 0; left: 3px; top: 3px; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg,#263844,#0b131a); box-shadow: 0 5px 14px rgba(0,0,0,.36), 0 0 12px rgba(34,217,255,.16); transition: transform .35s cubic-bezier(.2,.8,.2,1), background .35s ease; }
html[data-theme="light"] .theme-toggle-thumb { transform: translateX(28px); background: linear-gradient(135deg,#fff,#a7e9f2); box-shadow: 0 5px 14px rgba(57,91,103,.2),0 0 14px rgba(52,121,217,.2); }

html[data-theme="light"] {
  color-scheme: light;
  --fx-bg: #f4f9fa;
  --fx-ink: rgba(236, 246, 248, .78);
  --fx-panel: rgba(255,255,255,.72);
  --fx-line: rgba(13,54,67,.14);
  --fx-line-hot: rgba(0,150,177,.34);
  --bg-main: #f4f9fa;
  --bg-deep: #eaf4f6;
  --bg-panel: rgba(255,255,255,.72);
  --bg-panel-strong: rgba(255,255,255,.92);
  --line: rgba(11,52,64,.14);
  --line-strong: rgba(0,151,179,.32);
  --teal: #008f9f;
  --cyan: #00a8be;
  --blue: #286bd6;
  --gold: #665fd6;
  --champagne: #4c63bd;
  --white-metal: #102f39;
  --text: #102f39;
  --muted: #58727b;
  --muted-strong: #355660;
  --success: #0a8d5a;
  --danger: #d73855;
  --shadow: 0 28px 80px rgba(31,68,80,.14);
  background: #f4f9fa;
}
html[data-theme="light"] body.os-polished-fx {
  background:
    radial-gradient(circle at 14% 14%, rgba(34,217,255,.12), transparent 32%),
    radial-gradient(circle at 74% 10%, rgba(255,138,42,.10), transparent 30%),
    radial-gradient(circle at 80% 82%, rgba(36,107,255,.08), transparent 34%),
    linear-gradient(135deg,#f8fcfd 0%,#edf6f8 48%,#fff9f2 100%);
}
html[data-theme="light"] .os-fx-vignette { background: radial-gradient(circle at 50% 34%, transparent 0 48%, rgba(34,73,84,.055) 100%); opacity: .68; }
html[data-theme="light"] .os-fx-scan { opacity: .25; mix-blend-mode: multiply; }
html[data-theme="light"] .lux-grid { opacity: .065; filter: invert(1); }
html[data-theme="light"] .site-header {
  background: linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,252,253,.72));
  border-color: rgba(18,65,78,.13);
  box-shadow: 0 18px 55px rgba(42,78,89,.12),0 0 0 1px rgba(255,255,255,.68) inset;
}
html[data-theme="light"] .brand-text,
html[data-theme="light"] h1 strong,
html[data-theme="light"] .title-gradient,
html[data-theme="light"] h1 em,
html[data-theme="light"] .section-heading h1,
html[data-theme="light"] .dashboard-hero h1 {
  background-image: linear-gradient(105deg,#173f49 0%,#008da3 27%,#3479d9 53%,#765fc7 76%,#173f49 100%);
  text-shadow: 0 10px 34px rgba(52,121,217,.10);
}
html[data-theme="light"] .eyebrow { color: #4964c5; }
html[data-theme="light"] .eyebrow > span { background: linear-gradient(90deg,#00a8be,#765fc7); }
html[data-theme="light"] .glass-card,
html[data-theme="light"] .auth-panel,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .offer-card,
html[data-theme="light"] .pricing-card,
html[data-theme="light"] .phone-glass,
html[data-theme="light"] .claim-row,
html[data-theme="light"] .ticket-card,
html[data-theme="light"] .login-card,
html[data-theme="light"] .detail-grid div,
html[data-theme="light"] .stats-mini div {
  background: linear-gradient(180deg,rgba(255,255,255,.88),rgba(246,251,252,.7)),radial-gradient(circle at 14% 0%,rgba(34,217,255,.09),transparent 38%);
  border-color: rgba(18,65,78,.13);
  box-shadow: 0 28px 75px rgba(40,77,88,.13),0 0 0 1px rgba(255,255,255,.78) inset,0 0 40px rgba(34,217,255,.055);
}
html[data-theme="light"] .btn,
html[data-theme="light"] .theme-toggle { color: var(--text); background: linear-gradient(180deg,rgba(255,255,255,.92),rgba(237,247,249,.82)); border-color: rgba(18,65,78,.15); box-shadow: 0 10px 30px rgba(34,72,83,.11); }
html[data-theme="light"] .btn-primary {
  color: #07171b;
  background: linear-gradient(135deg,#9ce9de 0%,#55d7e7 45%,#9b8ce8 100%);
  border-color: rgba(52,121,217,.22);
  box-shadow: 0 16px 42px rgba(52,121,217,.14),0 0 32px rgba(0,168,190,.10);
}
html[data-theme="light"] .theme-toggle-track { background: rgba(16,61,74,.1); box-shadow: inset 0 0 0 1px rgba(16,61,74,.12); }
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select { color: var(--text); background-color: rgba(255,255,255,.8); border-color: rgba(18,65,78,.16); }
html[data-theme="light"] .flash { background: rgba(255,255,255,.92); }
html[data-theme="light"] .site-footer { border-color: rgba(18,65,78,.13); }

@media (max-width: 720px) {
  .theme-toggle { width: max-content; }
  .theme-toggle-label { display: none; }
}

/* Light-theme surface audit: customer, business, management and support accounts. */
html[data-theme="light"] .card-security-banner,
html[data-theme="light"] .card-status-panel,
html[data-theme="light"] .preference-fieldset,
html[data-theme="light"] .locked-card-panel,
html[data-theme="light"] .locked-card-text-only,
html[data-theme="light"] .profile-card-note-block,
html[data-theme="light"] .locked-signature-preview,
html[data-theme="light"] .card-category-block,
html[data-theme="light"] .card-selector-group,
html[data-theme="light"] .upgrade-card-group,
html[data-theme="light"] .location-picker-block,
html[data-theme="light"] .offer-image-editor,
html[data-theme="light"] .publishing-status-note,
html[data-theme="light"] .finish-conversation-card,
html[data-theme="light"] .conversation-closed-panel,
html[data-theme="light"] .management-feedback-summary,
html[data-theme="light"] .email-queue-item,
html[data-theme="light"] .support-message,
html[data-theme="light"] .prepared-checkout,
html[data-theme="light"] .family-manual-link,
html[data-theme="light"] .linked-discount-option,
html[data-theme="light"] .offer-speed-note {
  color: var(--text);
  background: linear-gradient(145deg,rgba(255,255,255,.9),rgba(232,245,247,.76)) !important;
  border-color: rgba(18,65,78,.15) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9),0 15px 38px rgba(38,76,87,.08);
}

html[data-theme="light"] .card-category-block {
  background: linear-gradient(145deg,rgba(255,255,255,.88),rgba(226,241,244,.76)) !important;
  box-shadow: 0 24px 65px rgba(38,76,87,.12),inset 0 1px 0 #fff;
}
html[data-theme="light"] .card-selector-group,
html[data-theme="light"] .upgrade-card-group { background: rgba(255,255,255,.64) !important; }
html[data-theme="light"] .card-category-block > header,
html[data-theme="light"] .card-category-block > div:first-child,
html[data-theme="light"] .card-category-block h2,
html[data-theme="light"] .card-category-block h3 { color: var(--text); }

html[data-theme="light"] .preference-chip span,
html[data-theme="light"] .discount-category-chip,
html[data-theme="light"] .support-quick-prompts button,
html[data-theme="light"] .discover-filter button,
html[data-theme="light"] .mini-btn {
  color: var(--muted-strong);
  background: rgba(255,255,255,.72);
  border-color: rgba(18,65,78,.16);
}
html[data-theme="light"] .preference-chip input:checked + span,
html[data-theme="light"] .discount-category-chip.active,
html[data-theme="light"] .discover-filter button.active {
  color: #08323d;
  background: linear-gradient(135deg,rgba(255,210,150,.7),rgba(92,225,239,.58));
  border-color: rgba(0,151,179,.4);
}

html[data-theme="light"] .digital-card-clean-page .image-card-visual {
  background: radial-gradient(circle at 50% 8%,rgba(56,232,255,.16),transparent 46%),linear-gradient(155deg,#f7fbfc,#dce9ec) !important;
  border-color: rgba(18,65,78,.16);
  box-shadow: inset 0 1px 0 #fff,0 30px 76px rgba(38,76,87,.16);
}
html[data-theme="light"] .digital-card-clean-page .flip-hint,
html[data-theme="light"] .digital-card-clean-page .digital-meta-strip {
  color: var(--text);
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(18,65,78,.18) !important;
  box-shadow: 0 12px 32px rgba(38,76,87,.1),inset 0 1px 0 #fff;
}
html[data-theme="light"] .digital-card-clean-page .digital-meta-strip span { color: var(--muted); }
html[data-theme="light"] .digital-card-clean-page .digital-meta-strip strong { color: var(--text); }
html[data-theme="light"] .digital-card-clean-page .membership-image-face { background: #e4eff1; }

html[data-theme="light"] .management-console-nav,
html[data-theme="light"] .support-agent-console,
html[data-theme="light"] .agent-reservation-banner,
html[data-theme="light"] .management-search,
html[data-theme="light"] .business-update-row,
html[data-theme="light"] .discount-filter-panel,
html[data-theme="light"] .family-member-row,
html[data-theme="light"] .customer-advert-card,
html[data-theme="light"] .discover-card {
  color: var(--text);
  background: linear-gradient(180deg,rgba(255,255,255,.9),rgba(235,246,248,.82)) !important;
  border-color: rgba(18,65,78,.15) !important;
  box-shadow: 0 18px 48px rgba(38,76,87,.1);
}
html[data-theme="light"] .support-conversation-item:hover,
html[data-theme="light"] .support-conversation-item.active,
html[data-theme="light"] .management-thread:hover,
html[data-theme="light"] .management-thread.active { background: rgba(0,168,190,.09); border-color: rgba(0,151,179,.22); }
html[data-theme="light"] .message-user { background: linear-gradient(135deg,rgba(255,205,139,.34),rgba(56,232,255,.22)) !important; }
html[data-theme="light"] .message-system { background: rgba(255,190,94,.14) !important; }
html[data-theme="light"] .management-console-nav nav button,
html[data-theme="light"] .management-console-nav nav a { color: var(--muted-strong); }

html[data-theme="light"] .premium-form input:focus,
html[data-theme="light"] .premium-form textarea:focus { background: #fff; }
html[data-theme="light"] .premium-form select,
html[data-theme="light"] .discount-filter-panel select,
html[data-theme="light"] .linked-discount-field select,
html[data-theme="light"] .finish-conversation-card select,
html[data-theme="light"] .private-feedback-form select,
html[data-theme="light"] .management-create-business select,
html[data-theme="light"] .management-search input,
html[data-theme="light"] .discount-filter-grid input,
html[data-theme="light"] .redeem-offer-form input[type="number"],
html[data-theme="light"] .family-manual-link input {
  color: var(--text);
  background: rgba(255,255,255,.9) !important;
  border-color: rgba(18,65,78,.18);
}
html[data-theme="light"] select option { color: #102f39; background: #fff; }

html[data-theme="light"] .discover-map,
html[data-theme="light"] .business-location-map { background: #dbe9ec; }
html[data-theme="light"] .leaflet-bar a { color: #102f39 !important; background: #fff !important; border-color: #cadde1 !important; }
html[data-theme="light"] .leaflet-popup-content-wrapper,
html[data-theme="light"] .leaflet-popup-tip { color: #102f39; background: #fff; }
html[data-theme="light"] .os-map-popup span,
html[data-theme="light"] .os-map-popup small { color: #58727b; }
html[data-theme="light"] .os-map-popup b,
html[data-theme="light"] .os-map-popup a { color: #007f93; }

html[data-theme="light"] .trust-verified,
html[data-theme="light"] .trust-trusted { color: #08734e !important; }
html[data-theme="light"] .trust-review_required { color: #9b4d0b !important; }

@media (max-width: 620px) {
  html[data-theme="light"] .management-console-nav nav {
    background: rgba(244,249,250,.97);
  }
  html[data-theme="light"] .management-console-nav nav button,
  html[data-theme="light"] .management-console-nav nav a {
    color: var(--text);
    background: rgba(255,255,255,.88);
    border-color: rgba(18,65,78,.13);
  }
}
