/* Supplemental styles for dynamic pages (auth, account, admin). */
.auth-wrap{max-width:440px;margin:48px auto;padding:0 20px}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:0 18px 50px -30px rgba(14,23,38,.4)}
.auth-card h1{font-size:1.5rem;margin:0 0 6px}
.auth-card .sub{color:var(--ink-soft);font-size:.95rem;margin:0 0 22px}
.auth-steps{display:flex;gap:8px;margin-bottom:22px}
.auth-steps .s{flex:1;height:4px;border-radius:99px;background:var(--line)}
.auth-steps .s.on{background:var(--verified)}
.note{font-size:.9rem;border-radius:12px;padding:12px 14px;margin:14px 0}
.note.ok{background:var(--verified-soft);color:#0a6e4e;border:1px solid #9fe3cb}
.note.err{background:#fde8e8;color:#a12020;border:1px solid #f3b8b8}
.note.info{background:#eef2ff;color:#34419b;border:1px solid #c5cffb}
.muted{color:var(--ink-mute);font-size:.85rem}
.linkrow{margin-top:18px;font-size:.92rem;color:var(--ink-soft)}
.linkrow a{color:var(--key);font-weight:600;text-decoration:none}
.acct-link{display:inline-flex;align-items:center;gap:7px}

/* account */
.account-grid{display:grid;grid-template-columns:1fr;gap:22px;margin:24px 0 60px}
@media(min-width:780px){.account-grid{grid-template-columns:320px 1fr}}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.panel h2{font-size:1.15rem;margin:0 0 14px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.kv:last-child{border-bottom:0}
.badge-pill{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:99px}
.badge-pill.green{background:var(--verified-soft);color:#0a6e4e}
.badge-pill.gray{background:#eef1f4;color:#5b6675}
.badge-pill.amber{background:#fff3df;color:#9a6500}
.badge-pill.red{background:#fde8e8;color:#a12020}

/* reviews */
.rev-list{display:grid;gap:14px;margin-top:18px}
.rev{border:1px solid var(--line);border-radius:14px;padding:16px}
.rev .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.rev .who{font-weight:600}
.rev .stars{color:#f59f00;letter-spacing:1px}
.rev .date{color:var(--ink-mute);font-size:.8rem}
.review-form{border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:22px;background:var(--paper)}
.rating-input{display:flex;gap:6px;font-size:1.6rem;cursor:pointer;color:var(--line)}
.rating-input .st.on{color:#f59f00}

/* admin */
.admin-shell{max-width:1120px;margin:0 auto;padding:24px 20px 70px}
.admin-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.admin-top h1{font-size:1.5rem;margin:0}
.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px}
@media(min-width:760px){.stat-row{grid-template-columns:repeat(6,1fr)}}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.stat b{display:block;font-size:1.5rem;font-family:var(--font-display)}
.stat span{font-size:.78rem;color:var(--ink-mute)}
.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tab{padding:9px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:600;font-size:.9rem}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
table.data{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:.9rem}
table.data th,table.data td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.data th{background:var(--paper);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}
table.data tr:last-child td{border-bottom:0}
.btn-sm{padding:6px 11px;font-size:.82rem;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:600}
.btn-sm.primary{background:var(--verified);border-color:var(--verified);color:#fff}
.btn-sm.danger{background:#fde8e8;border-color:#f3b8b8;color:#a12020}
.modal-back{position:fixed;inset:0;background:rgba(14,23,38,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:60}
.modal-back.open{display:flex}
.modal{background:#fff;border-radius:18px;padding:24px;max-width:560px;width:100%;max-height:90vh;overflow:auto}
.modal h3{margin:0 0 16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hidden{display:none!important}

/* cart badge + cart page */
.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:99px;background:var(--verified);color:#fff;font-size:.72rem;font-weight:700;line-height:1}
.cart-grid{display:grid;grid-template-columns:1fr;gap:22px;margin:22px 0 60px}
@media(min-width:860px){.cart-grid{grid-template-columns:1fr 320px}}
.cart-lines{display:grid;gap:14px}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.cart-thumb{width:64px;height:64px;border-radius:10px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.85rem;overflow:hidden}
.cart-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cart-name{font-weight:600}
.qty-ctrl{display:flex;align-items:center;gap:8px;margin-top:8px}
.qty-ctrl .qn{min-width:24px;text-align:center;font-weight:600}
.cart-line-total{font-family:var(--font-mono);font-weight:600}
.cart-summary{align-self:start;position:sticky;top:20px}

/* ---- Admin product image gallery ---- */
.admin-gallery{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.admin-thumb{position:relative;width:104px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#eef2f8}
.admin-thumb.is-main{border-color:var(--ink-soft);box-shadow:0 0 0 2px var(--ink-soft)}
.admin-thumb>img{width:104px;height:78px;object-fit:cover;display:block}
.admin-thumb-badge{position:absolute;top:6px;left:6px;background:var(--ink-soft);color:#fff;font-size:.62rem;font-weight:600;letter-spacing:.03em;padding:2px 6px;border-radius:6px}
.admin-thumb-actions{display:flex;gap:4px;padding:6px}
.admin-thumb-actions .btn-sm{flex:1;font-size:.66rem;padding:4px 2px}
