/* TrustVerify — Admin Panel CSS | bgv.aisecops.in */

:root{
  --sidebar-w: 236px;
  --topbar-h: 52px;
}

/* ── Layout ─────────────────────────────────────────────────────── */
.admin-body{background:var(--surface-2);overflow-x:hidden;}
.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:var(--blue-900);display:flex;flex-direction:column;z-index:200;overflow-y:auto;transition:transform .25s;}
.admin-main{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column;}
.admin-topbar{height:var(--topbar-h);background:var(--surface);border-bottom:0.5px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:100;}
.admin-content{flex:1;padding:24px 24px;}

/* ── Sidebar ────────────────────────────────────────────────────── */
.sidebar-brand{padding:16px 16px 12px;border-bottom:0.5px solid rgba(255,255,255,0.08);flex-shrink:0;}
.admin-logo-icon{width:30px;height:30px;background:rgba(255,255,255,0.1);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sidebar-nav{padding:10px 0;flex:1;}
.sidebar-section{font-size:10px;font-weight:700;color:rgba(255,255,255,0.3);letter-spacing:1px;padding:12px 16px 5px;text-transform:uppercase;}
.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;color:rgba(255,255,255,0.65);transition:all .15s;position:relative;}
.sidebar-link:hover{color:white;background:rgba(255,255,255,0.07);}
.sidebar-link.active{color:white;background:rgba(55,138,221,0.25);border-right:3px solid var(--blue-500);}
.sicon{font-size:15px;width:20px;text-align:center;flex-shrink:0;}
.sidebar-badge{background:var(--red-700);color:white;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:auto;}
.sidebar-footer{padding:14px 16px;border-top:0.5px solid rgba(255,255,255,0.08);}
.admin-info{display:flex;align-items:center;gap:10px;}
.admin-avatar{width:34px;height:34px;border-radius:50%;background:var(--blue-500);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:white;flex-shrink:0;}
.sidebar-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:4px 8px;}

@media(max-width:900px){
  .admin-sidebar{transform:translateX(-100%);}
  .admin-sidebar.open{transform:translateX(0);}
  .admin-main{margin-left:0;}
  .sidebar-toggle{display:block;}
}

/* ── Topbar ──────────────────────────────────────────────────────── */
.topbar-title{font-size:14px;color:var(--text-secondary);font-weight:500;}

/* ── Stats grid ─────────────────────────────────────────────────── */
.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:24px;}
.stat-tile{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden;}
.stat-tile::after{content:attr(data-icon);position:absolute;right:12px;bottom:8px;font-size:28px;opacity:0.12;}
.stat-tile .label{font-size:11.5px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:0.4px;}
.stat-tile .value{font-size:28px;font-weight:800;color:var(--blue-900);line-height:1.1;margin-top:5px;}
.stat-tile .sub{font-size:11px;color:var(--text-muted);margin-top:3px;}
.stat-tile.blue .value{color:var(--blue-700);}
.stat-tile.green .value{color:var(--teal-700);}
.stat-tile.amber .value{color:var(--amber-700);}
.stat-tile.red .value{color:var(--red-700);}
.stat-tile.purple .value{color:#534AB7;}

/* ── Cards ───────────────────────────────────────────────────────── */
.admin-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:20px;}
.admin-card-title{font-size:15px;font-weight:700;color:var(--blue-900);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:8px;}

/* ── Case item update panel ─────────────────────────────────────── */
.item-panel{border:0.5px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;transition:box-shadow .15s;}
.item-panel:hover{box-shadow:0 2px 10px rgba(24,95,165,0.1);}
.item-panel .item-name{font-size:14px;font-weight:600;color:var(--text-primary);}
.item-panel .item-meta{font-size:12px;color:var(--text-muted);margin-top:2px;}
.item-panel .item-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}

/* ── Payments queue ─────────────────────────────────────────────── */
.pay-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:0.5px solid var(--border);}
.pay-row:last-child{border-bottom:none;}
.pay-row.urgent{background:rgba(163,45,45,0.04);}
.pay-details{font-size:13px;}
.pay-ref{font-weight:600;color:var(--text-primary);}
.pay-user{color:var(--text-muted);margin-top:2px;}
.pay-amount{font-size:16px;font-weight:700;color:var(--teal-700);}

/* ── Audit log ───────────────────────────────────────────────────── */
.audit-row td{font-size:12.5px;}
.audit-action{font-family:monospace;font-size:11.5px;color:var(--blue-700);background:var(--blue-50);padding:2px 6px;border-radius:4px;}
.audit-admin{font-weight:600;}

/* ── Error log ───────────────────────────────────────────────────── */
.err-level-ERROR td:first-child{border-left:3px solid var(--red-700);}
.err-level-WARNING td:first-child{border-left:3px solid var(--amber-500);}
.err-level-NOTICE td:first-child{border-left:3px solid var(--blue-200);}
.err-file{font-family:monospace;font-size:11px;color:var(--text-muted);}
.err-msg{font-size:12.5px;max-width:400px;word-break:break-word;}

/* ── Role badges ─────────────────────────────────────────────────── */
.role-super_admin{background:var(--blue-900)!important;color:white!important;}
.role-manager{background:var(--blue-700)!important;color:white!important;}
.role-operator{background:var(--teal-500)!important;color:white!important;}
.role-auditor{background:#534AB7!important;color:white!important;}

/* ── SLA breach highlight ────────────────────────────────────────── */
tr.sla-breach td{background:#fff5f5!important;}
tr.sla-breach td:first-child{border-left:3px solid var(--red-700);}
.sla-due{color:var(--red-700);font-weight:600;}
.sla-ok{color:var(--teal-700);}

/* ── Urgent pulse animation ──────────────────────────────────────── */
.pay-urgent{animation:pulse 1.8s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.65}}

/* ── Confirm modal ───────────────────────────────────────────────── */
.confirm-modal{text-align:center;}
.confirm-modal .confirm-icon{font-size:40px;margin-bottom:12px;}
.confirm-modal .confirm-title{font-size:17px;font-weight:700;color:var(--blue-900);margin-bottom:6px;}
.confirm-modal .confirm-desc{font-size:13.5px;color:var(--text-secondary);margin-bottom:20px;}

/* ── Filter bar ──────────────────────────────────────────────────── */
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px;padding:14px 16px;background:var(--surface-2);border-radius:var(--radius);border:0.5px solid var(--border);}
.filter-bar select,.filter-bar input{padding:7px 10px;font-size:13px;border:0.5px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-primary);}
.filter-bar select:focus,.filter-bar input:focus{outline:none;border-color:var(--blue-500);}

/* ── Print ───────────────────────────────────────────────────────── */
@media print{
  .admin-sidebar,.admin-topbar,.btn,.filter-bar,#flash-area{display:none!important;}
  .admin-main{margin-left:0!important;}
  .admin-content{padding:0!important;}
  body::before{content:'TrustVerify — CONFIDENTIAL — bgv.aisecops.in';display:block;text-align:center;font-size:11px;color:#888;padding:6px;}
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media(max-width:600px){
  .admin-stats{grid-template-columns:1fr 1fr;}
  .admin-content{padding:16px;}
  .admin-card{padding:14px 16px;}
}
