@tailwind base;@tailwind components;@tailwind utilities;@layer components{.card{@apply rounded-2xl border border-slate-200 bg-white/80 backdrop-blur-sm shadow-sm;}.section-title{@apply text-xl font-semibold tracking-tight text-slate-900;}.label{@apply text-sm font-medium text-slate-700;}.hint{@apply text-xs text-slate-500;}.input,.textarea{@apply mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-slate-900 placeholder-slate-400 shadow-inner focus:border-emerald-500 focus:ring-2 focus:ring-emerald-100;}.btn-primary{@apply inline-flex items-center justify-center gap-2 rounded-lg bg-emerald-600 px-5 py-2.5 text-white font-medium shadow-sm hover:bg-emerald-700 active:bg-emerald-800 focus:outline-none focus:ring-2 focus:ring-emerald-300 disabled:opacity-60;}.alert-ok{@apply rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-emerald-800 text-sm;}.alert-err{@apply rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-red-700 text-sm;}.req{@apply text-red-500;}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.animate-fadeUp{animation:fadeUp .6s cubic-bezier(.2,.7,.2,1) both}.animate-scaleIn{animation:scaleIn .5s cubic-bezier(.2,.7,.2,1) both}.animate-slideIn{animation:slideIn .6s cubic-bezier(.2,.7,.2,1) both}.full-bleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
