body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body,html{height:100%;overflow-x:hidden}#root{height:100%;min-height:100vh}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-boundary{align-items:center;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;display:flex;justify-content:center;min-height:100vh;padding:20px;text-align:center}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}html{scroll-behavior:smooth}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[contenteditable=true],input,textarea{-webkit-user-select:text;user-select:text}body,html{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}[role=button],[tabindex],a,button,input,select,textarea{touch-action:manipulation}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.backdrop-blur-lg,.backdrop-blur-md,.backdrop-blur-sm,[class*=backdrop-blur]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fffffff2!important}}.fixed,.sticky,[class*=fixed],[class*=sticky]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}[class*=grid],[style*="display: grid"]{display:grid}input,select,textarea{font-size:16px!important}body{min-height:-webkit-fill-available;min-height:fill-available}html{height:-webkit-fill-available;height:fill-available}.overflow-auto,.overflow-x-auto,.overflow-y-auto,[style*="overflow-x: auto"],[style*="overflow-y: auto"],[style*="overflow: auto"]{-webkit-overflow-scrolling:touch}.dialog,.modal,[role=alertdialog],[role=dialog]{overscroll-behavior:contain;-webkit-overscroll-behavior:contain}.animate,[class*=animate],[class*=transition]{transform:translateZ(0);will-change:transform}button,input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:none;appearance:none;border-radius:0}[role=button],a,button{min-height:44px;min-width:44px}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{-webkit-appearance:none;appearance:none}