/* Customer-facing theme only. Management pages keep their existing palette. */
:root {
  color-scheme: dark;
  --forest: #0b0b0d;
  --deep: #070708;
  --gold: #d0b078;
  --gold-dark: #c2a267;
  --paper: #0f0f11;
  --ink: #f0eeea;
  --muted: #aaa8a4;
  --line: #303033;
  --white: #171719;
  --surface: #171719;
  --surface-raised: #202022;
  --input: #111113;
  --gold-wash: #29241b;
  --gold-line: #665438;
}

body { background: var(--paper); color: var(--ink); }
::selection { background: #d0b078; color: #101012; }
:focus-visible { outline-color: var(--gold); }
.site-header { background: #0b0b0df5; color: var(--ink); border-color: #ffffff13; }
.desktop-nav a { opacity: .9; }
.desktop-nav a:hover, .desktop-nav a[aria-current=page], .mobile-menu a[aria-current=page] { color: var(--gold); }
.mobile-menu { background: #101012; border-color: var(--line); }
.cart-link b { color: #111113; }
.btn-gold, .btn-dark { background: var(--gold); color: #121214; border-color: var(--gold); }
.btn-gold:hover, .btn-dark:hover { background: #e0c18b; border-color: #e0c18b; }
.btn-light { background: var(--surface-raised); border-color: #454548; color: var(--ink); }
.btn-light:hover { background: #2a2927; border-color: #8a734c; }
.btn-outline, .btn-glass { background: #ffffff03; border-color: #5c5343; color: #e9e2d6; }
.btn-outline:hover, .btn-glass:hover { border-color: var(--gold); background: #d0b0780a; }
.btn:disabled, .btn.disabled { opacity: .5; }

/* Matte black hero; the original artwork keeps its shape and gains a warm tone. */
.hero { background: #0b0b0d; color: #f4f0e8; }
.hero-image-default { filter: grayscale(1) sepia(.7) saturate(.65) brightness(.85) contrast(1.1); }
.hero-copy>p, .art-caption { color: #bcb7af; }
.hero-note, .art-index { color: #a29b90; }
.hero-note .line, .hero-strip i { background: var(--gold-dark); }
.hero-strip { border-color: #ffffff16; color: #b5b1a9; }
.eyebrow.dark, .section-label, .article-category { color: var(--gold); }
.text-link, .text-link.light, .small-link, .subtle-link, .auth-links { color: var(--gold); border-color: #776443; }
.text-link:hover, .subtle-link:hover, .auth-links a:hover { color: #f0d8a7; }
.philosophy em { color: var(--gold); }

/* Shop, editorial pages and memberships. */
.service-card { background: var(--surface); border-color: var(--line); }
.service-card:hover { border-color: #7a6441; box-shadow: 0 14px 35px #0005; }
.service-visual { background: linear-gradient(145deg, #252529, #121214); }
.visual-technical { background: radial-gradient(ellipse at 50% 100%, #3a3021, #131315 75%); }
.visual-news { background: linear-gradient(140deg, #2b2720, #171719); }
.visual-ea { background: linear-gradient(140deg, #252528, #0d0d0f); }
.service-number, .visual-label { color: #aaa296; }
.service-symbol, .visual-technical .service-symbol, .visual-ea .service-symbol { color: #c2a674; }
.service-content h3 span { color: var(--gold); }
.membership-section { background: #0b0b0d; color: var(--ink); border-block: 1px solid #ffffff0d; }
.membership-section p, .plan-price small { color: var(--muted); }
.membership-card { background: #111113; border-color: #393736; }
.membership-card.featured { background: linear-gradient(150deg, #272219, #151516 65%); border-color: #b39660; }
.plan-price { color: #f3ecdf; }
.membership-card ul { color: #c7c2b9; border-color: #ffffff14; }
.membership-card li:before { color: var(--gold); }
.plan-badge { color: #15120d; }
.article-art { background: linear-gradient(145deg, #292724, #171719); }
.article-word { color: #c1ac87; }
.article-art-index { color: #b6ad9d; }
.art-2 { background: linear-gradient(150deg, #1e1e22, #0d0d0f); }
.art-2 .article-word { color: #d0b078; }
.art-3 { background: linear-gradient(140deg, #443927, #201e1a); }
.art-3 .article-word { color: #d9c49f; }
.app-banner { background: #1b1a17; border-color: #39342b; }
.site-footer { background: #080809; color: #aaa69f; }
.footer-grid h4 { color: #eee8dd; }
.footer-grid p { color: #c8c1b5; }
.footer-grid a:hover { color: var(--gold); }
.footer-bottom { color: #99958e; border-color: #ffffff16; }
.page-hero { background: linear-gradient(125deg, #1b1813, #0b0b0d 65%); border-bottom: 1px solid #302b22; }
.page-hero p, .breadcrumb { color: #b6afa2; }
.card, .form-card, .stat-card, .table-wrap, .slot-card, .report-total,
.consult-person, .consult-panel, .finance-metrics>div { background: var(--surface); border-color: var(--line); }
.empty-state { background: var(--surface); border-color: #47433b; }
.article-body .lead { color: #c0b8ac; }
.article-body .body-text, .ticket-message p { color: #d6d1c8; }
.filter { background: var(--surface); color: #c2beb7; border-color: var(--line); }
.filter.active { background: var(--gold-wash); color: #ead2a3; border-color: #a48855; }
.feature-list li:before { color: var(--gold); }
.purchase-card .plan-select { border-color: #3f3b34; background: #131315; }
.plan-select:has(input:checked), .payment-option:has(input:checked) { border-color: var(--gold-dark); background: var(--gold-wash); }
.plan-select small, .payment-option small { color: #b6b0a5; }

/* Forms, status messages and payment choices. */
.field input:not([type=checkbox]):not([type=radio]), .field select, .field textarea,
input.control, select.control, textarea.control, .chat-composer textarea,
.consult-date-filter input { background: var(--input); color: var(--ink); border-color: #484644; }
.field input:focus, .field textarea:focus, .field select:focus,
.control:focus, .chat-composer textarea:focus { border-color: var(--gold); }
input::placeholder, textarea::placeholder { color: #96918a; opacity: 1; }
input[type=radio], input[type=checkbox], .field input[type=checkbox], .plan-select input, .payment-option input { accent-color: var(--gold); }
input:-webkit-autofill { -webkit-text-fill-color: var(--ink); box-shadow: inset 0 0 0 1000px var(--input); caret-color: var(--ink); }
select option { background: #171719; color: var(--ink); }
.helptext, .field small { color: #aca69b; }
.errorlist, .consultant-form .errorlist { color: #f2a094; }
.flash { background: #19261e; border-color: #3d6249; color: #b7dbbe; }
.flash.error { background: #321e1b; border-color: #754a42; color: #f1b0a5; }
.flash.warning, .notice { background: #28231a; border-color: #655334; color: #d9c69e; }
.notice p { color: inherit; }
.badge { background: #2b2a27; color: #c4beb1; }
.badge.gold { background: #352b1b; color: #e4c587; }
.badge.green { background: #1e3024; color: #b1d3b0; }
.badge.red { background: #37211c; color: #f0b2a0; }
.payment-option { background: #141416; border-color: #43403a; }
.cart-item .remove { color: #dbb58c; }

/* Customer account, tables and conversations. */
.account-sidebar { background: var(--surface); border-color: var(--line); }
.user-avatar { background: #30281d; color: #e0c58e; }
.account-sidebar a, .account-sidebar button { color: #bdb7ad; }
.account-sidebar a.active { background: #30271b; color: #edd29c; }
.account-sidebar a:hover { background: #262421; color: #ecddc1; }
.stat-card>span, .stat-card small { color: #b0aa9f; }
.progress-track { background: #34302a; }
.progress-track>span { background: var(--gold); }
th, td { border-color: #313033; }
th { color: #c5b898; background: #202021; }
.chat-layout { background: #131315; }
.chat-header { background: #20201f; }
.chat-message.user { background: #332b1e; color: #f1e5cc; }
.chat-message.assistant { background: #222224; color: #e5e0d8; }
.chat-composer { background: #171719; }
.chat-status { color: #cbb588; }
.ticket-message.staff { background: #21201c; }
.ticket-message small { color: #aba394; }
.bottom-nav { background: #111113f5; border-color: #3c3528; color: #b8b0a0; }
.bottom-nav a[aria-current=page] { background: #332a1c; color: #efd29b; }

/* Chart upload retains its native input and keyboard interaction. */
.chart-upload-button { background: #25221c; border-color: #74603e; color: #e0ccaa; }
.chart-upload-picker:hover .chart-upload-input:not(:disabled)+.chart-upload-button { background: #342c1f; border-color: #b5975e; box-shadow: 0 3px 12px #0004; }
.chart-upload-input:focus-visible+.chart-upload-button { outline-color: var(--gold); }
.chart-upload-icon { background: #3b3020; color: #e2c085; }
.chart-upload-copy small { color: #b5a995; }
.chart-upload-plus { color: #d8bc88; }
.chart-attachment { background: #24221d; border-color: #625437; }
.chart-file-details, .chart-file-check { color: #dcc493; }
.chart-file-remove { color: #c6b79e; }
.chart-file-remove:hover { background: #393022; color: #f0d7a7; }

/* Appointment wizard and consultant portal (separate from site management). */
.consult-steps li.current { color: var(--gold); border-color: var(--gold); }
.consult-steps li.current span { background: var(--gold); color: #141210; border-color: var(--gold); }
.consult-selection { background: #24211b; border-color: #50452f; }
.consult-portrait { background: linear-gradient(140deg, #3a3123, #18181a); }
.consult-rate-preview b, .duration-number, .consult-times strong { color: #ebdbbc; }
.duration-choice:hover, .duration-choice:focus-visible { background: #29241c; }
.consult-calendar>a { background: #30291d; border-color: #77603b; color: #ebd4a9; }
.consult-calendar>a:hover, .consult-calendar>a:focus-visible { background: var(--gold); color: #17130e; }
.consult-calendar>span { color: #8e8981; }
.calendar-key i { background: #b69a63; }
.consult-times a { background: #24221c; border-color: #635436; }
.consult-times a:hover { background: #332b1f; border-color: var(--gold); }
.consult-view-tabs a[aria-current] { background: var(--gold-wash); color: var(--gold); }
.finance-balance { background: linear-gradient(125deg, #33291b, #171719 70%); border: 1px solid #6b5838; }
.finance-balance span, .finance-balance p { color: #c5bca9; }
.finance-status { background: #2b2a26; color: #d0c8b7; }
.finance-status-pending, .finance-status-processing { background: #382b17; color: #e1c17f; }
.finance-status-paid { background: #203125; color: #b4d8b8; }
.finance-status-rejected { background: #39211f; color: #efb1a5; }
.finance-address { background: #222224; }

/* Direct-wallet QR codes must remain black on white for reliable scanning. */
.wallet-chain, .wallet-value span, .wallet-help summary { color: var(--gold); }
.wallet-chain span { background: #372d1c; }
.wallet-timer { color: #c4b99f; }
.wallet-address { background: var(--input); color: var(--ink); border-color: #4f4637; }
.wallet-status { background: #262219; border-color: var(--gold); }
.wallet-help { border-color: #433b2d; }
.wallet-qr { background: #fff; border-color: #e9e5dc; color-scheme: light; }
.wallet-qr img { filter: none; }

/* News analyzer surfaces and stage indicators. */
.news-hero { background: radial-gradient(ellipse at 10% 45%, #342b1d, transparent 58%), #101012; border-color: #665437; color: var(--ink); }
.news-hero-copy>p, .news-hero-tags span { color: #c0b6a3; }
.news-hero h1 em, .orbit-center strong { color: var(--gold); }
.orbit-center>span, .orbit-center small, .orbit-caption { color: #b8a98d; }
.news-timeline article, .news-event-panel, .news-message-panel { background: var(--surface); border-color: var(--line); }
.stage-number { color: #35312b; }
.stage-time, .news-gate-label { color: var(--gold); }
.news-alert-settings { background: #24221c; border-color: #49412f; }
.news-alert-settings small, .news-access-status, .news-alert-actions #push-status { color: #c0b08e; }
.news-sync-notice { background: #2c2518; color: #ddc794; border-color: #6b562e; }
.event-panel-heading>span, .news-zone { color: #b0a58f; }
.recent-heading { border-color: var(--line); }
.news-event-card { background: #151517; border-color: #3a3834; }
.news-event-card:hover { background: #24211c; border-color: #75613e; }
.news-event-card.selected { background: #2b251c; border-color: #a68a56; box-shadow: inset -3px 0 var(--gold); }
.event-card-top, .news-event-card time, .event-card-bottom, .event-tags { color: #b7ac95; }
.event-impact, .news-selected-header .event-warning { color: #d7b374; }
.event-impact i { background: var(--gold); }
.news-selected-header { background: #24211c; border-color: #4b402c; }
.news-selected-header p strong { color: #dac191; }
.news-stage-status { border-color: var(--line); }
.stage-check { background: #212123; border-color: #62563f; color: #c3b397; }
.news-stage-status small { color: #a9a08e; }
.news-stage-status .received .stage-check { background: #42351e; border-color: #a1844e; color: #efd095; }
.news-stage-status .received small { color: #dec48f; }
.lock-mark { background: #302719; border-color: #877043; color: var(--gold); }
.empty-orbit { color: #ad986f; }
.news-bulletin { border-color: #4b4232; }
.news-bulletin header { background: #29241c; }
.bulletin-phase { color: #ddc392; }
.news-bulletin time { color: #b7a887; }
.news-bulletin footer { border-color: #36312a; color: #b0a38a; }
.news-footnote { color: #a8a090; }
.news-subscription-gate { background: linear-gradient(110deg, #282219, #19191b); border-color: #9e814a; color: var(--ink); }
.news-gate-icon { background: #382c1a; border-color: #967947; color: #e6c789; }
.news-gate-copy p { color: #d0c4ae; }
.news-gate-copy small { color: #b7a98f; }
.news-gate-plans { color: var(--gold); }
.news-admin-preview { background: #24221d; border-color: #625236; color: #d0bc95; }

@media print {
  :root { color-scheme: light; }
  body { background: #fff !important; }
  body * { background: transparent !important; color: #111 !important; border-color: #ccc !important; box-shadow: none !important; }
}
