/* Additions on top of the original site's styles.css (kept verbatim). */
.account-slot .badge{padding:2px 7px}
.pricing-controls .rule-note{font-size:12px;color:#657184;line-height:1.75}
.pricing-controls small{font-size:12px}
.pokemon-results[hidden]{display:none}
.search-field .pokemon-search-status{margin:0}
.valuation .price.range{font-size:clamp(26px,3.4vw,44px)}
.valuation .notes{margin:0 0 18px;padding-left:18px;color:#bdc9d9;font-size:13px;line-height:1.7}
.evidence td .note-text{display:block;font-size:13px;line-height:1.7}
.stub{padding:28px;margin:0 0 24px}
.stub h2{margin:6px 0 12px}
.stub ul{font-size:14px;line-height:1.9;color:#515e73}
.data-flag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px;background:#eef0f5;color:#656d7b;margin-left:6px}
.report-grid label{font-size:13px}
.report-result{font-size:13px}
.report-result.error{color:#9a2937}
.report-result.ok{color:#286354}
.forex input{width:194px}

/* ---- admin additions ---- */
.login-panel{max-width:560px;margin:60px auto}
.admin-view .page-heading{min-height:0;margin-bottom:22px}
.admin-view .admin-section+.admin-section{margin-top:20px}
.badge.flag{background:#fde8e6;color:#9a2937}
.badge.pending{background:#fff0d5;color:#885b12}
.badge.approved{background:#e4f2ef;color:#286354}
.badge.rejected,.badge.revoked{background:#eef0f5;color:#656d7b}
.admin-toolbar{margin:4px 0 18px}
.admin-toolbar .grow{flex:1;min-width:220px}
.status-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.status-tabs button{background:#fff;border:1px solid #d5deea;border-radius:8px;padding:9px 16px;color:#52627a;font-size:13px}
.status-tabs button[aria-selected="true"]{background:#20334b;color:#fff;border-color:#20334b}
.admin-view table td{padding:13px 12px;font-size:13px}
.admin-view table td:first-child{min-width:140px}
.admin-view table td:last-child{min-width:180px;max-width:360px}
.admin-view .data-preview td{padding:8px 10px}
.row-ok{color:#286354}.row-bad{color:#9a2937}
.admin-msg{font-size:13px;margin:10px 0;min-height:20px}
.admin-msg.ok{color:#286354}.admin-msg.error{color:#9a2937;white-space:pre-wrap}
.lead{border-bottom:1px solid #e1e5eb;padding:16px 0;display:grid;grid-template-columns:1fr auto;gap:8px 18px}
.lead h3{font-size:15px;margin:0}
.lead p{font-size:13px;color:#5d687a;margin:4px 0;overflow-wrap:anywhere}
.lead small{color:#748095;font-size:12px}
.lead .actions{display:flex;align-items:flex-start}
.lead .actions button,.small-button{padding:8px 13px;border:1px solid #ccd7bc;border-radius:7px;background:#eff4e4;color:#304921;font-size:13px}
.danger-button{padding:10px 18px;border:1px solid #c9a3a8;border-radius:7px;background:#fff;color:#9a2937;font-size:14px}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.settings-grid label{font-size:13px}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.chip-list button{border:1px solid var(--line);background:#ecf2db;border-radius:5px;padding:6px 11px;font-size:13px}
.chip-list button:hover{background:#f6dede;text-decoration:line-through}
.individual-row{display:grid;grid-template-columns:1.1fr 1.6fr .8fr .9fr;gap:10px;padding:16px;border:1px solid #e0e5ed;border-radius:10px;background:#f7f9fc;margin-bottom:12px}
.individual-row label{font-size:12px;gap:4px}
.individual-row .row-tools{display:flex;align-items:end;justify-content:flex-end}
.sticky-save{position:sticky;bottom:0;background:#fff;border-top:1px solid #e1e5eb;padding:14px 0 4px;margin-top:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.batch-line{font-size:13px;padding:6px 0}
.batch-line small{color:#748095;margin-left:6px}
.review-card .meta{font-size:12px;color:#748095;margin-top:8px}
.review-card .spec{font-size:13px;color:#515e73;margin:6px 0}
.review-card .review-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-top:12px}
.review-card .review-actions label{font-size:12px;min-width:180px}
.member-row .role-badge{margin-left:8px}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr 1fr}.individual-row{grid-template-columns:1fr 1fr}.lead{grid-template-columns:1fr}}

/* ---- login ---- */
.auth-page{background:#f4f6fa;min-height:100vh}
html:has(.auth-page){background:#f4f6fa}
.login-panel h1{font-size:32px;letter-spacing:-.8px}
.oauth-buttons{display:flex;flex-direction:column;gap:12px;margin:24px 0 8px}
.oauth-button{display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;border-radius:7px;text-decoration:none;font:500 15px/1 Roboto,Inter,"Noto Sans TC",system-ui,sans-serif;border:1px solid transparent;transition:filter .15s}
.oauth-button:hover{filter:brightness(.94)}
.oauth-button .oauth-logo{display:grid;place-items:center;width:24px;height:24px;flex:none}
.oauth-button>span:last-child{flex:1;text-align:center;padding-right:36px}
.oauth-google{background:#fff;color:#1f1f1f;border-color:#747775}
.oauth-line{background:#06c755;color:#fff}
.oauth-line .oauth-logo{border-right:1px solid rgba(0,0,0,.08);width:34px;padding-right:10px;margin-right:2px}
.oauth-line:hover{filter:none;background:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1)),#06c755}
.oauth-facebook{background:#0866ff;color:#fff}
.oauth-button[aria-disabled="true"]{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}
.oauth-hint{font-size:12px;color:#8a5a14;margin:-6px 0 4px}
.login-foot{margin-top:18px;font-size:12px;line-height:1.8}
.account-slot .avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid #dce1e8;background:#eef0f5}
.account-slot .avatar.initial{display:inline-grid;place-items:center;font-size:12px;font-weight:700;color:#465d2d;background:#edf3df}
.link-button{border:0;background:none;padding:0;font:inherit;font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.account-slot form{display:inline;margin:0}
.id-box{font:13px/1.6 ui-monospace,monospace;background:#f5f7fa;border:1px solid #e1e5eb;border-radius:8px;padding:10px 12px;overflow-wrap:anywhere}
/* costume reasoning in the valuation panel */
.costume-reason{margin:10px 0 4px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.08);font-size:13px;line-height:1.5}
.costume-reason b{font-weight:700}
.costume-reason small{display:block;opacity:.75;margin-top:4px}
.costume-chip{display:inline-block;padding:1px 7px;border-radius:999px;background:#f4c542;color:#1d2433;font-size:11px;font-weight:700;vertical-align:1px}
.costume-reason details{margin-top:6px}
.costume-reason summary{cursor:pointer;opacity:.85}
.costume-reason ol{margin:6px 0 0 18px;padding:0}
.costume-defaults{font-size:12px;color:#7a6a3a;margin-left:4px}
.costume-preview{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
.costume-preview th,.costume-preview td{border-bottom:1px solid #e6e9ef;padding:6px 8px;text-align:left}
.costume-preview td.num{text-align:right;font-variant-numeric:tabular-nums}
.costume-reason details{border-top:0;padding:4px 0 0}.costume-reason summary{font-weight:500;font-size:13px}

/* ---- 起源＋特招 breakdown ---- */
.og-chip{background:#7ad3ff}
.og-formula{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:14px}
.og-formula span{display:inline-flex;flex-direction:column;align-items:center;padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.1);min-width:54px}
.og-formula span b{font-size:15px}
.og-formula span small{display:block;margin:0;font-size:11px;opacity:.8}
.origin-table input{width:100%}
.origin-table td,.origin-table th{padding:4px 6px;vertical-align:middle}

/* ---- 背卡目錄 ---- */
.background-card .background-pokemon{list-style:none;padding-left:0}
.background-card .background-pokemon li{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.5;padding:2px 0}
.background-card .background-pokemon img{width:32px;height:32px;flex:none;image-rendering:pixelated}
.background-catalog .admin-inline{display:flex;gap:12px;margin-top:20px}
.background-catalog .admin-inline button{padding:10px 15px;background:#fff;border:1px solid #dce2eb;border-radius:7px;font-size:13px}

/* ---- 價格試算：背卡 × 寶可夢 提醒 ---- */
.bg-check{grid-column:1/-1;margin:-4px 0 0;padding:11px 14px;border-radius:8px;font-size:13px;line-height:1.7;border-left:3px solid #c45a66;background:#fde8e6;color:#7d2430}
.bg-check[hidden]{display:none}
.bg-check p{margin:0;font-size:13px}
.bg-check .bg-check-msg{font-weight:700}
.bg-check.info{border-left-color:#8a96a8;background:#eef0f5;color:#4f5b6d}
.bg-check-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:4px!important}
.bg-check .text-button{padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:13px}
.bg-check a{font-size:13px}

/* QA 2026-10-02: 390px overflow fixes */
.admin-view code{overflow-wrap:anywhere;word-break:break-all}
@media(max-width:760px){.forex input{width:100%}.forex label{min-width:0}#costume-preview{overflow-x:auto}.costume-preview{min-width:420px}}
/* 2026-10-02 owner decisions: not-yet-released result */
.price.unreleased{font-size:34px;letter-spacing:0;color:#c9d3e0}
/* 申請加入 (ported from the original styles.css) */
.join-view header{max-width:1080px;gap:20px;justify-content:space-between}.join-header-link{font-size:14px}
.join-layout{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start;padding:48px 24px}
.join-intro h1{font-size:42px;line-height:1.3;margin:20px 0}.join-intro p{font-size:16px;line-height:1.9;color:#53677d}
.join-intro ol{list-style:none;padding:0;display:grid;gap:25px;margin-top:36px}.join-intro li{display:flex;gap:20px;align-items:flex-start;font-size:16px}
.join-intro li>b{font-size:20px;color:#637d2a}.join-intro small{display:block;font-size:14px;color:#637389;margin-top:7px}
.join-panel{padding:30px}.join-panel h2{font-size:24px}.join-panel label{display:grid;gap:9px;font-size:14px;margin:20px 0}
.join-panel input:not([type=checkbox]),.join-panel textarea{width:100%;font-size:16px;border:1px solid #ccd6e2;border-radius:8px;padding:12px;font-family:inherit}
.join-panel .check-line{display:flex;align-items:flex-start;line-height:1.7}.join-panel .primary-button{display:inline-block;padding:13px 20px;border:0}
.join-panel p{font-size:14px;line-height:1.8}.join-panel a{font-size:14px}.join-panel [hidden]{display:none!important}.join-footnote{color:#637389}
.join-panel #join-status,.join-code{padding:18px;border-radius:9px;background:#edf3df;line-height:1.8}.join-code b{font:600 22px ui-monospace,monospace;letter-spacing:2px}.join-code small{display:block;color:#53677d}
.join-check{margin:8px 0 14px}.join-check label{margin:12px 0}.application-reason{white-space:pre-wrap;overflow-wrap:anywhere}.login-join{margin-top:16px;font-size:14px}
@media(max-width:760px){.join-layout{grid-template-columns:1fr;gap:24px;padding:26px 16px}.join-intro h1{font-size:32px}.join-intro ol{gap:14px;margin-top:20px}.join-panel{padding:22px}}
/* admin dialogs, bulk review, role controls (2026-10-02) */
.admin-dialog{border:0;border-radius:14px;padding:26px;max-width:640px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(20,30,50,.35)}
.admin-dialog::backdrop{background:rgba(20,30,50,.45)}.admin-dialog h2{margin:0 0 12px}.admin-dialog label{display:grid;gap:6px;margin:10px 0;font-size:13px}
.admin-dialog .edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.admin-dialog .edit-grid .full{grid-column:1/-1}
.bulk-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;padding:12px 14px;margin:10px 0;border:1px solid var(--line);border-radius:10px;background:#f8f9fb}
.bulk-bar label{font-size:13px}.bulk-bar .grow{flex:1;min-width:200px}.review-card .pick{display:flex;align-items:center;gap:8px;font-size:13px;color:#566276;margin-bottom:6px}
.review-card .pick input{width:18px;min-height:18px;height:18px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions button{font-size:12px;padding:4px 9px}
.nav-count{margin-left:auto;background:#e1ef76;color:#1b263b;border-radius:10px;padding:0 7px;font-size:11px}.nav-count:empty{display:none}
.history-changes{margin:4px 0 0;padding-left:18px;font-size:12px;color:#566276}.history-json{max-height:420px;overflow:auto;background:#0f1a2b;color:#d8e2f0;padding:14px;border-radius:8px;font-size:12px}
.role-note{font-size:12px;color:#677181}.readonly-note{background:#fff5df;border:1px solid #f0d9a8;color:#7a5a17;padding:10px 14px;border-radius:9px;font-size:13px}
@media(max-width:760px){.admin-dialog .edit-grid{grid-template-columns:1fr}}

.login-panel .admin-inline .primary-button{background:#202b3e;color:#fff;border-color:#202b3e;min-height:44px;padding:10px 23px}

/* 全國圖鑑: form / costume / special-move counts */
.dex-extras { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 2px; }
.dex-extras span { font-size: 11px; line-height: 1.6; padding: 0 6px; border-radius: 999px; background: #eef2e3; color: #3d4a1f; }
.move-count { display: block; margin-top: 4px; font-size: 12px; }

/* 快速查看: recent / preset / popular groups */
.quick-picks { flex-wrap: wrap; row-gap: 8px; }
.quick-picks > span.qp-group { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-right: 6px; color: inherit; font-size: inherit; }
.quick-picks .qp-label { font-size: 11px; color: #6b7280; margin-right: 2px; }
.quick-picks .qp-recent .qp-label { color: #3d6b1f; font-weight: 600; }
.presets.quick-picks button.qp-clear { margin-left: auto; font-size: 12px; border: 0; padding: 4px 6px; text-decoration: underline; }
.presets.quick-picks button.qp-clear:hover { background: none; color: var(--ink); }

/* ---- 市場資料 ---- */
.market-context{margin:10px 0 4px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.06);font-size:13px}
.mk-chip{background:#9be38f}
.mk-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.mk-box{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:6px;background:rgba(255,255,255,.08)}
.mk-box span{font-size:12px;opacity:.85}
.mk-box b{font-size:18px}
.mk-box small{font-size:11px;opacity:.8;line-height:1.4}
.mk-box.mk-ask{border-left:3px solid #f4c542}.mk-box.mk-sold{border-left:3px solid #9be38f}
.mk-link{margin-top:8px}
.market-table td.market-title{max-width:420px}
.market-table td.market-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.market-table small{display:block}
.tabs.mk-tabs,.mk-tabs{display:flex;gap:6px;margin:10px 0}
.mk-tabs button.active,.mk-filter button.active{background:#1d2433;color:#fff}
.pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.pager span{margin:0 8px;font-size:13px}
.mk-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0}
.mk-filter label{display:flex;flex-direction:column;font-size:13px}
@media (max-width:640px){.mk-grid{grid-template-columns:1fr}}
button.mk-link{background:none;border:0;border-top:1px solid #3b4557;width:100%;font:inherit;color:#f1f5fa;margin-top:10px;text-align:left}
.market-table td:first-child{min-width:96px}.market-table td:last-child{min-width:50px}.market-table td{padding:10px 10px}
.mk-stats>div{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid #e6e9ef;border-radius:8px}
.mk-stats b{font-size:18px}
tr.row-excluded td{opacity:.5;text-decoration:line-through}
tr.row-excluded td:last-child{opacity:1;text-decoration:none}
.evidence-tabs{margin:16px 0 4px}.evidence-tabs button{border:1px solid #d8dee7;background:#fff;border-radius:50px;padding:7px 14px}

/* variant prices (背卡 / 形態 / 尺寸 / 招式) listed apart from the plain main number */
.variant-prices{margin:10px 0 4px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.06);font-size:13px}
.vr-chip{background:#f4c542;color:#1d2433}
.vr-group{margin-top:10px}
.vr-title{font-weight:600;font-size:13px;margin-bottom:6px}.vr-title small{font-weight:400;opacity:.75;margin-left:4px}
.vr-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.vr-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:1px;padding:7px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:inherit;cursor:pointer;font:inherit}
.vr-item:hover:not([disabled]){border-color:#f4c542;background:rgba(244,197,66,.12)}
.vr-item[disabled]{cursor:default;opacity:.8}
.vr-name{font-size:12px;opacity:.9}.vr-item b{font-size:16px}.vr-item small{font-size:11px;opacity:.75;line-height:1.35}
.vr-more summary{cursor:pointer;font-size:12px;opacity:.8;margin:6px 0}
@media (max-width:640px){.vr-list{grid-template-columns:1fr}}

.site-legal{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;border-top:0;margin:0 auto;padding:6px 16px 28px;font-size:13px;color:var(--muted)}.site-legal a{color:var(--muted)}
.legal-page{max-width:820px;margin:40px auto;padding:30px 34px}.legal-page h1{font-size:30px;letter-spacing:-.6px}.legal-page h2{font-size:18px;margin:28px 0 8px}.legal-page p,.legal-page li{font-size:15px;line-height:1.9;color:#33405a}.legal-page ul{padding-left:22px;margin:6px 0}.legal-page .legal-meta{color:var(--muted);font-size:13px}
.bg-show{flex-direction:row;gap:8px;font-size:14px;margin:12px 0 0}.bg-show input{width:auto;min-height:0}
@media(max-width:760px){.legal-page{margin:16px;padding:22px 20px}}
