/* ============================================================
   admin.css — Guest Book Admin Dashboard
   Loaded alongside style.css; reuses the same CSS variables.
   ============================================================ */

.admin-header{
  background:var(--ink);
  color:var(--cream);
  border-bottom:3px solid var(--gold);
  position:sticky; top:0; z-index:50;
}
.admin-header-inner{
  max-width:1200px; margin:0 auto; padding:14px 20px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.admin-header h1{color:var(--cream); font-size:1.3rem; margin:0;}
.admin-header-actions{display:flex; align-items:center; gap:14px; color:var(--gold-soft); font-size:.9rem;}
.admin-header-actions .gb-btn{padding:8px 16px; font-size:.85rem;}
.admin-header .gb-toggle-btn{background:transparent; color:var(--cream); border-color:rgba(228,198,133,.4);}

.gb-container{max-width:1200px;}

/* ---------- Stat cards ---------- */
.admin-stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:24px 0;
}
.admin-stat-card{
  background:var(--cream); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); padding:22px; text-align:center;
}
.admin-stat-card .stat-num{
  display:block; font-family:var(--font-display); font-size:2.2rem; font-weight:700; color:var(--maroon);
}
.admin-stat-card .stat-label{font-size:.85rem; color:var(--ink-soft); font-weight:600; text-transform:uppercase; letter-spacing:.03em;}

/* ---------- Charts ---------- */
.admin-charts-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:24px;
}
.admin-charts-grid .gb-card{padding:18px;}
.admin-charts-grid h3{font-size:1rem; margin-bottom:10px;}

/* ---------- Filters ---------- */
.admin-filter-form{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.admin-filter-form input, .admin-filter-form select{
  padding:10px 12px; border:1.5px solid var(--line); border-radius:8px; font-size:.9rem; background:#fff; color:var(--ink);
}
[data-theme="dark"] .admin-filter-form input,
[data-theme="dark"] .admin-filter-form select{background:#141d33;}
.admin-toolbar-row{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap;}

/* ---------- Table ---------- */
.admin-table-card{padding:0; overflow:hidden;}
.admin-table-scroll{overflow-x:auto;}
.admin-table{width:100%; border-collapse:collapse; font-size:.88rem;}
.admin-table th, .admin-table td{
  padding:12px 14px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap;
}
.admin-table thead th{
  background:var(--cream-dim); font-weight:700; position:sticky; top:0; text-transform:uppercase; font-size:.72rem; letter-spacing:.03em; color:var(--ink-soft);
}
.admin-table tbody tr:hover{background:var(--cream-dim);}
.truncate-cell{max-width:200px; overflow:hidden; text-overflow:ellipsis;}
.admin-row-actions{display:flex; gap:8px;}

/* ---------- Pagination ---------- */
.admin-pagination{
  display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:18px;
}
.page-link{
  padding:8px 13px; border-radius:7px; border:1px solid var(--line); font-weight:600; font-size:.85rem; color:var(--ink);
}
.page-link.active{background:var(--maroon); color:#fff; border-color:var(--maroon);}
.admin-total-count{margin-left:auto; color:var(--ink-soft); font-size:.85rem;}

@media (max-width:900px){
  .admin-stats-grid{grid-template-columns:repeat(2,1fr);}
  .admin-charts-grid{grid-template-columns:1fr;}
}
