:root{
  --ink:#0E1116;
  --paper:#F5F6F8;
  --text:#181A20;
  --text-dim:#6B7080;
  --line:#E3E5EA;
  --signal:#3B5BFF;
  --signal-dim:#EEF1FF;
  --danger:#D8394C;
  --radius:10px;
  --font-body:'Inter',sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', 'Consolas', monospace;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--text);}
a{color:inherit;text-decoration:none;}
input,select,textarea,button{font-family:var(--font-body);}

.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;background:var(--ink);color:#fff;flex-shrink:0;padding:20px 0;position:sticky;top:0;height:100vh;}
.admin-logo{display:flex;align-items:center;gap:10px;padding:0 20px 22px;font-weight:700;font-size:15px;border-bottom:1px solid #23272f;margin-bottom:16px;}
.admin-logo.center{justify-content:center;border:none;margin-bottom:20px;padding:0;}
.logo-mark{width:30px;height:30px;border-radius:7px;background:linear-gradient(135deg,var(--signal),#7C3AED);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;flex-shrink:0;}
.admin-sidebar nav{display:flex;flex-direction:column;padding:0 12px;}
.admin-sidebar nav a{padding:11px 12px;border-radius:8px;font-size:13.5px;color:#C8CBD3;margin-bottom:2px;}
.admin-sidebar nav a:hover{background:#1D212A;color:#fff;}
.admin-sidebar nav a.active{background:var(--signal);color:#fff;}
.admin-sidebar nav a.logout-link{margin-top:16px;color:#E39;}

.admin-main{flex:1;min-width:0;}
.admin-topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px 30px;display:flex;justify-content:space-between;align-items:center;}
.admin-topbar h1{font-size:19px;margin:0;}
.admin-topbar span{font-size:13px;color:var(--text-dim);}
.admin-content{padding:26px 30px 60px;max-width:1100px;}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:26px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;}
.stat-num{display:block;font-size:26px;font-weight:700;}
.stat-label{font-size:12.5px;color:var(--text-dim);}

.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:22px;}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.panel-head h2{margin:0;font-size:16px;}

.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.admin-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);padding:10px 8px;border-bottom:2px solid var(--line);}
.admin-table td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:middle;}
.admin-table .actions a{margin-right:12px;color:var(--signal);font-weight:600;}
.admin-table .actions a.danger{color:var(--danger);}

.status-badge{font-size:11px;padding:3px 9px;border-radius:20px;font-weight:600;}
.status-published{background:#E7F9EE;color:#137A3F;}
.status-draft{background:#FFF3DA;color:#9A6300;}

.inline-filter{display:flex;gap:10px;margin-bottom:18px;}
.inline-filter input,.inline-filter select{padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;}

.article-editor{max-width:820px;}
.article-editor.narrow{max-width:420px;}
.form-row{margin-bottom:18px;}
.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;}
input[type=text],input[type=email],input[type=password],input[type=file],select,textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;margin-top:2px;
}
textarea{resize:vertical;}
.code-field{font-family:var(--font-mono);font-size:12.5px;}
.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:500;}
.checkbox-row input{width:auto;}
.current-image{max-width:180px;border-radius:8px;margin-top:10px;}
.hint{font-size:12.5px;color:var(--text-dim);margin-top:6px;}
.form-actions{display:flex;gap:12px;margin-top:10px;}

.btn-primary{background:var(--signal);color:#fff;border:none;padding:11px 18px;border-radius:8px;font-weight:600;cursor:pointer;font-size:13.5px;display:inline-block;}
.btn-primary:hover{background:#2C48D9;}
.btn-primary.full{width:100%;}
.btn-secondary{background:#fff;border:1px solid var(--line);padding:11px 18px;border-radius:8px;font-weight:600;cursor:pointer;font-size:13.5px;color:var(--text);}

.alert{padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:16px;}
.alert-success{background:#E7F9EE;color:#137A3F;}
.alert-error{background:#FDE8E8;color:#A11;}

.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--ink);}
.login-card{background:#fff;padding:34px;border-radius:14px;width:340px;}

@media (max-width:800px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;height:auto;position:relative;}
  .admin-sidebar nav{flex-direction:row;overflow-x:auto;}
  .form-row.two-col{grid-template-columns:1fr;}
}
