h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}


/*Common CSS*/
.app {
    display: flex;
    height: 100vh;
    width: 100%;
}

.content {
    flex: 1;
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 15px;
    background: #eef1f8;
}

/* Sidebar */
.sidebar {
    width: 250px;
    background: #1e293b;
    display: flex;
    flex-direction: column;
    transition: width 0.2s ease;
}

.app.sidebar-closed .sidebar {
    width: 0px;
    overflow: hidden;
}

.app.sidebar-open .sidebar {
    width: 250px;
    overflow: hidden;
}

.sidebar-top {
    padding: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.sidebar-links {
    flex: 1;
    overflow-y: auto;
    padding: 12px 0px;
}

.sidebar-bottom {
    padding: 8px 20px;
    border-top: 1px solid rgba(255,255,255, .07);
}


.marginTop5 {
    margin-top: 5px !important;
}

.marginTop10 {
    margin-top: 10px !important;
}

.marginTop15 {
    margin-top: 15px !important;
}

.marginTop20 {
    margin-top: 20px !important;
}

.requiredEntry::before {
    content: "*";
    color: red;
    padding-right: 3px;
    /*font-size: 13.5px;*/
}

/* Grid CSS */
.edit-icon {
    color: #0029ff !important;
    background: #0064ff1c !important;
    border: 1px solid #0064ff1c !important;
    font-size: 14px !important;
    padding: 3px !important
}

    .edit-icon:disabled {
        color: #555 !important;
        cursor: not-allowed;
    }

.delete-icon {
    color: #d60c0c !important;
    background: #a52a2a1c !important;
    border: 1px solid #a52a2a1c !important;
    font-size: 14px !important;
    padding: 3px !important
}

    .delete-icon:disabled {
        color: #555 !important;
        cursor: not-allowed;
    }

.info-icon {
    color: #565005 !important;
    background: #56500524 !important;
    border: 1px solid #0064ff1c !important;
    font-size: 14px !important;
    padding: 3px !important;
}

    .info-icon:disabled {
        color: #555 !important;
        cursor: not-allowed;
    }

.k-column-title {
    color: black;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px
}

.k-grid .k-cell-inner > .k-link {
    display: flex !important;
    justify-content: center !important;
    padding: 8px 5px !important;
}

.k-grid td, .k-grid .k-table-td {
    font-size: 13px !important
}

td.k-table-td.k-command-cell {
    text-align: center;
}

.k-grid .k-grid-header .k-table-th {
    background: #e5e5e5;
}

/* Page Form CSS */
.field-label {
    font-size: 14px;
    font-weight: 500;
    color: #525b67;
    letter-spacing: 0.3px;
}

.input-wrap {
    position: relative;
    /*width: 100%;*/
}

.input-field {
    background: #ffffff;
    border: 1px solid #d1d1d1;
    border-radius: 6px;
    padding: 6px 8px;
    font-size: 14px;
    color: #1e293b;
    outline: none;
    width: 100%;
    font-family: 'JetBrains Mono', monospace;
}

    .input-field:focus {
        border-color: rgba(47, 128, 237, .42);
        box-shadow: 0 0 0 3px rgba(47, 128, 237, .10);
    }

    .input-field::placeholder {
        color: rgba(26, 18, 40, 0.28);
    }

.search-icon {
    position: absolute;
    top: 30%;
    right: 14px;
    color: #64748b;
    font-size: 14px;
}

/* content header css */
.page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 12px;
    background: white;
    border-radius: 5px;
    padding: 10px 12px;
}

.page-title h1 {
    /*font-family: 'Sora', sans-serif;*/
    font-size: 20px;
    font-weight: 700;
    color: black;
    letter-spacing: 0.9px;
    line-height: 1.2;
    margin-bottom: 0px;
}

.page-title p {
    font-size: 14px;
    color: gray;
    margin-top: 3px;
    margin-bottom: 0px;
}

.hamburger-btn {
    background-color: #1e293b;
    color: white;
    border-radius: 4px;
    width: 40px;
    height: 35px;
    font-size: 18px;
}

/* buttons css */
.btnCancel, .btnCommon, .btnExtra1, .btnExtra2, .btnExtra3 {
    padding: 5px 15px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    transition: box-shadow 0.2s, transform 0.15s;
    box-shadow: 0 8px 16px #1a335c21;
    letter-spacing: 0.6px;
    cursor: pointer;
}

.btnCancel {
    border: 1.5px solid #ef4444;
    background: linear-gradient(135deg, #f87171, #ef4444);
    color: white;
}

    .btnCancel:hover {
        transform: translateY(-1px);
        box-shadow: 0 8px 24px #1a335c33;
    }

.btnCommon {
    background: linear-gradient(135deg, #6366f1 0%, #818cf8 100%);
    color: white;
}

    .btnCommon:hover {
        box-shadow: 0 6px 20px rgba(99,102,241,0.45);
        transform: translateY(-1px);
    }

.btnExtra1 {
    border: 1.5px solid #059669;
    background: linear-gradient(135deg, #059669, #1cb783);
    color: white;
}

    .btnExtra1:hover {
        transform: translateY(-1px);
    }

.btnExtra2 {
    background: #0f2040;
    color: #fff;
}

    .btnExtra2:hover {
        transform: translateY(-1px);
    }

.btnExtra3 {
    border: 1.5px solid #058f96;
    background: linear-gradient(135deg, #17829b, #0288bb);
    color: white;
}

    .btnExtra3:hover {
        transform: translateY(-1px);
    }

/* Common card css */
.commonwhitecard {
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.04);
}

.cardtitle {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: black;
    margin-bottom: 15px;
    padding: 0px 0px 0px 14px;
    border-left: 3px solid #db3700;
    letter-spacing: 1px;
}

/* Modal css */
.commonmodalheader {
    display: flex !important;
    flex-direction: column !important;
    align-items: start !important;
    padding: 20px !important;
    border-bottom: 1px solid rgba(102, 126, 172, 0.18) !important;
}

    .commonmodalheader h5 {
        font-size: 20px;
        font-weight: 700;
        color: #000000d6;
        margin-bottom: 4px;
        letter-spacing: 0.8px
    }

    .commonmodalheader p {
        font-size: 14px;
        font-weight: 400;
        color: #494949;
        letter-spacing: 0.8px
    }

/* Chrome, Edge, Safari */
::-webkit-scrollbar {
    width: 4px; /* super thin */
}

/* Remove track completely */
::-webkit-scrollbar-track {
    background: transparent;
}

/* Thin vertical line */
::-webkit-scrollbar-thumb {
    background: #85a3d3; /* light blue */
    border-radius: 0; /* straight line (no round) */
}

    /* Optional: slightly brighter on hover */
    ::-webkit-scrollbar-thumb:hover {
        background: #85a3d3;
    }

/* Telerik Grid Scroll Area */
.k-grid-content,
.k-grid-content-locked,
.k-grid .k-table-content {
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: #85a3d3 transparent;
}

    /* Chrome, Edge, Safari */
    .k-grid-content::-webkit-scrollbar,
    .k-grid-content-locked::-webkit-scrollbar,
    .k-grid .k-table-content::-webkit-scrollbar {
        width: 4px;
        height: 4px; /* horizontal scrollbar */
    }

    /* Remove track */
    .k-grid-content::-webkit-scrollbar-track,
    .k-grid-content-locked::-webkit-scrollbar-track,
    .k-grid .k-table-content::-webkit-scrollbar-track {
        background: transparent;
    }

    /* Thin scrollbar line */
    .k-grid-content::-webkit-scrollbar-thumb,
    .k-grid-content-locked::-webkit-scrollbar-thumb,
    .k-grid .k-table-content::-webkit-scrollbar-thumb {
        background: #85a3d3;
        border-radius: 0;
    }

        /* Hover effect */
        .k-grid-content::-webkit-scrollbar-thumb:hover,
        .k-grid-content-locked::-webkit-scrollbar-thumb:hover,
        .k-grid .k-table-content::-webkit-scrollbar-thumb:hover {
            background: #85a3d3;
        }

.commonalert {
    padding: 6px 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.gridtotalcount {
    color: #2b2b2b;
    font-size: 14px;
    margin-bottom: 0px;
}

.grid-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 0;
}

/* OTP Boxes */
.otp-row {
    display: flex;
    gap: .65rem;
    justify-content: center;
    margin: 1.5rem 0 .5rem;
}

.otp-box {
    width: 52px;
    height: 60px;
    border-radius: 12px;
    border: 1.5px solid rgb(0 0 0 / 32%);
    background: rgba(255, 255, 255, .05);
    color: #0B0E1A;
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
    appearance: none;
    padding: 0px !important;
}

    .otp-box:focus {
        border-color: #F5C518;
        background: rgba(245, 197, 24, .08);
        box-shadow: 0 0 0 3px rgba(245, 197, 24, .18);
    }

    .otp-box.filled {
        border-color: rgba(245, 197, 24, .55);
        background: rgba(245, 197, 24, .07);
    }

    .otp-box.error {
        border-color: rgba(245, 80, 80, .7) !important;
        background: rgba(245, 80, 80, .07) !important;
        box-shadow: 0 0 0 3px rgba(245, 80, 80, .15) !important;
        animation: shake .35s ease;
    }

    .otp-box.success-box {
        border-color: rgba(46, 204, 113, .7) !important;
        background: rgba(46, 204, 113, .08) !important;
        box-shadow: 0 0 0 3px rgba(46, 204, 113, .15) !important;
    }

@keyframes shake {
    0%, 100% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(-5px)
    }

    60% {
        transform: translateX(5px)
    }

    80% {
        transform: translateX(-3px)
    }
}

/* Tabs Css */
.k-tabstrip-items .k-item {
    background-color: white !important;
    color: #4f4f4f !important;
    padding: 10px !important;
    border-radius: 0px !important;
}

.k-tabstrip-items-wrapper .k-item.k-active {
    background-color: #0f346014 !important;
    color: #0f3460 !important;
    padding: 6px 10px !important;
    border-top: 2px solid #0f3460 !important;
    border: none;
}

.k-tabstrip-items-wrapper .k-item:focus {
    box-shadow: none !important;
}

.k-tabstrip-items-wrapper .k-item.k-selected {
    color: black !important;
}

.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item .k-link {
    padding: 0px !important;
    font-size: 14.4px !important;
    font-weight: 500 !important;
}

/*.k-tabstrip-content {
    background: white !important;
    border: none !important
}*/

/*All Grid Common CSS*/
.grid-wrapper {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.flex-grid {
    flex: 1;
    min-height: 0;
}

    .flex-grid .k-grid {
        height: 100% !important;
        display: flex;
        flex-direction: column;
    }

    .flex-grid .k-grid-content {
        flex: 1 !important;
        overflow: auto !important;
        min-height: 0 !important;
    }

@media screen and (max-width: 1024px) and (max-height: 768px) {
    .content {
        padding: 12px;
    }

    .sidebar {
        width: 210px;
    }

    .sidebar-top {
        padding: 10px;
        border-bottom: 1px solid rgba(255, 255, 255, .07);
        text-align: center;
    }

    .sidebar-bottom {
        padding: 6px 20px;
        border-top: 1px solid rgba(255,255,255, .07);
    }

    .page-header {
        margin-bottom: 15px;
        padding: 15px;
    }

    .page-title h1 {
        font-size: 17px;
    }

    .page-title p {
        font-size: 12px;
        width: 360px;
    }

    .btnCancel {
        padding: 8px 20px;
        font-size: 13px;
    }

    .btnCommon {
        padding: 8px 20px;
        font-size: 13px;
    }

    .btnExtra1 {
        padding: 6px 8px;
        font-size: 12px;
    }

    .btnExtra2 {
        padding: 6px 8px;
        font-size: 12px;
    }

    .closeshiftbtn {
        padding: 6px 8px;
        font-size: 12px;
    }

    .cardtitle {
        font-size: 13px;
        padding: 0px 0px 0px 8px;
        margin-bottom: 10px;
    }

    .commonmodalheader {
        padding: 18px !important;
    }

        .commonmodalheader h5 {
            font-size: 17px;
            margin-bottom: 4px;
        }

        .commonmodalheader p {
            font-size: 12px;
        }

    .commonwhitecard {
        padding: 14px;
    }

    .sidebar-links {
        padding: 0px 0px;
    }

    .marginTopR20 {
        margin-top: 15px !important;
    }

    .k-column-title {
        font-size: 11.6px;
    }

    .k-grid .k-cell-inner > .k-link {
        padding: 5px !important;
    }

    .k-grid td, .k-grid .k-table-td {
        font-size: 11.4px !important;
        padding: 4px 5px !important;
    }

    .edit-icon {
        font-size: 12px !important;
        padding: 1px !important
    }

    .delete-icon {
        font-size: 12px !important;
        padding: 1px !important
    }

    .field-label {
        font-size: 11.2px;
        letter-spacing: normal;
    }

    .input-field {
        padding: 6px 8px;
        font-size: 12px;
        letter-spacing: normal;
    }

        .input-field:focus {
            border-color: rgba(47, 128, 237, .42);
            box-shadow: none;
        }

    .search-icon {
        right: 6%;
        top: 33%;
        font-size: 12px;
    }

    .gridtotalcount {
        font-size: 12px;
    }
}
