/* =========================================================
   AIRBNB HUB — ADMIN DASHBOARD STYLES
   ========================================================= */

.admin-login-body{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(120deg,var(--primary-dark),var(--primary));
  padding:20px;
}
.login-card{
  background:var(--white); border-radius:var(--radius); padding:40px; width:100%; max-width:400px;
  box-shadow:0 30px 60px rgba(0,0,0,.25); text-align:center;
}
.login-card .form-group{text-align:left;}

.admin-body{background:var(--light-blue);}
.admin-shell{display:flex; min-height:100vh;}

.admin-sidebar{
  width:250px; background:var(--primary-dark); color:var(--white); display:flex; flex-direction:column;
  padding:24px 18px; position:sticky; top:0; height:100vh;
}
.admin-logo{background:var(--white); border-radius:10px; padding:10px; margin-bottom:24px;}
.admin-logo img{height:34px;}
.admin-nav{display:flex; flex-direction:column; gap:6px;}
.admin-nav a{padding:12px 14px; border-radius:10px; font-size:14.5px; font-weight:600; color:#CFE4F5; transition:.2s;}
.admin-nav a:hover, .admin-nav a.active{background:rgba(255,255,255,.12); color:var(--white);}

.admin-main{flex:1; padding:28px 36px; overflow-x:hidden;}
.admin-topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; flex-wrap:wrap; gap:10px;}
.admin-topbar h2{font-size:1.6rem;}
.admin-user{font-size:14px; color:var(--gray); background:var(--white); padding:8px 16px; border-radius:999px; box-shadow:var(--shadow);}

.stat-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:30px;}
.stat-card{background:var(--white); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); border-left:5px solid var(--primary);}
.stat-card h4{font-size:13.5px; color:var(--gray); font-weight:600; margin-bottom:8px; text-transform:uppercase; letter-spacing:.5px;}
.stat-card .value{font-size:1.8rem; font-weight:700; color:var(--primary-dark); font-family:var(--font-display);}
.stat-card.alt{border-left-color:var(--secondary);}
.stat-card.warn{border-left-color:var(--warning);}
.stat-card.success{border-left-color:var(--success);}

.charts-row{display:grid; grid-template-columns:2fr 1fr; gap:20px; margin-bottom:30px;}
.chart-card{background:var(--white); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow);}
.chart-card h3{font-size:15px; margin-bottom:16px;}

.admin-panel{background:var(--white); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow);}
.admin-panel-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; flex-wrap:wrap; gap:10px;}

.admin-tabs{display:flex; gap:10px; margin-bottom:22px; flex-wrap:wrap;}
.admin-tabs a{padding:10px 20px; border-radius:999px; font-weight:600; font-size:14px; background:var(--light-blue); color:var(--primary-dark);}
.admin-tabs a.active{background:var(--primary); color:var(--white);}

table.admin-table{width:100%; border-collapse:collapse; font-size:14px;}
table.admin-table th{text-align:left; padding:12px 14px; background:var(--light-blue); color:var(--primary-dark); font-size:12.5px; text-transform:uppercase; letter-spacing:.4px;}
table.admin-table td{padding:12px 14px; border-bottom:1px solid var(--border); vertical-align:middle;}
table.admin-table img{width:56px; height:44px; object-fit:cover; border-radius:8px;}
table.admin-table tr:hover td{background:#F7FBFE;}
.table-actions{display:flex; gap:8px;}
.icon-btn{
  width:34px; height:34px; border-radius:8px; border:none; cursor:pointer; font-size:14px;
  display:flex; align-items:center; justify-content:center;
}
.icon-btn.edit{background:#E1F0FB; color:var(--primary);}
.icon-btn.delete{background:#FCE9E9; color:var(--danger);}

.modal-overlay{
  position:fixed; inset:0; background:rgba(6,63,99,.55); display:none; align-items:center; justify-content:center; z-index:2000; padding:20px;
}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--white); border-radius:var(--radius); padding:30px; width:100%; max-width:520px; max-height:90vh; overflow-y:auto;}
.modal-box h3{margin-bottom:18px;}
.modal-close{float:right; background:none; border:none; font-size:20px; cursor:pointer; color:var(--gray);}

.select-bar{display:flex; gap:10px;}
.select-bar select{padding:9px 14px; border-radius:8px; border:1.5px solid var(--border); font-size:13.5px;}

@media(max-width:1000px){
  .stat-cards{grid-template-columns:repeat(2,1fr);}
  .charts-row{grid-template-columns:1fr;}
  .admin-sidebar{position:fixed; left:-260px; z-index:1500; transition:.3s;}
  .admin-sidebar.open{left:0;}
}
