body {
    background-color: #F0F0F0;
}

    /*Login Page Starts*/
    /* Define the dynamic body styles here instead of inline */
    /* === Backgrounds === */
    body.login-bg {
        background-image: url('../images/bg-img.png');
        background-size: cover;
        background-position: center;
        min-height: 100vh;
    }

    body.dashboard-bg {
        background-color: #F0F0F0;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        overflow-x: hidden; /* Prevents scrolling when sidebar slides */
    }

/* === Responsive Layout === */
.page-wrapper {
    flex: 1; /* Pushes footer to the bottom */
    overflow: hidden;
}

.main-div-container {
    min-width: 0;
    transition: all 0.3s ease-in-out;
}

/* --- Sidebar Desktop (Visible by default) --- */
#sidebar {
    width: 250px;
    min-width: 250px;
    transition: margin 0.3s ease-in-out;
    z-index: 1040;
}

    #sidebar.toggled {
        margin-left: -250px; /* Hides on desktop when toggled */
    }

/* --- Sidebar Mobile & Tablet --- */
@@media (max-width: 768px) {
    #sidebar {
        position: absolute;
        height: 100%;
        margin-left: -250px; /* Hidden by default on mobile */
        box-shadow: 3px 0 10px rgba(0,0,0,0.1);
    }

        #sidebar.toggled {
            margin-left: 0; /* Slides into view on mobile */
        }

    .page-wrapper {
        position: relative;
    }
}

/* === Backgrounds === */
body.login-bg {
    background-image: url('../images/bg-img.png');
    background-size: cover;
    background-position: center;
    min-height: 100vh;
}

body.dashboard-bg {
    background-color: #F0F0F0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden; /* Prevents scrolling when sidebar slides */
}

/* === Responsive Layout === */
.page-wrapper {
    flex: 1; /* Pushes footer to the bottom */
    overflow: hidden;
}

.main-div-container {
    min-width: 0;
    transition: all 0.3s ease-in-out;
}

/* --- Sidebar Desktop (Visible by default) --- */
#sidebar {
    width: 250px;
    min-width: 250px;
    transition: margin 0.3s ease-in-out;
    z-index: 1040;
}

    #sidebar.toggled {
        margin-left: -250px; /* Hides on desktop when toggled */
    }

/* --- Sidebar Mobile & Tablet --- */
@@media (max-width: 768px) {
    #sidebar {
        position: absolute;
        height: 100%;
        margin-left: -250px; /* Hidden by default on mobile */
        box-shadow: 3px 0 10px rgba(0,0,0,0.1);
    }

        #sidebar.toggled {
            margin-left: 0; /* Slides into view on mobile */
        }

    .page-wrapper {
        position: relative;
    }
}
/*Login Page Ends*/

/*Header starts*/
.header {
    background-image: url(../images/nav-bar.png);
    height: 65px;
    background-repeat: round;
}

    .header .navbar {
        z-index: 2;
    }

    .header .logout-btn {
        background: #EFC42A;
        border-radius: 6px;
        font-weight: 600;
        font-size: 14px;
        color: #fff;
    }
/*Header ends*/

/*Dashboard Design*/
.heading {
    font-weight: 500;
    font-size: 22px;
    color: rgba(0, 0, 0, 0.87);
}

.dashboard-form {
    background: #FFFFFF;
    box-shadow: 0px 4px 20px rgba(126, 139, 145, 0.08);
    border-radius: 10px;
    font-size: 12px;
    color: rgba(0, 0, 0, 0.56);
}

    .dashboard-form .control-label {
        margin-bottom: 4px;
        font-size: 12px;
    }

.merchant-info-div {
    border: 1px solid #DBDBDB;
    border-radius: 7px;
    padding: 12px 20px;
}
/*Dashboard Design End*/

/* Targets all the pages */
.page-container {
    background: #FFFFFF;
    box-shadow: 0px 4px 20px rgba(126, 139, 145, 0.08);
    border-radius: 10px;
}

.page-header {
    font-weight: 500;
    font-size: 22px;
    color: rgba(0, 0, 0, 0.87);
    margin-bottom: 19px;
}

.form-label {
    margin-bottom: 4px;
    font-weight: 400;
    font-size: 12px;
    color: rgba(0, 0, 0, 0.56);
}

input {
    font-weight: 400;
    font-size: 14px;
    color: #212B36;
}

.form-control:disabled {
    background: #EAEAEA !important;
    border: 1px solid rgba(103, 103, 103, 0.4) !important;
    border-radius: 5px;
    color: #212B36;
}

form .btn {
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    height: 40px !important;
}

.table-responsive {
    max-width: 100%;
}

.table thead {
    background: #DBEBE4;
    border-radius: 5px;
}

    .table thead th {
        font-size: 12px !important;
        font-weight: 600;
        text-transform: uppercase;
        color: #283A33;
    }

.table tbody td {
    color: #283A33;
    font-size: 14px;
}

.back-btn {
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    text-decoration-line: underline;
    color: #797979;
}

.btn-datatable {
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    height: 40px !important;
    margin-bottom: 16px !important;
    margin-right: 8px !important;
    font-weight: 400;
    font-size: 14px;
    background: #DBEBE4 !important;
    border: 1px solid #DBEBE4 !important;
    border-radius: 6px !important;
}

    .btn-datatable:hover {
        color: #344054;
    }

.card {
    color: rgba(0, 0, 0, 0.57);
}

/* Body & General Layout */
#bodyContainer {
    background-color: #dddddd;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

/* Page wrapper fills remaining space */
.page-wrapper {
    flex: 1;
    overflow: hidden;
}

/* Main Content container needs to have a min-width so it doesn't shrink awkwardly */
.main-div-container {
    min-width: 0;
    transition: all 0.3s ease-in-out;
}

/* --- Sidebar Default (Desktop) --- */
#sidebar {
    width: 250px;
    min-width: 250px;
    transition: margin 0.3s ease-in-out;
    z-index: 1040;
}

    #sidebar .nav-link {
        border-radius: 5px;
        transition: background-color 0.2s, color 0.2s;
        font-weight: 500;
    }

        #sidebar .nav-link:hover, #sidebar .nav-link.active {
            background-color: #e9ecef;
            color: #0d6efd !important;
        }

    /* Hide sidebar on desktop when toggled */
    #sidebar.toggled {
        margin-left: -250px;
    }


@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* --- Responsive Mobile & Tablet --- */
@media (max-width: 768px) {
    /* Sidebar becomes hidden overlay by default */
    #sidebar {
        position: absolute;
        height: 100%;
        margin-left: -250px;
        box-shadow: 3px 0 10px rgba(0,0,0,0.1);
    }

        /* Show sidebar on mobile when toggled */
        #sidebar.toggled {
            margin-left: 0;
        }

    /* Allow main content to take full width */
    .page-wrapper {
        position: relative;
    }
}


/* Smooth Input Group Focus */
.input-group-text {
    background-color: transparent;
    color: #92929D;
    width: 40px;
    justify-content: center;
    transition: color 0.3s ease, border-color 0.3s ease; /* Smooth transition for icon */
}

.form-control:focus {
    box-shadow: none;
    border-color: #dee2e6;
}

/* Focus state for the container */
.input-group:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
    border-radius: 0.375rem;
}

    /* Turn border and icon green, but keep input text dark */
    .input-group:focus-within .input-group-text,
    .input-group:focus-within .form-control {
        border-color: #198754;
    }

    .input-group:focus-within .input-group-text {
        color: #198754; /* Icon turns green */
    }

    .input-group:focus-within .form-control {
        color: #212b36; /* Typed text stays dark */
    }

/* Gradient Button */
.btn-login {
    background: linear-gradient(135deg, #198754 0%, #146c43 100%);
    color: #ffffff; /* Added to ensure text is visible */
    border: none;
    border-radius: 8px;
    font-weight: 600;
    padding: 0.75rem;
    transition: all 0.3s ease;
}

    .btn-login:hover {
        background: linear-gradient(135deg, #146c43 0%, #0f5132 100%);
        color: #ffffff; /* Keep white on hover */
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(25, 135, 84, 0.3);
    }



/* Keeps the input group seamless on focus */
.input-group .form-control:focus {
    box-shadow: none;
    border-color: #dee2e6; /* Standard Bootstrap border color */
}

.input-group:focus-within .input-group-text,
.input-group:focus-within .form-control {
    border-color: #198754; /* Success green border on focus */
}

.input-group:focus-within .input-group-text {
    color: #198754 !important; /* Makes the icon green on focus */
}



@media print {
    /* Force landscape orientation and set margins */
    @page {
        size: landscape;
        margin: 10mm;
    }

    /* Base typography */
    body {
        font-family: Arial, Helvetica, sans-serif !important;
        color: #000 !important;
        background: #fff !important;
        -webkit-print-color-adjust: exact;
    }

    /* Header Styling */
    .print-header {
        margin-bottom: 10px;
    }

    .print-logo {
        height: 40px; /* Adjust based on your actual logo image */
        margin-bottom: 5px;
        display: block;
    }

    .print-subtitle {
        font-size: 11px;
        font-weight: bold;
        color: #000;
    }

    /* Table Styling matching image_55b0db.png */
    table.custom-print-table {
        width: 100% !important;
        border-collapse: collapse !important;
        table-layout: auto;
    }

        table.custom-print-table th,
        table.custom-print-table td {
            border: 1px solid #000 !important;
            padding: 4px 6px !important;
            font-size: 9px !important; /* Small enough to fit all columns */
            text-align: left;
            vertical-align: top;
            word-wrap: break-word;
        }

        table.custom-print-table th {
            font-weight: bold !important;
            text-transform: uppercase;
            background-color: transparent !important;
        }

    /* Hide unnecessary web elements (buttons, pagination, search) */
    .dataTables_filter,
    .dataTables_info,
    .dataTables_paginate,
    .dt-buttons,
    .no-print {
        display: none !important;
    }
}


@media print {
    /* Force landscape orientation and set margins */
    @page {
        size: landscape;
        margin: 10mm;
    }

    /* Base typography */
    body {
        font-family: Arial, Helvetica, sans-serif !important;
        color: #000 !important;
        background: #fff !important;
        -webkit-print-color-adjust: exact;
    }

    /* Header Styling */
    .print-header {
        margin-bottom: 10px;
    }

    .print-logo {
        height: 40px; /* Adjust based on your actual logo image */
        margin-bottom: 5px;
        display: block;
    }

    .print-subtitle {
        font-size: 11px;
        font-weight: bold;
        color: #000;
    }

    /* Table Styling matching image_55b0db.png */
    table.custom-print-table {
        width: 100% !important;
        border-collapse: collapse !important;
        table-layout: auto;
    }

        table.custom-print-table th,
        table.custom-print-table td {
            border: 1px solid #000 !important;
            padding: 4px 6px !important;
            font-size: 9px !important; /* Small enough to fit all columns */
            text-align: left;
            vertical-align: top;
            word-wrap: break-word;
        }

        table.custom-print-table th {
            font-weight: bold !important;
            text-transform: uppercase;
            background-color: transparent !important;
        }


    /* Hide unnecessary web elements (buttons, pagination, search) */
    .dataTables_filter,
    .dataTables_info,
    .dataTables_paginate,
    .dt-buttons,
    .no-print {
        display: none !important;
    }
}