/**
 * Global dense UI — typography, forms, tables, cards, modals (Jira/Linear-like density)
 * Loaded after vendor CSS; paired with layouts/app.blade.php + .app-content wrapper
 */
:root {
    --dms-font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
    --dms-text: #2d3a2c;
    --dms-text-muted: #6b7280;
    --dms-border: #e5e7eb;
    --dms-input-h: 33px;
    --dms-radius: 5px;
    --dms-radius-card: 6px;
    --dms-space-field: 10px;
    --dms-space-section: 18px;
}

html {
    font-size: 14px;
}

body {
    font-family: var(--dms-font-sans);
    font-size: 13px;
    line-height: 1.45;
    color: var(--dms-text);
}

/* ── Form labels (above inputs, subtle) ───────────────────────────── */
.app-content form label.block:not(.flex) {
    font-size: 12px;
    font-weight: 500;
    color: var(--dms-text-muted);
    margin-bottom: 6px;
}

/* ── Standard inputs ─────────────────────────────────────────────── */
.form-control-custom {
    height: var(--dms-input-h);
    font-size: 13px;
    padding: 6px 10px;
    border-radius: var(--dms-radius);
    border: 1px solid var(--dms-border);
    background: #fff;
    color: var(--dms-text);
    box-sizing: border-box;
}

.form-control-custom:focus {
    outline: none;
    border-color: #052b00;
    box-shadow: 0 0 0 2px rgba(5, 43, 0, 0.08);
}

textarea.form-control-custom {
    height: auto;
    min-height: 70px;
    line-height: 1.4;
}

.form-control-custom.form-control-disabled {
    background: #f3f4f6;
    border-color: var(--dms-border);
    color: #6b7280;
}

.form-control-plaintext {
    height: var(--dms-input-h);
    font-size: 13px;
    padding: 6px 10px;
    border-radius: var(--dms-radius);
    border: 1px solid var(--dms-border);
    background: #f9fafb;
    color: var(--dms-text);
    box-sizing: border-box;
}

/* ── Select2 (match input height & alignment) ───────────────────── */
.select2-container--default .select2-selection--single .select2-selection__clear {
    border: none !important;
}

.select2-container--default * {
    outline: none !important;
}

.select2-container .select2-selection--single {
    height: var(--dms-input-h) !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
}

.select2-selection__rendered {
    line-height: 1.25 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.select2-selection__arrow {
    height: var(--dms-input-h) !important;
    top: 0 !important;
}

.select2-selection--multiple {
    min-height: var(--dms-input-h) !important;
    padding: 3px 6px !important;
    align-items: center;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #fff !important;
    border: 1px solid var(--dms-border) !important;
    border-radius: var(--dms-radius) !important;
    box-shadow: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    color: var(--dms-text);
    font-size: 13px;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0 !important;
    line-height: normal !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9ca3af;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: #052b00 !important;
    box-shadow: 0 0 0 2px rgba(5, 43, 0, 0.08) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: var(--dms-input-h) !important;
    right: 10px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none !important;
    background: none !important;
    margin-left: -4px !important;
    margin-top: -2px !important;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #6b7280;
    display: inline-block;
}

.select2-container--default .select2-dropdown {
    border: 1px solid var(--dms-border) !important;
    border-radius: var(--dms-radius) !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.select2-container--default .select2-results__option {
    padding: 6px 10px !important;
    font-size: 13px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #f0f7ef !important;
    color: #052b00 !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #052b00 !important;
    color: #fff !important;
}

.select2-results__option--highlighted[aria-selected="true"] {
    background-color: #052b00 !important;
    color: #fff !important;
}

.select2-container--default .select2-selection__choice {
    background-color: #052b00 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    font-size: 12px !important;
}

.select2-container--default .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.85) !important;
    margin-right: 4px !important;
    font-size: 13px;
}

.select2-container--default .select2-selection__choice__remove:hover {
    color: #fff !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field,
.select2-container--default .select2-search--inline .select2-search__field {
    border: 1px solid var(--dms-border) !important;
    border-radius: var(--dms-radius) !important;
    padding: 5px 8px !important;
    background: #fff !important;
    font-size: 13px !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus,
.select2-container--default .select2-search--inline .select2-search__field:focus {
    border-color: #052b00 !important;
    outline: none !important;
}

.select2-container--default .select2-search--inline .select2-search__field {
    border: none !important;
    background: transparent !important;
    min-width: 100px;
}

/* ── Flatpickr ───────────────────────────────────────────────────── */
.flatpickr-input.form-control-custom {
    height: var(--dms-input-h);
}

.flatpickr-calendar {
    border: 1px solid var(--dms-border);
    border-radius: var(--dms-radius);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    background: #fff;
    font-size: 13px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff;
}

.flatpickr-months .flatpickr-month {
    background: #f3f4f6;
    color: #1f2937;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month .numInputWrapper span.arrowUp:after,
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    color: #374151;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month .numInputWrapper span.arrowUp:hover:after,
.flatpickr-current-month .numInputWrapper span.arrowDown:hover:after {
    color: #4a7c49;
}

span.flatpickr-weekday {
    color: #6b7280;
    font-weight: 600;
    font-size: 11px;
}

.flatpickr-day {
    font-size: 12px;
    line-height: 1.2;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
    fill: #6b7280;
    width: 12px;
    height: 12px;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #4a7c49;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay:hover,
.flatpickr-day.startRange.prevMonthDay:hover,
.flatpickr-day.endRange.prevMonthDay:hover,
.flatpickr-day.selected.nextMonthDay:hover,
.flatpickr-day.startRange.nextMonthDay:hover,
.flatpickr-day.endRange.nextMonthDay:hover {
    background: #7cb87c;
    border-color: #7cb87c;
    color: #fff;
}

.flatpickr-day:hover:not(.prevMonthDay):not(.nextMonthDay):not(.flatpickr-disabled) {
    background: #c8e6c9;
    border-color: #c8e6c9;
}

.flatpickr-day.today {
    border-color: #7cb87c;
}

.flatpickr-day.today:hover {
    background: #c8e6c9;
    border-color: #7cb87c;
}

/* ── Tables (default data tables in main content) ───────────────── */
.app-content table:not(.no-dense-table) th,
.app-content table:not(.no-dense-table) td {
    padding: 8px 10px;
    font-size: 13px;
    vertical-align: middle;
}

.app-content table:not(.no-dense-table) thead th {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

/* ── Primary actions (bg-primary or green hex from Tailwind arbitrary) ─ */
.app-content a.bg-primary.text-white,
.app-content button.bg-primary.text-white,
.app-content a.text-white[class*="052b00"],
.app-content button.text-white[class*="052b00"] {
    min-height: 32px;
    padding: 6px 12px !important;
    font-size: 13px !important;
    font-weight: 500;
    line-height: 1.25;
    border-radius: var(--dms-radius) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.app-content a.inline-flex.bg-primary,
.app-content button.inline-flex.bg-primary,
.app-content a.inline-flex.text-white[class*="052b00"],
.app-content button.inline-flex.text-white[class*="052b00"] {
    min-height: 32px;
}

.app-content button.w-full.bg-primary,
.app-content a.w-full.bg-primary,
.app-content button.w-full.text-white[class*="052b00"] {
    min-height: 34px;
}

/* ── SweetAlert2 dense ───────────────────────────────────────────── */
.swal2-popup.swal2-dense {
    padding: 16px 18px !important;
    border-radius: var(--dms-radius-card) !important;
    border: 1px solid var(--dms-border) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
    font-size: 13px !important;
}

.swal2-dense .swal2-title {
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 0 0 8px !important;
}

.swal2-dense .swal2-html-container {
    font-size: 13px !important;
    margin: 0.25rem 0 0 !important;
    line-height: 1.45 !important;
}

.swal2-dense .swal2-actions {
    margin-top: 14px !important;
    gap: 8px !important;
}

.swal2-popup.swal2-dense .swal2-actions button {
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: var(--dms-radius) !important;
    min-height: 32px;
    box-shadow: none !important;
    margin: 0 !important;
}

.swal2-popup.swal2-dense .swal2-confirm {
    background-color: #052b00 !important;
    color: #fff !important;
    border: none !important;
}

.swal2-popup.swal2-dense .swal2-cancel {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid var(--dms-border) !important;
}
