:root{--color-navy: #274060;--color-red: #E7292C;--color-light-blue: #4B88FF;--color-ai-teal: #74AA9C;--color-neutral-900: #111827;--color-neutral-700: #374151;--color-neutral-600: #4B5563;--color-neutral-500: #6B7280;--color-neutral-400: #9CA3AF;--color-neutral-300: #D1D5DB;--color-neutral-200: #E5E7EB;--color-neutral-100: #F3F4F6;--color-white: #FFFFFF;--color-success: #74AA9C;--color-warning: #F59E0B;--color-error: #E7292C;--color-info: #4B88FF;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--border-color: #E5E7EB;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-xl: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--sidebar-width: 220px;--topbar-height: 56px;--transition-fast: .15s ease;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-neutral-700);background-color:var(--color-neutral-100)}a{color:var(--color-light-blue);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer;border:none;background:none;font-size:inherit}input,select,textarea{font-family:var(--font-family);font-size:var(--font-size-base)}table{border-collapse:collapse;width:100%}img{max-width:100%;display:block}ul,ol{list-style:none}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-muted{color:var(--color-neutral-500)}.text-navy{color:var(--color-navy)}.text-white{color:var(--color-white)}.tabular-nums{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media(max-width:1024px){.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}}.card{background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;transition:background-color var(--transition-fast),opacity var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-navy);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:#1e3350}.btn-danger{background-color:var(--color-red);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:#c9232a}.btn-secondary{background-color:var(--color-white);color:var(--color-neutral-700);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--color-neutral-100)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-neutral-700);background:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-light-blue);box-shadow:0 0 0 3px #4b88ff26}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236B7280' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);margin-bottom:var(--space-1)}.section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin-bottom:var(--space-4)}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--color-neutral-200);border-top-color:var(--color-navy);border-radius:50%;animation:spin .6s linear infinite}
