@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-secondary:#7c3aed;--color-bg:#f8fafc;--color-surface:#ffffff;--color-text:#0f172a;--color-muted:#64748b;--color-border:#e2e8f0;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--space-xs:8px;--space-sm:12px;--space-md:20px;--space-lg:32px;--space-xl:48px;--space-2xl:72px;--space-3xl:96px}body{@apply bg-[var(--color-bg)] text-[var(--color-text)] font-sans antialiased;font-size:15px}@media (min-width:640px){body{font-size:16px}}@media (min-width:1024px){body{font-size:18px}}small{font-size:13px}@media (min-width:640px){small{font-size:14px}}@media (min-width:1024px){small{font-size:14px}}h1,h2,h3,h4,h5,h6{@apply font-bold tracking-tight text-[var(--color-text)]}h1{font-size:34px;line-height:1.2}@media (min-width:640px){h1{font-size:44px}}@media (min-width:1024px){h1{font-size:56px}}h2{font-size:28px;line-height:1.25}@media (min-width:640px){h2{font-size:36px}}@media (min-width:1024px){h2{font-size:44px}}h3{font-size:24px;line-height:1.3}@media (min-width:640px){h3{font-size:28px}}@media (min-width:1024px){h3{font-size:32px}}h4{font-size:20px;line-height:1.4}@media (min-width:640px){h4{font-size:22px}}@media (min-width:1024px){h4{font-size:24px}}p{@apply mb-4 leading-relaxed}a{@apply text-[var(--color-primary)] hover:text-[var(--color-primary-dark)] transition-colors}input,textarea,select{@apply font-sans}img{@apply max-w-full h-auto rounded-lg}}@layer components{.site-container{@apply w-[92%] mx-auto;max-width:1200px}@media (min-width:1280px){.site-container{max-width:1320px}}.section-padding{padding-top:56px;padding-bottom:56px}@media (min-width:640px){.section-padding{padding-top:72px;padding-bottom:72px}}@media (min-width:1024px){.section-padding{padding-top:96px;padding-bottom:96px}}.text-gradient{@apply bg-clip-text text-transparent bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-secondary)]}.page-header{@apply text-center mb-12}.btn-primary,.btn-secondary,.btn-outline,.btn-small,.btn-large{@apply inline-flex items-center justify-center font-medium rounded-lg transition-all duration-200 cursor-pointer min-h-[44px];padding:0 24px}.btn-primary{@apply bg-[var(--color-primary)] text-white shadow-sm hover:shadow hover:bg-[var(--color-primary-dark)] hover:-translate-y-0.5 active:scale-95}.btn-secondary{@apply bg-[var(--color-secondary)] text-white shadow-sm hover:shadow hover:opacity-90 hover:-translate-y-0.5 active:scale-95}.btn-outline{@apply border-2 border-[var(--color-primary)] text-[var(--color-primary)] bg-transparent hover:bg-[var(--color-primary)] hover:text-white}.btn-small{min-height:36px;padding:0 16px;font-size:14px}.btn-large{min-height:56px;padding:0 32px;font-size:18px}.btn-primary:disabled,.btn-secondary:disabled,.btn-outline:disabled{@apply opacity-50 cursor-not-allowed transform-none hover:shadow-none hover:bg-opacity-100}.card,.card-sm,.card-lg{@apply bg-[var(--color-surface)] border border-[var(--color-border)] rounded-xl shadow-sm overflow-hidden}.card{padding:var(--space-md)}.card-sm{padding:var(--space-sm)}.card-lg{padding:var(--space-lg)}.card-hover{@apply transition-all duration-300 hover:shadow-lg hover:-translate-y-1 hover:border-[var(--color-primary)]/30}.form-group{@apply flex flex-col gap-2 mb-4}.form-label{@apply font-medium text-[var(--color-text)] text-sm}.form-input,.form-textarea,.form-select{@apply w-full border border-[var(--color-border)] rounded-lg px-4 py-2.5 text-[var(--color-text)] bg-[var(--color-surface)] transition-colors focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/20 focus:border-[var(--color-primary)]}.form-textarea{@apply min-h-[120px] resize-y}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{@apply bg-slate-50 text-[var(--color-muted)] cursor-not-allowed}.form-error{@apply border-[var(--color-danger)] focus:border-[var(--color-danger)] focus:ring-[var(--color-danger)]/20}.form-error-msg{@apply text-[var(--color-danger)] text-sm mt-1}.badge{@apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-[var(--color-primary)]/10 text-[var(--color-primary)]}}@layer utilities{.responsive-grid,.grid-2,.grid-3,.grid-4{@apply grid gap-6;grid-template-columns:1fr}@media (min-width:640px){.grid-2,.grid-3,.grid-4,.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.responsive-grid{grid-template-columns:repeat(3,1fr)}}}