@font-face {
    font-family: 'SF Pro';
    src: url('fonts/SF-Pro-Display-Light.otf') format('opentype');
}

@font-face {
    font-family: 'SF Pro Thin';
    src: url('fonts/SF-Pro-Display-Thin.otf') format('opentype');
}

body{
    font-family: 'SF Pro', sans-serif;
    margin: 0px;
    padding: 0px;
    background-color: #f2f2f2;
    height: 100%;
    overflow-x: hidden;
}

/* Email Section Styles */
.email-section {
    background: #f8f9fa;
    padding: 0 6px;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    height: 32px; /* Slightly smaller than button */
    display: flex;
    align-items: center;
    font-size: 11px;
}

.email-label {
    color: #6c757d;
    margin-right: 4px;
}

.copyable-email {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.copyable-email:hover {
    opacity: 0.8;
}

.email-address {
    font-weight: 300;
    color: #3f3f3f;
}

.copy-icon {
    font-size: 10px;
    opacity: 0.7;
}

.btn-custom {
    background-color: #F88257; /* Your desired color */
    color: white; /* Ensure text is readable */
    border: none; /* Remove border if needed */
}

.alignRight{
    text-align: right;
}
.alignLeft{
    text-align: left;
}

.loginBody{
    text-align: center;
    padding-top: 10%;
}

    .loginLogo{
        margin-bottom: 30px;
    }
    .loginLogo img{
        max-width: 200px;
    }
    .loginBody h3{
        font-size: 1.5em;
        font-weight: 300;
        color: #1c1c1c;
    }
    .loginBody input{
        border: 1px solid #A8A8A8;
        font-size: 1.1em;
        padding: 8px;
        width: 90%;
        max-width: 300px;
        margin-bottom: 1em;
        border-radius: 5px;
        font-weight: 400;
    }
    .loginAlert{
        width: 90%;
        max-width: 350px;
    }

    .loginBody button{
        color: #fff;
        background-color: #F88257;
        font-size: 1.1em;
        padding: 8px;
        width: 90%;
        max-width: 300px;
        margin-bottom: 1em;
        border-radius: 5px;
        font-weight: 400;
        border: 0px;
        cursor: pointer;
    }
    .loginBody button:hover{
        background-color: #DB5049;;
    }
    .loginBody .loginFooter{
        margin-top: 2em;
        font-weight: 300;
        color: #7b7b7b;
        font-size: 0.9em;
    }
.dashboardBody{
    margin: 0px;
    padding: 0px;
    height: 100vh;
}
    .dashboardBody .navigationLeft{
        background-color: #4B4B4B;
        float: left;
        width: 120px;
        text-align: center;
        height: 100%;
        margin-right: 0px;
        position: relative;
    }
        .navigationLeft .mainLogo{
            width: 85%;
            margin-top: 20px;
        }
        .navigationLeft .lineDivider{
            width: 60%;
            margin-top: 30px;
            margin-bottom: 30px;
        }
        .navigationLeft .navigationIcon{
            margin: 18%;
            padding: 20px;
            border-radius: 10px;
            cursor: pointer;
            position: relative;
        }
            .navigationLeft .navigationIcon:hover{
                background-color: #F88257;
            }
            .navigationLeft .active{
                background-color: #F88257;
            }
            .navigationLeft .navigationIcon img{
                width: 100%;
            }
            .navigationLeft .nav-label {
                position: absolute;
                left: 120%;
                top: 50%;
                transform: translateY(-50%);
                background-color: #F88257;
                color: white;
                padding: 5px 10px;
                border-radius: 4px;
                white-space: nowrap;
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s, visibility 0.3s;
                z-index: 1000;
                font-size: 14px;
                box-shadow: 0 2px 5px rgba(0,0,0,0.3);
                font-weight: 400;
                pointer-events: none;
            }
            .navigationLeft .nav-label::before {
                content: "";
                position: absolute;
                top: 50%;
                right: 100%;
                margin-top: -5px;
                border-width: 5px;
                border-style: solid;
                border-color: transparent #F88257 transparent transparent;
            }
            .navigationLeft .navigationIcon:hover .nav-label {
                opacity: 1;
                visibility: visible;
            }
            /* Special positioning for Copilot label */
            .navigationIcon.copiloticon .nav-label {
                left: 130%;
                top: 50%;
                transform: translateY(-50%);
                z-index: 1500;
                background-color: #F88257;
                color: white;
                font-weight: bold;
            }
            /* Ensure the Copilot label appears on hover */
            .navigationIcon.copiloticon:hover .nav-label {
                opacity: 1;
                visibility: visible;
            }
        .navigationLeft .copiloticon{
            position:absolute;
            bottom: 10px;
            left: 0;
        }
        .navigationLeft .copilotbubble{
            background-color: #F88257;
            text-align: center;
            width: 2em;
            padding-top: 3px;
            height: 26px;
            color: #fff;
            font-size: 13px;
            border-radius: 2em;
            position: absolute;
            top: 0;
            right: 0;
        }
       
        
    .dashboardBody .dashboardContent{
        background-color: #f1f1f1;
        height: 100%;
        width: calc(100% - 120px);
        float: left;
        margin-left: 0px;
        overflow-y: scroll;
        text-align: left;
    }
    .dashboardBody .dashboardHeader{
        background-color: #FFFFFF;
        width: 100%;
        margin-left: 0px;
        padding: 15px;
        padding-top: 25px;
        padding-bottom: 20px;
        font-weight: 300;
        margin: 0px;
    }
    .dashboardHeader .poweredby{
        font-size: 0.8em;
        margin-top: -10px;
    }
    .dashboardHeader .profilePic{
        height: 2.5em;
        margin-top: -3px;
    }
    .dashboardBody .dashboardMainContent{
        padding-left: 2em;
        padding-bottom: 1em;
        overflow: auto;
    }

    .dashboardBody .sampleDash{
        width: 80%;
        margin-top: 20px;
    }
    
.reservationsList{
    background-color: #fff;
    width: 80%;
    padding: 2em;
    margin-top: 2em;
    margin-right: 2em;
    margin-bottom: 2em;
    border-radius: 15px;
    overflow: auto;
    float: left;
}
    .reservationsHeader .titleLeft{
        float: left;
        width: 35%;
        height: 2em;
        margin: 0px;
    }
    .reservationsHeader .titleLeft h3{
        color: #F88257;
        font-size: 1.4em;
        font-weight: 400;   
    }
    .reservationsHeader .reservationsFilterRight{
        float: left;
        width: 65%;
        margin: 0px;
        height: 2em;
        padding: 3px;
        text-align: right;
        z-index: 100;
    }
    .reservationsHeader .reservationsFilterRight .viewtoggle{
        float: right;
    }


    .viewtoggle {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        border-radius: 10px;
        padding: 0px;
        width: fit-content;
        margin-left: 10px;
        border: 0.8px solid #c8c8c8;
    }
    
    .togglebutton {
        flex: 1;
        padding: 5px 10px;
        border: none;
        background-color: #fff;
        cursor: pointer;
        font-size: 0.9em;
        color: #333;
        border-radius: 10px;
        transition: background-color 0.3s ease, color 0.3s ease;
    }
    .togglebutton img{
        height: 0.9em;
        margin-bottom: 0.1em;
    }
    
    .togglebutton.active {
        background-color: #c8c8c8;
        color: white;
    }
    
   
.reservationsHolder{
        width: 100%;
        float: left;
        margin-top: 10px;
}

    .reservationEntry{
        border: 1px #D9D9D9 solid;
        margin-top: 10px;
        margin-bottom: 20px;
        padding: 20px;
        padding-left: 20px;
        min-height: 6em;
        border-radius: 8px;
        overflow: auto;
    }
        .reservationEntry:hover{
            background-color: #f0f0f0;
        }
    .reservationEntry .reservationName{
        float: left;
        width: 40%;
    }
    .reservationEntry .reservationName h4{
        font-size: 1.2em;
        font-weight: 400;
        text-transform: capitalize;
    }
    .reservationEntry .reservationName span{
        font-size: .9em;
        color: #5B5B5B;
    }
    .reservationEntry .reservationServices{
        float: left;
        width: 40%;
        font-size: .9em;
        height: 100%;
        margin-top: 1.2em;
    }
    .reservationEntry .reservationStatus{
        float: left;
        width: 20%;
        height: 100%;
        text-align: center;
        margin-top: 1em;
        font-weight: 600;

    }
        .reservationEntry .reservationStatus .booked{
            color: #F88257;
        }
        .reservationEntry .reservationStatus .confirmed{
            color: #F88257;
        }
        .reservationEntry .reservationStatus .ongoing{
            color: #f1c40f;
        }
        .reservationEntry .reservationStatus .complete{
            color: #27ae60;
        }
        .reservationEntry .reservationStatus .canceled{
            color: #c0392b;
        }
.reservationMetrics{
    float: left;
    width: 15%;
    padding-top: 2em;
    overflow: auto;
}
    .reservationMetrics .metricBlock{
        background-color: #fff;
        text-align: center;
        width: 150px;
        padding: 1em;
        padding-bottom: 1.2em;
        border-radius: 10px;
        margin-bottom: 10px;
        margin-right: 15px;
        overflow: auto;
        float: left;
    }
    .metricBlock .metricTitle h3{
        font-size: 0.85em;
        margin-bottom: 0px;
        padding: 0px;
        font-weight: 600;
        color: #F88257;
    }
    .metricBlock .metricTitle span{
        font-size: 0.85em;
        margin-top: 0px;
        color: #F88257;
    }
    .metricBlock .metricNumTrended{
        font-size: 2em;
        color: #4B4B4B;
    }
        .metricNumTrended .metricLeft{
            float: left;
            width: 50%;
            text-align: right;
        }
        .metricNumTrended .metricRight{
            float: left;
            width: 50%;
            text-align: left;
            font-size: 14px;
            padding-top: 1.3em;
            padding-left: 10px;
        }
        .metricNumTrended .metricRight img{
            width: 14px;
        }
        .trendup{
            color: #03b47f;
        }
        .trenddown{
            color: #FF3A3A;
        }
.actionHolder{
    margin-top: 20px;
    padding: 15px;
}

    .actionHolder .actionItem{
        padding: 15px;
        width: 50%;        
        margin-bottom: 15px;
        border-radius: 10px;
        background-color: #fff;
        border: #FFF 1.7px solid;
    }

    .actionHolder .actionItem:hover{
        background-color: #fff7f7;
        cursor: pointer;
        border: #F88257 1.7px solid;
    }

    .actionItem .actionHeader{
        margin-bottom: 10px;
        height: auto;
    }
        .actionItem .actionHeader .actionLeft{
            float: left;
            overflow: hidden;
            width: 90%;
        }
            .actionItem .actionHeader .actionLeft h3{
                font-size: 1.2em;
                color:#00D393;
            }
        .actionItem .actionHeader .actionRight{
            float: left;
            height: 1.2em;
            width: 10%;
            text-align: right;
        }
            .actionItem .actionHeader .actionRight img{
                height: 0.9em;
                margin-top: -10px;
                margin-right: 10px;
            }
        .actionItem .actionBody{
            font-size: 0.9em;
            color: #4B4B4B;
            padding-bottom: 10px;
            display: block;
        }
        .actionItem .actionBody h3{
            color: #4B4B4B;
            font-size: 1.2em;
            font-weight: 400;
            margin-top: 7px;
            display: block;
        }
    
    .actionHolder .active{
            border: #F88257 1.7px solid;
        }
    .actionHolder .active .actionLeft h3{
            color:#F88257;
        }

/* =============== START: COPILOT MODAL DESIGN SYSTEM ============= */
.copilotModalHeader {
    background: linear-gradient(135deg, #F88257 0%, #FF6B6B 100%);
    color: #fff;
    border-radius: 12px 12px 0 0;
    padding: 20px;
    position: relative;
    overflow: hidden;
}

/* Minimized Header Animation */
.copilotModalHeader::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="rgba(255,255,255,0.1)" d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg>');
    opacity: 0.1;
    background-size: 30px;
    animation: floatStars 30s linear infinite;
}

/* Modal Container with Sparkles */
.modal-content.copilot-modal {
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    overflow: visible;
    position: relative;
}

/* Sparkles around the modal */
.modal-content.copilot-modal::before,
.modal-content.copilot-modal::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* Top-left sparkle */
.modal-content.copilot-modal::before {
    top: -20px;
    left: -20px;
    background: radial-gradient(circle at 50% 50%, 
        rgba(255,255,255,0.8) 0%,
        rgba(255,255,255,0.4) 20%,
        rgba(255,255,255,0) 50%);
    width: 40px;
    height: 40px;
    animation: sparkle 3s ease-in-out infinite;
}

/* Bottom-right sparkle */
.modal-content.copilot-modal::after {
    bottom: -20px;
    right: -20px;
    background: radial-gradient(circle at 50% 50%, 
        rgba(255,255,255,0.8) 0%,
        rgba(255,255,255,0.4) 20%,
        rgba(255,255,255,0) 50%);
    width: 40px;
    height: 40px;
    animation: sparkle 3s ease-in-out infinite 1.5s;
}

/* Additional Sparkle Elements */
.modal-content.copilot-modal .sparkle {
    position: absolute;
    width: 3px;
    height: 3px;
    background: white;
    border-radius: 50%;
    animation: twinkle 2s ease-in-out infinite;
    pointer-events: none;
}

/* Position sparkles around the modal */
.modal-content.copilot-modal .sparkle:nth-child(1) {
    top: -10px;
    left: 20%;
    animation-delay: 0s;
}

.modal-content.copilot-modal .sparkle:nth-child(2) {
    top: -10px;
    right: 20%;
    animation-delay: 0.5s;
}

.modal-content.copilot-modal .sparkle:nth-child(3) {
    bottom: -10px;
    left: 20%;
    animation-delay: 1s;
}

.modal-content.copilot-modal .sparkle:nth-child(4) {
    bottom: -10px;
    right: 20%;
    animation-delay: 1.5s;
}

.modal-content.copilot-modal .sparkle:nth-child(5) {
    top: 50%;
    left: -10px;
    animation-delay: 0.25s;
}

.modal-content.copilot-modal .sparkle:nth-child(6) {
    top: 50%;
    right: -10px;
    animation-delay: 0.75s;
}

/* Additional sparkles for corners */
.modal-content.copilot-modal .sparkle:nth-child(7) {
    top: -10px;
    left: -10px;
    animation-delay: 0.1s;
}

.modal-content.copilot-modal .sparkle:nth-child(8) {
    top: -10px;
    right: -10px;
    animation-delay: 0.3s;
}

.modal-content.copilot-modal .sparkle:nth-child(9) {
    bottom: -10px;
    left: -10px;
    animation-delay: 0.7s;
}

.modal-content.copilot-modal .sparkle:nth-child(10) {
    bottom: -10px;
    right: -10px;
    animation-delay: 0.9s;
}

/* Upload Button Sparkle Effect */
.copilotFeedback .primaryFeedback {
    position: relative;
    overflow: hidden;
}

.copilotFeedback .primaryFeedback::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 50% 50%, 
        rgba(255,255,255,0.8) 0%,
        rgba(255,255,255,0.4) 20%,
        rgba(255,255,255,0) 50%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.copilotFeedback .primaryFeedback:hover::before {
    opacity: 0.5;
}

.copilotFeedback .primaryFeedback .button-sparkle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: white;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}

.copilotFeedback .primaryFeedback:hover .button-sparkle {
    animation: buttonSparkle 1s ease-in-out forwards;
}

.copilotFeedback .primaryFeedback .button-sparkle:nth-child(1) {
    top: 20%;
    left: 20%;
    animation-delay: 0.1s;
}

.copilotFeedback .primaryFeedback .button-sparkle:nth-child(2) {
    top: 20%;
    right: 20%;
    animation-delay: 0.2s;
}

.copilotFeedback .primaryFeedback .button-sparkle:nth-child(3) {
    bottom: 20%;
    left: 20%;
    animation-delay: 0.3s;
}

.copilotFeedback .primaryFeedback .button-sparkle:nth-child(4) {
    bottom: 20%;
    right: 20%;
    animation-delay: 0.4s;
}

@keyframes buttonSparkle {
    0% { opacity: 0; transform: scale(0.5); }
    50% { opacity: 1; transform: scale(1.2); }
    100% { opacity: 0; transform: scale(0.5); }
}

@keyframes twinkle {
    0%, 100% { opacity: 0; transform: scale(0.5); }
    50% { opacity: 0.8; transform: scale(1.2); }
}

@keyframes sparkle {
    0%, 100% { opacity: 0; }
    50% { opacity: 0.3; }
}

@keyframes floatStars {
    0% { background-position: 0 0; }
    100% { background-position: 300px 300px; }
}

/* Modal Header Content */
.copilotModalHeader h5 {
    display: flex;
    align-items: center;
    font-size: 1.4em;
    font-weight: 600;
    margin: 0;
    position: relative;
    z-index: 1;
}

.copilotModalHeader h5 img {
    height: 1.2em;
    margin-right: 10px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.copilotModalHeader .close {
    color: #fff;
    opacity: 0.8;
    text-shadow: none;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.copilotModalHeader .close:hover {
    opacity: 1;
    transform: rotate(90deg);
}

/* Recommendation Section */
.copilotRecommendation {
    padding: 25px;
    background: #fff;
    position: relative;
}

.copilotRecommendation::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(248,130,87,0.3), transparent);
}

.copilotRecommendation .smallBreakdown {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid #F88257;
}

/* Feedback Section */
.copilotFeedback {
    padding: 25px;
    text-align: center;
    background: #f8f9fa;
}

.copilotFeedback h3 {
    color: #F88257;
    font-size: 1.4em;
    margin-bottom: 20px;
    position: relative;
    display: inline-block;
}

.copilotFeedback h3::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #F88257, transparent);
}

/* Input Fields */
.copilotFeedback input {
    width: 80%;
    max-width: 300px;
    padding: 12px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 1.2em;
    text-align: center;
    transition: all 0.3s ease;
    margin-bottom: 20px;
}

.copilotFeedback input:focus {
    border-color: #F88257;
    box-shadow: 0 0 0 3px rgba(248,130,87,0.1);
    outline: none;
}

/* Buttons */
.copilotFeedback .primaryFeedback {
    background: linear-gradient(135deg, #F88257 0%, #FF6B6B 100%);
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 1.1em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(248,130,87,0.3);
}

.copilotFeedback .primaryFeedback:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(248,130,87,0.4);
}

.copilotFeedback .secondaryFeedback {
    color: #6c757d;
    background: none;
    border: none;
    padding: 8px 20px;
    font-size: 0.9em;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.copilotFeedback .secondaryFeedback:hover {
    color: #F88257;
}

/* Modal Animation */
.modal.fade .modal-dialog.copilot-dialog {
    transform: scale(0.95);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.modal.show .modal-dialog.copilot-dialog {
    transform: scale(1);
}

/* =============== END: COPILOT MODAL DESIGN SYSTEM ============= */

@media(max-width: 435px){
 
        .navigationLeft{
            display: none;
        }
        .dashboardContent{
            width: 100%;
        }

}


/* ######## Transaction List Table ########## */
/* Table Styles */
#transactiontable {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
}

#transactiontable thead {
    background-color: #f2f2f2;
}

#transactiontable th, 
#transactiontable td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #dcdcdc;
}

/* Column Widths */
#transactiontable th:nth-child(1), 
#transactiontable td:nth-child(1) {
    width: 10%; /* Date and Time */
    line-height: 1.1em;
    font-size: .8em;
    color: #5A5A5A;
}

#transactiontable th:nth-child(2), 
#transactiontable td:nth-child(2) {
    width: 20%; /* Name */
}

#transactiontable th:nth-child(3), 
#transactiontable td:nth-child(3) {
    width: 30%; /* Services */
}

#transactiontable .usericon{
    height: 1em;
    margin-top: -2px;
}

#transactiontable th:nth-child(4), 
#transactiontable td:nth-child(4) {
    width: 10%; /* Status */
}

#transactiontable th:nth-child(5), 
#transactiontable td:nth-child(5) {
    width: 15%; /* Payment Method */
}

#transactiontable th:nth-child(6), 
#transactiontable td:nth-child(6) {
    width: 15%; /* Amount */
    text-align: right;
    padding-right: 15px;
}

/* Status Styles */
#transactiontable .tableAmount{
    border: 0px;
    margin: 0px;
    padding: 0px;
    padding-right: 15px;
    width: 7em;
    text-align: right;
}

/* Ensure table cells in the amount column still have bottom borders */
#transactiontable td.tableAmount {
    border-bottom: 1px solid #dcdcdc !important;
}

#transactiontable .status {
    text-transform: capitalize;
    padding: 5px 10px;
    border-radius: 20px;
    background-color: #fafafa;
}

#transactiontable .status.ongoing {
    color: #FFA500; /* Orange for Pending */
}

#transactiontable .status.confirmed {
    color: #5b5b5b; 
}

#transactiontable .status.complete {
    color: #28a745; /* Green for Completed */
}

#transactiontable .status.canceled {
    color: #dc3545; /* Red for Cancelled */
}

#transactiontable .cancellationReason{
    font-size: 0.7em;
    color: #5c5c5c;
    margin-top: 2px;
    font-style: italic;
}

#transactiontable .tableTotal{
    font-size: 1.15em;
    background-color: #f8f8f8;
}

#transactiontable .tableTotal td {
    border-bottom: 1px solid #dcdcdc;
}

#transactiontable .tableTotal .alignRight{
    text-align: right;
}

#transactiontable .tableTotal span{
    font-weight: 600;
    padding-right: 5px;
}
#transactiontable .tableORinput{
    width: 5em;
    padding: 0px;
    margin: 0px;
    text-align: left;
    border: 0px;
}
#transactiontable .tableORinput:active{
    border-bottom: 1px solid #b6b6b6;
}
#transactiontable .tableORinput:hover{
    border-bottom: 1px solid #b6b6b6;
}

.cashBreakdown{
    text-align: right;
}
.cashBreakdown table{
    float: right;
    margin-right: 5%;
    margin-top: 20px;
    color: #626262;
    font-size: 0.9em;
}

.cashBreakdown table td:nth-child(2) {
    text-align: left;
    padding-left: 15px;
}


/* ### CALENDAR BLOCK ### */

.calendarControls{
    padding-top: 15px;
    overflow: auto;
    padding-bottom: 5px;
}
    .calendarControls .calendarLegend{
        height:15px;
        margin-left: 90px;
        margin-top: 10px;
    }
    .calendarControls .buttonSet{
        text-align: right;
        padding-right: 40px;
    }
    .calendarControls .buttonSet button{
        background-color: #C7465C;
        border: 0px;
        font-size: 0.9em;
        padding: 5px;
        padding-left: 12px;
        padding-right: 12px;
        color: #fff;
        border-radius: 3px;
    }
    .calendarControls .buttonSet input{
        border: 1px #C7465C solid;
        font-size: 0.9em;
        padding: 4px;
        padding-left: 12px;
        padding-right: 12px;
        border-radius: 3px;
    }


.navigationLeft{
    text-align: right;
    padding: 0px;
    margin: 0px;
}
.navigationLeft .buttonSet{
    text-align: right;
    padding: 0px;
    margin-left: 10px;
    padding-right: 0px;
    position: relative;
    right: -10px;
}
.navigationLeft .buttonSet img{
    width: 110%;
    padding-bottom: 12px;
}

.calendarHolder{
    overflow: auto;
    margin-top: 50px;
    position: relative;
    display: block;
    height: 430px;
}

.calendarBlock{
    z-index: 0;
    width: 100%;
}
.calendar{
    font-size: 0.9em;
    padding: 5px;
    padding-bottom: 7px;
    border: #e3e3e3 1px solid;
    overflow: auto;
    width: 940px;
    border-radius: 5px;
}
    .calendar table tr{
        height: 40px;
        max-height: 40px;
    }
    .calendar .calendarTime{
        margin-top: 18px;
        padding: 0px;
        text-align: right;
        height: auto;
        overflow: auto;
        float: left;
        color: #808080;
        font-weight: 500;
        font-size: 0.9em;
        width: 70px;
        padding-right: 2px;
        position: relative;
    }
        .calendar .calendarTime table{
            float: right;
            margin-right: 5px;
        }
.calendar .calendarSchedule{
    padding: 0px;
    text-align: left;
    height: auto;
    overflow: auto;
    overflow-x: scroll;
    float: left;
    max-width: 930px;
    -webkit-overflow-scrolling: touch;
    overflow-x: scroll;
    white-space: nowrap; /* Optional for proper horizontal scrolling */
    
}

        .calendar .calendarSchedule table{
            width: 850px;
            text-align: center;
        }
        .calendar .calendarSchedule .scheduleHeader{
            font-weight: 600;
            color: #C7465C;
        }
        .calendar .calendarSchedule td{
            border-bottom: 1px #BFBFBF solid;
            max-height: 25px;
            overflow:hidden;
        }

.entryconfirmed{
    border-left: #FF7A00 2px solid;
}
.entryongoing{
    border-left: #F8BD00 2px solid;
}
.entrycomplete{
    border-left: #34BE5A 2px solid;
}
.entrycanceled{
    border-left: #D94C64 2px solid;
}


.entry {
    background-color: #EDEDED;
    position: absolute;
    min-height: 25px;
    width: 180px;
    z-index: 100;
    /* margin-top: -12px; */
    text-align: left;
    font-size: 1em;
    padding-left: 10px;
    overflow: scroll;
    font-weight: 500;
    border-top: 1px solid #fff;
    scrollbar-width: none; /* Hide Scrollbar in Firefox */
    -ms-overflow-style: none; /* Hide Scrollbar in Internet Explorer 10+ */
}

.entry::-webkit-scrollbar {
    display: none; /* Hide Scrollbar in Chrome, Safari, and Edge */
}



.entry h3{
    padding-top: 8px;
    font-size: 1em;
    margin-bottom: -5px;
}
.entry h3 img{
    width: 14px;
    float: left;
    padding-right: 2px;
    margin-top: 1px;
}
.entry .listofservices{
    margin-top: 3px;
    font-size: 0.85em;
    line-height: 1.1em;
    padding-left: 4px;
    padding-right: 6px;
}
.entry .entryNotes{
    font-size: 0.85em;
    padding-left: 4px;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.1em;
    font-style: italic;
}
.entry .entryNotes strong{
    font-weight: 600;
    color: #C7465C;
}
.entry .blockTimedisplay{
    font-size: 0.7em;
    color: #323232;
}

/* ####### END: CALENDAR BLOCK ######### */
/* ####### CALENDAR MODAL DESIGN ####### */
.titleLeft h3{
    float: left;
}
.addReservationBtn{
    background-color: #efefef;
    color: #585858;
    float: left;
    font-weight: 400;
    border: 0px;
    border-radius: 7px;
    font-size: 0.8em;
    padding: 2px;
    padding-left: 13px;
    padding-right: 13px;
    margin-left: 10px;
    margin-top: 2px;
}
.addReservationBtn:hover{
    background-color: #e3e3e3;
    cursor: pointer;
}


.calendarControls{
    padding-top: 15px;
    overflow: auto;
    padding-bottom: 5px;
}
    .calendarControls .calendarLegend{
        height:15px;
        margin-left: 90px;
        margin-top: 10px;
    }
    .calendarControls .buttonSet{
        text-align: right;
        padding-right: 40px;
    }
    .calendarControls .buttonSet button{
        background-color: #C7465C;
        border: 0px;
        font-size: 0.9em;
        padding: 5px;
        padding-left: 12px;
        padding-right: 12px;
        color: #fff;
        border-radius: 3px;
    }
    .calendarControls .buttonSet input{
        border: 1px #C7465C solid;
        font-size: 0.9em;
        padding: 4px;
        padding-left: 12px;
        padding-right: 12px;
        border-radius: 3px;
    }


.navigationLeft{
    text-align: right;
    padding: 0px;
    margin: 0px;
}
.navigationLeft .buttonSet{
    text-align: right;
    padding: 0px;
    margin-left: 10px;
    padding-right: 0px;
    position: relative;
    right: -10px;
}
.navigationLeft .buttonSet img{
    width: 110%;
    padding-bottom: 12px;
}
.calendar{
    font-size: 0.9em;
    padding: 5px;
    padding-bottom: 7px;
    border: #e3e3e3 1px solid;
    overflow: auto;
    width: 860px;
    border-radius: 5px;
}
    .calendar table tr{
        height: 25px;
        max-height: 25px;
    }
    .calendar .calendarTime{
        margin-top: 12px;
        padding: 0px;
        text-align: right;
        height: auto;
        overflow: auto;
        float: left;
        color: #808080;
        font-weight: 500;
        font-size: 0.9em;
        width: 70px;
        padding-right: 2px;
        position: relative;
    }
        .calendar .calendarTime table{
            float: right;
        }
.calendar .calendarSchedule{
    padding: 0px;
    text-align: left;
    height: auto;
    overflow: auto;
    overflow-x: scroll;
    float: left;
    max-width: 760px;
    -webkit-overflow-scrolling: touch;
}
        .calendar .calendarSchedule table{
            width: 760px;
            text-align: center;
        }
        .calendar .calendarSchedule .scheduleHeader{
            font-weight: 600;
            color: #C7465C;
        }
        .calendar .calendarSchedule td{
            border-bottom: 1px #BFBFBF solid;
            max-height: 25px;
            overflow:hidden;
        }

/* ####### ENTRY ######### */

.entryconfirmed{
    border-left: #FF7A00 2px solid;
}
.entryongoing{
    border-left: #F8BD00 2px solid;
}
.entrycomplete{
    border-left: #34BE5A 2px solid;
}
.entrycanceled{
    border-left: #D94C64 2px solid;
}
.entry{
    background-color: #EDEDED;
    position:absolute;
    min-height: 25px;
    width: 170px;
    z-index: 100;
    margin-top: -12px;
    text-align: left;
    font-size: 1em;
    padding-left: 10px;
    overflow: scroll;
    font-weight: 500;
    border-top: 1px solid #fff;
}
.entry h3{
    padding-top: 8px;
    font-size: 1em;
    margin-bottom: -5px;
}
.entry h3 img{
    width: 14px;
    float: left;
    padding-right: 2px;
    margin-top: 1px;
}
.entry .listofservices{
    margin-top: 3px;
    font-size: 0.85em;
    line-height: 1.1em;
    padding-left: 4px;
    padding-right: 6px;
}
.entry .entryNotes{
    font-size: 0.85em;
    padding-left: 4px;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.1em;
    font-style: italic;
}
.entry .entryNotes strong{
    font-weight: 600;
    color: #C7465C;
}
.entry .blockTimedisplay{
    font-size: 0.7em;
    color: #323232;
}

/* ###### MODAL ####### */
.modal{
    display: block;
}
.modalHeader{
    background-color: #f8f8f8;
}
    .modalHeader h4{
        font-size: 1.3em;
    }
    .modalHeader .statusIndicator{
        margin-top: 5px;
        font-size: 0.8em;
        color: #fff;
        text-align: center;
        padding: 4px;
        border-radius: 1em;
    }
        .modalConfirmed{
            background-color: #FF7A00;
        }
        .modalOngoing{
            background-color: #F8BD00;
        }
        .modalComplete{
            background-color: #34BE5A;
        }
        .modalCanceled{
            background-color: #D94C64;
        }


    .modalHeader .dateTime{
        font-family: 'SF Pro Thin', sans-serif;
        font-size: 0.8em;
        margin-top: -6px;
    }

.modalBlock{
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #bcbcbc;
}
.modalBlockNoline{
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 0px;
}
    .modalBlock h3{
        font-size: 1em;
        font-weight: 600;
        margin-bottom: 0px;
    }
    .modalBlock #modalLogs{
        padding: 10px;
        font-size: 0.75em;
        height: 100px;
        overflow-y: scroll;
    }
    .modalFooterTotal{
        color: #C7465C;
        font-size: 0.8em;
        margin-top: -8px;
    }
   
.modalFooterBtns{
    text-align: right;
}
.modalFooterBtns .btn-primary{
    background-color: #F88257; /* Primary button color */
    border: 0px;
}
.modalFooterBtns .btn-primary:hover{
    background-color: #e86738;
}
.modalFooterBtns .btn-secondary{
    background-color: #ffffff; /* Secondary button background */
    border: 1px solid #F88257; /* Border color for secondary button */
    color: #F88257; /* Text color for secondary button */
    font-weight: 300; /* Thin text */
}
.modalFooterBtns .btn-secondary:hover{
    background-color: #eeeeee;
    color: #616161;
}
.modalFooterBtns .btn-secondary img{
    height: 1em;
}
textarea::-webkit-scrollbar {
    width: 10px;
}
textarea::-webkit-scrollbar-thumb {
    background-color: #ccc;
}
#customerServices{
    width: 100%;
    border: 0px;
    padding: 0px;
    overflow: visible; /* hide the extra content */
    min-height: 5em; /* set a minimum height */
}
#customerServices:focus {
    overflow: auto; /* show the extra content on focus */
}
#addRelatedReservationModal{
    overflow: scroll;
}
/* .addReservationModal .modalHeader{
    background-color:#C7465C;
    color: #fff;
} */
    .addReservationModal .inputLabel{
        background-color: #d8d8d8;
        font-size: 0.7em;
        color: #585858;
        padding: 3px;
        padding-left: 8px;
        padding-bottom: 5px;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
        width: 10em;
        margin-top: 15px;
        margin-bottom: -3px;
    }
    .addReservationModal .modalBlock input{
        font-size: 0.9em;
        width: 95%;
        border-radius: 4px;
        border: 1px #6a6a6a solid;
        margin-bottom: 2px;
        background-color: #fff;
        padding: 5px;
        padding-left: 8px;
    }
    .addReservationModal .modalBlock textarea{
        font-size: 0.9em;
        width: 95%;
        border-radius: 4px;
        border: 1px #6a6a6a solid;
        margin-bottom: 2px;
        background-color: #fff;
        padding: 5px;
        padding-left: 8px;
    }
    .addReservationModal .modalBlock select{
        font-size: 0.9em;
        width: 95%;
        border-radius: 4px;
        border: 1px #6a6a6a solid;
        margin-bottom: 2px;
        background-color: #fff;
        padding: 5px;
        padding-left: 8px;
        padding-right: 8px;
    }
    #detailsPrice{
        color: #C7465C;
        font-size: 1.3em;
        border: 0px;
        width: 120px;
        padding: 0px;
        margin-top: -5px;
    }
    .checkboxBlock{
        text-align: left;
        height: auto;
        overflow: auto;
        margin-bottom: -14px;
    }
    .checkboxBlock input{
        float: left;
        clear: none;
        width: 10px;
        margin-top: 2px;
        margin-right: 5px;
    }
    .checkboxBlock div{
        float: left;
        clear: none;
        width: 80%;
        margin-top: -2px;
    }
    .bookingNotice{
        margin-top: 10px;
        margin-bottom: 0px;
    }
    .form_error{
        display: none;
    }
.loadingElement {
    font-size: 0.8em;
    float: right;
    font-weight: 400;
    overflow: auto;
    height: auto;
}
.loadingElement .saving{
    color:#d73600;
    display: none;
}
        .saving{
            animation: fade-in-out-animation 2s infinite;
        }
        
        @keyframes fade-in-out-animation {
            0% {
            opacity: 0;
            }
            50% {
            opacity: 1;
            }
            100% {
            opacity: 0;
            }
        }
.loadingElement .saved{
    color:#00a452;
    display: none;
}
    #formconnect_mainbooking{
        padding-bottom: 20px;
    }
    #relatedbookingdetails{
        display: none;
    }
    #notifyrelateduserblock{
        display: none;
    }
    #connectedtoSelector{
        display: none;
    }
    .tooltiptime{
        display: none;
        font-size: 0.7em;
        padding-left: 4px;
        color: #323232;
    }

.transactionbreakdown{
    background-color: #fff;
}
.transactionbreakdown table{
    width: 94%;
    margin: 3%;
}
.transactionbreakdown table{
    border: 0px;
}
.transactionbreakdown table tr{
    border: 1.2px solid #dadada;
    font-size: 0.8em;
    line-height: 1.1em;
    color: #323232;
}
.transactionbreakdown table td{
    padding: 10px;
    padding-left: 12px;
    padding-bottom: 13px;
}
.transactionbreakdown h5{
    font-size: 1.2em;
    margin-bottom: 2px;
}
.transactionbreakdown table tr td:nth-child(2){
    width: 30%;
    text-align: center;
}
    .transactionbreakdown table input{
        width: 100%;
        text-align: right;
        font-size: 1em;
        border: 0px;
    }
    .grandTotal{
        text-align: right;
        margin-right: 4%;
    }
    .grandTotal input{
        text-align: right;
        border: 0px;
    }
.paymentTypeselect{
    margin-top: 20px;
}
.paymentTypeselect div{
    font-size: 0.9em;
    padding: 8px;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: 8px;
    float: right;
    border: 1px #c2c2c2 solid;
    background: #f4f4f4;
    margin-right: 10px;
    cursor: pointer;
}
.receiptNo div{
    font-size: 0.8em;
}
.receiptNo input{
    width: 150px;
    font-size: 0.8em;
    padding: 0px;
    border: 0px;
    border-bottom: #bfbfbf solid 1px;
}
.configBlock input{
    width: 100%;
}

#refreshBtn{
    background-color: #a4a4a4;
    padding-left: 8px;
    padding-right: 8px;
}
    #refreshBtn img{
        width: 20px;
    }
    .deleteIcon{
        height: 1em;
        margin-left: 8px;
        margin-top: -3px;
    }


/* ####### END: CALENDAR MODAL DESIGN #### */
.payrollHeader{
    display: block;
    overflow: auto;
    padding-bottom: 25px;
}

    .payrollHeader .titleLeft{
        float: left;
        width: 35%;
        height: 2em;
        margin: 0px;
    }
    .payrollHeader .titleLeft h3{
        color: #F88257;
        font-size: 1.4em;
        font-weight: 400;   
    }
    .payrollHeader .reservationsFilterRight{
        float: left;
        width: 65%;
        margin: 0px;
        height: 2em;
        padding: 3px;
        text-align: right;
        z-index: 100;
    }
    .payrollHeader .reservationsFilterRight .viewtoggle{
        float: right;
    }

.payrollBlock{
    width: 100%;
    max-width: 750px;
    margin-bottom: 20px;
    background-color: #ffffff;
    padding-bottom: 15px;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
    border-radius: 12px;
    border: 1px #f1f1f1 solid;
    display: block;
}
.payrollTable{
    width: 100%;
    font-size: 0.85em;
}
    .payrollTable th{
        color: #6f6f6f;
        padding: 5px;
        padding-left: 7px;
        font-weight: 500;
    }
    .payrollTable tr{
        border-bottom: 1px #d1d1d1 solid;
    }
    .payrollTable td{
        padding: 5px;
        padding-left: 7px;
    }
    .payrollTable .employeeRow{
        font-size: 1.1em;
        font-weight: 600;
        padding-left: 7px;
        background-color: #f4f4f4;
    }

    .payrollTable .timeinput{
        border: 0px;
    }

    .payrollTable .hourinput,.minuteinput{
        border: 0px;
        padding: 0px;
        width: 1.3em;
        text-align: right;
    }

/* ######### START: PAYROLL ######### */

.badge-warning {
    background-color: #ffc107;
    color: #212529;
}

.small-pill {
    font-size: 0.7em;
    margin-left: 5px;
    padding: 2px 2px;
}


.payrollTable button{
    background-color: #f8f8f8;
    color: #3a87f2;
    border: 0px;
    border-radius: 4px;
    font-size: 0.75em;
    padding: 1px 10px;
    margin: 0 4px;
    font-weight: normal;
}

.payrollTable button:hover {
    background-color: #efefef;
    cursor: pointer;
}

.payrollTable button.activateBtn {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 5px 10px;
    margin-left: 5px;
    border-radius: 4px;
    cursor: pointer;
}

.payrollTable button.deactivateBtn {
    background-color: #f44336;
    color: white;
    border: none;
    padding: 5px 10px;
    margin-left: 5px;
    border-radius: 4px;
    cursor: pointer;
}

.payrollTable button.activateBtn:hover {
    background-color: #45a049;
}

.payrollTable button.deactivateBtn:hover {
    background-color: #da190b;
}

/* ######### END: PAYROLL ######### */

/* ######### START: ACCOUNTING ######### */

.accountingHeader{
    display: block;
    overflow: auto;
    padding-bottom: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .accountingHeader .titleLeft{
        float: left;
        width: 35%;
        height: 2em;
        margin: 0px;
    }
    .accountingHeader .titleLeft h3{
        color: #F88257;
        font-size: 1.4em;
        font-weight: 400;   
    }
    
    .accountingHeader .date-range-filter {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    
    .accountingHeader .date-range-filter label {
        font-size: 0.85em;
        color: #585858;
    }
    
    .accountingHeader .date-range-filter input[type="date"] {
        border: 1px solid #c8c8c8;
        border-radius: 5px;
        padding: 4px 8px;
        font-size: 0.85em;
    }

.accountingBlock{
    width: 100%;
    max-width: 750px;
    margin-bottom: 20px;
    background-color: #ffffff;
    padding-bottom: 15px;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
    border-radius: 12px;
    border: 1px #f1f1f1 solid;
    display: block;
}
.accountingTable{
    width: 100%;
    font-size: 0.85em;
}
    .accountingTable th{
        color: #6f6f6f;
        padding: 5px;
        padding-left: 7px;
        font-weight: 500;
    }
    .accountingTable tr{
        border-bottom: 1px #d1d1d1 solid;
    }
    .accountingTable td{
        padding: 5px;
        padding-left: 7px;
    }
    .accountingTable .summary-row{
        background-color: #f8f8f8;
    }
    .accountingTable .balance-row{
        background-color: #f0f7ff;
        font-weight: 600;
    }

.accountingTable button{
    background-color: #f8f8f8;
    color: #3a87f2;
    border: 0px;
    border-radius: 4px;
    font-size: 0.75em;
    padding: 1px 10px;
    margin: 0 4px;
    font-weight: normal;
}

.accountingTable button:hover {
    background-color: #efefef;
    cursor: pointer;
}

.accountingTable button.btn-danger {
    color: #dc3545;
}

.noaccountingresult {
    text-align: center;
    color: #888;
    padding: 20px;
    font-style: italic;
}

/* ######### END: ACCOUNTING ######### */

/* Accounting Tabs Styling */
.accounting-tabs {
    margin-top: 15px;
    margin-bottom: 20px;
    clear: both;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accounting-tabs .viewtoggle {
    width: auto;
    display: inline-flex;
    margin-left: 0;
}

.accounting-tabs .togglebutton {
    min-width: 100px;
    text-align: center;
    font-weight: 500;
}

.accounting-tabs .togglebutton.active {
    background-color: #F88257;
    color: white;
}

/* Tab Actions Styling */
.tab-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.secondary-action {
    padding: 0 15px;
}

.date-range-filter {
    display: flex;
    align-items: center;
    gap: 8px;
}

.date-range-filter label {
    font-size: 0.85em;
    color: #585858;
}

.date-range-filter input[type="date"] {
    border: 1px solid #c8c8c8;
    border-radius: 5px;
    padding: 4px 8px;
    font-size: 0.85em;
}

.filter-btn, .add-action-btn {
    background-color: #F88257;
    color: white;
    border: none;
    border-radius: 5px;
    padding: 5px 12px;
    font-size: 0.85em;
    cursor: pointer;
    transition: background-color 0.2s;
}

.filter-btn:hover, .add-action-btn:hover {
    background-color: #e76a3a;
}

.add-action-btn {
    padding: 6px 15px;
    font-weight: 500;
}

/* ######### END: ACCOUNTING ######### */

/* Text alignment helpers */
.text-right {
    text-align: right !important;
}

.text-muted {
    color: #6c757d !important;
}

.small {
    font-size: 0.875em;
}

/* Table customizations for Revenue section */
.revenue-table th, 
.revenue-table td,
#expensestable th,
#expensestable td {
    vertical-align: middle;
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #dcdcdc;
}

#expensestable {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
}

#expensestable thead {
    background-color: #f2f2f2;
}

/* Column widths for expenses table */
#expensestable th:nth-child(1), 
#expensestable td:nth-child(1) {
    width: 12%; /* Date */
    line-height: 1.1em;
    font-size: .8em;
    color: #5A5A5A;
}

#expensestable th:nth-child(2), 
#expensestable td:nth-child(2) {
    width: 15%; /* Category */
}

#expensestable th:nth-child(3), 
#expensestable td:nth-child(3) {
    width: 20%; /* Vendor/Payee */
}

#expensestable th:nth-child(4), 
#expensestable td:nth-child(4) {
    width: 38%; /* Note */
}

#expensestable th:nth-child(5), 
#expensestable td:nth-child(5) {
    width: 15%; /* Amount */
    text-align: right;
    padding-right: 15px;
}

#expensestable .tableAmount {
    border: 0px;
    margin: 0px;
    padding: 0px;
    padding-right: 15px;
    width: 7em;
    text-align: right;
}

/* Ensure table cells in the amount column still have bottom borders */
#expensestable td.tableAmount {
    border-bottom: 1px solid #dcdcdc !important;
}

#expensestable .tableTotal {
    font-size: 1.15em;
    background-color: #f8f8f8;
}

#expensestable .tableTotal td {
    border-bottom: 1px solid #dcdcdc;
}

#expensestable .tableTotal .alignRight {
    text-align: right;
}

#expensestable .tableTotal span {
    font-weight: 600;
    padding-right: 5px;
}

.revenue-table .btn-sm,
#expensestable .btn-sm {
    font-size: 0.75em;
    padding: 0.25rem 0.5rem;
    border-radius: 0.2rem;
    background-color: #f8f8f8;
    color: #3a87f2;
    border: 0px;
    margin: 0 2px;
}

.revenue-table .btn-sm:hover,
#expensestable .btn-sm:hover {
    background-color: #efefef;
    cursor: pointer;
}

.revenue-table .btn-danger,
#expensestable .btn-danger {
    color: #dc3545;
}

/* Card styling for summary sections */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 0.25rem;
}

.card-body {
    flex: 1 1 auto;
    padding: 1.25rem;
}

.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.mt-4 {
    margin-top: 1.5rem !important;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.col-md-6 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 768px) {
    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-sm td, .table-sm th {
    padding: 0.3rem;
}

/* Tab Content Styling */
.tab-content {
    transition: opacity 0.3s ease;
    width: 100%;
}

.tab-content.fade {
    opacity: 0;
    display: none;
}

.tab-content.fade.show {
    opacity: 1;
    display: block;
}

/* Tax Calendar and Reminders Styling */
.tax-calendar .list-group-item {
    padding: 10px;
    margin-bottom: 5px;
    border-left: none;
    border-right: none;
    border-radius: 4px !important;
}

.badge.bg-danger {
    background-color: #dc3545 !important;
}

.badge.bg-warning {
    background-color: #ffc107 !important;
}

.badge.bg-info {
    background-color: #17a2b8 !important;
}

.badge.text-white {
    color: #fff !important;
}

.badge.text-dark {
    color: #212529 !important;
}

.badge.rounded-pill {
    border-radius: 50rem !important;
    padding: 4px 8px;
}

.me-2 {
    margin-right: 0.5rem !important;
}

.tax-note {
    background-color: #f8f9fa;
    border-left-width: 4px !important;
}

.border-warning {
    border-color: #ffc107 !important;
}

.border-info {
    border-color: #17a2b8 !important;
}

.border-success {
    border-color: #28a745 !important;
}

.border-3 {
    border-width: 3px !important;
}

.fw-bold {
    font-weight: 600 !important;
}

/* Tax table styling */
#taxestable {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
}

#taxestable thead {
    background-color: #f2f2f2;
}

#taxestable th, 
#taxestable td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #dcdcdc;
}

/* Column widths for tax table */
#taxestable th:nth-child(1), 
#taxestable td:nth-child(1) {
    width: 15%; /* Date */
    line-height: 1.1em;
    font-size: .8em;
    color: #5A5A5A;
}

#taxestable th:nth-child(2), 
#taxestable td:nth-child(2) {
    width: 25%; /* Tax/Form */
}

#taxestable th:nth-child(3), 
#taxestable td:nth-child(3) {
    width: 45%; /* Note */
}

#taxestable th:nth-child(4), 
#taxestable td:nth-child(4) {
    width: 15%; /* Amount */
    text-align: right;
    padding-right: 15px;
}

#taxestable .tableAmount {
    border: 0px;
    margin: 0px;
    padding: 0px;
    padding-right: 15px;
    width: 7em;
    text-align: right;
}

/* Ensure table cells in the amount column still have bottom borders */
#taxestable td.tableAmount {
    border-bottom: 1px solid #dcdcdc !important;
}

#taxestable .tableTotal {
    font-size: 1.15em;
    background-color: #f8f8f8;
}

#taxestable .tableTotal td {
    border-bottom: 1px solid #dcdcdc;
}

#taxestable .tableTotal .alignRight {
    text-align: right;
}

#taxestable .tableTotal span {
    font-weight: 600;
    padding-right: 5px;
}

/* ######### FINANCIAL METRICS STYLES ######### */

.financial-metric {
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    min-height: 110px;
    border-radius: 8px;
    padding: 15px;
    background-color: #fff;
}

.financial-metric-title {
    text-align: left;
    margin-bottom: 5px;
}

.financial-metric-title h3 {
    color: #F88257;
    font-size: 1.1em;
    margin-bottom: 2px;
    font-weight: 500;
}

.financial-metric-title span {
    color: #888;
    font-size: 0.85em;
}

.financial-metric-value {
    display: flex;
    align-items: center;
    margin-top: 15px;
}

.financial-metric-amount {
    font-size: 1em;
    font-weight: 500;
    color: #333;
    flex-grow: 1;
}

.financial-metric-trend {
    display: inline-flex;
    align-items: center;
    font-size: 0.75em;
    margin-left: 5px;
    position: relative;
    top: -5px;
}

.financial-metric-trend img {
    height: 12px;
    margin-left: 2px;
}

.financial-metric-trend.up {
    color: #03b47f;
}

.financial-metric-trend.down {
    color: #FF3A3A;
}

/* Accounting List Styling */
.accountingList {
    background-color: #fff;
    width: 95%;  /* Wider than reservationsList's 80% */
    padding: 2em;
    margin-top: 2em;
    margin-right: 2em;
    margin-bottom: 2em;
    border-radius: 15px;
    overflow: auto;
    float: left;
}

/* Override width only when both classes are present */
.accountingList.reservationsList {
    width: 95%;
}

/* Alert Modal Styles */
#alertModal .modal-content {
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border: none;
}

#alertModal .modal-header {
    padding: 1.5rem;
    position: relative;
    border-bottom: none;
}

#alertModal .modal-icon {
    position: absolute;
    left: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
}

#alertModal .modal-title {
    margin-left: 3rem;
    font-weight: 600;
    color: #2c3e50;
}

#alertModal .modal-body {
    padding: 0 1.5rem 1.5rem;
    color: #6c757d;
    font-size: 1rem;
    line-height: 1.5;
}

#alertModal .modal-footer {
    padding: 0 1.5rem 1.5rem;
    border-top: none;
}

#alertModal .btn-primary {
    background: #3498db;
    border: none;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.3s ease;
}

#alertModal .btn-primary:hover {
    background: #2980b9;
    transform: translateY(-1px);
}

#alertModal .close {
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

#alertModal .close:hover {
    opacity: 1;
}


/* Copilot Facility Recommendation 
TODO: For removal later on */
.copilotFacilityRecommendation {
    padding: 20px;
}

.copilotFacilityRecommendation .cctvHolder {
    margin-top: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
}

.copilotFacilityRecommendation .cctvImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px 8px 0 0;
}

.copilotFacilityRecommendation .cctvAnnotation {
    padding: 15px;
    background: #f1f3f5;
    color: #495057;
    font-size: 0.8em;
    line-height: 1.4;
    border-top: 1px solid #e9ecef;
    display: flex;
    align-items: center;
    gap: 10px;
}

.copilotFacilityRecommendation .cctvAnnotation .annotationIcon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

.copilotFacilityRecommendation .cctvAnnotation span {
    flex: 1;
}

.payrollTable input[type="number"].hour-input,
.payrollTable input[type="number"].minute-input {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 2px 4px;
    font-size: 0.9em;
    text-align: center;
    background-color: #f8f9fa;
}

.payrollTable input[type="number"].hour-input:focus,
.payrollTable input[type="number"].minute-input:focus {
    outline: none;
    border-color: #3a87f2;
    background-color: #fff;
}

/* Remove spinner buttons from number inputs */
.payrollTable input[type="number"]::-webkit-inner-spin-button,
.payrollTable input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.payrollTable input[type="number"] {
    -moz-appearance: textfield;
}

/* Saving Indicator */
.saving-indicator {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #4CAF50;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 1000;
    transition: all 0.3s ease;
}

.saving-indicator.saved {
    background-color: #2196F3;
}

.saving-text {
    display: inline-block;
    margin-right: 8px;
}

/* =============== START: COPILOT MODAL DESIGN SYSTEM ============= */
/* ... existing code ... */

/* Copilot Action Confirmation Modal */
.copilotProcessing {
    text-align: center;
    padding: 40px;
    display: none;
}

.copilotProcessing .processingIcon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    border: 4px solid #F88257;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 1s linear infinite;
}

.copilotProcessing h3 {
    color: #F88257;
    margin-bottom: 10px;
    font-size: 1.5em;
}

.copilotProcessing p {
    color: #666;
    margin-bottom: 20px;
}

.copilotSuccess {
    text-align: center;
    padding: 40px;
    display: none;
}

.copilotSuccess .successIcon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, #F88257 0%, #FF6B6B 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 40px;
    font-weight: bold;
    box-shadow: 0 4px 15px rgba(248,130,87,0.3);
}

.copilotSuccess h3 {
    color: #F88257;
    margin-bottom: 10px;
    font-size: 1.5em;
    position: relative;
    display: inline-block;
}

.copilotSuccess h3::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #F88257, transparent);
}

.copilotSuccess p {
    color: #666;
    margin-bottom: 20px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.copilotProcessing.show {
    display: block;
}

.copilotSuccess.show {
    display: block;
}

/* =============== END: COPILOT MODAL DESIGN SYSTEM ============= */

/* Unposted transaction styles */
.unposted-transaction {
    background-color: #f8f8f8;
    color: #666;
}

.unposted-transaction td {
    border-bottom: 1px solid #e0e0e0;
}

.unposted-amount-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.unposted-amount {
    width: 100px;
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: right;
    background-color: #fff;
}

.unposted-actions {
    display: flex;
    gap: 5px;
    position: relative;
}

.btn-accept,
.btn-reject {
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: all 0.2s;
    color: white;
    position: relative;
    overflow: hidden;
}

.btn-accept {
    background: linear-gradient(135deg, #F88257, #FF6B6B);
    box-shadow: 0 2px 4px rgba(248, 130, 87, 0.3);
}

.btn-reject {
    background-color: #999;
}

.btn-accept:hover {
    background: linear-gradient(135deg, #FF6B6B, #F88257);
    transform: scale(1.1);
}

.btn-reject:hover {
    background-color: #777;
}

/* AI-powered button animation */
.btn-accept::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%);
    animation: sparkle 2s infinite;
    opacity: 0;
}

.btn-accept::after {
    content: '✨';
    position: absolute;
    font-size: 8px;
    animation: float 2s infinite;
    opacity: 0;
}

@keyframes sparkle {
    0% {
        transform: rotate(0deg);
        opacity: 0;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        transform: rotate(360deg);
        opacity: 0;
    }
}

@keyframes float {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateY(-20px) rotate(360deg);
        opacity: 0;
    }
}
