/* =====================================================
   RESET
===================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


body {

    font-family:
        Arial,
        "Tahoma",
        sans-serif;

    background: #f7f9f8;

    color: #17352a;

    direction: rtl;

}



/* =====================================================
   HEADER
===================================================== */

.public-header {

    height: 72px;

    background: #ffffff;

    border-bottom:
        1px solid #e6ebe8;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding:
        0 32px;

    direction: ltr;

}


.header-logo img {

    width: 180px;

    height: auto;

    display: block;

}


.header-user {

    display: flex;

    align-items: center;

    gap: 9px;

    color: #234b3a;

    font-size: 13px;

    direction: rtl;

}


.user-icon {

    width: 34px;

    height: 34px;

    border-radius: 50%;

    background: #eef5f0;

    color: #276346;

    display: flex;

    align-items: center;

    justify-content: center;

}


.header-user
.fa-chevron-down {

    font-size: 9px;

    margin-right: 4px;

}



/* =====================================================
   MAIN
===================================================== */

.directory-page {

    width: calc(100% - 48px);

    max-width: 1450px;

    margin:
        22px auto 28px;

}



/* =====================================================
   TOP SECTION
===================================================== */

.directory-top {

    background: #ffffff;

    border:
        1px solid #e5ebe7;

    border-radius: 9px;

    padding: 17px 20px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    direction: ltr;

    box-shadow:
        0 2px 10px
        rgba(25, 55, 40, .04);

}


.directory-title {

    display: flex;

    align-items: center;

    gap: 15px;

    direction: ltr;

}


.directory-title-icon {

    width: 48px;

    height: 48px;

    border-radius: 50%;

    background: #eef6f1;

    color: #236345;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 20px;

}


.directory-title h1 {

    font-size: 21px;

    color: #174b35;

    margin-bottom: 4px;

    direction: ltr;

}


.directory-title p {

    font-size: 12px;

    color: #7b8882;

    direction: ltr;

}



/* =====================================================
   ACTIONS
===================================================== */

.directory-actions {

    display: flex;

    align-items: center;

    gap: 10px;

    direction: ltr;

}


.public-search {

    width: 270px;

    height: 40px;

    border:
        1px solid #dce4df;

    border-radius: 5px;

    background: #ffffff;

    display: flex;

    align-items: center;

    gap: 9px;

    padding: 0 12px;

}


.public-search i {

    color: #7c8a84;

    font-size: 13px;

}


.public-search input {

    border: none;

    outline: none;

    width: 100%;

    font-size: 11px;

    color: #34473e;

}


.public-search input::placeholder {

    color: #9aa49f;

}


.print-btn,
.download-btn {

    height: 40px;

    border: none;

    border-radius: 5px;

    padding:
        0 18px;

    font-size: 12px;

    font-weight: 600;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

}


.print-btn {

    background: #14603e;

    color: #ffffff;

}


.download-btn {

    background: #edf5ef;

    color: #14603e;

    border:
        1px solid #d9e8dd;

}


.print-btn:hover {

    background: #0f5134;

}


.download-btn:hover {

    background: #e1eee5;

}



/* =====================================================
   DIRECTORY BOX
===================================================== */

.public-directory-box {

    margin-top: 12px;

    background: #ffffff;

    border:
        1px solid #e3e9e5;

    border-radius: 8px;

    overflow: hidden;

    box-shadow:
        0 2px 10px
        rgba(25, 55, 40, .04);

}


.public-directory-table {

    width: 100%;

    border-collapse: collapse;

    table-layout: fixed;

    direction: rtl;

}


.public-directory-table thead {

    background: #f4f7f5;

}


.public-directory-table th {

    height: 38px;

    padding:
        8px 12px;

    color: #37483f;

    font-size: 11px;

    font-weight: 700;

    border-bottom:
        1px solid #e0e6e2;

}


.public-directory-table td {

    height: 31px;

    padding:
        6px 12px;

    font-size: 11px;

    color: #4a514d;

    text-align: center;

    border-bottom:
        1px solid #edf0ee;

}


.public-directory-table
.employee-row:hover {

    background: #fafcfb;

}


.employee-name {

    font-weight: 500;

    color: #253c32 !important;

}


.extension-number {

    direction: ltr;

}



/* =====================================================
   DEPARTMENT HEADERS
===================================================== */

.department-header td {

    height: 32px;

    padding: 0 15px;

    font-weight: 700;

    border-bottom: none;

}


.department-header-content {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

}


.department-header-content i {

    font-size: 12px;

}

/* =====================================================
   DEPARTMENT COLORS
===================================================== */


/* GREEN */

.department-header.green td {

    background: #e8f3ea;

    color: #35734a;

}


/* YELLOW */

.department-header.yellow td {

    background: #fff3d6;

    color: #9a721c;

}


/* BLUE */

.department-header.blue td {

    background: #e7f1fa;

    color: #386b94;

}


/* PURPLE */

.department-header.purple td {

    background: #eee8f8;

    color: #71509a;

}


/* PINK */

.department-header.pink td {

    background: #f9e8ed;

    color: #a6536b;

}


/* ORANGE */

.department-header.orange td {

    background: #fff0df;

    color: #b96b28;

}


/* =====================================================
   NO RESULTS
===================================================== */

.no-results {

    display: none;

    min-height: 220px;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 10px;

    color: #89948e;

    font-size: 13px;

}


.no-results.show {

    display: flex;

}


.no-results i {

    font-size: 25px;

    color: #aeb8b3;

}


/* =====================================================
   FOOTER
===================================================== */

.public-footer {

    width: 100%;

    background: #286044;

    border-bottom:
        4px solid #e39a16;

    color: #ffffff;

    padding:
        22px 42px;

    display: grid;

    grid-template-columns:
        1.2fr
        1fr
        1.2fr
        .9fr;

    gap: 0;

    direction: rtl;

    box-sizing: border-box;

}


.public-footer .footer-section {

    padding:
        0 25px;

    min-height: 85px;

    text-align: right;

}


.public-footer .footer-section:not(:last-child) {

    border-left:
        1px solid
        rgba(255,255,255,.22);

    border-right: none;

}


.public-footer .footer-section h3 {

    font-size: 13px;

    margin:
        0 0 9px;

    color: #ffffff;

}


.public-footer .footer-section p {

    font-size: 10px;

    line-height: 1.7;

    margin: 0 0 4px;

    color: #f0f4f1;

}


.public-footer .footer-section i {

    margin-left: 5px;

    margin-right: 0;

    color: #dfeee3;

}
/* =====================================================
   PRINT
===================================================== */

@media print {

    /* =================================================
       A4 - ONE PAGE
    ================================================= */

    @page {
        size: A4 portrait;
        margin: 5mm;
    }


    /* =================================================
       PAGE
    ================================================= */

    body {
        background: #ffffff !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    /* =================================================
       HIDE WEBSITE ELEMENTS
    ================================================= */

    .directory-actions,
    .directory-title,
    .header-user,
    .site-footer,
    .public-footer,
    .profile-modal,
    .no-results {
        display: none !important;
    }


    /* =================================================
       HIDE EMPLOYEES WITHOUT EXTENSION
    ================================================= */

    .print-hide {
        display: none !important;
    }


    /* =================================================
       MAIN PAGE
    ================================================= */

    .directory-page {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }


   /* =================================================
   HEADER / LOGO - PRINT
================================================= */

.public-header {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    height: 48px !important;

    margin: 0 0 2px 0 !important;
    padding: 0 !important;

    border: none !important;
    box-shadow: none !important;
}


.header-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;
}
.header-logo img {
    display: block !important;

    width: 150px !important;
    height: auto !important;

    margin: 0 auto !important;
    padding: 0 !important;

    transform: scale(1.35) !important;
    transform-origin: center center !important;
}
    /* =================================================
       DIRECTORY TOP
    ================================================= */

    .directory-top {
        margin: 0 !important;
        padding: 0 !important;

        border: none !important;
        box-shadow: none !important;
    }


    /* =================================================
       DIRECTORY BOX
    ================================================= */

    .public-directory-box {
        width: 100% !important;

        border: none !important;
        box-shadow: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }


    /* =================================================
       TABLE
    ================================================= */

    .public-directory-table {
        width: 100% !important;

        min-width: 0 !important;

        border-collapse: collapse !important;

        table-layout: fixed !important;

        font-size: 8px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* =================================================
       TABLE CELLS
    ================================================= */

    .public-directory-table th,
    .public-directory-table td {

        border: 1px solid #ddd !important;

        padding: 2px 3px !important;

        line-height: 1.1 !important;

        height: auto !important;

        vertical-align: middle !important;
    }


    /* =================================================
       TABLE HEADER
    ================================================= */

    .public-directory-table th {

        font-size: 14px !important;

        font-weight: bold !important;

        padding: 2px 3px !important;
    }


    /* =================================================
       EMPLOYEE ROWS
    ================================================= */

    .public-directory-table td {

        font-size: 11px !important;

        font-weight: bold !important;

        padding: 2px 3px !important;
    }


    /* =================================================
       KEEP ROWS TOGETHER
    ================================================= */

    .public-directory-table tr {

        page-break-inside: avoid !important;

        break-inside: avoid !important;
    }


    .public-directory-table thead {

        display: table-header-group !important;
    }


    /* =================================================
       DEPARTMENT HEADERS
    ================================================= */

    .department-header td {

        padding: 2px 3px !important;

        font-size: 8px !important;

        font-weight: bold !important;

        line-height: 1.1 !important;

        page-break-inside: avoid !important;

        break-inside: avoid !important;

        -webkit-print-color-adjust: exact !important;

        print-color-adjust: exact !important;
    }


    /* =================================================
       GREEN
    ================================================= */

    .department-header.green td {

        background: #E8F4E9 !important;

        color: #27613F !important;

        -webkit-print-color-adjust: exact !important;

        print-color-adjust: exact !important;
    }


    /* =================================================
       YELLOW
    ================================================= */

    .department-header.yellow td {

        background: #FFF3D6 !important;

        color: #9A6A00 !important;

        -webkit-print-color-adjust: exact !important;

        print-color-adjust: exact !important;
    }


    /* =================================================
       BLUE
    ================================================= */

    .department-header.blue td {

        background: #E7F1FA !important;

        color: #28618A !important;

        -webkit-print-color-adjust: exact !important;

        print-color-adjust: exact !important;
    }


    /* =================================================
       PURPLE
    ================================================= */

    .department-header.purple td {

        background: #EEE8F8 !important;

        color: #70489A !important;

        -webkit-print-color-adjust: exact !important;

        print-color-adjust: exact !important;
    }


    /* =================================================
       PINK
    ================================================= */

    .department-header.pink td {

        background: #F9E8ED !important;

        color: #A44763 !important;

        -webkit-print-color-adjust: exact !important;

        print-color-adjust: exact !important;
    }


    /* =================================================
       ORANGE
    ================================================= */

    .department-header.orange td {

        background: #FFF0DF !important;

        color: #B85F20 !important;

        -webkit-print-color-adjust: exact !important;

        print-color-adjust: exact !important;
    }

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 600px) {

    .directory-top {
        flex-direction: column;
        align-items: stretch;
    }


    .directory-actions {
        width: 100%;
        flex-wrap: wrap;
    }


    .public-search {
        flex: 1;
        min-width: 220px;
    }


    .public-footer {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }


    .footer-section:not(:last-child) {
        border-right: none;
    }

}


@media (max-width: 600px) {

    .directory-page {
        width: calc(100% - 20px);
    }


    .public-header {
        padding: 0 15px;
    }


    .header-logo img {
        width: 145px;
    }


    .directory-actions {
        flex-direction: column;
        align-items: stretch;
    }


    .public-search {
        width: 100%;
    }


    .print-btn,
    .download-btn {
        width: 100%;
    }


    .public-directory-box {
        overflow-x: auto;
    }


    .public-directory-table {
        min-width: 750px;
    }


    .public-footer {
        grid-template-columns: 1fr;
        padding: 20px;
    }


    .footer-section {
        padding: 10px 0;
    }

}
/* =====================================================
   DEPARTMENT HEADER COLORS
===================================================== */

.department-header.green td {
    background: #E8F4E9 !important;
    color: #27613F !important;
}

.department-header.yellow td {
    background: #FFF3D6 !important;
    color: #9A6A00 !important;
}

.department-header.blue td {
    background: #E7F1FA !important;
    color: #28618A !important;
}

.department-header.purple td {
    background: #EEE8F8 !important;
    color: #70489A !important;
}

.department-header.pink td {
    background: #F9E8ED !important;
    color: #A44763 !important;
}

.department-header.orange td {
    background: #FFF0DF !important;
    color: #B85F20 !important;
}
/* =====================================================
   LOGIN PAGE
===================================================== */

.login-page {
    width: 100%;
    min-height: 100vh;

    display: flex;

    background: #f5f8f6;

    overflow: hidden;
}


/* =====================================================
   LEFT SIDE - LOGIN
===================================================== */

.login-section {
    width: 52%;
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px 60px;
}


.login-box {
    width: 100%;
    max-width: 430px;
}


/* =====================================================
   PROFILE ICON ABOVE WELCOME
===================================================== */

.login-icon {
    width: 54px;
    height: 54px;

    border-radius: 50%;

    background: #eaf3ed;

    color: #286044;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 19px;

    margin-bottom: 18px;

    box-shadow: none;
}


.login-icon i {
    font-size: 19px;
}


/* =====================================================
   LOGIN TITLE
===================================================== */

.login-box h2 {
    margin: 0 0 8px 0;

    font-size: 28px;
    font-weight: 700;

    color: #173f2d;

    text-align: left;
}


.login-subtitle {
    margin: 0 0 32px 0;

    font-size: 13px;

    color: #7a8981;

    text-align: left;
}


/* =====================================================
   LOGIN FIELD
===================================================== */

.login-field {
    width: 100%;

    margin-bottom: 20px;
}


.login-field label {
    display: block;

    margin-bottom: 8px;

    font-size: 13px;

    font-weight: 600;

    color: #30483c;

    text-align: left;
}


/* =====================================================
   INPUT WRAPPER
===================================================== */

.login-page .input-wrapper {

    width: 100%;
    height: 48px;

    display: flex !important;
    align-items: center !important;

    flex-direction: row !important;

    background: #ffffff;

    border: 1px solid #d8e1dc;

    border-radius: 7px;

    padding: 0 13px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;

}


/* Focus */

.login-page .input-wrapper:focus-within {

    border-color: #286044;

    box-shadow:
        0 0 0 3px
        rgba(40, 96, 68, 0.08);

}


/* =====================================================
   LEFT INPUT ICON
===================================================== */

.login-page .input-wrapper > i {

    position: static !important;

    width: 20px !important;
    height: auto !important;

    flex-shrink: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin:
        0 10px 0 0 !important;

    padding: 0 !important;

    color: #819088 !important;

    font-size: 14px !important;

    transform: none !important;
}


/* =====================================================
   INPUT
===================================================== */

.login-page .input-wrapper input {

    position: static !important;

    flex: 1 !important;

    width: auto !important;
    height: 100% !important;

    border: none !important;
    outline: none !important;

    background: transparent !important;

    padding: 0 !important;
    margin: 0 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;

    color: #263d32;

    text-align: left !important;
}


.login-page .input-wrapper input::placeholder {

    color: #a1aca6;

    opacity: 1;
}


/* =====================================================
   REMOVE BROWSER AUTOFILL COLOR
===================================================== */

.login-page .input-wrapper input:-webkit-autofill {

    -webkit-box-shadow:
        0 0 0 1000px #ffffff inset !important;

    -webkit-text-fill-color: #263d32 !important;
}


/* =====================================================
   PASSWORD EYE BUTTON
===================================================== */

.login-page .password-toggle {

    position: static !important;

    width: 30px !important;
    height: 30px !important;

    flex-shrink: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin:
        0 0 0 5px !important;

    padding: 0 !important;

    border: none !important;

    border-radius: 5px;

    background: transparent !important;

    color: #819088;

    cursor: pointer;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}


.login-page .password-toggle:hover {

    color: #286044;

    background: #f0f5f2 !important;
}


.login-page .password-toggle i {

    font-size: 14px;
}


/* =====================================================
   ERROR MESSAGE
===================================================== */

.login-error {

    width: 100%;

    min-height: 42px;

    display: flex;
    align-items: center;

    gap: 9px;

    padding: 10px 13px;

    margin-bottom: 18px;

    background: #fff1f1;

    border: 1px solid #f2cccc;

    border-radius: 7px;

    color: #b52e2e;

    font-size: 12px;
}


.login-error i {

    font-size: 14px;

    flex-shrink: 0;
}


/* =====================================================
   LOGIN BUTTON
===================================================== */

.login-button {

    width: 100%;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    border: none;

    border-radius: 7px;

    background: #286044;

    color: #ffffff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.1s ease;
}


.login-button:hover {

    background: #1e5139;
}


.login-button:active {

    transform: translateY(1px);
}


.login-button i {

    font-size: 13px;
}


/* =====================================================
   HELP TEXT
===================================================== */

.login-help {

    margin-top: 22px;

    text-align: center;

    color: #8a9690;

    font-size: 10px;

    line-height: 1.6;
}


/* =====================================================
   RIGHT SIDE - BRAND
===================================================== */

.login-brand {

    width: 48%;
    min-height: 100vh;

    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #286044,
            #174b35
        );

    overflow: hidden;
}


/* =====================================================
   ORANGE BOTTOM LINE
===================================================== */

.login-brand::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 6px;

    background: #d9921e;
}


/* =====================================================
   BRAND CONTENT
===================================================== */

.brand-content {

    width: 75%;

    text-align: center;

    color: #ffffff;
}


.login-logo {

    width: 230px;

    max-width: 80%;

    height: auto;

    margin-bottom: 28px;
}


/* =====================================================
   BRAND TITLE
===================================================== */

.brand-content h1 {

    margin: 0 0 10px 0;

    font-size: 30px;

    font-weight: 700;

    color: #ffffff;
}


.brand-content > p {

    margin: 0;

    font-size: 14px;

    color: #edf5f0;
}


/* =====================================================
   ORANGE LINE
===================================================== */

.brand-line {

    width: 60px;

    height: 3px;

    margin: 25px auto;

    background: #d9921e;
}


/* =====================================================
   BRAND DESCRIPTION
===================================================== */

.brand-description {

    max-width: 390px;

    margin: 0 auto;

    font-size: 13px;

    line-height: 1.8;

    color: #dce9e2;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 900px) {

    .login-brand {

        width: 45%;
    }

    .login-section {

        width: 55%;

        padding: 35px;
    }

    .login-logo {

        width: 180px;
    }

    .brand-content h1 {

        font-size: 25px;
    }

}


/* =====================================================
   TABLET / MOBILE
===================================================== */

@media (max-width: 700px) {

    .login-page {

        display: block;
    }


    .login-brand {

        width: 100%;

        min-height: 270px;

        padding: 35px 20px;
    }


    .login-section {

        width: 100%;

        min-height: auto;

        padding: 45px 25px;
    }


    .brand-content {

        width: 90%;
    }


    .login-logo {

        width: 170px;

        margin-bottom: 18px;
    }


    .brand-content h1 {

        font-size: 23px;
    }


    .brand-description {

        display: none;
    }


    .brand-line {

        margin: 18px auto;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 450px) {

    .login-section {

        padding:
            35px 20px;
    }


    .login-box h2 {

        font-size: 24px;
    }


    .login-subtitle {

        font-size: 12px;
    }


    .login-brand {

        min-height: 240px;
    }

}
/* =====================================================
   CENTER LOGIN PROFILE ICON
===================================================== */

.login-icon {
    margin-left: auto !important;
    margin-right: auto !important;

    margin-bottom: 18px !important;
}
/* =====================================================
   HEADER PROFILE BUTTON
===================================================== */

.header-profile-button {

    border: none;
    background: transparent;

    display: flex;
    align-items: center;
    gap: 10px;

    cursor: pointer;

    padding: 7px 10px;

    color: #174d38;

    font-family: inherit;
    font-size: 14px;

    border-radius: 10px;

}

.header-profile-button:hover {

    background: #eef6f1;

}


.header-user-name {

    font-weight: 500;

}


.user-icon {

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: #eaf4ee;

    color: #176b48;

    display: flex;

    align-items: center;
    justify-content: center;

    font-size: 17px;

}


.user-arrow {

    font-size: 11px;

    color: #60736a;

}


/* =====================================================
   PROFILE MODAL
===================================================== */

.profile-modal {

    position: fixed;

    inset: 0;

    background: rgba(0, 0, 0, 0.45);

    display: none;

    align-items: center;

    justify-content: center;

    z-index: 99999;

    padding: 20px;

}


.profile-modal.show {

    display: flex;

}


/* =====================================================
   PROFILE BOX
===================================================== */

.profile-modal-box {

    position: relative;

    width: 900px;

    max-width: 100%;

    max-height: 90vh;

    overflow-y: auto;

    background: white;

    border-radius: 16px;

    padding: 35px;

    box-shadow: 0 20px 60px rgba(0,0,0,.2);

}


/* =====================================================
   CLOSE
===================================================== */

.profile-close {

    position: absolute;

    top: 18px;
    right: 18px;

    width: 38px;
    height: 38px;

    border: none;

    border-radius: 50%;

    background: #f1f5f2;

    color: #52635a;

    cursor: pointer;

    display: flex;

    align-items: center;
    justify-content: center;

}


.profile-close:hover {

    background: #e5eee9;

    color: #176b48;

}


/* =====================================================
   PROFILE HEADER
===================================================== */

.profile-header {

    text-align: center;

    padding-bottom: 25px;

    border-bottom: 1px solid #e2e8e4;

}


.profile-icon {

    width: 72px;
    height: 72px;

    margin: 0 auto 15px;

    border-radius: 50%;

    background: #eaf5ee;

    color: #176b48;

    display: flex;

    align-items: center;
    justify-content: center;

    font-size: 30px;

}


.profile-header h2 {

    margin: 0;

    color: #164e38;

    font-size: 26px;

}


.profile-header p {

    margin: 8px 0 0;

    color: #7a8780;

    font-size: 14px;

}


/* =====================================================
   SECTION
===================================================== */

.profile-section {

    padding-top: 25px;

}


.profile-section h3 {

    display: flex;

    align-items: center;

    gap: 10px;

    margin: 0 0 20px;

    color: #164e38;

    font-size: 17px;

}


/* =====================================================
   GRID
===================================================== */

.profile-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;

}


.profile-field label {

    display: block;

    margin-bottom: 7px;

    color: #34483e;

    font-size: 13px;

    font-weight: 600;

}


.profile-input {

    min-height: 50px;

    padding: 12px 15px;

    border: 1px solid #dce5df;

    border-radius: 9px;

    background: #f8faf9;

    display: flex;

    align-items: center;

    gap: 12px;

    color: #37443e;

    font-size: 14px;

}


.profile-input i {

    width: 20px;

    color: #176b48;

    text-align: center;

}


/* =====================================================
   ACTIVE STATUS
===================================================== */

.active-status {

    color: #176b48 !important;

    font-weight: 600;

}


.active-status::before {

    content: "";

    display: inline-block;

    width: 8px;
    height: 8px;

    margin-right: 7px;

    border-radius: 50%;

    background: #218653;

}


/* =====================================================
   PROFILE FOOTER
===================================================== */

.profile-footer {

    margin-top: 28px;

    padding-top: 22px;

    border-top: 1px solid #e2e8e4;

    display: flex;

    justify-content: center;

}


/* =====================================================
   LOGOUT
===================================================== */

.profile-logout {

    width: 220px;

    height: 48px;

    border-radius: 8px;

    background: #176b48;

    color: white !important;

    text-decoration: none;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    font-size: 14px;

    font-weight: 600;

}


.profile-logout:hover {

    background: #12573b;

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 700px) {

    .profile-grid {

        grid-template-columns: 1fr;

    }

    .profile-modal-box {

        padding: 25px 20px;

    }

    .profile-logout {

        width: 100%;

    }

}
/* =====================================================
   USER PROFILE MODAL - FINAL FIX
===================================================== */

/* The modal is HIDDEN by default */
.profile-modal {

    position: fixed !important;

    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    height: 100% !important;

    background: rgba(0, 0, 0, 0.45) !important;

    display: none !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 20px !important;

    box-sizing: border-box !important;

    z-index: 99999 !important;

}


/* Show ONLY when JavaScript adds .show */
.profile-modal.show {

    display: flex !important;

}


/* =====================================================
   PROFILE BOX
===================================================== */

.profile-modal .profile-modal-box {

    position: relative !important;

    width: 900px !important;

    max-width: 95% !important;

    max-height: 90vh !important;

    overflow-y: auto !important;

    background: #ffffff !important;

    border-radius: 16px !important;

    padding: 35px !important;

    box-sizing: border-box !important;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.20) !important;

}


/* =====================================================
   CLOSE BUTTON
===================================================== */

.profile-modal .profile-close {

    position: absolute !important;

    top: 18px !important;
    right: 18px !important;

    width: 38px !important;
    height: 38px !important;

    border: none !important;

    border-radius: 50% !important;

    background: #eef5f0 !important;

    color: #176b48 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    cursor: pointer !important;

    z-index: 10 !important;

}


.profile-modal .profile-close:hover {

    background: #dfece4 !important;

}


/* =====================================================
   PROFILE HEADER
===================================================== */

.profile-modal .profile-header {

    text-align: center !important;

    padding: 0 0 25px 0 !important;

    border-bottom: 1px solid #e3e9e5 !important;

}


/* Profile green circle */

.profile-modal .profile-icon {

    width: 72px !important;
    height: 72px !important;

    margin: 0 auto 15px auto !important;

    border-radius: 50% !important;

    background: #eaf5ef !important;

    color: #176b48 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    font-size: 30px !important;

}


/* My Profile */

.profile-modal .profile-header h2 {

    margin: 0 !important;

    color: #174f38 !important;

    font-size: 26px !important;

    font-weight: 700 !important;

}


/* Description */

.profile-modal .profile-header p {

    margin: 8px 0 0 0 !important;

    color: #7b8781 !important;

    font-size: 14px !important;

}


/* =====================================================
   PERSONAL INFORMATION
===================================================== */

.profile-modal .profile-section {

    padding-top: 25px !important;

}


.profile-modal .profile-section h3 {

    display: flex !important;

    align-items: center !important;

    gap: 10px !important;

    margin: 0 0 20px 0 !important;

    color: #174f38 !important;

    font-size: 17px !important;

}


/* =====================================================
   TWO COLUMN GRID
===================================================== */

.profile-modal .profile-grid {

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    gap: 18px !important;

}


/* =====================================================
   FIELD
===================================================== */

.profile-modal .profile-field label {

    display: block !important;

    margin-bottom: 7px !important;

    color: #34473e !important;

    font-size: 13px !important;

    font-weight: 600 !important;

}


/* =====================================================
   INFORMATION BOX
===================================================== */

.profile-modal .profile-input {

    min-height: 50px !important;

    padding: 12px 15px !important;

    border: 1px solid #dce5df !important;

    border-radius: 9px !important;

    background: #f8faf9 !important;

    display: flex !important;

    align-items: center !important;

    gap: 12px !important;

    color: #37443e !important;

    font-size: 14px !important;

    box-sizing: border-box !important;

}


.profile-modal .profile-input i {

    width: 20px !important;

    color: #176b48 !important;

    text-align: center !important;

}


/* =====================================================
   ACTIVE STATUS
===================================================== */

.profile-modal .active-status {

    color: #176b48 !important;

    font-weight: 600 !important;

}


.profile-modal .active-status::before {

    content: "" !important;

    display: inline-block !important;

    width: 8px !important;

    height: 8px !important;

    margin-right: 7px !important;

    border-radius: 50% !important;

    background: #218653 !important;

}


/* =====================================================
   PROFILE FOOTER
===================================================== */

.profile-modal .profile-footer {

    margin-top: 28px !important;

    padding-top: 22px !important;

    border-top: 1px solid #e2e8e4 !important;

    display: flex !important;

    justify-content: center !important;

}


/* =====================================================
   LOGOUT
===================================================== */

.profile-modal .profile-logout {

    width: 220px !important;

    height: 48px !important;

    border-radius: 8px !important;

    background: #176b48 !important;

    color: #ffffff !important;

    text-decoration: none !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 10px !important;

    font-size: 14px !important;

    font-weight: 600 !important;

}


.profile-modal .profile-logout:hover {

    background: #12573b !important;

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 700px) {

    .profile-modal {

        padding: 10px !important;

    }

    .profile-modal .profile-modal-box {

        width: 100% !important;

        max-width: 100% !important;

        padding: 25px 20px !important;

    }

    .profile-modal .profile-grid {

        grid-template-columns: 1fr !important;

    }

    .profile-modal .profile-logout {

        width: 100% !important;

    }

}
/* =====================================================
   SHARED FOOTER
===================================================== */

.site-footer {

    width: 100%;
    height: 125px;

    background: #2E5E43;
    color: white;

    display: grid;

    grid-template-columns:
        1.1fr
        1fr
        1.25fr
        1fr;

    align-items: center;

    padding: 16px 40px;

    border-bottom: 4px solid #E79A16;

    direction: rtl;

    box-sizing: border-box;
}


.site-footer-column {

    height: 82px;

    padding: 0 30px;

    border-left:
        1px solid
        rgba(255,255,255,.20);

    text-align: right;

    box-sizing: border-box;
}


.site-footer-column:first-child {

    padding-right: 0;
}


.site-footer-column:last-child {

    border-left: none;
}


.site-footer-column h4 {

    font-size: 13px;

    margin: 0 0 8px;

    color: white;

}


.site-footer-column p {

    font-size: 10px;

    line-height: 1.55;

    margin: 0 0 4px;

    color: #f1f1f1;

}
/* =====================================================
   FINAL RESPONSIVE FIX
   DO NOT DELETE THE EXISTING CSS ABOVE
===================================================== */

/* =====================================================
   PAGE STRUCTURE
===================================================== */

html,
body {
    width: 100%;
    min-height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}


/* =====================================================
   MAIN CONTENT
===================================================== */

.directory-page {
    width: calc(100% - 48px);
    max-width: 1450px;
    margin: 22px auto 28px;
}


/* =====================================================
   FOOTER
   Keeps footer at the bottom without creating
   unnecessary horizontal/vertical overflow
===================================================== */

.public-footer {
    width: 100%;
    flex-shrink: 0;
}


/* =====================================================
   LARGE SCREENS
===================================================== */

@media (min-width: 1600px) {

    .directory-page {
        max-width: 1450px;
    }

    .public-header {
        padding-left: 40px;
        padding-right: 40px;
    }

}


/* =====================================================
   LAPTOP / DESKTOP
===================================================== */

@media (max-width: 1200px) {

    .directory-page {
        width: calc(100% - 36px);
    }

    .public-search {
        width: 230px;
    }

    .directory-actions {
        gap: 8px;
    }

    .public-footer {
        padding-left: 28px;
        padding-right: 28px;
    }

    .public-footer .footer-section {
        padding-left: 18px;
        padding-right: 18px;
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {

    .public-header {
        height: 68px;
        padding-left: 22px;
        padding-right: 22px;
    }

    .header-logo img {
        width: 155px;
    }

    .directory-page {
        width: calc(100% - 28px);
        margin-top: 18px;
        margin-bottom: 22px;
    }

    .directory-top {
        flex-wrap: wrap;
        gap: 15px;
    }

    .directory-title {
        flex: 1 1 100%;
    }

    .directory-actions {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .public-search {
        flex: 1;
        min-width: 200px;
        width: auto;
    }

    .public-directory-box {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .public-directory-table {
        min-width: 700px;
    }

    .public-footer {
        grid-template-columns: 1fr 1fr;
        height: auto;
        min-height: 125px;
        padding: 18px 22px;
        row-gap: 18px;
    }

    .public-footer .footer-section {
        min-height: 70px;
    }

    .public-footer .footer-section:not(:last-child) {
        border-left: 1px solid rgba(255,255,255,.22);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 700px) {

    .public-header {
        height: auto;
        min-height: 62px;
        padding: 10px 16px;
    }

    .header-logo img {
        width: 140px;
    }

    .header-user {
        font-size: 11px;
        gap: 6px;
    }

    .user-icon {
        width: 30px;
        height: 30px;
        font-size: 13px;
    }

    .directory-page {
        width: calc(100% - 20px);
        margin: 15px auto 20px;
    }

    .directory-top {
        padding: 14px;
        flex-direction: column;
        align-items: stretch;
    }

    .directory-title {
        width: 100%;
        gap: 10px;
    }

    .directory-title-icon {
        width: 40px;
        height: 40px;
        font-size: 17px;
        flex-shrink: 0;
    }

    .directory-title h1 {
        font-size: 18px;
    }

    .directory-title p {
        font-size: 11px;
    }

    .directory-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .public-search {
        width: 100%;
        min-width: 0;
        height: 42px;
    }

    .print-btn,
    .download-btn {
        width: 100%;
        height: 42px;
    }

    .public-directory-box {
        width: 100%;
        overflow-x: auto;
    }

    .public-directory-table {
        min-width: 680px;
    }

    .public-directory-table th {
        font-size: 10px;
        padding: 7px 8px;
    }

    .public-directory-table td {
        font-size: 10px;
        padding: 6px 8px;
    }

    .department-header td {
        height: 30px;
        padding: 0 10px;
    }

    .public-footer {
        grid-template-columns: 1fr;
        height: auto;
        padding: 20px 18px;
        gap: 0;
    }

    .public-footer .footer-section {
        min-height: auto;
        padding: 12px 0;
        text-align: right;
    }

    .public-footer .footer-section:not(:last-child) {
        border-left: none;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 450px) {

    .public-header {
        padding: 9px 12px;
    }

    .header-logo img {
        width: 125px;
    }

    .header-user-name {
        display: none;
    }

    .directory-page {
        width: calc(100% - 14px);
        margin-top: 10px;
    }

    .directory-top {
        padding: 12px;
    }

    .directory-title h1 {
        font-size: 16px;
    }

    .directory-title p {
        font-size: 10px;
    }

    .public-directory-table {
        min-width: 620px;
    }

    .public-footer {
        padding: 16px 14px;
    }

    .public-footer .footer-section h3 {
        font-size: 12px;
    }

    .public-footer .footer-section p {
        font-size: 9px;
    }

}


/* =====================================================
   LOGIN RESPONSIVE FIX
===================================================== */

@media (max-width: 700px) {

    .login-page {
        min-height: 100vh;
        height: auto;
        overflow-x: hidden;
    }

    .login-brand {
        min-height: 250px;
    }

    .login-section {
        padding: 35px 20px;
    }

    .login-box {
        width: 100%;
        max-width: 430px;
    }

}


/* =====================================================
   PREVENT HORIZONTAL SCROLL
===================================================== */

img,
video,
iframe {
    max-width: 100%;
}

input,
button,
select,
textarea {
    max-width: 100%;
}


/* =====================================================
   VERY LARGE SCREENS
   Prevent content from looking too small
===================================================== */

@media (min-width: 1800px) {

    .directory-page {
        max-width: 1450px;
    }

    .public-header {
        padding-left: 50px;
        padding-right: 50px;
    }

}