.container { max-width: 1200px; }
.grid { display: grid; }
.gap-8 { gap: 2rem; }
.gap-6 { gap: 1.5rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }
.space-y-3 > * + * { margin-top: 0.75rem; }
.space-y-2 > * + * { margin-top: 0.5rem; }
.flex { display: flex; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.w-full { width: 100%; }
.w-5 { width: 1.25rem; }
.h-5 { height: 1.25rem; }
.mr-3 { margin-right: 0.75rem; }
.mr-2 { margin-right: 0.5rem; }
.ml-3 { margin-left: 0.75rem; }
.mb-2 { margin-top: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-1 { margin-top: 0.25rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.appearance-none { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.relative { position: relative; }
.focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; }
.focus\:ring-2:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-cyan-500:focus { --tw-ring-color: #06b6d4; }
.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; }
.focus\:border-cyan-500:focus { border-color: #06b6d4; }
.transition-colors { transition-property: color, background-color, border-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.disabled\:opacity-50:disabled { opacity: 0.5; }
.disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }
.group:hover .group-hover\:text-slate-900 { color: #0f172a; }
.animate-spin { animation: spin 1s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.absolute { position: absolute; }
.left-0 { left: 0; }
.inset-y-0 { top: 0; bottom: 0; }
.pl-3 { padding-left: 0.75rem; }
.border-transparent { border-color: transparent; }
.hidden { display: none !important; }
.-ml-1 { margin-left: -0.25rem; }
.flex-shrink-0 { flex-shrink: 0; }
.resize-vertical { resize: vertical; }

@media (max-width: 768px) {
    .container { padding-left: 1rem; padding-right: 1rem; }
    .bg-slate-800 { padding: 1.5rem; }
    h1 { font-size: 2rem; }
    h2 { font-size: 1.5rem; }
}