.shop-page.is-open {overflow-y:auto}
.shop-workspace {max-width:1100px;margin:0 auto;padding:20px;color:#eef2fb}
.shop-toolbar,.shop-tabs,.shop-actions,.shop-card-heading {display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.shop-toolbar {justify-content:space-between;margin-bottom:20px}
.shop-workspace button,.shop-admin button {min-height:44px;padding:10px 16px;border:1px solid #637d95;border-radius:12px;background:#d7f2aa;color:#172d23;font:inherit;font-weight:600;cursor:pointer}
.shop-workspace button:disabled,.shop-admin button:disabled {opacity:.55;cursor:not-allowed}
.shop-tabs button[aria-pressed=false],.shop-confirm [data-shop-close] {background:#233348;color:#eef2fb}
.shop-balance {margin:0;background:rgba(20,30,45,.9);padding:10px 14px;border-radius:12px}
.shop-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}
.shop-card {background:#1d2a3d;border:1px solid #455872;border-radius:18px;padding:20px;color:#eef2fb;overflow-wrap:anywhere}
.shop-card-heading {justify-content:space-between;align-items:flex-start;flex-wrap:nowrap}
.shop-card h3 {margin:0;font-size:1.2rem}.shop-card-heading strong {color:#d7f2aa;white-space:nowrap}
.shop-card p {line-height:1.5}.shop-description {white-space:pre-wrap}.shop-meta {font-size:.85rem;color:#c2cede}
.shop-reward-image {width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:16px}
.shop-card > button {width:100%;margin-top:10px}.shop-note {padding:12px;background:#594c29;border-radius:10px}
.shop-status:not(:empty),.shop-empty {background:rgba(20,30,45,.9);padding:14px;border-radius:12px;line-height:1.5}
.shop-status:empty {display:none}
.shop-confirm {width:min(480px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:24px;border-radius:18px;border:1px solid #455872;background:#1d2a3d;color:#eef2fb}
.shop-confirm::backdrop {background:#0009}.shop-confirm p {line-height:1.5}.shop-confirm .shop-actions button {flex:1}
.shop-admin {padding-bottom:40px}.shop-admin .shop-toolbar {align-items:flex-start}.shop-admin .shop-toolbar input {max-width:400px;min-height:48px;font-size:16px}
.shop-admin .shop-catalog-card {background:var(--panel);color:var(--text);border:1px solid var(--border)}
.shop-catalog-card .shop-meta {color:var(--muted)}.shop-catalog-card .shop-card-heading strong {color:var(--accent)}
.shop-admin .shop-grid {margin:16px 0 28px}.shop-admin .shop-actions button {flex:1}
.shop-admin .shop-decline {background:#fbe1dd;color:#74291b;border-color:#d8aaa0}
.shop-admin .shop-editor form {display:grid;gap:20px}.shop-editor form > label {display:grid;gap:8px}
.shop-editor .shop-check {display:flex;align-items:center;gap:10px;min-height:44px}.shop-editor .shop-check input {width:20px;height:20px;flex-shrink:0}
.shop-editor fieldset {display:grid;gap:8px;border:1px solid var(--border);border-radius:12px}.shop-editor fieldset legend {padding:0 8px}
.shop-editor .shop-user-picker {max-height:280px;overflow:auto;display:grid;gap:8px}
.shop-admin .shop-editor .admin-back-link {background:none;border:0;color:var(--accent);padding:8px 0}
.shop-history {max-height:500px;overflow:auto;line-height:1.5}.shop-history li {padding:12px 0}.shop-history small {display:block}
/* Admin project pages use the shared low-glare dark palette. */
.shop-admin .shop-card {background:var(--panel);border-color:var(--border);color:var(--text)}
.shop-admin .shop-card-heading strong {color:var(--accent-strong)}
.shop-admin .shop-meta {color:var(--muted)}
.shop-admin .shop-note {background:#494239;color:#f1e8d7}
.shop-admin .shop-decline {background:#573b3b;color:#f6d8d5;border-color:#805b59}
.shop-admin button:not(.shop-decline):not([data-shop-close]) {background:var(--accent);color:#1d2a26;border-color:#8eafa4}
.shop-admin .shop-tabs button[aria-pressed=false],.shop-admin .shop-confirm [data-shop-close] {background:var(--panel-soft);color:var(--text);border-color:var(--border)}
.shop-admin .shop-editor {background:var(--panel);color:var(--text)}
@media(max-width:760px){.shop-workspace{padding:12px}.shop-tabs{width:100%}.shop-tabs button{flex:1}.shop-card{padding:16px}.shop-admin .shop-toolbar .shop-actions{width:100%}.shop-admin .shop-toolbar input{width:100%;max-width:none}.shop-admin h1{font-size:1.8rem}.shop-grid{grid-template-columns:minmax(0,1fr)}.shop-confirm{padding:18px}.shop-editor .quest-form-grid{grid-template-columns:minmax(0,1fr)}}
