:root{--primary:#3882f6;--primary2:#1472e6;--dark:#0f172a;--side:#111827;--app:#f4f7fb;--surface:#fff;--border:#e5e7eb;--text:#1f2937;--muted:#6b7280;--success:#10b981;--danger:#ef4444;--gold:#d4af37;--shadow:0 8px 24px rgba(15,23,42,.08)}
*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{font:14px/1.5 "Segoe UI",Arial,sans-serif;color:var(--text);background:var(--app)}button,input,select,textarea{font:inherit}button,a{transition:.18s ease}a{text-decoration:none;color:inherit}.boot{display:grid;place-items:center;align-content:center;min-height:100vh;gap:14px}.boot span{width:34px;height:34px;border:3px solid #d8e4f4;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.boot p{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1600px;min-height:100vh;margin:auto;background:var(--app);box-shadow:0 0 35px rgba(15,23,42,.08)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:auto;background:linear-gradient(180deg,#111827,#0d1627);color:#cbd5e1}.brand{padding:22px 18px;text-align:center;border-bottom:1px solid rgba(255,255,255,.07)}.brand strong{display:block;color:#fff;font-size:18px}.brand span{display:block;margin-top:4px;color:#61d668;font-size:11px}.sidebar nav{padding:12px}.sidebar nav a,.sidebar-foot a,.sidebar-foot button{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:#cbd5e1;text-align:left;cursor:pointer}.sidebar nav a i{display:grid;place-items:center;width:20px;font-style:normal}.sidebar nav a:hover,.sidebar-foot a:hover,.sidebar-foot button:hover{background:#1e293b;color:#fff}.sidebar nav a.active{background:linear-gradient(90deg,#1769dc,#3882f6);color:#fff;box-shadow:0 5px 14px rgba(56,130,246,.24)}.sidebar-foot{margin-top:auto;padding:16px 12px 20px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-foot small{display:block;margin:0 12px 8px;color:#7f8da3;font-size:10px}.sidebar-foot a{min-height:34px;padding:6px 12px}.sidebar-foot a:first-of-type{color:#dce6f4}.sidebar-foot button{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);border-radius:0;font-weight:600}.workspace{min-width:0}.topbar{position:sticky;z-index:20;top:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.crumb,.user{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.crumb strong,.user b{color:var(--text)}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#243b53;color:#fff;font-weight:700}.menu-button{display:none;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:#fff}.page{padding:20px 24px 40px}.hero-banner{display:block;width:100%;aspect-ratio:5.4/1;overflow:hidden;border:1px solid #8392a5;border-radius:8px;background:#101b2b;box-shadow:0 7px 20px rgba(15,23,42,.14)}.hero-banner img{width:100%;height:100%;object-fit:cover}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;margin-top:16px}.main-column{display:grid;align-content:start;gap:12px}.panel{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.panel>header,.promo h3{min-height:45px;margin:0;padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px;font-weight:600}.account-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}.account-summary>div{padding:22px;background:#fff}.account-summary span{display:block;color:var(--muted);font-size:12px}.account-summary b{display:block;margin-top:8px;font-size:18px}.success{color:var(--success)!important}.tabs,.rank-tabs{display:flex;overflow:auto;border-bottom:1px solid var(--border)}.tabs button,.rank-tabs button{min-width:100px;height:48px;padding:0 18px;border:0;border-bottom:2px solid transparent;background:#fff;color:#4b5563;cursor:pointer}.tabs button.active,.rank-tabs button.active{border-color:var(--primary);color:var(--primary);font-weight:600}.news-list a{display:grid;grid-template-columns:78px minmax(0,1fr) 95px;align-items:center;gap:10px;min-height:42px;padding:7px 14px;border-bottom:1px solid #edf0f4}.news-list a:last-child{border:0}.news-list a:hover{background:#f7faff}.news-list a b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.tag{padding:3px 7px;border:1px solid #8ec7ff;background:#edf7ff;color:#087bda;font-size:11px;text-align:center}.news-list time{color:#8a94a3;font-size:11px;text-align:right}.right-rail{display:grid;align-content:start;gap:12px}.side-banner{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border:1px solid #8190a3;border-radius:8px;box-shadow:0 6px 18px rgba(15,23,42,.14)}.side-banner img{width:100%;height:100%;object-fit:cover}.side-banner b{position:absolute;left:12px;bottom:12px;color:#fff;text-shadow:0 2px 5px #000}.download{display:grid;place-items:center;min-height:44px;border-radius:6px;background:linear-gradient(#1184d8,#006db8);color:#fff;font-weight:700;box-shadow:0 5px 14px rgba(0,110,185,.24)}.download:hover{transform:translateY(-1px);filter:brightness(1.07)}.promo{border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.promo>div{display:grid;grid-template-columns:1fr 1fr;padding:16px;color:#8a94a3}.promo span b{display:block;margin-top:6px;color:#13a36d;font-size:20px;font-weight:500}.page-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.page-title>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#eaf2ff;color:var(--primary);font-size:19px}.page-title h1{margin:0;font-size:22px}.page-title p{margin:2px 0 0;color:var(--muted);font-size:12px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.save-state{padding:8px 12px;border:1px solid #9ce3c4;border-radius:6px;background:#eafaf2;color:#087c50;font-size:12px}.table-wrap{overflow:auto}.ranking table{width:100%;border-collapse:collapse;min-width:760px}.ranking th,.ranking td{height:44px;padding:9px 14px;border-bottom:1px solid var(--border);text-align:left}.ranking th{background:#eef3f8;color:#526174;font-size:11px}.ranking td:nth-child(n+4),.ranking th:nth-child(n+4){text-align:center}.medal{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e5e7eb;color:#4b5563;font-size:11px}.medal.m1{background:#f1b936;color:#fff}.medal.m2{background:#9ca3af;color:#fff}.medal.m3{background:#d8893f;color:#fff}.empty{padding:30px!important;color:var(--muted);text-align:center!important}.empty.error{color:var(--danger)}.stats{display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.stats article{padding:20px;border-right:1px solid var(--border)}.stats article:last-child{border:0}.stats span{display:block;color:var(--muted);font-size:12px}.stats b{display:block;margin-top:8px;font-size:24px}.settings-panel{display:grid;grid-template-columns:200px minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.settings-panel>nav{padding:10px;border-right:1px solid var(--border);background:#f8fafc}.settings-panel>nav button{display:block;width:100%;height:42px;padding:0 12px;border:0;border-left:3px solid transparent;background:transparent;color:#475569;text-align:left}.settings-panel>nav button.active{border-color:var(--primary);background:#eaf2ff;color:var(--primary);font-weight:600}.settings-form{padding:20px}.settings-form h2{margin:0 0 20px;font-size:16px}.settings-form>label{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:14px}.settings-form input,.field-grid input,.field-grid select,.post-editor textarea{width:100%;height:38px;padding:0 11px;border:1px solid #d7dee8;border-radius:6px;outline:0}.settings-form input:focus,.field-grid input:focus,.field-grid select:focus,.post-editor textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(56,130,246,.12)}.asset-field{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:14px}.asset-field img{width:130px;height:70px;object-fit:contain;border:1px solid var(--border);border-radius:6px}.asset-field.banner{grid-template-columns:250px minmax(0,1fr)}.asset-field.banner img{width:250px;height:70px;object-fit:cover}.form-actions{display:flex;justify-content:flex-end;margin-top:20px}.primary,.danger{min-height:38px;padding:0 16px;border:0;border-radius:6px;cursor:pointer}.primary{background:linear-gradient(#4490ff,#2475ed);color:#fff;font-weight:600;box-shadow:0 4px 10px rgba(37,117,237,.2)}.danger{border:1px solid #f6a9a9;background:#fff;color:var(--danger)}.editor-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:700px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.post-list{padding:14px;border-right:1px solid var(--border);background:#f8fafc}.post-list button{display:block;width:100%;margin-bottom:8px;padding:12px;border:1px solid var(--border);border-radius:6px;background:#fff;text-align:left}.post-list button b,.post-list button span{display:block}.post-list button span{margin-top:4px;color:var(--muted);font-size:11px}.post-editor{min-width:0;padding:20px}.field-grid{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:14px}.field-grid label,.post-editor>label{display:grid;gap:6px;color:#405169;font-weight:600}.post-editor>label{margin-top:16px}.post-editor textarea{height:auto;padding:10px;resize:vertical}.editor{margin-top:16px;overflow:hidden;border:1px solid #cbd5e1;border-radius:7px}.toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:8px;border-bottom:1px solid #cbd5e1;background:#f1f5f9}.toolbar button,.toolbar select{height:34px;padding:0 9px;border:1px solid transparent;border-radius:5px;background:transparent;color:#334155}.toolbar select{border-color:#d5dce6;background:#fff}.toolbar button:hover{border-color:#a9c5ec;background:#fff;color:var(--primary)}.editable{min-height:430px;padding:22px;outline:0;font-size:15px;line-height:1.7}.editable:empty:before{content:attr(data-placeholder);color:#a0a9b5}.editable img{max-width:100%;height:auto}.editable table{width:100%;border-collapse:collapse}.editable td,.editable th{padding:9px;border:1px solid #b9c6d6}.editable th{background:#eef3f8}.editor-status{display:flex;justify-content:space-between;padding:6px 12px;border-top:1px solid var(--border);background:#f8fafc;color:#8792a0;font-size:11px}.between{justify-content:space-between}.toast{position:fixed;z-index:999;top:20px;left:50%;transform:translateX(-50%);padding:11px 18px;border-radius:7px;background:#0c9b67;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2)}.toast.error{background:var(--danger)}
.login-page{position:relative;display:grid;place-items:center;min-height:100vh;overflow:hidden;background:#0b1629;color:#fff}.login-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,27,.12),rgba(4,13,27,.5) 50%,rgba(4,13,27,.12)),url('/assets/login-bg.jpg') center/cover no-repeat}.login-page:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(3,10,21,.5))}.login-language{position:absolute;z-index:2;top:24px;right:28px}.login-box{position:relative;z-index:3;width:min(92vw,560px);padding:28px;border:1px solid rgba(147,177,216,.32);border-radius:10px;background:rgba(8,24,45,.87);box-shadow:0 24px 80px rgba(0,0,0,.42);backdrop-filter:blur(14px)}.login-logo{text-align:center}.login-logo img{width:220px;height:110px;object-fit:contain}.login-logo h1{margin:4px 0;color:#edf5ff;font-size:17px;letter-spacing:.4px}.login-logo b{color:#d8b14a;font-size:12px}.login-box form{display:grid;gap:12px;margin:18px auto 0;max-width:390px}.login-box label{display:grid;grid-template-columns:42px minmax(0,1fr) 40px;align-items:center;height:46px;border:1px solid #526987;border-radius:6px;background:rgba(255,255,255,.06)}.login-box label i{font-style:normal;text-align:center}.login-box label input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#fff}.login-box .eye{height:100%;border:0;background:transparent;color:#c1cede}.captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 115px 34px;gap:9px}.captcha-row label{grid-template-columns:42px 1fr}.captcha-image{overflow:hidden;border:1px solid #89a1bd;border-radius:5px;background:#edf2f5;color:#1769a9;font-size:22px;letter-spacing:4px}.captcha-image img{width:100%;height:100%;object-fit:cover}.refresh{border:0;background:transparent;color:#fff;font-size:22px}.login-submit{display:flex;align-items:center;justify-content:center;margin-top:4px}.login-submit span{margin-left:auto;font-size:22px}.login-box footer{margin-top:22px;text-align:center;color:#c5d3e3;font-size:12px}.login-box footer b{color:#e5bb48}.login-box footer span{display:block;margin-top:5px;color:#94a7bd}.backdrop{display:none}
@media(max-width:1199px) and (min-width:992px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.content-grid{grid-template-columns:minmax(0,1fr) 240px}.page{padding:20px}.field-grid{grid-template-columns:1fr 1fr}}
@media(max-width:991px){.app-shell{display:block}.sidebar{position:fixed;z-index:100;inset:0 auto 0 0;width:240px;transform:translateX(-100%);transition:.22s}.drawer-open .sidebar{transform:translateX(0)}.backdrop{position:fixed;z-index:90;inset:0;width:100%;border:0;background:rgba(15,23,42,.5)}.drawer-open .backdrop{display:block}.menu-button{display:block}.page{padding:16px}.content-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:220px 1fr}.side-banner{grid-row:span 2}.account-summary{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.settings-panel{grid-template-columns:1fr}.settings-panel>nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--border)}.settings-panel>nav button{min-width:150px}.editor-layout{grid-template-columns:1fr}.post-list{display:flex;gap:8px;overflow:auto;border-right:0;border-bottom:1px solid var(--border)}.post-list button{min-width:220px}.field-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{padding:0 12px}.crumb span,.crumb b,.user>span:not(.avatar){display:none}.page{padding:12px}.hero-banner{aspect-ratio:3.2/1}.right-rail{display:block}.side-banner{max-width:260px;margin:0 auto 12px}.account-summary,.stats{grid-template-columns:1fr}.news-list a{grid-template-columns:70px minmax(0,1fr)}.news-list time{display:none}.settings-form,.post-editor{padding:14px}.settings-form>label{grid-template-columns:1fr}.asset-field,.asset-field.banner{grid-template-columns:1fr}.asset-field.banner img{max-width:100%;width:250px}.field-grid{grid-template-columns:1fr}.toolbar{max-height:150px;overflow:auto}.editable{min-height:340px;padding:15px}.login-box{padding:18px}.login-logo img{width:180px;height:90px}.captcha-row{grid-template-columns:1fr 105px 30px}}
.brand{padding:15px 18px}.brand img{display:block;width:118px;height:58px;margin:0 auto 3px;object-fit:contain}.brand strong{font-size:16px}

/* Form cấu hình: mỗi tính năng là một hàng độc lập */
.settings-form h2{margin-bottom:6px}.section-help{margin:0 0 20px;color:var(--muted);font-size:12px}.settings-form>label{grid-template-columns:190px minmax(0,1fr);margin-bottom:12px;padding:13px 14px;border:1px solid #e3eaf3;border-radius:7px;background:#fbfdff}.asset-input{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px}.asset-input button{height:38px;border:1px solid #d7dee8;border-radius:6px;background:#fff;color:var(--primary);font-weight:600;cursor:pointer}

/* Trình soạn thảo trực quan */
.post-list button{cursor:pointer}.post-list button.active{border-color:var(--primary);background:#eaf2ff}.editable img{display:block;width:100%;height:auto}.editable figure.article-image{max-width:100%;margin:18px auto}.editable figcaption{text-align:center;color:var(--muted);font-size:12px}.editable blockquote{margin:18px 0;padding:10px 16px;border-left:4px solid var(--primary);background:#f4f8ff}.video-frame{position:relative;width:100%;padding-top:56.25%}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.image-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:7px 10px;border-top:1px solid #bfd4ef;background:#eaf3ff}.image-tools[hidden]{display:none}.image-tools button{height:29px;border:1px solid #b8cce5;border-radius:4px;background:#fff;color:#38516f;cursor:pointer}.editor.fullscreen{position:fixed;z-index:500;inset:16px;margin:0;border-radius:8px;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.35)}.editor.fullscreen .editable{height:calc(100vh - 145px);overflow:auto}
dialog{width:min(92vw,540px);padding:0;border:0;border-radius:9px;box-shadow:0 24px 80px rgba(15,23,42,.3)}dialog::backdrop{background:rgba(15,23,42,.55)}dialog header,dialog footer{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}dialog footer{justify-content:flex-end;gap:8px;border-top:1px solid var(--border);border-bottom:0}dialog header button,dialog footer button{min-height:34px;padding:0 12px;border:1px solid var(--border);border-radius:5px;background:#fff;cursor:pointer}#dialogBody{display:grid;gap:12px;padding:18px}#dialogBody label{display:grid;gap:6px;font-weight:600}#dialogBody input,#dialogBody select{height:38px;padding:0 10px;border:1px solid #cbd5e1;border-radius:5px}.preview-dialog{width:min(92vw,900px)}.preview-dialog article{min-height:420px;max-height:70vh;overflow:auto;padding:28px;font-size:16px;line-height:1.75}.preview-dialog article img{max-width:100%}
@media(max-width:600px){.settings-form>label{grid-template-columns:1fr}.asset-input{grid-template-columns:1fr}.editor.fullscreen{inset:4px}}
.login-art{background-image:linear-gradient(90deg,rgba(4,13,27,.12),rgba(4,13,27,.5) 50%,rgba(4,13,27,.12)),url('/assets/login-bg.jpg')}
.login-page{width:100%;max-width:100vw;overflow-x:hidden}.login-box{width:calc(100% - 24px);max-width:560px;min-width:0;margin:12px}.login-box form,.captcha-row,.captcha-row label{min-width:0}.captcha-row input{min-width:0}.captcha-image{min-width:0}.refresh{display:grid;place-items:center;min-width:34px;padding:0}
@media(max-width:560px){.login-box{width:calc(100% - 20px);margin:10px;padding:22px 18px}.login-logo img{width:190px;height:96px}.login-logo h1{font-size:16px}.captcha-row{grid-template-columns:minmax(0,1fr) 114px 34px}.login-box footer{margin-top:18px}}
@media(max-width:390px){.login-box{padding:18px 14px}.login-logo img{width:165px;height:82px}.login-logo h1{font-size:14px}.captcha-row{grid-template-columns:minmax(0,1fr) 96px 30px}.captcha-row label{grid-template-columns:34px 1fr}.login-box label{grid-template-columns:34px minmax(0,1fr) 34px}}

/* V88.3: luôn hiển thị đầy đủ toàn bộ mã captcha, không cắt hai mép */
.captcha-row{grid-template-columns:minmax(0,1fr) 145px 34px}.captcha-image{height:46px;padding:0}.captcha-image img{display:block;width:100%;height:100%;object-fit:contain;background:#edf2f5}
@media(max-width:560px){.captcha-row{grid-template-columns:minmax(0,1fr) 132px 34px}}
@media(max-width:390px){.captcha-row{grid-template-columns:minmax(0,1fr) 108px 30px;gap:6px}}

/* V88.4: hoàn thiện nội dung trang tổng quan sau đăng nhập */
.overview-panel>header,.character-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-pill{padding:4px 9px;border:1px solid #a7f3d0;border-radius:999px;background:#ecfdf5;color:#087c50;font-size:11px}.account-profile{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border)}.profile-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#27496d,#14283f);color:#fff;font-size:21px;font-weight:700}.account-profile span,.account-profile p{color:var(--muted);font-size:12px}.account-profile h2{margin:1px 0;font-size:18px}.account-profile p{margin:0}.secondary-action{min-height:36px;padding:8px 12px;border:1px solid #c9d6e6;border-radius:6px;background:#fff;color:#31506f;font-weight:600}.secondary-action:hover{border-color:var(--primary);color:var(--primary)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}.service-grid>a{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:70px;padding:12px;border:1px solid #e3eaf3;border-radius:7px;background:#fbfdff}.service-grid>a:hover{border-color:#aacafa;background:#f4f8ff;transform:translateY(-1px)}.service-grid i{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#e9f2ff;color:#2475ed;font-style:normal;font-size:17px}.service-grid b,.service-grid small{display:block}.service-grid b{font-size:13px}.service-grid small{margin-top:3px;color:var(--muted);font-size:11px}.service-grid em{color:#8fa2b8;font-style:normal;font-size:20px}.character-panel>header>span:last-child{color:var(--muted);font-size:11px;font-weight:400}.character-list article{display:grid;grid-template-columns:44px minmax(130px,1fr) minmax(260px,1.2fr);align-items:center;gap:12px;min-height:68px;padding:10px 16px;border-bottom:1px solid #edf0f4}.character-list article:last-child{border:0}.character-avatar{display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border-radius:50%;background:#eaf2ff;color:var(--primary)}.character-avatar img{width:100%;height:100%;object-fit:cover}.character-list article>div:nth-child(2) b,.character-list article>div:nth-child(2) span{display:block}.character-list article>div:nth-child(2) span{color:var(--muted);font-size:11px}.character-list dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.character-list dl>div{padding:0 10px;border-left:1px solid var(--border)}.character-list dt{color:var(--muted);font-size:10px}.character-list dd{margin:2px 0 0;font-weight:600}.main-column{padding-bottom:12px}
@media(max-width:1199px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.account-profile{grid-template-columns:48px minmax(0,1fr)}.account-profile .secondary-action{grid-column:1/-1;text-align:center}.service-grid{grid-template-columns:1fr}.character-list article{grid-template-columns:44px minmax(0,1fr)}.character-list dl{grid-column:1/-1}.character-list dl>div:first-child{border-left:0}.overview-panel .account-summary{grid-template-columns:repeat(2,1fr)}}

/* V88.5: nội dung sau đăng nhập và liên kết cộng đồng bằng icon thật */
.social-icons{display:flex;align-items:center;gap:9px;padding:4px 10px 12px}.sidebar-foot .social-icons a{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(255,255,255,.055)}.sidebar-foot .social-icons a:hover{border-color:#5ba1ff;background:#233249;transform:translateY(-2px)}.social-icons img{display:block;width:24px;height:24px;object-fit:contain}.social-empty{padding:8px 2px;color:#7f8da3;font-size:11px}.sidebar-foot #logout{justify-content:center;margin-top:4px;border:1px solid rgba(212,175,55,.48);border-radius:7px;background:rgba(212,175,55,.08);color:#f3e3a5}
.service-tabs{display:flex;gap:2px;overflow:auto;padding:0 12px;border-bottom:1px solid var(--border);background:#fafcff}.service-tabs a{display:grid;place-items:center;min-width:max-content;height:48px;padding:0 15px;border-bottom:2px solid transparent;color:#59677a}.service-tabs a:hover{color:var(--primary)}.service-tabs a.active{border-color:var(--primary);color:var(--primary);font-weight:600}.service-body{padding:20px}.profile-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #e2eaf4;border-radius:8px;background:linear-gradient(135deg,#f8fbff,#fff)}.profile-card h2{margin:2px 0}.profile-card p,.profile-card span{margin:0;color:var(--muted);font-size:12px}.info-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.info-rows>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #e4ebf4;border-radius:7px}.info-rows span{color:var(--muted)}.action-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.action-cards a{position:relative;display:grid;gap:4px;min-height:100px;padding:18px 38px 18px 18px;border:1px solid #e0e8f2;border-radius:8px;background:#fbfdff}.action-cards a:hover{border-color:#9fc4f8;background:#f3f8ff;transform:translateY(-1px)}.action-cards span{color:var(--muted);font-size:12px}.action-cards em{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#8aa0ba;font-size:22px;font-style:normal}.data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.character-cards{display:grid;gap:10px}.character-cards article{display:grid;grid-template-columns:52px minmax(140px,1fr) minmax(360px,2fr);align-items:center;gap:14px;padding:13px;border:1px solid #e2eaf4;border-radius:8px}.character-cards h3{margin:0}.character-cards span{color:var(--muted);font-size:12px}.character-cards dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0}.character-cards dl>div{padding:0 12px;border-left:1px solid var(--border)}.character-cards dt{color:var(--muted);font-size:10px}.character-cards dd{margin:2px 0 0;font-weight:600}.wallet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.wallet-grid article{padding:18px;border:1px solid #e1e9f3;border-radius:8px;background:linear-gradient(145deg,#fff,#f7faff)}.wallet-grid span,.wallet-grid small{display:block;color:var(--muted)}.wallet-grid b{display:block;margin:7px 0 2px;color:#183b63;font-size:23px}.generic-list{display:grid;gap:8px}.generic-list article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e4ebf3;border-radius:7px}.generic-list i{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#eaf2ff;color:var(--primary);font-style:normal;font-size:11px}.generic-list b,.generic-list span{display:block}.generic-list span{color:var(--muted);font-size:11px}.generic-list em{color:#31506f;font-style:normal;font-weight:600}.empty-state{display:grid;place-items:center;min-height:220px;padding:25px;text-align:center;border:1px dashed #cbd8e8;border-radius:8px;background:#fbfdff}.empty-state b{font-size:15px}.empty-state span{max-width:460px;margin-top:6px;color:var(--muted);font-size:12px}.inline-note{padding:10px 12px;border-radius:6px;background:#fff7ed;color:#9a5b16;font-size:12px}
@media(max-width:800px){.action-cards{grid-template-columns:1fr}.info-rows,.wallet-grid{grid-template-columns:repeat(2,1fr)}.character-cards article{grid-template-columns:52px 1fr}.character-cards dl{grid-column:1/-1}}@media(max-width:520px){.info-rows,.wallet-grid{grid-template-columns:1fr}.service-body{padding:14px}.character-cards dl{grid-template-columns:repeat(2,1fr);gap:10px}.character-cards dl>div:nth-child(odd){border-left:0}}
.social-icons svg{display:block;width:24px;height:24px}
.secure-form-head{display:grid;gap:5px;padding:16px 18px;border:1px solid #dce7f4;border-radius:8px;background:#f6faff}.secure-form-head b{font-size:15px}.secure-form-head span{color:var(--muted);font-size:12px}.secure-form{display:grid;gap:14px;max-width:720px;margin:18px auto}.secure-form>label:not(.agreement){display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:14px}.secure-form input{height:40px;padding:0 12px;border:1px solid #cfd9e6;border-radius:6px;outline:0}.secure-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(56,130,246,.12)}.secure-form .agreement{display:flex;align-items:center;gap:8px;margin-left:224px;color:var(--muted);font-size:12px}.secure-form .agreement input{width:16px;height:16px}.secure-form>button{width:max-content;margin-left:224px}@media(max-width:600px){.secure-form>label:not(.agreement){grid-template-columns:1fr;gap:5px}.secure-form .agreement,.secure-form>button{margin-left:0}}
.sidebar nav a i svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar nav a i svg circle,.sidebar nav a i svg rect{fill:none}.admin-section-body{padding:18px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-toolbar input{width:min(100%,440px);height:40px;padding:0 12px;border:1px solid #cfd9e6;border-radius:6px}.admin-link{display:grid;place-items:center}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}.admin-table th{background:#f4f7fb;color:#65748a;font-size:11px}.admin-card-list{display:grid;gap:9px}.admin-card-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #e2eaf3;border-radius:7px;background:#fbfdff}.admin-card-list b,.admin-card-list span{display:block}.admin-card-list span,.admin-card-list time{color:var(--muted);font-size:12px}.admin-compose{display:grid;gap:13px;max-width:760px;margin-bottom:20px;padding:18px;border:1px solid #dce6f2;border-radius:8px;background:#fbfdff}.admin-compose label{display:grid;gap:6px;font-weight:600}.admin-compose input,.admin-compose textarea{width:100%;padding:10px 12px;border:1px solid #cfd9e6;border-radius:6px}.admin-compose button{width:max-content}@media(max-width:600px){.admin-toolbar{align-items:stretch;flex-direction:column}.admin-card-list article{align-items:flex-start;flex-direction:column;gap:6px}}
.admin-overview,.admin-recent{margin-top:16px}.admin-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.admin-tools>a{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:88px;padding:14px;border:1px solid #e0e8f2;border-radius:8px;background:#fbfdff}.admin-tools>a:hover{border-color:#9fc4f8;background:#f3f8ff;transform:translateY(-1px)}.admin-tools svg{width:34px;height:34px;padding:7px;border-radius:8px;background:#eaf2ff;fill:none;stroke:var(--primary);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.admin-tools b,.admin-tools small{display:block}.admin-tools small{margin-top:4px;color:var(--muted);font-size:11px}@media(max-width:850px){.admin-tools{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.admin-tools{grid-template-columns:1fr}}
.payment-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px}.payment-form{display:grid;gap:14px}.payment-form>label{display:grid;gap:6px;font-weight:600}.money-input{position:relative}.money-input input{width:100%;height:46px;padding:0 60px 0 14px;border:1px solid #cfd9e6;border-radius:7px;font-size:17px;font-weight:700}.money-input small{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--muted)}.amount-options{display:flex;gap:7px;flex-wrap:wrap}.amount-options button{height:34px;padding:0 11px;border:1px solid #c9d8e9;border-radius:6px;background:#fff;color:#31506f;cursor:pointer}.amount-options button:hover{border-color:var(--primary);color:var(--primary)}.payment-result{display:grid;align-content:start;justify-items:center;padding:18px;border:1px solid #dce6f2;border-radius:8px;background:#fbfdff}.payment-result>b{justify-self:start}.payment-result ol{justify-self:stretch;padding-left:20px;color:var(--muted);font-size:12px}.payment-qr{display:block;width:min(100%,300px);margin:12px auto;border:8px solid #fff;box-shadow:0 3px 14px rgba(15,23,42,.12)}.payment-result p{text-align:center}.log-filter{display:grid;grid-template-columns:150px minmax(180px,1fr) 160px 160px auto;gap:9px;margin-bottom:16px}.log-filter input,.log-filter select{height:38px;padding:0 10px;border:1px solid #cfd9e6;border-radius:6px}@media(max-width:850px){.payment-layout{grid-template-columns:1fr}.log-filter{grid-template-columns:1fr 1fr}}@media(max-width:520px){.log-filter{grid-template-columns:1fr}}

/* V88.12 — đối chiếu MU Thiên Sứ UI Handoff v1.0 */
:root{--primary:#2563eb;--primary2:#1d4ed8;--shadow:0 1px 2px rgba(15,23,42,.04)}
body{font-family:Inter,Roboto,Arial,sans-serif;background:#f4f7fb}.app-shell{grid-template-columns:240px minmax(0,1fr);max-width:none;margin:0;box-shadow:none}.sidebar{background:#111827}.sidebar nav a{min-height:44px;margin-bottom:2px}.sidebar nav a.active{position:relative;background:#2563eb;box-shadow:none}.sidebar nav a.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;background:#fff}.workspace{width:100%;min-width:0}.topbar{height:56px;background:#fff;backdrop-filter:none}.page{width:min(100%,1648px);margin:0 auto;padding:24px 24px 48px}.hero-banner{height:160px;aspect-ratio:auto;background:#fff;border-color:#8492a6;box-shadow:var(--shadow)}.hero-banner img{object-fit:contain;background:#fff}.content-grid{grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin-top:24px}.main-column{gap:16px}.panel,.promo{box-shadow:var(--shadow)}.panel>header,.promo h3{min-height:48px;padding:13px 16px}.side-banner{aspect-ratio:5/4;box-shadow:var(--shadow)}.primary{min-height:40px;background:#2563eb;box-shadow:none}.primary:hover{background:#1d4ed8}.account-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e5e7eb}.account-home-grid>div{min-height:88px;padding:18px 20px;border-right:1px solid #e5e7eb}.account-home-grid>div:last-child{border-right:0}.account-home-grid span{display:block;color:#6b7280;font-size:12px;line-height:18px}.account-home-grid b{display:block;margin-top:7px;font-size:18px}.account-home-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #e5e7eb;background:#f8fafc}.account-home-actions a{min-height:32px;padding:6px 12px;border:1px solid #8492a6;border-radius:6px;background:#fff;color:#1f2937;font-weight:600}.news-refresh{margin-left:auto!important;min-width:44px!important;padding:0!important}.page-title h1{font-size:24px;line-height:32px}.settings-panel{box-shadow:var(--shadow)}.settings-form{max-width:960px;padding:24px}.settings-form>label{max-width:760px;background:#fff}.form-actions{position:sticky;z-index:20;bottom:0;min-height:64px;align-items:center;padding:12px 0;border-top:1px solid #e5e7eb;background:#fff}.admin-inline-form{display:grid;grid-template-columns:1fr 1fr auto auto auto;align-items:end;gap:12px;margin-bottom:20px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.admin-inline-form label{display:grid;gap:6px}.admin-inline-form input:not([type=checkbox]),.secure-form select{height:40px;padding:0 12px;border:1px solid #8492a6;border-radius:6px;background:#fff}
@media(max-width:1439px) and (min-width:1200px){.content-grid{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.hero-banner{height:144px}}@media(max-width:1199px) and (min-width:992px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.page{padding:16px}.content-grid{grid-template-columns:1fr;gap:16px}.right-rail{grid-template-columns:260px minmax(0,1fr)}.hero-banner{height:128px}.admin-inline-form{grid-template-columns:1fr 1fr}}@media(max-width:991px){.page{width:100%;padding:16px}.sidebar{width:280px}.content-grid{grid-template-columns:1fr;gap:16px}.hero-banner{height:96px}.right-rail{grid-template-columns:220px minmax(0,1fr)}.account-home-grid{grid-template-columns:repeat(2,1fr)}.account-home-grid>div:nth-child(2){border-right:0}.admin-inline-form{grid-template-columns:1fr 1fr}}@media(max-width:767px){.page{padding:16px}.hero-banner{height:88px}.content-grid{margin-top:16px}.right-rail{display:block}.account-home-grid{grid-template-columns:1fr}.account-home-grid>div{border-right:0;border-bottom:1px solid #e5e7eb}.settings-form{padding:16px}.settings-form>label{grid-template-columns:1fr}.form-actions{min-height:80px}.form-actions .primary{width:100%;height:44px}.admin-inline-form{grid-template-columns:1fr}.topbar{padding:0 16px}}

/* V88.12 - hoàn thiện các khối đúng handoff */
.hero-banner img{object-fit:cover;background:#0b1728}.settings-panel>nav{max-height:calc(100vh - 150px);overflow:auto}.settings-form>label{min-height:44px;padding:8px 0;margin:0;border-bottom:1px solid #edf1f6}.setting-toggle{position:relative}.setting-toggle input{position:absolute;opacity:0;pointer-events:none}.setting-toggle i{position:relative;display:block;width:44px;height:24px;border-radius:999px;background:#cbd5e1;transition:.18s}.setting-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #64748b;transition:.18s}.setting-toggle input:checked+i{background:#2563eb}.setting-toggle input:checked+i:after{transform:translateX(20px)}.quick-links{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.quick-links h3{min-height:44px;margin:0;padding:13px 14px;border-bottom:1px solid var(--border);font-size:12px}.quick-links a{display:grid;grid-template-columns:14px minmax(0,1fr) 12px;align-items:center;gap:8px;min-height:42px;margin:0 12px;border-bottom:1px solid #edf1f6;color:#334155;font-size:12px}.quick-links a:last-child{border-bottom:0}.quick-links a span{color:#d1a14a;font-size:7px}.quick-links a em{color:#94a3b8;font-style:normal;text-align:right}.quick-links a:hover b{color:#2563eb}.rank-tabs{flex-wrap:wrap}.rank-tabs button{min-width:auto;white-space:nowrap}.social-icons{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0}.social-icons a{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border-radius:7px!important}.social-icons svg{width:26px;height:26px}.sidebar-foot #logout{justify-content:center;min-height:40px;margin-top:10px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:rgba(255,255,255,.04);color:#fff}.sidebar-foot #logout:hover{border-color:#3b82f6;background:#1e293b}.admin-section-body .admin-inline-form input[inputmode=numeric]{font-variant-numeric:tabular-nums}
.auth-links{display:flex;justify-content:space-between;gap:16px;margin:14px 0 2px}.auth-links a{color:#93c5fd;font-size:12px}.auth-links a:hover{color:#fff}.auth-box{max-height:calc(100vh - 32px);overflow:auto}.auth-box .login-logo img{height:90px}.auth-box .login-logo h1{margin-top:0}
.app-shell,.workspace{background:#f4f7fb}.login-art{background-image:linear-gradient(90deg,rgba(4,13,27,.12),rgba(4,13,27,.5) 50%,rgba(4,13,27,.12)),var(--login-background);background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}

/* V88.15 — trang quản trị tách nhóm và hồ sơ chi tiết */
.admin-stats{grid-template-columns:repeat(5,minmax(150px,1fr))}.currency-summary{grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:18px}.wide-table{min-width:1050px}.jewel-table{min-width:1280px}.admin-table td.number{text-align:right;font-variant-numeric:tabular-nums}.currency-table tfoot th{position:sticky;bottom:0;border-top:2px solid #b7c7da;background:#eaf1fb;color:#1e3a5f}.text-link{border:0;background:none;color:#2563eb;font-weight:700;padding:0;cursor:pointer}.text-link:hover{text-decoration:underline}.table-action{border:1px solid #cbd5e1;background:#fff;color:#1d4ed8;border-radius:6px;padding:7px 10px;font-weight:600;cursor:pointer}.detail-panel{margin-top:20px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.08);overflow:hidden}.detail-panel>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.detail-panel>header div{display:flex;flex-direction:column;gap:3px}.detail-panel>header span{font-size:12px;color:#64748b}.detail-panel>header button{border:0;background:none;font-size:24px;color:#64748b;cursor:pointer}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;padding:16px}.detail-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#334155}.detail-grid input,.detail-grid select{height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:0 11px;background:#fff}.detail-grid .check-line{flex-direction:row;align-items:center}.detail-grid .check-line input{height:auto}.detail-subsection,.inventory-summary{padding:0 16px 16px}.inventory-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px}.inventory-summary>b{grid-column:1/-1}.inventory-summary article{display:flex;justify-content:space-between;padding:10px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.feature-disabled{margin:80px auto;max-width:560px}.feature-disabled .admin-link{margin-top:14px}.admin-toolbar select{min-width:130px;height:40px;border:1px solid #cfd9e6;border-radius:6px;background:#fff;padding:0 10px}
@media(max-width:1199px){.admin-stats{grid-template-columns:repeat(3,minmax(150px,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:767px){.admin-stats,.currency-summary,.detail-grid,.inventory-summary{grid-template-columns:1fr}.admin-toolbar input,.admin-toolbar select,.admin-toolbar button{width:100%}}

/* V88.17 — tra cứu trực quan, tổng ngọc, kho và phiên đăng nhập duy nhất */
.suggest-wrap{position:relative;flex:1;min-width:260px}.suggest-wrap>input{width:100%!important}.search-suggestions{position:absolute;z-index:60;top:calc(100% + 5px);left:0;right:0;max-height:330px;overflow:auto;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(15,23,42,.16);padding:5px}.search-suggestions[hidden]{display:none}.search-suggestions button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;border:0;border-radius:6px;background:#fff;padding:10px 12px;text-align:left;cursor:pointer}.search-suggestions button:hover{background:#eff6ff}.search-suggestions button b{color:#1d4ed8}.search-suggestions button span{color:#64748b;font-size:12px}.suggestion-empty{padding:13px;color:#64748b;text-align:center}.jewel-summary{grid-template-columns:repeat(2,minmax(220px,1fr));margin-bottom:18px}.jewel-table tfoot th{position:sticky;bottom:0;background:#eaf1fb;color:#1e3a5f;border-top:2px solid #b7c7da}.warehouse-section{padding-top:6px}.character-inventory{display:grid;gap:16px;padding:0 16px 18px}.inventory-section{border:1px solid #d9e3ef;border-radius:8px;overflow:hidden;background:#f8fafc}.inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #d9e3ef;background:#eef4fb}.inventory-heading span{color:#64748b;font-size:12px}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;padding:12px}.item-card{display:grid;grid-template-columns:58px 1fr;gap:11px;align-items:center;min-height:76px;border:1px solid #dce5ef;border-radius:7px;background:#fff;padding:8px}.item-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #cbd5e1;border-radius:6px;background:linear-gradient(145deg,#172033,#0b1220);overflow:hidden;color:#94a3b8}.item-icon img{display:block;max-width:100%;max-height:100%;object-fit:contain}.item-card b,.item-card span,.item-card small{display:block}.item-card b{color:#172554;font-size:13px}.item-card span,.item-card small{margin-top:3px;color:#64748b;font-size:11px;line-height:1.35}.item-card small{color:#8a5a16}.inventory-empty{padding:24px;color:#64748b;text-align:center}.login-notice{margin:0 0 14px;border:1px solid rgba(251,191,36,.45);border-radius:7px;background:rgba(120,53,15,.32);padding:10px 12px;color:#fde68a;font-size:12px;line-height:1.45}.detail-subsection>.inventory-heading{margin-top:12px;border:1px solid #d9e3ef;border-radius:8px 8px 0 0}.detail-subsection>.inventory-heading+.item-grid,.detail-subsection>.inventory-heading+.inventory-empty{border:1px solid #d9e3ef;border-top:0;border-radius:0 0 8px 8px}
@media(max-width:767px){.suggest-wrap{width:100%;min-width:0}.search-suggestions button{align-items:flex-start;flex-direction:column;gap:3px}.jewel-summary{grid-template-columns:1fr}.item-grid{grid-template-columns:1fr}}

/* V88.18 — liên kết hồ sơ, ngân hàng ngọc tài khoản và ItemTooltip MU */
.account-jewels{padding-top:14px}.jewel-account-grid{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px;padding:12px;border:1px solid #d9e3ef;border-top:0;border-radius:0 0 8px 8px}.jewel-account-grid article{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe5f0;border-radius:6px;background:#f8fafc;padding:9px 10px}.jewel-account-grid span{color:#64748b;font-size:11px}.jewel-account-grid b{color:#1e3a5f;font-variant-numeric:tabular-nums}.inline-account-link{display:inline;padding:0 3px;font-size:inherit;vertical-align:baseline}.inventory-section{overflow:visible}.item-card{position:relative;cursor:help;outline:none}.item-card:focus{border-color:#60a5fa;box-shadow:0 0 0 2px rgba(37,99,235,.14)}.mu-item-tooltip{position:absolute;z-index:100;left:50%;bottom:calc(100% + 9px);display:none;width:max-content;min-width:240px;max-width:330px;transform:translateX(-50%);border:1px solid #7b6a46;border-radius:4px;background:rgba(3,5,10,.97);box-shadow:0 12px 30px rgba(0,0,0,.42);padding:11px 14px;color:#e5e7eb;text-align:center;font-family:Arial,sans-serif;font-size:12px;line-height:1.5;pointer-events:none}.mu-item-tooltip:after{content:"";position:absolute;top:100%;left:50%;border:7px solid transparent;border-top-color:#7b6a46;transform:translateX(-50%)}.item-card:hover .mu-item-tooltip,.item-card:focus .mu-item-tooltip,.item-card:focus-within .mu-item-tooltip{display:block}.mu-item-tooltip .tooltip-title{color:#d6a84b;font-weight:700}.mu-item-tooltip .tooltip-option{color:#55b7ff}.mu-item-tooltip .tooltip-excellent{color:#31df75}.mu-item-tooltip .tooltip-ancient{color:#78e4d2;font-weight:700}.mu-item-tooltip .tooltip-harmony{color:#f0c4ff}.mu-item-tooltip .tooltip-socket{color:#d6b4ff}.mu-item-tooltip .tooltip-muted{margin-top:6px;border-top:1px solid #333;padding-top:5px;color:#7d8592;font-size:10px}.mu-item-tooltip code{display:block;margin-top:3px;color:#5e6672;font-size:9px;word-break:break-all}.item-summary small{color:#94a3b8}
.item-fallback{color:#94a3b8;font-size:10px;font-weight:700}
@media(max-width:900px){.jewel-account-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.mu-item-tooltip{position:fixed;left:50%;bottom:18px;max-width:calc(100vw - 28px);transform:translateX(-50%)}}

/* V88.19 — thông báo rõ ràng, đọc bài viết và bảng xếp hạng */
#adminAccountList[hidden]{display:none}.toast{top:72px;right:22px;left:auto;display:grid;grid-template-columns:30px minmax(180px,1fr) 28px;align-items:center;gap:10px;max-width:min(430px,calc(100vw - 28px));transform:translateX(24px);opacity:0;border:1px solid transparent;padding:12px 10px 12px 12px;font-size:13px;font-weight:600;line-height:1.45;transition:opacity .2s ease,transform .2s ease}.toast.show{transform:translateX(0);opacity:1}.toast.success{border-color:#047857;background:#065f46;color:#fff!important}.toast.error{border-color:#b91c1c;background:#991b1b;color:#fff!important}.toast-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:15px}.toast-message{color:#fff}.toast-close{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:5px;background:transparent;color:#fff;font-size:21px;cursor:pointer}.toast-close:hover{background:rgba(255,255,255,.15)}.rank-class-filter{display:flex;justify-content:flex-end;padding:12px 16px;border-bottom:1px solid var(--border);background:#f8fafc}.rank-class-filter label{display:flex;align-items:center;gap:10px;color:#475569;font-size:12px;font-weight:600}.rank-class-filter select{height:36px;min-width:180px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:0 10px}.article-reader{max-width:1050px;margin:0 auto}.article-reader-head{display:block!important;padding:26px 34px!important}.article-reader-head .article-back{display:inline-block;margin-bottom:18px;color:#2563eb;font-size:12px;font-weight:600}.article-reader-head .tag{display:inline-block;margin-left:10px}.article-reader-head h1{margin:6px 0 8px;color:#172554;font-size:28px;line-height:1.3}.article-meta{display:flex;gap:9px;color:#64748b;font-size:12px}.article-content{min-height:320px;padding:32px 42px;color:#26364a;font-size:16px;line-height:1.8;overflow-wrap:anywhere}.article-content h1,.article-content h2,.article-content h3{color:#172554;line-height:1.35}.article-content img{display:block;max-width:100%;height:auto;margin:auto}.article-content figure{max-width:100%;margin:22px auto}.article-content figcaption{margin-top:7px;color:#64748b;font-size:12px;text-align:center}.article-content table{display:table;width:100%;border-collapse:collapse;margin:20px 0}.article-content th,.article-content td{border:1px solid #cbd5e1;padding:9px 11px}.article-content th{background:#eff6ff}.article-content blockquote{margin:20px 0;border-left:4px solid #3b82f6;background:#f4f8ff;padding:12px 18px}.article-content .video-frame{position:relative;width:100%;padding-top:56.25%}.article-content .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.article-reader>footer{padding:18px 34px;border-top:1px solid var(--border)}
@media(max-width:600px){.toast{top:12px;right:14px}.article-reader-head{padding:20px!important}.article-reader-head h1{font-size:22px}.article-content{padding:22px 18px;font-size:15px}.article-reader>footer{padding:15px 18px}.rank-class-filter{justify-content:stretch}.rank-class-filter label,.rank-class-filter select{width:100%}}

/* V88.20: preview đúng tỷ lệ banner production */
.asset-size-hint{display:block;margin-top:3px;color:#64748b;font-size:11px;font-weight:400}
.asset-field{min-width:0}.asset-input{min-width:0}.asset-input input{min-width:0}.asset-input button:disabled{opacity:.6;cursor:wait}
.asset-field.banner{grid-template-columns:minmax(0,320px) minmax(0,1fr)}.asset-field.banner img{display:block;width:100%;height:80px;aspect-ratio:auto;object-fit:contain;background:#f8fafc}
.asset-field.side{grid-template-columns:minmax(0,180px) minmax(0,1fr)}.asset-field.side img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:contain;background:#f8fafc}
@media(max-width:767px){.asset-field,.asset-field.banner,.asset-field.side{grid-template-columns:1fr}.asset-field.banner img{width:min(100%,320px)}.asset-field.side img{width:min(100%,180px)}}

/* V88.21: căn cột ngân hàng ngọc và trình cấu hình phần thưởng sự kiện */
.jewel-table{width:100%;min-width:1420px;table-layout:fixed}.jewel-table th,.jewel-table td{white-space:nowrap;vertical-align:middle}.jewel-table th:first-child,.jewel-table td:first-child{width:150px;text-align:left}.jewel-table th:not(:first-child),.jewel-table td:not(:first-child){width:112px;text-align:right;font-variant-numeric:tabular-nums}.jewel-table th:last-child,.jewel-table td:last-child{width:124px;font-weight:700}.jewel-table thead th{font-size:12px}.event-config-panel .admin-section-body{padding:0}.event-tabs{display:flex;border-bottom:1px solid #dbe4ef;background:#f8fafc;padding:0 20px}.event-tabs button{min-height:52px;border:0;border-bottom:3px solid transparent;background:transparent;padding:0 22px;color:#475569;font-weight:700;cursor:pointer}.event-tabs button.active{border-bottom-color:#2563eb;color:#1d4ed8}.event-tab-panel{padding:20px}.event-tab-panel[hidden]{display:none}.event-feature-settings{display:grid;grid-template-columns:minmax(280px,1fr) 220px 220px;gap:12px;align-items:end;border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc;padding:16px}.event-feature-settings>label:not(.setting-toggle){display:grid;gap:6px;color:#475569;font-size:12px}.event-feature-settings input[type=date]{height:40px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:0 11px}.event-feature-settings.daily{grid-template-columns:minmax(280px,420px) 1fr;align-items:center}.event-feature-settings.daily p{margin:0;color:#64748b;font-size:12px}.event-feature-settings .setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px;color:#1e293b;font-weight:700}.event-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 12px}.event-section-head div{display:grid;gap:4px}.event-section-head span{color:#64748b;font-size:12px}.event-reward-list{display:grid;gap:12px}.event-reward-card{overflow:hidden;border:1px solid #dbe4ef;border-radius:8px;background:#fff}.event-reward-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e5eaf1;background:#f8fafc;padding:11px 14px}.event-reward-card>header div{display:grid;gap:3px}.event-reward-card>header span{color:#64748b;font-size:10px;font-weight:700}.danger-link{border:0;background:transparent;color:#dc2626;font-weight:700;cursor:pointer}.event-reward-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;padding:14px}.event-reward-grid label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:600}.event-reward-grid input:not([type=checkbox]),.event-reward-grid textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:9px 11px;color:#0f172a}.event-reward-grid input:not([type=checkbox]){height:40px}.event-reward-grid textarea{resize:vertical;font-family:Consolas,monospace;line-height:1.5}.event-reward-grid small{color:#64748b;font-family:Inter,Roboto,Arial,sans-serif;font-weight:400}.event-reward-grid .span-2{grid-column:1/-1}.event-reward-grid .event-enabled{display:flex;grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;justify-content:start}.event-config-panel .form-actions{padding:12px 20px}.event-config-panel .empty-state{border:1px dashed #cbd5e1;border-radius:8px;padding:28px}
@media(max-width:900px){.event-feature-settings,.event-feature-settings.daily,.event-reward-grid{grid-template-columns:1fr}.event-feature-settings.daily p,.event-reward-grid .span-2{grid-column:1}.event-section-head{align-items:flex-start;flex-direction:column}.event-section-head button{width:100%}.event-tabs{padding:0}.event-tabs button{flex:1;padding:0 10px}}

/* V88.22: trình soạn thảo bài viết trực quan chuyên nghiệp */
.toolbar{position:relative;gap:6px;padding:8px 10px}.tool-group{display:flex;align-items:center;gap:2px;padding-right:6px;border-right:1px solid #cbd5e1}.tool-group:last-child{border-right:0}.toolbar .tool-primary{border-color:#93c5fd;background:#eaf2ff;color:#1d4ed8;font-weight:700}.toolbar-end{margin-left:auto}.editable{min-height:500px}.editable.dragging-image{outline:3px dashed #3b82f6;outline-offset:-10px;background:#eff6ff}.editable figure.article-image{position:relative;clear:none;box-sizing:border-box}.editable figure.article-image:hover,.editable figure.article-image:focus-within{outline:2px solid #60a5fa;outline-offset:3px}.editable figure.article-image img{width:100%;max-width:100%;height:auto}.editable pre,.article-content pre{overflow:auto;border:1px solid #cbd5e1;border-radius:6px;background:#0f172a;padding:14px;color:#e2e8f0;font-family:Consolas,monospace;white-space:pre-wrap}.editable hr{clear:both;margin:24px 0;border:0;border-top:1px solid #cbd5e1}.editable table caption,.article-content table caption{padding:8px;color:#475569;font-weight:700}.context-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid #bfd4ef;background:#eaf3ff}.context-tools[hidden]{display:none}.context-tools>b{margin-right:5px;color:#1e3a5f}.context-tools button{min-height:30px;border:1px solid #b8cce5;border-radius:4px;background:#fff;padding:0 9px;color:#38516f;cursor:pointer}.context-tools button:hover{border-color:#60a5fa;color:#1d4ed8}.context-tools label{display:flex;align-items:center;gap:7px;color:#38516f;font-size:12px;font-weight:600}.context-tools input[type=range]{width:120px}.context-tools output{min-width:36px;font-variant-numeric:tabular-nums}.table-tools{border-color:#d6c8a5;background:#fff9e8}.table-tools button{border-color:#d9c99e}.editor-status{gap:14px}.editor-status span:last-child{margin-left:auto;white-space:nowrap}.editor.fullscreen{display:flex;flex-direction:column}.editor.fullscreen .toolbar{flex:0 0 auto;max-height:155px;overflow:auto}.editor.fullscreen .editable{flex:1 1 auto;height:auto;min-height:0;overflow:auto}.editor.fullscreen .editor-status{flex:0 0 auto}.article-content:after{content:"";display:block;clear:both}.article-content figure.article-image{max-width:100%;box-sizing:border-box}.article-content figure.article-image img{width:100%;height:auto}.article-content font[size="1"]{font-size:10px}.article-content font[size="2"]{font-size:13px}.article-content font[size="3"]{font-size:16px}.article-content font[size="4"]{font-size:19px}.article-content font[size="5"]{font-size:24px}.article-content font[size="6"]{font-size:32px}#dialogBody textarea{min-height:86px;resize:vertical;padding:9px 10px;border:1px solid #cbd5e1;border-radius:5px}
@media(max-width:767px){.toolbar{max-height:210px;overflow:auto}.tool-group{border-right:0}.toolbar-end{margin-left:0}.editable{min-height:390px}.context-tools{align-items:flex-start}.context-tools label{width:100%}.context-tools input[type=range]{flex:1}.editor-status{align-items:flex-start;flex-direction:column}.editor-status span:last-child{margin-left:0}.image-tools button,.table-tools button{flex:1 1 auto}}

/* V88.26: cổng đăng nhập tích hợp tải game và tin tức */
.login-portal-page{padding:34px 22px}.login-portal-page .login-art{background-image:linear-gradient(90deg,rgba(3,12,26,.24),rgba(4,14,28,.38) 47%,rgba(2,10,21,.14)),var(--login-background)}.login-portal-page:after{background:linear-gradient(180deg,rgba(2,9,19,.05) 45%,rgba(2,9,19,.58))}.login-portal{position:relative;z-index:3;display:grid;grid-template-columns:minmax(460px,1.08fr) minmax(370px,.92fr);width:min(94vw,980px);min-height:520px;overflow:hidden;border:1px solid rgba(87,153,228,.65);border-radius:12px;background:linear-gradient(135deg,rgba(5,26,51,.96),rgba(4,18,38,.93));box-shadow:0 0 0 1px rgba(66,155,255,.12),0 0 28px rgba(37,120,230,.2),0 28px 80px rgba(0,0,0,.48);backdrop-filter:blur(18px);transform:translateX(-5vw)}.login-portal.without-news{display:block;width:min(92vw,560px);transform:none}.login-box-main{display:flex;flex-direction:column;width:auto!important;max-width:none!important;min-width:0;margin:0!important;padding:28px 38px 24px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}.login-box-main:after{content:"";position:absolute;inset:0 auto 0 54%;width:1px;background:linear-gradient(transparent,rgba(229,179,71,.8) 15%,rgba(229,179,71,.8) 85%,transparent);box-shadow:0 0 12px rgba(229,179,71,.28);pointer-events:none}.login-portal.without-news .login-box-main:after{display:none}.login-box-main .login-logo img{width:176px;height:88px}.login-box-main .login-logo h1{margin:0;color:#f2f7ff;font-size:16px}.login-box-main .login-logo b{display:block;margin-top:7px;color:#e1b74d;font-size:11px}.login-box-main form{width:100%;max-width:none;margin-top:22px}.login-box-main label{border-color:rgba(122,164,213,.52);background:rgba(255,255,255,.045)}.login-box-main label:focus-within{border-color:#50a1ff;box-shadow:0 0 0 3px rgba(42,128,240,.12)}.login-box-main .login-submit{min-height:46px;border-radius:6px;background:linear-gradient(180deg,#3590ff,#1767df);box-shadow:0 8px 22px rgba(25,104,220,.28);font-size:14px}.login-box-main .auth-links{margin:10px 0 2px}.login-box-main .auth-links a{color:#a9c9ee;font-size:11px}.login-or{display:flex;align-items:center;gap:11px;margin:11px 0;color:#7890aa;font-size:9px}.login-or:before,.login-or:after{content:"";height:1px;flex:1;background:rgba(140,174,214,.2)}.login-download{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;min-height:54px;padding:8px 14px;border:1px solid #f0b63a;border-radius:7px;background:linear-gradient(180deg,#e2a431,#ae6a0d);color:#fff;box-shadow:inset 0 0 0 2px rgba(87,45,0,.35),0 9px 24px rgba(165,99,8,.24);text-shadow:0 1px 2px rgba(83,43,0,.4)}.login-download:hover{transform:translateY(-1px);filter:brightness(1.07)}.login-download-icon{grid-row:1/3;font-size:23px}.login-download b{font-size:14px;letter-spacing:.04em}.login-download small{font-size:9px;color:#fff0ce}.login-download em{grid-column:3;grid-row:1/3;font-style:normal;font-size:23px}.login-box-main footer{margin-top:16px;font-size:11px}.login-box-main footer span{font-size:10px}.login-news{display:flex;min-width:0;flex-direction:column;padding:34px 30px 28px}.login-news>header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;border-bottom:1px solid rgba(133,168,210,.24)}.login-news>header div{display:flex;align-items:center;gap:10px;color:#f2c457}.login-news>header b{font-size:15px;letter-spacing:.05em}.login-news>header button{border:0;background:transparent;color:#b1cae8;font-size:11px;cursor:pointer}.login-news>header button:hover{color:#fff}.login-news-icon{display:grid;place-items:center;width:28px;height:28px;color:#f0bd43;font-size:19px}.login-news-list{display:grid}.login-news-list>button{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;min-height:112px;padding:17px 3px;border:0;border-bottom:1px solid rgba(133,168,210,.18);background:transparent;color:#fff;text-align:left;cursor:pointer}.login-news-list>button:hover{padding-left:9px;background:linear-gradient(90deg,rgba(47,128,255,.1),transparent)}.login-news-list>button>i{color:#f3bd44;font-size:11px;font-style:normal}.login-news-list>button>span{display:block;min-width:0}.login-news-list small,.login-news-list b,.login-news-list time{display:block}.login-news-list small{margin-bottom:5px;color:#6eabef;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-news-list b{overflow:hidden;color:#f5f8fc;font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.login-news-list time{margin-top:6px;color:#8197b0;font-size:10px}.login-news-list em{color:#8ba9cb;font-size:20px;font-style:normal}.login-news-empty{display:grid;place-items:center;min-height:280px;padding:30px;color:#91a7c1;text-align:center}.login-news-empty b,.login-news-empty span{display:block}.login-news-empty span{margin-top:6px;font-size:11px}.login-news-dialog{width:min(92vw,900px);max-height:min(86vh,760px);overflow:hidden;border:1px solid rgba(94,157,227,.55);border-radius:10px;background:#071a31;color:#eaf3ff;box-shadow:0 28px 90px rgba(0,0,0,.58)}.login-news-dialog::backdrop{background:rgba(1,7,16,.75);backdrop-filter:blur(6px)}.login-news-dialog>header{border-bottom-color:rgba(130,169,215,.24);background:#0a2341}.login-news-dialog>header>div{display:flex;align-items:center;gap:8px;color:#f2c457}.login-news-dialog>header button{border:0;background:transparent;color:#dcecff;font-size:24px}.login-news-dialog #loginNewsDialogBody{max-height:calc(86vh - 62px);overflow:auto;padding:0}.login-news-dialog-list>button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:66px;padding:12px 18px;border:0;border-bottom:1px solid rgba(130,169,215,.14);background:transparent;color:#eef5ff;text-align:left;cursor:pointer}.login-news-dialog-list>button:hover{background:#0d2a4d}.login-news-dialog-list span,.login-news-dialog-list small,.login-news-dialog-list b{display:block}.login-news-dialog-list small{color:#65a7f1;font-size:9px;text-transform:uppercase}.login-news-dialog-list b{margin-top:4px}.login-news-dialog-list time{color:#8199b5;font-size:11px;white-space:nowrap}.login-news-loading{padding:70px 24px;color:#99afc8;text-align:center}.login-news-loading.error{color:#fca5a5}.login-article{padding:28px 34px;color:#dce8f6;font-size:15px;line-height:1.75}.login-article .login-article-meta{margin-bottom:20px;color:#78aee9;font-size:11px}.login-article h1,.login-article h2,.login-article h3{color:#fff}.login-article img{max-width:100%;height:auto}.login-article table{width:100%;border-collapse:collapse}.login-article td,.login-article th{border:1px solid #46617e;padding:8px}.login-article th{background:#102d4e}.login-article a{color:#70b5ff}
@media(max-width:1050px){.login-portal{grid-template-columns:minmax(420px,1fr) minmax(330px,.9fr);width:min(95vw,880px);transform:none}.login-box-main{padding-inline:28px!important}.login-news{padding-inline:22px}.login-box-main:after{left:53%;inset-block:0}}
@media(max-width:780px){.login-portal-page{display:block;overflow:auto;padding:66px 12px 26px}.login-portal{display:flex;width:min(100%,560px);min-height:0;margin:0 auto;transform:none;flex-direction:column}.login-box-main{order:1;padding:23px 20px!important}.login-box-main:after{display:none}.login-news{order:2;padding:20px;border-top:1px solid rgba(229,179,71,.38)}.login-news>header{min-height:48px}.login-news-list>button{min-height:84px}.login-box-main .login-logo img{width:158px;height:78px}.login-box-main .login-logo h1{font-size:14px}.login-box-main form{margin-top:16px}.login-language{top:18px;right:18px}.login-news-dialog{max-height:90vh}.login-news-dialog #loginNewsDialogBody{max-height:calc(90vh - 62px)}}
@media(max-width:420px){.login-portal-page{padding-inline:8px}.login-box-main{padding-inline:14px!important}.login-box-main .captcha-row{grid-template-columns:minmax(0,1fr) 108px 30px}.login-download b{font-size:12px}.login-news{padding-inline:14px}.login-news>header b{font-size:13px}.login-news-list b{font-size:12px}.login-article{padding:22px 18px}}

/* Giữ đường phân cách đúng mép giữa hai cột. */
.login-box-main:after{inset:30px 0 30px auto}
@media(max-width:1050px) and (min-width:781px){.login-box-main:after{inset:26px 0 26px auto}}

/* V88.27: căn giữa tuyệt đối cổng đăng nhập trên màn hình. */
.login-portal{margin-inline:auto;transform:none}

/* V88.28: giao diện hiện chỉ dùng một ngôn ngữ. */
.login-portal-page .login-language{display:none!important}


/* V88.32: khung thật và preview dùng cùng tỷ lệ, ảnh phủ kín, không kéo méo. */
.hero-banner{height:auto;aspect-ratio:16/3;background:#0b1728;transition:none}
.side-banner{height:auto;aspect-ratio:2/3;background:#0b1728;transition:none}
.hero-banner img,.side-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#0b1728}
.asset-field.banner img{height:auto;aspect-ratio:16/3;object-fit:cover;object-position:center;background:#0b1728}
.asset-field.side img{height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center;background:#0b1728}
@media(max-width:767px){.side-banner{width:100%;max-width:260px;margin:0 auto 12px}}

/* Compact dates with switches aligned to the other ranking rows. */
.settings-form>.ranking-period-row{display:grid;grid-template-columns:250px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;width:100%;max-width:760px;min-height:44px;padding:5px 0;border:1px solid #e3eaf3;border-radius:7px;background:#fff}
.ranking-period-row>label{display:flex;align-items:center;gap:8px;min-width:0;margin:0;font-size:12px}
.ranking-period-row>.setting-toggle{display:grid;grid-template-columns:190px 44px;gap:16px;font-size:14px}
.ranking-period-row>label>span{white-space:nowrap}
.ranking-period-row .setting-toggle i{flex:none}
.ranking-period-row input[type=date]{width:124px;min-width:124px;flex:none;height:32px;padding:0 6px;border:1px solid #d5dfef;border-radius:6px;background:#fff;color:#123154;font-size:12px}
@media(max-width:1100px){.settings-form>.ranking-period-row{gap:10px}.ranking-period-row>label:not(.setting-toggle){display:grid;gap:4px}}
@media(max-width:900px){.settings-form>.ranking-period-row{grid-template-columns:1fr 1fr;padding:10px;gap:10px}.ranking-period-row>.setting-toggle{grid-column:1/-1}.ranking-period-row input[type=date]{width:100%;min-width:0}}

/* Align numeric headers, balances and totals in the same columns. */
.admin-table th.number,.currency-table th:nth-child(n+2),.jewel-table th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.currency-table{table-layout:fixed}
.currency-table th,.currency-table td{width:20%}

.topup-filter{grid-template-columns:minmax(150px,1fr) 160px 160px auto}
@media(max-width:850px){.topup-filter{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.topup-filter{grid-template-columns:1fr}}

/* Update 30: account suggestions and inline topup result. */
.manual-topup-account{display:grid;gap:6px;min-width:0}.manual-topup-account .suggest-wrap{min-width:0}.manual-topup-notice{margin:0 0 20px;padding:12px 16px;border:1px solid #86efac;border-radius:8px;background:#f0fdf4;color:#166534;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.manual-topup-notice.is-error{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.manual-topup-notice[hidden]{display:none}#manualTopupSuggestions button:focus-visible{outline:2px solid #2563eb;outline-offset:-2px;background:#eff6ff}

.manual-topup-panel{position:relative;z-index:2;overflow:visible}.manual-topup-panel>header{border-radius:8px 8px 0 0}

.manual-topup-panel .admin-inline-form{grid-template-columns:minmax(160px,1.3fr) minmax(140px,1fr) minmax(110px,.75fr) auto auto auto}.manual-topup-preview{grid-column:1/-1;padding-top:8px;border-top:1px solid #e2e8f0;color:#475569;font-size:12px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:1199px){.manual-topup-panel .admin-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.manual-topup-panel .admin-inline-form{grid-template-columns:1fr}}

/* Update 50: account credentials, game login and editable jewel balances. */
.account-login-details{padding:0 16px;margin-bottom:12px}.account-login-details label{display:flex;flex-direction:column;gap:6px;padding:12px 16px;border:1px solid #e4ebf4;border-radius:7px;color:#64748b;font-size:12px}.account-login-details input{width:100%;min-width:0;border:0;background:#f8fafc;padding:8px;color:#1e3a5f;font-weight:600;border-radius:5px}.account-login-details>div{flex-wrap:wrap}.account-login-details b{overflow-wrap:anywhere}.account-online-note{margin:12px 16px}.detail-grid .editable-jewels{grid-column:1/-1;padding:0}.editable-jewels .jewel-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editable-jewels label{padding:10px;border:1px solid #dbe5f0;border-radius:6px;background:#f8fafc;min-width:0}.editable-jewels input{width:100%;min-width:0;font-variant-numeric:tabular-nums}.editable-jewels input[readonly]{background:#edf2f7}.editable-jewels .field-help{margin:10px 0;color:#64748b;font-size:12px}.detail-panel button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:600px){.editable-jewels .jewel-account-grid,.account-login-details{grid-template-columns:1fr}.account-login-details>div{align-items:flex-start;flex-direction:column}}
/* Update 10: hide PIN inputs when deleting the account PIN. */
#adminItemLockPin [hidden]{display:none}
