/* Admin Panel — extends style.css tokens */
body.admin-body{background:#F1F4F8; font-family:var(--font-body);}
.admin-wrap{display:flex; min-height:100vh;}

/* Sidebar */
.admin-sidebar{
  width:250px; background:var(--white); color:var(--charcoal);
  position:fixed; top:0; bottom:0; left:0; display:flex; flex-direction:column;
  padding:24px 0; z-index:50; border-right:1px solid #E7EAF0;
}
.admin-sidebar .brand{padding:0 24px 24px; border-bottom:1px solid #EEF1F5; margin-bottom:16px; color:var(--navy);}
.admin-nav{flex:1; overflow-y:auto;}
.admin-nav a{
  display:flex; align-items:center; gap:12px; padding:12px 24px; font-size:.9rem;
  color:var(--gray); border-left:3px solid transparent;
}
.admin-nav a:hover{background:#F5F7FA; color:var(--navy);}
.admin-nav a.active{background:rgba(245,130,31,.10); border-left-color:var(--gold); color:var(--navy); font-weight:600;}
.admin-nav .icon{width:20px; text-align:center;}
.admin-sidebar-footer{padding:16px 24px; border-top:1px solid #EEF1F5; font-size:.82rem;}

/* Main area */
.admin-main{margin-left:250px; flex:1; padding:28px 32px 60px; width:100%;}
.admin-topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; flex-wrap:wrap; gap:12px;}
.admin-topbar h1{font-size:1.5rem; color:var(--navy);}
.admin-user{display:flex; align-items:center; gap:10px; font-size:.88rem; color:var(--gray);}
.avatar{width:36px; height:36px; border-radius:50%; background:var(--gold); color:var(--navy-deep); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--font-mono);}

/* KPI cards */
.kpi-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:32px;}
@media(max-width:900px){.kpi-grid{grid-template-columns:1fr 1fr;}}
.kpi-card{background:#fff; border-radius:12px; padding:20px 22px; box-shadow:0 6px 18px -10px rgba(11,42,74,.18); border:1px solid #E7EAF0;}
.kpi-card .label{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--gray); font-family:var(--font-mono);}
.kpi-card .value{font-size:1.9rem; font-family:var(--font-display); color:var(--navy); margin-top:6px;}
.kpi-card .delta{font-size:.78rem; color:var(--success); margin-top:4px;}

/* Panels & tables */
.panel{background:#fff; border-radius:12px; border:1px solid #E7EAF0; box-shadow:0 6px 18px -10px rgba(11,42,74,.12); margin-bottom:28px;}
.panel-head{display:flex; justify-content:space-between; align-items:center; padding:18px 22px; border-bottom:1px solid #EEF1F5;}
.panel-head h3{font-size:1.05rem; color:var(--navy);}
.panel-body{padding:22px;}

table{width:100%; border-collapse:collapse; font-size:.88rem;}
thead th{text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--gray); padding:10px 14px; border-bottom:2px solid #EEF1F5; font-family:var(--font-mono);}
tbody td{padding:12px 14px; border-bottom:1px solid #F1F3F7; color:var(--charcoal);}
tbody tr:hover{background:#FAFBFD;}
.table-actions{display:flex; gap:8px;}
.icon-btn{
  width:32px; height:32px; border-radius:8px; border:1px solid #E7EAF0; background:#fff;
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--navy);
}
.icon-btn.danger{color:var(--danger);}
.icon-btn:hover{background:#F5F7FA;}

.login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg,#F4F7FC,#FFFFFF); padding:24px;}
.login-card{background:#fff; border-radius:16px; padding:40px; width:100%; max-width:400px; box-shadow:0 20px 50px -20px rgba(22,59,143,.25); border:1px solid var(--sand-line);}
.login-card .brand-mark{margin:0 auto 16px;}

@media(max-width:900px){
  .admin-sidebar{transform:translateX(-100%); transition:transform .2s ease;}
  .admin-sidebar.open{transform:translateX(0);}
  .admin-main{margin-left:0;}
}
