/* Shared public/customer theme: loaded after each page stylesheet. */
:root{
  --ui-green:#285b40; --ui-green-soft:#eaf4ee; --ui-violet:#7255a0; --ui-gold:#885b0d;
  --ui-danger:#a73838; --ui-danger-soft:#ffeded; --ui-warning:#885b0d; --ui-warning-soft:#fff6df;
  --ui-info:#4a5b6f; --ui-info-soft:#edf2f7; --ui-neutral:#646a70; --ui-neutral-soft:#f0f1f3;
  --ui-card:#fff; --ui-input:#fff; --ui-subtle:#f5f7f5; --ui-border:#d8e1dc;
  --ui-stats-bg:linear-gradient(120deg,#edf7f0,#faf9f6 50%,#f0f1fc); --ui-stats-number:#173c2c;
  --ui-owner-bg:linear-gradient(135deg,#f0f6f2,#faf8f4); --ui-owner-ink:#203b2d; --ui-owner-muted:#667268;
  --ui-icon-bg:#ffffff99; --ui-button:#236953; --ui-button-ink:#fff;
  --panel:var(--bg); --panel-2:var(--soft); --text:var(--ink);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#101311; --ink:#eef3ef; --ink-2:#d5ded7; --text:#eef3ef; --muted:#b1bcb4; --faint:#a0ada4;
  --paper:#191f1b; --panel:#191f1b; --panel-2:#222b25; --soft:#1b251f; --soft-2:#29372e;
  --line:#344239; --line-2:#495d50; --border:#344239;
  --btn:#e5eee7; --btn-ink:#132218; --btn-hover:#cbded0;
  --accent:#ffad81; --accent-soft:#39281e; --coin:#f3c45c; --coin-soft:#342d1b;
  --soon:#c2b1ff; --soon-soft:#2c2542; --ok:#91d9af; --ok-soft:#193526; --err:#ffaaa1; --err-soft:#3a2223;
  --green:#94dab1; --state:#94dab1; --gold:#edc16e; --glow:.18;
  --ui-green:#94dab1; --ui-green-soft:#203b2b; --ui-violet:#c5aff3; --ui-gold:#edc16e;
  --ui-danger:#ffaaa1; --ui-danger-soft:#3a2223; --ui-warning:#edc16e; --ui-warning-soft:#352d1c;
  --ui-info:#a9c6e7; --ui-info-soft:#1d2c3a; --ui-neutral:#c4ccd3; --ui-neutral-soft:#2a3037;
  --ui-card:#191f1b; --ui-input:#141b16; --ui-subtle:#202922; --ui-border:#415648;
  --ui-stats-bg:linear-gradient(120deg,#1a2d22,#1c231e 50%,#252535); --ui-stats-number:#b1ebc5;
  --ui-owner-bg:linear-gradient(135deg,#1b2c21,#25271f); --ui-owner-ink:#e4efe6; --ui-owner-muted:#bac8bc;
  --ui-icon-bg:#ffffff0d; --ui-button:#a3dfbb; --ui-button-ink:#122d1c;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --bg:#101311; --ink:#eef3ef; --ink-2:#d5ded7; --text:#eef3ef; --muted:#b1bcb4; --faint:#a0ada4;
  --paper:#191f1b; --panel:#191f1b; --panel-2:#222b25; --soft:#1b251f; --soft-2:#29372e;
  --line:#344239; --line-2:#495d50; --border:#344239;
  --btn:#e5eee7; --btn-ink:#132218; --btn-hover:#cbded0;
  --accent:#ffad81; --accent-soft:#39281e; --coin:#f3c45c; --coin-soft:#342d1b;
  --soon:#c2b1ff; --soon-soft:#2c2542; --ok:#91d9af; --ok-soft:#193526; --err:#ffaaa1; --err-soft:#3a2223;
  --green:#94dab1; --state:#94dab1; --gold:#edc16e; --glow:.18;
  --ui-green:#94dab1; --ui-green-soft:#203b2b; --ui-violet:#c5aff3; --ui-gold:#edc16e;
  --ui-danger:#ffaaa1; --ui-danger-soft:#3a2223; --ui-warning:#edc16e; --ui-warning-soft:#352d1c;
  --ui-info:#a9c6e7; --ui-info-soft:#1d2c3a; --ui-neutral:#c4ccd3; --ui-neutral-soft:#2a3037;
  --ui-card:#191f1b; --ui-input:#141b16; --ui-subtle:#202922; --ui-border:#415648;
  --ui-stats-bg:linear-gradient(120deg,#1a2d22,#1c231e 50%,#252535); --ui-stats-number:#b1ebc5;
  --ui-owner-bg:linear-gradient(135deg,#1b2c21,#25271f); --ui-owner-ink:#e4efe6; --ui-owner-muted:#bac8bc;
  --ui-icon-bg:#ffffff0d; --ui-button:#a3dfbb; --ui-button-ink:#122d1c;
}}

/* Controls stay in page flow, so they never cover videos or mobile forms. */
.theme-control{display:inline-flex!important;align-items:center;gap:10px;color:var(--muted);font-size:12px;flex:none}
.theme-control select{font:inherit!important;color:var(--ink)!important;background:var(--paper,var(--bg))!important;border:1px solid var(--line-2,var(--line))!important;border-radius:9px;padding:7px 10px;min-height:40px;min-width:100px;width:auto;cursor:pointer}
.theme-control select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.auth-card .theme-control{justify-content:center;margin-top:8px}
.account-footer{flex-wrap:wrap;align-items:center}.receipt-footer .theme-control{flex-basis:100%;justify-content:center}
.public-stats{background:var(--ui-stats-bg)}.stats-item strong{color:var(--ui-stats-number)}
.stats-icon{background:var(--ui-icon-bg);color:var(--ui-green)}.stats-item:nth-child(2) .stats-icon{color:var(--ui-violet)}.stats-item:nth-child(3) .stats-icon{color:var(--ui-gold)}
.stats-spark{color:var(--ui-green)}.stats-item+.stats-item{border-color:var(--line)}
.about-owner{background:var(--ui-owner-bg);color:var(--ui-owner-ink)}.about-owner p{color:var(--ui-owner-muted)}
.about-eyebrow,.about-owner-link{color:var(--ui-green)}.about-owner-link{border-color:var(--line)}
.about-brand-pair img,.owner-credit img{border-radius:10px;background:#f5f5f0;padding:3px}
.partner img,.en-partner img{background:#f5f5f0;border-radius:10px;padding:5px;filter:none;opacity:1}
.auth-card input{color:var(--ink)}.auth-card button:not(.link){background:var(--btn);color:var(--btn-ink)}
.auth-card{color:var(--ink)}body:has(.auth-shell){overflow:auto}
/* Account and support components use the same semantic status palette. */
:root[data-surface="account"]{--accent:var(--ui-green)}
:root[data-surface="account"] .avatar,:root[data-surface="account"] .account-nav>a[aria-current=page]{background:var(--ui-green-soft)}
:root[data-surface="account"] .account-nav>a:hover,:root[data-surface="account"] .service-strip>div,:root[data-surface="account"] th{background:var(--ui-subtle)}
:root[data-surface="account"] :is(.button,input,select,textarea,.metric.wallet,.balance-strip,td){border-color:var(--ui-border)}
:root[data-surface="account"] .button.primary,.receipt-button.primary{background:var(--ui-button);border-color:var(--ui-button);color:var(--ui-button-ink)}
:root[data-surface="account"] :is(.status.paid,.status.positive){background:var(--ui-green-soft);color:var(--ui-green)}
:root[data-surface="account"] .status.pending{background:var(--ui-warning-soft);color:var(--ui-warning)}
:root[data-surface="account"] .status.failed{background:var(--ui-danger-soft);color:var(--ui-danger)}
:root[data-surface="account"] .status.neutral{background:var(--ui-neutral-soft);color:var(--ui-neutral)}
:root[data-surface="account"] :is(.coin-change.positive,.ticket-unread,.ticket-row:hover h3){color:var(--ui-green)}
:root[data-surface="account"] .coin-change.negative{color:var(--ui-danger)}
:root[data-surface="account"] .info-note{background:var(--ui-info-soft);color:var(--ui-info);border-color:var(--ui-border)}
:root[data-surface="account"] .errorlist{background:var(--ui-danger-soft);color:var(--ui-danger)}
:root[data-surface="account"] .support-form :is(input,textarea,select){background:var(--ui-input);color:var(--ink);border-color:var(--ui-border)}
:root[data-surface="account"] .support-message{background:var(--ui-subtle);border-color:var(--line)}
:root[data-surface="account"] .support-message.reply{background:var(--ui-green-soft);border-inline-start-color:var(--ui-green)}
:root[data-surface="account"] .support-message time{color:var(--muted)}
:root[data-surface="account"] .support-help hr{border-color:var(--line)}
.receipt.failed{--soft:var(--ui-danger-soft);--state:var(--ui-danger)}.receipt.pending{--soft:var(--ui-warning-soft);--state:var(--ui-warning)}
/* Switch both logo variants even when the selected theme differs from the OS. */
:root[data-theme="dark"] .logo-dark{display:none!important}:root[data-theme="dark"] .logo-light{display:block!important}
:root[data-theme="light"] .logo-dark{display:block!important}:root[data-theme="light"] .logo-light{display:none!important}
:root[data-surface="account"] .brand img,.receipt-brand img{background:#f5f5f0;border-radius:9px;padding:3px}
@media print{.theme-control{display:none!important}:root,:root[data-theme],:root:not([data-theme="light"]){color-scheme:light;--bg:#fff;--paper:#fff;--ink:#172a24;--muted:#46574d;--border:#bbb;--green:#246b54;--state:#246b54;--ui-danger:#9f2929;--ui-danger-soft:#fff;--ui-warning:#72500d;--ui-warning-soft:#fff}}
