/* Newcash design tokens — navy #0F2B4E and gold #D4B786. */
:root {
  --hpg-navy: #0F2B4E;
  --hpg-navy-deep: #071A30;
  --hpg-navy-surface: #102A49;
  --hpg-navy-soft: #163556;
  --hpg-gold: #D4B786;
  --hpg-gold-light: #ECD9B3;
  --hpg-gold-deep: #A9824E;
  --hpg-ink: #102A4B;
  --hpg-paper: #F4F7FA;
  --hpg-success: #37C99A;
  --hpg-danger: #D95763;
  --hpg-warning: #C89536;
}

/* Authenticated Newcash application. */
html.px-dark {
  color-scheme: dark;
  --px-accent: #D4B786;
  --px-accent-dark: #17395F;
  --px-page: #071A30;
  --px-sidebar: #0B2341;
  --px-panel: #102A49;
  --px-panel-soft: #163556;
  --px-text: #F7FAFD;
  --px-muted: #B2C1D1;
  --px-border: rgba(212,183,134,.22);
  --px-success: #37C99A;
  --px-danger: #E46A72;
  --px-warning: #E1B85C;
  --px-shadow: 0 18px 50px rgba(1,14,31,.42);
}
html.px-dark body { background: radial-gradient(circle at 82% -10%,rgba(212,183,134,.16),transparent 33%),radial-gradient(circle at 5% 0,rgba(15,43,78,.5),transparent 37%),var(--px-page); }
html.px-dark .px-invite-card { background: linear-gradient(100deg,#0F2B4E,#17395F 62%,#D4B786); }
html.px-dark .px-primary-button { border-color: rgba(212,183,134,.5); background: #17395F; color: #F6E7C8; }
html.px-dark .px-primary-button:hover { background: #1F4877; }
html.px-dark .px-nav-link,html.px-dark .px-nav-group-button { color: #E8EEF5; }
html.px-dark .px-nav-icon,html.px-dark .px-nav-fa { color: #AFC0D1; }

html.px-light {
  color-scheme: light;
  --px-accent: #0F2B4E;
  --px-accent-dark: #E0EAF4;
  --px-page: #F4F7FA;
  --px-sidebar: #FFFCF6;
  --px-panel: #FFFFFF;
  --px-panel-soft: #EDF2F7;
  --px-text: #102A4B;
  --px-muted: #61738A;
  --px-border: rgba(15,43,78,.15);
  --px-success: #197A5A;
  --px-danger: #B6404B;
  --px-warning: #95691F;
  --px-shadow: 0 16px 42px rgba(15,43,78,.13);
}
html.px-light body { background: radial-gradient(circle at 74% -8%,rgba(212,183,134,.27),transparent 32%),radial-gradient(circle at 5% 0,rgba(15,43,78,.08),transparent 34%),var(--px-page); }
html.px-light .px-primary-button { border-color: #0F2B4E; background: #0F2B4E; color: #FFFFFF; }
html.px-light .px-primary-button:hover { background: #17395F; }
html.px-light .px-invite-card { background: linear-gradient(100deg,#0F2B4E,#285680 64%,#D4B786); }

/* Public landing page. */
html[data-theme="dark"] {
  color-scheme: dark;
  --lp-bg: #071A30;
  --lp-surface: #0B2341;
  --lp-surface-2: #102A49;
  --lp-card: #163556;
  --lp-text: #F7FAFD;
  --lp-muted: #B5C4D4;
  --lp-line: rgba(212,183,134,.22);
  --lp-shadow: rgba(1,14,31,.48);
  --lp-header: rgba(7,26,48,.84);
  --lp-accent: #D4B786;
  --lp-accent-contrast: #0F2B4E;
}
html[data-theme="light"] {
  color-scheme: light;
  --lp-bg: #F4F7FA;
  --lp-surface: #FFFFFF;
  --lp-surface-2: #EDF2F7;
  --lp-card: #FFFFFF;
  --lp-text: #102A4B;
  --lp-muted: #60748A;
  --lp-line: rgba(15,43,78,.15);
  --lp-shadow: rgba(15,43,78,.14);
  --lp-header: rgba(255,255,255,.88);
  --lp-accent: #0F2B4E;
  --lp-accent-contrast: #FFFFFF;
}
.lp-primary { color: var(--lp-accent-contrast); background: linear-gradient(135deg,var(--lp-accent),color-mix(in srgb,var(--lp-accent) 74%,var(--hpg-gold-deep))); }
html[data-theme="dark"] .lp-code-window { background: #06162A; }

/* Developer documentation. */
html:not([data-doc-theme="light"]) { color-scheme: dark; --bg: #071A30; --panel: #0B2341; --panel-2: #102A49; --line: rgba(212,183,134,.22); --text: #F7FAFD; --muted: #B5C4D4; --accent: #D4B786; --accent-soft: rgba(212,183,134,.13); --code: #06162A; --shadow: 0 24px 70px rgba(1,14,31,.4); }
html[data-doc-theme="light"] { color-scheme: light; --bg: #F4F7FA; --panel: #FFFFFF; --panel-2: #EDF2F7; --line: #D7E0EA; --text: #102A4B; --muted: #60748A; --accent: #0F2B4E; --accent-soft: rgba(15,43,78,.10); --code: #E8EEF5; --shadow: 0 24px 60px rgba(15,43,78,.12); }
html:not([data-doc-theme="light"]) .skip-link { color: #0F2B4E; }
html[data-doc-theme="light"] .skip-link { color: #FFFFFF; }

/* Login and registration surfaces. */
html[data-theme-mode="dark"]:not(.auth-light) body { background: #071A30; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-video-bg { background: #071A30; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-fog { background: radial-gradient(ellipse 55% 75% at 50% 50%,rgba(15,43,78,.12) 0%,rgba(1,14,31,.76) 100%); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-card { background: rgba(7,26,48,.86); border-color: rgba(212,183,134,.32); box-shadow: 0 0 0 1px rgba(212,183,134,.08),0 30px 70px rgba(1,14,31,.68),0 0 90px rgba(15,43,78,.22) inset; }
html[data-theme-mode="dark"]:not(.auth-light) .btn-vz-primary { color: #0F2B4E; box-shadow: 0 10px 30px rgba(212,183,134,.22); }
html.auth-light body { background: #F4F7FA; color: #102A4B; }
html.auth-light .vz-fog { background: linear-gradient(rgba(244,247,250,.45),rgba(226,234,243,.78)); }
html.auth-light .vz-card { border-color: rgba(15,43,78,.22); box-shadow: 0 25px 65px rgba(15,43,78,.16),0 0 0 1px rgba(255,255,255,.78) inset; }
html.auth-light .btn-vz-primary { background: #0F2B4E; color: #FFFFFF; box-shadow: 0 10px 28px rgba(15,43,78,.2); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-static-bg { background: radial-gradient(circle at 20% 14%,rgba(212,183,134,.18),transparent 27%),radial-gradient(circle at 82% 78%,rgba(27,73,119,.4),transparent 38%),linear-gradient(135deg,#071A30 0%,#0F2B4E 54%,#081D36 100%); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-fog { background: radial-gradient(ellipse 58% 75% at 50% 47%,rgba(15,43,78,.04) 0%,rgba(1,14,31,.42) 100%); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-card { background: rgba(7,26,48,.92); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-input { background: rgba(255,255,255,.055); }
html[data-theme-mode="dark"]:not(.auth-light) { --primary-rgb: 212,183,134; --secondary-rgb: 15,43,78; --green: #D4B786; --green-glow: rgba(212,183,134,.35); --green-border: rgba(212,183,134,.56); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-title { color: #F7FAFD; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-sub,html[data-theme-mode="dark"]:not(.auth-light) .vz-remember label,html[data-theme-mode="dark"]:not(.auth-light) .vz-footer-text { color: #B5C4D4; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-badge { color: #E4ECF5; background: rgba(255,255,255,.07); border-color: rgba(212,183,134,.28); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-badge i,html[data-theme-mode="dark"]:not(.auth-light) .vz-forgot a,html[data-theme-mode="dark"]:not(.auth-light) .vz-forgot span,html[data-theme-mode="dark"]:not(.auth-light) .vz-footer-text a { color: #D4B786; opacity: 1; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-input { color: #F7FAFD; border-color: rgba(181,196,212,.32); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-input::placeholder,html[data-theme-mode="dark"]:not(.auth-light) .vz-field .field-icon,html[data-theme-mode="dark"]:not(.auth-light) .vz-eye { color: #B5C4D4; opacity: .8; }
html[data-theme-mode="dark"]:not(.auth-light) .btn-vz-primary { background: #D4B786; color: #0F2B4E; box-shadow: 0 10px 30px rgba(212,183,134,.28); }
html[data-theme-mode="dark"]:not(.auth-light) .btn-vz-outline { color: #F7FAFD; border-color: rgba(181,196,212,.42); }
html.auth-light { --primary-rgb: 15,43,78; --secondary-rgb: 212,183,134; --green: #0F2B4E; --green-glow: rgba(15,43,78,.25); --green-border: rgba(15,43,78,.45); }
html.auth-light .vz-title { color: #102A4B; } html.auth-light .vz-sub,html.auth-light .vz-remember label,html.auth-light .vz-footer-text { color: #61738A; }
html.auth-light .vz-badge i,html.auth-light .vz-forgot a,html.auth-light .vz-forgot span,html.auth-light .vz-footer-text a { color: #0F2B4E; opacity: 1; }
