:root{--primary-color: #004459;--primary-light: #20778d;--primary-dark: #003342;--secondary-color: #34495e;--accent-color: #3498db;--success-color: #27ae60;--warning-color: #f39c12;--danger-color: #e74c3c;--info-color: #17a2b8;--light-bg: #ecf0f1;--white: #ffffff;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--card-shadow: 0 2px 10px rgba(0, 68, 89, .1);--card-shadow-hover: 0 5px 20px rgba(0, 68, 89, .15);--navbar-shadow: 0 2px 5px rgba(0, 68, 89, .1);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--navbar-height: 60px;--sidebar-width: 250px;--sidebar-collapsed-width: 70px;--border-radius-sm: 5px;--border-radius-md: 8px;--border-radius-lg: 10px;--border-radius-xl: 15px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--light-bg);overflow-x:hidden;color:var(--gray-700);line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--primary-color);font-weight:600;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1rem;color:var(--gray-600)}a{color:var(--accent-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-color)}.btn{padding:10px 20px;border:none;border-radius:var(--border-radius-sm);font-weight:500;cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 5px 15px #0044594d}.page-header .header-actions .btn.btn-primary{font-size:1.08rem}.btn-secondary{background-color:var(--gray-500);color:var(--white)}.btn-success{background-color:var(--success-color);color:var(--white)}.btn-warning{background-color:var(--warning-color);color:var(--white)}.btn-danger{background-color:var(--danger-color);color:var(--white)}.btn-outline-primary{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.btn-outline-primary:hover{background-color:var(--primary-color);color:var(--white)}.btn-sm{padding:6px 12px;font-size:.875rem}.btn-lg{padding:12px 24px;font-size:1.125rem}.form-control{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--border-radius-sm);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #00445933}.form-label{display:block;margin-bottom:5px;color:var(--gray-700);font-weight:500}.form-select{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--border-radius-sm);background-color:var(--white);cursor:pointer}.input-group{display:flex;align-items:stretch}.input-group-text{padding:10px 12px;background-color:var(--gray-100);border:1px solid var(--gray-300);border-right:none;border-radius:var(--border-radius-sm) 0 0 var(--border-radius-sm);color:var(--gray-600)}.input-group .form-control{border-left:none;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0}.card{background:var(--white);border-radius:var(--border-radius-lg);padding:20px;box-shadow:var(--card-shadow);margin-bottom:20px;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.card-header{padding-bottom:15px;margin-bottom:20px;border-bottom:2px solid var(--gray-100)}.card-title{color:var(--primary-color);margin-bottom:0}.badge{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;color:var(--white);display:inline-block}.badge-primary{background-color:var(--primary-color)}.badge-secondary{background-color:var(--gray-500)}.badge-success{background-color:var(--success-color)}.badge-warning{background-color:var(--warning-color)}.badge-danger{background-color:var(--danger-color)}.badge-info{background-color:var(--info-color)}.table{width:100%;border-collapse:collapse;margin-bottom:1rem}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid var(--gray-200)}.table th{background-color:var(--primary-color);color:var(--white);font-weight:600}.table tbody tr:hover{background-color:var(--gray-100)}.table-responsive{overflow-x:auto;border-radius:var(--border-radius-lg);box-shadow:var(--card-shadow)}.progress{height:8px;background-color:var(--gray-200);border-radius:4px;overflow:hidden}.progress-bar{height:100%;background-color:var(--primary-color);transition:width var(--transition-normal)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-fade-enter-active{transition:all var(--transition-normal) ease-out}.slide-fade-leave-active{transition:all var(--transition-normal) cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from,.slide-fade-leave-to{transform:translate(20px);opacity:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.d-flex{display:flex}.d-block{display:block}.d-none{display:none}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.w-100{width:100%}.h-100{height:100%}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}@media (max-width: 768px){:root{--sidebar-width: 100%}.btn{width:100%;justify-content:center}.card{margin-bottom:15px;padding:15px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@media (max-width: 576px){.card{padding:10px}.btn{padding:8px 16px;font-size:.875rem}}#app{min-height:100vh}
