:root{--sus-blue: #0054A6;--sus-green: #00A651;--sus-yellow: #FFF200;--sus-red: #ED1C24;--sus-light-blue: #3D7CC9;--sus-light-green: #4DC47D;--sus-light-yellow: #FFF673;--sus-light-red: #F15A60;--sus-dark-blue: #003B75;--sus-dark-green: #007A3D;--sus-gray: #6C757D;--sus-light-gray: #E9ECEF;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--sidebar-width: 250px;--sidebar-width-collapsed: 60px;--transition-fast: .15s ease;--transition-normal: .3s ease;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--shadow-md: 0 .5rem 1rem rgba(0, 0, 0, .15);--shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f8f9fa;color:#333;line-height:1.5}a{color:var(--sus-blue);text-decoration:none}a:hover{color:var(--sus-dark-blue)}.app-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);padding:var(--spacing-lg);transition:margin-left var(--transition-normal)}@media(max-width:768px){.main-content{margin-left:0}}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:linear-gradient(180deg,var(--sus-blue) 0%,var(--sus-dark-blue) 100%);color:#fff;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-md);transition:transform var(--transition-normal)}.sidebar-header{padding:var(--spacing-lg);text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h1{font-size:1.2rem;font-weight:600}.sidebar-user{padding:var(--spacing-md);text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-user .user-avatar{width:60px;height:60px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-sm);font-size:1.5rem}.sidebar-user .user-name{font-weight:500;margin-bottom:var(--spacing-xs)}.sidebar-user .user-role{font-size:.75rem;background:#fff3;padding:.2rem .5rem;border-radius:4px;display:inline-block}.sidebar-nav{padding:var(--spacing-md) 0}.nav-item{list-style:none}.nav-link{display:flex;align-items:center;padding:.75rem var(--spacing-lg);color:#fffc;transition:all var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:.95rem}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#fff3;color:#fff;border-left:3px solid var(--sus-green)}.nav-link i,.nav-link svg{margin-right:var(--spacing-sm);width:20px;text-align:center}.nav-link .chevron{margin-left:auto;transition:transform var(--transition-fast)}.nav-link.expanded .chevron{transform:rotate(180deg)}.submenu{max-height:0;overflow:hidden;transition:max-height var(--transition-normal);background:#0000001a}.submenu.open{max-height:500px}.submenu .nav-link{padding-left:calc(var(--spacing-lg) + 28px);font-size:.9rem}.card{background:#fff;border-radius:.5rem;border:none;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--sus-light-gray);background:transparent}.card-body{padding:var(--spacing-lg)}.btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background:var(--sus-blue);color:#fff}.btn-primary:hover{background:var(--sus-dark-blue)}.btn-success{background:var(--sus-green);color:#fff}.btn-success:hover{background:var(--sus-dark-green)}.btn-outline-primary{background:transparent;color:var(--sus-blue);border:1px solid var(--sus-blue)}.btn-outline-primary:hover{background:var(--sus-blue);color:#fff}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:.5rem;margin-bottom:var(--spacing-md)}.alert-info{background:#0054a61a;border-left:4px solid var(--sus-blue);color:var(--sus-dark-blue)}.alert-success{background:#00a6511a;border-left:4px solid var(--sus-green);color:var(--sus-dark-green)}.alert-warning{background:#fff20033;border-left:4px solid var(--sus-yellow);color:#856404}.alert-danger{background:#ed1c241a;border-left:4px solid var(--sus-red);color:#721c24}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;height:100%;width:2px;background:var(--sus-light-gray)}.timeline-item{position:relative;margin-bottom:var(--spacing-lg)}.timeline-item:before{content:"";position:absolute;left:-2.25rem;top:.25rem;width:1rem;height:1rem;border-radius:50%;background:var(--sus-blue)}.form-control,.form-select{width:100%;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:.375rem;font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus,.form-select:focus{border-color:var(--sus-blue);box-shadow:0 0 0 .2rem #0054a640;outline:none}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:#495057}.table{width:100%;border-collapse:collapse}.table th{font-weight:600;text-align:left;padding:var(--spacing-md);border-bottom:2px solid var(--sus-light-gray);color:var(--sus-gray)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--sus-light-gray)}.table tbody tr:hover{background:#0054a605}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:.375rem}.badge-primary{background:var(--sus-blue);color:#fff}.badge-success{background:var(--sus-green);color:#fff}.badge-warning{background:var(--sus-yellow);color:#333}.badge-danger{background:var(--sus-red);color:#fff}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:var(--spacing-md)}[style*=grid-template-columns]{grid-template-columns:1fr!important}[style*="display: flex"][style*=gap]{flex-direction:column}.table{display:block;overflow-x:auto}.form-control,.form-select{font-size:16px}.card:hover{transform:none}.alert{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}.mobile-header{display:block!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sus-blue) 0%,var(--sus-dark-blue) 100%)}.login-card{background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:var(--shadow-lg);width:100%;max-width:400px}.login-card h1{text-align:center;color:var(--sus-blue);margin-bottom:var(--spacing-lg)}
