@tailwind base;@tailwind components;@tailwind utilities;:root{--brand-from: #7f1d1d;--brand-via: #b91c1c;--brand-to: #ef4444}.brand-gradient{background:linear-gradient(135deg,var(--brand-from),var(--brand-via) 50%,var(--brand-to))}.container-page{@apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8;}.card-base{@apply bg-white rounded-brand shadow-soft ring-1 ring-black/5;}.h1{@apply text-3xl sm:text-4xl font-semibold tracking-tight;}.h2{@apply text-2xl sm:text-3xl font-semibold tracking-tight;}.lead{@apply text-text-muted;}.input-base{@apply w-full rounded-xl border border-gray-200 bg-white px-3 py-2 text-sm outline-none ring-0 focus:border-brand-500 focus:ring-4 focus:ring-brand-500/20 transition;}.label-base{@apply mb-1 block text-sm font-medium text-gray-700;}.btn{@apply inline-flex items-center justify-center gap-2 rounded-xl px-4 py-2 text-sm font-medium transition shadow-soft;}.btn-primary{@apply text-white bg-brand-600 hover:bg-brand-700 focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-brand-500/30;}.btn-ghost{@apply text-text hover:bg-black/5;}.btn-outline{@apply border border-gray-300 text-text hover:bg-black/5;}.btn-danger{@apply text-white bg-danger hover:bg-red-700;}.btn-lg{@apply px-5 py-3 text-base;}.btn-sm{@apply px-3 py-1.5 text-xs;}.badge{@apply inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-xs font-medium;}.badge-brand{@apply text-white bg-brand-600;}.badge-success{@apply text-white bg-success;}.badge-warning{@apply text-white bg-warning;}.badge-muted{@apply text-text-muted bg-gray-100;}.table{@apply w-full text-sm;}.th{@apply text-left font-semibold text-gray-600 border-b border-gray-200 px-3 py-2;}.td{@apply border-b border-gray-100 px-3 py-2;}.tr-hover:hover{@apply bg-gray-50;}
