@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--primary-color:#2e7d32;--secondary-color:#f9a825;--accent-color:#0d47a1;--institutional-purple:#673ab7;--bg-primary:#fafafa;--bg-secondary:#fff;--bg-card:#fff;--text-primary:#212121;--text-secondary:#757575;--text-disabled:#bdbdbd;--success:#2e7d32;--warning:#ff9800;--error:#f44336;--info:#0d47a1;--shadow-light:0 2px 4px rgba(0,0,0,.1);--shadow-medium:0 4px 8px rgba(0,0,0,.15);--shadow-heavy:0 8px 16px rgba(0,0,0,.2);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--font-family-primary:"Inter", sans-serif;--font-family-heading:"Outfit", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-xxl:1.5rem;--font-size-xxxl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);line-height:1.2}h1{font-size:var(--font-size-xxxl)}h2{font-size:var(--font-size-xxl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-md)}button{cursor:pointer;transition:var(--transition-normal);border:none;outline:none;font-family:inherit}button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.loading-screen{justify-content:center;align-items:center;gap:var(--spacing-md,1rem);padding:var(--spacing-lg,1.5rem);color:var(--text-primary,#212121);flex-direction:column;min-height:200px;display:flex}.loading-screen--full{z-index:9999;background:var(--bg-primary,#fafafa);min-width:100vw;min-height:100dvh;padding:0;position:fixed;top:0;bottom:0;left:0;right:0}.loading-screen--full .loading-screen__content{text-align:center}.loading-screen__spinner{width:64px;height:64px}.loading-screen__spinner-circle{animation:1.2s linear infinite loading-spin}.loading-screen__spinner-path{stroke:var(--primary-color,#2e7d32);stroke-dasharray:164;stroke-dashoffset:0;animation:1.6s ease-in-out infinite loading-dash}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dashoffset:164px}50%{stroke-dashoffset:82px;transform:rotate(0)}to{stroke-dashoffset:164px;transform:rotate(720deg)}}.loading-screen__title{font-size:var(--font-size-xl,1.25rem);font-weight:var(--font-weight-semibold,600);color:var(--text-primary,#212121);margin:0}.loading-screen__subtitle{font-size:var(--font-size-md,1rem);color:var(--text-secondary,#757575);margin:0}.loading-screen__progress-wrapper{width:min(320px,80%);margin-top:var(--spacing-sm,.5rem)}.loading-screen__progress-track{border-radius:var(--border-radius-full,9999px);background:rgba(46,125,50,.15);width:100%;height:6px;overflow:hidden}.loading-screen__progress-bar{background:var(--gradient-primary,linear-gradient(135deg, #2e7d32, #1b5e20));border-radius:var(--border-radius-full,9999px);width:0%;height:100%;transition:width .4s}.loading-screen__progress-text{text-align:right;font-size:var(--font-size-xs,.75rem);color:var(--text-secondary,#757575);margin-top:var(--spacing-xs,.25rem);font-weight:var(--font-weight-semibold,600);display:block}@media (prefers-reduced-motion:reduce){.loading-screen__spinner-circle,.loading-screen__spinner-path{animation-duration:.01ms!important;animation-iteration-count:1!important}.loading-screen__progress-bar{transition:none!important}}.app{background-color:var(--bg-primary);width:100%;min-height:100vh}.loading{min-height:200px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.error{background-color:var(--error);color:#fff;padding:var(--spacing-md);border-radius:var(--border-radius-md);margin:var(--spacing-md) 0}.success{background-color:var(--success);color:#fff;padding:var(--spacing-md);border-radius:var(--border-radius-md);margin:var(--spacing-md) 0}
