/* White-label layer (app/tenant.js). Loaded only on a client host: build/tenant-lib.mjs adds it to the served index page.
   The pinned app files are not edited; this sheet loads after them and wins by order. */
:root { --uk-paper: #ffffff; }
.btn--secondary, .btn--ghost, .btn.ghost, .btn.line { background: var(--uk-paper) !important; }
body.feat-no-assistant .uny-orb, body.feat-no-assistant #mic-btn, body.feat-no-assistant .uny .chips { display: none !important; }
body.feat-no-agent-identity .app-bar__avatar { display: none !important; }
/* FTH-WALLET-8: features.unykorn_extras = false. app-omn.js does not draw these on such a host; this is the second line for the places
   it draws elsewhere (the wallet manager's funding and asset-forge buttons). */
body.feat-no-unykorn-extras #card-tile, body.feat-no-unykorn-extras #m-fund-hub, body.feat-no-unykorn-extras #m-stellar-forge,
body.feat-no-unykorn-extras #bal-fund-btn, body.feat-no-unykorn-extras #bal-swap-btn, body.feat-no-unykorn-extras #bal-issue-btn,
body.feat-no-unykorn-extras #bal-stellar-issue-btn, body.feat-no-unykorn-extras #bal-stellar-forge-btn,
body.feat-no-unykorn-extras .chip[data-cmd="fund from treasury"], body.feat-no-unykorn-extras .chip[data-cmd="easy issuer"],
body.feat-no-unykorn-extras .chip[data-cmd^="swap"] { display: none !important; }
.tenant-foot { margin: 18px 12px 28px; text-align: center; font-size: 11px; line-height: 1.5; color: var(--uk-steel, #8b97a5); }
.tenant-rail { margin-top: 12px; padding: 10px 12px; border: 1px solid var(--uk-graphite-3, #1c2531); border-radius: 12px; font-size: 13px; }
.tenant-rail__row + .tenant-rail__row { margin-top: 4px; opacity: .8; }
.tenant-rail__row--coming { font-style: italic; }
.tenant-logo { object-fit: contain; border-radius: 6px; }

/* Client hosts never show the UnyKorn Card tile (it carries the UnyKorn mark and sells UnyKorn credit packs). FTH-BRAND-3D. */
#card-tile { display: none !important; }

/* ------------------------------------------------------------------ FTH-WALLET-V2: brand v2, both themes
   Source: fth-trading-site-2026/brand (tokens.json -> tenant-colours.json). Navy #060B19 ground, brushed platinum #A3B1C6,
   white text; steel blue (#9DB4D9 dark / #2A4A7F light) as the accent. Inter only (self-hosted ./fonts, already used by app.css).
   <html data-theme> is always set on a client host (tenant default "dark" from tenant.json; the footer toggle stores the user's
   choice in unykorn.theme.v1). This sheet loads only on client hosts, so wallet.unykorn.org is unaffected.
   Contrast (WCAG AA, checked in build/tenant-test.mjs): every text token >= 4.5:1 on --fth-bg and --fth-surface in both themes;
   button text >= 4.5:1 on the button. */
html[data-theme="dark"] {
  --fth-bg: #060B19; --fth-surface: #0B1530; --fth-raised: #111D3D; --fth-line: #1C2847; --fth-line-strong: #34446A;
  --fth-text: #FFFFFF; --fth-muted: #A3B1C6; --fth-dim: #8E9CB3; --fth-accent: #9DB4D9; --fth-focus: #9DB4D9;
  --fth-btn: #EEF2F7; --fth-btn-2: #A3B1C6; --fth-on-btn: #060B19; --fth-danger: #F2B8AC;
  --fth-accent-soft: rgba(157, 180, 217, .14); --fth-accent-line: rgba(157, 180, 217, .42); --fth-bar: rgba(6, 11, 25, .94); --fth-tab: #050916;
  --fth-ground: radial-gradient(900px 520px at 100% -10%, rgba(163, 177, 198, .10), transparent 55%), linear-gradient(180deg, #0A1226 0%, #060B19 60%, #040814 100%);
  --fth-lock: radial-gradient(120% 70% at 100% 0%, rgba(163, 177, 198, .18), transparent 55%), linear-gradient(160deg, #0E1834 0%, #060B19 60%, #03060F 100%);
  --fth-shadow: 0 18px 40px -24px rgba(0, 0, 0, .8);
  color-scheme: dark;
}
html[data-theme="light"] {
  --fth-bg: #FFFFFF; --fth-surface: #F4F6F9; --fth-raised: #E9EDF3; --fth-line: #E1E6ED; --fth-line-strong: #C9D3E0;
  --fth-text: #060B19; --fth-muted: #3A4660; --fth-dim: #56627A; --fth-accent: #2A4A7F; --fth-focus: #2A4A7F;
  --fth-btn: #060B19; --fth-btn-2: #111D3D; --fth-on-btn: #FFFFFF; --fth-danger: #9B2C1C;
  --fth-accent-soft: rgba(42, 74, 127, .08); --fth-accent-line: rgba(42, 74, 127, .35); --fth-bar: rgba(255, 255, 255, .94); --fth-tab: #FFFFFF;
  --fth-ground: linear-gradient(180deg, #FFFFFF 0%, #F4F6F9 100%);
  --fth-lock: linear-gradient(160deg, #F4F6F9 0%, #E9EDF3 100%);
  --fth-shadow: 0 18px 40px -26px rgba(6, 11, 25, .28);
  color-scheme: light;
}
/* map the shared app tokens onto the brand (both themes); !important beats the inline --uk-* that applyTenant writes */
html[data-theme] {
  --serif: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bg: var(--fth-bg); --bg-stage: var(--fth-bg); --bg-elevated: var(--fth-surface); --bg-card: var(--fth-surface); --bg-input: var(--fth-bg);
  --hairline: var(--fth-line); --hairline-strong: var(--fth-line-strong);
  --text-primary: var(--fth-text); --text-secondary: var(--fth-muted); --text-tertiary: var(--fth-dim);
  --accent-silver: var(--fth-muted); --accent-silver-dim: var(--fth-dim); --accent-orange: var(--fth-accent); --accent-orange-soft: var(--fth-accent-soft);
  --btn-primary-bg: var(--fth-btn) !important; --btn-primary-text: var(--fth-on-btn);
  --glass-shadow: var(--fth-shadow);
  --card: var(--fth-surface); --sunk: var(--fth-bg); --border: var(--fth-line); --border2: var(--fth-line-strong);
  --text: var(--fth-text); --muted: var(--fth-muted); --dim: var(--fth-dim); --gold: var(--fth-accent); --goldbg: var(--fth-accent-soft); --goldbd: var(--fth-accent-line);
  --blue: var(--fth-accent); --bluebg: var(--fth-accent-soft); --morpho: var(--fth-accent); --sky: var(--fth-accent);
  --glass: var(--fth-surface); --glass-strong: var(--fth-raised); --glass-line: var(--fth-line); --glass-hi: var(--fth-raised);
  --uk-orange: var(--fth-accent) !important; --uk-orange-2: var(--fth-accent) !important; --uk-graphite: var(--fth-bg) !important;
  --uk-graphite-2: var(--fth-surface); --uk-graphite-3: var(--fth-line-strong);
  --uk-steel: var(--fth-dim); --uk-steel-2: var(--fth-muted); --uk-steel-3: var(--fth-text); --uk-paper: var(--fth-surface) !important;
}
html[data-theme], html[data-theme] body { background: var(--fth-ground) !important; color: var(--fth-text) !important; }
html[data-theme] body, html[data-theme] button, html[data-theme] input, html[data-theme] textarea, html[data-theme] select { font-family: var(--sans) !important; }
html[data-theme] .app-shell { background: transparent !important; color: var(--fth-text); }
html[data-theme] .app-bar, html[data-theme] .wallet-bar { background: var(--fth-bar) !important; border-color: var(--fth-line) !important; color: var(--fth-text) !important; }
html[data-theme] .app-bar__word { color: var(--fth-text) !important; font-weight: 800 !important; letter-spacing: .22em !important; }
html[data-theme] .app-bar__word small { color: var(--fth-muted) !important; font-weight: 500 !important; letter-spacing: .24em !important; }
html[data-theme] .app-bar__avatar { background: var(--fth-surface) !important; color: var(--fth-text) !important; border-color: var(--fth-line) !important; }
html[data-theme] .wallet-pill { background: var(--fth-surface) !important; border-color: var(--fth-line) !important; color: var(--fth-text) !important; }
html[data-theme] .wallet-name { color: var(--fth-text) !important; }
html[data-theme] .tenant-logo { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
/* the mark: platinum on dark grounds (logo.svg); navy on light grounds */
html[data-theme="light"] img.tenant-logo, html[data-theme="light"] .uk-lock-brand img { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 58'%3E%3Cg transform='translate(-6 -4)'%3E%3Cpath fill='%23060B19' d='M14.091 8.909L17 6L47 6L56 15L56 35L50 48L32 60L14 48L8 35L8 15L10.909 12.091L15.152 16.334L14 17.485L14 33.682L18.738 43.947L32 52.789L45.262 43.947L50 33.682L50 17.485L44.515 12L19.485 12L18.334 13.152ZM32 21A6.5 6.5 0 1 1 32 34A6.5 6.5 0 1 1 32 21ZM29.5 31.5L34.5 31.5L35.75 44L28.25 44Z'/%3E%3C/g%3E%3C/svg%3E"); }

/* screens: desk (home), receive, bill, ledger, settings/vault (id), approve */
html[data-theme] #screen-home, html[data-theme] #screen-receive, html[data-theme] #screen-bill,
html[data-theme] #screen-ledger, html[data-theme] #screen-id, html[data-theme] #screen-approve { color: var(--fth-text); background: transparent !important; }
html[data-theme] .card, html[data-theme] .panel, html[data-theme] .sheet, html[data-theme] .tray, html[data-theme] .balance,
html[data-theme] .tile, html[data-theme] .hero, html[data-theme] .headcard, html[data-theme] .hk-card, html[data-theme] .modal {
  background: var(--fth-surface) !important; border: 1px solid var(--fth-line) !important; color: var(--fth-text) !important;
  box-shadow: var(--fth-shadow) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
html[data-theme] h1, html[data-theme] h2, html[data-theme] h3, html[data-theme] h4 { font-family: var(--sans) !important; font-weight: 600 !important; letter-spacing: -.01em; }
html[data-theme] h1, html[data-theme] h2, html[data-theme] h3, html[data-theme] h4, html[data-theme] b, html[data-theme] strong,
html[data-theme] label, html[data-theme] .hk-total, html[data-theme] .hk-amt, html[data-theme] .uny-name, html[data-theme] .uny-bubble,
html[data-theme] .balance-card__val { color: var(--fth-text) !important; }
html[data-theme] .muted, html[data-theme] p, html[data-theme] small, html[data-theme] .hk-note, html[data-theme] .hk-net,
html[data-theme] .hk-rownote, html[data-theme] .hk-head, html[data-theme] .hk-sub, html[data-theme] .hk-muted, html[data-theme] .hk-lab { color: var(--fth-muted) !important; }
html[data-theme] [style*="color:var(--muted)"], html[data-theme] [style*="color: var(--muted)"] { color: var(--fth-muted) !important; }
html[data-theme] a, html[data-theme] .link { color: var(--fth-accent) !important; }
html[data-theme] .hk-row, html[data-theme] .wallet-row { border-color: var(--fth-line) !important; }
html[data-theme] .hk-addr { background: var(--fth-bg) !important; color: var(--fth-text) !important; }
html[data-theme] .addr, html[data-theme] code { color: var(--fth-text) !important; }
html[data-theme] .qrbox, html[data-theme] .hk-qr { background: #FFFFFF !important; }

/* inputs */
html[data-theme] input, html[data-theme] textarea, html[data-theme] select {
  background: var(--fth-bg) !important; color: var(--fth-text) !important; border: 1px solid var(--fth-line-strong) !important; -webkit-backdrop-filter: none; backdrop-filter: none;
}
html[data-theme] input::placeholder, html[data-theme] textarea::placeholder { color: var(--fth-dim) !important; opacity: 1; }
html[data-theme] input:focus, html[data-theme] textarea:focus, html[data-theme] select:focus { border-color: var(--fth-focus) !important; box-shadow: 0 0 0 3px var(--fth-accent-soft) !important; outline: none; }
html[data-theme] input[type="radio"], html[data-theme] input[type="checkbox"] { accent-color: var(--fth-accent); }

/* buttons: platinum-white with navy text on dark; navy with white text on light (brand kit ui-kit/button) */
html[data-theme] .btn, html[data-theme] .btn--primary, html[data-theme] button.primary, html[data-theme] .btn-primary, html[data-theme] [data-primary],
html[data-theme] .hk-btn--send, html[data-theme] .pill-btn.active, html[data-theme] .x402 {
  background: linear-gradient(180deg, var(--fth-btn) 0%, var(--fth-btn-2) 100%) !important; color: var(--fth-on-btn) !important; border: 0 !important;
  font-weight: 600 !important; box-shadow: 0 10px 22px -16px rgba(0, 0, 0, .6) !important;
}
html[data-theme] .btn--secondary, html[data-theme] .btn--ghost, html[data-theme] .btn.ghost, html[data-theme] .btn.line,
html[data-theme] .hk-btn, html[data-theme] .pill-btn, html[data-theme] .btn-wallet-action, html[data-theme] .chip, html[data-theme] .contact-chip, html[data-theme] .copy {
  background: transparent !important; color: var(--fth-text) !important; border: 1px solid var(--fth-line-strong) !important; box-shadow: none !important;
}
html[data-theme] .hk-btn.hk-btn--send, html[data-theme] .pill-btn.active {
  background: linear-gradient(180deg, var(--fth-btn) 0%, var(--fth-btn-2) 100%) !important; border: 0 !important; color: var(--fth-on-btn) !important;
}
html[data-theme] .btn--secondary:hover, html[data-theme] .btn--ghost:hover, html[data-theme] .pill-btn:not(.active):hover { border-color: var(--fth-accent) !important; color: var(--fth-accent) !important; }
html[data-theme] .btn:focus-visible, html[data-theme] button:focus-visible, html[data-theme] a:focus-visible { outline: 2px solid var(--fth-focus) !important; outline-offset: 2px; }
html[data-theme] .protocol-badge--x402, html[data-theme] .pill { background: var(--fth-accent-soft) !important; color: var(--fth-accent) !important; border-color: var(--fth-accent-line) !important; }
html[data-theme] .hk-refresh { color: var(--fth-accent) !important; }

/* assistant orb: brushed platinum instead of the UnyKorn ember */
html[data-theme] .uny-orb { background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #EEF2F7 22%, #A3B1C6 52%, #6E7C93 78%, #1C2847 100%) !important; }
html[data-theme] .uny-orb::after { border-color: var(--fth-accent-line) !important; }

/* tab bar */
html[data-theme] .tab-bar { background: var(--fth-tab) !important; border-top: 1px solid var(--fth-line) !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
html[data-theme] .tab-bar__btn { color: var(--fth-muted) !important; background: transparent !important; }
html[data-theme] .tab-bar__btn[aria-current="page"], html[data-theme] .tab-bar__btn.on { color: var(--fth-text) !important; background: var(--fth-accent-soft) !important; box-shadow: none !important; }

/* lock screen / welcome: the "FTH / TRADING WALLET" lockup on navy (or paper in light) */
html[data-theme] .modal-overlay { background: rgba(3, 6, 15, .82) !important; }
html[data-theme] .modal-overlay.uk-lock { background: var(--fth-lock) !important; }
html[data-theme] .uk-lock > .modal { background: var(--fth-surface) !important; border: 1px solid var(--fth-line) !important; color: var(--fth-text) !important; }
html[data-theme] .uk-lock .uk-lock-brand img { width: 40px !important; height: 44px !important; object-fit: contain; }
html[data-theme] .uk-lock .uk-lock-brand b { color: var(--fth-text) !important; font-weight: 800 !important; letter-spacing: .24em !important; font-size: 18px !important; }
html[data-theme] .uk-lock .uk-lock-brand small { color: var(--fth-muted) !important; font-weight: 500 !important; letter-spacing: .26em !important; }
html[data-theme] .uk-lock .say { color: var(--fth-accent) !important; }
html[data-theme] .uk-lock .muted, html[data-theme] .uk-lock p, html[data-theme] .uk-lock .uk-lock-foot { color: var(--fth-muted) !important; }
html[data-theme] .uk-lock input { background: var(--fth-bg) !important; }
html[data-theme] .uk-lock input:focus { border-color: var(--fth-focus) !important; box-shadow: 0 0 0 3px var(--fth-accent-soft) !important; }
html[data-theme] .uk-lock .btn--ghost { background: transparent !important; color: var(--fth-text) !important; border: 1px solid var(--fth-line-strong) !important; }

/* footer + theme switch */
html[data-theme] .tenant-foot { color: var(--fth-dim) !important; }
.tenant-theme-toggle { display: block; margin: 8px auto 0; padding: 6px 14px; border-radius: 999px; font: inherit; font-size: 11px; cursor: pointer;
  background: transparent; color: inherit; border: 1px solid currentColor; }
html[data-theme] .tenant-theme-toggle { color: var(--fth-text) !important; border-color: var(--fth-line-strong) !important; }

/* ------------------------------------------------------------------ FTH-WALLET-10: the tenant banner (tenant.json "banner"; the test tenant's
   TEST line). Fixed at the top of every screen and above every sheet; the page and sheets start below it. tenant.js measures its height. */
.tenant-banner { position: fixed; top: 0; left: 0; right: 0; z-index: 10001; padding: 5px 12px; text-align: center; font-size: 12px; font-weight: 700;
  line-height: 1.35; letter-spacing: .02em; background: #FFD23F; color: #0A0C10; pointer-events: none; }
body.has-tenant-banner { padding-top: var(--tenant-banner-h, 28px); }
body.has-tenant-banner .modal-overlay { top: var(--tenant-banner-h, 28px) !important; }
