/* Hospital store (hospital-store.js). Same palette as the app: --panel, --line, --muted, --mint, --gold. */
#app.store-page{max-width:1240px}
.store-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 18px}
.store-head h1{margin:0 0 4px;font-size:30px;letter-spacing:-.5px}
.store-head p{margin:0 0 10px;color:var(--muted);font-size:14px}
.store-help{white-space:nowrap}
.store-page .store-head{padding-right:44px}
.store-close{position:fixed;z-index:9;top:calc(var(--store-close-top,85px) + 10px);right:var(--shop-right,calc(12px + env(safe-area-inset-right,0px)));width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:99px;border:1px solid var(--line);background:#182941ee;color:#dce8f5;font-size:20px;line-height:1;box-shadow:0 4px 12px #0006}
.store-close:hover{border-color:var(--mint);color:var(--mint)}
.store-meter{display:block;height:6px;border-radius:99px;background:#1c2d45;overflow:hidden}
.store-meter b{display:block;height:100%;border-radius:inherit;background:var(--mint);transition:width .3s ease}
.store-total{width:min(360px,60vw);height:8px}

.store-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#0f1c30;margin-bottom:14px}
.store-tabs button{border:0;background:transparent;color:var(--muted);padding:9px 18px;border-radius:9px;font-weight:600}
.store-tabs button.selected{background:#1d3350;color:#eef6ff}

.store-chips{display:flex;flex-wrap:wrap;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:0 -2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.store-chips::-webkit-scrollbar{display:none}
.store-chips button{flex:none;border-radius:99px;padding:8px 14px;font-size:13px;background:#132339;color:#c8d6e6;border:1px solid var(--line)}
.store-chips button.selected{background:var(--mint);color:#0b2b2b;border-color:var(--mint);font-weight:700}
.store-chips button.is-lot:not(.selected){color:var(--muted)}

.store-section{margin:0 0 26px}
.store-section h2{font-size:17px;margin:0 0 12px;letter-spacing:-.2px}
.store-note{margin:-6px 0 12px;color:var(--muted);font-size:13px}
.store-empty{background:var(--panel);border:1px dashed var(--line);border-radius:14px;padding:18px 20px;margin-bottom:26px}
.store-empty h2{margin:0 0 6px;font-size:17px}.store-empty p{margin:0;color:var(--muted);font-size:14px}

.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.store-grid.is-single{grid-template-columns:minmax(0,420px)}
.store-item{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:1fr auto;gap:12px 14px;align-items:start;padding:14px;border-radius:14px;background:var(--panel);border:1px solid var(--line);transition:border-color .2s,box-shadow .2s}

.store-item.is-ready{border-color:#2f5e59}
.store-item.is-owned{background:#0f1d31}
.store-item.is-locked .store-art img{filter:grayscale(.6) brightness(.8)}
.store-item.is-focus{border-color:var(--mint);box-shadow:0 0 0 3px #70e1ca33}
.store-body{min-width:0}
.store-meta{display:block;color:var(--muted);font-size:12px;margin-bottom:2px}
.store-item h3{margin:0 0 4px;font-size:15px;line-height:1.3}
.store-item p{margin:0;color:#aebdd0;font-size:13px;line-height:1.45}
.store-reqs{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:12px;color:#c4d1e0}
.store-reqs li.ok{color:#8fdcc9}
.store-reqs .store-meter{height:4px;margin-top:3px}
.store-action{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;align-self:end}
.store-action:empty{display:none}
.store-buy{width:100%;padding:9px 12px;font-size:13.5px}
.store-buy:disabled{opacity:1;background:#152640;color:var(--muted);cursor:default}
.store-price{color:var(--muted);font-size:11.5px;text-align:center}
.store-owned{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:#8fdcc9;font-weight:600;padding:6px 2px 0;border-top:1px solid #1f3149}
.store-link{border:0;background:none;padding:4px 0;color:var(--blue);font-size:13px;font-weight:600}
.store-link:hover{text-decoration:underline}

.store-art{position:relative;display:grid;place-items:center;width:76px;height:76px;border-radius:14px;background:radial-gradient(120% 100% at 50% 20%,#20385a 0%,#152640 70%);overflow:hidden;flex:none}
.store-art img{width:88%;height:88%;object-fit:contain}
.store-art i{font-style:normal;font-size:26px;font-weight:700;color:#5f7a98}
.store-art.is-large{width:96px;height:96px}
.store-badge{position:absolute;right:5px;top:5px;background:var(--gold);color:#2b1d02;border-radius:7px;font-size:11px;padding:1px 6px}
.store-swatch{display:block;width:76px;height:76px;border-radius:14px;background:var(--swatch);box-shadow:inset 0 0 0 3px #ffffff40}
.store-swatch.is-texture{background-color:var(--swatch);background-size:cover;background-position:center;box-shadow:inset 0 0 0 3px #ffffff40,inset 0 -18px 24px -18px #0004}
.store-swatch.is-default{background:repeating-linear-gradient(135deg,#dfe7ee 0 10px,#c9d4de 10px 20px)}
.store-swatch.is-large{width:96px;height:96px}

.store-sectors{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.store-sector{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:inherit}
.store-sector:hover{border-color:#3b5a7e}
.store-sector.is-lot .store-art img{filter:grayscale(.7) brightness(.75)}
.store-sector-text{display:grid;gap:4px;min-width:0;flex:1}
.store-sector-text b{font-size:14.5px}
.store-sector-text small{color:var(--muted);font-size:12px}

.store-hero{display:flex;align-items:center;gap:18px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#132844,#0f1d31);border:1px solid var(--line);margin-bottom:22px}
.store-hero h2{margin:0 0 4px;font-size:21px}
.store-hero p{margin:0 0 4px;color:#b3c3d6;font-size:14px}
.store-hero .store-hero-meta{color:var(--muted);font-size:13px}

.store-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}
.store-option{display:grid;justify-items:center;gap:6px;padding:12px 8px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:inherit;text-align:center}
.store-option b{font-size:13px;font-weight:600;line-height:1.3}
.store-option small{font-size:12px;color:var(--muted)}
.store-option.selected{border-color:var(--mint);box-shadow:0 0 0 2px #70e1ca55}
.store-option.selected small{color:var(--mint);font-weight:700}
.store-option.is-buy small{color:var(--gold)}
.store-option:disabled{opacity:.6;cursor:default}
.store-option .store-art,.store-option .store-swatch{width:64px;height:64px}

.store-confirm{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.store-confirm h3{margin:0 0 4px;font-size:17px}.store-confirm p{margin:0;color:#b3c3d6;font-size:14px}
.store-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 6px}
.store-sum div{background:#0f1c30;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.store-sum dt{color:var(--muted);font-size:12px}.store-sum dd{margin:2px 0 0;font-size:17px;font-weight:700}

@media(max-width:700px){
 .store-head{align-items:flex-start;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px}
 .store-head>div{flex:1 1 60%}
 .store-head h1{font-size:25px}
 .store-head p{font-size:13px}
 .store-total{width:100%}
 .store-help{padding:7px 11px;font-size:12.5px;border-radius:99px}
 .store-tabs{display:flex}.store-tabs button{flex:1}
 /* the sector chips run to the screen edges: nothing looks cut and the whole row slides */
 .store-chips{flex-wrap:nowrap;margin:0 calc(50% - 50vw) 8px;padding:2px 16px 12px;scroll-padding-inline:16px}
 .store-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .store-item{grid-template-columns:64px minmax(0,1fr);padding:12px;gap:10px 12px}
 .store-art,.store-swatch{width:64px;height:64px}
 .store-sectors{grid-template-columns:minmax(0,1fr)}
 .store-hero{padding:14px;gap:14px}.store-hero .store-art{width:72px;height:72px}
 .store-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.store-meter b{transition:none}}
