/* ==========================================================================
   GLOBAL ACCESSIBILITY & FONT SIZE ENHANCEMENTS FOR SENIORS / OLDER USERS
   ========================================================================== */

html {
    font-size: 17px;
}

body {
    font-size: 1.05rem;
    line-height: 1.6;
}

/* Form Inputs, Labels & Selects - High Visibility */
input[type="text"],
input[type="number"],
input[type="date"],
input[type="month"],
input[type="password"],
input[type="email"],
select,
textarea {
    font-size: 16px !important;
}

label, 
.form-group label {
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Select2 Dropdown Enhancements */
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    font-size: 16px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 16px !important;
    line-height: 38px !important;
}

.select2-dropdown,
.select2-results__option {
    font-size: 16px !important;
    padding: 8px 14px !important;
}

/* Table Readability */
table,
.production-table,
.data-table {
    font-size: 16px !important;
}

table th,
.production-table th {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 8px !important;
}

table td,
.production-table td {
    font-size: 16px !important;
    padding: 8px 10px !important;
}

/* Production Table Specific Number Cells - Large & Legible for Older People */
.production-table input[type="number"] {
    font-size: 24px !important;
    font-weight: 700 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 6px 4px !important;
    letter-spacing: 1px !important;
    border-radius: 6px !important;
    color: #111 !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.08);
}

.production-table td:first-child {
    font-size: 20px !important;
    font-weight: 700 !important;
    min-width: 52px !important;
    width: 52px !important;
    background: #f0eef8; /* solid base - Sunday class overrides this */
    position: sticky !important;
    left: 0 !important;
    z-index: 5 !important;
    border-right: 2px solid #c5b8e8 !important;
}

/* Sunday sticky Day cell must stay red even on sticky column */
.production-table td.sunday-day {
    background: #e74c3c !important;
    color: #fff !important;
}

/* Worker Header Layout - Prevents Header Text & Action Buttons Clashing */
.worker-header {
    vertical-align: top !important;
    padding: 10px 8px 12px 8px !important;
    min-width: 140px !important;
}

.worker-header-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.worker-name {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-align: center !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
}

.worker-actions {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 4px !important;
}

.btn-remove-worker, .btn-swap-worker, .btn-delete-worker {
    width: 28px !important;
    height: 28px !important;
    font-size: 15px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Buttons */
button,
.btn-save,
.btn-load,
.btn-add-worker,
.btn-prev,
.btn-next,
.btn-primary,
.modal-btn {
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Modals */
.modal-title {
    font-size: 22px !important;
}

.modal-body {
    font-size: 17px !important;
    line-height: 1.6 !important;
}

/* Tooltips */
.tooltip .tooltiptext {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Disable native spin arrows to prevent accidental changes */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}
