:root{--primary-color:#1a3f9d;--primary-light:#4a6fc7;--primary-dark:#0f2a6b;--primary-contrast:#fff;--secondary-color:#bad8fe;--secondary-light:#dbeafe;--secondary-dark:#4a6fc7;--secondary-contrast:#fff;--accent-color:#ffc107;--accent-light:#ffd54f;--accent-dark:#c79100;--neutral-color:#6b7280;--neutral-light:#9ca3af;--neutral-dark:#374151;--surface-color:#fff;--surface-variant:#f8f9fa;--bg-color:#f1f3f5;--bg-variant:#e9ecef;--info-bg:#e3f2fd;--info-text:#1976d2;--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--white:#fff;--gray-50:#f8f9fa;--gray-100:#f1f3f5;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#868e96;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--font-family:"Inter", system-ui, -apple-system, sans-serif;--font-size-xs:.75rem;--font-size-sm:.85rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-color-primary:var(--gray-900);--font-color-secondary:var(--gray-700);--font-color-tertiary:var(--gray-600);--font-color-disabled:var(--gray-400);--font-color-inverse:var(--white);--font-color-brand:var(--primary-color);--font-color-link:var(--primary-color);--font-color-success:var(--success-color);--font-color-warning:var(--warning-color);--font-color-error:var(--error-color);--font-color-info:var(--info-text);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-color:var(--secondary-color);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--text-shadow-sm:0 1px 2px #0000001a;--text-shadow-md:0 2px 4px #00000026;--text-shadow-lg:0 4px 6px #0003}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{max-width:80vw;font-family:var(--font-family), sans-serif;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);text-shadow:var(--text-shadow-md);color:var(--font-color-primary);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 auto}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.container{width:100%;padding:var(--spacing-md) var(--spacing-lg);margin:0 auto}.border{border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.flex{display:flex}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mr-0{margin-right:0}.m-xs{margin:var(--spacing-xs)}.mt-xs{margin-top:var(--spacing-xs)}.mb-xs{margin-bottom:var(--spacing-xs)}.ml-xs{margin-left:var(--spacing-xs)}.mr-xs{margin-right:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.mt-sm{margin-top:var(--spacing-sm)}.mb-sm{margin-bottom:var(--spacing-sm)}.ml-sm{margin-left:var(--spacing-sm)}.mr-sm{margin-right:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.ml-md{margin-left:var(--spacing-md)}.mr-md{margin-right:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mt-lg{margin-top:var(--spacing-lg)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-lg{margin-left:var(--spacing-lg)}.mr-lg{margin-right:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xl{margin-left:var(--spacing-xl)}.mr-xl{margin-right:var(--spacing-xl)}.p-0{padding:0}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pr-0{padding-right:0}.p-xs{padding:var(--spacing-xs)}.pt-xs{padding-top:var(--spacing-xs)}.pb-xs{padding-bottom:var(--spacing-xs)}.pl-xs{padding-left:var(--spacing-xs)}.pr-xs{padding-right:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.pt-sm{padding-top:var(--spacing-sm)}.pb-sm{padding-bottom:var(--spacing-sm)}.pl-sm{padding-left:var(--spacing-sm)}.pr-sm{padding-right:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.pt-md{padding-top:var(--spacing-md)}.pb-md{padding-bottom:var(--spacing-md)}.pl-md{padding-left:var(--spacing-md)}.pr-md{padding-right:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.pt-lg{padding-top:var(--spacing-lg)}.pb-lg{padding-bottom:var(--spacing-lg)}.pl-lg{padding-left:var(--spacing-lg)}.pr-lg{padding-right:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-xl{padding-top:var(--spacing-xl)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-xl{padding-left:var(--spacing-xl)}.pr-xl{padding-right:var(--spacing-xl)}.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-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--font-color-brand)}.text-secondary{color:var(--font-color-secondary)}.text-white{color:var(--font-color-inverse)}.text-gray{color:var(--font-color-tertiary)}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}
