/* =========================================================
   NGHỈ PHÉP - CALENDAR
========================================================= */

.np-calendar {
    width: 100%;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}


/* Header */

.np-calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    background: var(--erp-color-15);
    border-bottom: 1px solid #dee2e6;
}

#np_calendar_title {
    font-size: 15px;
}


/* Thứ */

.np-calendar-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    border-bottom: 1px solid #dee2e6;
    background: var(--erp-color-8);
}

.np-calendar-week>div {
    text-align: center;
    padding: 7px 2px;
    font-size: 12px;
    font-weight: 600;
}


/* Ngày */

.np-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}


.np-calendar-day {
    min-height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;

    cursor: pointer;

    font-size: 13px;

    transition:
        background-color .15s ease,
        color .15s ease;
}


.np-calendar-day:hover {
    background: #f1f3f5;
}


/* Ngày không thuộc tháng */

.np-calendar-day.other-month {
    color: #adb5bd;
    background: #fafafa;
}


/* Ngày hôm nay */

.np-calendar-day.today {
    font-weight: 700;
    box-shadow: inset 0 0 0 1px #FCAF17;
}


/* Ngày được chọn */

.np-calendar-day.selected {
    background: #FCAF17;
    color: #1D3455;
    font-weight: 700;
}

/* Ngày nghỉ đã chọn */

.np-selected-days {
    max-height: 220px;
    overflow-y: auto;
}

.np-selected-row {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}


.np-selected-date {
    flex: 1;
    font-size: 13px;
    font-weight: 600;
}


.np-selected-buoi {
    width: 105px;
}


.np-selected-remove {
    width: 30px;
    height: 30px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Tổng */

.np-total-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    margin-bottom: 15px;
    border-radius: 6px;
    background: #f8f9fa;
}

.np-total-box strong {
    font-size: 16px;
    color: #1D3455;
}

/* Inline block & bold helpers */
.np-bold {
    font-weight: bold;
}

/* ==========================================
   1. QUỐC HIỆU TÂU NGỮ
   ========================================== */
.np-detail-national {
    text-align: center;
    /* margin-bottom: 20px; */
}

.np-national-title {
    font-weight: bold;
    font-size: 13pt;
    text-transform: uppercase;
}

.np-national-subtitle {
    font-weight: bold;
    font-size: 13pt;
    margin-top: 3px;
}

.np-national-line {
    font-size: 12pt;
    letter-spacing: 3px;
    margin-top: 6px;
}

/* ==========================================
   2. TIÊU ĐỀ ĐƠN
   ========================================== */
.np-detail-title {
    text-align: center;
    font-weight: bold;
    font-size: 16pt;
    text-transform: uppercase;
    margin: 15px 0 25px 0;
}

/* ==========================================
   3. KÍNH GỬI
   ========================================== */
.np-detail-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 100px;
    /* Thụt vào lề cho phần kính gửi */
    margin-bottom: 20px;
}

.np-detail-section>div {
    line-height: 1.4;
}

/* ==========================================
   4. NỘI DUNG ĐƠN
   ========================================== */
.np-detail-body {
    margin-top: 15px;
}

.np-line {
    margin-bottom: 6px;
    text-align: justify;
    text-indent: 10mm;
}

.np-line-space {
    margin-top: 6px;
    margin-bottom: 6px;
}

.np-detail-days {
    display: inline-block;
}

.np-detail-body strong {
    font-weight: bold;
}

.np-detail-body em {
    font-style: italic;
}

.np-detail-request {
    margin-top: 15px;
    margin-bottom: 30px;
    text-align: justify;
}

/* ==========================================
   5. KHU VỰC CHỮ KÝ CÁC BÊN
   ========================================== */
.np-sign-area {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.np-sign-col {
    width: 33.33%;
    text-align: center;
}

.np-sign-title {
    font-weight: bold;
    font-size: 12pt;
    text-transform: uppercase;
}

.np-sign-space {
    height: 70px;
    /* Khoảng trống ký tên */
}

/* Người làm đơn */
.np-applicant {
    width: 33.33%;
    margin-left: auto;
    /* Đẩy sang góc phải */
    text-align: center;
    margin-bottom: 30px;
}

.np-applicant-date {
    font-style: italic;
    font-size: 12pt;
    margin-bottom: 5px;
}

.np-applicant-space {
    height: 100px;
    /* Khoảng trống ký tên người làm đơn */
}

.np-applicant-name {
    font-weight: bold;
}

/* ==========================================
   6. PHẦN BỔ SUNG: PHÉP NĂM & PHÊ DUYỆT (CUỐI TRANG)
   ========================================== */
/* Khung màu cam chứa thông tin phép năm và ý kiến HR */
.np-hr-section,
.np-hr-approval  {
    /* background-color: var(--erp-color-1); */
    border: 5px solid rgba(200, 210, 220, 1); 
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    float: left;
    font-size: 11pt;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.np-hr-title {
    font-weight: bold;
    font-size: 11pt;
    /* margin-bottom: 6px; */
}

.np-hr-line {
    width: 80%;
    display: flex;
    justify-content: space-between;
    padding: 6px 0px 0px 0px;
    text-indent: 5mm;

}

.np-hr-line em {
    font-style: italic;
}

.np-hr-text {
    margin: 3px 0 0 0;
    text-align: justify;
}

/* Khối phê duyệt Ban Tổng Giám đốc phía dưới bên phải */
.np-approval-sign {
    width: 38%;
    float: right;
    text-align: center;
    margin-top: 15px;
}

.np-approval-space {
    height: 80px;
}

/* Clearfix giải quyết float để không tràn khung A4 */
.np-detail-wrap::after {
    content: "";
    display: table;
    clear: both;
}

/* ==========================================
   TỐI ƯU KHI IN ẤN (PRINT)
   ========================================== */
@media print {
    body {
        background: none;
    }

    .np-detail-wrap {
        box-shadow: none;
        padding: 0;
        width: 100%;
        height: auto;
    }
}