/* เลิกโง่การ์ด — หน้าแอดมิน (ใช้ token สีและตัวอักษรเดียวกับ app.css) */
body.admin{background:var(--bg)}
.adm-login{max-width:420px;margin:12vh auto 0;display:flex;flex-direction:column;gap:16px}
.adm-login .brand{margin:0}
.adm-tabs{overflow-x:auto}
.top .btn-sm{padding:7px 12px}
.adm-main{display:flex;flex-direction:column;gap:16px;padding-bottom:80px}
.adm-sec h3{margin-bottom:12px}
.adm-sec .sheet-head h3{margin-bottom:0}
.adm-list{display:flex;flex-direction:column;gap:8px}
.adm-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg)}
.ar-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-right:auto;min-width:0}
.ar-main small{font-size:12px}
.ar-act{display:flex;gap:8px;flex-wrap:wrap}
.adm-users td,.adm-users th{white-space:nowrap}
.st{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:2px 8px;background:var(--surface2)}
.st-active{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}
.st-disabled,.st-rejected{background:color-mix(in srgb,var(--bad) 15%,transparent);color:var(--bad)}
.st-pending{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}
.adm-menu{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.cred{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cred-pw{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--surface2)}
.cred-pw b{font-size:24px;letter-spacing:.12em}
.cred pre{margin:0;padding:12px 14px;white-space:pre-wrap;font-family:var(--f-body);font-size:13.5px;line-height:1.6}
.modal.wide{width:min(760px,100%)}
.adm-hist{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;font-size:13px}
.adm-hist>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 8px;border-radius:8px;background:var(--bg)}
.adm-hist .tiers{display:flex;gap:3px;flex-wrap:wrap}
.adm-hist .badge{min-width:26px;height:16px;font-size:10px;padding:0 5px}
.adm-hist .pos{color:var(--good)}.adm-hist .neg{color:var(--bad)}
.adm-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:900px){.adm-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.adm-grid4{grid-template-columns:minmax(0,1fr)}}
.adm-grid4 input:not([type=number]){border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 12px;font-size:15px;width:100%}
.adm-packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:980px){.adm-packs{grid-template-columns:minmax(0,1fr)}}
.adm-pack{border-top:4px solid var(--c1)}
.adm-pack h3{display:flex;align-items:center;gap:8px;letter-spacing:.04em}
.pk-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2))}
.pin-sm{width:150px}
.adm-m{margin-block:10px}
.adm-m .kv{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:620px){.adm-m .kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
.adm-m .kv b{font-size:17px}
.adm-m .pos{color:var(--good)}.adm-m .neg{color:var(--bad)}
.adm-sum{margin:6px 0 0;font-size:13px}
.adm-sum.ok b{color:var(--good)}.adm-sum.off b{color:var(--warn)}
.adm-tg{padding-block:12px;border-top:1px solid var(--line)}
.adm-tg:first-of-type{border-top:0}
.adm-tg span{color:var(--ink);font-size:14.5px;font-weight:500}
.adm-tg small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.savebar{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:45;width:min(760px,calc(100% - 32px));display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--ink);color:var(--bg);border-radius:14px;padding:10px 10px 10px 16px;box-shadow:var(--shadow);font-size:13.5px}
.savebar span{margin-right:auto}
.savebar .btn-ghost{color:var(--bg);border-color:color-mix(in srgb,var(--bg) 35%,transparent)}
.spc-list{display:flex;flex-direction:column;gap:12px}
.spc{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--bg)}
.spc.off{opacity:.55}
.spc-body{display:flex;flex-direction:column;gap:10px;min-width:0}
.spc-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:620px){.spc{grid-template-columns:90px minmax(0,1fr)}.spc-2{grid-template-columns:minmax(0,1fr)}}
.spc input:not([type=number]),.spc-form input:not([type=number]),.spc-form select,.spc-form input[type=number]{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 12px;font-size:15px;width:100%;color:var(--ink)}
.spc-act{display:flex;align-items:center;justify-content:space-between;gap:10px}
.spc-act .toggle{justify-content:flex-start}
.slab.special .sf{background:conic-gradient(from 210deg,#ffd84d,#ff6b8b,#b98bff,#6fd8ff,#7dffa6,#ffd84d)}
.top a.btn{text-decoration:none;color:var(--ink)}

/* v0.9 · เข้าสู่ระบบด้วย Supabase Auth + 2FA, บันทึกแอดมิน */
.adm-login h3{font-size:18px}
.adm-code{font-size:26px!important;letter-spacing:.35em;text-align:center}
.adm-enroll{max-width:480px}
.adm-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.adm-qr{margin:10px 0 6px;display:block;width:max-content;background:#fff;border-radius:12px;padding:10px;border:1px solid var(--line)}
.adm-qr img{display:block;width:180px;height:180px}
.adm-secret{font-size:13px}
.adm-secret summary{cursor:pointer;color:var(--accent);font-weight:600}
.adm-secret code{display:inline-block;margin-top:6px;word-break:break-all;background:var(--surface2);padding:4px 8px;border-radius:6px}
.adm-me{display:inline-flex;align-items:center;gap:6px;max-width:220px}
.adm-me span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-ro{margin:0 0 12px}
.pos{color:var(--good)}.neg{color:var(--bad)}
.adm-log{display:flex;flex-direction:column;gap:6px}
.lg{display:grid;grid-template-columns:150px 170px minmax(0,1fr);gap:4px 12px;align-items:baseline;padding:9px 12px;border-radius:10px;background:var(--bg);border-left:3px solid var(--line);font-size:13.5px}
.lg-bad{border-left-color:var(--bad)}.lg-cfg{border-left-color:var(--accent)}
.lg-t{font-size:12.5px}
.lg-who{grid-column:3;grid-row:1;color:var(--muted);font-size:12.5px;justify-self:end}
.lg-d{grid-column:1/-1;min-width:0}
.lg-d:empty{display:none}
.adm-chg{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:2px}
.lg details summary{cursor:pointer;color:var(--accent);font-size:12.5px;margin-top:4px}
@media (max-width:620px){.lg{grid-template-columns:minmax(0,1fr) auto}.lg-a{grid-column:1}.lg-t{grid-column:1/-1;grid-row:1}.lg-who{grid-column:2;grid-row:2}}
@media (max-width:620px){.adm-me .st{display:none}.adm-me{max-width:150px}}

/* v0.12 · แหล่งการ์ด */
.ct-stats{margin-bottom:12px}
.stat b small{font-size:.55em;color:var(--muted);margin-left:2px}
.ct-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ct-prog{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:13px}
.ct-prog .gauge{flex:1;height:8px;border-radius:99px;background:var(--surface2);overflow:hidden}
.ct-prog .gauge i{display:block;height:100%;background:var(--accent);transition:width .3s}
.ct-cron{margin-top:12px;font-size:13px}
.ct-cron summary{cursor:pointer;color:var(--accent);font-weight:600}
.ct-cron ol{margin:8px 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.ct-cron code{background:var(--surface2);padding:1px 6px;border-radius:5px}
.ct-tabs{display:flex;flex-wrap:wrap;margin-bottom:14px}
.ct-tabs button i{font-style:normal}
.ct-sets{display:flex;flex-direction:column;gap:8px}
.ct-set{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg)}
.ct-set.on{border-color:color-mix(in srgb,var(--good) 45%,var(--line))}
.cs-main{display:flex;flex-direction:column;gap:2px;margin-right:auto;min-width:220px;flex:1}
.cs-main small{font-size:12px}
.cs-counts{font-size:12.5px}
.cs-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cs-act .toggle{font-size:12.5px;gap:6px}
.ct-body .field input,.ct-bar select{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 12px;font-size:15px;width:100%;color:var(--ink)}
.ct-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.ct-bar select{width:auto;min-width:220px}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}
.ct-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}
.ct-card.cs-hidden{opacity:.55}
.cc-body b{color:var(--ink)}
@media (max-width:620px){.ct-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ct-img{position:relative;display:block;aspect-ratio:.72;background:var(--surface2)}
.ct-img img{width:100%;height:100%;object-fit:cover;display:block}
.ct-img i{position:absolute;inset:0;display:none;place-items:center;font-style:normal;font-size:12px;color:var(--muted)}
.ct-img.fail img,.ct-card.noimg .ct-img img{display:none}
.ct-img.fail i,.ct-card.noimg .ct-img i{display:grid}
.cc-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;min-width:0}
.cc-body b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-body small{font-size:11.5px}
.pin-xs input{font-size:14px!important;padding:6px 8px!important}
.cc-img{display:flex;flex-direction:column;gap:6px}
.cc-img input{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 8px;font-size:12.5px;width:100%;color:var(--ink)}
.cc-act{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.modal.xwide{width:min(1100px,100%)}
.ct-grid-sheet{max-height:62vh;overflow-y:auto;padding-right:4px}

/* v0.13 · RATIO PACK */
.adm-ratio{border-top:4px solid #E8C46A}
.adm-ratio h3 small{font-size:12.5px;font-weight:500;margin-left:6px}
.adm-ratio select,.adm-ratio input:not([type=number]){border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 12px;font-size:15px;width:100%;color:var(--ink)}
.ratio-tiers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
@media (max-width:760px){.ratio-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rt{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.rt b{font-size:20px}
.rt small{font-size:12px}
.rl-bars{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.rl-bars>div{display:grid;grid-template-columns:44px minmax(0,1fr) 80px;align-items:center;gap:10px;font-size:13px}
.rl-bars .gauge{height:8px;border-radius:99px;background:var(--surface2);overflow:hidden}
.rl-bars .gauge i{display:block;height:100%;background:#E8C46A}

/* v0.14 · KING PACK */
.adm-king{border-top:4px solid #8a5cf6}
.adm-king h3 small{font-size:12.5px;font-weight:500;margin-left:6px}
.adm-king select,.adm-king input:not([type=number]){border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 12px;font-size:14px;width:100%;color:var(--ink)}
.king-prizes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}
@media (max-width:820px){.king-prizes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kp{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.kp-card{position:relative;width:100%;max-width:120px;margin:0 auto}
.kp select{font-size:12px!important;padding:6px 8px!important}
.kp small{text-align:center}
.kn-plate{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:#111;border-radius:8px;padding:.15em .45em;font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:.06em;box-shadow:0 2px 8px rgba(0,0,0,.35),inset 0 0 0 2px #d9c27a;z-index:5}
.king-won{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.king-won span{font-size:12.5px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,#8a5cf6 14%,var(--bg));border:1px solid color-mix(in srgb,#8a5cf6 35%,var(--line))}
.kcons{display:flex;align-items:center;gap:8px}
.kcons select{flex:1;min-width:0}
.kcons select:disabled{opacity:.45}
.adm-king .field small{font-size:11.5px}
