/* OrbitPay Display Mode — light / dark hardened */
:root,
[data-theme="dark"] {
  color-scheme: dark;
  --op-bg: #000000;
  --op-bg-elevated: #111114;
  --op-bg-sheet: #16161a;
  --op-surface: rgba(255, 255, 255, 0.07);
  --op-surface-2: rgba(255, 255, 255, 0.1);
  --op-border: rgba(255, 255, 255, 0.12);
  --op-text: #ffffff;
  --op-text-secondary: rgba(255, 255, 255, 0.55);
  --op-text-tertiary: rgba(255, 255, 255, 0.4);
  --op-accent: #ffffff;
  --op-accent-text: #000000;
  --op-blue: #3D6BFF;
  --op-green: #34C759;
  --op-amber: #FF9F0A;
  --op-danger: #FF453A;
  --op-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
  --op-glow: 0 0 24px rgba(61, 107, 255, 0.25);
  --op-ring-track: rgba(255, 255, 255, 0.1);
  --op-input-bg: rgba(255, 255, 255, 0.07);
  --op-bot: url("/assets/bm/bot-dark-ui.png");
  --op-bot-sm: url("/assets/bm/bot-for-dark-128.png");
  --op-noise: none;
}

[data-theme="light"] {
  color-scheme: light;
  --op-bg: #F2F4F8;
  --op-bg-elevated: #FFFFFF;
  --op-bg-sheet: #FFFFFF;
  --op-surface: rgba(11, 31, 74, 0.04);
  --op-surface-2: rgba(11, 31, 74, 0.07);
  --op-border: rgba(11, 31, 74, 0.1);
  --op-text: #0A0A0B;
  --op-text-secondary: #5C6578;
  --op-text-tertiary: #8B93A7;
  --op-accent: #0B1F4A;
  --op-accent-text: #FFFFFF;
  --op-blue: #1B4DFF;
  --op-green: #0F9D58;
  --op-amber: #D97706;
  --op-danger: #E11D48;
  --op-shadow: 0 16px 40px rgba(11, 31, 74, 0.1);
  --op-glow: 0 0 28px rgba(27, 77, 255, 0.15);
  --op-ring-track: rgba(11, 31, 74, 0.08);
  --op-input-bg: #FFFFFF;
  --op-bot: url("/assets/bm/bot-light-ui.png");
  --op-bot-sm: url("/assets/bm/bot-for-light-128.png");
}

html, body {
  background: var(--op-bg);
  color: var(--op-text);
  transition: background-color 0.35s ease, color 0.25s ease;
}

/* Map legacy ryvo tokens */
:root, [data-theme="dark"], [data-theme="light"] {
  --bg: var(--op-bg);
  --text: var(--op-text);
  --muted: var(--op-text-secondary);
}

.phone {
  background: var(--op-bg) !important;
  color: var(--op-text);
}

/* Theme toggle control */
.op-theme-toggle {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--op-border);
  background: var(--op-surface);
  color: var(--op-text);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.op-theme-toggle:active { transform: scale(0.94); }
.op-theme-toggle:hover { box-shadow: var(--op-glow); }

/* Unique glass / depth effects */
.op-glass {
  background: var(--op-surface);
  border: 1px solid var(--op-border);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  box-shadow: var(--op-shadow);
}

[data-theme="dark"] .op-glass {
  background: linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
}
[data-theme="light"] .op-glass {
  background: linear-gradient(160deg, rgba(255,255,255,0.95), rgba(255,255,255,0.8));
}

.op-sheen {
  position: relative; overflow: hidden;
}
.op-sheen::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.08) 50%, transparent 60%);
  transform: translateX(-120%);
  animation: op-sheen 4.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes op-sheen {
  0%, 70% { transform: translateX(-120%); }
  100% { transform: translateX(120%); }
}
[data-theme="light"] .op-sheen::after {
  background: linear-gradient(105deg, transparent 40%, rgba(27,77,255,0.06) 50%, transparent 60%);
}

/* High-DPI crisp assets */
img, svg {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .bm-avatar img, .msg .bot-ico {
    image-rendering: auto;
  }
}

/* Form controls */
input, textarea, select {
  background: var(--op-input-bg);
  color: var(--op-text);
  border-color: var(--op-border);
}

/* ===== Light mode hard overrides for ryvo dashboard (critical fix) ===== */
[data-theme="light"] {
  --text: #0A0A0B;
  --muted: #5C6578;
  --line: rgba(11, 31, 74, 0.1);
  --bg: #F2F4F8;
}

[data-theme="light"] body,
[data-theme="light"] .phone {
  background: #F2F4F8 !important;
  color: #0A0A0B !important;
}

[data-theme="light"] .home-top,
[data-theme="light"] .page-title {
  color: #0A0A0B;
}
[data-theme="light"] .page-title a,
[data-theme="light"] .home-user,
[data-theme="light"] .hi,
[data-theme="light"] .nm {
  color: #0A0A0B !important;
}
[data-theme="light"] .home-actions a,
[data-theme="light"] .home-actions button {
  background: #fff !important;
  color: #0A0A0B !important;
  border: 1px solid rgba(11,31,74,0.1) !important;
  box-shadow: 0 1px 4px rgba(11,31,74,0.06);
}
[data-theme="light"] .av {
  background: #0B1F4A !important;
  color: #fff !important;
}
[data-theme="light"] .bal,
[data-theme="light"] .bal-label,
[data-theme="light"] .sheet-head h2,
[data-theme="light"] .sheet-head a,
[data-theme="light"] .tx-line,
[data-theme="light"] .tx-line strong,
[data-theme="light"] .tx-line .m,
[data-theme="light"] .menu-list a,
[data-theme="light"] .qs-item,
[data-theme="light"] .v-card {
  color: #0A0A0B !important;
}
[data-theme="light"] .tx-line span,
[data-theme="light"] .bal-label,
[data-theme="light"] .muted,
[data-theme="light"] .sheet-head a {
  color: #5C6578 !important;
}
[data-theme="light"] .sheet,
[data-theme="light"] .v-card,
[data-theme="light"] .qs-item,
[data-theme="light"] .card-hero {
  background: #fff !important;
  border-color: rgba(11,31,74,0.1) !important;
  color: #0A0A0B !important;
}
[data-theme="light"] .tx-line {
  border-bottom-color: rgba(11,31,74,0.08) !important;
}
[data-theme="light"] .qs-item {
  background: #fff !important;
  border: 1px solid rgba(11,31,74,0.08) !important;
}
[data-theme="light"] .nav-dock {
  background: rgba(255,255,255,0.94) !important;
  border-top-color: rgba(11,31,74,0.08) !important;
}
[data-theme="light"] .empty-state strong {
  color: #0A0A0B !important;
}
[data-theme="light"] .empty-state span {
  color: #5C6578 !important;
}
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea {
  background: #fff !important;
  color: #0A0A0B !important;
  border-color: rgba(11,31,74,0.12) !important;
}
[data-theme="light"] .chip {
  background: #fff !important;
  color: #0A0A0B !important;
  border-color: rgba(11,31,74,0.12) !important;
}
[data-theme="light"] .chip.on {
  background: #0B1F4A !important;
  color: #fff !important;
}

/* ===== Interior light-mode hard overrides (ryvo was dark-only) ===== */
[data-theme="light"] body,
[data-theme="light"] .phone {
  background: var(--op-bg) !important;
  color: var(--op-text) !important;
}
[data-theme="light"] .home-user .hi,
[data-theme="light"] .bal-note,
[data-theme="light"] .qs-item span,
[data-theme="light"] .sheet-head span a {
  color: var(--op-text-secondary) !important;
}
[data-theme="light"] .av {
  background: #E2E8F0 !important;
  color: #0B1F4A !important;
}
[data-theme="light"] .home-actions a {
  background: rgba(11, 31, 74, 0.06) !important;
  color: #0B1F4A !important;
}
[data-theme="light"] .pill-row {
  background: rgba(11, 31, 74, 0.05) !important;
}
[data-theme="light"] .pill {
  color: var(--op-text-secondary) !important;
}
[data-theme="light"] .pill.on {
  background: #0B1F4A !important;
  color: #fff !important;
}
[data-theme="light"] .eye {
  background: rgba(11, 31, 74, 0.08) !important;
}
[data-theme="light"] .v-card {
  background: linear-gradient(145deg, #FFFFFF, #F1F5F9) !important;
  border-color: rgba(11, 31, 74, 0.1) !important;
  color: #0A0A0B !important;
}
[data-theme="light"] .v-card.gold {
  background: linear-gradient(145deg, #f5e6d3, #e0c9a8 40%, #c9a06e) !important;
  color: #1a1208 !important;
}
[data-theme="light"] .sr-btn {
  background: rgba(11, 31, 74, 0.06) !important;
  border-color: rgba(11, 31, 74, 0.1) !important;
  color: #0B1F4A !important;
}
[data-theme="light"] .sr-btn.main {
  background: #0B1F4A !important;
  color: #fff !important;
}
[data-theme="light"] .qs-item .a {
  background: #E2E8F0 !important;
  color: #0B1F4A !important;
}
[data-theme="light"] .sheet,
[data-theme="light"] .panel,
[data-theme="light"] .g-card,
[data-theme="light"] .metric .card {
  background: #FFFFFF !important;
  border-color: rgba(11, 31, 74, 0.1) !important;
  color: #0A0A0B !important;
}
[data-theme="light"] .tx-line {
  border-bottom-color: rgba(11, 31, 74, 0.08) !important;
}
[data-theme="light"] .tx-line .t span,
[data-theme="light"] .tx-ico {
  color: var(--op-text-secondary) !important;
}
[data-theme="light"] .tx-ico {
  background: #E2E8F0 !important;
}
[data-theme="light"] .page-title h1,
[data-theme="light"] .sheet-head h2,
[data-theme="light"] strong {
  color: #0A0A0B !important;
}
[data-theme="light"] .page-title a {
  color: #0B1F4A !important;
}
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea {
  background: #FFFFFF !important;
  border-color: rgba(11, 31, 74, 0.14) !important;
  color: #0A0A0B !important;
}
[data-theme="light"] .chip {
  background: #fff !important;
  color: #0A0A0B !important;
  border-color: rgba(11, 31, 74, 0.12) !important;
}
[data-theme="light"] .chip.on {
  background: #0B1F4A !important;
  color: #fff !important;
}
[data-theme="light"] .nav-dock,
[data-theme="light"] .bottom-nav {
  background: rgba(255, 255, 255, 0.94) !important;
  border-top-color: rgba(11, 31, 74, 0.08) !important;
}
[data-theme="light"] .card-hero {
  background: linear-gradient(145deg, #1B4DFF 0%, #0B1F4A 100%) !important;
  color: #fff !important;
}
[data-theme="light"] .empty-state strong { color: #0A0A0B !important; }
[data-theme="light"] .empty-state span { color: var(--op-text-secondary) !important; }
