/* ===== App Layout ===== */ .app-wrapper { @apply flex flex-col min-h-screen bg-bg-primary; } .app-main { @apply flex-1 flex flex-col; } /* ===== Text Utilities ===== */ .text-muted { @apply text-text-tertiary; } /* ===== Form Utilities ===== */ .form-group { @apply space-y-2 mb-4; } .form-label { @apply block text-sm font-medium text-text-primary; } .form-input { @apply w-full px-3 py-2 rounded-md border border-text-tertiary bg-bg-secondary text-text-primary placeholder-text-tertiary focus:outline-none focus:ring-2 focus:ring-accent-warm focus:border-transparent; } .form-textarea { @apply w-full px-3 py-2 rounded-md border border-text-tertiary bg-bg-secondary text-text-primary placeholder-text-tertiary focus:outline-none focus:ring-2 focus:ring-accent-warm focus:border-transparent; resize: vertical; } .form-error { @apply text-sm text-danger mt-1; } .form-success { @apply text-sm text-success mt-1; } /* ===== Grid Utilities ===== */ .grid-responsive { @apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6; } .grid-two { @apply grid grid-cols-1 md:grid-cols-2 gap-6; } /* ===== Section Utilities ===== */ .section-header { @apply py-6 border-b border-text-tertiary; } .section-title { @apply text-3xl font-bold text-text-primary mb-2; } .section-subtitle { @apply text-text-secondary; }