@tailwind base;@tailwind components;@tailwind utilities;:root{--brand-50:#ecfdf5;--brand-100:#d1fae5;--brand-200:#a7f3d0;--brand-300:#6ee7b7;--brand-400:#34d399;--brand-500:#10b981;--brand-600:#059669;--brand-700:#047857;--brand-800:#065f46;--brand-900:#064e3b;--brand-text:#0f172a;--brand-muted:#475569;--brand-bg:#ffffff;--radius-xl: 1rem;--shadow-soft: 0 10px 25px -10px rgba(0,0,0,.15)}.btn-brand{@apply inline-flex items-center justify-center rounded-xl px-5 py-3 font-medium text-white shadow transition;background:var(--brand-600)}.btn-brand:hover{background:var(--brand-700)}.btn-brand:focus-visible{@apply outline-none ring-2;ring-color:var(--brand-600)}.badge{@apply inline-flex items-center rounded-full px-2.5 py-1 text-xs font-medium;background:var(--brand-50);color:var(--brand-700)}.card{@apply rounded-2xl bg-white border border-slate-200;box-shadow:var(--shadow-soft)}.prose-emigra :where(h2,h3){color:var(--brand-900)}@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}
