/* ==========================================================================
   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:var(--hx-bg-alt);
  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:0 1.25rem;
  border-bottom:1px solid var(--hx-border);
  height:var(--adm-topbar-h);
  flex:0 0 auto;
}
.admin-brand{ display:flex; align-items:center; gap:.65rem; color:var(--hx-text); overflow:hidden; }
.admin-brand img{ width:30px; height:30px; object-fit:contain; flex:0 0 auto; }
.admin-brand span{ display:flex; flex-direction:column; line-height:1.2; font-weight:700; font-size:.98rem; white-space:nowrap; letter-spacing:-.01em; }
.admin-brand span small{ font-weight:600; font-size:.64rem; letter-spacing:.6px; 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{ padding:.9rem 1rem; border-bottom:1px solid var(--hx-border); flex:0 0 auto; }
.admin-sidebar-user-card{
  display:flex; align-items:center; gap:.65rem;
  padding:.55rem .6rem; border-radius:10px;
  background:var(--hx-bg-card); border:1px solid var(--hx-border);
}
.admin-avatar{
  width:36px; height:36px; border-radius:9px;
  background:var(--hx-gradient);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; color:#fff; font-size:.82rem; flex:0 0 auto;
}
.admin-avatar.sm{ width:32px; height:32px; border-radius:8px; font-size:.75rem; }
.admin-sidebar-user-name{ font-weight:700; font-size:.85rem; color:var(--hx-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-sidebar-user-role{ font-size:.72rem; color:var(--hx-text-muted); display:flex; align-items:center; gap:.35rem; margin-top:.1rem; }
.admin-sidebar-user-role .dot{ width:6px; height:6px; border-radius:50%; background:#22c55e; display:inline-block; flex:0 0 auto; }

.admin-nav{ flex:1; overflow-y:auto; padding:.5rem .75rem 1.25rem; }
.admin-nav-label{
  display:block; padding:1.1rem .6rem .4rem;
  font-size:.66rem; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--hx-text-muted); white-space:nowrap; opacity:.7;
}
.admin-nav-list{ list-style:none; margin:0; padding:0 0 0 .85rem; border-left:1px solid var(--hx-border); margin-left:.75rem; }
.admin-nav-list li{ margin-bottom:1px; }

.admin-nav-group-toggle{
  display:flex; align-items:center; gap:.65rem; width:100%;
  margin:.85rem 0 .3rem; padding:0 .5rem;
  border:0; background:transparent;
  font-size:.66rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  color:var(--hx-text-muted); opacity:.75; cursor:pointer;
}
.admin-nav-group-toggle:first-child{ margin-top:.35rem; }
.admin-nav-group-toggle:hover{ opacity:1; color:var(--hx-cyan); }
.admin-nav-group-toggle i.bi-nav-ico{ font-size:.85rem; width:16px; 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:.6rem; transition:transform .2s ease; opacity:.6; }
.admin-nav-group-toggle.collapsed .admin-nav-group-caret{ transform:rotate(-90deg); }

.admin-nav-link{
  display:flex; align-items:center; gap:.75rem;
  padding:.5rem .6rem .5rem .5rem;
  margin-left:.15rem;
  border-radius:8px;
  color:var(--hx-text-muted);
  font-size:.85rem; font-weight:500;
  white-space:nowrap;
  border-left:2px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
  position:relative;
}
.admin-nav-link i.bi-nav-ico{ font-size:1rem; width:18px; text-align:center; flex:0 0 auto; color:inherit; opacity:.85; }
.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(255,255,255,.04); color:var(--hx-text); }
.admin-nav-link.active{
  background:rgba(56,189,248,.1); color:var(--hx-cyan); font-weight:700;
  border-left-color:var(--hx-cyan);
}
.admin-nav-link.active i.bi-nav-ico{ opacity:1; }
.admin-nav-link.active .admin-nav-badge{ background:rgba(56,189,248,.2); color:var(--hx-cyan); }
.admin-nav-link[aria-expanded="true"] .chevron{ transform:rotate(90deg); }
.admin-nav-link[aria-expanded="true"]{ color:var(--hx-cyan); background:rgba(255,255,255,.03); }

.admin-nav-badge{
  font-size:.66rem; font-weight:700; padding:.1rem .45rem; border-radius:20px;
  background:rgba(255,255,255,.07); color:var(--hx-text-muted);
}
.admin-nav-badge-danger{ background:rgba(239,68,68,.18); color:#f87171; }

.admin-subnav{ list-style:none; padding:.15rem 0 .3rem 2.1rem; margin:0; }
.admin-subnav li a{
  display:flex; align-items:center; gap:.5rem;
  padding:.35rem .6rem; border-radius:6px;
  font-size:.8rem; font-weight:500; color:var(--hx-text-muted);
}
.admin-subnav li a::before{ content:''; width:4px; height:4px; 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(255,255,255,.04); }

.admin-sidebar-footer{
  padding:.7rem 1.25rem; border-top:1px solid var(--hx-border);
  font-size:.68rem; color:var(--hx-text-muted); opacity:.6; white-space:nowrap; overflow:hidden;
  flex:0 0 auto;
}

/* 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-card{ justify-content:center; padding:.55rem; }
.admin-wrapper.sidebar-collapsed .admin-nav-link{ justify-content:center; border-left-width:0; }
.admin-wrapper.sidebar-collapsed .admin-nav-link.active{ background:rgba(56,189,248,.14); }
.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; transition:opacity .12s ease; }
.admin-main-loading{ opacity:.45; pointer-events:none; }
.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; }

/* Quill rich-text editor (admin-editor.js) */
.admin-editor{ background:var(--hx-bg); border-radius:10px; overflow:hidden; margin-bottom:.4rem; }
.admin-editor .ql-toolbar{ background:var(--hx-bg-card); border-color:var(--hx-border) !important; border-radius:10px 10px 0 0; }
.admin-editor .ql-container{ border-color:var(--hx-border) !important; border-radius:0 0 10px 10px; min-height:180px; font-size:.9rem; color:var(--hx-text); }
.admin-editor .ql-editor{ min-height:180px; }
.admin-editor .ql-stroke{ stroke:var(--hx-text-muted); }
.admin-editor .ql-fill{ fill:var(--hx-text-muted); }
.admin-editor .ql-picker{ color:var(--hx-text-muted); }
.admin-editor .ql-toolbar .ql-active .ql-stroke{ stroke:var(--hx-cyan); }
.admin-editor .ql-toolbar .ql-active .ql-fill{ fill:var(--hx-cyan); }
.admin-editor .ql-toolbar button:hover .ql-stroke{ stroke:var(--hx-cyan); }
.admin-editor .ql-editor img{ max-width:100%; border-radius:8px; }

/* Icon picker (admin-icon-picker.js) */
.admin-icon-picker-pop{
  z-index:1080; width:340px; max-height:360px; background:var(--hx-bg-card);
  border:1px solid var(--hx-border); border-radius:10px; padding:.6rem; box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.admin-icon-picker-grid{ display:grid; grid-template-columns:repeat(7, 1fr); gap:.3rem; max-height:260px; overflow-y:auto; }
.admin-icon-picker-item{
  display:flex; align-items:center; justify-content:center; aspect-ratio:1; border-radius:8px;
  border:1px solid transparent; background:transparent; color:var(--hx-text); font-size:1.1rem; cursor:pointer;
}
.admin-icon-picker-item:hover{ background:var(--hx-bg); border-color:var(--hx-border); }
.admin-icon-picker-item.active{ background:var(--hx-cyan); color:#fff; }

/* Color picker (admin-color-picker.js) */
.admin-color-picker-preview{
  width:38px; padding:0; display:flex; align-items:center; justify-content:center;
  border-color:var(--hx-border);
}
.admin-color-picker-pop{
  z-index:1080; width:236px; background:var(--hx-bg-card);
  border:1px solid var(--hx-border); border-radius:10px; padding:.75rem; box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.admin-color-picker-grid{ display:grid; grid-template-columns:repeat(7, 1fr); gap:.4rem; }
.admin-color-picker-item{
  width:100%; aspect-ratio:1; border-radius:8px; border:2px solid transparent; cursor:pointer;
  padding:0;
}
.admin-color-picker-item:hover{ transform:scale(1.08); }
.admin-color-picker-item.active{ border-color:#fff; box-shadow:0 0 0 2px var(--hx-cyan); }
.admin-color-picker-custom{
  display:flex; align-items:center; gap:.6rem; margin-top:.75rem; padding-top:.6rem;
  border-top:1px solid var(--hx-border);
}
.admin-color-picker-custom input[type="color"]{
  width:34px; height:34px; padding:0; border:1px solid var(--hx-border); border-radius:8px; cursor:pointer; background:none;
}

/* Phone screenshot preview (Admin/Feature > Telefon Görselleri) */
.admin-phone-preview{
  width:150px; margin:.5rem auto 0;
  background:linear-gradient(155deg,#1c2942,#0a1220);
  border-radius:26px; padding:8px;
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset, 0 20px 40px -18px rgba(0,0,0,.6);
}
.admin-phone-preview-screen{
  position:relative; width:100%; aspect-ratio:9/19.3;
  border-radius:18px; overflow:hidden; background:var(--hx-bg);
}
.admin-phone-preview-screen .carousel,
.admin-phone-preview-screen .carousel-inner,
.admin-phone-preview-screen .carousel-item{ width:100%; height:100%; }
.admin-phone-preview-screen img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Image picker (admin-image-picker.js) */
.admin-image-picker-preview{
  width:64px; height:64px; border-radius:8px; object-fit:cover; border:1px solid var(--hx-border);
  background:var(--hx-bg); display:none;
}
.admin-image-picker-preview.has-image{ display:block; }

.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; }

/* ============ WIKI WORKSPACE ============ */
.wiki-workspace{ display:flex; gap:1rem; align-items:flex-start; }
.wiki-sidebar{ flex:0 0 300px; max-width:300px; display:flex; flex-direction:column; gap:.75rem; max-height:75vh; overflow-y:auto; }
.wiki-quick-add-category{ display:flex; gap:.4rem; }
.wiki-category-list{ display:flex; flex-direction:column; gap:.75rem; }
.wiki-category{ background:var(--hx-bg-card); border:1px solid var(--hx-border); border-radius:var(--adm-radius); padding:.85rem; }
.wiki-category-header{ display:flex; align-items:center; gap:.4rem; margin-bottom:.5rem; }
.wiki-category-header .wiki-category-name{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.category-drag-handle{ cursor:grab; color:var(--hx-text-muted); }
.category-drag-handle:active{ cursor:grabbing; }
.wiki-category-actions{ display:flex; gap:.25rem; }
.wiki-category-edit-btn, .wiki-category-delete-btn{ background:none; border:none; color:var(--hx-text-muted); padding:.2rem .35rem; border-radius:6px; cursor:pointer; }
.wiki-category-edit-btn:hover{ background:rgba(148,163,184,.12); color:inherit; }
.wiki-category-delete-btn:hover{ background:rgba(248,113,113,.12); color:#f87171; }
.wiki-category-edit-form{ display:flex; gap:.4rem; margin-bottom:.5rem; flex-wrap:wrap; }
.wiki-category-edit-form input{ flex:1 1 100px; }
.wiki-article-list{ list-style:none; margin:0 0 .5rem; padding:0 0 0 1.25rem; min-height:.5rem; }
.wiki-article-item{ display:flex; align-items:center; gap:.35rem; padding:.35rem .25rem; border-radius:6px; }
.wiki-article-item:hover{ background:rgba(148,163,184,.08); }
.wiki-article-item.active{ background:rgba(56,189,248,.15); }
.wiki-article-item .drag-handle{ width:1.25rem; }
.wiki-article-link{ flex:1; color:inherit; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wiki-quick-add input{ font-size:.85rem; }
.wiki-quick-add-sub{ margin:0 0 .5rem 1.25rem; }
.wiki-quick-add-sub input{ font-size:.85rem; }
.wiki-category-add-sub-btn{ background:none; border:none; color:var(--hx-text-muted); padding:.2rem .35rem; border-radius:6px; cursor:pointer; }
.wiki-category-add-sub-btn:hover{ background:rgba(148,163,184,.12); color:inherit; }
.wiki-category-children{ margin-left:1.25rem; padding-left:.75rem; border-left:2px dashed var(--hx-border); display:flex; flex-direction:column; gap:.75rem; margin-top:.5rem; }
.wiki-status-badge{ font-size:.68rem; font-weight:600; padding:.1rem .45rem; border-radius:999px; white-space:nowrap; letter-spacing:.02em; }
.wiki-status-draft{ background:rgba(148,163,184,.18); color:#94a3b8; }
.wiki-status-published{ background:rgba(52,211,153,.18); color:#34d399; }
.wiki-status-pending{ background:rgba(250,204,21,.18); color:#facc15; }
.wiki-status-rejected{ background:rgba(248,113,113,.18); color:#f87171; }
.wiki-editor-pane{ flex:1 1 auto; background:var(--hx-bg-card); border:1px solid var(--hx-border); border-radius:var(--adm-radius); padding:1rem; min-height:75vh; }
.wiki-editor-pane.wiki-editor-loading{ opacity:.6; }
.wiki-save-error{ font-size:.85rem; padding:.55rem .75rem; }
.wiki-save-status{ min-width:5.5rem; text-align:right; }
.wiki-toast{ position:fixed; bottom:1.25rem; right:1.25rem; background:var(--hx-bg-card); border:1px solid var(--hx-border); color:inherit; padding:.6rem 1rem; border-radius:var(--adm-radius); box-shadow:0 8px 24px rgba(0,0,0,.25); z-index:2000; opacity:0; transform:translateY(8px); transition:opacity .2s, transform .2s; font-size:.85rem; }
.wiki-toast.show{ opacity:1; transform:translateY(0); }
.wiki-toast-error{ border-color:rgba(248,113,113,.4); color:#f87171; }
@media (max-width: 900px){
  .wiki-workspace{ flex-direction:column; }
  .wiki-sidebar{ flex:1 1 auto; max-width:none; max-height:none; }
}
