@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:400;src:url(../fonts/poppins-v24-latin-regular.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:500;src:url(../fonts/poppins-v24-latin-500.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:600;src:url(../fonts/poppins-v24-latin-600.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:700;src:url(../fonts/poppins-v24-latin-700.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Inter';font-style:normal;font-weight:300;src:url(../fonts/inter-v20-latin-300.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Inter';font-style:normal;font-weight:400;src:url(../fonts/inter-v20-latin-regular.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Inter';font-style:normal;font-weight:500;src:url(../fonts/inter-v20-latin-500.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Inter';font-style:normal;font-weight:600;src:url(../fonts/inter-v20-latin-600.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Inter';font-style:normal;font-weight:700;src:url(../fonts/inter-v20-latin-700.woff2) format('woff2')}:root{--primary-color:#0d6efd;--secondary-color:#6c757d;--success-color:#198754;--danger-color:#dc3545;--warning-color:#ffc107;--info-color:#0dcaf0;--light-color:#f8f9fa;--dark-color:#212529;--font-family-base:'Inter', sans-serif;--font-family-headings:'Poppins', sans-serif;--header-bg-color:#0d6efd;--app-bg-color:#ffffff;--font-size-base:16px;--sidebar-width:260px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:1.6;color:var(--dark-color);background-color:var(--app-bg-color);min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-headings);font-weight:600}main{flex:1}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:linear-gradient(180deg,var(--header-bg-color) 0%,#0a58ca 100%);padding:0;z-index:1000;overflow-y:auto;overflow-x:hidden;box-shadow:2px 0 10px rgb(0 0 0 / .1);display:flex;flex-direction:column}.sidebar-header{padding:20px;border-bottom:1px solid rgb(255 255 255 / .1)}.sidebar-logo{max-width:150px;height:auto;display:block;margin:0 auto}.sidebar .nav{flex:1}.sidebar .nav-link{color:rgb(255 255 255 / .85);padding:12px 20px;margin:4px 8px;border-radius:8px;transition:all 0.3s ease;display:flex;align-items:center;font-size:.95rem;text-decoration:none}.sidebar .nav-link:hover{background-color:rgb(255 255 255 / .15);color:#fff;transform:translateX(5px)}.sidebar .nav-link.active{background-color:rgb(255 255 255 / .25);color:#fff;font-weight:600;box-shadow:0 2px 8px rgb(0 0 0 / .2)}.sidebar .nav-link i,.sidebar .nav-link svg{width:20px;text-align:center;font-size:1.1rem;flex-shrink:0}.sidebar .nav-link span{margin-left:10px}.sidebar-divider{border-color:rgb(255 255 255 / .2);margin:15px 20px}.sidebar-footer{margin-top:auto;padding:20px;border-top:1px solid rgb(255 255 255 / .1)}.content-with-sidebar{margin-left:var(--sidebar-width);padding:20px;min-height:calc(100vh - 60px)}.footer-with-sidebar{margin-left:var(--sidebar-width)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:rgb(255 255 255 / .05)}.sidebar::-webkit-scrollbar-thumb{background:rgb(255 255 255 / .3);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:rgb(255 255 255 / .5)}.navbar{box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:12px 0}.navbar-top{background-color:var(--header-bg-color)!important;box-shadow:0 2px 4px rgb(0 0 0 / .1)}.navbar-brand{font-size:20px;font-weight:600}.nav-link{font-weight:500;padding:8px 16px!important;border-radius:6px;transition:all 0.3s ease}.navbar-top .nav-link{color:rgb(255 255 255 / .9)!important}.navbar-top .nav-link:hover{background:rgb(255 255 255 / .1);color:white!important}.navbar-top .nav-link.active{background-color:rgb(255 255 255 / .2);font-weight:600}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#001B3D 0%,#FFFFFF 100%);padding:20px}.login-card{background:#fff;border-radius:clamp(12px, 2vw, 20px);box-shadow:0 20px 60px rgb(0 0 0 / .3);padding:clamp(30px, 5vw, 50px);width:100%;max-width:450px;animation:fadeInUp 0.5s ease-out}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-icon{color:var(--primary-color);filter:drop-shadow(0 4px 8px rgb(13 110 253 / .2))}.login-title{font-size:clamp(24px, 4vw, 32px);color:var(--dark-color);margin-bottom:10px}.btn-login{padding:12px 24px;font-weight:500;transition:all 0.3s ease}.btn-login:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(13 110 253 / .3)}.welcome-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px rgb(0 0 0 / .1)}.stats-card{transition:transform 0.3s ease,box-shadow 0.3s ease;border-radius:12px;overflow:hidden}.stats-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgb(0 0 0 / .15)!important}.stats-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center}.card{border-radius:12px;transition:box-shadow 0.3s ease;border:none;box-shadow:0 2px 8px rgb(0 0 0 / .08)}.card:hover{box-shadow:0 8px 20px rgb(0 0 0 / .1)!important}.table{font-size:14px}.table thead th{background-color:var(--light-color);font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.5px;border:none;padding:15px 12px}.table tbody tr{transition:background-color 0.2s ease}.table tbody tr:hover{background-color:rgb(13 110 253 / .05)}.badge{font-weight:500;padding:6px 12px;border-radius:6px;font-size:12px}.btn{border-radius:8px;font-weight:500;padding:10px 20px;transition:all 0.3s ease;border:none}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .15)}.btn-group-sm>.btn{padding:6px 12px;font-size:13px}.form-control,.form-select{border-radius:8px;border:1px solid #dee2e6;padding:10px 15px;transition:all 0.3s ease}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgb(13 110 253 / .15)}.form-label{font-weight:500;margin-bottom:8px;color:var(--dark-color)}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.was-validated :invalid~.invalid-feedback,.is-invalid~.invalid-feedback{display:block}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.was-validated :valid~.valid-feedback,.is-valid~.valid-feedback{display:block}.activity-list{display:flex;flex-direction:column;gap:15px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--light-color);border-radius:8px;transition:background 0.2s ease}.activity-item:hover{background:#e9ecef}.activity-icon{width:36px;height:36px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.breadcrumb{background:#fff0;padding:0;margin-bottom:0;font-size:14px}.breadcrumb-item a{color:var(--primary-color);text-decoration:none;transition:color 0.2s ease}.breadcrumb-item a:hover{color:#0a58ca}.error-container{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:40px 20px}.error-content{max-width:600px;text-align:center}.error-code{font-size:clamp(80px, 15vw, 150px);font-weight:700;color:var(--primary-color);line-height:1;margin-bottom:20px}.error-title{font-size:clamp(24px, 4vw, 36px);margin-bottom:15px}.error-message{font-size:clamp(16px, 2vw, 18px);color:var(--secondary-color);margin-bottom:30px}.error-icon{color:var(--secondary-color);opacity:.3}.error-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.alert{border-radius:8px;border:none;padding:15px 20px;font-weight:500}@keyframes slideInDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.alert{animation:slideInDown 0.3s ease}footer{margin-top:auto}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.shadow-sm{box-shadow:0 2px 8px rgb(0 0 0 / .08)!important}.rounded-lg{border-radius:12px!important}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@media (max-width:992px){.sidebar{transform:translateX(-100%);transition:transform 0.3s ease}.sidebar.show{transform:translateX(0)}.content-with-sidebar,.footer-with-sidebar{margin-left:0!important}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(0 0 0 / .5);z-index:999;display:none}.sidebar-overlay.show{display:block}.sidebar-toggle{position:fixed;top:15px;left:15px;z-index:1001;background:var(--header-bg-color);color:#fff;border:none;padding:10px 15px;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .2);cursor:pointer}}@media (max-width:768px){.login-card{padding:30px 20px}.welcome-header{padding:20px}.stats-card{margin-bottom:15px}.error-actions{flex-direction:column}.error-actions .btn{width:100%}}@media print{.sidebar,.navbar,footer,.btn,.alert{display:none!important}.content-with-sidebar{margin-left:0!important}body{background:#fff}}