:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .6s ease-out}:root{--unmsm-purple-dark: #3D1A4F;--unmsm-purple-main: #5B2C6F;--unmsm-purple-light: #7B4C8F;--unmsm-gold: #FDB913;--unmsm-gold-dark: #E5A612;--success: #28a745;--warning: #ffc107;--danger: #dc3545;--info: #17a2b8;--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;--text-primary: #212529;--text-secondary: #6C757D;--text-light: #FFFFFF;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--border-radius: 8px;--border-radius-lg: 12px;--border-color: #DEE2E6}*{margin:0;padding:0;box-sizing:border-box}body{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;background-color:var(--gray-100);color:var(--text-primary)}.app-header{background:linear-gradient(135deg,var(--unmsm-purple-dark) 0%,var(--unmsm-purple-main) 100%);color:var(--text-light);padding:1rem 2rem;box-shadow:var(--shadow);position:sticky;top:0;z-index:1000}.app-header h1{font-size:1.5rem;font-weight:600;margin:0;display:flex;align-items:center;gap:1rem}.app-header .logo{height:40px;width:auto}.user-info{display:flex;align-items:center;gap:1rem;color:var(--text-light)}.user-badge{background-color:var(--unmsm-gold);color:var(--unmsm-purple-dark);padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.sidebar{background-color:var(--unmsm-purple-main);min-height:calc(100vh - 80px);padding:1.5rem 0;box-shadow:var(--shadow)}.sidebar-item{color:#fffc;padding:.75rem 1.5rem;text-decoration:none;display:flex;align-items:center;gap:.75rem;transition:all .3s ease;border-left:3px solid transparent}.sidebar-item:hover{background-color:#ffffff1a;color:var(--text-light);border-left-color:var(--unmsm-gold)}.sidebar-item.active{background-color:#fdb91326;color:var(--unmsm-gold);border-left-color:var(--unmsm-gold);font-weight:600}.sidebar-item i{font-size:1.2rem;width:24px;text-align:center}.btn{padding:.5rem 1.5rem;border:none;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-size:.95rem}.btn-primary{background:linear-gradient(135deg,var(--unmsm-purple-main) 0%,var(--unmsm-purple-dark) 100%);color:var(--text-light);box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-gold{background:linear-gradient(135deg,var(--unmsm-gold) 0%,var(--unmsm-gold-dark) 100%);color:var(--unmsm-purple-dark);box-shadow:var(--shadow-sm);font-weight:600}.btn-gold:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-success{background-color:var(--success);color:var(--text-light)}.btn-danger{background-color:var(--danger);color:var(--text-light)}.btn-outline-primary{background-color:transparent;border:2px solid var(--unmsm-purple-main);color:var(--unmsm-purple-main)}.btn-outline-primary:hover{background-color:var(--unmsm-purple-main);color:var(--text-light)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.card{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-color);transition:all .3s ease}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card-header{background:linear-gradient(135deg,var(--unmsm-purple-main) 0%,var(--unmsm-purple-dark) 100%);color:var(--text-light);padding:1rem 1.5rem;border-radius:var(--border-radius) var(--border-radius) 0 0;margin:-1.5rem -1.5rem 1.5rem;font-weight:600;font-size:1.1rem;display:flex;align-items:center;gap:.75rem}.card-title{color:var(--unmsm-purple-dark);font-size:1.25rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.table-container{background-color:#fff;border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse}thead{background:linear-gradient(135deg,var(--unmsm-purple-main) 0%,var(--unmsm-purple-dark) 100%);color:var(--text-light)}thead th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s ease}tbody tr:hover{background-color:#5b2c6f0d}tbody td{padding:1rem;color:var(--text-primary)}tbody tr:last-child{border-bottom:none}.badge{display:inline-block;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-align:center}.badge-primary{background-color:var(--unmsm-purple-main);color:var(--text-light)}.badge-gold{background-color:var(--unmsm-gold);color:var(--unmsm-purple-dark)}.badge-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.badge-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.badge-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:var(--unmsm-purple-dark);font-weight:600;font-size:.95rem}.form-control,.form-select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:all .3s ease;background-color:#fff}.form-control:focus,.form-select:focus{outline:none;border-color:var(--unmsm-purple-main);box-shadow:0 0 0 3px #5b2c6f1a}.form-control:disabled,.form-select:disabled{background-color:var(--gray-200);cursor:not-allowed}.alert{padding:1rem 1.25rem;border-radius:var(--border-radius);margin-bottom:1rem;border-left:4px solid}.alert-success{background-color:#d4edda;border-color:#28a745;color:#155724}.alert-warning{background-color:#fff3cd;border-color:#ffc107;color:#856404}.alert-danger{background-color:#f8d7da;border-color:#dc3545;color:#721c24}.alert-info{background-color:#d1ecf1;border-color:#17a2b8;color:#0c5460}.modal-header{background:linear-gradient(135deg,var(--unmsm-purple-main) 0%,var(--unmsm-purple-dark) 100%);color:var(--text-light);border-radius:var(--border-radius) var(--border-radius) 0 0}.modal-title{color:var(--text-light);font-weight:600}.modal-content{border-radius:var(--border-radius-lg);border:none;box-shadow:var(--shadow-lg)}.text-primary{color:var(--unmsm-purple-main)!important}.text-gold{color:var(--unmsm-gold)!important}.bg-primary{background-color:var(--unmsm-purple-main)!important}.bg-gold{background-color:var(--unmsm-gold)!important}.border-primary{border-color:var(--unmsm-purple-main)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow{box-shadow:var(--shadow)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-in-out}@media(max-width:768px){.app-header{padding:.75rem 1rem}.app-header h1{font-size:1.2rem}.sidebar{position:fixed;left:-250px;transition:left .3s ease}.sidebar.open{left:0}.card{padding:1rem}thead th,tbody td{padding:.75rem .5rem;font-size:.85rem}}
