/* ===== ADMIN BASE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
body.admin-body{font-family:-apple-system,'Segoe UI',Roboto,sans-serif;
                background:#f1f5f9;color:#111827;display:flex;min-height:100vh;}
a{text-decoration:none;color:inherit;}
:root{--blue:#1e3a8a;--blue-light:#3b82f6;--green:#10b981;--red:#dc2626;}

/* ===== LOGIN PAGE ===== */
.admin-login-page{display:flex;align-items:center;justify-content:center;
                  min-height:100vh;background:linear-gradient(135deg,#1e3a8a,#3b82f6);}
.login-box{background:#fff;padding:45px 40px;border-radius:20px;
           box-shadow:0 25px 50px -12px rgba(0,0,0,.4);width:100%;max-width:400px;}
.login-logo{font-size:3rem;text-align:center;margin-bottom:15px;}
.login-box h1{text-align:center;color:var(--blue);font-size:1.5rem;margin-bottom:5px;}
.login-sub{text-align:center;color:#6b7280;font-size:.9rem;margin-bottom:25px;}
.login-box label{display:block;font-weight:600;color:#374151;margin-bottom:15px;font-size:.9rem;}
.login-box input{width:100%;padding:12px 15px;border:2px solid #e5e7eb;border-radius:10px;
                 margin-top:6px;font-size:.95rem;outline:none;transition:.2s;}
.login-box input:focus{border-color:var(--blue-light);}
.login-footer{text-align:center;font-size:.8rem;color:#9ca3af;margin-top:20px;}

/* ===== SIDEBAR ===== */
.admin-sidebar{width:250px;background:#0f172a;color:#cbd5e1;padding:20px 0;
                position:fixed;top:0;bottom:0;left:0;overflow-y:auto;z-index:100;}
.sidebar-logo{padding:0 20px 20px;font-size:1.1rem;font-weight:800;color:#fff;
              border-bottom:1px solid #1e293b;margin-bottom:15px;}
.sidebar-nav{display:flex;flex-direction:column;}
.sidebar-nav a{padding:11px 20px;color:#cbd5e1;font-weight:600;font-size:.88rem;
                transition:.2s;display:flex;align-items:center;gap:10px;
                border-left:3px solid transparent;}
.sidebar-nav a:hover{background:#1e293b;color:#fff;}
.sidebar-nav a.active{background:#1e293b;color:#60a5fa;border-left-color:#3b82f6;}
.sidebar-nav a.logout{margin-top:20px;color:#fca5a5;border-top:1px solid #1e293b;padding-top:15px;}
.sidebar-nav a.logout:hover{color:#fecaca;}

/* Sidebar section headers */
.sidebar-nav div.sidebar-section {
    padding: 14px 20px 6px;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-top: 1px solid #1e293b;
    margin-top: 12px;
}
.sidebar-nav div.sidebar-section:first-of-type {
    border-top: none;
    margin-top: 0;
}

/* ===== MAIN ===== */
.admin-main{margin-left:250px;flex:1;display:flex;flex-direction:column;min-height:100vh;}
.admin-topbar{background:#fff;padding:18px 30px;display:flex;justify-content:space-between;
              align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.05);
              position:sticky;top:0;z-index:50;}
.admin-content{padding:30px;flex:1;}
.admin-footer{padding:20px 30px;text-align:center;color:#64748b;font-size:.85rem;
              border-top:1px solid #e2e8f0;background:#fff;}

/* ===== DASHBOARD STATS ===== */
.page-title{color:var(--blue);font-size:1.7rem;margin-bottom:25px;display:flex;align-items:center;gap:10px;}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;}
.stat-card{background:#fff;padding:22px;border-radius:14px;display:flex;align-items:center;gap:18px;
            box-shadow:0 4px 15px -5px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s;}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px -8px rgba(0,0,0,.15);}
.stat-icon{width:55px;height:55px;border-radius:12px;display:flex;align-items:center;
           justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0;}
.stat-value{font-size:1.8rem;font-weight:900;color:var(--blue);line-height:1.1;}
.stat-label{font-size:.85rem;color:#64748b;}
.quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}

/* ===== TABLES ===== */
.admin-table{width:100%;background:#fff;border-radius:14px;overflow:hidden;
              box-shadow:0 4px 15px -5px rgba(0,0,0,.08);border-collapse:collapse;}
.admin-table th{background:#f1f5f9;padding:14px;text-align:left;font-size:.82rem;
                 color:#475569;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.admin-table td{padding:14px;border-top:1px solid #f1f5f9;font-size:.9rem;vertical-align:middle;}
.admin-table tr:hover{background:#f8fafc;}
.actions{display:flex;gap:8px;}
.btn-icon{padding:6px 10px;border-radius:8px;background:#e0e7ff;font-size:1rem;cursor:pointer;border:none;}
.btn-icon:hover{background:#c7d2fe;}
.btn-icon.btn-danger{background:#fee2e2;}
.btn-icon.btn-danger:hover{background:#fecaca;}

/* ===== FORMS ===== */
.admin-form{background:#fff;padding:30px;border-radius:14px;box-shadow:0 4px 15px -5px rgba(0,0,0,.08);}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px;}
.form-grid-3{display:grid;grid-template-columns:100px 1fr 2fr;gap:12px;}
.form-card{background:#f8fafc;padding:22px;border-radius:12px;margin-bottom:20px;}
.form-card h3{color:var(--blue);margin-bottom:15px;font-size:1.05rem;
              padding-bottom:10px;border-bottom:1px solid #e2e8f0;}
.admin-form label{display:block;font-weight:600;color:#374151;margin-bottom:15px;font-size:.88rem;}
.admin-form input[type=text],.admin-form input[type=number],.admin-form input[type=url],
.admin-form input[type=email],.admin-form input[type=password],.admin-form input[type=date],
.admin-form select,.admin-form textarea{
    width:100%;padding:10px 14px;border:2px solid #e2e8f0;border-radius:10px;
    font-size:.92rem;font-family:inherit;margin-top:6px;outline:none;transition:.2s;background:#fff;}
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{
    border-color:var(--blue-light);box-shadow:0 0 0 3px rgba(59,130,246,.1);}
.admin-form textarea{resize:vertical;min-height:60px;}
.admin-form input[type=file]{width:100%;padding:8px;border:2px dashed #cbd5e1;
                              border-radius:10px;background:#f8fafc;margin-top:6px;cursor:pointer;}
.admin-form input[type=file]:hover{border-color:var(--blue-light);background:#eff6ff;}
.admin-form input[type=checkbox]{width:auto;margin-right:8px;transform:scale(1.2);}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
     padding:11px 22px;border-radius:50px;font-weight:700;font-size:.9rem;
     border:none;cursor:pointer;transition:.2s;text-decoration:none;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;
              box-shadow:0 8px 20px -8px #1e3a8a;}
.btn-success{background:linear-gradient(135deg,#059669,#10b981);color:#fff;}
.btn-outline{background:#fff;border:2px solid var(--blue);color:var(--blue);}
.btn-outline:hover{background:var(--blue);color:#fff;}
.btn-block{width:100%;justify-content:center;}
.btn-large{padding:14px 30px;font-size:1rem;}
.btn-sm{padding:7px 14px;font-size:.8rem;}

/* ===== REPEAT ROWS (Feature/Spec/FAQ) ===== */
.repeat-row{background:#fff;padding:18px;border-radius:12px;margin-bottom:15px;border:1px solid #e2e8f0;}
.row-header{display:flex;justify-content:space-between;align-items:center;
            margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed #cbd5e1;}
.row-header strong{color:var(--blue);}
.btn-remove{background:#fee2e2;color:#991b1b;border:none;padding:5px 12px;
            border-radius:8px;font-size:.82rem;cursor:pointer;font-weight:600;text-decoration:none;
            display:inline-block;}
.btn-remove:hover{background:#fecaca;}

/* ===== GALLERY MANAGE ===== */
.gallery-manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
                     gap:12px;margin-bottom:15px;}
.gallery-manage-item{position:relative;aspect-ratio:1;border-radius:10px;
                     overflow:hidden;background:#f3f4f6;}
.gallery-manage-item img{width:100%;height:100%;object-fit:cover;}
.gallery-manage-item .btn-remove{position:absolute;top:5px;right:5px;
                                  padding:4px 8px;font-size:.75rem;border-radius:50%;}

/* ===== UTILS ===== */
.page-header-flex{display:flex;justify-content:space-between;align-items:center;
                   margin-bottom:25px;flex-wrap:wrap;gap:15px;}
.alert{padding:14px 20px;border-radius:10px;margin-bottom:20px;font-weight:600;font-size:.9rem;}
.alert-success{background:#dcfce7;color:#065f46;border-left:4px solid #10b981;}
.alert-danger{background:#fee2e2;color:#991b1b;border-left:4px solid #dc2626;}
.alert-info{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6;}
.alert-warning{background:#fef3c7;color:#92400e;border-left:4px solid #f59e0b;}

/* ===== LIVE PULSE ===== */
@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .5; transform: scale(1.3); }
}
.live-dot{display:inline-block;width:10px;height:10px;background:#10b981;
          border-radius:50%;margin-left:8px;animation:pulse 1.5s infinite;}

/* ===== FUNNEL BARS ===== */
.funnel-bar{background:#f1f5f9;height:30px;border-radius:15px;overflow:hidden;margin-bottom:6px;}
.funnel-bar-inner{height:100%;transition:width 1s;}

/* ===== STATUS BADGES ===== */
.badge{padding:3px 10px;border-radius:20px;font-weight:700;font-size:.78rem;display:inline-block;}
.badge-success{background:#dcfce7;color:#065f46;}
.badge-danger{background:#fee2e2;color:#991b1b;}
.badge-warning{background:#fef3c7;color:#92400e;}
.badge-info{background:#dbeafe;color:#1e40af;}

/* ===== RESPONSIVE ===== */
@media (max-width:1023px){
    .admin-sidebar{width:100%;position:fixed;bottom:auto;top:0;height:auto;
                    max-height:50vh;overflow-y:auto;padding:12px 0;}
    .sidebar-logo{padding:0 15px 12px;font-size:1rem;}
    .sidebar-nav{flex-direction:row;flex-wrap:wrap;overflow-x:auto;gap:4px;padding:0 10px;}
    .sidebar-nav a{white-space:nowrap;padding:8px 12px;font-size:.78rem;border-left:none;}
    .sidebar-nav div.sidebar-section{display:none;}
    .admin-main{margin-left:0;margin-top:auto;padding-top:0;}
    .admin-content{padding:20px 15px;}
}

@media (max-width:640px){
    .stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .stat-card{padding:14px;gap:10px;}
    .stat-icon{width:42px;height:42px;font-size:1.2rem;}
    .stat-value{font-size:1.3rem;}
    .stat-label{font-size:.72rem;}
    .form-grid-2{grid-template-columns:1fr;}
    .form-grid-3{grid-template-columns:1fr;}
    .admin-content{padding:15px 12px;}
    .page-title{font-size:1.3rem;}
    .form-card{padding:16px;}
    .admin-form{padding:18px;}
}