/* Alpine.js utilities */
[x-cloak] {
    display: none !important;
}

/* Base styles - Dense UI */
:root {
    --primary: #3b82f6;
    --primary-dark: #2563eb;
    --success: #10b981;
    --warning: #f59e0b;
    --danger: #ef4444;
    --info: #3b82f6;
    --base-font-size: 12px;
}

/* Global font size reduction for dense UI */
html {
    font-size: 12px;
}

body {
    font-size: 12px;
    line-height: 1.4;
}

/* Dense text utilities */
.text-xs { font-size: 10px !important; }
.text-sm { font-size: 11px !important; }
.text-base { font-size: 12px !important; }
.text-lg { font-size: 14px !important; }
.text-xl { font-size: 16px !important; }
.text-2xl { font-size: 18px !important; }
.text-3xl { font-size: 20px !important; }

/* Dense padding overrides */
.p-4 { padding: 0.75rem !important; }
.p-6 { padding: 1rem !important; }
.px-4 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
.py-4 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }
.px-6 { padding-left: 1rem !important; padding-right: 1rem !important; }
.py-6 { padding-top: 1rem !important; padding-bottom: 1rem !important; }

/* Dense margin overrides */
.mb-6 { margin-bottom: 1rem !important; }
.mt-6 { margin-top: 1rem !important; }
.my-6 { margin-top: 1rem !important; margin-bottom: 1rem !important; }

/* Dense card styling */
.card {
    padding: 0.75rem !important;
}

/* Dense table styling */
table {
    font-size: 11px;
}

table th {
    font-size: 10px;
    padding: 0.35rem 0.5rem;
    text-transform: uppercase;
    font-weight: 600;
    background-color: #f1f5f9;
    white-space: nowrap;
}

table td {
    padding: 0.3rem 0.5rem;
    white-space: nowrap;
}

table tr:hover {
    background-color: #f8fafc;
}

/* Dense form inputs */
input, select, textarea {
    font-size: 12px !important;
    padding: 0.35rem 0.5rem !important;
}

/* Dense buttons */
button, .btn {
    font-size: 12px !important;
    padding: 0.35rem 0.75rem !important;
}

/* Sidebar dense */
.sidebar {
    font-size: 12px;
}

.sidebar .nav-link {
    padding: 0.5rem 0.75rem;
}

/* Dashboard cards dense */
.stat-card h3, .stat-card .text-3xl {
    font-size: 1.5rem !important;
}

.stat-card p, .stat-card .text-sm {
    font-size: 11px !important;
}

/* Dark mode overrides */
.dark {
    color-scheme: dark;
}

/* Transitions */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* Focus styles */
.focus-visible:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }
}