/* v664: ref-1021 shared palette. Color represents actions, rarity and status. */
body[data-ui-version="3"] {
  --tp-surface:rgba(255,255,255,.94);
  --tp-edge:#d9dfe5;
  --tp-ink:#21334b;
  --tp-navy:#153c64;
  --tp-muted:#687585;
  --tp-blue:#2bb5f0;
  --tp-primary:linear-gradient(180deg,#53c9f7,#159edc);
  --tp-gold:linear-gradient(180deg,#ffe58b,#f3bd36);
  --tp-gold-ink:#513b13;
  --tp-disabled:#e8ebef;
  --tp-shadow:0 3px 10px #263c5014;
  --tp-green:#218548;
  --tp-red:#d83a4b;
}
body[data-ui-version="3"] #app .template-card {background:var(--tp-surface);border:1px solid var(--tp-edge);border-radius:16px;box-shadow:var(--tp-shadow)}
body[data-ui-version="3"] #app .template-primary {background:var(--tp-primary);color:#10324f}
body[data-ui-version="3"] #app .template-purchase {background:var(--tp-gold);color:var(--tp-gold-ink)}
/* Repeated ID intentionally outranks legacy v561 and repeated staff-v3 selectors. */
body[data-ui-version="3"] #app#app :is(.training-details h3,.analytics-charts h3,.warehouse-template-v2 aside h3) {color:var(--tp-navy)!important;background:transparent!important}
body[data-ui-version="3"] #app#app .sheet-head h2 {background:var(--tp-navy)!important;color:white!important}
body[data-ui-version="3"] #app#app .sheet-head h2::before {color:white!important}
body[data-ui-version="3"] #app#app :is(.training-program,.emp-card,.employee-tile,.dispatch-zone,.offline-column,.analytics-kpis article,.analytics-charts>section,.capacity-grid article,.warehouse-template-v2 .uk-card) {background:var(--tp-surface)!important;border:1px solid var(--tp-edge)!important;box-shadow:var(--tp-shadow)!important}
body[data-ui-version="3"] #app#app :is(.player-sheet,.quick-bar,.player-dock,.system-directory) :is(button[aria-selected="true"],button[aria-current="page"],button[aria-current="true"],button[aria-checked="true"],button[aria-pressed="true"],button.is-on,button.active):not(.inv-slot):not(.cave-zone-card) {background:var(--tp-blue)!important;color:#10324f!important;border-color:var(--tp-blue)!important;box-shadow:none!important}
body[data-ui-version="3"] #app#app :is(button[aria-selected="true"],button[aria-current="page"],button[aria-pressed="true"],button[aria-checked="true"],button.selected) :is(span,i,b,small) {background:transparent!important;color:inherit!important}
body[data-ui-version="3"] #app#app :is(.offline-collect,.training-action button,.inventory-detail-use,[data-dispatch-confirm],.ex-enter,[data-warehouse-explore]) {background:var(--tp-primary)!important;color:#10324f!important;border-color:#199ed9!important}
body[data-ui-version="3"] #app#app :is(.offline-collect,.training-action button,.inventory-detail-use,[data-dispatch-confirm],.ex-enter) :is(b,span,small) {color:inherit!important}
body[data-ui-version="3"] #app#app :is([data-emp-recruit],[data-emp-replace],[data-buy],.template-purchase) {background:var(--tp-gold)!important;color:var(--tp-gold-ink)!important}
body[data-ui-version="3"] #app#app button:disabled {background:var(--tp-disabled)!important;color:var(--tp-muted)!important;border-color:var(--tp-edge)!important;box-shadow:none!important;opacity:1!important}
body[data-ui-version="3"] #app#app :is(.inv-slot,.cave-zone-card)[aria-pressed="true"] {outline:2px solid var(--tp-blue)!important;border-color:var(--tp-blue)!important;color:var(--tp-ink)!important}
body[data-ui-version="3"] #app#app .cave-zone-card[aria-pressed="true"] {background:var(--tp-surface)!important}
body[data-ui-version="3"] #app#app .inventory-selected-mark {background:var(--tp-blue)!important;color:#10324f!important}
body[data-ui-version="3"] #app#app :is(.training-details>small,.offline-summary-copy>small,.analytics-kpis small,.recruit-copy small,.warehouse-filter-result) {color:var(--tp-muted)!important}
body[data-ui-version="3"] #app#app :is(.analytics-kpis strong,.offline-duration,.dispatch-yield b,.warehouse-total b) {color:var(--tp-ink)!important;font-weight:800!important}
body[data-ui-version="3"] #app#app .analytics-kpis article>i {background:#e8ae22!important;color:white!important}
body[data-ui-version="3"] #app#app .analytics-kpis article:nth-child(2)>i {background:#9356df!important}
body[data-ui-version="3"] #app#app .analytics-kpis article:nth-child(3)>i {background:#20afc3!important}
body[data-ui-version="3"] #app#app .analytics-kpis article:nth-child(4)>i {background:#e24c68!important}
body[data-ui-version="3"] #app#app .warehouse-stock-ring {background:conic-gradient(var(--tp-green) 0 var(--stock-angle),#e9edf0 var(--stock-angle) 360deg)!important}
body[data-ui-version="3"] #app#app .warehouse-status.held {background:#eef8f0!important;color:var(--tp-green)!important}
body[data-ui-version="3"] #app#app .warehouse-status.empty {background:#fff0f1!important;color:var(--tp-red)!important}
body[data-ui-version="3"] #app#app .ability-bar i b {background:var(--tp-blue)!important}
body[data-ui-version="3"] #app#app [data-status="done"] :is(.line-dock-tag,.line-status,.line-dock-status) {background:#eef8f0!important;color:var(--tp-green)!important;border-color:#cde3d3!important}
body[data-ui-version="3"] #app#app .template-rise {color:var(--tp-green)!important}
body[data-ui-version="3"] #app#app .template-fall {color:var(--tp-red)!important}
body[data-ui-version="3"] #app#app :is(.apt-badge,.apt-tag).apt-white {background:#f6f7f9!important;color:#536071!important;border:1px solid #536071!important}
body[data-ui-version="3"] #app#app :is(.apt-badge,.apt-tag).apt-green {background:#edf8ed!important;color:#247344!important;border:1px solid #247344!important}
body[data-ui-version="3"] #app#app :is(.apt-badge,.apt-tag).apt-blue {background:#edf5ff!important;color:#2567a9!important;border:1px solid #2567a9!important}
body[data-ui-version="3"] #app#app :is(.apt-badge,.apt-tag).apt-purple {background:#f4edff!important;color:#7942b3!important;border:1px solid #7942b3!important}
body[data-ui-version="3"] #app#app :is(.apt-badge,.apt-tag).apt-gold {background:#fff4cf!important;color:#956016!important;border:1px solid #956016!important}
/* Nested labels must follow the button contrast, even under legacy card text rules. */
body[data-ui-version="3"] #app#app :is(button.primary,button.claim,button.active,button.is-on,[data-ms-claim],[data-ce-claim],[data-quest-claim],[data-action-confirm]) :is(b,strong,span,small) {color:inherit!important}
body[data-ui-version="3"] #app .player-sheet #sheet-title {background:var(--tp-navy)!important;color:white!important}
body[data-ui-version="3"] #app .player-sheet #sheet-title::before {color:white!important}
body[data-ui-version="3"] #app#app .offline-cat>h4>span {background:var(--tp-navy)!important;color:white!important}
/* Item selection keeps the rarity surface; blue is an outline and check mark. */
body[data-ui-version="3"] #app#app .inv-slot {--tp-item-surface:var(--tp-surface)}
body[data-ui-version="3"] #app#app .inv-slot:is([data-rarity="1"],[data-rarity="6"]) {--tp-item-surface:linear-gradient(145deg,#fff7ef,#ffddc7)}
body[data-ui-version="3"] #app#app .inv-slot:is([data-rarity="3"],[data-rarity="4"]) {--tp-item-surface:linear-gradient(145deg,#f7f3ff,#e2d6fa)}
body[data-ui-version="3"] #app#app .inv-slot[aria-pressed="true"] {background:var(--tp-item-surface)!important}

body[data-ui-version="3"] #app#app .qrow-bar {background:#e8ebef!important}
body[data-ui-version="3"] #app#app .qrow-bar i {background:var(--tp-blue)!important}
body[data-ui-version="3"] #app#app .dispatch-title-icon {background:var(--tp-navy)!important;color:white!important;border-radius:50%!important}
