/* Nam Quốc Sơn Hà - Admin Panel V2
   Chỉ mở rộng giao diện hiện tại; không sao chép layout admin cũ. */
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.admin-kpi{border:1px solid rgba(216,173,103,.2);background:linear-gradient(145deg,rgba(216,173,103,.08),rgba(255,255,255,.018));padding:13px 14px;min-height:78px}.admin-kpi span{display:block;color:#928a7e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.admin-kpi b{display:block;color:#f1d08f;font-family:Georgia,serif;font-size:21px;margin-top:6px}.admin-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 14px;padding:5px;border:1px solid rgba(216,173,103,.16);background:rgba(0,0,0,.14)}.admin-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#9f988d;padding:9px 13px;cursor:pointer}.admin-tabs button.active{color:#f1d08f;border-color:#d8ad67;background:rgba(216,173,103,.08)}.admin-tab-pane{display:none}.admin-tab-pane.active{display:block}.admin-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.admin-toolbar input,.admin-toolbar select,.admin-filter-grid input,.admin-filter-grid select,.admin-form-card input,.admin-form-card select{height:40px;border:1px solid #3b3c3b;background:#0f1316;color:#f4efe6;padding:0 10px;outline:none}.admin-toolbar input{min-width:220px;flex:1}.admin-toolbar button,.mini-btn{height:40px;border:1px solid #735739;background:linear-gradient(180deg,#342516,#17130f);color:#efd19b;padding:0 14px;cursor:pointer}.admin-toolbar button:hover,.mini-btn:hover{border-color:#b58a52;background:#3e2d1b}.admin-toolbar .ghost{background:transparent}.danger-soft,.mini-btn.danger{border-color:#713b32!important;color:#e88472!important;background:rgba(120,38,30,.1)!important}.mini-btn.good{border-color:#3e7450;color:#7fd396}.admin-data-area{border:1px solid rgba(216,173,103,.17);background:rgba(4,7,9,.34);min-height:100px;overflow:auto}.admin-loading,.admin-empty{padding:22px;text-align:center;color:#847d73}.admin-table{width:100%;border-collapse:collapse;min-width:720px}.admin-table th{position:sticky;top:0;z-index:1;background:#17191a;color:#bba98e;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:10px;border-bottom:1px solid #3c342a}.admin-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.055);font-size:12px;vertical-align:middle}.admin-table tr:hover td{background:rgba(216,173,103,.035)}.admin-table strong{color:#ead1a3}.admin-table .money{color:#f1d08f}.admin-table .online{color:#61d587}.admin-table .offline{color:#898989}.admin-table .bad{color:#e07868}.admin-table .muted{color:#827d75}.admin-actions{display:flex;gap:5px;flex-wrap:wrap}.admin-actions .mini-btn{height:30px;padding:0 9px;font-size:10px}.admin-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}.admin-filter-grid label,.admin-form-card label{display:grid;gap:6px;color:#bdb4a7;font-size:11px}.admin-filter-grid .primary-btn{align-self:end;margin:0;height:40px}.admin-note{border-left:3px solid #916c3d;background:rgba(216,173,103,.06);padding:10px 12px;margin:10px 0 14px;color:#afa698;font-size:11px;line-height:1.6}.admin-note.good{border-color:#4a8e60;background:rgba(73,143,94,.06)}.admin-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:12px}.admin-form-card,.admin-info-card{border:1px solid rgba(216,173,103,.18);background:linear-gradient(180deg,rgba(25,26,26,.75),rgba(10,13,15,.75));padding:16px;margin-bottom:14px}.admin-form-card h3{margin:0 0 12px;color:#eed09a;font-family:Georgia,serif}.admin-form-card>label{margin:8px 0}.admin-form-card .primary-btn{margin-top:10px}.admin-form-card.compact{max-width:720px}.admin-info-card{color:#a89f92;font-size:11px;line-height:1.7}.admin-info-card strong{display:block;color:#f0cf95;font-size:14px;margin-bottom:5px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-player-picks{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;max-height:150px;overflow:auto}.player-pick{border:1px solid #403a31;background:#111518;color:#c7beb1;padding:7px 10px;cursor:pointer;font-size:11px}.player-pick.selected{border-color:#d8ad67;background:rgba(216,173,103,.12);color:#f4d7a4}.admin-drawer{margin-top:12px;border:1px solid #70593b;background:rgba(9,12,14,.96);padding:15px}.admin-drawer.hidden{display:none}.drawer-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.drawer-head h3{margin:0;color:#f0d29d}.member-list{max-height:320px;overflow:auto;border:1px solid rgba(216,173,103,.13)}.member-row{display:grid;grid-template-columns:1.5fr 70px 90px auto;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px}.check-row{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0}.check-row label{display:flex;align-items:center;gap:6px}.check-row input{height:auto}.danger-btn{width:100%;height:42px;border:1px solid #984438;background:linear-gradient(#8c3125,#5d1e18);color:#fff;cursor:pointer}.admin-flash{position:fixed;right:22px;bottom:22px;z-index:80;width:min(420px,calc(100vw - 44px));padding:12px 14px;border:1px solid #795c38;background:#141719;color:#eee;box-shadow:0 15px 45px rgba(0,0,0,.5);font-size:12px}.admin-flash.ok{border-color:#3d7750}.admin-flash.err{border-color:#93483e}.admin-panel .admin-grid{grid-template-columns:1fr 1fr}.admin-panel .admin-card{min-height:112px}.admin-panel .admin-card.active{border-color:#d8ad67;background:linear-gradient(180deg,rgba(112,76,36,.34),rgba(10,12,14,.88))}@media(max-width:1100px){.admin-kpis{grid-template-columns:1fr 1fr}.admin-split{grid-template-columns:1fr}.admin-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.admin-kpis,.admin-filter-grid,.three-col{grid-template-columns:1fr}.member-row{grid-template-columns:1fr 55px 70px}.member-row .member-action{grid-column:1/-1}.admin-toolbar>*{width:100%}.admin-toolbar input{min-width:0}}

/* Giftcode create result */
.gift-created-card{text-align:left}.gift-created-icon{width:54px;height:54px;margin:0 auto 10px;border:1px solid #5c9b64;border-radius:50%;display:grid;place-items:center;color:#7fe08f;font-size:28px;background:rgba(63,128,75,.12)}.gift-created-card>h3{text-align:center}.gift-created-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.gift-created-summary>div{padding:10px 12px;border:1px solid rgba(216,173,103,.16);background:rgba(255,255,255,.025)}.gift-created-summary span,.gift-created-items>span{display:block;color:#999086;font-size:11px;margin-bottom:4px}.gift-created-summary strong{color:#f1d08f;word-break:break-word}.gift-created-items{padding:12px;border:1px solid rgba(216,173,103,.2);background:rgba(0,0,0,.16);max-height:220px;overflow:auto}.gift-created-item{padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.07);color:#eee5d8;line-height:1.45}.gift-created-item:last-child{border-bottom:0}.gift-created-card .modal-actions{margin-top:14px}.gift-created-card .modal-actions .primary-btn{min-width:130px;width:auto}@media(max-width:560px){.gift-created-summary{grid-template-columns:1fr}}

.gift-catalog-count{font-family:Arial,sans-serif;font-size:12px;font-weight:400;color:#b9a780;margin-left:8px}.gift-item-row.is-inactive{opacity:.58}.gift-item-row.is-inactive code{text-decoration:line-through}

/* Giftcode result V2 - detailed confirmation */
.gift-created-card{width:min(680px,95vw)!important}.gift-created-lead{margin:-7px 0 15px;text-align:center;color:#a9a196;font-size:11px;line-height:1.6}.gift-created-summary .gift-created-main{grid-column:1/-1;background:linear-gradient(90deg,rgba(216,173,103,.13),rgba(255,255,255,.025))}.gift-created-summary .gift-created-main strong{font-size:20px;letter-spacing:.08em;user-select:all}.gift-created-items code{display:block;margin-top:5px;padding:7px 8px;color:#d7c3a1;background:#0a0d0f;border:1px solid rgba(216,173,103,.12);font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.gift-created-raw{margin-top:9px}.gift-created-raw code{display:block;color:#d8c3a1;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.gift-created-card .modal-actions{justify-content:center}.gift-created-card .modal-actions .primary-btn{min-width:170px}


/* Giftcode result V3 - compact, member-facing summary */
#giftCreatedModal{overflow-y:auto;align-items:start}
#giftCreatedModal .gift-created-card{width:min(560px,94vw)!important;max-height:none!important;overflow:visible!important;margin:24px auto;padding:20px 22px!important}
#giftCreatedModal .gift-created-icon{width:46px;height:46px;font-size:24px;margin-bottom:7px}
#giftCreatedModal .gift-created-card>h3{margin-bottom:12px}
#giftCreatedModal .gift-created-summary{grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}
#giftCreatedModal .gift-created-summary>div{padding:8px 10px}
#giftCreatedModal .gift-created-summary .gift-created-main{grid-column:1/-1}
#giftCreatedModal .gift-created-summary .gift-created-main strong{font-size:22px}
#giftCreatedModal .gift-created-optional[hidden]{display:none!important}
#giftCreatedModal .gift-created-items{max-height:none!important;overflow:visible!important;padding:10px 11px;margin-top:8px}
#giftCreatedModal .gift-created-items>span{margin-bottom:7px;color:#d8ad67;text-transform:uppercase;letter-spacing:.06em}
#giftCreatedModal .gift-created-name-list{display:flex;flex-wrap:wrap;gap:6px}
#giftCreatedModal .gift-created-name{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(216,173,103,.18);background:rgba(216,173,103,.055);color:#f0e7d8;font-size:12px;line-height:1.3}
#giftCreatedModal .modal-actions{margin-top:12px}
#giftCreatedModal .modal-actions .primary-btn{min-width:140px}
@media(max-width:560px){#giftCreatedModal .gift-created-summary{grid-template-columns:1fr}#giftCreatedModal .gift-created-summary .gift-created-main{grid-column:1}#giftCreatedModal .gift-created-name-list{display:grid;grid-template-columns:1fr}}


/* V11: account sources + tob_char detail */
.admin-tabs-wrap{display:flex;flex-wrap:wrap;gap:6px}.admin-tabs-wrap button{white-space:nowrap}
.character-detail-card{width:min(720px,94vw)}
.character-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:16px}
.character-detail-grid>div{border:1px solid rgba(214,165,84,.16);background:rgba(255,255,255,.025);padding:10px 12px;display:flex;justify-content:space-between;gap:14px}
.character-detail-grid span{color:#a9a197;font-size:12px}.character-detail-grid strong{color:#f0d39a;text-align:right;word-break:break-word}
@media(max-width:760px){.character-detail-grid{grid-template-columns:1fr}}

/* FIX 20260922: giữ thao tác Xóa hẳn luôn nhìn thấy ở bảng Nhân vật */
#characterTable .char-action-cell{white-space:nowrap;min-width:165px;}
#characterTable .hard-delete-btn{font-weight:700;}
#deleteSelectedChars.hard-delete-bulk{border-color:#a34336!important;color:#ff9b8a!important;background:rgba(150,38,30,.18)!important;font-weight:700;}

/* ===== Web Security PRO ===== */
.security-admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;margin:14px 0}
.security-policy-box p{margin:7px 0;line-height:1.55}
.security-log-toolbar{margin-top:14px;gap:8px;flex-wrap:wrap}
.security-log-toolbar input{min-width:260px;flex:1 1 320px}
.security-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:12px 0}
.security-detail-grid>div{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(0,0,0,.12);display:grid;gap:4px}
.security-detail-grid b{font-size:12px;opacity:.75}.security-detail-grid span{word-break:break-word}.mono{font-family:Consolas,Monaco,monospace;font-size:12px}
.security-related{padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.08);font-size:12px}
@media(max-width:900px){.security-admin-grid,.security-detail-grid{grid-template-columns:1fr}.security-log-toolbar input{min-width:100%}}

/* NQSH Recharge Pro Admin */
.recharge-items-editor{margin:14px 0}.toolbar-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.recharge-item-row{display:grid;grid-template-columns:110px minmax(180px,1fr) 90px 120px 100px 42px;gap:8px;margin:8px 0;align-items:center}.recharge-item-row input,.recharge-item-row select{min-width:0;width:100%}
@media(max-width:980px){.recharge-item-row{grid-template-columns:1fr 1fr}.recharge-item-row [data-ri-remove]{grid-column:2}}

/* Recharge factor: show the effective state, not only the saved raw values. */
.recharge-effective-status{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:11px 13px;border:1px solid rgba(255,190,80,.28);background:rgba(255,180,40,.06);font-size:12px;line-height:1.45}
.recharge-effective-status b{font-size:13px;color:#f4c56b}.recharge-effective-status span{color:#bfb7a6}
.recharge-effective-status.is-active{border-color:rgba(79,190,130,.46);background:rgba(58,160,105,.10)}.recharge-effective-status.is-active b{color:#74d89d}
.recharge-effective-status.is-waiting{border-color:rgba(225,157,67,.44)}
.recharge-config-actions{display:grid;grid-template-columns:minmax(130px,.36fr) 1fr;gap:10px;align-items:stretch;margin-top:12px}.recharge-config-actions button{margin:0}
#rechargeConfigForm label small{display:block;margin-top:5px;color:#948c7c;font-size:11px}
@media(max-width:760px){.recharge-config-actions{grid-template-columns:1fr}}

/* ===== Recharge milestone editor 2026-09-23 ===== */
.recharge-item-head{display:grid;grid-template-columns:150px 90px minmax(180px,1fr) 110px 120px 42px;gap:8px;margin-top:12px;padding:0 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.62}.recharge-item-row{grid-template-columns:150px 90px minmax(180px,1fr) 110px 120px 42px}.recharge-items-editor .field-help{display:block;margin-top:4px;font-weight:400;opacity:.64}.compact-note{margin-top:10px}.admin-form-card label small{display:block;margin-top:5px;line-height:1.35;opacity:.62;font-size:11px}
@media(max-width:980px){.recharge-item-head{display:none}.recharge-item-row{grid-template-columns:1fr 1fr}.recharge-item-row [data-ri="name"]{grid-column:1/3}.recharge-item-row [data-ri-remove]{grid-column:auto}}
