:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--primary-light: #60a5fa;--secondary-color: #475569;--success-color: #16a34a;--warning-color: #eab308;--danger-color: #dc2626;--info-color: #0891b2;--background-color: #f8fafc;--card-background: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background-color);color:var(--text-primary);line-height:1.5}.card{background-color:var(--card-background);box-shadow:var(--shadow-md);border:none;border-radius:var(--radius-md);transition:all .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card .card-header{background-color:var(--card-background);border-bottom:1px solid var(--border-color);padding:1.25rem;border-radius:var(--radius-md) var(--radius-md) 0 0}.card .card-header h2,.card .card-header h3,.card .card-header h4,.card .card-header h5,.card .card-header h6{margin:0;color:var(--text-primary);font-weight:600}.card .card-body{padding:1.25rem}.form-control,.form-select{border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.625rem .875rem;font-size:.95rem;transition:all .2s ease}.form-control:focus,.form-select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #2563eb1a}.btn{padding:.625rem 1.25rem;font-weight:500;border-radius:var(--radius-sm);transition:all .2s ease;text-transform:none;letter-spacing:.025em}.btn:hover{transform:translateY(-1px)}.btn.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.btn.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}.btn.btn-outline-primary{color:var(--primary-color);border-color:var(--primary-color)}.btn.btn-outline-primary:hover{background-color:var(--primary-color);color:#fff}.table{margin-bottom:0}.table thead{background-color:var(--background-color)}.table thead th{font-weight:600;color:var(--text-primary);padding:1rem;border-bottom:2px solid var(--border-color)}.table tbody tr{border-bottom:1px solid var(--border-color)}.table tbody tr:hover{background-color:#2563eb0d}.table tbody tr td{padding:1rem;color:var(--text-secondary);vertical-align:middle}.badge{padding:.5em .75em;font-weight:500;border-radius:var(--radius-sm);font-size:.85em}.badge.bg-success{background-color:var(--success-color)!important}.badge.bg-warning{background-color:var(--warning-color)!important}.badge.bg-danger{background-color:var(--danger-color)!important}.alert{border:none;border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1rem;border-left:4px solid transparent}.alert.alert-info{background-color:#0891b21a;border-left-color:var(--info-color);color:var(--info-color)}.alert.alert-success{background-color:#16a34a1a;border-left-color:var(--success-color);color:var(--success-color)}.alert.alert-danger{background-color:#dc26261a;border-left-color:var(--danger-color);color:var(--danger-color)}.navbar{background-color:var(--card-background)!important;box-shadow:var(--shadow-sm);padding:1rem 0}.navbar .navbar-brand{font-weight:700;color:var(--primary-color)!important;font-size:1.25rem}.navbar .nav-link{font-weight:500;color:var(--text-secondary)!important;padding:.5rem 1rem;transition:all .2s ease;border-radius:var(--radius-sm);margin:0 .25rem}.navbar .nav-link:hover{color:var(--primary-color)!important;background-color:#2563eb0d}.navbar .nav-link.active{color:var(--primary-color)!important;background-color:#2563eb1a}.spinner-border{width:1.5rem;height:1.5rem;border-width:.15em}.spinner-border.text-primary{color:var(--primary-color)!important}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cursor-pointer{cursor:pointer}.text-truncate{max-width:200px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.container{padding:1rem}.card{margin-bottom:1rem}.table-responsive{margin:0 -1rem;padding:0 1rem;width:calc(100% + 2rem)}}
