@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#003e7b;--primary-container:#0055a5;--primary-light:#d6e3ff;--primary-dim:#a8c8ff;--on-primary:#fff;--on-primary-container:#b0ccff;--inverse-primary:#a8c8ff;--secondary:#006d37;--secondary-container:#6bfe9c;--secondary-light:#e8f5e9;--on-secondary:#fff;--on-secondary-container:#00743a;--tertiary:#5a3600;--tertiary-container:#7a4b00;--tertiary-light:#fff3e0;--on-tertiary:#fff;--on-tertiary-container:#ffbf71;--surface:#f8f9fa;--surface-dim:#d9dadb;--surface-container-lowest:#fff;--surface-container-low:#f3f4f5;--surface-container:#edeeef;--surface-container-high:#e7e8e9;--surface-container-highest:#e1e3e4;--on-surface:#191c1d;--on-surface-variant:#424751;--surface-tint:#175eae;--outline:#727783;--outline-variant:#c2c6d3;--error:#ba1a1a;--error-container:#ffdad6;--on-error:#fff;--on-error-container:#93000a;--background:#f8f9fa;--on-background:#191c1d;--success:#006d37;--warning:#f39c12;--info:#0055a5;--shadow-sm:0px 1px 3px #003e7b0f;--shadow-md:0px 4px 12px #003e7b14;--shadow-lg:0px 10px 25px #003e7b1f;--shadow-xl:0px 20px 40px #003e7b29;--radius-sm:.25rem;--radius:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--sidebar-width:240px;--topbar-height:64px;--container-max:1280px;--gutter:16px;--margin-mobile:16px;--margin-desktop:48px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:var(--on-surface);background:var(--background);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}.font-display{font-family:Manrope,sans-serif}.font-body{font-family:Inter,sans-serif}.text-display-lg{letter-spacing:-.02em;font-family:Manrope,sans-serif;font-size:48px;font-weight:700;line-height:56px}.text-headline-lg{font-family:Manrope,sans-serif;font-size:32px;font-weight:600;line-height:40px}.text-headline-md{font-family:Manrope,sans-serif;font-size:24px;font-weight:600;line-height:32px}.text-headline-sm{font-family:Manrope,sans-serif;font-size:20px;font-weight:600;line-height:28px}.text-body-lg{font-family:Inter,sans-serif;font-size:18px;font-weight:400;line-height:28px}.text-body-md{font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:24px}.text-body-sm{font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:20px}.text-label-bold{letter-spacing:.05em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:12px;font-weight:700;line-height:16px}.text-caption{font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:16px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--outline)}.card{background:var(--surface-container-lowest);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-lg);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg)}.card-flat{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-md);padding:var(--space-lg)}.badge{border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{color:var(--secondary);background:#006d371a}.badge-warning{color:#b87300;background:#f39c121a}.badge-error{color:var(--error);background:#ba1a1a1a}.badge-info{color:var(--primary-container);background:#0055a51a}.badge-neutral{background:var(--surface-container-high);color:var(--on-surface-variant)}.btn{border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-container);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--secondary);color:var(--on-secondary)}.btn-secondary:hover{box-shadow:var(--shadow-md);background:#005b2e}.btn-outline{color:var(--primary);border:1.5px solid var(--outline-variant);background:0 0}.btn-outline:hover{border-color:var(--primary);background:var(--primary-light)}.btn-ghost{color:var(--on-surface-variant);background:0 0}.btn-ghost:hover{background:var(--surface-container)}.btn-danger{background:var(--error);color:var(--on-error)}.btn-danger:hover{background:#a01717}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.input{border:1px solid var(--outline-variant);border-radius:var(--radius);width:100%;color:var(--on-surface);background:var(--surface-container-lowest);transition:all var(--transition-fast);padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;line-height:20px}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0055a51f}.input::placeholder{color:var(--outline)}.select{appearance:none;border:1px solid var(--outline-variant);border-radius:var(--radius);width:100%;color:var(--on-surface);background:var(--surface-container-lowest) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23727783' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E") no-repeat right 12px center;cursor:pointer;transition:all var(--transition-fast);padding:10px 36px 10px 14px;font-family:Inter,sans-serif;font-size:14px}.select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0055a51f}.table-container{border-radius:var(--radius-md);border:1px solid var(--outline-variant);overflow-x:auto}table{border-collapse:collapse;width:100%}table thead{background:var(--primary);color:var(--on-primary)}table thead th{letter-spacing:.05em;text-transform:uppercase;text-align:left;white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:700}table tbody tr{border-bottom:1px solid var(--outline-variant);transition:background var(--transition-fast)}table tbody tr:last-child{border-bottom:none}table tbody tr:hover{background:#0055a508}table tbody td{vertical-align:middle;padding:12px 16px;font-size:14px}.progress-bar{background:var(--surface-container);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.progress-bar-fill.green{background:linear-gradient(90deg, #00b45a, var(--secondary))}.progress-bar-fill.blue{background:linear-gradient(90deg, var(--primary), var(--primary-container))}.progress-bar-fill.orange{background:linear-gradient(90deg, #e67e22, var(--warning))}.avatar{border-radius:var(--radius-full);color:var(--on-primary);flex-shrink:0;justify-content:center;align-items:center;font-family:Manrope,sans-serif;font-weight:700;display:inline-flex;overflow:hidden}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-md{width:40px;height:40px;font-size:14px}.avatar-lg{width:48px;height:48px;font-size:18px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.4s ease-out fadeIn}.animate-slide-in{animation:.3s ease-out slideInLeft}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}@media (max-width:768px){.text-headline-lg{font-size:28px;line-height:36px}.text-display-lg{font-size:32px;line-height:40px}}
