/* ================= BASE ================= */
body{background:#f8fafc;font-family:'Inter',sans-serif;color:#1e293b;margin:0;padding:0;-webkit-font-smoothing:antialiased;}

/* ================= DASHBOARD LAYOUT ================= */
.main-container{display:flex;min-height:100vh;}
.sidebar{width:260px;min-height:100vh;background:#0f172a;padding:24px 16px;position:sticky;top:0;display:flex;flex-direction:column;}
.sidebar-logo{text-align:center;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08);}
.sidebar-logo h4{color:#ffffff;font-weight:800;margin:0;font-size:1.35rem;letter-spacing:.5px;}
.sidebar-menu{list-style:none;padding:0;margin:0;}
.sidebar-menu li{margin-bottom:12px;}
.sidebar-menu a{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#94a3b8;text-decoration:none;border-radius:8px;font-weight:500;font-size:14px;transition:all .2s ease;}
.sidebar-menu a i{width:20px;text-align:center;font-size:16px;}
.sidebar-menu a:hover{background:rgba(255,255,255,.05);color:#ffffff;}
.sidebar-menu a:hover i{color:#ffffff;}
.sidebar-menu .active a{background:#2563eb;color:#ffffff;font-weight:600;box-shadow:0 4px 12px rgba(37,99,235,.25);}
.sidebar-menu .active a i{color:#ffffff;}
.content{flex:1;padding:40px;background:#f8fafc;}

/* ================= HEADER ================= */
.navbar{background:#0f172a!important;box-shadow:0 4px 12px rgba(0,0,0,0.1);border-bottom:1px solid rgba(255,255,255,0.05);height:80px;display:flex;align-items:center;justify-content:center;padding:0 24px;position:sticky;top:0;z-index:999;}
.navbar-brand{font-weight:900;color:#ffffff!important;font-size:1.75rem;letter-spacing:-1px;text-align:center;width:100%;}

/* ================= PAGE HEADER ================= */
.page-header{text-align:center;margin-bottom:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.page-header h2{font-weight:900;color:#0f172a;margin:0;font-size:2.25rem;letter-spacing:-1px;}
.page-header p{margin:0;color:#64748b;font-size:15px;font-weight:500;}

/* ================= CARDS ================= */
.card{border:1px solid #e2e8f0;border-radius:12px;background:#ffffff;box-shadow:0 4px 6px -1px rgba(0,0,0,0.02),0 2px 4px -1px rgba(0,0,0,0.01);overflow:hidden;margin-bottom:24px;}
.card-header{background:#ffffff;border-bottom:1px solid #e2e8f0;padding:20px 24px;font-weight:800;color:#0f172a;font-size:1.1rem;letter-spacing:-0.3px;}
.card-body{padding:24px;}

/* ================= TABLE DESIGN ================= */
.table{margin:0;border-collapse:separate;border-spacing:0 12px;}
.table thead{background:#0f172a;}
.table thead th{background:#0f172a!important;color:#ffffff!important;border:none!important;padding:18px 16px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.75px;}
.table thead th:first-child{border-radius:8px 0 0 8px;}
.table thead th:last-child{border-radius:0 8px 8px 0;}
.table tbody tr{background:#ffffff;box-shadow:0 2px 6px rgba(15,23,42,0.02);border-radius:8px;transition:all .2s ease;}
.table tbody tr:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 4px 8px rgba(15,23,42,0.04);}
.table tbody td{padding:18px 16px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;vertical-align:middle;color:#1e293b;font-size:14px;font-weight:500;}
.table tbody td:first-child{border-left:1px solid #e2e8f0;border-radius:8px 0 0 8px;padding-left:20px;}
.table tbody td:last-child{border-right:1px solid #e2e8f0;border-radius:0 8px 8px 0;padding-right:20px;}
.table img{width:68px;height:40px;object-fit:cover;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.04);}

/* ================= BADGES ================= */
.badge{padding:6px 12px;border-radius:100px;font-size:12px;font-weight:600;display:inline-block;}
.bg-success{background:#dcfce7!important;color:#15803d!important;}
.bg-danger{background:#fee2e2!important;color:#b91c1c!important;}
.bg-secondary{background:#f1f5f9!important;color:#475569!important;}

/* ================= BUTTONS ================= */
.btn{border-radius:8px;font-weight:600;font-size:14px;padding:10px 18px;transition:all .2s ease;}
.btn-primary{background:#2563eb!important;border-color:#2563eb!important;color:#ffffff!important;box-shadow:0 4px 10px rgba(37,99,235,0.15);}
.btn-primary:hover{background:#1d4ed8!important;border-color:#1d4ed8!important;box-shadow:0 6px 14px rgba(37,99,235,0.2);}
.btn-warning{background:#f59e0b!important;border:none!important;color:#ffffff!important;}
.btn-warning:hover{background:#d97706!important;}
.btn-danger{background:#dc2626!important;border:none!important;color:#ffffff!important;}
.btn-danger:hover{background:#b91c1c!important;}
.btn-secondary{background:#64748b!important;border:none!important;color:#ffffff!important;}
.btn-secondary:hover{background:#475569!important;}

/* ================= FORMS ================= */
.form-label{font-weight:600;color:#0f172a;margin-bottom:8px;font-size:14px;display:inline-block;}
.form-control{border:1px solid #cbd5e1;border-radius:8px;padding:12px 16px;font-size:14px;background:#ffffff;color:#1e293b;transition:all .2s ease;outline:none;margin-bottom:12px;}
.form-control:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);}
.form-select{border:1px solid #cbd5e1;border-radius:8px;padding:12px 16px;font-size:14px;background:#ffffff;color:#1e293b;transition:all .2s ease;outline:none;margin-bottom:12px;}
.form-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);}
textarea.form-control{resize:none;}

/* ================= MODALS ================= */
.modal-content{border:none;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.2);background:#ffffff;}
.modal-header{padding:24px;border-bottom:1px solid #e2e8f0;}
.modal-body{padding:24px;}
.modal-footer{border-top:1px solid #e2e8f0;background:#f8fafc;padding:20px 24px;}
.modal-title{font-weight:800;color:#0f172a;font-size:1.3rem;letter-spacing:-0.3px;}

/* ================= IMAGE PREVIEW ================= */
#image_preview_area img{max-width:120px;border-radius:8px;border:1px solid #e2e8f0;padding:4px;background:#ffffff;}

/* ================= AUTH MODULE ================= */
.auth-container{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;background:#f1f5f9;padding:24px;}
.auth-box{width:100%;max-width:420px;background:#ffffff;padding:40px;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 20px 25px -5px rgba(0,0,0,0.03);animation:fadeIn .45s ease-in-out;}
.auth-box h1,.auth-box h2{text-align:center;color:#0f172a;font-weight:900;margin-bottom:28px;font-size:2rem;letter-spacing:-1px;}
.auth-box input{width:100%;padding:12px 14px;margin-bottom:16px;border:1px solid #cbd5e1;border-radius:8px;outline:none;font-size:14px;transition:all .2s ease;}
.auth-box input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);}
.auth-box button{width:100%;padding:12px 18px;border:none;background:#2563eb;color:#ffffff;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 4px 12px rgba(37,99,235,0.15);transition:background .2s ease;}
.auth-box button:hover{background:#1d4ed8;}
.auth-box a{display:block;text-align:center;text-decoration:none;color:#2563eb;margin-top:20px;font-size:14px;font-weight:600;}
.auth-box a:hover{text-decoration:underline;color:#1d4ed8;}

/* ================= FOOTER ================= */
footer{background:#0f172a;padding:24px;text-align:center;color:#94a3b8;font-size:14px;font-weight:500;border-top:1px solid rgba(255,255,255,0.05);letter-spacing:0.3px;}

/* ================= SCROLLBAR ================= */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:#f8fafc;}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:20px;}
::-webkit-scrollbar-thumb:hover{background:#94a3b8;}

/* ================= ANIMATIONS ================= */
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

