@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    /* --main-color: #568fac; */
    /* --main-color: #d09898; */
    --main-color: #263238;
    /* --main-color-light: #b3e3fb; */
    --main-color-light: #ffe6e6;
    --main-color-light-2: #e0f5ff;
    --main-color-yellow: #fdad17;
    --main-color-yellow-light: #ffedcd;
    --main-color-secondary: #f6f6f6;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}

html {
    font-size: 85%;
}

html,
body {
    height: 100dvh;
    min-height: 0;
    width: 100%;
}

body {
    height: 100dvh;
    background-color: var(--main-color);
    font-family: "Poppins", sans-serif;
    font-style: normal;
    padding: 10px;
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-columns: 18% 1fr;
    grid-template-areas:
        "header header"
        "aside main";
    gap: 5px;
    overflow: hidden;
}

header {
    /* grid-column: 1 / span 5; */
    grid-area: header;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 30px;
    padding: 0px 30px;
}

header .logo img {
    max-width: 160px;
    height: auto;
    vertical-align: middle;
}

header .logo img:hover {
    filter: drop-shadow(0px 0px 8px #ffc800);
}

header .search-area {
    display: flex;
    flex-basis: 80%;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

header h3.head {
    font-weight: 600;
    color: #fff;
    line-height: 35px;
    text-transform: capitalize;
}

header .search-area select#search-cat {
    height: 35px;
    /* margin-right: 30px; */
    padding: 0 15px;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
}

header .search-area select#search-cat:required:invalid {
    color: gray;
}

header .search-area select option {
    color: black;
    padding: 20px;
}

header .search-area select option:disabled {
    color: gray;
}

header .search-area .search-bar {
    display: flex;
    /* width: 100%; */
    max-width: 400px;
}

.search-area .search-bar input {
    flex: 1;
    height: 35px;
    padding: 0 15px;
    font-size: .9rem;
    font-weight: 500;
    border: 1px solid #ccc;
    border-right: none;
    /* border-radius: 5px 0 0 5px; */
    outline: none;
}

.search-bar .search-btn {
    height: 35px;
    padding: 0 15px;
    font-size: .9rem;
    font-weight: 500;
    border: 1px solid #ccc;
    background-color: #afafaf;
    color: white;
    cursor: pointer;
    /* border-radius: 0 5px 5px 0; */
    transition: background-color 0.2s;
}

.search-bar .search-btn:hover {
    background-color: #151992;
}

header .search-area input::placeholder {
    font-weight: 600;
    color: gray;
}

header .search-area .actions {
    display: flex;
}

header .search-area label {
    color: #000;
    background-color: #fff;
    font-size: .9rem;
    /* line-height: 35px; */
    margin-right: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* height: 35px; */
    cursor: pointer;
}

.search-area label button {
    height: 35px;
    border: none;
    cursor: pointer;
}

.search-area label i {
    /* line-height: 30px; */
    padding: 0 10px;
    /* height: 100%; */
}

header .search-area a#logout-link {
    /* margin-right: 15px; */
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-decoration: none;
    padding: 6px 12px;
    font-size: .7rem;
    font-weight: 600;
    border: 2px solid #fff;
    border-radius: 20px;
    outline: none;
    background-color: var(--main-color);
    cursor: pointer;

}

header .search-area a#logout-link i {
    /* padding: 0 10px; */
    margin-right: 6px;
}

.search-area a#logout-link span {
    padding-right: 10px;
}

#profile-label {
    position: relative;
}

#profile-label #profile-dropdown {
    display: none;
    background-color: #fff;
    /* width: 100px; */
    /* height: 100px; */
    position: absolute;
    z-index: 1000;
    top: 110%;
    left: 0;
    /* padding: 8px 15px; */
    font-size: .8rem;
}

#profile-label #profile-dropdown.active {
    display: block;
}

#profile-dropdown a.dropdown-item {
    display: block;
    width: 150px;
    /* height: 30px; */
    padding: 5px 15px;
    margin: 5px 2px;
    text-decoration: none;
    color: #000;
}

#profile-dropdown a.dropdown-item:hover {
    background-color: #d3d3d3;
}

aside {
    /* grid-column: 1 / span 1; */
    grid-area: aside;
}

aside nav.sidenav {
    display: flex;
    flex-direction: column;
    /* gap: 20px; */
    height: 80%;
    padding: 20px 10px;
}

aside nav.sidenav .nav-tabs {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    /* padding: 20px; */
}

nav.sidenav .nav-tabs .profile-img {
    /* background-color: teal; */
    /* background-color: #72b3d3; */
    background-color: #fff;
    width: auto;
    height: auto;
    /* padding: 6px; */
    position: relative;
    /* border: 6px solid var(--main-color-light); */
    border: 6px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    overflow: hidden;
    transition: all ease .2s;
}

.profile-img .img-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #000;
    z-index: 1;
    opacity: 0;
    transition: opacity ease .2s;
}

nav.sidenav .nav-tabs .profile-img.pop {

    position: fixed;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: center;
    transform: translate(-50%, -50%);
    z-index: 1000;
    width: 70vw;
    /* height: 61vh; */
    padding: 6px;
    /* position: relative; */
    border-radius: 0;
    cursor: pointer;
    transition: all ease .2s;

}

nav.sidenav .nav-tabs .profile-img:hover {
    /* background-color: #fff; */
    /* border: 6px solid #fff; */
}


nav.sidenav .nav-tabs .profile-img:hover .img-overlay {
    opacity: .5;
}


nav.sidenav .nav-tabs .profile-img img {
    width: 120px;
    height: 120px;
    display: block;
    position: relative;
    /* height: 100%; */
    border-radius: 50%;
}


nav.sidenav .nav-tabs .profile-img.pop img {
    max-width: 90%;
    display: block;
    position: relative;
    height: auto;
    border-radius: 50%;
}

nav.sidenav .nav-tabs .profile-img i {
    /* border: 1px solid black; */
    position: absolute;
    bottom: 12%;
    right: 25%;
    color: #fff;
    font-size: 1.2rem;
    /* display: none; */
    /* opacity: .5; */
    margin: 0;
    z-index: 2;
    transition: opacity ease .2s;
}

nav.sidenav .nav-tabs .profile-img:hover i {
    /* display: block; */
    opacity: 1;

}

nav.sidenav .nav-tabs .profile-head {
    text-align: center;
    color: #fff;
    font-size: 1rem;
}

nav.sidenav .nav-tabs .profile-head h4 {
    text-transform: capitalize;
}

nav.sidenav .nav-tabs .profile-head h4 {
    font-weight: 400;

}

/* .nav-tabs .tab {
    font-size: .9rem;
    font-weight: bold;
    color: #fff;
    text-align: left;
    background: none;
    width: 100%;
    padding: 10px 20px;
    border: 2px solid #fff;
    cursor: pointer;
    transition: all .1s ease;
}

.nav-tabs .tab.active {
    color: #000;
    background: #fff;
    box-shadow: 1px 0px 10px 2px rgb(49, 49, 49);
} */

.nav-tabs .tab {
    display: block;
    font-size: .8rem;
    font-weight: bold;
    color: #fff;
    text-align: left;
    background: none;
    width: 100%;
    padding: 10px 20px;
    /* border: 2px solid #fff; */
    border: 2px solid #fead17;
    cursor: pointer;
    text-decoration: none;
    /* no underline */
    transition: all .1s ease;
}

.nav-tabs .tab.active {
    color: #000;
    /* background: #fff; */
    /* background: #263238; */
    background: #fdad17;
}


.nav-tabs .tab:hover {
    color: #000;
    background: #fff;
}

nav.sidenav .logout-btn {
    font-size: .9rem;
    font-weight: bold;
    color: #fff;
    text-align: left;
    background: none;
    padding: 20px 10px;
    width: 70%;
    margin-top: auto;
    padding: 10px 20px;
    /* border: none; */
    text-decoration: none;
    border-top: 2px solid #fff;
    cursor: pointer;
    transition: .1s all ease;
}

nav.sidenav .logout-btn:hover {
    color: #000;
    background: #fff;
}

nav i {
    margin-right: 15px;
}

main {
    grid-area: main;
    /* padding: 10px; */
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
    /* background-color: #fff; */
    /* border-top: 2px solid #fff; */
    border-left: 2px solid #fff;
}


.top-row {
    /* background-color: #fff; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 0 20px;
}

.top-row .left {
    display: flex;
    gap: 10px;
    /* background-color: red; */
}

.top-row .left h3 {
    color: var(--main-color);
    background-color: #fff;
    padding: 2px 15px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 20px;
}

.top-row .action-btn {
    padding: 6px 12px;
    margin-right: 10px;
    font-size: .7rem;
    font-weight: 600;
    border: none;
    outline: none;
    background-color: #fff;
    border: 2px solid #fead17;
    /* border-radius: 4px; */
    cursor: pointer;
}

.top-row .add-btn {
    padding: 6px 12px;
    font-size: .7rem;
    /* border: none; */
    outline: none;
    background-color: #fff;
    /* border-radius: 4px; */
    cursor: pointer;
}

.top-row .action-btn:hover {
    background-color: #d4d4d4;
}

.top-row .add-btn i {
    font-size: .9rem;
    margin-right: 4px;
    vertical-align: middle;
}

/* .top-row h3 {
    color: #fff;
    margin-right: 20px;
} */

.search-container {
    display: flex;
    align-items: center;
    background-color: white;
    margin-right: 20px;
    padding: 6px 10px;
    /* border-radius: 10px; */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.search-container input {
    border: none;
    outline: none;
    font-size: 12px;
    /* padding: 5px; */
    width: 150px;
}

/* .search-container button {
    background-color: #4CAF50;
    border: none;
    color: white;
    padding: 8px 16px;
    margin-left: 10px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 16px;
} */

.search-container button:hover {
    background-color: #45a049;
}

input.calender {
    font-size: 12px;
    padding: 0 10px;
}

/* .content-area {
    background-color: rgb(231, 231, 231);
    flex: 1;
    padding: 10px;
    display: grid;
    grid-template-rows: 1fr 32%;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-areas:
        "tasklist tasklist tasklist"
        "graph1 graph2 graph3"
    ;
    gap: 5px;
} */

.content-area {
    background-color: rgb(231, 231, 231);
    flex: 1;
    padding: 10px;
    display: flex;
    flex-direction: column;
    /* display: grid; */
    grid-template-rows: 65% auto;
    grid-template-columns: 40% 1fr 1fr;
    grid-template-areas:
        "tasklist tasklist tasklist"
        "graph1 graph2 graph3"
    ;
    gap: 5px;
    overflow: hidden;
}

.content-area .pagination {
    flex: 0 0 auto;
    z-index: 2;
    min-height: 0;
    /* background-color: var(--main-color-light-2); */
    background-color: var(--main-color-yellow-light);
    padding: 8px 15px;
    display: flex;
    justify-content: end;
    gap: 10px;
}

.content-area .pagination span.pages {
    display: flex;
    gap: 10px;
}

.content-area .pagination button {
    padding: 2px 15px;
    font-size: .8rem;
    line-height: .8rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    /* border-radius: 6px; */
    background-color: #fff;
    border: 2px solid transparent;
}


.content-area .pagination button.active {
    background-color: var(--main-color-light-2);
    border: 1px solid var(--main-color);
}

.content-area .pagination button:hover {
    /* background-color: var(--main-color-light); */
    background-color: var(--main-color-yellow-light);
    border-color: #fff;
    /* color: #fff; */

}

.grid-item {
    /* border: 1px solid black; */
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    /* background-color: #f4f6ff; */
    background-color: var(--main-color-secondary);
    overflow: hidden;
}

.tasklist {
    flex: 1 1 0;
    grid-area: tasklist;
    display: flex;
    flex-direction: column;
    background-color: white;
    /* border: 1px solid #ccc; */
    border-radius: 8px;
    padding: 10px;
    /* overflow: auto; */
    /* Prevent scroll on the wrapper */
}

.tasklist .task-table-wrapper {
    flex: 1 1 auto;
    overflow: auto;
}

.tasklist #tasktable {
    border: none !important;
    border-collapse: collapse;
    width: 100%;
    height: 100%;
}

/* Sticky table header */
#tasktable thead {
    background-color: #f2f2f2;
    /* background-color: #fdad17; */
    position: sticky;
    top: -10px;
    z-index: 1;
}

/* Scrollable tbody */
#tasktable tbody {
    /* display: block; */
    overflow-y: auto;
    flex: 1 1 auto;
    /* Fill available vertical space */
    height: 100%;
    /* This ensures it fills the .tasklist height */
}

/* Ensure table rows align correctly */
#tasktable thead,
#tasktable tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

#tasktable tbody tr.active {
    /* border: 2px solid gold; */
    background-color: rgb(255 243 190 / 47%);
}

/* Add borders and padding for better visuals */
#tasktable,
#tasktable th,
#tasktable td {
    font-size: .7rem;
    padding: 6px;
    text-align: center;
    /* text-transform: capitalize; */
    border: 1px solid rgb(225, 225, 225);
    border-collapse: collapse;
    overflow-wrap: break-word;
}

#tasktable td.description-cell:hover {
    /* border: 2px solid yellow; */
    background-color: var(--main-color-light-2);
}

#tasktable th {
    /* font-weight: bold; */
    /* color: gray; */
    /* font-size: .8rem; */
}

#tasktable td.actions {
    /* display: flex;
    justify-content: end; */
}

#tasktable td.actions i {}

#tasktable select,
#tasktable input,
#tasktable textarea {
    font-size: .7rem;
    /* text-transform: capitalize; */
    max-width: 90%;
    min-width: 100px;
    border: 1px solid #ccc;
    /* border: none; */
    padding: 6px 8px;
    cursor: pointer;
}

#tasktable td.checkbox {
    /* min-width: 80px; */
    width: 70px;
}

#tasktable td.checkbox input {
    /* min-width: 80px;
    max-width: 100px; */
    max-width: 70px;
    min-width: 50px;
}

#tasktable th.checkbox {
    /* min-width: 80px; */
    width: 70px;
}

#tasktable th.checkbox input {
    max-width: 70px;
    min-width: 50px;
}

#tasktable select.status-dropdown.pending {
    border: 2px solid rgb(243, 222, 32);
    /* background-color: rgb(250, 244, 190); */
}

#tasktable select.status-dropdown.approved {
    border: 2px solid rgb(57, 246, 24);
    /* background-color: rgb(175, 245, 175); */
}

#tasktable select.status-dropdown.unapproved {
    border: 2px solid rgb(250, 123, 123);
    /* background-color: rgb(255, 216, 216); */
}

#tasktable td i {
    font-size: 1rem;
    margin-left: 10px;
    /* background-color: var(--main-color-light-2); */
    background-color: var(--main-color-yellow-light);
    padding: 8px;
    border-radius: 20px;
    vertical-align: middle;
    cursor: pointer;
}

#tasktable td i {}

/* th,
td {
    padding: 8px;
    text-align: left;
} */

/* table,
th,
td {
    border: 1px solid rgb(225, 225, 225);
    border-collapse: collapse;
    border-radius: 40px;
} */

/* #tasktable th,
#tasktable td {
    font-size: .8rem;
    padding: 4px;
    text-align: center;
} */

.graph {
    padding: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.graph.graph1 {
    grid-area: graph1;
}

.graph.graph2 {
    grid-area: graph2;
}

.graph.graph3 {
    grid-area: graph3;
}

/* Optional: Make charts responsive within their grid cells */
.graph canvas {
    width: 80% !important;
    max-height: 80% !important;
    /* max-height: 90% !important; */
}

.graph {
    display: none;
}

/* .bottom-panel {
    flex: 30%;
    display: flex;
    justify-content: space-evenly;
    background-color: teal;
}

.bottom-panel .left {
    background-color: red;
    flex-basis: 40%;
}

.bottom-panel .right {
    background-color: blue;
    flex-basis: 40%;
}
 */

.profile-container {
    /* background-color: var(--main-color-light); */
    background-color: #fff;
    width: 100%;
    height: 100%;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    border-radius: 20px;
    /* display: flex; */
    /* grid-template-columns: 1fr 1fr; */
    /* grid-template-rows: auto; */
}



.profile-container .row {
    /* background-color: red; */
    margin-bottom: 10px;
    padding: 10px;
    width: 80%;
    display: flex;
    /* justify-content: space-between; */
    gap: 20px;
}

.profile-container .row.action-row {
    justify-content: flex-end;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    margin: 0;
}

.profile-container .row.action-row h4 {
    color: rgb(74, 74, 74);
}

.profile-container .row i.edit-profile-btn {
    padding: 8px;
    font-size: 1.1rem;
    /* background-color: var(--main-color-light); */
    background-color: var(--main-color-yellow);
    cursor: pointer;
}

.profile-container .row i.edit-profile-btn:hover {
    color: #fff;
    background-color: var(--main-color);
}

/* .profile-container .row i.edit-profile-btn {
    font-size: 1.2rem;
} */

.profile-container .row .form-group {
    /* background-color: royalblue; */
    flex: 1;
    padding: 4px;
}

.profile-container .row .form-group label {
    display: block;
    font-size: .9rem;
    margin-bottom: 5px;
}

.profile-container .row .form-group label sup {
    color: red;
    font-size: .9rem;
    line-height: .9rem;
    margin-left: 5px;
}

.profile-container .row .form-group input {
    padding: 8px 10px;
    width: 100%;
}

.form-group .password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.form-group span.eye-icon {
    position: absolute;
    /* border: 1px solid; */
    font-size: .9rem;
    right: 20px;
    /* color: gray; */
    opacity: .4;
    cursor: pointer;
}

.form-group span.eye-icon:hover {
    opacity: 1;
}

.profile-container .row .form-group select {
    padding: 8px 10px;
    width: 100%;
}

.profile-container .bottom-row {
    justify-content: end;
}

.profile-container .save-profile-btn {
    padding: 8px 25px;
    /* background-color: var(--main-color-light); */
    background-color: var(--main-color-yellow);
    color: #000;
    font-weight: 500;
    border: none;
    cursor: pointer;
}

.profile-container .save-profile-btn:hover {
    color: #fff;
    background-color: var(--main-color);
}



/* Green border for saved row */
.row-saved {
    /* border: 2px solid #28a745; */
    transition: border 0.3s ease-in-out;
}

/* Toast Notification */
#toast {
    visibility: hidden;
    min-width: 300px;
    /* margin-left: -125px; */
    background-color: #5eda7b;
    color: white;
    text-align: center;
    /* border-radius: 4px; */
    padding: 6px 15px;
    position: fixed;
    z-index: 1000;
    left: 50%;
    top: 10px;
    transform: translateX(-50%);
    font-size: .9rem;
    /* border: 1px solid #fff; */
}

#toast.show {
    visibility: visible;
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@-webkit-keyframes fadein {
    from {
        top: 0;
        opacity: 0;
    }

    to {
        top: 10px;
        opacity: 1;
    }
}

@keyframes fadein {
    from {
        top: 0;
        opacity: 0;
    }

    to {
        top: 10px;
        opacity: 1;
    }
}

@-webkit-keyframes fadeout {
    from {
        top: 10px;
        opacity: 1;
    }

    to {
        top: 0;
        opacity: 0;
    }
}

@keyframes fadeout {
    from {
        top: 10px;
        opacity: 1;
    }

    to {
        top: 0;
        opacity: 0;
    }
}


/* Custom popup style */
.alert-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.alert-box {
    background: white;
    width: 500px;
    height: fit-content;
    min-height: 200px;
    padding: 20px 30px;
    border-radius: 8px;
    /* text-align: center; */
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    /* align-items: center; */
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.alert-box h4 {}

.alert-box h4 i {
    margin-right: 4px;
    font-size: 1.2rem;
    vertical-align: middle;
    color: #ff4040;

}

.alert-box p {
    font-size: .9rem;
}

.alert-box p input {
    padding: 8px 15px;
}

.alert-actions button {
    margin: 10px;
    padding: 8px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

#alert-confirm-btn {
    /* background-color: #b61b0a; */
    background-color: #2a8d41;
    /* background-color: #ccc; */
    color: white;
    /* color: #000; */
}

#alert-cancel-btn {
    background-color: #ccc;
}

.modal-dialog {
    display: block;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 999;
    /* overflow: auto; */
    background-color: #00000089;
    opacity: 0;
    pointer-events: none;
    transition: .3s opacity ease;
}

.modal-dialog.show {
    opacity: 1;
    pointer-events: all;
}

.modal-dialog .modal {
    width: 80vw;
    /* height: 90vh; */
    height: fit-content;
    min-height: 500px;
    max-height: 80dvh;
    margin: 5vh auto;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    border-radius: 5px;
    padding: 0;
    overflow: hidden;
}

.modal .modal-header {
    position: sticky;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    /* margin-bottom: 10px; */
}

.modal .modal-header h4 {
    font-weight: 600;
}

.modal .modal-header .close-btn {
    font-size: 30px;
    width: 30px;
    height: 30px;
    line-height: 20px;
    /* align-content: center; */
    border: none;
    background: transparent;
    cursor: pointer;
}

.modal .modal-header .close-btn i {
    font-size: 20px;
}

.modal-body {
    padding: 10px 20px;
    overflow: auto;
    flex: 1;
}

/* .modal-body table.entry-table{
    background-color: red;
    display: table;
    width: 100%;
    table-layout: fixed;
    text-align: center;
}

.entry-table, .entry-table th, .entry-table td {
    font-size: .8rem;
    border: 1px solid rgb(225, 225, 225);
    border-collapse: collapse;
}

.entry-table select, .entry-table input {
    font-size: .8rem;
    padding: 4px;
    border: none;
} */



/* Table Styling inside Modal */
.entry-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
    min-width: 800px;
    /* Optional: to prevent column squeeze */
}

.entry-table th,
.entry-table td {
    border: 1px solid #ddd;
    padding: 8px 6px;
    text-align: center;
    font-size: 12px;
}

.entry-table th {
    background-color: #f4f4f4;
    font-weight: bold;
    position: sticky;
    top: 0;
    z-index: 2;
}

.entry-table input[type="text"],
.entry-table input[type="date"],
.entry-table select,
.entry-table textarea {
    max-width: 180px;
    padding: 6px 8px;
    border: 1px solid #ccc;
    /* border-radius: 4px; */
    font-size: .7rem;
    box-sizing: border-box;
    /* text-transform: capitalize; */
}

.entry-table textarea.error-border {
    /* border: 2px solid rgb(236, 120, 120); */
    border: 2px solid rgb(234, 118, 118) !important;
    /* light red for clarity */
    outline: none !important;
    /* remove default blue/black focus outline */
    box-shadow: none !important;
    /* remove default shadow (Chrome/Edge) */
}

.entry-table textarea.error-border:focus {
    border: 2px solid rgb(234, 118, 118) !important;
    /* keep red border even on focus */
    outline: none !important;
    box-shadow: none !important;
}

.entry-table input[type="date"] {
    text-transform: lowercase;
}

/* .entry-table select {
    width: 180px;
} */

.entry-table select[name="task-category"],
.entry-table select[name="task-brief"] {
    width: 180px;
}

.entry-table textarea {
    width: 280px;
    max-width: 300px;
}

.entry-table select:disabled {
    background-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
}

.entry-table .fa-trash-can {
    /* color: #dc3545; */
    color: #000;
    cursor: pointer;
    font-size: 16px;
    transition: color 0.3s;
    text-align: center;
}

.entry-table .fa-trash-can:hover {
    color: #a71d2a;
}

/* Action Buttons Container */
.modal-body .actions {
    margin: 15px 0;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

/* Buttons Style */
.modal-body .add-btn {
    background-color: #454545;
    color: white;
    padding: 6px 12px;
    border: none;
    /* border-radius: 4px; */
    font-size: .8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: background-color 0.3s ease;
}

.modal-body .add-btn:hover {
    background-color: #131313;
}

.modal-body .add-btn i {
    font-size: 16px;
}

/* Photo Modal */
/* .photo-modal {
    display: block;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 999;
    overflow: auto;
    background-color: #00000089;
    opacity: 0;
    pointer-events: none;
    transition: .3s opacity ease;
}

.photo-modal.show {
    opacity: 1;
    pointer-events: all;
}

.photo-modal .modal {
    width: 40dvw;
    height: 90vh;
    margin: 5vh auto;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    border-radius: 5px;
    padding: 0;
    overflow: hidden;
}

.photo-modal .modal-body {
    background-color: black;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.photo-modal .modal-body .image-box {
    width: 30%;
    border: 1px solid red;
}

.photo-modal .modal-body .image-box img {
    width: 50%;
    display: block;
}

.modal-body .photo-change-btn {
    padding: 6px 10px;
    background-color: var(--main-color-light);
    font-size: .8rem;
    font-weight: 500;
} */

.photo-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.photo-modal-overlay.show {
    opacity: 1;
    visibility: visible;
}

.photo-modal-overlay .modal-container {
    background: white;
    border-radius: 8px;
    width: 700px;
    padding: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.photo-modal-overlay .modal-header,
.photo-modal-overlay .modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.photo-modal-overlay .modal-header .close-button {
    padding: 5px 10px;
    line-height: .9rem;
    font-size: .9rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.photo-modal-overlay .modal-header .close-button:hover {
    background-color: #e0e0e0;

}

.photo-modal-overlay .modal-body {
    text-align: center;
}

.image-upload-area {
    border: 2px dashed #ccc;
    border-radius: 8px;
    padding: 20px;
    cursor: pointer;
    position: relative;
}

.image-upload-area img {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 10px;
}

.upload-error {
    color: red;
    margin-top: 10px;
}

.choose-file-btn,
.cancel-btn,
.save-btn {
    padding: 8px 16px;
    border: none;
    /* border-radius: 4px; */
    cursor: pointer;
}

.choose-file-btn {
    background: #f0f0f0;
    margin-top: 10px;
}

.cancel-btn {
    background: #ddd;
}

.save-btn {
    background: #0073e6;
    color: white;
}

#spinner-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    display: none;
    z-index: 9999;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #ccc;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    /* transform: translate(-50%, -50%); */
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}