/* ═══════════════════════════════════════════════════════════════
   Admin Panel Stylesheet
   ═══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@500;600;700&display=swap');

:root{--admin-sidebar:260px;--admin-primary:#1B4D8E;--admin-dark:#0F2D54;--admin-surface:#F1F5F9;--admin-card:#fff;--admin-text:#1E293B;--admin-muted:#64748B;--admin-border:#E2E8F0;--admin-danger:#DC2626;--admin-success:#16A34A;--admin-warning:#F59E0B;--admin-radius:10px;--admin-shadow:0 2px 12px rgba(0,0,0,.08);--admin-transition:.25s ease}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body.admin-body{font-family:'Inter',sans-serif;background:var(--admin-surface);color:var(--admin-text);min-height:100vh}

/* ─── Login Page ─────────────────────────────────────────────── */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--admin-dark),var(--admin-primary));padding:20px}
.login-card{background:var(--admin-card);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);width:100%;max-width:420px;padding:48px 40px}
.login-card .logo{text-align:center;margin-bottom:32px}
.login-card .logo-icon{width:64px;height:64px;margin:0 auto 16px;background:linear-gradient(135deg,var(--admin-primary),#2A6BC7);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem;font-weight:800;font-family:'Poppins',sans-serif}
.login-card h2{font-family:'Poppins',sans-serif;font-size:1.5rem;color:var(--admin-dark);margin-bottom:4px}
.login-card .subtitle{color:var(--admin-muted);font-size:.9rem}
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:.9rem;color:var(--admin-text)}
.form-control{width:100%;padding:12px 16px;border:2px solid var(--admin-border);border-radius:var(--admin-radius);font-size:.95rem;font-family:inherit;transition:var(--admin-transition);background:var(--admin-surface)}
.form-control:focus{outline:none;border-color:var(--admin-primary);background:#fff;box-shadow:0 0 0 3px rgba(27,77,142,.1)}
.form-control::placeholder{color:#94A3B8}
.input-icon{position:relative}
.input-icon i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--admin-muted);font-size:.9rem}
.input-icon .form-control{padding-left:42px}
.btn-login{width:100%;padding:14px;background:var(--admin-primary);color:#fff;border:none;border-radius:var(--admin-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--admin-transition);font-family:inherit}
.btn-login:hover{background:#2A6BC7;transform:translateY(-1px);box-shadow:0 4px 15px rgba(27,77,142,.3)}

/* ─── Admin Layout ───────────────────────────────────────────── */
.admin-wrapper{display:flex;min-height:100vh}

/* Sidebar */
.admin-sidebar{width:var(--admin-sidebar);background:var(--admin-dark);color:#fff;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:100;transition:var(--admin-transition)}
.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px}
.sidebar-header .s-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--admin-primary),#2A6BC7);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex-shrink:0}
.sidebar-header .s-text{font-size:.9rem;font-weight:600;line-height:1.3}
.sidebar-header .s-text small{display:block;font-weight:400;font-size:.72rem;opacity:.6}
.sidebar-nav{padding:16px 12px}
.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:8px;color:rgba(255,255,255,.7);font-size:.88rem;font-weight:500;transition:var(--admin-transition);margin-bottom:2px;text-decoration:none}
.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar-nav a.active{background:var(--admin-primary);color:#fff}
.sidebar-nav a i{width:20px;text-align:center;font-size:.9rem}
.sidebar-divider{height:1px;background:rgba(255,255,255,.08);margin:12px 16px}
.sidebar-label{padding:8px 16px;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.35);font-weight:600}

/* Main Content */
.admin-main{margin-left:var(--admin-sidebar);flex:1;min-height:100vh}

/* Top Bar */
.admin-topbar{background:var(--admin-card);padding:0 28px;height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--admin-border);position:sticky;top:0;z-index:50}
.admin-topbar h3{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:600;color:var(--admin-dark)}
.admin-topbar-right{display:flex;align-items:center;gap:16px}
.admin-topbar-right .admin-name{font-size:.88rem;font-weight:500;color:var(--admin-muted)}
.admin-topbar-right .btn-logout{padding:8px 18px;background:var(--admin-surface);color:var(--admin-text);border-radius:8px;font-size:.82rem;font-weight:500;text-decoration:none;transition:var(--admin-transition);display:flex;align-items:center;gap:6px}
.admin-topbar-right .btn-logout:hover{background:var(--admin-danger);color:#fff}
.sidebar-toggle{display:none;background:none;border:none;font-size:1.3rem;color:var(--admin-text);cursor:pointer;padding:8px}

/* Content Area */
.admin-content{padding:28px}

/* Dashboard Cards */
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px}
.dash-card{background:var(--admin-card);border-radius:var(--admin-radius);padding:24px;box-shadow:var(--admin-shadow);display:flex;align-items:center;gap:16px;transition:var(--admin-transition);border:1px solid var(--admin-border)}
.dash-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.dash-card-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.dash-card-icon.blue{background:rgba(27,77,142,.1);color:var(--admin-primary)}
.dash-card-icon.green{background:rgba(22,163,74,.1);color:var(--admin-success)}
.dash-card-icon.orange{background:rgba(245,158,11,.1);color:var(--admin-warning)}
.dash-card-icon.red{background:rgba(220,38,38,.1);color:var(--admin-danger)}
.dash-card-info h4{font-size:1.6rem;font-weight:700;color:var(--admin-dark);font-family:'Poppins',sans-serif}
.dash-card-info p{font-size:.82rem;color:var(--admin-muted)}

/* Data Tables */
.admin-table-wrap{background:var(--admin-card);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);overflow:hidden;border:1px solid var(--admin-border)}
.admin-table-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--admin-border);flex-wrap:wrap;gap:12px}
.admin-table-header h4{font-family:'Poppins',sans-serif;font-size:1.05rem}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th{padding:12px 16px;text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:var(--admin-muted);background:var(--admin-surface);font-weight:600;border-bottom:1px solid var(--admin-border);white-space:nowrap}
.admin-table td{padding:12px 16px;font-size:.9rem;border-bottom:1px solid var(--admin-border);vertical-align:middle}
.admin-table tr:hover td{background:rgba(27,77,142,.02)}
.admin-table img.thumb{width:48px;height:48px;border-radius:8px;object-fit:cover}
.table-responsive{overflow-x:auto}

/* Admin Buttons */
.btn-admin{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;font-size:.82rem;font-weight:600;transition:var(--admin-transition);cursor:pointer;border:none;text-decoration:none;font-family:inherit}
.btn-admin-primary{background:var(--admin-primary);color:#fff}
.btn-admin-primary:hover{background:#2A6BC7;color:#fff}
.btn-admin-danger{background:var(--admin-danger);color:#fff}
.btn-admin-danger:hover{background:#B91C1C}
.btn-admin-sm{padding:6px 12px;font-size:.78rem}
.btn-admin-outline{background:transparent;border:1.5px solid var(--admin-border);color:var(--admin-text)}
.btn-admin-outline:hover{border-color:var(--admin-primary);color:var(--admin-primary)}

/* Forms */
.admin-form{background:var(--admin-card);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);padding:28px;border:1px solid var(--admin-border)}
.admin-form h4{font-family:'Poppins',sans-serif;margin-bottom:20px;font-size:1.05rem;padding-bottom:12px;border-bottom:1px solid var(--admin-border)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
textarea.form-control{resize:vertical;min-height:100px}
.file-upload{border:2px dashed var(--admin-border);border-radius:var(--admin-radius);padding:32px;text-align:center;cursor:pointer;transition:var(--admin-transition);background:var(--admin-surface)}
.file-upload:hover{border-color:var(--admin-primary);background:rgba(27,77,142,.02)}
.file-upload i{font-size:2rem;color:var(--admin-muted);margin-bottom:8px}
.file-upload p{font-size:.85rem;color:var(--admin-muted)}
.file-preview{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.file-preview img{width:80px;height:80px;object-fit:cover;border-radius:8px;border:2px solid var(--admin-border)}

/* Badge */
.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:50px;font-size:.72rem;font-weight:600}
.badge-active{background:#DCFCE7;color:#166534}
.badge-inactive{background:#FEE2E2;color:#991B1B}

/* Toast */
.toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast{padding:14px 20px;border-radius:var(--admin-radius);background:var(--admin-card);box-shadow:0 8px 30px rgba(0,0,0,.15);display:flex;align-items:center;gap:10px;font-size:.9rem;animation:slideIn .3s ease;min-width:280px;border-left:4px solid}
.toast-success{border-color:var(--admin-success)}
.toast-error{border-color:var(--admin-danger)}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.active{display:flex}
.modal{background:var(--admin-card);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.2);max-width:480px;width:100%;padding:32px;text-align:center}
.modal h4{font-family:'Poppins',sans-serif;margin-bottom:12px}
.modal p{color:var(--admin-muted);font-size:.92rem;margin-bottom:24px}
.modal-actions{display:flex;gap:12px;justify-content:center}

/* ─── Responsive ─────────────────────────────────────────────── */
@media(max-width:768px){
  .admin-sidebar{transform:translateX(-100%)}
  .admin-sidebar.open{transform:translateX(0)}
  .admin-main{margin-left:0}
  .sidebar-toggle{display:block}
  .admin-content{padding:16px}
  .dash-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .login-card{padding:36px 24px}
  .admin-table-header{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .dash-grid{grid-template-columns:1fr}
}
