/* ═══════════════════════════════════════════════════════════════
   Birashoboka Admin Panel — Stylesheet
   ═══════════════════════════════════════════════════════════════ */
:root {
  --sidebar-w: 260px;
  --topbar-h: 64px;
  --bg: #f0f2f7;
  --surface: #ffffff;
  --surface-2: #f8fafd;
  --txt: #1a2338;
  --txt-2: #4b5563;
  --txt-3: #9ca3af;
  --border: #e5e9f0;
  --primary: #0d6efd;
  --primary-d: #0a58ca;
  --primary-l: #e8f0fe;
  --secondary: #6f42c1;
  --success: #198754;
  --success-l: #d1fae5;
  --warning: #f59e0b;
  --warning-l: #fef3c7;
  --danger: #ef4444;
  --danger-l: #fee2e2;
  --info: #0ea5e9;
  --info-l: #e0f2fe;
  --accent: #e63946;
  --sidebar-bg: #0f172a;
  --sidebar-txt: rgba(255,255,255,.75);
  --sidebar-active-bg: rgba(13,110,253,.2);
  --sidebar-active: #60a5fa;
  --radius: 10px;
  --shadow: 0 2px 12px rgba(0,0,0,.07);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.10);
  --tr: .2s ease;
}
[data-theme="dark"] {
  --bg: #0b1120; --surface: #111827; --surface-2: #1e293b;
  --txt: #f1f5f9; --txt-2: #94a3b8; --txt-3: #64748b;
  --border: #1e293b; --shadow: 0 2px 16px rgba(0,0,0,.35);
}

*,*::before,*::after { box-sizing: border-box; margin:0; padding:0; }
html { font-size: 15px; }
body { font-family: 'Open Sans', sans-serif; color: var(--txt); background: var(--bg); }
h1,h2,h3,h4 { font-family: 'Poppins', sans-serif; }
a { color: var(--primary); text-decoration: none; }
input,select,textarea,button { font: inherit; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 4px; }

/* ── LOGIN ─────────────────────────────────────────────────── */
.login-body { background: linear-gradient(135deg,#0f172a 0%,#1e3a5f 50%,#0f172a 100%); min-height:100vh; display:flex; align-items:center; justify-content:center; padding:1rem; }
.login-wrapper { width:100%; max-width:420px; }
.login-card { background:var(--surface); border-radius:16px; padding:2.5rem; box-shadow:var(--shadow-lg); }
.login-logo { display:flex; align-items:center; gap:.75rem; margin-bottom:1.75rem; }
.login-logo-icon { width:48px; height:48px; border-radius:10px; background:linear-gradient(135deg,#0d6efd,#6f42c1); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem; }
.login-logo-img { width:40px; height:40px; border-radius:50%; object-fit:contain; }
.login-logo-name { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.2rem; color:var(--txt); }
.login-logo-sub  { font-size:.72rem; color:var(--txt-3); }
.login-title { font-size:1.5rem; font-weight:700; margin-bottom:.3rem; }
.login-subtitle { font-size:.85rem; color:var(--txt-3); margin-bottom:1.5rem; }
.login-error { background:var(--danger-l); color:var(--danger); padding:.75rem 1rem; border-radius:8px; font-size:.85rem; margin-bottom:1rem; display:flex; gap:.5rem; align-items:center; }
.login-field { margin-bottom:1.1rem; }
.login-field label { display:block; font-size:.82rem; font-weight:600; margin-bottom:.35rem; }
.login-input-wrap { position:relative; }
.login-input-icon { position:absolute; left:.9rem; top:50%; transform:translateY(-50%); color:var(--txt-3); font-size:.9rem; }
.login-input { width:100%; padding:.78rem 1rem .78rem 2.5rem; border:1.5px solid var(--border); border-radius:8px; background:var(--surface); color:var(--txt); font-size:.92rem; transition:border-color var(--tr); }
.login-input:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(13,110,253,.12); }
.login-eye { position:absolute; right:.8rem; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--txt-3); cursor:pointer; font-size:.9rem; }
.login-btn { width:100%; padding:.85rem; background:var(--primary); color:#fff; border:none; border-radius:8px; font-family:'Poppins',sans-serif; font-weight:600; font-size:.95rem; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:.5rem; transition:background var(--tr); }
.login-btn:hover { background:var(--primary-d); }
.login-footer { margin-top:1.5rem; text-align:center; }
.login-back { font-size:.82rem; color:var(--txt-3); }

/* ── LAYOUT ────────────────────────────────────────────────── */
.admin-body { display:flex; min-height:100vh; overflow-x:hidden; width:100%; max-width:100%; }
.sidebar { width:min(var(--sidebar-w),100%); background:var(--sidebar-bg); position:fixed; top:0; left:0; bottom:0; z-index:200; display:flex; flex-direction:column; transition:transform var(--tr); overflow:hidden; }
.admin-wrapper { flex:1; margin-left:var(--sidebar-w); display:flex; flex-direction:column; min-height:100vh; transition:margin-left var(--tr); width:100%; }

/* ── SIDEBAR ───────────────────────────────────────────────── */
.sidebar-header { display:flex; align-items:center; justify-content:space-between; padding:1.25rem 1rem 1rem; border-bottom:1px solid rgba(255,255,255,.07); }
.sidebar-logo { display:flex; align-items:center; gap:.7rem; }
.sidebar-logo-icon { width:36px; height:36px; border-radius:8px; background:linear-gradient(135deg,#0d6efd,#6f42c1); display:flex; align-items:center; justify-content:center; color:#fff; font-size:.9rem; flex-shrink:0; }
.sidebar-logo-img { width:32px; height:32px; border-radius:50%; object-fit:contain; flex-shrink:0; }
.sidebar-logo-text { font-family:'Poppins',sans-serif; font-weight:800; color:#fff; font-size:.95rem; display:block; }
.sidebar-logo-sub  { font-size:.65rem; color:rgba(255,255,255,.4); display:block; }
.sidebar-close { background:none; border:none; color:rgba(255,255,255,.5); cursor:pointer; font-size:1rem; display:none; }
.sidebar-nav { flex:1; overflow-y:auto; padding:.75rem .65rem; display:flex; flex-direction:column; gap:.2rem; }
.sidebar-link { display:flex; align-items:center; gap:.75rem; padding:.68rem .9rem; border-radius:8px; color:var(--sidebar-txt); font-size:.83rem; font-weight:500; transition:all var(--tr); white-space:nowrap; position:relative; }
.sidebar-link:hover { background:rgba(255,255,255,.08); color:#fff; }
.sidebar-link--active { background:var(--sidebar-active-bg); color:var(--sidebar-active); font-weight:600; }
.sidebar-link-icon { width:18px; text-align:center; font-size:.85rem; flex-shrink:0; }
.sidebar-badge { position:absolute; right:.8rem; background:var(--danger); color:#fff; font-size:.63rem; font-weight:700; padding:.1rem .45rem; border-radius:50rem; min-width:18px; text-align:center; }
.sidebar-footer { padding:.85rem .65rem; border-top:1px solid rgba(255,255,255,.07); }
.sidebar-logout { display:flex; align-items:center; gap:.7rem; padding:.65rem .9rem; border-radius:8px; color:rgba(255,255,255,.5); font-size:.82rem; transition:all var(--tr); }
.sidebar-logout:hover { color:var(--danger); background:rgba(239,68,68,.1); }
.sidebar-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:190; }

/* ── TOPBAR ────────────────────────────────────────────────── */
.topbar { height:var(--topbar-h); background:var(--surface); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; padding:0 1.5rem; position:sticky; top:0; z-index:100; gap:1rem; box-shadow:var(--shadow); }
.topbar-left { display:flex; align-items:center; gap:.75rem; }
.topbar-toggle { width:36px; height:36px; border:none; background:none; cursor:pointer; color:var(--txt-3); border-radius:8px; display:none; align-items:center; justify-content:center; font-size:1.05rem; transition:all var(--tr); }
.topbar-toggle:hover { background:var(--primary-l); color:var(--primary); }
.topbar-right { display:flex; align-items:center; gap:.5rem; }
.topbar-icon-btn { width:38px; height:38px; border:1px solid var(--border); background:none; cursor:pointer; color:var(--txt-2); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:.9rem; position:relative; transition:all var(--tr); }
.topbar-icon-btn:hover { border-color:var(--primary); color:var(--primary); }
.notif-dot { position:absolute; top:5px; right:5px; background:var(--danger); color:#fff; font-size:.55rem; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:2px solid var(--surface); }
.topbar-admin-btn { display:flex; align-items:center; gap:.6rem; padding:.4rem .75rem; border:1px solid var(--border); border-radius:8px; background:none; cursor:pointer; transition:all var(--tr); }
.topbar-admin-btn:hover { border-color:var(--primary); }
.admin-avatar { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:.82rem; display:flex; align-items:center; justify-content:center; }
.admin-name { font-size:.8rem; font-weight:600; color:var(--txt); display:block; }
.admin-role { font-size:.68rem; color:var(--txt-3); display:block; }
.admin-chevron { font-size:.7rem; color:var(--txt-3); transition:transform var(--tr); }
.topbar-admin-menu { position:relative; }
.admin-dropdown { position:absolute; right:0; top:calc(100% + 8px); background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow-lg); min-width:200px; z-index:200; overflow:hidden; }
.admin-dropdown-item { display:flex; align-items:center; gap:.65rem; padding:.72rem 1rem; font-size:.82rem; color:var(--txt-2); transition:all var(--tr); }
.admin-dropdown-item:hover { background:var(--primary-l); color:var(--primary); }
.admin-dropdown-item--danger:hover { background:var(--danger-l); color:var(--danger); }
.admin-dropdown-sep { border:none; border-top:1px solid var(--border); margin:.3rem 0; }

/* ── BREADCRUMB ────────────────────────────────────────────── */
.topbar-breadcrumb { display:flex; align-items:center; gap:.4rem; font-size:.8rem; color:var(--txt-3); }
.breadcrumb-home { color:var(--txt-3); font-size:.85rem; }
.breadcrumb-sep  { color:var(--txt-3); font-size:.65rem; }
.breadcrumb-link { color:var(--primary); }
.breadcrumb-current { color:var(--txt-2); font-weight:600; }

/* ── FLASH ─────────────────────────────────────────────────── */
.flash-container { padding:.75rem 1.5rem 0; display:flex; flex-direction:column; gap:.5rem; }
.flash { display:flex; align-items:center; gap:.65rem; padding:.75rem 1rem; border-radius:8px; font-size:.85rem; font-weight:500; }
.flash--success { background:var(--success-l); color:var(--success); }
.flash--error   { background:var(--danger-l);  color:var(--danger); }
.flash--warning { background:var(--warning-l); color:var(--warning); }
.flash--info    { background:var(--info-l);    color:var(--info); }
.flash-close { margin-left:auto; background:none; border:none; cursor:pointer; color:inherit; font-size:.9rem; opacity:.6; }
.flash-close:hover { opacity:1; }

/* ── MAIN ──────────────────────────────────────────────────── */
.admin-main { flex:1; padding:1.5rem; display:flex; flex-direction:column; gap:1.5rem; }
.page-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.page-title { font-size:1.4rem; font-weight:700; }
.page-actions { display:flex; gap:.6rem; flex-wrap:wrap; }

/* ── KPI CARDS ─────────────────────────────────────────────── */
.kpi-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem; }
.kpi-card { background:var(--surface); border-radius:var(--radius); padding:1.25rem 1.25rem 1rem; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:.5rem; border-top:4px solid transparent; transition:transform var(--tr); }
.kpi-card:hover { transform:translateY(-2px); }
.kpi-card--primary   { border-top-color:var(--primary); }
.kpi-card--success   { border-top-color:var(--success); }
.kpi-card--warning   { border-top-color:var(--warning); }
.kpi-card--info      { border-top-color:var(--info); }
.kpi-card--secondary { border-top-color:var(--secondary); }
.kpi-card--accent    { border-top-color:var(--accent); }
.kpi-icon { font-size:1.3rem; opacity:.6; }
.kpi-card--primary   .kpi-icon { color:var(--primary); }
.kpi-card--success   .kpi-icon { color:var(--success); }
.kpi-card--warning   .kpi-icon { color:var(--warning); }
.kpi-card--info      .kpi-icon { color:var(--info); }
.kpi-card--secondary .kpi-icon { color:var(--secondary); }
.kpi-card--accent    .kpi-icon { color:var(--accent); }
.kpi-value { font-family:'Poppins',sans-serif; font-size:1.5rem; font-weight:800; color:var(--txt); line-height:1; }
.kpi-label { font-size:.75rem; color:var(--txt-3); font-weight:500; }
.kpi-link  { font-size:.75rem; color:var(--primary); margin-top:.25rem; display:flex; align-items:center; gap:.3rem; }
.kpi-row { display:flex; gap:1rem; flex-wrap:wrap; }
.kpi-mini { background:var(--surface); border-radius:var(--radius); padding:1rem 1.5rem; box-shadow:var(--shadow); }
.kpi-mini-val { font-family:'Poppins',sans-serif; font-size:1.2rem; font-weight:800; }
.kpi-mini-lbl { font-size:.72rem; color:var(--txt-3); }
.kpi-mini--success .kpi-mini-val { color:var(--success); }

/* ── SECTIONS ──────────────────────────────────────────────── */
.dashboard-section { background:var(--surface); border-radius:var(--radius); padding:1.25rem; box-shadow:var(--shadow); }
.section-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.section-head-title { font-size:.95rem; font-weight:700; display:flex; align-items:center; gap:.5rem; }
.section-head-title i { color:var(--primary); }
.btn-link { font-size:.78rem; color:var(--primary); font-weight:600; }
.dashboard-cols { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.quick-actions { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.75rem; }
.quick-btn { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:1rem; border-radius:8px; background:var(--surface-2); border:1px solid var(--border); text-decoration:none; color:var(--txt-2); font-size:.78rem; font-weight:600; transition:all var(--tr); text-align:center; }
.quick-btn:hover { background:var(--primary-l); border-color:var(--primary); color:var(--primary); }
.quick-btn i { font-size:1.3rem; }
.activity-list { display:flex; flex-direction:column; gap:.6rem; }
.activity-item { display:flex; align-items:center; gap:.75rem; font-size:.8rem; color:var(--txt-2); }
.activity-dot { width:8px; height:8px; border-radius:50%; background:var(--primary); flex-shrink:0; }
.activity-body { flex:1; }
.activity-table { color:var(--txt-3); font-style:italic; }
.activity-time { color:var(--txt-3); font-size:.72rem; white-space:nowrap; }

/* ── CAMPAIGN DASH ─────────────────────────────────────────── */
.campaign-dash { display:flex; flex-direction:column; gap:.75rem; }
.campaign-dash-title { font-weight:600; font-size:.9rem; }
.campaign-dash-nums { display:flex; gap:1rem; font-size:.8rem; color:var(--txt-3); }
.c-collected { color:var(--success); font-weight:700; }
.admin-progress { height:12px; background:var(--border); border-radius:50rem; overflow:hidden; }
.admin-progress-fill { height:100%; background:linear-gradient(90deg,var(--primary),var(--secondary)); border-radius:50rem; display:flex; align-items:center; justify-content:flex-end; transition:width 1s ease; font-size:.62rem; font-weight:700; color:#fff; padding-right:.4rem; }
.mini-progress { height:6px; background:var(--border); border-radius:50rem; overflow:hidden; width:80px; }
.mini-progress-fill { height:100%; background:var(--primary); border-radius:50rem; }

/* ── TABLES ────────────────────────────────────────────────── */
.filter-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.filter-form { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.search-wrap { position:relative; }
.search-wrap i { position:absolute; left:.8rem; top:50%; transform:translateY(-50%); color:var(--txt-3); font-size:.85rem; }
.search-input { padding:.55rem .9rem .55rem 2.2rem; border:1.5px solid var(--border); border-radius:8px; background:var(--surface); color:var(--txt); font-size:.85rem; width:240px; }
.search-input:focus { outline:none; border-color:var(--primary); }
.total-count { font-size:.8rem; color:var(--txt-3); font-weight:500; }
.filter-tabs { display:flex; gap:.25rem; background:var(--surface-2); border-radius:8px; padding:3px; }
.filter-tab { padding:.3rem .7rem; border-radius:6px; font-size:.78rem; font-weight:600; color:var(--txt-3); transition:all var(--tr); }
.filter-tab.active { background:var(--primary); color:#fff; }
.filter-tab:hover:not(.active) { color:var(--primary); }
.table-wrap { background:var(--surface); border-radius:var(--radius); box-shadow:var(--shadow); overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:.82rem; }
.admin-table th { padding:.9rem 1rem; text-align:left; font-weight:700; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--txt-3); background:var(--surface-2); border-bottom:1px solid var(--border); white-space:nowrap; }
.admin-table td { padding:.85rem 1rem; border-bottom:1px solid var(--border); color:var(--txt-2); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tr:hover td { background:var(--surface-2); }
.admin-table tr.row-new td { font-weight:600; }
.table-empty { text-align:center; color:var(--txt-3); padding:2.5rem !important; font-size:.85rem; }
.actions-cell { white-space:nowrap; }
.tbl-action { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:6px; color:var(--txt-3); border:1px solid var(--border); transition:all var(--tr); font-size:.8rem; }
.tbl-action:hover { color:var(--primary); border-color:var(--primary); background:var(--primary-l); }
.tbl-action--edit:hover   { color:var(--primary);   border-color:var(--primary);   background:var(--primary-l); }
.tbl-action--delete:hover { color:var(--danger);    border-color:var(--danger);    background:var(--danger-l); }
.tbl-action--view:hover   { color:var(--info);      border-color:var(--info);      background:var(--info-l); }
.tbl-avatar { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:.75rem; display:flex; align-items:center; justify-content:center; }
.tbl-icon   { width:32px; height:32px; border-radius:8px; background:var(--primary-l); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.table-footer-bar { margin-top:.75rem; }

/* ── BADGES & STATUSES ─────────────────────────────────────── */
.badge-admin { display:inline-flex; align-items:center; padding:.2rem .6rem; border-radius:50rem; font-size:.68rem; font-weight:700; background:var(--primary-l); color:var(--primary); white-space:nowrap; }
.badge-admin--info  { background:var(--info-l); color:var(--info); }
.badge-admin--gray  { background:var(--border); color:var(--txt-3); }
.status-badge { display:inline-flex; padding:.2rem .65rem; border-radius:50rem; font-size:.68rem; font-weight:700; }
.status-badge.status-new       { background:#dbeafe; color:#1d4ed8; }
.status-badge.status-read      { background:var(--border); color:var(--txt-3); }
.status-badge.status-replied   { background:var(--success-l); color:var(--success); }
.status-badge.status-archived  { background:var(--border); color:var(--txt-3); }
.status-badge.status-active    { background:var(--success-l); color:var(--success); }
.status-badge.status-completed { background:#e0f2fe; color:#0369a1; }
.status-badge.status-dropped   { background:var(--danger-l); color:var(--danger); }
.status-badge.status-pending   { background:var(--warning-l); color:#92400e; }
.status-badge.status-confirmed { background:var(--success-l); color:var(--success); }
.status-badge.status-cancelled { background:var(--danger-l); color:var(--danger); }
.toggle-status { display:inline-flex; padding:.22rem .7rem; border-radius:50rem; font-size:.68rem; font-weight:700; cursor:pointer; transition:all var(--tr); }
.toggle-status.active   { background:var(--success-l); color:var(--success); }
.toggle-status.inactive { background:var(--border); color:var(--txt-3); }
.status-select { font-size:.75rem; padding:.2rem .5rem; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--txt); }

/* ── FORMS ─────────────────────────────────────────────────── */
.form-card { background:var(--surface); border-radius:var(--radius); padding:1.75rem; box-shadow:var(--shadow); }
.admin-form { display:flex; flex-direction:column; gap:0; }
.form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem 1.25rem; margin-bottom:1.5rem; }
.form-group { display:flex; flex-direction:column; gap:.35rem; }
.form-group--full { grid-column:1/-1; }
.form-label { font-size:.8rem; font-weight:700; color:var(--txt-2); }
.form-control { width:100%; padding:.72rem .9rem; border:1.5px solid var(--border); border-radius:8px; background:var(--surface); color:var(--txt); font-size:.88rem; transition:all var(--tr); }
.form-control:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(13,110,253,.1); }
textarea.form-control { resize:vertical; min-height:90px; }
select.form-control { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%236b7280' d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .7rem center; background-size:11px; padding-right:2.2rem; cursor:pointer; }
.form-hint { font-size:.72rem; color:var(--txt-3); }
.checkbox-group { display:flex; flex-wrap:wrap; gap:.75rem; }
.checkbox-label { display:flex; align-items:center; gap:.4rem; font-size:.82rem; color:var(--txt-2); cursor:pointer; }
.checkbox-label input[type="checkbox"] { width:16px; height:16px; accent-color:var(--primary); }
.form-actions { display:flex; justify-content:flex-end; gap:.6rem; padding-top:1rem; border-top:1px solid var(--border); }
.text-muted { color:var(--txt-3); }

/* ── BUTTONS ───────────────────────────────────────────────── */
.btn-admin { display:inline-flex; align-items:center; justify-content:center; gap:.45em; padding:.6rem 1.1rem; border-radius:8px; font-family:'Poppins',sans-serif; font-weight:600; font-size:.82rem; line-height:1; border:1.5px solid transparent; cursor:pointer; text-decoration:none; transition:all var(--tr); white-space:nowrap; }
.btn-primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.btn-primary:hover { background:var(--primary-d); color:#fff; }
.btn-outline { background:transparent; color:var(--primary); border-color:var(--primary); }
.btn-outline:hover { background:var(--primary); color:#fff; }
.btn-ghost { background:var(--surface-2); color:var(--txt-2); border-color:var(--border); }
.btn-ghost:hover { background:var(--border); color:var(--txt); }
.btn-danger { background:var(--danger); color:#fff; border-color:var(--danger); }
.btn-danger:hover { background:#dc2626; color:#fff; }

/* ── GALLERY ADMIN ─────────────────────────────────────────── */
.gallery-admin-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem; }
.gallery-admin-item { background:var(--surface); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--border); }
.gallery-admin-item--inactive { opacity:.55; }
.gallery-admin-img { position:relative; aspect-ratio:4/3; overflow:hidden; }
.gallery-admin-img img { width:100%; height:100%; object-fit:cover; }
.gallery-admin-overlay { position:absolute; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; gap:.5rem; opacity:0; transition:opacity var(--tr); }
.gallery-admin-item:hover .gallery-admin-overlay { opacity:1; }
.gallery-admin-info { padding:.5rem .75rem; display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; }
.gallery-admin-alt { padding:0 .75rem .6rem; font-size:.72rem; color:var(--txt-3); }

/* ── FILE UPLOAD ───────────────────────────────────────────── */
.file-upload-wrap { border:2px dashed var(--border); border-radius:8px; padding:1.25rem; text-align:center; transition:all var(--tr); }
.file-upload-wrap:hover { border-color:var(--primary); background:var(--primary-l); }
.file-upload-wrap i { font-size:1.5rem; color:var(--primary); opacity:.5; display:block; margin-bottom:.5rem; }
.file-input { display:none; }
.file-label { font-size:.8rem; color:var(--primary); cursor:pointer; font-weight:600; }

/* ── IMPACT EDIT ───────────────────────────────────────────── */
.impact-edit-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; margin-bottom:1.5rem; }
.impact-edit-item { background:var(--surface-2); border:1px solid var(--border); border-radius:8px; padding:1rem; display:flex; gap:.75rem; }
.impact-edit-icon { width:38px; height:38px; border-radius:8px; background:var(--primary-l); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:.95rem; flex-shrink:0; }
.impact-edit-body { flex:1; }
.impact-input { margin-top:.4rem; font-size:1.1rem; font-weight:700; padding:.5rem .75rem; }

/* ── SETTINGS ──────────────────────────────────────────────── */
.settings-group { margin-bottom:1.75rem; }
.settings-group-title { font-size:.9rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--txt-3); margin-bottom:1rem; padding-bottom:.5rem; border-bottom:1px solid var(--border); }

/* ── MESSAGE VIEW ──────────────────────────────────────────── */
.message-header { background:var(--surface-2); border-radius:8px; padding:1.1rem 1.25rem; margin-bottom:1.25rem; }
.message-meta { display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:.6rem; }
.message-from { font-size:.88rem; font-weight:600; }
.message-phone, .message-date { font-size:.78rem; color:var(--txt-3); display:flex; align-items:center; gap:.3rem; }
.message-subject { font-size:.88rem; }
.message-body { background:var(--bg); border-radius:8px; padding:1.25rem; margin-bottom:1.25rem; font-size:.88rem; line-height:1.75; color:var(--txt-2); }
.message-actions { display:flex; gap:.6rem; flex-wrap:wrap; }

/* ── PAGINATION ────────────────────────────────────────────── */
.pagination { display:flex; gap:.35rem; justify-content:center; margin-top:1rem; flex-wrap:wrap; }
.page-link { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:7px; border:1px solid var(--border); font-size:.8rem; font-weight:600; color:var(--txt-3); background:var(--surface); transition:all var(--tr); }
.page-link.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.page-link:hover:not(.active) { border-color:var(--primary); color:var(--primary); }

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width:768px) {
  .sidebar { transform:translateX(-100%); width:min(var(--sidebar-w),100%); }
  .sidebar.open { transform:translateX(0); }
  .sidebar-close { display:flex; }
  .sidebar-overlay.show { display:block; }
  .admin-wrapper { margin-left:0; width:100%; }
  .topbar { width:100%; }
  .topbar-toggle { display:flex; }
  .dashboard-cols { grid-template-columns:1fr; }
  .admin-name, .admin-role, .admin-chevron { display:none; }
  .topbar-admin-btn { padding:.4rem; }
  .admin-main { padding:1rem; }
}
