/* Admin Panel Styles */
:root{
  --a-bg:#0f1720;
  --a-panel:#1a2432;
  --a-border:#2a3547;
  --a-text:#e8eef5;
  --a-muted:#8ba0b8;
  --a-primary:#6bd48a;
  --a-primary-2:#7bd389;
  --a-danger:#ff6b6b;
  --a-warn:#ffb547;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--a-bg);color:var(--a-text);font-family:'Inter',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

/* Login */
.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 30% 20%, rgba(107,212,138,.15), transparent 60%), var(--a-bg)}
.login-card{background:var(--a-panel);border:1px solid var(--a-border);border-radius:16px;padding:44px;width:100%;max-width:420px}
.login-card h1{font-size:1.5rem;margin-bottom:8px}
.login-card p{color:var(--a-muted);font-size:.9rem;margin-bottom:26px}
.login-card .field{margin-bottom:16px}
.login-card label{display:block;font-size:.8rem;color:var(--a-muted);margin-bottom:6px}
.login-card input{width:100%;background:var(--a-bg);border:1px solid var(--a-border);border-radius:10px;padding:12px 14px;color:#fff;font-size:.95rem}
.login-card input:focus{outline:none;border-color:var(--a-primary)}
.login-card .btn{width:100%;background:var(--a-primary);color:#0a1f10;padding:12px;border-radius:10px;border:none;font-weight:600;cursor:pointer;font-size:.95rem;margin-top:8px}
.login-card .btn:hover{filter:brightness(1.05)}
.login-hint{margin-top:20px;padding:14px;background:rgba(107,212,138,.08);border:1px solid var(--a-border);border-radius:10px;font-size:.82rem;color:var(--a-muted)}

/* Layout */
.admin-shell{display:flex;min-height:100vh}
.sidebar{width:260px;background:var(--a-panel);border-right:1px solid var(--a-border);padding:24px 0;position:fixed;top:0;left:0;bottom:0;overflow-y:auto}
.sidebar .logo{padding:0 24px 24px;border-bottom:1px solid var(--a-border);display:flex;align-items:center;gap:10px;font-weight:600}
.sidebar .logo i{color:var(--a-primary)}
.sidebar nav{padding:16px 12px}
.sidebar nav .section{color:var(--a-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;padding:14px 12px 6px}
.sidebar a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--a-muted);font-size:.9rem;margin-bottom:2px;transition:all .2s}
.sidebar a i{width:18px;text-align:center}
.sidebar a:hover{background:rgba(255,255,255,.04);color:#fff}
.sidebar a.active{background:rgba(107,212,138,.14);color:var(--a-primary)}
.main{margin-left:260px;flex:1;min-width:0}
.topbar{background:var(--a-panel);border-bottom:1px solid var(--a-border);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}
.topbar h1{font-size:1.15rem}
.topbar .actions{display:flex;gap:14px;align-items:center;color:var(--a-muted);font-size:.88rem}
.topbar .actions a{color:var(--a-muted)}
.topbar .actions a:hover{color:#fff}
.content{padding:32px}

/* Cards */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}
.stat{background:var(--a-panel);border:1px solid var(--a-border);border-radius:12px;padding:22px}
.stat small{color:var(--a-muted);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.stat h3{font-size:2rem;margin-top:6px;color:#fff}
.stat .ic{float:right;color:var(--a-primary);font-size:1.4rem;margin-top:-6px}

.panel{background:var(--a-panel);border:1px solid var(--a-border);border-radius:12px;padding:24px;margin-bottom:24px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.panel-head h2{font-size:1.15rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:8px;border:none;font-weight:500;font-size:.85rem;cursor:pointer;transition:all .2s;font-family:inherit}
.btn-primary{background:var(--a-primary);color:#0a1f10}
.btn-primary:hover{filter:brightness(1.05)}
.btn-ghost{background:transparent;border:1px solid var(--a-border);color:var(--a-text)}
.btn-ghost:hover{background:rgba(255,255,255,.04)}
.btn-danger{background:var(--a-danger);color:#fff}
.btn-sm{padding:6px 12px;font-size:.78rem}

/* Table */
table.data{width:100%;border-collapse:collapse}
table.data th,table.data td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--a-border);font-size:.88rem}
table.data th{color:var(--a-muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
table.data tr:hover{background:rgba(255,255,255,.02)}
table.data td .actions{display:flex;gap:8px}
table.data img.thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--a-border)}

/* Forms */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px}
.form-row .full{grid-column:1/-1}
.form-row label{display:block;font-size:.78rem;color:var(--a-muted);margin-bottom:6px;font-weight:500}
.form-row input[type=text],.form-row input[type=email],.form-row input[type=url],.form-row input[type=number],.form-row input[type=password],.form-row input[type=date],.form-row select,.form-row textarea{width:100%;background:var(--a-bg);border:1px solid var(--a-border);border-radius:8px;padding:10px 12px;color:#fff;font-family:inherit;font-size:.9rem}
.form-row textarea{min-height:110px;resize:vertical}
.form-row textarea.large{min-height:220px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--a-primary)}
.form-row .help{font-size:.75rem;color:var(--a-muted);margin-top:4px}
.form-row .check{display:flex;gap:8px;align-items:center}
.form-row .check input{width:auto}

/* Alert */
.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.88rem}
.alert-success{background:rgba(107,212,138,.12);color:var(--a-primary);border:1px solid var(--a-primary)}
.alert-error{background:rgba(255,107,107,.12);color:var(--a-danger);border:1px solid var(--a-danger)}

/* Badge */
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:500}
.badge-on{background:rgba(107,212,138,.14);color:var(--a-primary)}
.badge-off{background:rgba(255,180,71,.14);color:var(--a-warn)}
.badge-new{background:rgba(255,107,107,.14);color:var(--a-danger)}

@media (max-width:1024px){
  .sidebar{transform:translateX(-100%);transition:transform .3s;z-index:100}
  body.nav-open .sidebar{transform:translateX(0)}
  .main{margin-left:0}
  .stats{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
}
