/* v666: other panels, ref-1021 / v664 palette. Presentation only.
   Body-level native dialogs need their own scope outside #app.
   :not(#app#app) gives those dialogs enough specificity to beat the
   legacy :is(#app, dialog) palette without moving their DOM or handlers. */
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) { color:var(--tp-ink)!important; min-width:0; box-sizing:border-box; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(article,.facility-header,.facility-bay,.department-brief,.growth-block,.station-story,.facility-tuning,.bank-panel-head,.finance-product-head,.finance-center-summary,.finance-center-body>section,.supply-section,.supply-item,.supply-kpis>span,.oversea-summary>span,.oversea-assign>label,.staff-section),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(article,.facility-header,.facility-bay,.department-brief,.growth-block,.station-story,.facility-tuning,.bank-panel-head,.finance-product-head,.finance-center-summary,.finance-center-body>section,.supply-section,.supply-item,.supply-kpis>span,.oversea-summary>span,.oversea-assign>label,.staff-section) { background:var(--tp-surface)!important; color:var(--tp-ink)!important; border:1px solid var(--tp-edge)!important; border-radius:12px; box-shadow:var(--tp-shadow)!important; min-width:0; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(h2,h3,h4,header b),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(h2,h3,h4,header b) { color:var(--tp-navy)!important; background:transparent!important; text-shadow:none!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(p,small,span,b,strong,label,summary,li),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(p,small,span,b,strong,label,summary,li) { color:inherit; text-shadow:none!important; overflow-wrap:anywhere; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(button,a.btn),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(button,a.btn) { background:var(--tp-primary)!important; color:#10324f!important; border:1px solid #199ed9!important; border-radius:9px; min-width:0!important; max-width:100%; height:auto; white-space:normal!important; overflow-wrap:anywhere; text-shadow:none!important; box-shadow:var(--tp-shadow)!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(button,a.btn) :is(span,b,strong,small),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(button,a.btn) :is(span,b,strong,small) { color:inherit!important; background:transparent!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(.department-tabs,.ex-shop-tabs,.supply-tabs,nav) button,
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(.department-tabs,.ex-shop-tabs,.supply-tabs,nav) button { background:var(--tp-surface)!important; color:var(--tp-navy)!important; border-color:var(--tp-edge)!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(button[aria-pressed="true"],button[aria-selected="true"],button[aria-current="page"],button.is-on),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(button[aria-pressed="true"],button[aria-selected="true"],button[aria-current="page"],button.is-on) { background:var(--tp-blue)!important; color:#10324f!important; border-color:var(--tp-blue)!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) button:is([data-build-facility],[data-tune-facility],[data-buy-lines],[data-buy-growth],[data-arm-buy],[data-arm-craft],[data-arm-rnd],[data-rnd-recruit],[data-rnd-reroll],[data-rnd-draw],[data-drv-hire],[data-semi-up],[data-ed-action="upgrade"],[data-ex-buy],[data-ex-buypotion],[data-ex-repair],[data-ex-enhance],[data-saving="5000"],[data-oversea-buy]),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) button:is([data-build-facility],[data-tune-facility],[data-buy-lines],[data-buy-growth],[data-arm-buy],[data-arm-craft],[data-arm-rnd],[data-rnd-recruit],[data-rnd-reroll],[data-rnd-draw],[data-drv-hire],[data-semi-up],[data-ed-action="upgrade"],[data-ex-buy],[data-ex-buypotion],[data-ex-repair],[data-ex-enhance],[data-saving="5000"],[data-oversea-buy]) { background:var(--tp-gold)!important; color:var(--tp-gold-ink)!important; border-color:#e0bb55!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) button:disabled,
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) button:disabled { background:var(--tp-disabled)!important; color:var(--tp-muted)!important; border-color:var(--tp-edge)!important; opacity:1!important; box-shadow:none!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(input,select),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(input,select) { background:#fff!important; color:var(--tp-ink)!important; border:1px solid var(--tp-edge)!important; min-width:0; max-width:100%; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(.department-tabs,.ex-shop-tabs,.supply-tabs),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(.department-tabs,.ex-shop-tabs,.supply-tabs) { display:flex!important; flex-wrap:wrap!important; gap:6px; overflow:visible!important; }
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities,.bank-panel,.finance-center,.ex-panel:has(.ex-shop-tabs)) :is(.department-tabs,.ex-shop-tabs,.supply-tabs)>button,
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) :is(.department-tabs,.ex-shop-tabs,.supply-tabs)>button { flex:1 1 100px; }

body[data-ui-version="3"] #app#app :is(.bank-panel,.finance-center),
body[data-ui-version="3"] :is(dialog.city-location-supply,dialog.logistics-panel):not(#app#app) {background:var(--tp-surface)!important;color:var(--tp-ink)!important;border:1px solid var(--tp-edge)!important;}
body[data-ui-version="3"] #app#app :is(.bank-panel-head>span,.finance-product-head>i),
body[data-ui-version="3"] :is(.city-location-supply>header>b,.logistics-panel>header>h2)::before {background:var(--tp-navy)!important;color:white!important;border-radius:50%;}
body[data-ui-version="3"] :is(.city-location-supply>header>b,.logistics-panel>header>h2)::before {content:'\25A3';display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;font-size:18px;}
body[data-ui-version="3"] #app#app .facility-header h3::before {content:'\25A3';display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tp-navy);color:white;margin-right:8px;}
body[data-ui-version="3"] #app#app .ex-panel:has(.ex-shop-tabs) .inv-shop {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))!important;gap:12px;}
body[data-ui-version="3"] #app#app .ex-panel:has(.ex-shop-tabs) .ex-shop-item {width:auto!important;height:auto!important;min-width:0!important;padding:12px!important;overflow:visible!important;}
body[data-ui-version="3"] #app#app .ex-shop-item :is(b,small,.inv-count) {position:static!important;white-space:normal!important;overflow:visible!important;color:var(--tp-ink)!important;}
body[data-ui-version="3"] #app#app .ex-shop-item button {margin-top:auto;}
body[data-ui-version="3"] .city-location-supply .supply-scene {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr);background:white!important;color:var(--tp-ink)!important;height:auto!important;min-height:0!important;padding:12px;gap:12px;}
body[data-ui-version="3"] .city-location-supply .supply-scene>img {position:static!important;width:100%!important;height:130px!important;object-fit:cover;filter:none!important;border-radius:10px;}
body[data-ui-version="3"] .city-location-supply .supply-scene::after {display:none!important;}
body[data-ui-version="3"] .city-location-supply :is(.supply-scene-copy,.supply-kpis) {position:static!important;inset:auto!important;background:transparent!important;color:var(--tp-ink)!important;text-shadow:none!important;}
body[data-ui-version="3"] .city-location-supply .supply-kpis {grid-column:1/-1;}
body[data-ui-version="3"] .city-location-supply .supply-item {grid-template-columns:32px minmax(0,1fr) minmax(100px,auto)!important;padding:10px!important;}
body[data-ui-version="3"] :is(.city-location-supply,.logistics-panel) {max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important;}
body[data-ui-version="3"] :is(.city-location-supply,.logistics-panel)>header {background:white!important;color:var(--tp-navy)!important;}
body[data-ui-version="3"] .logistics-panel .oversea-column {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
body[data-ui-version="3"] .logistics-panel .oversea-column>.oversea-scene {grid-row:auto!important;}
body[data-ui-version="3"] .logistics-panel .oversea-column>p {grid-row:auto!important;}
body[data-ui-version="3"] .logistics-panel progress {accent-color:var(--tp-blue);}
@media(max-width:900px) {
 body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) :is(.facility-build-list,.facility-floor) {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body[data-ui-version="3"] .logistics-panel .oversea-summary {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body[data-ui-version="3"] .city-location-supply .supply-list {grid-template-columns:1fr!important;}
}

/* Remove the old tinted facility canvas and keep headings legible in the shell. */
body[data-ui-version="3"] #app#app .factory-management,
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) :is(.facility-floor,.facility-budget,.facility-explainer,.department-brief,.build-summary) {background:var(--tp-surface)!important;color:var(--tp-ink)!important;border-color:var(--tp-edge)!important;}
body[data-ui-version="3"] #app#app .player-sheet:is([data-scene-panel="dock"],[data-scene-panel="bank"],[data-scene-panel="explore"]):has(:is(#intro-facilities,.bank-panel,.ex-shop-tabs)) #sheet-title {background:transparent!important;color:var(--tp-navy)!important;}
body[data-ui-version="3"] #app#app .player-sheet:is([data-scene-panel="dock"],[data-scene-panel="bank"],[data-scene-panel="explore"]):has(:is(#intro-facilities,.bank-panel,.ex-shop-tabs)) #sheet-title::before {color:var(--tp-navy)!important;}
body[data-ui-version="3"] .city-location-supply .supply-scene-copy {max-width:none!important;padding:8px!important;}
body[data-ui-version="3"] .city-location-supply .supply-scene-copy p {display:block!important;}
body[data-ui-version="3"] .city-location-supply .supply-scene {align-items:start;}
body[data-ui-version="3"] #app#app .ex-panel:has(.ex-shop-tabs) .staff-section>h3::before {content:'\25A3';display:inline-grid;place-items:center;border-radius:50%;background:var(--tp-navy);color:white;width:30px;height:30px;margin-right:8px;}

body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) {background:var(--tp-surface)!important;}
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities)>.location-scene-banner {height:120px!important;min-height:0!important;margin:10px 0!important;}
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities)>.location-scene-banner img {width:100%;height:100%!important;object-fit:cover;}
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) .facility-floor {display:none;} /* The actionable blueprint cards below already show every facility and its status. */
body[data-ui-version="3"] #app#app :is(.finance-center>header,.finance-center-summary>span,.finance-shop-note) {background:var(--tp-surface)!important;color:var(--tp-ink)!important;border-color:var(--tp-edge)!important;}
body[data-ui-version="3"] #app#app .finance-center :is(p,small,span,b) {color:var(--tp-ink)!important;}
body[data-ui-version="3"] #app#app .finance-center button :is(span,b,small) {color:inherit!important;}

body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) .department-brief {display:grid!important;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:10px;align-items:center;}
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) .department-product-art {width:100px!important;height:80px!important;min-height:0!important;background:var(--tp-surface)!important;border-color:var(--tp-edge)!important;grid-row:span 2;}
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) .department-product-art .product-art {width:64px!important;height:64px!important;}
body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) .department-brief :is(p,small) {margin:0;}
body[data-ui-version="3"] .logistics-panel:not(#app#app) :is(.oversea-column,.oversea-assets,.oversea-assign) {background:var(--tp-surface)!important;border-color:var(--tp-edge)!important;}
body[data-ui-version="3"] .logistics-panel:not(#app#app) :is(p,small,span,h3,h4) {color:var(--tp-ink)!important;}
body[data-ui-version="3"] .logistics-panel:not(#app#app) button :is(span,small,b) {color:inherit!important;}
body[data-ui-version="3"] .city-location-supply:not(#app#app) .supply-scene-copy {background:white!important;color:var(--tp-ink)!important;}

body[data-ui-version="3"] #app#app :is(#intro-facilities,#operations-facilities) :is(.growth-list>li,.specialist-list>li,.facility-sublines,.draw-box,.rnd-project,.manager-note,.ed-automation,.ed-levels>li) {background:var(--tp-surface)!important;color:var(--tp-ink)!important;border-color:var(--tp-edge)!important;}
