/* Font weight and root variables */
@property --app-font-weight {
    syntax: "<number>";
    inherits: false;
    initial-value: 400;
}

:root {
    --app-font-weight: 400;
    --app-font-weight-title: calc(2.25 * var(--app-font-weight));
    --app-font-family: "Poppins", sans-serif, system-ui;
}

/* Base styling */
html, body {
    height: 100% !important;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--app-font-family);
    font-weight: var(--app-font-weight);
    background-color: #1a1a1a !important;
    color: white;
    overflow-x: hidden;
}

/* Full-width main wrapper */
.full-width-wrapper {
    width: 100%;
    padding: 0;
    margin: 0;
}

/* Scrollable Kanban wrapper */
.task-board-wrapper {
    padding: 30px;
    overflow-x: auto;
    position: relative;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

    .task-board-wrapper:hover {
        scrollbar-width: thin;
        scrollbar-color: #888 transparent;
    }

    .task-board-wrapper::-webkit-scrollbar {
        height: 6px;
    }

    .task-board-wrapper::-webkit-scrollbar-track {
        background: transparent;
    }

    .task-board-wrapper::-webkit-scrollbar-thumb {
        background-color: #555;
        border-radius: 10px;
    }

        .task-board-wrapper::-webkit-scrollbar-thumb:hover {
            background-color: #888;
        }

/* Kanban section layout */
.task-list-section {
    display: flex;
    gap: 24px;
    justify-content: flex-start;
    flex-wrap: nowrap;
    width: max-content;
}

/* Column */
.kanban-column {
    width: 300px;
    min-width: 300px;
}

/* Section title */
.section-header {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 16px;
    color: white;
}

    /* Optional for styling white title text differently */
    .section-header.white-heading {
        color: black;
        font-weight: 400;
    }

/* Column container */
.connect-sorting-content {
    background: transparent !important;
    padding: 8px;
}

/* Card layout */
.card {
    border-radius: 10px;
    border: 1px solid #444;
    margin-bottom: 16px;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.05);
    transition: 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}

/* Flexed top-left aligned card content */
.card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    width: 100%;
}

/* Hover effect */
.card:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 10px rgba(255,255,255,0.1);
}

/* Tile color themes */
.card.bg-white {
    background-color: #f2f2f2;
    color: black;
}

    .card.bg-white .task-bottom span {
        color: #3cb1b7;
        font-weight: 900;
    }

/* Colored tile base text color enforcement */
.card.bg-blue {
    background-color: #3cb1b7;
    color: white;
}

.card.bg-green {
    background-color: #4faf5f;
    color: white;
}

.card.bg-red {
    background-color: #d61e4f;
    color: white;
}

    /* Ensure ALL text inside colored tiles is white */
    .card.bg-blue *,
    .card.bg-green *,
    .card.bg-red * {
        color: white !important;
    }

/* Badge styling */
.badge {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 4px 8px;
    border-radius: 12px;
}

/* Price / metadata area */
.task-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    margin-top: 10px;
    width: 100%;
}

/* News "column" inside Kanban */
.kanban-news-strip {
    width: 100%;
    min-width: 100%;
}

/* Dashed alert box */
.alert-strip-wrapper {
    margin-top: 10em;
    border: 2px dashed white;
    padding: 15px;
    box-sizing: border-box;
    overflow: hidden;
    width: 100%;
}

/* Inner scrolling box */
.alert-strip-inner {
    overflow: hidden;
    position: relative;
    width: 100%;
}

/* Scrolling text */
.alert-strip-text {
    white-space: nowrap;
    display: inline-block;
    animation: scrollAlert 20s linear infinite;
    font-size: 2.35rem;
    font-weight: 600;
    color: white;
    padding-left: 100%;
    box-sizing: border-box;
}

@keyframes scrollAlert {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-100%);
    }
}

.recent-requests-timeline {
    background-color: #3cb1b7;
    color: white;
}

.timeline-widget .timeline-item .timeline-badge-wrap .timeline-badge {
    background-color: transparent !important;
    border: 2px solid white !important;
}

.recent-requests-timeline {
    color: white !important; /* Set text color to white */
}

    .recent-requests-timeline .timeline-desc {
        color: white !important; /* Ensure timeline descriptions are white */
    }

    .recent-requests-timeline a {
        color: #ffffff !important; /* Ensure links are also white */
    }

.recent-requests-timeline {
    background-color: #3cb1b7; /* Background color for the widget */
    color: white; /* Default text color */
    padding: 20px; /* Add padding for better spacing */
    border-radius: 8px; /* Rounded corners */
}

.timeline-widget {
    list-style: none;
    padding: 0;
    margin: 0;
}

.timeline-item {
    margin-bottom: 20px; /* Add spacing between timeline events */
}

.timeline-badge {
    background-color: transparent; /* Remove fill color */
    border: 2px solid white; /* Add white outline */
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.timeline-badge-border {
    height: 100%;
    width: 2px;
    background-color: white; /* Vertical line color */
}

.timeline-desc {
    margin-left: 20px; /* Space between badge and text */
    line-height: 1.5; /* Line height for better readability */
}

    .timeline-desc .fw-bold {
        font-size: 14px;
        font-weight: bold;
    }

.double-stat-card-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 320px;
}

.stat-card {
    border-radius: 10px;
    padding: 20px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 220px;
}

    .stat-card.bg-blue {
        background-color: #3cb1b7;
    }

    .stat-card.bg-orange {
        background-color: #e55b2c;
    }

.stat-card-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.stat-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    gap: 20px;
}

.stat-block h6 {
    font-size: 0.8rem;
    margin-bottom: 4px;
    opacity: 0.85;
    font-weight: 500;
}

.stat-block h3 {
    font-size: 1.3rem;
    font-weight: bold;
    margin: 0;
}

.stat-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.radial-chart {
    width: 80px;
    height: 60px;
}

.card-footer {
    margin-top: 20px;
    text-align: center;
}

    .card-footer h4 {
        font-size: 1.1rem;
        font-weight: 600;
        margin: 0;
    }

.org-stat-container{
    margin-inline-end: 0.7em !important;
}

.blue-stat-container {
    margin-inline-end: 0.7em !important;
}

/* Custom CSS to stroke the radial track with white and remove its fill */
.apexcharts-radialbar .apexcharts-radialbar-track {
    stroke: #ffffff !important; /* White border for the empty arc */
    fill: transparent !important; /* No fill on the empty portion */
}

/* Custom chart labels styling */
.radial-chart-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-chart-labels {
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.chart-title-text {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px;
    white-space: nowrap;
}

.chart-value-text {
    font-size: 20px;
    font-weight: bold;
    display: block;
}

/* Hide ApexCharts built-in labels */
.apexcharts-datalabel-label, 
.apexcharts-datalabel-value {
    display: none !important;
}

/* Card container styles */
.stats-cards-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 350px;
    margin-left: 30px;
    margin-right: auto;
}

/* Card styles */
.card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    width: 100%;
}

/* Stats card specific styles */
.stats-card-content {
    padding: 15px;
    color: white;
    border-radius: 0;
}

.stat-card-teal {
    background-color: #3cb1b7;
}

.stat-card-orange {
    background-color: #ff6633;
}

/* Stat row layout (for top rows) */
.stat-row {
    display: grid;
    grid-template-columns: 30% 70%;
    gap: 10px;
    margin-bottom: 10px;
}

/* Individual stat and chart containers with opacity */
.stat-container,
.chart-container {
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    height: 120px; /* Fixed height for consistency */
}

.stat-container {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Center content vertically */
    align-items: center; /* Center content horizontally */
    text-align: center; /* Center text */
    padding: 10px;
}

.chart-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

/* Full-width chart container for the bottom chart of the orange card */
.full-width-chart-container {
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 8px;
    height: 120px; /* Same height as stat-row containers */
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 10px;
    box-sizing: border-box;
    margin-bottom: 10px;
}

/* Stat text styles */
.stat-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 500;
    margin: 0;
    opacity: 0.9;
}

.stat-value {
    font-size: 1.8rem;
    font-weight: bold;
    margin: 5px 0 0 0;
    line-height: 1;
}

/* Footer styles */
.stats-footer {
    text-align: left;
    padding-top: 15px;
    display: flex;
    flex-direction: column;
}

    .stats-footer h2 {
        font-size: 2rem;
        font-weight: bold;
        margin: 0;
        line-height: 1;
    }

    .stats-footer h5 {
        font-size: 0.9rem;
        font-weight: 600;
        text-transform: uppercase;
        margin: 0;
        line-height: 1.2;
    }

/* Ensure all text is white in stat cards */
.stats-card-content * {
    color: white !important;
}

/* Center charts properly and ensure no overflow */
.apexcharts-canvas {
    margin: 0 auto !important;
    display: block !important;
    width: 100% !important;
}

/* Customize chart label positioning */
.apexcharts-radialbar-hollow {
    margin-bottom: 0 !important;
}

/* Dashboard container layout */
.full-width-wrapper {
    width: 100%;
}

.task-board-wrapper {
    width: 100%;
}

/* Fixed main layout structure */
.dashboard-container {
    display: flex;
    width: 100%;
    gap: 30px;
    position: relative;
}

.dashboard-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Row layout */
.dashboard-row {
    display: flex;
    width: 100%;
    gap: 30px;
    margin-bottom: 20px;
    align-items: stretch;
    min-height: 310px; /* Set a minimum height for rows */
}

    .dashboard-row:last-child {
        margin-bottom: 0;
    }

/* Tile wrappers */
.blue-tile-wrapper, .orange-tile-wrapper {
    width: 350px;
    flex-shrink: 0;
}

/* Bar chart wrapper */
.bar-chart-wrapper {
    flex-grow: 1;
    min-height: 300px;
    background-color: #1a1a1a;
    border-radius: 12px;
    overflow: hidden;
    padding: 15px;
    border: 2px dashed #ffffff;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* Chart header for bar chart */
.chart-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 15px;
}

.custom-legend {
    display: flex;
    gap: 15px;
}

.legend-pill {
    border-radius: 20px;
    padding: 4px 15px 4px 35px;
    position: relative;
    color: white;
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    height: 26px;
}

.legend-circle {
    width: 14px;
    height: 14px;
    border: 2px solid white;
    border-radius: 50%;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.chart-title {
    color: white;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
}

/* Hide ApexCharts tooltip */
.apexcharts-tooltip {
    display: none !important;
}

/* Chart container */
#chart-container, #chart, #salesChart {
    width: 100%;
    height: calc(100% - 50px);
}

/* Timeline styles - Clean implementation */
.timeline-wrapper {
    width: 350px;
    background-color: #3cb1b7;
    border-radius: 12px;
    color: white;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Header icon circle */
.timeline-header {
    position: relative;
    padding: 20px 40px 15px 80px; /* Increased left padding to accommodate the icon */
}

.timeline-header-icon {
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

    .timeline-header-icon i {
        font-size: 20px;
        color: #3cb1b7; /* Same blue as your theme */
    }

.timeline-title {
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0;
    color: white;
    letter-spacing: 0.5px;
}

.timeline-body {
    overflow-y: auto;
    flex-grow: 1;
    padding: 0 40px 20px 40px;
    position: relative;
}

/* Timeline container */
.timeline-widget {
    list-style: none;
    position: relative;
    padding: 0;
    margin: 0;
}

    /* Connect timeline to header icon */
    .timeline-widget::after {
        content: '';
        position: absolute;
        top: -30px; /* Extend higher to connect to the icon */
        bottom: 0;
        left: 6px;
        width: 2px;
        background-color: white;
    }

.timeline-item {
    position: relative;
    padding-bottom: 30px;
}

    .timeline-item:last-child {
        padding-bottom: 10px;
    }

/* White circle indicators */
.timeline-badge {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #3cb1b7;
    border: 2px solid white;
    position: absolute;
    left: 0;
    top: 5px;
    z-index: 1;
}

/* Timeline content */
.timeline-desc {
    font-size: 14px;
    line-height: 1.5;
}

.fw-semibold {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 5px;
    display: block;
}

.text-white-50 {
    color: white !important;
    margin-top: 4px;
}

.timeline-badge-close {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: white;
    border: 2px solid white;
    position: absolute;
    left: 0;
    top: 5px;
    z-index: 1;
}

/*LOGIN PAGE*/
.auth-bg {
    background-image: url('/assets/img/hpsc2-1.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.card.bg-body {
    
    height: 600px !important;
    max-width: 100% !important;
    padding: 2rem !important;
}

video {
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.auth-login {
    position: relative;
    z-index: 2;
    background-color: #ffffff;
}

.button-primary {
    z-index: 3;
    position: relative; 
    background-color: #0c325f !important;
    color: white !important;
    padding: 10px 16px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    height: 30px;
    min-width: 250px;
    transition: background-color 0.2s ease-in-out;
    min-height: 44px;
}

.button-primary:hover {
    background-color: #031142;
    text-decoration: none;
}

.windows-log {
    width: 40px;
    height: 40px;
    background-image: url('/assets/img/windows-logo-white.png');
    background-size: cover;
    display: inline-block;
    flex-shrink: 0;
}

.windows-logo-text {
    font-size: 14px;
}

.lm-btn{
    background-color: #0c325f;
    color: white;
    padding: 10px 16px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    height: 30px;
    
    transition: background-color 0.2s ease-in-out;
    min-height: 44px;
}

.lm-btn:hover{
    background-color: #031142;
    text-decoration: none;
}

/*STATUS PAGE*/
/* HEADER */

/*Large Media Query for Header*/
@media(min-width:716px) {
    .header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: -30px;
        background: linear-gradient( to bottom, black 65%, /* Solid black for top 75% */
        rgba(0, 0, 0, 0) 100% /* Transparent for bottom 25% */
        );
        color: white; /* Optional: if you want text to be white */
        padding: 40px 20px;
    }

        .header .icon {
            width: 24px;
            height: 24px;
            background: rgba(255, 255, 255, 0.6);
            border-radius: 4px;
        }

        .header .title {
            font-size: 18px;
            letter-spacing: 1px;
        }

    #logoutButton {
        display: flex;
        position: relative;
        background: none;
        border: none;
    }

    .header i {
        font-size: 28px;
        margin-right: 20px;
    }
    .header-container1 {
        display: flex;
        align-items: center;
        gap: 1rem;
        position: relative;
        top: -15px;
    }

    .header-container2 {
        display: flex;
        align-items: center;
        gap: 1rem;
        position: relative;
        top: -15px;
    }

    /*.date-time-container {
        display: flex;
        gap: 2em;
        position: relative;
        top: -15px;
    }*/
}

@media(max-width:830px) {
    .header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: -30px;
        background: linear-gradient( to bottom, black 65%, /* Solid black for top 75% */
        rgba(0, 0, 0, 0) 100% /* Transparent for bottom 25% */
        );
        color: white; /* Optional: if you want text to be white */
        padding: 40px 20px;
    }

        .header .icon {
            width: 24px;
            height: 24px;
            background: rgba(255, 255, 255, 0.6);
            border-radius: 4px;
        }

        .header .title {
            font-size: 18px;
            letter-spacing: 1px;
        }

    #logoutButton {
        display: flex;
        position: relative;
        background: none;
        border: none;
    }

    .header i {
        font-size: 28px;
        margin-right: 20px;
    }

    .header-container1 {
        display: flex;
        align-items: center;
        gap: 1rem;
        position: relative;
        top: -15px;
    }

    .header-container2 {
        display: flex;
        align-items: center;
        gap: 1rem;
        position: relative;
        top: -15px;
    }

    .date-time-container {
        display: flex;
        gap:;
        position: relative;
        top: -15px;
    }
}



.list-container{
    display:grid;
}

.below-header-body{
    display:flex;
    align-items: center !important;
    gap: 16px;
    justify-content: center;
    padding: 50px;
}




.below-header-body h2{
    margin:0;
    color: white;
}
#clock {
    font-size: 30px;
}

#date {
    font-size: 30px;
}

/* LIST */
.list {
    padding:0;
    margin:0;
    list-style: none;
}

.list-item {
    position: relative;
    display: flex;
    flex-wrap:nowrap;
    align-items: flex-start;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 25px;
    margin-right:20px;
    margin-left:20px;
}

/* AVATAR */
.avatar {
    grid-column:1;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    margin-right: 12px;
}

/* INFO (NAME + STATUS) */
.info {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
}

    .info .name {
        font-size: 22px;
        font-weight: bold;
        margin-right: 20px;
        margin-top: 3px;
        min-width:12.5vw;
    }

    .info .status {
        font-size: 18px;
        font-style: italic;
        margin-top: 7px;
        margin-right: 25px;
    }

    .info .clock-in-clock-out {
        font-size: 14px;
        font-style: italic;
        margin-top: 4px;
    }

.list i {
    font-size: 28px;
    margin-right:15px;
    padding-top:6px;

}

.name-status{
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.clock-in {
    font-size: 16px;
    font-weight: bold;
    margin-right: 20px;
    margin-top: 9px;
}

.clock-out {
    font-size: 16px;
    font-weight: bold;
    margin-right: 20px;
    margin-top: 9px;
}

.clock-section {
    font-size: 16px;
    font-weight: bold;
    margin-right: 20px;
    margin-top: 9px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    
}

/* NOTES BOX */
.alignment{
    display:flex;
    gap: 2vw;
    margin-top:3vh;
    flex-direction: column;
}

/* DECORATIVE CORNERS */
.corner {
    position: absolute;
    width: 50px;
    height: 50px;
}

    .corner.top-left {
        top: -10px;
        left: -10px;
        border-top: 2px solid #fff;
        border-left: 2px solid #fff;
    }

    .corner.bottom-right {
        bottom: -10px;
        right: -10px;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
    }
/*BACKGROUND*/
.status-page-bg {
    background-image: url('/assets/img/iB_Backdrop-JPG.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 100vh;
}

/*.aspurian-logo-st {
    width: auto;
    height: 50px;
}*/

/*@media screen and (max-width:1024px) and (min-width:769px){
    .list-item{
        flex-direction: column;
        align-items: flex-start;
    }
    .notes-box {
        flex: none;
        width: 90%;
        max-width: 600px;
        margin-left: 0;
        margin-top: 10px;
    }
    .info{
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }
}*/

@media screen and (max-width:768px) {
    .list-item {
        flex-direction: column;
        align-items: stretch;
    }

    .info {
        flex-direction: column;
        align-items: flex-start;
    }

    .notes-box {
        flex: none;
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-top: 20px;
    }

    .clock-section {
        flex-direction: row;
    }

    .name-status {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        margin-bottom: 10px;
    }

    
}
.adminedit-icon {
    color: white !important;
}

/*MANAGE STATUS PAGE*/
/*.SM-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: -30px;
    background: linear-gradient( to bottom, black 65%,*/ /* Solid black for top 75% */
    /*rgba(0, 0, 0, 0) 100%*/ /* Transparent for bottom 25% */
    /*);
    color: white;*/ /* Optional: if you want text to be white */
    /*padding: 40px 20px;
}*/

.SM-header .icon {
    width: 24px;
    height: 24px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 4px;
}

/*#floppy-disk-save {
    background: none;
    border: none;
    transition: transform 0.1s ease;
}
    #floppy-disk-save:hover{
        transform: scale(0.95);
    }*/

.SM-header .title {
    font-size: 18px;
    letter-spacing: 1px;
}

    .SM-header i {
        margin-right: 2px;
    }


.manage-page-bg {
    background-image: url('/assets/img/iB_Backdrop-JPG.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 100vh;
}


.edit-boxes .status-edit {
    margin-top: 50px;
    display: flex;
    /*    flex-wrap: nowrap;*/
    align-items: flex-start;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 8px;
    padding: 29px;
    margin-bottom: 25px;
    margin-right: 20px;
    margin-left: 20px;
}


.clockin-clockout-container2 {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    flex-direction:row;
    padding:20px;
}

#clockin2 {
    font-size: 40px;
}

#clockout2 {
    font-size: 40px;
}

#clockin-time {
    padding: 10px 15px;
    font-size: 16px;
    border: solid white;
    border-radius: 8px;
    background-color: rgba(82, 119, 236, 0.5);
    color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-width: 1px;
}

#clockout-time {
    padding: 10px 15px;
    font-size: 16px;
    border: solid white;
    border-radius: 8px;
    background-color: rgba(82, 119, 236, 0.5);
    color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-width:1px;
}


/* This targets the clock icon */
input[type="time"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

/*Small Screen*/
@media(max-width:830px) {

    .aspurian-logo-st {
        width: auto;
        height: 50px;
        position:relative;
        top: -4vw;
    }

    .parent-div {
        display: flex;
        justify-content: space-around;
        gap: 15px; /* space between boxes */
        flex-wrap: wrap;
        padding: 0 20px;
        width: 100%;
        box-sizing: border-box;
    }


    .note-edit,
    .calendar-box {
        background: rgba(0, 0, 0, 0.75);
    }

    .edit-boxes .absence-box {
        margin-top: 0px;
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        background: rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        padding: 38px;
        margin-bottom: 20px;
        margin-right: 20px;
        margin-left: 20px;
    }

    .note-div-class,
    .calendar-div-class {
        flex: 1 1 auto;
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 30px;
    }

    .note-background {
        background: rgba(0, 0, 0, 0.75);
        position: relative;
        padding: 35px;
        min-height: 350px;
        height: auto;
        border-radius: 8px;
        width: 66em;
        box-sizing: border-box !important;
        overflow: hidden;
        margin-bottom: 30px;
    }

    .calendar-edit {
        background: rgba(0, 0, 0, 0.75);
        position: relative;
        padding: 30px;
        min-height: 350px;
        height: auto;
        border-radius: 8px;
        width: 66em;
        box-sizing: border-box !important;
        overflow: hidden;
    }

    #calendar-saveButton {
        background-color: #f60c86;
        color: white;
        border: none;
        padding: 10px 25px;
        font-size: 16px;
        border-radius: 4px;
        cursor: pointer;
        box-shadow: 0 2px 10px rgba(0,0,0,0.2);
        transition: border-color 0.3s ease;
    }

        #calendar-saveButton:hover {
            background-color: #f60c86;
            transform: scale(.95);
        }

    #calendar-header {
        text-align: center;
        color: white;
        margin: 0;
        padding-bottom: 0.25em;
        padding-top: 0.25em;
    }


    #calendar-para {
        text-align: center;
        margin: 0;
        font-size: 20px;
        box-sizing: border-box;
    }

    .absence-status-selection {
        margin: 25px 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .absence-title-section {
        margin: 25px 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
    .absence-title::placeholder {
        color: white;
        font-style: italic;
        font-size: 10px;
    }

    .date-input-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    #startDate, #endDate {
        background-color: rgba(0, 0, 0, 0.2);
        color: white;
        border: 1px solid white;
        padding: 10px 15px;
        border-radius: 8px;
        border: solid;
        border-width: 1px;
        width:;
    }

    .absence-status-selection {
        margin: 15px 0;
    }

        .absence-status-selection select {
            width: 100%;
            padding: 10px 15px;
            font-size: 16px;
            border: 1px solid white;
            border-radius: 8px;
            background-color: rgba(0, 0, 0, 0.3);
            color: white;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

            .absence-status-selection select option {
                background-color: #0c325f;
                color: white;
            }

    .date-range-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4vw;
        margin: 20px 0;
        flex-wrap: wrap;
    }

    #floppy-disk-save {
        background: none;
        border: none;
        transition: transform 0.1s ease;
        display: flex;
        justify-content: flex-end;
        top: 19%;
        position: absolute;
        left: 72%;
    }

        #floppy-disk-save:hover {
            transform: scale(0.95);
        }

    .SM-header {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-bottom: -30px;
        background: linear-gradient( to bottom, black 65%, /* Solid black for top 75% */
        rgba(0, 0, 0, 0) 100% /* Transparent for bottom 25% */
        );
        color: white; /* Optional: if you want text to be white */
        padding: 40px 20px;
    }

}
/*Large Screen*/
@media(min-width:716px){

    .aspurian-logo-st {
        width: auto;
        height: 50px;
    }

    .parent-div {
        display: flex;
        justify-content: center;
        gap: 15px; /* space between boxes */
        flex-wrap: wrap;
        padding: 0 20px;
        width: 100%;
        box-sizing: border-box;
    }

    .calendar-container1{
        width:49%;
    }

    .note-edit,
    .calendar-box {
        background: rgba(0, 0, 0, 0.75);
    }

    .edit-boxes .absence-box {
        margin-top: 0px;
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        background: rgba(0, 0, 0, 0.75);
        border-radius: 8px;
        padding: 38px;
        margin-bottom: 20px;
        margin-right: 20px;
        margin-left: 20px;
    }

    .note-div-class,
    .calendar-div-class {
        flex: 1 1 auto;
/*        max-width: 100%;
        width: 100%;*/
        box-sizing: border-box;
        margin-bottom: 30px;
    }

    .note-background {
        background: rgba(0, 0, 0, 0.75);
        position: relative;
        padding: 35px;
        min-height: 350px;
        height: auto;
        border-radius: 8px;
        width: 49%;
        box-sizing: border-box !important;
        overflow: hidden;
        margin-bottom: 30px;
    }

    .calendar-edit {
        background: rgba(0, 0, 0, 0.75);
        position: relative;
        padding: 30px;
        min-height: 350px;
        height: auto;
        border-radius: 8px;
/*        width: 66em;*/
        box-sizing: border-box !important;
        overflow: hidden;
    }

    #calendar-saveButton {
        background-color: #f60c86;
        color: white;
        border: none;
        padding: 10px 25px;
        font-size: 16px;
        border-radius: 4px;
        cursor: pointer;
        box-shadow: 0 2px 10px rgba(0,0,0,0.2);
        transition: border-color 0.3s ease;
    }

        #calendar-saveButton:hover {
            background-color: #f60c86;
            transform: scale(.95);
        }

    #calendar-header {
        text-align: left;
        color: white;
        margin: 0;
        padding-bottom: 1.25em;
        padding-top: 0.25em;
        font-size:23px;
    }


    #calendar-para {
        text-align: left;
        margin: 0;
        font-size: 16px;
        box-sizing: border-box;
    }

    .absenceReasonTitle{
        display:flex;
        gap:3vw;
    }

    .absence-status-selection {
        margin: 25px 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .absence-title-section {
        margin: 15px 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;

    }

    #absence-title-box {
        padding: 12px 30px;
        font-size: 12px;
        box-sizing: border-box;
        transition: border-color 0.3s ease;
        border-radius: 4px;
        background-color: rgba(0, 0, 0, 0.3);
        color: white;
        border: solid white;
        border-width: 1px;
        width:18vw;
    }

    .absence-title::placeholder {
        color: white;
        font-style: italic;
        font-size: 10px;
    }

    .date-input-group {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    #startDate, #endDate {
        background-color: rgba(0, 0, 0, 0.2);
        color: white;
        border: 1px solid white;
        padding: 10px 15px;
        border-radius: 8px;
        border: solid;
        border-width: 1px;
        width:18vw;
    }

    .absence-status-selection {
        margin: 15px 0;
    }

        .absence-status-selection select {
            width: 100%;
            padding: 10px 15px;
            font-size: 16px;
            border: 1px solid white;
            border-radius: 8px;
            background-color: rgba(0, 0, 0, 0.3);
            color: white;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            width:18vw;
        }

            .absence-status-selection select option {
                background-color: #0c325f;
                color: white;
            }

    .SM-header{
        padding: 40px 3%
    }

    .date-range-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1vw;
        margin: 20px 0;
        flex-wrap: wrap;
    }

    #floppy-disk-save {
        background: none;
        border: none;
        transition: transform 0.1s ease;
    }

        #floppy-disk-save:hover {
            transform: scale(0.95);
        }

    .SM-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: -30px;
        background: linear-gradient( to bottom, black 65%, /* Solid black for top 75% */
        rgba(0, 0, 0, 0) 100% /* Transparent for bottom 25% */
        );
        color: white; /* Optional: if you want text to be white */
        padding: 40px 20px;
    }
}



    @media (max-width:958px){
        .calendar-edit {
            display: flex;
            flex-wrap: wrap;
            flex-direction: column;
            max-width:100%;
            width: 100%;
            overflow: hidden;
            box-sizing: border-box;
            margin-left:-15px;
        }

        .calendar-icon,
        .calendar-header,
        .calendar-para,
        .calendar-datepicker-main,
        .white-outline-left,
        .white-outline-right {
            overflow: hidden;
        }
    }

/*    .status-left{ order: 2;}
    .absence-status-selection{ order: 1;}
    .clockin-clockout-container2{ order: 3;}*/

@media(max-width:712px) {
    .status-edit {
            display: flex !important;
            flex-wrap: wrap !important;
            max-width: 100%;
            width: 100%;
            /*overflow: hidden;*/
            box-sizing: border-box;
            flex-direction: column;
            align-items: stretch !important;
            margin-left: -2px !important;
        }

        .status-left,
        .absence-status-selection,
        .clockin-clockout-container2 {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            margin:0;
        }

        .status-left{
            order: 0;

        }

        .absence-status-selection,
        .clockin-clockout-container2{
            order:1;
        }
    }

@media (max-width: 1024px) {
    .status-edit {
        flex-wrap: wrap !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 30px !important;
    }
    .status-left,
    .absence-status-selection,
    .clockin-clockout-container2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

/** {
    outline: 1px solid red;
}*/

#absence-title-box {
    padding: 12px 30px;
    font-size: 12px;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    border: solid white;
    border-width: 1px;
}

.absence-title::placeholder {
    color: white;
    font-style: italic;
    font-size: 10px;
    opacity: 0.7;
}

    .absencetitle-save {
        display: flex;
        gap: 10px;
        margin-top: 1em;
        align-items: center;
    }

.note-edit {
    position: relative;
    padding: 40px 30px;
    min-height: 350px;
    height: 27.5em;
    border-radius: 8px;
    box-sizing: border-box !important;
    width: 66em;
    display:flex-end;
}
.notebox-header {
    font-size: 20px;
    margin:0 0 27px 0;
    color: white !important;
}
.note-title {
    display: flex;
    align-items: center; /* Aligns icon and text vertically */
    gap: 20px; /* Optional spacing between icon and text */
    flex-direction:column;
}
@media (max-width: 768px) {
    .note-edit{
        display:flex;
        justify-content:flex-start;
    }
    #typeNote{
        display:flex;
    }
    .calendar-container1{
        display:flex;
    }
}
#speech-bubble{
    position:relative !important;
    top:-10px;
    margin-bottom:40px;
}
.calendar-datepicker-main {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 1em;
}
#left {
    background: rgba(82, 119, 236, 0.5);
    color: white;
}
#right {
    background: rgba(82, 119, 236, 0.5);
    color: white;
}
#calendar-icon {
    padding-bottom:10px;
    display: flex;
    justify-content: center;
}





.absence-box{
    padding:20px;
}

.absence-inner {
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-items: center;
    width:100%;
    gap:10px;
}

.absence-header{
    margin:0;
    font-size: 30px;
    color: white;
    flex: 1 1 auto;
}

.absence-times {
    margin: 0;
    font-size: 30px;
    color: white;
    flex: 1 1 auto;
    align-items: center;
}

.absence-icon {
    flex-shrink: 0;
}
.status-info {
  width: 100%;
  padding: 10px;

}
/*Min Width*/
@media(min-width:716px) {


    .status-top-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .status-left {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        margin-right: 10px;
        align-items: flex-start
    }

    .status-icon i {
        color: white;
    }

    .status-name-txt {
        display: flex;
        color: white;
        align-items: flex-start
    }

    .status-text {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .picture-edit-container {
        display: flex;
    }

    .name-edit-button-container {
        display: flex;
        flex-direction: row;
        margin-top: 20px;
        margin-left: 10px;
    }

    .hidden-file-input {
        opacity: 0;
        position: absolute;
        z-index: -1;
    }

    .custom-label {
        cursor: pointer;
    }


    .align-status-edit {
        display: flex;
        gap: 10px;
    }

    .profile-picture {
        width: 112px; /* Same size as fa-7x icon (roughly) */
        height: 112px;
        object-fit: cover;
        border-radius: 50%; /* Circle crop */
        border: 2px solid #fff;
    }


    .dropdown {
        position: relative; /* THIS makes .dropdown-content position below button */
        display: inline-block;
    }

    .dropbtn {
        background-color: #0c325f;
        color: white;
        padding: 16px;
        font-size: 16px;
        border: none;
        cursor: pointer;
    }

        .dropbtn:hover, .dropbtn:focus {
            background-color: #210ff0;
        }

    .dropdown-content {
        display: none;
        position: absolute;
        top: 100%; /* ensures it's right under the button */
        left: 0;
        background-color: #f1f1f1;
        min-width: 160px;
        box-shadow: 0 8px 16px rgba(0,0,0,0.2);
        z-index: 1;
    }

        .dropdown-content a {
            color: black;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
        }

            .dropdown-content a:hover {
                background-color: #ddd;
            }

    .show {
        display: block;
    }
}



@media (max-width: 768px){
    .dropbtn {
    }

    .dropdown-content {
        min-width:150px;
        font-size:14px;
        max-height: 200px;
        padding:8px;
    }

    .edit-boxes{
        flex-direction:column;
        flex-wrap: wrap;
    }

    .icon-name{
        display:flex;
        align-items:flex-start;
    }

    .status-text {
        font-size: 34px;
        flex-wrap: wrap;
    }

    .status-name-txt {
        display: flex;
        color: white;
        align-items: flex-start
    }

    .absence-inner{
        flex-direction:column;
        align-items:flex-start;
    }

    .absence-header {
        width: 100%;
        text-align: left;
        font: 50px;
        margin-bottom:10px;
    }

    .absence-times {
        margin-top: 10px;
        font: 50px;
    }

    .absence-icon-times{
        display:flex;
        align-items:center;
        gap:40px;
    }

    

    
}


.white-outline-left {
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    box-sizing: border-box;
    pointer-events:none;
}
.white-outline-right {
    position: absolute;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    bottom: 10px;
    right: 10px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    box-sizing:border-box;
    pointer-events:none;
}
/*ABSENCE PHONE SCREEN*/
@media (min-width: 769px) {
    .absence-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0 20px;
        position: relative;
    }

    .absence-header {
        flex: 1;
        text-align: left;
        margin: 0;
    }

    .absence-times {
        flex: 1;
        text-align: center;
        margin: 0;
    }

    .absence-icon {
        flex: 1;
        text-align: right;
    }

    .absence-icon-times {
        display: flex;
        justify-content: flex-end;
        flex: 1;
    }

    .absence-times-center {
        display: block;
        font-size: 30px;
        color: white;
    }
}

.calendar-white-outline-left {
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    box-sizing: border-box;
    pointer-events: none;
}

.calendar-white-outline-right {
    position: absolute;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    bottom: 10px;
    right: 10px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    box-sizing: border-box;
    pointer-events: none;
}
/*STATUS PHONE SCREEN*/
@media (max-width: 767px){
    .status-text h2{
        font-size:30px;
    }

    .status-name-text {
        padding-right:4em;
    }

    .custom-label {
        display: inline-block;
        padding: 10px;
        cursor: pointer;
        background-color: #0c325f;
        border: none;
        border-radius: 100px;
        margin-top: 1px;
        text-align: center;
    }

    .hidden-file-input {
        opacity: 0;
        position: absolute;
        z-index: -1;
    }

    .status-info{
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        align-items: center;
    }
    .status-top-row{
        flex-direction:column;
    }

    .name-edit-button-container {
        display: flex;
        flex-direction: row-reverse;
        margin-left: 10px;
    }

    .picture-edit-container{
        display:flex;
    }
}

/*NOTEBOX*/

#typeNote {
    padding: 12px 20px;
    font-size: 18px;
    box-sizing: border-box;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    transition: border-color 0.3s ease;
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    border-style:solid;
}

    #typeNote:focus {
        border-color: #f60c86; 
        outline: none; 
        box-shadow: 0 0 5px #210ff0;
    }

    #typeNote::placeholder{
        color:white;
    }

#buttonContainer{
    display:flex;
    justify-content:center;
}

#saveButton {
    background-color: #f60c86;
    color: white;
    border: none;
    padding: 10px 25px;
    font-size: 16px;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3.4);
    transition: border-color 0.3s ease;
}

    #saveButton:hover {
        background-color: #f60c86;
        transform: scale(0.95);
    }


/* Styles for logged out users */
.list-item.logged-out {
    opacity: 0.6;
    background-color: rgba(0, 0, 0, 0.4);
}

    .list-item.logged-out .status.offline-status {
        color: #e60039;
        font-weight: bold;
    }

    .list-item.logged-out .name {
        color: #888;
    }

    .list-item.logged-out .clock-out {
        color: #e60039;
        font-weight: bold;
    }


/* Status icon styling for admin page */
.status-icon {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    box-sizing: border-box;
}

    /* When empty, just show the circular background */
    .status-icon:empty {
        background: rgba(255, 255, 255, 0.6);
    }

/* Add this to inoutboard.css */
#clockin-time[readonly], #clockout-time[readonly] {
    background-color: rgba(0, 0, 0, 0.3);
    cursor: default;
}

    #clockin-time[readonly]:focus, #clockout-time[readonly]:focus {
        outline: none;
        box-shadow: none;
    }

/* Absence status selection styling */
/*.absence-status-selection {
    margin: 15px 0;
}

    .absence-status-selection select {
        width: 100%;
        padding: 10px 15px;
        font-size: 16px;
        border: 1px solid white;
        border-radius: 8px;
        background-color: rgba(0, 0, 0, 0.3);
        color: white;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

        .absence-status-selection select option {
            background-color: #0c325f;
            color: white;
        }*/

select[name="statusId"] {
    transition: transform 0.3s ease, box-shadow 0.1s ease;
}

    select[name="statusId"]:hover {
        transform: scale(0.95);
    }

/* Style for absence boxes with status indicators */
.absence-status {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin-right: 10px;
    opacity: 0.9;
}

/* Date input styling */


    #startDate::-webkit-calendar-picker-indicator,
    #endDate::-webkit-calendar-picker-indicator {
        filter: invert(1);
    }

/* Simple Date Input Styling */
input[name="start"]{
    transition: transform 0.3s ease;
}

    input[name="start"]:hover{
        transform:scale(.95);
    }

input[name="end"] {
    transition: transform 0.3s ease;
}

    input[name="end"]:hover {
        transform: scale(.95);
    }

/*.date-range-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 20px 0;
    flex-wrap: wrap;
}*/



.date-label, .status-label, .title-label {
    font-size: 14px;
    font-weight: 600;
    color: white;
    letter-spacing: 0.5px;
}

.simple-date-input {
    padding: 12px 16px;
    font-size: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    font-family: inherit;
    min-width: 150px;
    transition: all 0.3s ease;
}

    .simple-date-input:focus {
        outline: none;
        border-color: #0c325f;
        background-color: rgba(255, 255, 255, 0.2);
        box-shadow: 0 0 0 3px rgba(12, 50, 95, 0.3);
    }

    .simple-date-input::-webkit-calendar-picker-indicator {
        filter: invert(1);
        cursor: pointer;
    }

.date-separator {
    margin-top: 20px;
    font-size: 16px;
    font-weight: bold;
    color: white;
    padding: 0 10px;
}

/* Updated absence status selection */

.simple-select {
    padding: 12px 16px;
    font-size: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    font-family: inherit;
    min-width: 250px;
    cursor: pointer;
    transition: all 0.3s ease;
}

    .simple-select:focus {
        outline: none;
        border-color: #0c325f;
        background-color: rgba(255, 255, 255, 0.2);
        box-shadow: 0 0 0 3px rgba(12, 50, 95, 0.3);
    }

    .simple-select:hover{
        transform: scale(0.95);
    }

    .simple-select option {
        background-color: #0c325f;
        color: white;
        padding: 8px;
    }

/* Updated absence title section */


.simple-text-input {
    padding: 12px 16px;
    font-size: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    font-family: inherit;
    min-width: 250px;
    transition: all 0.3s ease;
}

    .simple-text-input:focus {
        outline: none;
        border-color: #0c325f;
        background-color: rgba(255, 255, 255, 0.2);
        box-shadow: 0 0 0 3px rgba(12, 50, 95, 0.3);
    }

    .simple-text-input::placeholder {
        color: rgba(255, 255, 255, 0.6);
        font-style: italic;
    }

    

/* Updated save button */
.save-section {
    margin: 30px 0;
    display: flex;
    justify-content: center;
}

.simple-save-button {
    background-color: #0c325f;
    color: white;
    border: none;
    padding: 14px 28px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-width: 150px;
}

    .simple-save-button:hover {
        background-color: #210ff0;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(33, 15, 240, 0.3);
    }

    .simple-save-button:active {
        transform: translateY(0);
    }

    .simple-save-button:disabled {
        background-color: #666;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }

/* Responsive design for mobile */
@media (max-width: 768px) {
    .date-range-container {
        flex-direction: column;
        gap: 15px;
    }

    .date-separator {
        margin-top: 0;
        order: 2;
    }

    .simple-date-input,
    .simple-select,
    .simple-text-input {
        min-width: 280px;
        width: 100%;
        max-width: 350px;
    }
}

/* Remove old themed calendar styles if they conflict */
.calendar-datepicker-main .input-daterange,
.calendar-datepicker-main .input-group,
.calendar-datepicker-main .form-control,
.calendar-datepicker-main .input-group-text {
    display: none !important;
}

/* Keep the existing calendar container styles but update content */
.calendar-datepicker-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1em;
    padding: 20px;
}

/* Absences Section Styling */
.absences-container {
    margin-top: 40px;
    padding: 0 20px;
}

.absences-header {
    margin-bottom: 20px;
    text-align: center;
}

.absences-title {
    color: white;
    font-size: 28px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.absences-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.absence-item {
    background: rgba(230, 0, 57, 0.2); /* Slight red tint for absences */
    border-left: 4px solid #e60039; /* Red accent border */
}

.absence-status {
    color: #e60039 !important;
    font-weight: bold;
    text-transform: uppercase;
}

/* Responsive styling for absences */
@media screen and (max-width: 768px) {
    .absences-title {
        font-size: 24px;
        flex-direction: column;
        gap: 10px;
    }
}