:root{--primary:#2c5292;--primary-light:#4a90e2;--secondary:#000000;--background:#FFFFFF;--surface:#F8F8F8;--error:#FF4E8C;--success:#91C788;--warning:#FFB800;--text:#1A1A1A;--text-secondary:#6B7280;--border:#E0E0E0;--disabled:#BDBDBD;--placeholder:#9E9E9E}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}body{min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;color:var(--text);font-weight:600}p{margin-bottom:1rem;color:var(--text-secondary)}.navbar{background-color:#0A0B1E!important;box-shadow:0 2px 4px rgba(0,0,0,.1);border-bottom:3px solid var(--primary-light)}.navbar-brand{font-weight:700;font-size:1.25rem;color:white!important}.header .nav-link,.navbar .nav-link{color:rgba(255,255,255,.9)!important;font-weight:500;transition:color .2s ease}.header .nav-link.active,.header .nav-link:hover,.navbar .nav-link.active,.navbar .nav-link:hover{color:white!important;background-color:rgba(255,255,255,.1);border-radius:.375rem}.card .nav-link,.nav-tabs .nav-link{color:var(--text)!important;font-weight:500;transition:color .2s ease}.card .nav-link.active,.card .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link:hover{color:var(--primary)!important;background-color:rgba(44,82,146,.1);border-radius:.375rem}.btn-primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-light) 100%);border:none;color:white;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(44,82,146,.25);letter-spacing:.3px}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);transform:translateY(-2px);box-shadow:0 4px 12px rgba(44,82,146,.35);color:white}.btn-success{background-color:var(--success);border-color:var(--success)}.btn-danger{background-color:var(--error);border-color:var(--error)}.btn-outline-primary{color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background-color:var(--primary);border-color:var(--primary);color:white}.btn{margin-right:.5rem;transition:all .2s ease;border-radius:.5rem;font-weight:500}.card{background-color:var(--background);border:none;box-shadow:0 2px 8px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);border-radius:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.08);transform:translateY(-4px)}.card-header{background-color:var(--surface);border-bottom:1px solid var(--border);font-weight:600;color:var(--text);padding:1rem 1.25rem}.form-control,.form-select{background-color:var(--background);border:2px solid var(--border);color:var(--text);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:.75rem;padding:.75rem 1rem;font-size:.95rem}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(44,82,146,.1),0 2px 8px rgba(44,82,146,.15);background-color:var(--background);outline:none}.form-label{font-weight:500;margin-bottom:.5rem}.form-label,.nav-link{color:var(--text)!important}.nav-link.active{font-weight:600}.nav-link.active,.nav-link:hover{color:var(--primary)!important}.table{background-color:var(--background);color:var(--text);border-radius:.75rem;overflow:hidden}.table thead{background-color:var(--surface)}.table th{color:var(--text);font-weight:600}.table td,.table th{border-color:var(--border);padding:1rem}.table td{color:var(--text-secondary)}.table-striped tbody tr:nth-of-type(odd){background-color:var(--surface)}.table-hover tbody tr:hover{background-color:rgba(44,82,146,.05)}.modal-content{background-color:var(--background);border-color:var(--border);border-radius:.75rem;box-shadow:0 10px 25px rgba(0,0,0,.15)}.modal-header{border-bottom-color:var(--border);background-color:var(--surface);border-radius:.75rem .75rem 0 0}.modal-title{color:var(--text);font-weight:600}.modal-footer{border-top-color:var(--border);background-color:var(--surface);border-radius:0 0 .75rem .75rem}.alert{border-radius:.5rem;border-width:1px}.alert-danger{background-color:rgba(255,78,140,.1);border-color:var(--error);color:#B91C1C}.alert-success{background-color:rgba(145,199,136,.1);border-color:var(--success);color:#166534}.alert-warning{background-color:rgba(255,184,0,.1);border-color:var(--warning);color:#92400E}.alert-info{background-color:rgba(74,144,226,.1);border-color:var(--primary-light);color:#1E40AF}.badge{font-weight:500;padding:.375rem .75rem;border-radius:.375rem}.bg-primary{background-color:var(--primary)!important}.bg-success{background-color:var(--success)!important}.bg-warning{background-color:var(--warning)!important}.bg-danger{background-color:var(--error)!important}.bg-info{background-color:var(--primary-light)!important}.bg-secondary{background-color:var(--text-secondary)!important}.spinner-border{color:var(--primary)}.list-group-item{background-color:var(--background);border-color:var(--border);color:var(--text);transition:all .2s ease}.list-group-item:hover{background-color:var(--surface);border-left:3px solid var(--primary)}.login-container{background:#0A0B1E;min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;padding:2rem;position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(44,82,146,.15) 0,transparent 70%);animation:rotate 20s linear infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-card{background:var(--background);border-radius:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.3);border:none;position:relative;z-index:1}.text-primary{color:var(--primary)!important}.text-secondary{color:var(--text-secondary)!important}.border-primary{border-color:var(--primary)!important}@media (max-width:768px){.card{border-radius:.5rem}.table{font-size:.875rem}}