*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root {
  --ng:#34c759;--nb:#007aff;--nr:#ff3b30;--ny:#ff9500;--np:#bf00ff;
  --white:#ffffff;--bg:#f5f5f7;--border:#e5e5ea;--border-light:#f0f0f5;
  --text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#aeaeb2;
  --accent:#007aff;--accent-light:#e8f0fe;--green:#34c759;--green-light:#e8f8ec;
  --yellow:#ff9500;--yellow-light:#fff3e0;--red:#ff3b30;--red-light:#fff1f0;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08);
  --shadow-md:0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);
  --radius-sm:8px;--radius-md:14px;--radius-lg:20px;
}
body{background:var(--bg);color:var(--text-primary);font-family:'DM Sans',sans-serif;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* ── AUTH SCREEN ── */
#auth-screen{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:center;background:var(--bg);padding:16px;}
.auth-box{width:100%;max-width:360px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 24px;box-shadow:var(--shadow-md);text-align:center;}
.auth-icon-wrap{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:30px;}
.auth-icon-wrap.loading{background:var(--accent-light);color:var(--accent);animation:authPulse 1.5s ease-in-out infinite;}
.auth-icon-wrap.denied{background:var(--red-light);color:var(--red);}
.auth-icon-wrap.ok{background:var(--green-light);color:var(--green);}
@keyframes authPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.08);opacity:.8;}}
.auth-title{font-family:'Inter',sans-serif;font-size:20px;font-weight:800;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.3px;}
.auth-sub{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px;}
.auth-cd{font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:var(--text-tertiary);margin-bottom:20px;padding:10px 16px;background:var(--bg);border-radius:var(--radius-sm);}
.auth-back-btn{width:100%;padding:14px;background:var(--red);border:none;border-radius:var(--radius-sm);color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s;box-shadow:0 4px 12px rgba(255,59,48,.3);}
.auth-back-btn:active{transform:scale(.97);}
.auth-user-info{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg);border-radius:var(--radius-sm);margin-bottom:20px;text-align:left;}
.auth-user-info img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border);}
.auth-user-name{font-size:13px;font-weight:700;color:var(--text-primary);}
.auth-user-rank{font-size:11px;color:var(--text-secondary);}

/* ── FALLBACK LOGIN FORM (trong auth-denied) ── */
.lfield-wrap{position:relative;}
.lfield{width:100%;padding:12px 14px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s;}
.lfield:focus{border-color:var(--accent);}
.lfield::placeholder{color:var(--text-tertiary);}
.leye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;transition:color .2s;}
.leye:hover{color:var(--accent);}
.lbtn{width:100%;padding:14px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s;margin-bottom:12px;box-shadow:0 4px 12px rgba(0,122,255,.3);}
.lbtn:active:not(:disabled){transform:scale(.97);}
.lbtn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none;}
.lerr{font-size:13px;color:var(--red);margin-bottom:10px;display:none;padding:10px 14px;background:var(--red-light);border:1px solid rgba(255,59,48,.3);border-radius:var(--radius-sm);font-weight:500;}
.lerr.on{display:block;}
.lloader{display:none;text-align:center;padding:12px 0;}
.spinner.gold{border-left-color:var(--yellow);}

.spinner{border:3px solid var(--border);border-left-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:spin .8s linear infinite;margin:0 auto 12px;}
@keyframes spin{100%{transform:rotate(360deg);}}
.spin-txt{font-family:'Inter',sans-serif;font-size:12px;font-weight:600;color:var(--text-secondary);}

/* ── DASHBOARD ── */
#dashboard{display:none;position:relative;z-index:1;min-height:100vh;padding-bottom:20px;}
.dash-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;backdrop-filter:blur(20px);}
.dash-logo{display:flex;align-items:center;gap:10px;}
.dash-logo i{font-size:20px;color:var(--accent);}
.dash-title{font-family:'Inter',sans-serif;font-size:15px;font-weight:800;color:var(--text-primary);letter-spacing:-.3px;}
.dash-user{font-size:12px;color:var(--text-secondary);margin-top:2px;}
.dash-logout{padding:8px 14px;background:var(--red-light);border:none;border-radius:8px;color:var(--red);font-family:'Inter',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:transform .15s;}
.dash-logout:active{transform:scale(.95);}
.content-wrapper{max-width:600px;margin:0 auto;padding-top:16px;}

/* ── TABS ── */
.tab-bar{display:flex;border-bottom:1px solid var(--border);background:var(--white);overflow-x:auto;max-width:600px;margin:0 auto;}
.tab-bar::-webkit-scrollbar{height:0;}
.tbtn{flex-shrink:0;padding:14px 16px;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap;display:flex;align-items:center;gap:8px;}
.tbtn i{font-size:14px;}
.tbtn.on{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-light);}
.tab-content{display:none;padding:16px;}
.tab-content.on{display:block;animation:fadeUp .3s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.sec-hdr{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-light);letter-spacing:-.3px;}

/* ── CREATE TAB ── */
.dur-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;}
.dur-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;}
.dur-btn{padding:12px 6px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:'Inter',sans-serif;font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:.2s;}
.dur-btn small{display:block;font-size:10px;color:var(--text-tertiary);margin-top:2px;font-weight:400;}
.dur-btn:active{transform:scale(0.96);}
.dur-btn.sel{border-color:var(--accent);background:var(--accent-light);color:var(--accent);}
.dur-btn.sel small{color:var(--accent);opacity:.8;}
.custom-dur{display:none;margin-bottom:20px;}
.custom-dur-row{display:flex;gap:10px;align-items:center;}
.cfield{flex:1;padding:12px 14px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s;}
.cfield:focus{border-color:var(--accent);}
.cfield::placeholder{color:var(--text-tertiary);}
.unit-btn{padding:12px 16px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:'Inter',sans-serif;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;}
.unit-btn.sel{border-color:var(--accent);background:var(--accent-light);color:var(--accent);}
.form-row{display:flex;gap:12px;margin-bottom:16px;align-items:flex-end;}
.form-group{flex:1;}
.form-lbl{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;display:block;}
.preview-box{margin:20px 0;padding:16px;background:var(--accent-light);border:1.5px dashed var(--accent);border-radius:var(--radius-md);font-family:'Courier New',monospace;font-size:14px;color:var(--accent);text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-weight:700;}
.preview-code{background:var(--white);padding:8px 12px;border-radius:6px;border:1px solid rgba(0,122,255,.2);cursor:pointer;transition:transform .15s;box-shadow:var(--shadow-sm);}
.preview-code:active{transform:scale(.95);}
.cbtn{width:100%;padding:14px;border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s;border:none;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px;}
.cbtn.create{background:var(--accent);color:var(--white);box-shadow:0 4px 12px rgba(0,122,255,.3);}
.cbtn.create:active:not(:disabled){transform:scale(.97);}
.cbtn.regen{background:var(--bg);border:1.5px solid var(--border);color:var(--text-secondary);}
.cbtn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
.create-result{margin-top:20px;display:none;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);}
.cr-hdr{font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:var(--green);margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.cr-code-row{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-bottom:8px;}
.cr-code{font-family:'Courier New',monospace;font-size:15px;font-weight:700;color:var(--text-primary);}
.cr-exp{font-size:11px;color:var(--text-secondary);margin-top:4px;}
.copy-btn{padding:8px 14px;background:var(--white);border:1.5px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:'Inter',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s;}
.copy-btn.done{border-color:var(--green);color:var(--green);background:var(--green-light);}

/* ── CODE LIST ── */
.filter-row{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.filter-btn{padding:8px 14px;background:var(--white);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-family:'Inter',sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:.2s;}
.filter-btn.on{border-color:var(--accent);background:var(--accent-light);color:var(--accent);}
.search-inp{flex:1;min-width:140px;padding:8px 14px;background:var(--white);border:1.5px solid var(--border);border-radius:20px;color:var(--text-primary);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.search-inp:focus{border-color:var(--accent);}
.code-row{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);transition:border-color .3s;}
.code-row.status-active{border-left:4px solid var(--green);}
.code-row.status-used{border-left:4px solid var(--accent);}
.code-row.status-expired{border-left:4px solid var(--red);opacity:.8;}
.code-row.status-invalid{border-left:4px solid var(--text-tertiary);opacity:.6;}
.code-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.code-str{font-family:'Courier New',monospace;font-size:16px;font-weight:700;letter-spacing:1px;flex:1;}
.code-str.active{color:var(--text-primary);}
.code-str.used{color:var(--accent);}
.code-str.expired{color:var(--red);text-decoration:line-through;}
.code-str.invalid{color:var(--text-tertiary);}
.code-badge{font-size:10px;padding:4px 8px;border-radius:6px;font-family:'Inter',sans-serif;font-weight:700;text-transform:uppercase;flex-shrink:0;}
.badge-active{color:var(--green);background:var(--green-light);border:1px solid rgba(52,199,89,.2);}
.badge-used{color:var(--accent);background:var(--accent-light);border:1px solid rgba(0,122,255,.2);}
.badge-expired{color:var(--red);background:var(--red-light);border:1px solid rgba(255,59,48,.2);}
.badge-invalid{color:var(--text-tertiary);background:var(--bg);border:1px solid var(--border);}
.code-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px;font-family:'DM Sans',sans-serif;color:var(--text-secondary);border-top:1px solid var(--border-light);padding-top:12px;margin-top:4px;}
.code-meta span{display:flex;flex-direction:column;gap:2px;}
.code-meta b{color:var(--text-primary);font-size:10px;font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.5px;}
.code-meta em{font-style:normal;font-weight:500;}
.countdown{font-family:'Courier New',monospace;font-size:13px;font-weight:700;}
.countdown.ok{color:var(--green);}
.countdown.warn{color:var(--yellow);}
.countdown.crit{color:var(--red);}
.countdown.dead{color:var(--text-tertiary);}
.code-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;border-top:1px solid var(--border-light);padding-top:12px;}
.act-btn{padding:8px 12px;border-radius:8px;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;cursor:pointer;border:1px solid;transition:transform .15s;display:inline-flex;align-items:center;gap:6px;}
.act-btn:active{transform:scale(.95);}
.act-copy{border-color:var(--border);color:var(--text-primary);background:var(--bg);}
.act-toggle{border-color:var(--border);color:var(--text-primary);background:var(--bg);}
.act-extend{border-color:rgba(255,149,0,.3);color:#b37300;background:var(--yellow-light);}
.act-del{border-color:rgba(255,59,48,.3);color:var(--red);background:var(--red-light);}
.empty-msg{text-align:center;padding:60px 20px;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;color:var(--text-tertiary);}

/* ── USAGE ── */
.usage-row{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);}
.usage-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.usage-uname{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:var(--text-primary);}
.usage-email{font-size:12px;color:var(--text-secondary);margin-top:2px;}
.usage-code-str{font-family:'Courier New',monospace;font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-light);padding:4px 8px;border-radius:6px;flex-shrink:0;}
.usage-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px;font-family:'DM Sans',sans-serif;color:var(--text-secondary);border-top:1px solid var(--border-light);padding-top:12px;}
.usage-meta span{display:flex;flex-direction:column;gap:2px;}
.usage-meta b{color:var(--text-primary);font-size:10px;font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.5px;}
.usage-meta em{font-style:normal;font-weight:500;}

/* ── ANALYTICS ── */
.ana-game-table{width:100%;border-collapse:collapse;margin-top:12px;}
.ana-game-table th,.ana-game-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-light);font-size:13px;}
.ana-game-table th{font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;}
.ana-game-table td:last-child{text-align:right;font-weight:700;color:var(--accent);}

/* ── GUIDE ── */
.guide-section{margin-bottom:20px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.guide-sec-title{padding:14px 16px;background:var(--bg);border-bottom:1px solid var(--border-light);font-family:'Inter',sans-serif;font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px;}
.guide-sec-title i{color:var(--accent);}
.guide-body{padding:16px;}
.guide-step{display:flex;gap:14px;margin-bottom:16px;align-items:flex-start;}
.guide-step:last-child{margin-bottom:0;}
.step-num{width:28px;height:28px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-family:'Inter',sans-serif;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.step-text{font-size:14px;color:var(--text-secondary);line-height:1.6;}
.step-text strong{color:var(--text-primary);}

/* ── USERS ── */
#user-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;text-align:center;box-shadow:var(--shadow-sm);}
.stat-val{font-family:'Inter',sans-serif;font-size:28px;font-weight:900;color:var(--text-primary);margin-bottom:4px;line-height:1;}
.stat-lbl{font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;}
.user-row{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);transition:border-color .2s;}
.ur-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.ur-av{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg);border:2px solid var(--border);}
.ur-av img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.ur-info{flex:1;min-width:0;}
.ur-name{font-family:'Inter',sans-serif;font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ur-email{font-size:11px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ur-badge{font-size:9px;font-weight:800;padding:3px 8px;border-radius:6px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px;}
.ur-badge.new{background:var(--green-light);color:var(--green);border:1px solid rgba(52,199,89,.2);}
.ur-badge.old{background:var(--bg);color:var(--text-tertiary);border:1px solid var(--border);}
.ur-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--border-light);padding-top:12px;}
.ur-stat-item{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg);border-radius:var(--radius-sm);}
.ur-stat-lbl{font-size:9px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:4px;}
.ur-stat-val{font-size:12px;font-weight:600;color:var(--text-primary);}
.users-toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.users-toolbar select{padding:8px 12px;background:var(--white);border:1.5px solid var(--border);border-radius:20px;color:var(--text-secondary);font-family:'Inter',sans-serif;font-size:12px;font-weight:600;outline:none;cursor:pointer;}

/* ── MODALS ── */
.confirm-overlay,.extend-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;justify-content:center;align-items:center;z-index:9999;backdrop-filter:blur(4px);padding:16px;}
.confirm-box,.extend-box{width:100%;max-width:360px;background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);animation:scaleIn .2s ease;}
@keyframes scaleIn{from{transform:scale(.95);opacity:0;}to{transform:scale(1);opacity:1;}}
.confirm-icon,.extend-icon{font-size:36px;text-align:center;margin-bottom:12px;display:block;}
.confirm-icon{color:var(--red);}
.extend-icon{color:var(--yellow);}
.confirm-title,.extend-title{font-family:'Inter',sans-serif;font-size:18px;font-weight:800;text-align:center;margin-bottom:8px;color:var(--text-primary);}
.confirm-code,.extend-code-disp{font-family:'Courier New',monospace;font-size:14px;font-weight:700;color:var(--text-primary);text-align:center;background:var(--bg);padding:10px;border-radius:8px;border:1px dashed var(--border);margin-bottom:16px;}
.confirm-warn{font-size:13px;color:var(--text-secondary);text-align:center;margin-bottom:24px;line-height:1.5;}
.extend-cur-exp{font-size:12px;color:var(--text-secondary);text-align:center;margin-bottom:20px;}
.confirm-btns,.ext-btns{display:flex;gap:10px;}
.confirm-btns button,.ext-btns button{flex:1;padding:12px;border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;border:none;transition:transform .15s;}
.conf-del{background:var(--red);color:#fff;}
.conf-cancel,.ext-cancel{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);}
.ext-save{background:var(--yellow);color:#fff;}
.ext-save:disabled{opacity:.5;cursor:not-allowed;}
.extend-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;display:block;}
.ext-dur-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;}
.ext-dur-btn{padding:10px 4px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:'Inter',sans-serif;font-size:11px;font-weight:600;cursor:pointer;text-align:center;transition:.2s;}
.ext-dur-btn.sel{border-color:var(--yellow);background:var(--yellow-light);color:#b37300;}
.ext-custom{display:none;margin-bottom:16px;}
.ext-custom-row{display:flex;gap:8px;align-items:center;}
.efield{flex:1;padding:10px 12px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:'DM Sans',sans-serif;outline:none;}
.efield:focus{border-color:var(--yellow);}

/* ══════════════════════════════════════
   AI APPEAL LOG TAB
══════════════════════════════════════ */
.ailog-filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.ailog-filter-btn{padding:7px 12px;background:var(--white);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-family:'Inter',sans-serif;font-size:11px;font-weight:700;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:5px;white-space:nowrap;}
.ailog-filter-btn .cnt{background:var(--border);color:var(--text-tertiary);padding:1px 6px;border-radius:10px;font-size:10px;font-weight:800;}
.ailog-filter-btn.on{border-color:var(--accent);background:var(--accent-light);color:var(--accent);}
.ailog-filter-btn.on .cnt{background:var(--accent);color:#fff;}
.ailog-filter-btn.green.on{border-color:var(--green);background:var(--green-light);color:var(--green);}
.ailog-filter-btn.green.on .cnt{background:var(--green);}
.ailog-filter-btn.red.on{border-color:var(--red);background:var(--red-light);color:var(--red);}
.ailog-filter-btn.red.on .cnt{background:var(--red);}
.ailog-filter-btn.yellow.on{border-color:var(--yellow);background:var(--yellow-light);color:#b37300;}
.ailog-filter-btn.yellow.on .cnt{background:var(--yellow);}

.ai-log-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-sm);}
.alc-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;}
.alc-uid{font-family:'Inter',sans-serif;font-size:14px;font-weight:700;color:var(--text-primary);}
.alc-time{font-size:11px;color:var(--text-tertiary);margin-top:3px;}
.alc-status-badge{font-size:10px;font-weight:800;padding:5px 10px;border-radius:8px;display:flex;align-items:center;gap:5px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px;}

.alc-ai-block{padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:10px;}
.alc-ai-verdict-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;display:flex;align-items:center;gap:5px;}
.alc-ai-reason{font-size:13px;font-weight:700;margin-bottom:4px;}
.alc-confidence{font-size:11px;opacity:.8;}

.alc-reason-box{background:var(--yellow-light);border:1px solid rgba(255,149,0,.25);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:10px;font-size:12.5px;color:#78350f;line-height:1.5;}

.alc-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
.alc-stats-grid > div{background:var(--bg);border-radius:var(--radius-sm);padding:8px 10px;display:flex;flex-direction:column;gap:3px;}
.alc-lbl{font-size:9px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;}
.alc-val{font-size:12px;font-weight:700;color:var(--text-primary);}
.alc-val.red{color:var(--red);}
.alc-val.green{color:var(--green);}
.alc-val.warn{color:var(--yellow);}

.alc-admin-note{margin-top:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px;border:1px solid transparent;}
.alc-admin-note.approved{background:var(--green-light);color:var(--green);border-color:rgba(52,199,89,.25);}
.alc-admin-note.rejected{background:var(--red-light);color:var(--red);border-color:rgba(255,59,48,.25);}

.ailog-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;}
.ailog-sum-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;text-align:center;box-shadow:var(--shadow-sm);}
.ailog-sum-num{font-family:'Inter',sans-serif;font-size:22px;font-weight:900;margin-bottom:2px;}
.ailog-sum-lbl{font-size:9px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;}

/* ══════════════════════════════════════
   BAN SYSTEM
══════════════════════════════════════ */
.user-row-banned{border-left:4px solid var(--red)!important;opacity:.95;}
.ur-ban-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;margin-top:4px;text-transform:uppercase;letter-spacing:.3px;}
.ur-ban-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-light);}
.ur-ban-btn{flex:1;padding:10px 8px;border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:12px;font-weight:700;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s;}
.ur-ban-btn:active{transform:scale(.96);}
.ur-ban-btn.ban{background:#fef2f2;color:var(--red);border:1px solid rgba(255,59,48,.3);}
.ur-ban-btn.unban{background:var(--green-light);color:var(--green);border:1px solid rgba(52,199,89,.3);}

/* Ban modal */
.ban-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;justify-content:center;align-items:flex-end;z-index:9999;backdrop-filter:blur(4px);padding:0;}
.ban-modal-box{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 16px 32px;box-shadow:0 -8px 40px rgba(0,0,0,.2);animation:slideUp .25s ease;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.bm-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.bm-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--border);}
.bm-title{font-family:'Inter',sans-serif;font-size:16px;font-weight:800;color:var(--red);}
.bm-username{font-size:14px;font-weight:700;color:var(--text-primary);}
.bm-uid{font-size:11px;color:var(--text-tertiary);}
.bm-close{margin-left:auto;background:none;border:none;font-size:20px;color:var(--text-tertiary);cursor:pointer;padding:4px;}
.bm-section-lbl{font-size:11px;font-weight:800;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
.bm-presets{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.ban-preset-btn{width:100%;padding:11px 14px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left;transition:.15s;font-family:'DM Sans',sans-serif;}
.ban-preset-btn:active{transform:scale(.98);}
.ban-preset-btn.sel{border-width:2px;}
.ban-preset-btn .bp-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.ban-preset-btn .bp-label{font-size:13px;font-weight:600;color:var(--text-primary);}
.bm-reason-wrap{margin-bottom:14px;}
.bm-reason-inp{width:100%;padding:10px 12px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:'DM Sans',sans-serif;color:var(--text-primary);resize:vertical;min-height:60px;outline:none;}
.bm-reason-inp:focus{border-color:var(--red);}
.bm-custom-row{display:flex;gap:8px;align-items:center;margin-bottom:14px;}
.bm-custom-inp{flex:1;padding:10px 12px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:'DM Sans',sans-serif;color:var(--text-primary);outline:none;}
.bm-current-status{display:none;padding:9px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius-sm);font-size:12px;color:#9a3412;margin-bottom:14px;font-weight:600;}
.bm-footer{display:flex;gap:10px;margin-top:4px;}
.bm-btn{flex:1;padding:13px;border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;border:none;transition:transform .15s;}
.bm-btn:active{transform:scale(.97);}
.bm-btn.cancel{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);}
.bm-btn.confirm{background:var(--red);color:#fff;box-shadow:0 4px 12px rgba(255,59,48,.3);}
.bm-btn.confirm:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
