/**
 * Compact form layout — less vertical space, tighter grouping (body.form-style-compact)
 * Works with existing Tailwind utility classes via overrides
 */

/* Main column: less outer padding so content starts higher */
body.form-style-compact main.flex-1.p-6 {
    padding: 0.75rem 1rem !important;
}

/* Page title + intro: single tighter header block */
body.form-style-compact main > a.mb-6,
body.form-style-compact main > .mb-6:first-of-type {
    margin-bottom: 0.375rem !important;
}
body.form-style-compact main h1.text-2xl {
    margin-bottom: 0.375rem !important;
}
body.form-style-compact main > p.text-slate-600.mb-8,
body.form-style-compact main p.mb-8 {
    margin-bottom: 0.5rem !important;
    font-size: 0.8125rem !important;
    line-height: 1.25rem !important;
}
body.form-style-compact main h1.mb-6 {
    margin-bottom: 0.5rem !important;
}

/* Card / form shells */
body.form-style-compact main .bg-white.rounded-2xl form.p-8,
body.form-style-compact main form.p-8 {
    padding: 0.75rem 1rem !important;
}
body.form-style-compact main .bg-white.rounded-xl.p-6,
body.form-style-compact main .bg-white.rounded-xl.shadow-sm.p-6 {
    padding: 0.75rem 1rem !important;
}
body.form-style-compact main .bg-white.border.p-6 {
    padding: 0.75rem 1rem !important;
}

/* Vertical rhythm inside forms */
body.form-style-compact form.space-y-4 > * + *,
body.form-style-compact .space-y-4 > * + * {
    margin-top: 0.5rem !important;
}
body.form-style-compact .space-y-3 > * + * {
    margin-top: 0.375rem !important;
}

/* Grids: tighter columns */
body.form-style-compact .gap-6 {
    gap: 0.625rem !important;
}
body.form-style-compact .gap-4 {
    gap: 0.5rem !important;
}
body.form-style-compact .gap-3 {
    gap: 0.375rem !important;
}

/* Section groups (border-l accent blocks) */
body.form-style-compact .border-l-4.pl-4.py-2.mb-6,
body.form-style-compact [class*="border-l-4"][class*="pl-4"] {
    padding-left: 0.75rem !important;
    padding-top: 0.125rem !important;
    padding-bottom: 0.125rem !important;
    margin-bottom: 0.5rem !important;
}
body.form-style-compact .border-l-4 h2.text-sm,
body.form-style-compact [class*="border-l-4"] h2 {
    margin-bottom: 0.375rem !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.05em !important;
}

/* Labels above fields */
body.form-style-compact label.block.text-sm.font-medium {
    margin-bottom: 0.125rem !important;
}

/* Section blocks inside forms */
body.form-style-compact main form .mb-6 {
    margin-bottom: 0.5rem !important;
}

/* Installment / gradient panel */
body.form-style-compact .p-6.bg-gradient-to-br {
    padding: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}
body.form-style-compact .p-6.bg-gradient-to-br .mb-4 {
    margin-bottom: 0.375rem !important;
}
body.form-style-compact .p-6.bg-gradient-to-br .mb-3 {
    margin-bottom: 0.25rem !important;
}

/* Form footer actions */
body.form-style-compact form .flex.gap-3.pt-4 {
    padding-top: 0.5rem !important;
    gap: 0.5rem !important;
}
body.form-style-compact form button.px-6.py-3,
body.form-style-compact form a.px-6.py-3 {
    padding: 0.5rem 1rem !important;
    font-size: 0.875rem !important;
}

/* Modals (customer / branch / user) */
body.form-style-compact .fixed.inset-0 .bg-white.rounded-xl.p-6 {
    padding: 0.75rem 1rem !important;
}
body.form-style-compact .fixed.inset-0 .my-8 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
/* Cap modal height but scroll inside the white panel so background always wraps content */
body.form-style-compact .fixed.inset-0 .max-w-md,
body.form-style-compact .fixed.inset-0 .max-w-2xl {
    max-height: calc(100vh - 2rem) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Charge rows */
body.form-style-compact .flex.gap-3.items-center.p-3 {
    padding: 0.375rem 0.5rem !important;
    gap: 0.375rem !important;
}

/* Report filter bars */
body.form-style-compact form.flex.gap-4.mb-6 {
    margin-bottom: 0.5rem !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
}

/* Dashboard / index cards */
body.form-style-compact main .mb-6.bg-white.p-6 {
    margin-bottom: 0.5rem !important;
    padding: 0.75rem !important;
}

/* Schedule table in loan form */
body.form-style-compact .max-h-60 {
    max-height: 12rem !important;
}
body.form-style-compact table th.py-2\.5,
body.form-style-compact table td.py-2\.5 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

/* Login page */
body.form-style-compact .max-w-md.rounded-2xl.p-8 {
    padding: 1rem 1.25rem !important;
}
body.form-style-compact .max-w-md h1.mb-6 {
    margin-bottom: 0.75rem !important;
    font-size: 1.125rem !important;
}
