@tailwind base;@tailwind components;@tailwind utilities;@layer utilities{.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}html{scroll-behavior:smooth}.touch-target{min-width:48px;min-height:48px}.will-change-transform{will-change:transform}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img[loading=lazy]{background:linear-gradient(to bottom,#f3f4f6,#e5e7eb)}}@layer base{:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%}@media (max-width: 640px){html{font-size:14px}h1{@apply text-2xl;}h2{@apply text-xl;}h3{@apply text-lg;}.container{@apply px-4;}}@media (max-width: 768px){button,a,input,select,textarea{@apply min-h-[44px];}button,a{@apply min-w-[44px];}input,select,textarea{@apply text-base;font-size:16px!important}button:not(.icon-only){@apply px-4 py-3;}.touch-target-spacing>*+*{margin-top:.5rem}}*{-webkit-overflow-scrolling:touch}html,body{overscroll-behavior-y:none;overflow-y:auto!important;height:auto!important;min-height:100vh}#root{overflow-y:auto!important;height:auto!important;min-height:100vh}@media (max-width: 768px){[role=dialog]{z-index:100;overflow-y:auto!important;max-height:100vh}body:has([role=dialog][data-state=open]){overflow:hidden;position:fixed;width:100%}body{overflow-y:auto!important;height:auto!important}body{padding-bottom:env(safe-area-inset-bottom)}.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}}:focus-visible{@apply outline-none ring-4 ring-blue-500 ring-offset-2;}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{@apply outline-none ring-4 ring-blue-500 ring-offset-2 ring-offset-white;transition:box-shadow .2s ease-in-out}.cta-primary:focus-visible{@apply ring-4 ring-blue-300 ring-offset-2;}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:3px solid #3B82F6;outline-offset:2px}.transition-smooth{@apply transition-all duration-200 ease-in-out;}@keyframes pulse-ring{0%{box-shadow:0 0 #3b82f6b3}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.focus-pulse:focus-visible{animation:pulse-ring 1.5s cubic-bezier(.66,0,0,1) infinite}
