/* ==========================================================================
   JeoValid Admin Panel — style.css'teki marka değişkenlerini kullanır
   ========================================================================== */

:root{
  --adm-sidebar-w: 268px;
  --adm-sidebar-w-collapsed: 84px;
  --adm-topbar-h: 68px;
  --adm-radius: 14px;
}

html, body{ height:100%; }
body.admin-body{
  background:var(--hx-bg);
  overflow-x:hidden;
}

.admin-body a{ text-decoration:none; }
.admin-body ::-webkit-scrollbar{ width:8px; height:8px; }
.admin-body ::-webkit-scrollbar-track{ background:transparent; }
.admin-body ::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.12); border-radius:10px; }
.admin-body ::-webkit-scrollbar-thumb:hover{ background:rgba(255,255,255,.22); }

/* ============ WRAPPER / LAYOUT ============ */
.admin-wrapper{ display:flex; min-height:100vh; }

/* ============ SIDEBAR ============ */
.admin-sidebar{
  position:fixed;
  top:0; left:0; bottom:0;
  width:var(--adm-sidebar-w);
  background:linear-gradient(180deg, var(--hx-bg-alt) 0%, var(--hx-bg) 100%);
  border-right:1px solid var(--hx-border);
  display:flex;
  flex-direction:column;
  z-index:1040;
  transition:width .25s ease, transform .3s ease;
}
.admin-sidebar-brand{
  display:flex; align-items:center; justify-content:space-between;
  gap:.6rem;
  padding:1.15rem 1.25rem;
  border-bottom:1px solid var(--hx-border);
  min-height:var(--adm-topbar-h);
}
.admin-brand{ display:flex; align-items:center; gap:.65rem; color:var(--hx-text); overflow:hidden; }
.admin-brand img{ width:34px; height:34px; object-fit:contain; flex:0 0 auto; }
.admin-brand span{ display:flex; flex-direction:column; line-height:1.15; font-weight:800; font-size:1.05rem; white-space:nowrap; }
.admin-brand span small{ font-weight:600; font-size:.66rem; letter-spacing:1px; text-transform:uppercase; color:var(--hx-text-muted); }
.admin-sidebar-close{ background:transparent; border:0; color:var(--hx-text-muted); font-size:1.1rem; }
.admin-sidebar-close:hover{ color:var(--hx-pink); }

.admin-sidebar-user{
  display:flex; align-items:center; gap:.7rem;
  padding:1rem 1.25rem;
  border-bottom:1px solid var(--hx-border);
}
.admin-avatar{
  width:42px; height:42px; border-radius:50%;
  background:var(--hx-gradient);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#fff; font-size:.95rem; flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(56,189,248,.15);
}
.admin-avatar.sm{ width:32px; height:32px; font-size:.75rem; }
.admin-sidebar-user-name{ font-weight:700; font-size:.9rem; color:var(--hx-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-sidebar-user-role{ font-size:.72rem; color:var(--hx-cyan); display:flex; align-items:center; gap:.3rem; }
.admin-sidebar-user-role .dot{ width:6px; height:6px; border-radius:50%; background:#22c55e; display:inline-block; }

.admin-nav{ flex:1; overflow-y:auto; padding:.75rem 0 1.5rem; }
.admin-nav-label{
  display:block; padding:1rem 1.35rem .4rem;
  font-size:.68rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--hx-text-muted); white-space:nowrap;
}
.admin-nav-list{ list-style:none; margin:0; padding:0 .7rem; }
.admin-nav-list li{ margin-bottom:.15rem; }

.admin-nav-group-toggle{
  display:flex; align-items:center; gap:.8rem; width:100%;
  margin:.3rem .7rem 0; padding:.6rem .65rem;
  border:0; background:transparent; border-radius:10px;
  font-size:.72rem; font-weight:800; letter-spacing:.8px; text-transform:uppercase;
  color:var(--hx-text-muted); cursor:pointer;
}
.admin-nav-group-toggle:hover{ background:rgba(56,189,248,.08); color:var(--hx-cyan); }
.admin-nav-group-toggle i.bi-nav-ico{ font-size:1rem; width:20px; text-align:center; flex:0 0 auto; }
.admin-nav-group-toggle .label{ flex:1; text-align:left; overflow:hidden; text-overflow:ellipsis; }
.admin-nav-group-caret{ font-size:.65rem; transition:transform .2s ease; }
.admin-nav-group-toggle.collapsed .admin-nav-group-caret{ transform:rotate(-90deg); }

.admin-nav-link{
  display:flex; align-items:center; gap:.8rem;
  padding:.62rem .8rem;
  border-radius:10px;
  color:var(--hx-text-muted);
  font-size:.87rem; font-weight:600;
  white-space:nowrap;
  transition:background .15s ease, color .15s ease;
  position:relative;
}
.admin-nav-link i.bi-nav-ico{ font-size:1.05rem; width:20px; text-align:center; flex:0 0 auto; color:inherit; }
.admin-nav-link span.label{ flex:1; overflow:hidden; text-overflow:ellipsis; }
.admin-nav-link .chevron{ font-size:.7rem; transition:transform .2s ease; }
.admin-nav-link:hover{ background:rgba(56,189,248,.08); color:var(--hx-cyan); }
.admin-nav-link.active{ background:var(--hx-gradient); color:#fff; box-shadow:0 6px 16px -6px rgba(15,118,110,.6); }
.admin-nav-link.active .admin-nav-badge{ background:rgba(255,255,255,.25); color:#fff; }
.admin-nav-link[aria-expanded="true"] .chevron{ transform:rotate(90deg); }
.admin-nav-link[aria-expanded="true"]{ color:var(--hx-cyan); background:rgba(56,189,248,.06); }

.admin-nav-badge{
  font-size:.68rem; font-weight:800; padding:.15rem .5rem; border-radius:20px;
  background:rgba(255,255,255,.08); color:var(--hx-text-muted);
}
.admin-nav-badge-danger{ background:rgba(239,68,68,.18); color:#f87171; }

.admin-subnav{ list-style:none; padding:.2rem 0 .35rem 2.35rem; margin:0; }
.admin-subnav li a{
  display:flex; align-items:center; gap:.5rem;
  padding:.4rem .6rem; border-radius:8px;
  font-size:.81rem; font-weight:600; color:var(--hx-text-muted);
}
.admin-subnav li a::before{ content:''; width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.5; flex:0 0 auto; }
.admin-subnav li a:hover, .admin-subnav li a.active{ color:var(--hx-cyan); background:rgba(56,189,248,.08); }

.admin-sidebar-footer{
  padding:.9rem 1.25rem; border-top:1px solid var(--hx-border);
  font-size:.72rem; color:var(--hx-text-muted); white-space:nowrap; overflow:hidden;
}

/* Collapsed (desktop icon-only) */
.admin-wrapper.sidebar-collapsed .admin-sidebar{ width:var(--adm-sidebar-w-collapsed); }
.admin-wrapper.sidebar-collapsed .admin-brand span,
.admin-wrapper.sidebar-collapsed .admin-nav-label,
.admin-wrapper.sidebar-collapsed .admin-nav-link span.label,
.admin-wrapper.sidebar-collapsed .admin-nav-link .chevron,
.admin-wrapper.sidebar-collapsed .admin-nav-link .admin-nav-badge,
.admin-wrapper.sidebar-collapsed .admin-subnav,
.admin-wrapper.sidebar-collapsed .admin-sidebar-user-name,
.admin-wrapper.sidebar-collapsed .admin-sidebar-user-role,
.admin-wrapper.sidebar-collapsed .admin-sidebar-footer{ display:none; }
.admin-wrapper.sidebar-collapsed .admin-sidebar-user{ justify-content:center; }
.admin-wrapper.sidebar-collapsed .admin-nav-link{ justify-content:center; }
.admin-wrapper.sidebar-collapsed .admin-content{ margin-left:var(--adm-sidebar-w-collapsed); }

/* ============ CONTENT ============ */
.admin-content{
  margin-left:var(--adm-sidebar-w);
  flex:1; min-width:0;
  display:flex; flex-direction:column;
  transition:margin-left .25s ease;
}

/* ============ TOPBAR ============ */
.admin-topbar{
  position:sticky; top:0; z-index:1020;
  height:var(--adm-topbar-h);
  display:flex; align-items:center; gap:1rem;
  padding:0 1.5rem;
  background:rgba(11,22,40,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hx-border);
}
.admin-topbar-btn{
  width:38px; height:38px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--hx-bg-card); border:1px solid var(--hx-border);
  color:var(--hx-text-muted); font-size:1.05rem;
  transition:all .15s ease; position:relative;
}
.admin-topbar-btn:hover{ color:var(--hx-cyan); border-color:var(--hx-cyan); }
.admin-topbar-search{ position:relative; flex:1; max-width:380px; }
.admin-topbar-search i{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--hx-text-muted); }
.admin-topbar-search input{
  width:100%; background:var(--hx-bg-card); border:1px solid var(--hx-border);
  border-radius:10px; padding:.55rem .9rem .55rem 2.4rem;
  color:var(--hx-text); font-size:.87rem;
}
.admin-topbar-search input:focus{ outline:none; border-color:var(--hx-cyan); box-shadow:0 0 0 3px rgba(56,189,248,.12); }
.admin-topbar-search input::placeholder{ color:var(--hx-text-muted); }
.admin-topbar-right{ margin-left:auto; display:flex; align-items:center; gap:.6rem; }

.admin-badge-dot{
  position:absolute; top:-4px; right:-4px;
  min-width:16px; height:16px; padding:0 3px; border-radius:20px;
  background:#ef4444; color:#fff; font-size:.6rem; font-weight:800;
  display:flex; align-items:center; justify-content:center; line-height:1;
  border:2px solid var(--hx-bg);
}

.admin-dropdown-menu{
  background:var(--hx-bg-card) !important; border:1px solid var(--hx-border) !important;
  border-radius:12px !important; box-shadow:0 20px 45px -18px rgba(0,0,0,.6);
  padding:.5rem !important;
}
.admin-dropdown-menu .dropdown-header{ color:var(--hx-text); font-weight:800; font-size:.85rem; padding:.4rem .7rem; }
.admin-dropdown-menu .dropdown-item{ color:var(--hx-text-muted); border-radius:8px; padding:.55rem .7rem; font-size:.85rem; display:flex; gap:.6rem; align-items:flex-start; white-space:normal; }
.admin-dropdown-menu .dropdown-item:hover, .admin-dropdown-menu .dropdown-item:focus{ background:rgba(56,189,248,.1); color:var(--hx-text); }
.admin-dropdown-menu .dropdown-divider{ border-color:var(--hx-border); }
.admin-dropdown-menu .dropdown-item i{ color:var(--hx-cyan); font-size:1rem; margin-top:.1rem; }
.admin-notif-ico{
  width:34px; height:34px; border-radius:9px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; font-size:.9rem; color:#fff;
}
.admin-user-btn{ display:flex; align-items:center; gap:.55rem; padding:.25rem .5rem .25rem .25rem; border-radius:12px; border:1px solid transparent; color:var(--hx-text); }
.admin-user-btn:hover{ border-color:var(--hx-border); background:var(--hx-bg-card); }
.admin-user-btn .name{ font-size:.85rem; font-weight:700; line-height:1.1; }
.admin-user-btn .role{ font-size:.7rem; color:var(--hx-text-muted); }

/* ============ MAIN AREA ============ */
.admin-main{ padding:1.6rem; flex:1; }
.admin-page-header{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.6rem; }
.admin-breadcrumb{ font-size:.78rem; color:var(--hx-text-muted); margin-bottom:.3rem; }
.admin-breadcrumb a{ color:var(--hx-text-muted); }
.admin-breadcrumb a:hover{ color:var(--hx-cyan); }
.admin-breadcrumb .sep{ margin:0 .4rem; opacity:.5; }
.admin-page-title{ font-size:1.5rem; font-weight:800; margin:0; }
.admin-page-title .text-muted-hx{ font-weight:600; font-size:.95rem; }

/* ============ CARDS ============ */
.admin-card{
  background:var(--hx-bg-card);
  border:1px solid var(--hx-border);
  border-radius:var(--adm-radius);
  padding:1.4rem;
}
.admin-card-header{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; flex-wrap:wrap; }
.admin-card-title{ font-size:1.02rem; font-weight:800; margin:0; }
.admin-card-title .bi{ color:var(--hx-cyan); margin-right:.4rem; }

/* ============ TABLES ============ */
.admin-card .table{
  --bs-table-bg: transparent;
  --bs-table-color: var(--hx-text);
  --bs-table-striped-bg: rgba(255,255,255,.03);
  --bs-table-striped-color: var(--hx-text);
  --bs-table-hover-bg: rgba(56,189,248,.07);
  --bs-table-hover-color: var(--hx-text);
  --bs-table-border-color: var(--hx-border);
  color: var(--hx-text);
}
.admin-card .table > thead{
  color: var(--hx-text-muted);
  font-size:.8rem; text-transform:uppercase; letter-spacing:.03em;
  border-bottom:1px solid var(--hx-border);
}
.admin-card .table > :not(caption) > * > *{ background-color:transparent; box-shadow:none; }
.admin-card .table-hover > tbody > tr:hover > *{ background-color: rgba(56,189,248,.07); }

/* DataTables (search / length / pagination / info) — dark theme */
.dataTables_wrapper{ color:var(--hx-text); }
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info{ color:var(--hx-text-muted); font-size:.85rem; margin-bottom:.75rem; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{
  background:var(--hx-bg-card); border:1px solid var(--hx-border); color:var(--hx-text);
  border-radius:8px; padding:.3rem .6rem;
}
.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus{ outline:none; border-color:var(--hx-cyan); }
.dataTables_wrapper .dataTables_paginate .page-link{
  background:var(--hx-bg-card); border-color:var(--hx-border); color:var(--hx-text);
}
.dataTables_wrapper .dataTables_paginate .page-item.active .page-link{
  background:var(--hx-cyan); border-color:var(--hx-cyan); color:#04202b;
}
.dataTables_wrapper .dataTables_paginate .page-item.disabled .page-link{
  background:transparent; color:var(--hx-text-muted);
}
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before, table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before, table.dataTable thead .sorting_desc:after{
  color: var(--hx-text-muted); opacity:.6;
}
tr.dt-rowReorder-moving{ outline:2px dashed var(--hx-cyan); }

/* Stat cards */
.admin-stat-card{
  background:var(--hx-bg-card); border:1px solid var(--hx-border); border-radius:var(--adm-radius);
  padding:1.25rem; display:flex; align-items:flex-start; gap:1rem;
  height:100%; transition:transform .2s ease, border-color .2s ease;
}
.admin-stat-card:hover{ transform:translateY(-3px); border-color:rgba(56,189,248,.4); }
.admin-stat-ico{
  width:52px; height:52px; border-radius:13px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; font-size:1.35rem; color:#fff;
  background:var(--hx-gradient);
}
.admin-stat-label{ font-size:.8rem; color:var(--hx-text-muted); font-weight:600; margin-bottom:.25rem; }
.admin-stat-value{ font-size:1.55rem; font-weight:800; line-height:1.1; }
.admin-stat-trend{ font-size:.76rem; font-weight:700; margin-top:.35rem; display:flex; align-items:center; gap:.3rem; }
.admin-stat-trend.up{ color:#22c55e; }
.admin-stat-trend.down{ color:#f87171; }

/* Mini stat row (used on sub pages) */
.admin-mini-stat{ background:var(--hx-bg-card); border:1px solid var(--hx-border); border-radius:12px; padding:1rem 1.1rem; display:flex; align-items:center; gap:.8rem; }
.admin-mini-stat .dot{ width:10px; height:10px; border-radius:50%; flex:0 0 auto; }
.admin-mini-stat .val{ font-weight:800; font-size:1.15rem; line-height:1; }
.admin-mini-stat .lbl{ font-size:.75rem; color:var(--hx-text-muted); }

/* ============ BADGES / PILLS ============ */
.pill{ display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; font-weight:700; padding:.3rem .65rem; border-radius:20px; white-space:nowrap; }
.pill i{ font-size:.85em; }
.pill-success{ background:rgba(34,197,94,.15); color:#4ade80; }
.pill-warning{ background:rgba(245,158,11,.15); color:#fbbf24; }
.pill-danger{ background:rgba(239,68,68,.15); color:#f87171; }
.pill-info{ background:rgba(56,189,248,.15); color:#38bdf8; }
.pill-muted{ background:rgba(135,145,168,.15); color:#8791a8; }
.pill-gold{ background:linear-gradient(90deg, rgba(184,134,11,.25), rgba(255,215,0,.25)); color:#FFD700; }
.pill-purple{ background:rgba(139,92,246,.15); color:#a78bfa; }

/* ============ TABLES ============ */
.admin-table-wrap{ overflow-x:auto; }
table.admin-table{ width:100%; color:var(--hx-text); border-collapse:separate; border-spacing:0; }
table.admin-table thead th{
  font-size:.72rem; text-transform:uppercase; letter-spacing:.6px; font-weight:800;
  color:var(--hx-text-muted); border-bottom:1px solid var(--hx-border);
  padding:.75rem .9rem; white-space:nowrap;
}
table.admin-table tbody td{ padding:.85rem .9rem; border-bottom:1px solid var(--hx-border); font-size:.86rem; vertical-align:middle; }
table.admin-table tbody tr:last-child td{ border-bottom:0; }
table.admin-table tbody tr:hover{ background:rgba(56,189,248,.04); }
.admin-row-title{ font-weight:700; color:var(--hx-text); }
.admin-row-sub{ font-size:.76rem; color:var(--hx-text-muted); }

.admin-table-actions{ display:flex; align-items:center; gap:.35rem; }
.admin-icon-action{
  width:32px; height:32px; border-radius:8px; border:1px solid var(--hx-border); background:transparent;
  display:inline-flex; align-items:center; justify-content:center; color:var(--hx-text-muted); font-size:.9rem;
}
.admin-icon-action:hover{ color:var(--hx-cyan); border-color:var(--hx-cyan); background:rgba(56,189,248,.08); }
.admin-icon-action.danger:hover{ color:#f87171; border-color:#f87171; background:rgba(239,68,68,.08); }

/* DataTables dark theme overrides */
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input{
  background:var(--hx-bg-card); border:1px solid var(--hx-border); color:var(--hx-text);
  border-radius:8px; padding:.3rem .6rem; margin-left:.4rem;
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing{ color:var(--hx-text-muted) !important; font-size:.82rem; }
.dataTables_wrapper .dataTables_filter input:focus, .dataTables_wrapper .dataTables_length select:focus{ outline:none; border-color:var(--hx-cyan); }
.dataTables_wrapper .dataTables_paginate .page-link{
  background:var(--hx-bg-card) !important; border-color:var(--hx-border) !important; color:var(--hx-text) !important;
}
.dataTables_wrapper .dataTables_paginate .page-item.active .page-link{ background:var(--hx-gradient) !important; border-color:transparent !important; color:#fff !important; }
.dataTables_wrapper .dataTables_paginate .page-item.disabled .page-link{ color:var(--hx-text-muted) !important; opacity:.5; }
table.dataTable thead th{ position:relative; }
table.dataTable>thead>tr>th.sorting:before, table.dataTable>thead>tr>th.sorting:after,
table.dataTable>thead>tr>th.sorting_asc:before, table.dataTable>thead>tr>th.sorting_asc:after,
table.dataTable>thead>tr>th.sorting_desc:before, table.dataTable>thead>tr>th.sorting_desc:after{ color:var(--hx-text-muted) !important; opacity:.6; }
table.dataTable tbody tr{ background:transparent !important; }
.dataTables_wrapper .dataTables_scroll{ margin-bottom:.5rem; }
div.dt-container .dt-search input, div.dt-container .dt-length select{ background:var(--hx-bg-card); border:1px solid var(--hx-border); color:var(--hx-text); }

/* ============ TABS ============ */
.admin-tabs.nav-tabs{ border-bottom:1px solid var(--hx-border); gap:.25rem; flex-wrap:nowrap; overflow-x:auto; }
.admin-tabs.nav-tabs .nav-link{
  border:0; color:var(--hx-text-muted); font-weight:700; font-size:.86rem;
  padding:.7rem 1.1rem; border-radius:10px 10px 0 0; white-space:nowrap;
  display:flex; align-items:center; gap:.4rem;
}
.admin-tabs.nav-tabs .nav-link .dot{ width:8px; height:8px; border-radius:50%; }
.admin-tabs.nav-tabs .nav-link:hover{ color:var(--hx-cyan); }
.admin-tabs.nav-tabs .nav-link.active{ color:var(--hx-text); background:var(--hx-bg-card); border-bottom:2px solid var(--hx-cyan); }

/* ============ FORMS ============ */
.admin-body .form-label{ font-size:.82rem; font-weight:700; color:var(--hx-text); margin-bottom:.4rem; }
.admin-body .form-control, .admin-body .form-select{
  background:var(--hx-bg); border:1px solid var(--hx-border); color:var(--hx-text);
  border-radius:10px; padding:.6rem .85rem; font-size:.87rem;
}
.admin-body .form-control:focus, .admin-body .form-select:focus{
  background:var(--hx-bg); color:var(--hx-text); border-color:var(--hx-cyan); box-shadow:0 0 0 3px rgba(56,189,248,.12);
}
.admin-body .form-control::placeholder{ color:var(--hx-text-muted); }
.admin-body .form-text{ color:var(--hx-text-muted); font-size:.76rem; }
.admin-body .form-check-input{ background-color:var(--hx-bg); border-color:var(--hx-border); }
.admin-body .form-check-input:checked{ background-color:var(--hx-cyan); border-color:var(--hx-cyan); }
.admin-body .form-check-label{ font-size:.85rem; color:var(--hx-text-muted); }

.admin-switch .form-check-input{ width:2.6em; height:1.4em; }

.admin-upload-box{
  border:1.5px dashed var(--hx-border); border-radius:12px; padding:1.4rem;
  text-align:center; color:var(--hx-text-muted); font-size:.85rem; cursor:pointer;
  transition:border-color .2s ease, color .2s ease;
}
.admin-upload-box:hover{ border-color:var(--hx-cyan); color:var(--hx-cyan); }
.admin-upload-box i{ font-size:1.8rem; display:block; margin-bottom:.5rem; }

/* Buttons (admin-scoped, reuse hx look) */
.admin-btn{
  display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.86rem;
  padding:.6rem 1.15rem; border-radius:10px; border:0; background:var(--hx-gradient); color:#fff;
}
.admin-btn:hover{ color:#fff; filter:brightness(1.08); }
.admin-btn-outline{ background:transparent; border:1px solid var(--hx-border); color:var(--hx-text); }
.admin-btn-outline:hover{ border-color:var(--hx-cyan); color:var(--hx-cyan); }
.admin-btn-sm{ padding:.42rem .85rem; font-size:.78rem; }
.admin-btn-danger{ background:rgba(239,68,68,.15); color:#f87171; }
.admin-btn-danger:hover{ background:rgba(239,68,68,.25); color:#fca5a5; }

/* Modal */
.admin-body .modal-content{ background:var(--hx-bg-card); border:1px solid var(--hx-border); border-radius:16px; color:var(--hx-text); }
.admin-body .modal-header{ border-bottom:1px solid var(--hx-border); }
.admin-body .modal-footer{ border-top:1px solid var(--hx-border); }
.admin-body .btn-close{ filter:invert(1) grayscale(1) brightness(1.6); }

/* Progress */
.admin-progress{ height:8px; border-radius:20px; background:rgba(255,255,255,.08); overflow:hidden; }
.admin-progress .bar{ height:100%; border-radius:20px; background:var(--hx-gradient); }

/* Activity timeline (dashboard) */
.admin-activity{ list-style:none; margin:0; padding:0; }
.admin-activity li{ display:flex; gap:.85rem; padding:.75rem 0; border-bottom:1px solid var(--hx-border); }
.admin-activity li:last-child{ border-bottom:0; padding-bottom:0; }
.admin-activity-ico{ width:36px; height:36px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; font-size:.95rem; color:#fff; }

/* Messages preview list */
.admin-msg-item{ display:flex; gap:.75rem; padding:.75rem 0; border-bottom:1px solid var(--hx-border); }
.admin-msg-item:last-child{ border-bottom:0; }
.admin-msg-item.unread .admin-msg-subject{ color:var(--hx-text); font-weight:800; }
.admin-msg-item.unread::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--hx-cyan); margin-top:.4rem; }
.admin-msg-item:not(.unread)::before{ content:''; width:7px; height:7px; }
.admin-msg-subject{ font-size:.85rem; font-weight:700; color:var(--hx-text-muted); }
.admin-msg-excerpt{ font-size:.78rem; color:var(--hx-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px; }

/* Login page */
.admin-login-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(1200px 500px at 15% -10%, rgba(15,118,110,.35), transparent 60%),
    radial-gradient(1000px 600px at 100% 100%, rgba(56,189,248,.18), transparent 60%),
    var(--hx-bg);
  padding:1.5rem;
}
.admin-login-card{
  width:100%; max-width:420px; background:var(--hx-bg-card); border:1px solid var(--hx-border);
  border-radius:20px; padding:2.4rem 2.1rem; box-shadow:0 30px 70px -25px rgba(0,0,0,.6);
}
.admin-login-logo{ display:flex; align-items:center; justify-content:center; gap:.6rem; margin-bottom:1.6rem; font-weight:800; font-size:1.2rem; }
.admin-login-logo img{ width:38px; height:38px; }
.admin-login-demo{ background:rgba(56,189,248,.08); border:1px solid rgba(56,189,248,.25); border-radius:10px; padding:.7rem .9rem; font-size:.78rem; color:var(--hx-text-muted); }

/* Mobile backdrop */
.admin-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:1035; opacity:0; pointer-events:none; transition:opacity .25s ease; }
.admin-backdrop.show{ opacity:1; pointer-events:auto; }

/* ============ RESPONSIVE ============ */
@media (max-width:991.98px){
  .admin-sidebar{ transform:translateX(-100%); box-shadow:0 0 60px rgba(0,0,0,.5); }
  .admin-wrapper.sidebar-mobile-open .admin-sidebar{ transform:translateX(0); width:var(--adm-sidebar-w); }
  .admin-wrapper.sidebar-mobile-open .admin-brand span,
  .admin-wrapper.sidebar-mobile-open .admin-nav-label,
  .admin-wrapper.sidebar-mobile-open .admin-nav-link span.label,
  .admin-wrapper.sidebar-mobile-open .admin-nav-link .chevron,
  .admin-wrapper.sidebar-mobile-open .admin-nav-link .admin-nav-badge,
  .admin-wrapper.sidebar-mobile-open .admin-sidebar-user-name,
  .admin-wrapper.sidebar-mobile-open .admin-sidebar-user-role,
  .admin-wrapper.sidebar-mobile-open .admin-sidebar-footer{ display:revert; }
  .admin-content, .admin-wrapper.sidebar-collapsed .admin-content{ margin-left:0; }
  .admin-topbar{ padding:0 1rem; }
  .admin-topbar-search{ display:none; }
  .admin-main{ padding:1.1rem; }
  .admin-desktop-toggle{ display:none; }
  .admin-page-title{ font-size:1.25rem; }
}
@media (min-width:992px){
  .admin-mobile-toggle{ display:none; }
}
@media (max-width:575.98px){
  .admin-stat-card{ flex-direction:column; }
  .admin-user-btn .name, .admin-user-btn .role{ display:none; }
}

/* Drag & drop reorder (admin-sort.js) */
.drag-handle{ cursor:grab; color:var(--hx-text-muted); width:2rem; text-align:center; }
.drag-handle:active{ cursor:grabbing; }
[data-sortable] tr.sortable-ghost{ opacity:.4; }
.sort-status-badge{ display:inline-block; font-size:.75rem; padding:.15rem .6rem; border-radius:999px; background:rgba(56,189,248,.15); color:var(--hx-cyan,#38BDF8); margin-bottom:.5rem; }
.sort-status-badge.sort-status-error{ background:rgba(248,113,113,.15); color:#f87171; }
