body {
    font-family: "Inter", "Nunito Sans", "Sarabun", sans-serif;
    background: linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0.9),
            rgba(0, 0, 0, 0.05)
        ),
        url("/assets/images/bg-nid-platform.jpg") no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: top;
    background-attachment: fixed;
}

.btn {
    font-family: "Inter", "Nunito Sans", "Sarabun", sans-serif;
}

.kanit {
    font-family: "Kanit", sans-serif !important;
}

.sarabun {
    font-family: "Sarabun", sans-serif !important;
}

.cover-page {
    z-index: -1;
    position: relative;
    top: 0;
    margin-top: -60px;
}

.cover-page-2 {
    z-index: -1;
    position: relative;
    top: 0;
    margin-top: -200px;
}

.term_of_use_and_policy_link {
    border-bottom: 2px solid transparent;
}

.term_of_use_and_policy_link:hover {
    color: #024284;
    border-bottom: 2px solid #024284;
}

/* Info Card Component */
.info-card {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    background-color: #fff;
    border-radius: 0.375rem;
    border: 1px solid rgba(0,0,0,.125);
    border-left: 4px solid #0d6efd;
}

.info-card.primary {
    border-color: #0d6efd;
    border-left: 4px solid #0d6efd;
}

.info-card.success {
    border-color: #198754;
    border-left: 4px solid #198754;
}

.info-card.info {
    border-color: #0dcaf0;
    border-left: 4px solid #0dcaf0;
}

.info-card.warning {
    border-color: #ffc107;
    border-left: 4px solid #ffc107;
}

.info-card-icon {
    font-size: 1.2rem;
    margin-right: 0.75rem;
}

.info-card-label {
    font-size: 0.875rem;
    color: #6c757d;
    display: block;
    margin-bottom: 0.125rem;
}

.info-card-value {
    font-weight: 600;
}

/* Workers Management Component - Compact Layout */
.workers-compact .card {
    margin-bottom: 0.75rem;
}

.workers-compact .card-header {
    padding: 0.5rem 0.75rem;
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.workers-compact .card-body {
    padding: 0.75rem;
}

/* Table bordered vertical styling */
.table-bordered-vertical {
    border: 1px solid #dee2e6;
}

.table-bordered-vertical th,
.table-bordered-vertical td {
    border: 1px solid #dee2e6;
}

/* Default vertical align top for all table cells */
.table-bordered-vertical td {
    vertical-align: top;
}

/* Middle alignment for radio button columns */
.table-bordered-vertical td.text-middle {
    vertical-align: middle;
}

/* Table header styling with dark blue theme - specific to themed tables */
.table-bordered-vertical.table-themed-blue thead th,
.table-bordered-vertical.table-themed-blue th {
    background-color: #086fd1;
    color: white;
    border-color: #086fd1;
    border: 1px solid #086fd1;
}

/* Specific border styling for table header cells to avoid white borders */
.table-bordered-vertical.table-themed-blue thead th:first-child,
.table-bordered-vertical.table-themed-blue th:first-child {
    border-left: 1px solid #086fd1;
    border-top: 1px solid #086fd1;
    border-bottom: 1px solid #086fd1 !important;
    border-right: none;
}

.table-bordered-vertical.table-themed-blue thead th:not(:first-child):not(:last-child),
.table-bordered-vertical.table-themed-blue th:not(:first-child):not(:last-child) {
    border-top: 1px solid #086fd1;
    border-bottom: 1px solid #086fd1 !important;
    border-left: none;
    border-right: none;
}

.table-bordered-vertical.table-themed-blue thead th:last-child,
.table-bordered-vertical.table-themed-blue th:last-child {
    border-right: 1px solid #086fd1;
    border-top: 1px solid #086fd1;
    border-bottom: 1px solid #086fd1 !important;
    border-left: none;
}

/* Second row header styling - light gray border-top for separation */
.table-bordered-vertical.table-themed-blue thead tr:nth-child(2) th {
    border-top: 2px solid #e9ecef !important;
}

/* Table border color - specific to themed tables */
.table-bordered-vertical.table-themed-blue,
.table-bordered-vertical.table-themed-blue td {
    border-color: #086fd1;
}

/* Form Control Hover Effects */
/* Datepicker และ Timepicker input cursor */
.datepicker,
input[type="text"].datepicker,
input[readonly].datepicker,
.form-control.datepicker,
.timepicker,
input[type="text"].timepicker,
.form-control.timepicker {
    cursor: text !important;
}

.datepicker:hover,
input[type="text"].datepicker:hover,
input[readonly].datepicker:hover,
.form-control.datepicker:hover,
.timepicker:hover,
input[type="text"].timepicker:hover,
.form-control.timepicker:hover {
    cursor: text !important;
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* Disabled datepicker และ timepicker */
.datepicker:disabled,
input[type="text"].datepicker:disabled,
.form-control.datepicker:disabled,
.timepicker:disabled,
input[type="text"].timepicker:disabled,
.form-control.timepicker:disabled {
    cursor: not-allowed !important;
}

.datepicker:disabled:hover,
input[type="text"].datepicker:disabled:hover,
.form-control.datepicker:disabled:hover,
.timepicker:disabled:hover,
input[type="text"].timepicker:disabled:hover,
.form-control.timepicker:disabled:hover {
    cursor: not-allowed !important;
    border-color: #ced4da !important;
    box-shadow: none !important;
}

/* Form Control General Hover Effect */
.form-control:hover:not(:disabled):not([readonly]) {
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* Form Select Hover Effect */
.form-select:hover:not(:disabled) {
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

.text-backdrop-blur {
    background: transparent;
    text-shadow:
        0 0 0.5rem rgba(255, 255, 255, 1),       /* Core glow - เข้มสุด */
        0 0 1rem rgba(255, 255, 255, 0.9),       /* Inner glow - เข้มมาก */
        0 0 2rem rgba(255, 255, 255, 0.8),       /* Middle glow - เข้มปานกลาง */
        0 0 3rem rgba(255, 255, 255, 0.6),       /* Outer glow - อ่อนลง */
        0 0 5rem rgba(255, 255, 255, 0.3),       /* Far glow - จางลง */
        0 0 7rem rgba(255, 255, 255, 0.1);       /* Ambient glow - จางมาก */
}