:root{--font-family-base:"Poppins", sans-serif;--text-h1:64px;--text-h1-line:96px;--text-h2:48px;--text-h2-line:72px;--text-h3:36px;--text-h3-line:54px;--text-h4:32px;--text-h4-line:48px;--text-h5:24px;--text-h5-line:36px;--text-h6:20px;--text-h6-line:30px;--text-body-lg:18px;--text-body-lg-line:27px;--text-body:16px;--text-body-line:24px;--text-body-sm:14px;--text-body-sm-line:21px;--text-caption:12px;--text-caption-line:18px;--green-25:#e7f9eb;--green-50:#d2ebd8;--green-100:#beddc5;--green-200:#95c0a0;--green-300:#6ca47a;--green-400:#438755;--green-500:#1a6b2f;--green-600:#155626;--green-700:#10401c;--green-800:#0a2b13;--green-900:#051509;--green-950:#030b05;--color-primary:var(--green-500);--color-primary-hover:var(--green-700);--color-primary-pressed:var(--green-800);--color-primary-light:var(--green-25);--neutral-25:#fff;--neutral-50:#fafafa;--neutral-100:#f4f4f5;--neutral-200:#e4e4e7;--neutral-300:#d1d1d6;--neutral-400:#a0a0ab;--neutral-500:#70707b;--neutral-600:#51525c;--neutral-700:#3f3f46;--neutral-800:#26272b;--neutral-900:#1a1a1e;--neutral-950:#1c1c1c;--color-success:#079455;--color-warning:#f79009;--color-error:#d92d20;--color-bg:#fff;--color-surface:var(--neutral-50);--color-border:var(--neutral-300);--color-text:var(--neutral-950);--color-text-muted:var(--neutral-400);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-button:10px;--radius-input:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-family-base);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface)}#root{min-height:100vh}h1,h2,h3,h4,h5,p{margin:0}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--text-body)}:root{--ease-settle:cubic-bezier(.16, 1, .3, 1)}.loading-screen{padding:var(--space-7) var(--space-5);justify-content:center;align-items:center;display:flex}.loading-inline{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);color:var(--color-text-muted);font-size:var(--text-body-sm);display:flex}.loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary,#1a6b2f);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:2s}}.loading-content{justify-content:center;align-items:center;gap:var(--space-4);animation:loading-fade-in .35s var(--ease-settle);flex-direction:column;display:flex}.loading-screen-full{z-index:100;position:fixed;inset:0}.loading-backdrop{background:var(--color-bg);transition:opacity .6s ease-out;position:absolute;inset:0}.loading-screen-full .loading-content{will-change:transform, opacity;transition:transform .6s var(--ease-settle), opacity .5s ease-in;position:relative}.loading-screen-fade-out .loading-backdrop{opacity:0}.loading-screen-fade-out .loading-content{opacity:0;transform:scale(.94)}.loading-screen-fade-out{pointer-events:none}.loading-animation{object-fit:contain;width:220px;max-width:60vw;height:220px;max-height:60vw;animation:2.4s ease-in-out infinite loading-breathe}.loading-screen-full .loading-animation{width:300px;max-width:65vw;height:300px;max-height:65vw}.loading-screen-fade-out .loading-animation{animation:none}@keyframes loading-breathe{0%,to{transform:scale(.92)}50%{transform:scale(1.08)}}.loading-tagline{font-size:var(--text-body);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.16em;margin-top:-30px;font-weight:600}.loading-screen-full .loading-tagline{animation:loading-tagline-reveal .6s var(--ease-settle) 2s both}@keyframes loading-tagline-reveal{0%{opacity:0;letter-spacing:.32em;transform:translateY(6px)}to{opacity:1;letter-spacing:.16em;transform:translateY(0)}}.loading-initiative{align-items:center;gap:var(--space-2);max-width:min(90vw,320px);font-size:var(--text-body-sm);text-align:left;color:var(--color-text-muted);margin-top:calc(var(--space-4) * -.5);font-weight:500;line-height:1.3;display:inline-flex}.loading-initiative-logo{flex-shrink:0;width:auto;height:34px}.loading-screen-full .loading-initiative{animation:loading-initiative-reveal .5s var(--ease-settle) 2.5s both}@keyframes loading-initiative-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.loading-label{font-size:var(--text-body-sm);color:var(--color-text-muted);letter-spacing:.01em;font-weight:500}@keyframes loading-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.loading-animation,.loading-screen-full .loading-tagline,.loading-screen-full .loading-initiative,.loading-content{animation:none}.loading-screen-full .loading-content,.loading-backdrop{transition-duration:.15s}.loading-screen-fade-out .loading-content{transform:none!important}}.toast-viewport{top:var(--space-5);right:var(--space-5);z-index:200;gap:var(--space-3);width:400px;max-width:calc(100vw - var(--space-5) * 2);flex-direction:column;display:flex;position:fixed}.toast{gap:var(--space-3);padding:var(--space-4) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;border-left:4px solid;align-items:flex-start;display:flex}.toast-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.toast-body{color:var(--neutral-950);flex-direction:column;display:flex}.toast-title{font-family:var(--font-family-base);font-size:var(--text-body);line-height:var(--text-body-line);font-weight:500}.toast-description{font-family:var(--font-family-base);font-size:var(--text-body);line-height:var(--text-body-line)}.toast-info{background:#ebf4fa;border-color:#25648e}.toast-info .toast-icon{background:#25648e}.toast-success{background:#d5f4eb;border-color:#134738}.toast-success .toast-icon{background:#134738}.toast-error{border-color:var(--color-error);background:#ffe6e6}.toast-error .toast-icon{background:var(--color-error)}.toast-warning{border-color:var(--color-warning);background:#fff4e0}.toast-warning .toast-icon{background:var(--color-warning)}
