/* ZeusBot Admin — tema preto, vanilla CSS */
:root{
  --bg:#0a0a0c; --panel:#121216; --panel2:#1a1a20; --border:rgba(255,255,255,.08);
  --txt:#f1f1f5; --muted:#8a8a96; --accent:#7c5cff; --accent2:#4cc2ff;
  --ok:#22c55e; --warn:#f59e0b; --err:#ef4444; --info:#3b82f6;
  --radius:10px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  background:var(--bg); color:var(--txt);
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif; font-size:14px;
}
a{color:var(--accent2);text-decoration:none}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:14px;color:var(--txt)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#2a2a32;border-radius:6px}
::-webkit-scrollbar-track{background:transparent}

/* Login */
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.login-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px;width:100%;max-width:380px;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.login-card h1{margin:0 0 4px;font-size:22px;text-align:center}
.login-card .sub{color:var(--muted);text-align:center;margin:0 0 24px;font-size:13px}
.field{margin-bottom:14px}
.field label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}
.field input{width:100%;padding:11px;border-radius:8px;border:1px solid var(--border);background:var(--panel2);color:var(--txt)}
.btn{padding:10px 16px;border-radius:8px;border:1px solid var(--border);background:var(--panel2);color:var(--txt);transition:.15s}
.btn:hover{background:#24242c}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{filter:brightness(1.1);background:var(--accent)}
.btn-ok{background:var(--ok);border-color:var(--ok);color:#04130a}
.btn-warn{background:var(--warn);border-color:var(--warn);color:#1a1304}
.btn-err{background:var(--err);border-color:var(--err);color:#fff}
.btn-info{background:var(--info);border-color:var(--info);color:#fff}
.btn-block{width:100%}

/* Layout */
.app{display:flex;min-height:100vh}
.sidebar{width:220px;background:var(--panel);border-right:1px solid var(--border);padding:16px 10px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px}
.brand .logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}
.brand .name{font-weight:600}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--muted);cursor:pointer;margin-bottom:2px;user-select:none}
.nav-item:hover{background:var(--panel2);color:var(--txt)}
.nav-item.active{background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(76,194,255,.12));color:var(--txt);border:1px solid rgba(124,92,255,.3)}
.nav-item .ic{font-size:16px}
.main{flex:1;padding:24px;overflow:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.topbar h2{margin:0;font-size:20px}
.topbar .user{color:var(--muted);font-size:13px}

/* Cards / grid */
.section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px}
.section h3{margin:0 0 14px;font-size:15px;display:flex;align-items:center;gap:8px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:18px}
.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.stat-card .icon{font-size:20px;margin-bottom:8px}
.stat-card .value{font-size:22px;font-weight:700}
.stat-card .label{color:var(--muted);font-size:12px;margin-top:2px}

.form-row{display:flex;gap:14px;flex-wrap:wrap}
.form-group{flex:1;min-width:180px}
.form-group label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}
.form-group input,.form-group select{width:100%;padding:9px;border-radius:8px;border:1px solid var(--border);background:var(--panel2);color:var(--txt)}

table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}
th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}
tr:hover td{background:rgba(255,255,255,.02)}
.tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}
.tag-ok{background:rgba(34,197,94,.15);color:var(--ok)}
.tag-warn{background:rgba(245,158,11,.15);color:var(--warn)}
.tag-err{background:rgba(239,68,68,.15);color:var(--err)}
.tag-info{background:rgba(59,130,246,.15);color:var(--info)}
.tag-muted{background:rgba(255,255,255,.06);color:var(--muted)}

.upload-card{background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}
.upload-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.upload-card-icon{font-size:22px}
.upload-card-desc{display:block;color:var(--muted);font-size:12px}

.progress-bar{background:var(--panel);border-radius:6px;height:8px;overflow:hidden;margin-top:10px}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0;transition:width .2s}

.toast{position:fixed;bottom:24px;right:24px;background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:12px 16px;box-shadow:0 8px 30px rgba(0,0,0,.5);z-index:999;max-width:340px}
.toast.err{border-color:var(--err)} .toast.ok{border-color:var(--ok)} .toast.warn{border-color:var(--warn)}

.muted{color:var(--muted)}
.hidden{display:none!important}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
code,.mono{font-family:'Cascadia Code',Consolas,monospace;font-size:12px}

@media(max-width:760px){
  .sidebar{position:fixed;left:-240px;z-index:50;transition:left .2s}
  .sidebar.open{left:0}
  .main{padding:16px}
}
