@tailwind base;@tailwind components;@tailwind utilities;@layer base{html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{@apply bg-gray-50 text-gray-900 font-sans antialiased;min-height:100dvh}input,select,textarea{font-size:16px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{@apply bg-gray-100;}::-webkit-scrollbar-thumb{@apply bg-gray-300 rounded-full;}::-webkit-scrollbar-thumb:hover{@apply bg-gray-400;}}@layer components{.btn-primary{@apply bg-brand-primary text-white px-4 py-2.5 rounded-lg font-medium hover:bg-indigo-900 active:scale-95 transition-all duration-150 disabled:opacity-50 disabled:cursor-not-allowed;}.btn-secondary{@apply bg-white text-brand-primary border border-brand-primary px-4 py-2.5 rounded-lg font-medium hover:bg-indigo-50 active:scale-95 transition-all duration-150 disabled:opacity-50;}.btn-teal{@apply bg-brand-secondary text-white px-4 py-2.5 rounded-lg font-medium hover:opacity-90 active:scale-95 transition-all duration-150;}.btn-danger{@apply bg-semantic-error text-white px-4 py-2.5 rounded-lg font-medium hover:opacity-90 active:scale-95 transition-all duration-150;}.form-label{@apply block text-sm font-medium text-gray-700 mb-1;}.form-input{@apply w-full border border-gray-200 rounded-lg px-3 py-2.5 text-gray-900 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-brand-primary focus:border-transparent transition-all bg-white;}.form-select{@apply form-input appearance-none cursor-pointer;}.form-textarea{@apply form-input resize-none min-h-[120px];}.toggle-group{@apply flex flex-wrap gap-2;}.toggle-btn{@apply px-3 py-1.5 rounded-full border text-sm font-medium transition-all cursor-pointer select-none active:scale-95;}.toggle-btn-active{@apply bg-brand-primary text-white border-brand-primary;}.toggle-btn-inactive{@apply bg-white text-gray-600 border-gray-200 hover:border-brand-primary hover:text-brand-primary;}.card{@apply bg-white rounded-xl border border-gray-100 shadow-sm;}.card-header{@apply px-4 py-3 border-b border-gray-100 font-semibold text-brand-primary;}.confidence-badge{@apply inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-semibold;}.status-badge{@apply inline-flex items-center px-2 py-0.5 rounded-md text-xs font-medium;}.bottom-sheet{@apply fixed inset-x-0 bottom-0 bg-white rounded-t-2xl shadow-2xl z-50 transition-transform duration-300;}.sticky-header{@apply sticky top-0 z-40 bg-white border-b border-gray-100 shadow-sm;}}
