@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{font-family:Outfit,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a.skip-to-main{z-index:999;position:absolute;left:-9999px}a.skip-to-main:focus{color:#f8fafc;background-color:#1e293b;border-radius:0 0 4px 4px;padding:8px;text-decoration:none;top:0;left:50%;transform:translate(-50%)}@media (prefers-color-scheme:light){body{color:#1e293b;background-color:#fff}}@media (prefers-color-scheme:dark){body{color:#f8fafc;background-color:#0f172a}}html,body,#root{min-height:100%;margin:0}.app-container{box-sizing:border-box;flex-direction:column;width:100%;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000000d}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-track{background:#ffffff05}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1a}@media (width<=768px){.app-container{padding:8px}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #2563eb}[data-theme=dark] button:focus-visible,[data-theme=dark] a:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] textarea:focus-visible,[data-theme=dark] select:focus-visible{outline:3px solid #60a5fa}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){button,a{text-decoration:underline}}@media print{.no-print{display:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-spinner{box-sizing:border-box;border:4px solid #0000001a;border-top-color:#1976d2;border-radius:50%;width:60px;height:60px;display:inline-block;animation:1s linear infinite spin!important}[data-theme=dark] .custom-spinner{border-color:#64b5f6 #ffffff1a #ffffff1a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp}@keyframes pulseGlow{0%{box-shadow:0 0 #2563eb66}70%{box-shadow:0 0 0 10px #2563eb00}to{box-shadow:0 0 #2563eb00}}[data-theme=dark] .pulse-active{animation:2s infinite pulseGlow}
