/* ============ Admin Panel Styles ============ */
body.admin-body{background:var(--paper-dim);font-family:var(--font-body);}

/* Login */
.admin-login-body{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 160% at 15% 0%, var(--violet-700) 0%, var(--violet-900) 45%, var(--violet-950) 100%);
  margin:0;font-family:var(--font-body);
}
.login-box{width:100%;max-width:380px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px);border-radius:20px;padding:34px;}
.login-box label{color:#DDD6FE;}
.login-box input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;}
.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px;}
.alert-error{background:#FEE2E2;color:#B91C1C;}
.alert-success{background:#DCFCE7;color:#15803D;}

/* Shell layout */
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:250px;flex-shrink:0;background:var(--violet-950);color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;}
.admin-sidebar .brand{margin-bottom:26px;padding:0 6px;}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;color:#DDD6FE;font-weight:600;font-size:14px;margin-bottom:3px;}
.admin-nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.admin-nav a.active{background:var(--violet-600);color:#fff;}
.admin-nav .nav-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.4);margin:18px 14px 8px;}

.admin-main{flex:1;min-width:0;}
.admin-topbar{background:#fff;border-bottom:1px solid var(--line);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;}
.admin-topbar h1{font-size:20px;margin:0;}
.admin-user{display:flex;align-items:center;gap:12px;font-size:13.5px;}
.admin-user .avatar{width:34px;height:34px;border-radius:50%;background:var(--lilac-200);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--violet-700);font-family:var(--font-display);}
.admin-content{padding:28px;}

/* Cards / stats */
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;}
.admin-stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;}
.admin-stat-card .num{font-family:var(--font-mono);font-size:28px;font-weight:600;color:var(--violet-700);}
.admin-stat-card .label{font-size:13px;color:var(--text-mute);}

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

/* Tables */
table.admin-table{width:100%;border-collapse:collapse;}
table.admin-table th, table.admin-table td{padding:12px 22px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--line);}
table.admin-table th{background:var(--paper-dim);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute);}
table.admin-table tbody tr:hover{background:var(--paper-dim);}
table.admin-table .actions{display:flex;gap:8px;}

.status-pill{display:inline-block;padding:3px 10px;border-radius:100px;font-size:11.5px;font-weight:600;}
.status-active,.status-published,.status-new{background:#DCFCE7;color:#15803D;}
.status-inactive,.status-draft{background:#F1F5F9;color:#64748B;}
.status-contacted{background:#DBEAFE;color:#1D4ED8;}
.status-scheduled{background:#FEF3C7;color:#B45309;}
.status-completed{background:#DCFCE7;color:#15803D;}
.status-cancelled{background:#FEE2E2;color:#B91C1C;}

.btn-danger{background:#FEE2E2;color:#B91C1C;}
.btn-danger:hover{background:#FCA5A5;}

.empty-state{padding:40px;text-align:center;color:var(--text-mute);}

@media (max-width:900px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;height:auto;position:relative;}
  .admin-stats{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
}
