﻿@media (max-width: 950px) {
    /* Page layout */
    body {
        font-family: 'Roboto';
        font-size: 10pt;
        background-color: #f4f4f4;
        font-weight: 400;
    }

    .tcc-link {
        text-decoration: none;
        cursor: pointer;
        font-size: 10pt;
    }

    .cal-link {
        font-size: 10pt;
    }

    .page-footer {
        width: 100%;
        height: 50px;
        line-height: 50px;
        text-align: center;
    }

    .page-content {
        width:100%;
        padding: 10px 10px 10px 10px;
        margin-top: 60px;
    }

    .page-content-home {
        min-height: calc(100vh - 50px);
        width: 100%;
        background: linear-gradient(to bottom, #1e3a8a, #3b82f6, #ffffff); /* Darker blue at the top */
        display: flex; /* Enables flexbox */
        justify-content: center; /* Centers the content horizontally */
        margin: 0;
        padding: 0;
        padding-top: 20px;
        text-align: center; /* Centers text inside the container */
    }

    .content-wrapper {
        width: 90%;
        display: flex;
        flex-direction: column; /* Stack children vertically */
        align-items: center; /* Center children horizontally */
        text-align: center; /* Center text inside the wrapper */
        gap: 2px; /* Adds spacing between the title, subtitle, and div */
    }

    .title {
        font-size: 2.5rem; /* Adjust size as needed */
        color: #fff; /* White text for contrast */
        margin: 0; /* Remove default margins */
        font-weight: bold; /* Makes the title stand out */
    }

    .subtitle {
        font-size: 1.5rem; /* Adjust size as needed */
        color: #fff; /* White text for contrast */
        margin: 0; /* Remove default margins */
        margin-bottom: 10px;
    }

    .centered-div {
        width: 100%;
        min-height: 200px;
        background: rgba(30, 58, 138, 0.3); /* 70% transparent dark blue background */
        backdrop-filter: blur(10px); /* Blur effect */
        -webkit-backdrop-filter: blur(10px); /* Safari support */
        border-radius: 10px; /* Rounded corners */
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */
        padding: 20px 30px 20px 30px;
    }

    .row-10 {
        margin-top: 10px;
    }

    .row-20 {
        margin-top: 20px;
    }

    .row-30 {
        margin-top: 30px;
    }

    .row-40 {
        margin-top: 40px;
    }

    .red-text {
        color: #f00;
    }

    .green-text {
        color: #0ca914;
    }

    .grey-text {
        color: #808080;
    }

    .btn-home {
        width: 100px;
        height: 80px;
        background-size: 50px;
        background-position-x: center;
        background-repeat: no-repeat;
        text-align: center;
        padding-top: 50px;
        cursor: pointer;
        filter: brightness(0) invert(1); /* Makes the image white */
    }

    .btn-home-green {
        width: 100px;
        height: 80px;
        background-size: 50px;
        background-position-x: center;
        background-repeat: no-repeat;
        text-align: center;
        padding-top: 50px;
        cursor: pointer;
        filter: invert(48%) sepia(91%) saturate(423%) hue-rotate(86deg) brightness(102%) contrast(102%);
    }

    .btn-home-red {
        width: 100px;
        height: 80px;
        background-size: 50px;
        background-position-x: center;
        background-repeat: no-repeat;
        text-align: center;
        padding-top: 50px;
        cursor: pointer;
        filter: invert(20%) sepia(90%) saturate(5000%) hue-rotate(-10deg) brightness(90%) contrast(100%);
    }


    .btn-dashboard {
        background-image: url("../Images/icon-dashboard.svg");
        background-size: 50px;
        background-position-y: 8px;
    }

    .btn-schedule {
        background-image: url("../Images/icon-calendar.svg");
        background-size: 40px;
        background-position-y: 10px;
    }

    .btn-employee {
        background-image: url("../Images/icon-employee.svg");
        background-size: 40px;
        background-position-y: 10px;
    }

    .btn-report {
        background-image: url("../Images/icon-report.svg");
        background-size: 40px;
        background-position-y: 10px;
    }

    .btn-process {
        background-image: url("/Images/icon-building-gear.svg");
        background-size: 40px;
        background-position-y: 10px;
    }

    .btn-signin {
        background-image: url("/Images/box-arrow-in-right.svg");
        background-size: 40px;
        background-position-y: 10px;
    }

    .btn-signout {
        background-image: url("/Images/box-arrow-left.svg");
        background-size: 40px;
        background-position-y: 10px;
    }

    .btn-admin {
        background-image: url("../Images/icon-admin.svg");
        background-size: 40px;
        background-position-y: 10px;
    }

    .nav-top-bar {
        position: fixed;
        left: 0px;
        top: 0px;
        z-index: 100;
        width: 100%;
        height: 50px;
        background-color: #6878c6;
    }

    /* Navigation */
    .nav-desktop {
        display: none;
    }

    .nav-mobile {
        display: block;
    }
    .nav-panel {
        position: fixed;
        left: 0px;
        top: 0px;
        z-index: 101;
        width: 250px;
        height: 100vh;
        background-color: #453c5a;
        display: none;
    }

        .nav-panel .nav-panel-top {
            width: 100%;
            height: 50px;
            border-bottom: solid 1px #8fb2ea;
            color: #d4e2f8;
            font-size: 18pt;
            padding: 7px 0px 0px 10px;
            text-align: left;
        }

    /* Navbar Container */
    .navbar {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 50px;
        background-color: #6878c6; /* Adjust color as needed */
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 20px;
        z-index: 1000;
    }

    /* Hamburger Icon */
    .hamburger {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 25px;
        cursor: pointer;
    }

        /* Hamburger Bars */
        .hamburger div {
            width: 100%;
            height: 4px;
            background-color: #fff;
            transition: 0.3s;
        }

    /* Centered Title */
    .nav-title {
        flex-grow: 1;
        text-align: center;
        font-size: 18px;
        color: white;
        font-weight: bold;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    .help-sub-nav {
        background-color: #453c5a;
        padding-left: 20px;
    }

    .btn-sub-nav {
        padding: 8px 10px 8px 30px;
        color: #d4e2f8;
        cursor: pointer;
        transition: background-color 0.2s ease-in-out;
    }

        .btn-sub-nav:hover {
            background-color: #5a4d74;
        }


    .btn-side-nav-top {
        width: 100%;
        height: 120px;
        padding-top: 35px;
    }

    .btn-side-nav {
        width: 100%;
        height: 50px;
        line-height: 50px;
        text-indent: 60px;
        color: #000;
    }

    .btn-side-nav-sub-selected {
        
    }

    .rotate-down {
        transform: rotate(180deg);
        transition: transform 0.3s;
    }

    .btn-side-nav-dashboard {
        background-image: url("/Images/icon-dashboard.svg");
        background-size: 20px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-schedule {
        background-image: url("/Images/icon-calendar.svg");
        background-size: 18px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-employee {
        background-image: url("/Images/icon-employee.svg");
        background-size: 18px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-department {
        background-image: url("/Images/icon-building-gear.svg");
        background-size: 20px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-report {
        background-image: url("/Images/icon-report.svg");
        background-size: 18px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-process {
        background-image: url("/Images/icon-process.svg");
        background-size: 18px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-admin {
        background-image: url("/Images/icon-admin.svg");
        background-size: 18px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-help {
        background-image: url("/Images/icon-help-fill.svg");
        background-size: 18px;
        background-repeat: no-repeat;
        background-position-x: 30px;
        background-position-y: 15px;
        filter: invert(1); /* Inverts colors to make black white */
    }

    .btn-side-nav-message {
        width: 220px;
        height: 50px;
        line-height: 50px;
        background-color: #6878c6;
        border-radius: 25px;
        text-align: center;
        color: #fff;
        margin-top: 0px;
        margin-left: auto;
        margin-right: auto;
        cursor: pointer;
    }

    /* Animation */
    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: scale(0.9);
        }

        to {
            opacity: 1;
            transform: scale(1);
        }
    }

    .page-screen {
        position: fixed;
        z-index: 1001;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100vh;
        opacity: 0.5;
        background-color: #000;
        display: none;
    }

    .page-screen-panel_old {
        position: fixed;
        z-index: 1002;
        top: 0px;
        right: 0px;
        width: 600px;
        max-width: 80%;
        height: 100vh;
        background-color: #fff;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 30px;
        display: none;
        overflow-y: auto;
    }

    .page-screen-panel {
        position: fixed;
        z-index: 1002;
        top: 0;
        right: 0;
        width: 600px;
        max-width: 80%;
        height: 100vh;
        background-color: #fff;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: env(safe-area-inset-bottom, 30px); /* Updated */
        display: none;
        overflow-y: auto;
        box-sizing: border-box;
    }


    .profile-screen-panel {
        position: fixed;
        z-index: 1002;
        top: 0px;
        right: 0px;
        width: 600px;
        max-width: 80%;
        height: 100vh;
        background-color: #fff;
        padding-left: 20px;
        padding-right: 20px;
        display: none;
    }

    .screen-panel-input-title {
        color: #808080;
    }

    .form-textarea {
        font-size: 10pt;
        height: 100px;
        overflow-y: auto;
        width: 100% !important;
        box-sizing: border-box;
    }

    .tcc-delete-btn {
        padding: 4px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 10pt;
        text-decoration: none;
        color: #fff;
        background-color: #f00;
        border-radius: 14px;
        cursor: pointer;
        margin-left: 30px;
    }

        .tcc-delete-btn:hover {
            background-color: #fb5252;
        }

    .tcc-estimate-panel {
        width: 100%;
        margin-top: 40px;
        background-color: #fff;
        border-radius: 10px;
        padding: 20px;
        border: solid 1px #f9f9f9;
    }

    .cal-end-date-show {
        display: block;
    }

    .cal-end-date-hide {
        display: none;
    }

    /* Simple styling for error message */
    #dateValidationMsg {
        color: red;
        display: none; /* Hidden by default */
    }

    /* Responsive Table */
    .table-responsive {
        width: 100%;
        overflow-x: auto; /* Enables horizontal scrolling */
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch; /* Smooth scrolling for iOS */
    }

    .table-fixed-header thead th {
        position: sticky;
        top: 0;
        background: #f8f9fa; /* Bootstrap light background */
        z-index: 2;
    }

    /* Tables */
    .table-main {
        width: 100%;
        border-collapse: collapse; /* Ensures borders don't double up */
        border: none; /* Outer border */
    }

        .table-main th {
            background-color: #6878c6; /* Light blue background for header */
            color: #fff; /* White text for readability */
            padding: 10px; /* Adds spacing inside cells */
            text-align: left; /* Align text to the left */
            border: 1px solid #ccc; /* Borders for header cells */
            border-left: none;
            border-right: none;
        }

        .table-main td {
            padding: 15px 10px 15px 10px; /* Adds spacing inside cells */
            border: 1px solid #ccc; /* Borders for table cells */
            border-left: none;
            border-right: none;
        }

        .table-main tbody tr:nth-child(odd) {
            background-color: #f9f9f9; /* Light gray background for odd rows */
        }

            .table-main tbody tr:nth-child(odd):hover {
                background-color: #e8f2fb;
                cursor: pointer;
            }

        .table-main tbody tr:nth-child(even) {
            background-color: #ffffff; /* White background for even rows */
        }

            .table-main tbody tr:nth-child(even):hover {
                background-color: #e8f2fb;
                cursor: pointer;
            }

    .calendar-header-panel {
        position: fixed;
        top: 50px;
        z-index: 10;
        width: 100%;
        height: 80px;
        border-bottom: solid 1px #fff;
        background-color: #fff;
        padding: 10px 0px 0px 10px;
    }

    .calendar-type-opt-panel {
        width: 160px;
        height: 35px;
        border: solid 1px #ccc;
        border-radius: 6px;
        cursor: pointer;
        margin-bottom: 10px;
    }

        .calendar-type-opt-panel .day-opt {
            width: 80px;
            height: 33px;
            line-height: 35px;
            border-right: solid 1px #ccc;
            border-top-left-radius: 6px;
            border-bottom-left-radius: 6px;
            float: left;
            color: #808080;
            font-size: 10pt;
            text-align: center;
        }

        .calendar-type-opt-panel .week-opt {
            width: 78px;
            height: 33px;
            line-height: 35px;
            float: left;
            color: #808080;
            font-size: 10pt;
            text-align: center;
        }

        .calendar-type-opt-panel .month-opt {
            width: 78px;
            height: 33px;
            line-height: 35px;
            border-left: none;
            border-top-right-radius: 6px;
            border-bottom-right-radius: 6px;
            float: left;
            color: #808080;
            font-size: 10pt;
            text-align: center;
        }

    .calendar-opt-select {
        background-color: #f4f4f4;
        font-weight: 500;
    }

    .calendar-day-of-week-panel {
        position: fixed;
        z-index: 9;
        top: 130px;
        width: calc(100% - 250px);
        min-height: 20px;
        margin-left: 250px;
        padding-bottom: 10px;
        background-color: #fff;
        overflow-x: auto;
        border-bottom: solid 1px #ccc;
    }

        .calendar-day-of-week-panel .day-of-month {
            width: calc((100%)/7);
            float: left;
            text-align: center;
            padding-top: 10px;
        }

        .calendar-day-of-week-panel .day-of-week {
            width: calc((100%)/8);
            float: left;
            text-align: center;
            padding-top: 10px;
        }

    .calendar-day-panel {
        width: 100%;
        border: none;
        margin-top: 0px;
        margin-left: 0px;
        padding: 0px;
        font-size: 10pt;
        padding: 10px;
    }

        .calendar-day-panel .cal-row {
            width: 100%;
            height: 80px;
            border-bottom: solid 1px #f4f4f4;
        }

        .calendar-day-panel .cal-time {
            width: calc(100% / 8);
            height: 80px;
            border-right: solid 1px #f4f4f4;
            float: left;
            text-align: right;
            padding: 2px 5px 0px 0px;
        }

        .calendar-day-panel .cal-item {
            width: calc(100% - (100%/8) - 1);
            height: 80px;
            float: left;
        }

    .calendar-week-panel {
        width: 100%;
        border: none;
        margin-top: 30px;
        margin-left: 0px;
    }

        .calendar-week-panel .cal-day-time {
            width: 50px;
            float: left;
        }

        .calendar-week-panel .cal-day-withborder {
            width: calc((100%/8));
            height: 80px;
            border: solid 1px #f4f4f4;
            float: left;
        }

    .calendar-day-of-month-panel {
        width: calc(100% - 250px);
        min-height: 20px;
        margin-left: 250px;
        margin-top: 130px;
        padding-bottom: 10px;
        background-color: #fff;
        overflow-x: auto;
        border-bottom: solid 1px #ccc;
    }

        .calendar-day-of-month-panel .day-of-month {
            width: calc((100%)/7);
            float: left;
            text-align: center;
            padding-top: 10px;
        }

        .calendar-day-of-month-panel .day-of-week {
            width: calc((100%)/8);
            float: left;
            text-align: center;
            padding-top: 10px;
        }

    .calendar-mnth-panel {
        width: 100%;
        height: calc(100vh - 200px);
        border: solid 1px #ccc;
        margin-top: 0px;
        margin-left: 0px;
        background-color: #fff;
        border-bottom: none;
    }

        .calendar-mnth-panel .cal-day-withborder {
            width: calc((100%/7));
            height: calc((100vh - 200px)/6);
            border: solid 1px #f4f4f4;
            float: left;
        }

        .calendar-mnth-panel .cal-day-whiteborder {
            width: calc((100%/7));
            height: calc((100vh - 200px)/6);
            border: solid 1px #f4f4f4;
            border-left: solid 1px #fff;
            border-right: solid 1px #fff;
            float: left;
            background-color: #f4f4f4;
        }

    .calendar-date {
        width: 100%;
        height: 20px;
        text-align: right;
        padding: 4px;
    }

        .calendar-date .date-today {
            width: 20px;
            height: 20px;
            line-height: 20px;
            background-color: #3b82f6;
            color: #fff;
            border-radius: 10px;
            text-align: center;
            float: right;
        }

    .calendar-day-display {
        padding-left: 20px;
        font-size: 15pt;
    }

    .calendar-time-display {
        text-align: right;
        padding-right: 6px;
    }

    .time-cell {
        text-align: right; /* Align time to the right */
        font-family: Arial, sans-serif; /* Use a clean font */
    }

    .time-number {
        color: black; /* Black color for the number */
        font-size: 1em; /* Slightly larger font size */
    }

    .time-period {
        color: #888; /* Lighter color for AM/PM */
        font-size: 0.8em; /* Smaller font size */
        margin-left: 0px; /* Add spacing from the number */
    }


    .calendar-direction-panel {
        width: 100px;
        height: 40px;
        margin-top: 4px;
    }

    .calendar-direction-left {
        width: 30px;
        height: 30px;
        background-image: url("../Images/arrow-left-circle.svg");
        background-repeat: no-repeat;
        background-size: 30px;
        cursor: pointer;
        float: left;
        margin-left: 10px;
        margin-bottom: 8px;
    }

        .calendar-direction-left:hover {
            background-color: #f4f4f4;
            border-radius: 15px;
            background-color: #acccf3;
        }

    .calendar-direction-right {
        width: 30px;
        height: 30px;
        background-image: url("../Images/arrow-right-circle.svg");
        background-repeat: no-repeat;
        background-size: 30px;
        cursor: pointer;
        float: right;
        margin-right: 10px;
        margin-bottom: 8px;
    }

        .calendar-direction-right:hover {
            border-radius: 15px;
            background-color: #acccf3;
        }

    .availability-yes {
        background-color: #086d2f;
        padding: 2px;
        padding-left: 4px;
        padding-right: 4px;
        border-radius: 6px;
        color: #fff;
    }

    .availability-no {
        background-color: #f00;
        padding: 2px;
        padding-left: 4px;
        padding-right: 4px;
        border-radius: 6px;
        color: #fff;
    }

    .sm-cal-panel-header {
        width: 100%;
        margin-top: 20px;
        border-bottom: none;
        overflow-y: auto;
    }

        .sm-cal-panel-header .header-month {
            width: calc(100%/7);
            height: 29px;
            text-align: center;
            float: left;
        }

    .sm-cal-panel {
        width: 100%;
        min-height: 300px;
        overflow-y: auto;
        margin-bottom: 20px;
    }

        .sm-cal-panel .cal-box-with-border {
            width: calc((100%/8));
            height: 40px;
            border: solid 1px #f4f4f4;
            float: left;
        }

    .cal-header-panel {
        position: fixed;
        top: 175px;
        z-index: 10;
        height: 30px;
        width: 100%;
        background-color: #fff;
        border-bottom: solid 1px #ccc;
        padding-left: 0px;
    }

        .cal-header-panel .header-day {
            width: 100%;
            padding-left: 20px;
            font-size: 14pt;
        }

        .cal-header-panel .header-week {
            width: calc(100%/8);
            height: 29px;
            text-align: center;
            float: left;
        }

        .cal-header-panel .header-month {
            width: calc(100%/7);
            height: 29px;
            text-align: center;
            float: left;
        }


    .cal-main-panel {
        width: 100%;
        min-height: calc(100vh - 22px);
        background-color: #fff;
        padding: 190px 0px 0px 10px;
        overflow-x: auto;
    }

    .calendar table {
        width: 100%;
        border-collapse: collapse;
    }

    .calendar th, .calendar td {
        border: 1px solid #ddd;
        text-align: center;
        vertical-align: top;
        width: 14.28%;
        height: 100px;
    }

    .calendar-day {
        padding: 5px;
    }

        .calendar-day strong {
            display: block;
            font-size: 14px;
            margin-bottom: 5px;
        }

        .calendar-day ul {
            list-style: none;
            padding: 0;
            margin: 0;
            font-size: 12px;
        }

    #dailyRepeatOptions {
        background-color: #f4f4f4;
        border-radius: 6px;
        padding: 10px;
    }

    .refresh-flash {
        animation: highlightFade 1.2s ease-in-out;
    }

    @keyframes highlightFade {
        0% {
            background-color: #fffbe6;
        }
        /* soft yellow */
        50% {
            background-color: #fff3cd;
        }

        100% {
            background-color: transparent;
        }
    }

    .help-hero-section {
        background-image: url('/Images/help-bg.jpg');
        background-size: cover;
        background-position: center;
        height: 300px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.5); /* Dark overlay */
    }

    .help-hero {
        background-image: url('/Images/help-bg.jpg');
        background-size: cover;
        background-position: center;
        padding: 100px 20px;
        position: relative;
    }

    .hero-overlay {
        background-color: rgba(0, 0, 0, 0.6);
        padding: 50px;
        border-radius: 8px;
        display: inline-block;
    }

    .help-card .card-title {
        font-size: 1.25rem;
        font-weight: 600;
    }

    .help-card {
        background: transparent;
        border: none;
        border-radius: 0;
        transition: all 0.3s ease-in-out;
        position: relative;
    }

        .help-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
        }

    .help-shadow-text {
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
    }

    .help-nav-wrapper {
        background-color: rgba(248, 249, 250, 0.85); /* Soft light gray, semi-transparent */
        border-radius: 0.5rem;
        box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    }

    .help-section img {
        float: none !important;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .help-section .border-start {
        border-left-width: 6px !important;
    }

    .help-chart-block {
        transition: box-shadow 0.3s ease, transform 0.2s ease;
    }

        .help-chart-block:hover {
            box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.06);
            transform: translateY(-2px);
        }

    .help-section ul {
        padding-left: 1.2rem;
    }


    .help-chart-block li {
        margin-bottom: 0.5rem;
    }

    .toast.fade {
        transform: translateY(20px);
        opacity: 0;
        transition: transform 0.4s ease, opacity 0.4s ease;
    }

    .toast.show {
        transform: translateY(0);
        opacity: 1;
    }

}
