@import url('open.iconic/font/css/open-iconic-bootstrap.min.css');

html, body {
/*    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
}

html, body {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

.button-link {
    text-decoration: unset;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.title {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-bottom: 0.625rem;
}

    .title.title-secondary {
        padding-top: 0.313rem;
        padding-bottom: 0;
        color: var(--bs-secondary-color);
    }

.title-header-text {
    font-size: 2.5rem;
    line-height: 3rem;
    font-weight: 600;
    letter-spacing: 0rem;
    padding: 0.3125rem 0;
}

.title-content-text {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 2.5rem;
    letter-spacing: 0rem;
}

/* Login */
.main-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.block-content {
    width: 31.25rem;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    max-width: 100%;
}

.login-box {
    border: 1px solid #ccc;
    border-radius: 15px;
    padding: 20px;
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

    .login-box .title-header-text {
        font-family: 'Poppins', 'Helvetica Neue', Helvetica, Arial, sans-serif;
        color: #02145C;
        font-size: 1.5rem;
        line-height: 2.5rem;
        font-weight: 600;
        letter-spacing: 0rem;
        padding: .5rem;
        margin: 0 0 10px 0;
    }

.login-logo {
    width: 300px;
    padding: 10px;
    margin: 10px 20px;
}

.login-button {
    font-family: 'Poppins', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 600;
    background-color: #26b050;
    color: #fff;
    display: inline-block;
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 0px;
    border-radius: 10px;
}

/* Logout */
.logout-box {
    border: 1px solid #ccc;
    border-radius: 15px;
    padding: 20px;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

/* Job Log */
div.privateJobLog {
    background-color: #FF99FF;
}

div.automatedJobLog {
    background-color: #CCCCFF;
}

.calendar {
    height: 800px;
}

/* Add rounded corner to DxGrid */
/*dxbl-grid.dxbl-grid {
    border-radius: 15px !important;
    overflow: hidden;
}*/

/* Change DxAccordion Item active design */
.dxbl-accordion-item.dxbl-active {
    background-color: var(--bs-primary);
    color: white !important;
}

/* Remove NavMenu DxAccordion header rounded corner */
.nav-scroll-view .dxbl-accordion .dxbl-accordion-group:first-child:not(:last-child), .dxbl-accordion .dxbl-accordion-group:first-child:not(:last-child) > .dxbl-accordion-group-header {
    border-radius: 0 !important;
}

/* Grid CSS Start */
.gridText-onHold {
    color: red;
}

/* Remove DxGrid header row */
.dxGrid-hiddenHeader {
    display: none;
}

/* Remove DxGrid Toolbar */
.dxGrid-hiddenToolbar > .dxbl-grid-toolbar-container {
    display: none !important;
}

/* Remove DxGrid grid lines */
.no-grid-lines-td td {
    border-left-width: 0px !important;
    border-right-width: 0px !important;
}

.no-grid-lines-th th {
    border-left-width: 0px !important;
    border-right-width: 0px !important;
}

/* Adjusted grid font-size */
.dxbl-grid.dxbl-sm {
/*    --dxbl-grid-font-size: 0.85rem;
    --dxbl-grid-line-height: 2.5;*/
}

/* Remove DxGrid outside borders */
.no-borders-grid {
    border: none !important; 
}

/* Remove DxGrid row and header border */
.no-borders-grid-cell td, .no-borders-grid-cell th {
    border: none !important;
}

/* If you need to remove header borders specifically */
.no-borders-grid thead th {
    border-bottom: none !important;
}

/* If you need to remove borders from other elements like the card container */
.no-borders-grid > .card {
    border: none !important;
}

.dxGrid-OnHoldRow:hover {
    background: #FFC1C1 !important;
}
/* Grid CSS End */

/* required field css */
.required-field::after {
    content: '*';
    color: red;
}

/* ThemeSwitcher Menu */
.theme-template-container {
    display: flex;
    align-items: center;
}

.theme-template-icon {
    width: 1rem;
    height: 1rem;
    margin-right: 0.375rem;
    -webkit-mask-image: url("/images/theme-icon.svg");
    mask-image: url("/images/theme-icon.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: currentColor;
}

.dxbl-sm .theme-template-icon {
    margin-right: 0.25rem;
}

.dxbl-lg .theme-template-icon {
    margin-right: 0.5rem;
}

.theme-template-container > .blazing-berry {
    color: #5c2d91;
}

.theme-template-container > .blazing-dark {
    color: #46444a;
}

.theme-template-container > .office-white {
    color: #fe7109;
}

.theme-template-container > .purple {
    color: #7989ff;
}

.theme-template-container > .default {
    color: #007bff;
}

.theme-template-container > .default-dark {
    color: #212529;
}

.theme-template-container > .cerulean {
    color: #2fa4e7;
}

.theme-template-container > .cyborg {
    color: #060606;
}

.theme-template-container > .flatly {
    color: #dce4ec;
}

.theme-template-container > .journal {
    color: #eb6864;
}

.theme-template-container > .litera {
    color: #4582ec;
}

.theme-template-container > .lumen {
    color: #158cba;
}

.theme-template-container > .lux {
    color: #1a1a1a;
}

.theme-template-container > .pulse {
    color: #593196;
}

.theme-template-container > .simplex {
    color: #d9230f;
}

.theme-template-container > .solar {
    color: #b58900;
}

.theme-template-container > .superhero {
    color: #df691a;
}

.theme-template-container > .united {
    color: #e95420;
}

.theme-template-container > .yeti {
    color: #008cba;
}

.theme-template-container > .fluent-light {
    color: #0f6cbd;
}

.theme-template-container > .fluent-dark {
    color: #282828;
}

/* Attendance */
.attendance-wholeDayLeave > td {
    background-color: #FADBD8;
}

.attendance-restDay > td {
    background-color: #F0F0F0;
    color: #696969;
}

.allocation-highlight {
    background-color: #C6EFCE !important;
}

.attendance-late {
    background: #FF0000 !important;
    color: #FFFFFF !important;
}

.attendance-undertime {
    background: #FF0000 !important;
    color: #FFFFFF !important;
}

.attendance-wholedayleave {
    background: #FADBD8 !important;
}

.attendance-restday {
    background: #f0f0f0 !important;
    color: #696969 !important;
}

.attendance-group {
    /*    background: #ffffe0 !important;*/
    background: var(--dxbl-grid-hover-bg) !important;
    font-weight: bold;
}

.attendance-pendingleave {
    background: #FADBD8 !important;
}

.attendance-leavehours-neg {
    color: #FF0000 !important;
}

.schedule-cell {
    text-align: center;
    vertical-align: middle;
}

.schedule-cell-content {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    gap: 0.25rem;   
}

.schedule-rest-day,
.schedule-legend-swatch.schedule-rest-day {
    background-color: #e6e6e6;
    color: #696969;
}

    .schedule-leave,
.schedule-legend-swatch.schedule-leave {
    background-color: #F8D68D;
    color: #212529;
}

.schedule-sick-leave,
.schedule-legend-swatch.schedule-sick-leave {
    background-color: #F9AF8C;
    color: #212529;
}
.schedule-til,
.schedule-legend-swatch.schedule-til {
    background-color: #C7F0BD;
    color: #212529;
}
.schedule-other,
.schedule-legend-swatch.schedule-other {
    background-color: #A9D6FF;
    color: #212529;
}

.schedule-leave-pending,
.schedule-legend-swatch.schedule-leave-pending {
    background-color: #F8D68D;
    color: #393d42;
    background-image: repeating-linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.15) 0,
        rgba(0, 0, 0, 0.15) 3px,
        rgba(0, 0, 0, 0) 3px,
        rgba(0, 0, 0, 0) 6px
    );
}

.schedule-sick-leave-pending,
.schedule-legend-swatch.schedule-sick-leave-pending {
    background-color: #F9AF8C;
    color: #393d42;
    background-image: repeating-linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.15) 0,
        rgba(0, 0, 0, 0.15) 3px,
        rgba(0, 0, 0, 0) 3px,
        rgba(0, 0, 0, 0) 6px
    );
}

.schedule-standard-shift,
.schedule-legend-swatch.schedule-standard-shift {
    background-color: var(--DS-color-surface-neutral-default-rest) !important;
}

.schedule-leave-label {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.75);
    font-weight: 600;
    font-size: 0.75rem;
    line-height: 1;
    margin-bottom: 0.25rem;
}

/* Override Styles */
h5 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
}

.mt-3 {
    margin-top: 2.25rem !important;
}

.page-header-title-text {
    font-size: 1.75rem !important;
    line-height: 1.5 !important;
/*    margin: 25px 0 0 0;*/
}

.btn-primary {
    background-color: #02145C;
    border-color: #02145C;
}

.btn-success {
    background-color: #6BCB00;
    border-color: #6BCB00;
}

.schedule-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin: 0 0 0.5rem 0;
    font-size: 0.85rem;
    border:none;
}

.schedule-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.15rem 0.5rem;
/*    background-color: #ffffff;*/
    border: 1px solid #e0e0e0;
    border-radius: 999px;
}

.schedule-legend-swatch {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    display: inline-block;
    border: 1px solid #cfcfcf;
}

.schedule-legend-rest {
    background-color: #F1F3F5;
    color: #6C757D;
}

.schedule-legend-leave {
    background-color: #FFF3CD;
    color: #664D03;
}

.schedule-legend-sick-leave {
    background-color: #FDE2E4;
    color: #842029;
}

.schedule-legend-leave-pending {

    background-color: #FFF3CD;
    color: #664D03;
    background-image: repeating-linear-gradient( 135deg, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.08) 2px, transparent 2px, transparent 6px );
}

.schedule-legend-sick-leave-pending {

    background-color: #FDE2E4;
    color: #842029;
    background-image: repeating-linear-gradient( 135deg, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.08) 2px, transparent 2px, transparent 6px );
}

.schedule-legend-standard {
    background-color: #FFFFFF;
}

.daily-attendance-status {
    width: 100%;
    border: 1px solid #e0e0e0;
    box-shadow: none;
}

.daily-attendance-cell {
    text-align: center;
    vertical-align: middle;
}

.daily-attendance-status-text {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    gap: 0.25rem;
    
}

/* Define color variables for daily attendance statuses */
:root {
    --daily-attendance-no-show-bg: #F8D7DA;
    --daily-attendance-no-show-fg: #842029;
    --daily-attendance-late-no-show-bg: #FDE2E6;
    --daily-attendance-late-no-show-fg: #842029;
    --daily-attendance-late-within-tardy-eta-bg: #FFF3CD;
    --daily-attendance-late-within-tardy-eta-fg: #664D03;
    --daily-attendance-notification-sick-bg: #DCEBFF;
    --daily-attendance-notification-sick-fg: #084298;
    --daily-attendance-late-or-undertime-bg: #E6D9F5;
    --daily-attendance-late-or-undertime-fg: #4C2A85;
    --daily-attendance-off-shift-bg: #F1F3F5;
    --daily-attendance-off-shift-fg: #6C757D;
    --daily-attendance-others-bg: #D9F2F4;
    --daily-attendance-others-fg: #0F5132;
}

/* No Show (soft red) */
.daily-attendance-no-show {
    background-color: var(--daily-attendance-no-show-bg);
    color: var(--daily-attendance-no-show-fg);
}

/* No Show - Late Notification (lighter red) */
.daily-attendance-late-no-show {
    background-color: var(--daily-attendance-late-no-show-bg);
    color: var(--daily-attendance-late-no-show-fg);
}

/* Late within Tardy ETA (soft amber) */
.daily-attendance-late-within-tardy-eta {
    background-color: var(--daily-attendance-late-within-tardy-eta-bg);
    color: var(--daily-attendance-late-within-tardy-eta-fg);
}

/* Sick with Notification (soft blue) */
.daily-attendance-notification-sick {
    background-color: var(--daily-attendance-notification-sick-bg);
    color: var(--daily-attendance-notification-sick-fg);
}

/* Late or Undertime (soft purple) */
.daily-attendance-late-or-undertime {
    background-color: var(--daily-attendance-late-or-undertime-bg);
    color: var(--daily-attendance-late-or-undertime-fg);
}

/* Off Shift (neutral gray) */
.daily-attendance-off-shift {
    background-color: var(--daily-attendance-off-shift-bg);
    color: var(--daily-attendance-off-shift-fg);
}

/* Others (soft teal) */
.daily-attendance-others {
    background-color: var(--daily-attendance-others-bg);
    color: var(--daily-attendance-others-fg);
}

/* Dashboard Revamp */
.dashboard-container .card {
    border-radius: 14px;
}

.dashboard-hero {
    background-color: #f8f9fb;
    border: 1px solid #e5e7eb;
}

.dashboard-greeting {
    font-size: 1.5rem;
    font-weight: 600;
}

.dashboard-subtitle {
    color: var(--bs-secondary-color);
    font-size: 0.95rem;
}

.dashboard-stat-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.dashboard-stat-card {
    min-width: 170px;
    padding: 0.9rem 1.1rem;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.75rem;
    row-gap: 0.1rem;
    align-items: center;
}

.dashboard-stat-card > i {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    grid-row: 1 / span 2;
/*    background-color: rgba(255, 255, 255, 0.7);*/
}

.dashboard-stat-card.is-info {
    background-color: rgba(219, 232, 255, 0.7);
    border-color: #bfd7ff;
    color: #0b3d91;
}

.dashboard-stat-card.is-warning {
    background-color: rgba(255, 237, 191, 0.7);
    border-color: #ffe2a4;
    color: #7a4b00;
}

.dashboard-stat-card.is-success {
    background-color: rgba(216, 242, 229, 0.7);
    border-color: #cfe9dd;
    color: #1e6b46;
}

.dashboard-stat-card.is-danger {
    background-color: rgba(251, 210, 214, 0.7);
    border-color: #f8b4bd;
    color: #842029;
}

.dashboard-stat-value {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.dashboard-stat-label {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.9;
}

.dashboard-section-title > i {
    font-size: 1.1rem;
}

.attendance-flag-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.attendance-flag-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
/*    gap: 0.75rem;*/
    padding: 0.35rem 0.25rem;
    border-bottom: 1px solid #eef0f3;
}

.attendance-flag-item:last-child {
    border-bottom: none;
}

.attendance-flag-name {
    font-weight: 600;
}

.attendance-flag-badge {
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 2;
    white-space: nowrap;
}

.dashboard-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.dashboard-section-title {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.dashboard-section-meta {
    margin-left: auto;
    white-space: nowrap;
    align-self: flex-start;
}

.dashboard-hero-bar {
    border-radius: 14px;
    padding: 0.25rem;
    background: linear-gradient(135deg, #02145C 0%, #0a1c6f 100%);
    color: #ffffff;
}

.dashboard-hero-bar .card-body {
    padding: 1.25rem 1.5rem;
}

.dashboard-hero-bar .dashboard-greeting {
    color: #ffffff;
}

.dashboard-hero-bar .dashboard-subtitle {
    color: rgba(255, 255, 255, 0.85);
}

.dashboard-hero-bar .dashboard-stat-card {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.dashboard-hero-bar .dashboard-stat-card > i {
    background-color: rgba(255, 255, 255, 0.15);
}

