/* @import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css"); */
/* UI Developed by Rajamanickam */

/* @import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;500;600;700;800;900&family=Open+Sans:ital,wght@0,300;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap'); */


/* :root {
    --primary: #4c56c0;
} */

html {
    position: relative;
    min-height: 100%;
    overflow-x: hidden;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../css/fonts/Inter18pt-ExtraBold.woff2') format('woff2'),
        url('../css/fonts/Inter18pt-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../css/fonts/Inter18pt-Black.woff2') format('woff2'),
        url('../css/fonts/Inter18pt-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../css/fonts/Inter18pt-Bold.woff2') format('woff2'),
        url('../css/fonts/Inter18pt-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../css/fonts/Inter18pt-Medium.woff2') format('woff2'),
        url('../css/fonts/Inter18pt-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../css/fonts/Inter18pt-Regular.woff2') format('woff2'),
        url('../css/fonts/Inter18pt-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../css/fonts/Inter18pt-SemiBold.woff2') format('woff2'),
        url('../css/fonts/Inter18pt-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../css/fonts/Inter18pt-Thin.woff2') format('woff2'),
        url('../css/fonts/Inter18pt-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}



body {
    font-family: 'Inter 18pt', sans-serif;
    /* font-size: 14px; */
    font-size: 14px;
    line-height: normal;
    letter-spacing: normal;
    overflow-x: hidden;
    font-weight: 400;
    color: #333;
}




h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 20px;
    letter-spacing: normal;
}

h1 {
    font-size: 24px;
    font-weight: 400;
}

ul {
    margin: 0;
    padding: 0
}

li {
    list-style: none
}

audio,
video {
    max-width: 100%;
    width: 100%;
}

textarea {
    resize: vertical;
}

a {
    color: #4c56c0;
    text-decoration: none;
    outline: none;
    -webkit-transition: all 0.3s ease 0s;
    -khtml-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    display: inline-block
}

a:hover,
a:active,
a:focus {
    outline: none;
    text-decoration: none;
    color: #267dff;
}

.hide {
    display: none;
}

hr {
    border: 0;
    border-top: 1px solid #eee;
    margin-bottom: 20px;
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
}

.error {
    color: #c83119;
}

.alert-box-error {
    /* background: url(../images/alert_bg.png) no-repeat scroll 20px 3px #ffecec; */
    background: #ffecec;
    border: 1px solid #eb462c border-radius: 10px;
    padding: 10px 10px 10px 70px;
    margin: 10px;
    font-weight: bold;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

select,
input,
textarea,
.custom-radio>label {
    font-size: 13px !important;
}

select,
input.form-control {
    height: calc(1.85em + 0.75rem + 2px) !important;
}

.form-control:focus {
    border-color: #4c56c0;
}

/* bootstrap overwrite */
.fixed-top {
    display: inline;
    width: fit-content;
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: #4c56c0;
    background-color: #4c56c0;
}

/* jquery-ui.css style overwrite */
.ui-widget {
    font-size: initial !important;
    font-family: initial !important;
}

/* Invalid Feedback */
.invalid-feedback {
    font-weight: 600;
    padding: 3px 10px 3px 0;
    /* remove left padding */
    position: relative;
    top: 2px;
    font-size: 12px !important;

    animation: blink 2s infinite !important;
}

@keyframes blink {
    0% {
        opacity: 0.5;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0.5;
    }
}

.photo_sign_error font {
    background-color: #fbc699;
    font-weight: 600;
    color: #dc3545;
    padding: 3px 10px 3px 0;

    position: relative;
    font-size: 12px;
}

#confirmCapturedPhoto_preview font,
#confirmUploadedPhoto_preview font {
    background-color: transparent;
}

/* For IE10 */

select::-ms-expand {
    display: none;
}

.form-control,
.custom-select,
.input-group,
.input-group-text {
    /* border-radius: 0; */
    position: relative;
}


.login-form label {
    width: auto;
}

label,
.label {
    color: #2a2a2b;
    font-size: 14px;
    width: 100%;
    font-weight: 500;
}

button::-moz-focus-inner {
    border: 0;
    padding: 0;
}

button {
    border: none;
    outline: none;
    padding: 8px 14px;
    background: #267dff;
    color: #fff;
    outline: none;
}

button:hover {
    background: #556670;
    color: #fff;
}

button:focus {
    outline: none !important;
}

input[type="radio"],
input[type="checkbox"] {
    margin: 0 10px;
}

input,
textarea,
input[type="submit"]:focus {
    outline: 0 none;
}

textarea {
    width: 100%;
    border: 1px solid #eee;
    padding: 15px;
}

input:focus {
    box-shadow: none !important;
    outline: none !important;
}

::-moz-selection {
    background: #4c56c0;
    color: #fff;
}

::selection {
    background: #4c56c0;
    color: #fff;
}

.bg {

    /* If wrapper flexes, allow it to stretch infinitely */
    background-color: #16143c;
    /* Deep, rich premium indigo base */
    background-image:
        /* Light architectural grid overlay */
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.03) 2px, transparent 2px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 2px, transparent 2px),
        /* Brand color ambient glow from top right */
        radial-gradient(circle at 100% 0%, rgba(76, 86, 192, 0.35) 0%, transparent 65%),
        /* Progress track cyan ambient glow from bottom left */
        radial-gradient(circle at 0% 100%, rgba(70, 184, 200, 0.15) 0%, transparent 60%),
        /* Solid grounding linear gradient */
        linear-gradient(135deg, #16143c 0%, #1e1c4f 100%);
    background-size: 16px 16px, 16px 16px, 64px 64px, 64px 64px, cover, cover, cover;
    background-attachment: fixed;
}

.h100 {
    min-height: 100vh;
}

.loginheader .logo {
    height: 80px;
}

.loginheader .navbar-brand {
    background: #ffffff;
    margin: -0.5rem 0 -0.5rem -1rem;
    padding: 0.5rem 0 0.5rem 1rem;
    position: relative;
    margin-right: 100px;

    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;


}

.loginheader .navbar-brand:after {
    position: absolute;
    content: "";
    width: 300px;
    height: 100%;
    left: 100%;
    top: 0;

    background: linear-gradient(
        to right,
        rgba(255,255,255,1) 0%,     /* solid near logo */
        rgba(255,255,255,0.7) 40%,  /* slightly lighter */
        rgba(255,255,255,0.4) 70%,  /* more fade */
        rgba(255,255,255,0) 100%    /* fully transparent */
    );

    clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
}

@media(max-width: 767px) {
    .loginheader {
        background: #ffffff;
    }

    .loginheader .logo {
        height: 35px;
    }

    .loginheader .fixed-top {
        position: relative;
    }

    .logincontent:after {
        display: none;
    }

    .table_row {
        border: none !important;
    }

    .table_row>.table_small>.table_cell {
        border: none !important;
    }

    .custom-total-exp {
        flex-direction: column;
    }
}


.login_signup_main .newreg {
    padding: 10px 22px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;

    background: linear-gradient(135deg, #facc15, #f59e0b);
    border: none;
    color: #1f2937;
    cursor: pointer; /* Ensures the hand icon appears */

    text-align: center;
    /* Soft, close shadow for the resting state */
    box-shadow: 0 3px 8px rgba(245, 158, 11, 0.25); 
    
    /* Modern easing curve for a snappy, premium feel */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.login_signup_main .newreg:hover {
    /* Lifts the button slightly */
    transform: translateY(-2px); 
    
    /* Lightens the existing gradient without needing to redefine it */
    filter: brightness(1.1); 
    color: #000000; /* Darkens text slightly for max contrast */

    /* Layered shadow creates a smooth, professional glow rather than a harsh border */
    box-shadow: 
        0 8px 20px rgba(245, 158, 11, 0.4), 
        0 3px 6px rgba(245, 158, 11, 0.2);
}

.login_signup_main .newreg:active {
    /* Pushes the button down past its original resting point */
    transform: translateY(1px); 
    
    /* Dims slightly on click for a realistic physical effect */
    filter: brightness(0.95); 
    
    /* Pulls the shadow tight to simulate being pressed into the page */
    box-shadow: 0 2px 4px rgba(245, 158, 11, 0.3);
}


.login_btn {
    padding: 10px 22px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;

    background-color: #eef2ff;
    /* soft indigo tint */
    border: 1px solid #6366f1;
    color: #4f46e5;

    text-align: center;
    transition: all 0.25s ease;
}

.login_btn:hover,
.newreg:hover {
    filter: brightness(0.97);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.login_btn:hover {
    background-color: #e0e7ff;
    border-color: #4f46e5;
    color: #4338ca;
}

@media(max-width: 767px) {
    .newreg {
        font-size: 12px;
    }
}

.logincontent {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* Ensure the parent container can hold absolute elements properly */
.logincontent {
    position: relative;
    z-index: 1; /* Keeps the form content above the background patterns */
}

/* 1. TOP-LEFT: Modern Dot Grid Pattern */
.logincontent:before {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    top: -20px;
    left: -80px;

    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='2' fill='%234c56c0' opacity='0.35'/%3E%3C/svg%3E");
    background-repeat: repeat;

    /* Fade to right */
    -webkit-mask-image: linear-gradient(to right, black 60%, transparent 100%);
    mask-image: linear-gradient(to right, black 60%, transparent 100%);

    z-index: -1;
    pointer-events: none;
}

/* 2. BOTTOM-RIGHT: Smooth Organic Abstract Blob */
.logincontent:after {
    content: "";
    position: absolute;
    width: 220px;
    height: 100px;
    bottom: -10px;
    right: -60px;

    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='2' fill='%234c56c0' opacity='0.35'/%3E%3C/svg%3E");
    background-repeat: repeat;

    /* Fade toward LEFT */
    -webkit-mask-image: linear-gradient(to left, black 60%, transparent 100%);
    mask-image: linear-gradient(to left, black 60%, transparent 100%);

    z-index: -1;
    pointer-events: none;
}

/* .loginform:after {
    width: 300px;
    height: 600px;
    position: absolute;
    content: "";
    background: #bbb;
    border-radius: 50px;
    bottom: 50px;
    left: calc(100% - 100px);
    transform: rotate(20deg);
    z-index: 1;
    opacity: 0.1;
} */

.loginform .login_signup_main {
    background-color: #fff;
    margin: 2.5rem 1.5rem 1.5rem 0.7rem;
    display: grid;
    justify-content: center;
    border-radius: 10px;
    position: relative;
    padding: 1rem;
}

.login_signup_main .modal .modal-header button:hover {
    background-color: #fff;
}

.login_signup_main .modal .modal-footer .btn-primary {
    background-color: #4c56c0;
}

.login_signup_main .modal .modal-footer .btn-primary:hover {
    box-shadow: inset 5em 0 0 0 #fff;
    color: #4c56c0;
}

@media(max-width: 767px) {
    .loginform .h100 {
        height: auto !important;
    }
}

@media(min-width: 998px) {
    .loginform {
        float: right;
        min-height: 100vh;
    }
}


.login-title {
    color: #fff;
    font-size: 22px;
    line-height: 1.3;
    margin: 0px 0 50px 0;
    position: relative;
    padding-left: 10px;
    z-index: 5;
}

.forgot_pwd .login-title {
    color: #000;
}

.login-title small {
    display: block;
    font-size: 12px;
    opacity: 0.6;
    margin-top: 10px;
}


.loginform .form-group {
    position: relative;
    z-index: 5;
    margin-top: 30px;
}

.loginform .form-control-placeholder {
    position: absolute;
    font-size: 16px;
    font-weight: normal;
    top: 10px;
    left: 20px;
    transition: all 200ms;
    color: rgba(0, 0, 0, 0.8);
    cursor: text;
}

.loginform .form-control:focus+.form-control-placeholder,
.loginform .form-control:valid+.form-control-placeholder {
    transform: translate3d(0, -100%, 0);
    font-size: 11px;
    border-radius: 35px;
    color: rgba(3, 3, 3, 0.8);
    left: 0;
    top: -5px;
}

/* .loginform .form-control {
    border: none;
    border-radius: 5px;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    background: #fff;
    box-shadow: none;
    padding: 10px 20px;
    background-color: rgba(0, 0, 0, 0.3);
    height: auto;
    font-weight: normal;
    line-height: 0;
} */

.login-form .btn {
    /* background-color: #fa607e; */
    background-color: #4c56c0;
    border-radius: 35px;
    padding: 8px 30px;
    width: 100%;
    margin-top: 20px;
    color: #fff;
}

.login-form .btn:hover {
    border-radius: 5px !important;
}

.loginform .form-control.security {
    padding-right: 40px;
}

.login-security-code input {
    height: 42px !important;
    padding-right: 9rem !important;
}

.login-security-code img {
    position: absolute;
    top: 0;
    right: 35px;
}

.refresh-btn {
    position: absolute;
    right: 5px;
    top: 8px;
    padding: 0 5px;
}

.security-code input {
    height: 42px !important;
    padding-right: 9rem !important;
}

.security-code img {
    position: absolute;
    right: 40px;
    top: 0px;
}

.refresh-btn svg {
    width: 20px;
    fill: #333;
}

.loginform .refresh-btn svg {
    fill: #686262;
}

.security .refresh-btn {
    position: relative;
    right: 10px;
}

.forgot {
    color: #4c56c0;
    float: right;
    display: inline-block;
    margin-top: 5px;
}

/* Container & Scroll */
.login-content {
    overflow: auto;
    max-height: calc(100vh - 150px);
    z-index: 2;
    font-size: 14px;
    padding: 20px 1.5rem;
    margin-top: 3rem;
    background-color: #f9fafc;
    /* subtle light background */
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* Responsive */
@media(max-width: 767px) {
    .login-content {
        max-height: inherit;
        padding: 15px 1rem;
    }

    .logincontent .h100 {
        height: auto !important;
    }
}

/* Title */
.login-content .login-title {
    color: #1938b6;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 1rem;
}

/* Scrollbar */
.login-content::-webkit-scrollbar {
    width: 8px;
}

.login-content::-webkit-scrollbar-track {
    background: #e5e7eb;
    border-radius: 10px;
}

.login-content::-webkit-scrollbar-thumb {
    background: #4c4eaf;
    border-radius: 10px;
    transition: background 0.2s ease;
}

.login-content::-webkit-scrollbar-thumb:hover {
    background: #2a2b6b
}

/* Table Styling */
.login-content .table {
    box-shadow: rgba(99, 99, 99, 0.1) 0px 2px 8px 0px;
    width: 100%;
    margin: 1rem 0;
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background-color: #ffffff;
}

.login-content .table thead {
    background-color: #eef2ff;
    font-weight: 600;
    color: #3f33cd;
}

.login-content .table th,
.login-content .table td {
    border-top: none !important;
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 12px;
}

.login-content .table td:last-child {
    border-right: none;
}

.disclaimer h4 {
    color: #000;
    font-size: 14px;
    margin: 0
}

.disclaimer p {
    font-size: 12px;
    font-weight: 400;
}

.disclaimer span {
    color: #000;
    font-size: 12px;
}

.events {
    padding-top: 1rem;
}

.events li {
    padding: 5px 5px 10px 0;
    display: block;
    /* margin-right: 15px; */
}

/* .events li:after {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background: #000;
    left: 3px;
    top: 5px;
    transform: rotate(45deg);
    opacity: 0.5;
} */

.events li a {
    color: #f3f4f6;
    /* light gray for dark bg */
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
    padding: 2px 4px;
    /* subtle padding to make hover effect neat */
    border-radius: 4px;
}

.events li a:hover {
    color: #ffffff;
    /* bright white for contrast */
    background-color: rgba(255, 255, 255, 0.05);
    /* very subtle highlight */
}


.events .rd_link {
    /* background-color: rgb(215 229 239);
    border: 1.3px solid #4c56c0; */
    color: #ffffff !important;
    padding: 8px;
    border-radius: 20px;
    display: inline-block;
}

.events .rd_link span {
    padding-left: 8px;
}

.events .rd_link:hover {
    border-color: rgb(215 229 239);
    color: rgb(215 229 239) !important;
    background-color: #111751;
    display: inline-block !important;
}



.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
    background: rgba(255, 255, 255, 0.8);
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: #f5f5f5;
    padding: 10px 0;
    font-size: 12px;
    font-weight: normal;
}

@media (max-width: 767px) {
    .usertxt {
        font-size: 12px;
        margin-left: 10px !important;
    }
}

@media (max-width: 767px) {
    .logout {
       
        margin-top: 4px !important;
    }
}

.logout {
    width: 40px;
    height: 40px;
    background-color: #ef4444;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    color: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    position: relative;
    z-index: 10;
}

.logout:hover {
    border-color: #ef4444;
    color: #ffffff;
    background-color: #ef4444;
    box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.25), 0 2px 4px -1px rgba(239, 68, 68, 0.1);
    transform: translateY(-2px);
}

.logout:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(239, 68, 68, 0.2);
}

/* Professional SVG Logout Icon via CSS Mask */
.logout::before {
    content: "";
    width: 18px;
    height: 18px;
    
    /* Inherits the parent's color (#6b7280), and smoothly transitions to white on hover */
    background-color: currentColor; 
    
    /* Standard UI Logout Icon (Arrow leaving a box) */
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") center / contain no-repeat;
    
    /* Visual tweak: Shifts the asymmetrical icon slightly right so it looks perfectly centered in a circle */
    margin-left: 2px;
    transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media(max-width: 767px) {
    .regheader {
        background: transparent;
    }
}

.progressbar {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    overflow: hidden;
    padding: 0;
    margin: 1rem 0;
}

.progressbar li {
    list-style-type: none;
    position: relative;
    text-align: center;
    cursor: pointer;
    min-width: 0;
}

.progressbar li a {
    color: #6b7280;
    font-weight: 500;
    font-size: 14px;
    display: block;
    text-decoration: none;
    transition: color 0.3s ease;
    word-wrap: break-word;
}

.progressbar li i {
    height: 44px;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #9ca3af;
    background: #ffffff;
    border-radius: 50%;
    margin: 0 auto 10px auto;
    font-style: normal;
    border: 1px solid #e5e7eb;
    position: relative;
    z-index: 2;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.progressbar li:hover i {
    box-shadow: 0 0 12px rgba(156, 163, 175, 0.4);
    transform: translateY(-2px);
    border-color: #9ca3af;
}

/* Connecting Line */
.progressbar li:after {
    content: '';
    width: 100%;
    height: 4px;
    background: #e5e7eb;
    position: absolute;
    right: 50%;
    top: 22px;
    transform: translateY(-50%);
    z-index: 1;
    transition: all 0.3s ease;
}

.progressbar li:first-child:after {
    content: none;
}

/* Completed Step (unactive) */
.progressbar li.unactive i {
    background: linear-gradient(135deg, #4f8b34 0%, #95c846 50%, #e8f96e 100%);
    color: #ffffff;
    border-width: 1px;
    /* Thinner border circle */
    border-color: #95c846;
    /* Lighter color mapping to the gradient */
}

/* Added mild glow on hover specifically for the unactive/completed states */
.progressbar li.unactive:hover i {
    box-shadow: 0 0 12px rgba(149, 200, 70, 0.5);
    /* Mild matching green/yellow glow */
    border-color: #e8f96e;
    /* Gets even lighter on hover */
    transform: translateY(-2px);
}

.progressbar li.unactive:after {
    background: linear-gradient(90deg, #4f8b34 0%, #95c846 100%);
}

.progressbar li.unactive a {
    color: #4f8b34;
}

/* Current Step (active) */
.progressbar li.active i {
    background: linear-gradient(135deg, #4d56bf 0%, #4e47de 50%, #a5c0fc 100%);
    color: #ffffff;
    border-width: 1px;
    border-color: #46b8c8;
}

/* Added active step glow on hover */
.progressbar li.active:hover i {
    box-shadow: 0 0 12px rgba(74, 63, 207, 0.5);
    border-color: #c7d2ff;
    transform: translateY(-2px);
}

.progressbar li.active:after {
    background: linear-gradient(90deg, #e8f96e 0%, #115f72 100%);
}

.progressbar li.active a {
    color: #4c56c0;
    font-weight: 700;
}

.info_box {
    display: flex;
    padding-left: 1rem;
}

.info_box a {
    color: #4c56c0;
    padding-left: 5px;
    text-decoration: underline;
}

.blob {
    background: #ff8150;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
    height: 10px;
    width: 10px;
    transform: scale(1);
    animation: pulse-black 2s infinite;
    align-self: center;
    margin: 0 0.5rem;
    display: inline-block;
}

@keyframes pulse-black {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}


@media (max-width: 767px) {
    .progressbar li i {
        height: 32px;
        width: 32px;
        font-size: 14px;
    }

    .progressbar li a {
        font-size: 12px;
    }

    .progressbar li span {
        display: none;
    }

    .progressbar li:after {
        top: 16px;
    }
}

.btn {
    margin-bottom: 5px !important;
    z-index: 10;
}

/* =========================================================
   1. COLOR THEMES (The only differences between buttons)
   ========================================================= */

/* Primary Theme (Blue) */
.sbtn {
    --btn-bg: linear-gradient(135deg, #4c56c0 0%, #5b66d4 50%, #6c78e8 100%);
    --btn-color: #4c56c0;
    --btn-shadow: rgba(76, 86, 192, 0.15);
    --btn-shadow-hover: rgba(76, 86, 192, 0.25);
}

/* Secondary Theme (Slate) */
.sbtn1 {
    --btn-bg: linear-gradient(135deg, #556677 0%, #667788 50%, #778899 100%);
    --btn-color: #556677;
    --btn-shadow: rgba(85, 102, 119, 0.15);
    --btn-shadow-hover: rgba(85, 102, 119, 0.25);
}

/* Accent Theme (Coral/Rose) */
.sbtn2 {
    --btn-bg: linear-gradient(135deg, #fa607e 0%, #fb728c 50%, #fc849a 100%);
    --btn-color: #fa607e;
    --btn-shadow: rgba(250, 96, 126, 0.15);
    --btn-shadow-hover: rgba(250, 96, 126, 0.25);
}

/* =========================================================
   2. UNIFIED BASE STYLES (Shared completely by all)
   ========================================================= */

.sbtn, .sbtn1, .sbtn2 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    padding: 10px 32px;
    margin: 0 5px;
    border: none;
    border-radius: 30px;
    
    /* Font Styling */
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.9375rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.01em;
    text-align: center;
    white-space: nowrap;
    
    /* Colors & Effects powered by variables */
    color: #ffffff;
    background: var(--btn-bg);
    box-shadow: 0 4px 12px var(--btn-shadow), 0 2px 4px rgba(0, 0, 0, 0.05);
    
    cursor: pointer;
    overflow: hidden;
    user-select: none;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 1;
    -webkit-font-smoothing: antialiased;
}

/* Shine Effect Overlay */
.sbtn::before, .sbtn1::before, .sbtn2::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
    z-index: 1;
    pointer-events: none;
}

/* =========================================================
   3. UNIFIED STATES (Hover, Active, Focus, Disabled)
   ========================================================= */

/* Hover */
.sbtn:hover, .sbtn1:hover, .sbtn2:hover {
    transform: translateY(-3px);
    border-radius: 12px;
    box-shadow: 0 8px 20px var(--btn-shadow-hover), 0 4px 8px rgba(0, 0, 0, 0.1);
    color:white
}
.sbtn:hover::before, .sbtn1:hover::before, .sbtn2:hover::before {
    left: 100%; /* Triggers shine */
}

/* Active (Click) */
.sbtn:active, .sbtn1:active, .sbtn2:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.1s ease;
    filter: brightness(0.95);
}

/* Focus (Accessibility) */
.sbtn:focus-visible, .sbtn1:focus-visible, .sbtn2:focus-visible {
    outline: 3px solid var(--btn-color);
    outline-offset: 3px;
    box-shadow: 0 0 0 4px var(--btn-shadow);
}

/* Disabled */
.sbtn:disabled, .sbtn1:disabled, .sbtn2:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
    border-radius: 30px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
    pointer-events: none;
    filter: grayscale(0.3);
}
.sbtn:disabled::before, .sbtn1:disabled::before, .sbtn2:disabled::before {
    display: none;
}

/* =========================================================
   4. VARIANTS (Outline & Ghost automatically inherit colors)
   ========================================================= */

/* Outline */
.sbtn-outline {
    background: transparent;
    color: var(--btn-color);
    border: 2px solid var(--btn-color);
    box-shadow: none;
}
.sbtn-outline:hover {
    background: var(--btn-color);
    color: #ffffff;
}

/* Ghost */
.sbtn-ghost {
    background: transparent;
    color: var(--btn-color);
    box-shadow: none;
}
.sbtn-ghost:hover {
    background: var(--btn-shadow); /* Uses the shadow var to create a subtle tinted background */
    color: var(--btn-color);
    box-shadow: none;
    transform: translateY(-2px);
}

/* =========================================================
   5. SIZES & EXTRAS (Icons, Sizes, Groups)
   ========================================================= */

/* Sizes */
.sbtn-sm { min-width: 90px; padding: 6px 20px; font-size: 0.8125rem; border-radius: 25px; }
.sbtn-sm:hover { border-radius: 8px; }

.sbtn-lg { min-width: 150px; padding: 14px 40px; font-size: 1.0625rem; border-radius: 40px; }
.sbtn-lg:hover { border-radius: 16px; }

.sbtn-block { width: 100%; display: flex; margin: 0; }

/* Icons */
.sbtn i, .sbtn1 i, .sbtn2 i, .sbtn svg, .sbtn1 svg, .sbtn2 svg {
    margin-right: 8px; font-size: 1.1em; flex-shrink: 0; transition: transform 0.3s ease;
}
.sbtn i:only-child, .sbtn svg:only-child { margin-right: 0; }
.sbtn:hover i, .sbtn1:hover i, .sbtn2:hover i { transform: translateX(2px); }

/* =========================================================
   6. RESPONSIVE & DARK MODE
   ========================================================= */

@media (prefers-color-scheme: dark) {
    /* Slightly lighter gradients for dark mode visibility */
    .sbtn  { --btn-bg: linear-gradient(135deg, #5b66d4 0%, #6c78e8 50%, #7d89fc 100%); }
    .sbtn1 { --btn-bg: linear-gradient(135deg, #667788 0%, #778899 50%, #8899aa 100%); }
    .sbtn2 { --btn-bg: linear-gradient(135deg, #fb728c 0%, #fc849a 50%, #fd96a8 100%); }
}

@media (max-width: 640px) {
    .sbtn, .sbtn1, .sbtn2 { min-width: 100px; padding: 8px 20px; font-size: 0.875rem; }
    .sbtn-lg { min-width: 130px; padding: 12px 28px; }
}


.form-group .text-muted {
    opacity: 0.8;
    font-size: 12px;
    line-height: 1.2;
}

.imgbox_can .card {
    margin-bottom: 30px;
    border-radius: 0px;
    box-shadow: 0 2px 2px 0 rgba(85, 88, 255, 0.548), 0 3px 1px -2px rgba(0, 0, 0, 0.1), 0 1px 5px 0 rgba(0, 0, 0, 0.09);
    background: #f5f5f5;
    -webkit-transition: all 0.3s ease 0s;
    -khtml-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.imgbox_can .card:hover {
    border-radius: 16px;
}

.imgbox_can .card-title {
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 10px;
}

.imgbox_can .card-subtitle {
    font-size: 14px;
    margin-bottom: 10px;
}

.imgbox_can svg {
    width: 17px;
    height: 17px;
    fill: red
}

.custom-radio label,
.custom-checkbox label {
    padding-top: 3px;
    cursor: pointer;
}

.custom-radio .custom-control-input:disabled~label,
.custom-radio .custom-control-input[disabled]~label {
    cursor: inherit;
}

.reg-card {
    border-color: #f5f5f5;
    border-radius: 0;
}

.reg-card h6 {
    font-weight: normal;
}

.reg-card .card-header {
    font-size: 16px;
    background-color: rgba(0, 0, 0, .02);
    font-weight: 600;
}

.card-scroll {
    max-height: 340px;
    overflow: auto;
}

.card-scroll ul li {
    background-color: transparent;
}

.sortable li {
    cursor: all-scroll;
}


/********************************************************************************************************/

.w-1 {
    width: 1% !important;
}

.w-5 {
    width: 5% !important;
}

.w-6 {
    width: 6% !important;
}

.w-7 {
    width: 7% !important;
}

.w-10 {
    width: 10% !important;
}

.w-15 {
    width: 15% !important;
}

.w-20 {
    width: 20% !important;
}

.w-25 {
    width: 25% !important;
}

.w-30 {
    width: 30% !important;
}

.w-35 {
    width: 35% !important;
}

.w-40 {
    width: 40% !important;
}

.w-45 {
    width: 45% !important;
}

.w-50 {
    width: 50% !important;
}

.w-55 {
    width: 55% !important;
}

.w-60 {
    width: 60% !important;
}

.w-65 {
    width: 65% !important;
}

.w-70 {
    width: 70% !important;
}

.w-75 {
    width: 75% !important;
}

.w-80 {
    width: 80% !important;
}

.w-85 {
    width: 85% !important;
}

.w-90 {
    width: 90% !important;
}

.w-95 {
    width: 95% !important;
}

.w-100 {
    width: 100% !important;
}


/********************************************************************************************************/



.table_rwd2 {
    display: table;
    text-align: center;
    border-collapse: separate;
    width: 100%;
    /* border: #dee2e6 1px solid; */
    /* table-layout: fixed; */
    
}

.table_rwd2:has(input) {
    border: #dee2e6 1px solid;
}

.table_rwd2>.invalid-feedback {
    display: table;
    text-align: center;
    
    width: 100%;
    border: none !important;
    /* table-layout: fixed; */
    
}

.table_rwd {
    display: block;
    text-align: center;
    border-collapse: separate;
    border: #dee2e6 1px solid;
    margin: 0 auto;
     
}

.table_rwd {
    table-layout: fixed;
}

.table_row,
.theader {
    display: table-row;
}

.table_header {
    display: table-cell;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: linear-gradient(135deg, #4c56c0 0%, #5b66d4 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff;
    padding: .75rem;
    font-weight: 400;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.table_header1 {
    display: table-cell;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: linear-gradient(135deg, #5b66d4 0%, #6b78e8 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #f0f4fa;
    padding: .75rem;
    font-weight: 400;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.table_header2 {
    display: table-cell;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: linear-gradient(135deg, #6b78e8 0%, #7c8af5 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #f0f4fa;
    padding: .15rem;
    font-weight: 400;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.table_header3 {
    display: table-cell;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(135deg, #7c8af5 0%, #8e9cff 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #f5f7fc;
    padding: .10rem;
    font-weight: 400;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.table_row {
    border-bottom: #dee2e6 1px solid;
    border-right: #dee2e6 1px solid;
    border-left: #dee2e6 1px solid;
}

.table_small {
    display: table-cell;
    vertical-align: middle;
}

.table_row>.table_small>.table_cell:nth-child(odd) {
    display: none;
    background: #e9ecef;
    color: #495057;
}

.table_row>.table_small>.table_cell {
    padding: .75rem;
    color: #2a2a2b;
}

.table_small .table-cell input[type="date"]::before {
    content: attr(placeholder) !important;
}

.table_small .table-cell input[type="date"]:focus::before,
.table_small .table-cell input[type="date"]:valid::before {
    content: "";
}

.total_exp_from_to_date {
    margin-bottom: 15px;
}

.total_exp_from_lbl,
.total_exp_to_lbl {
    text-align: center;
}

.table_row:nth-child(2n+3) {
    background: rgba(0, 0, 0, .03);
}

@media screen and (max-width: 767px) {
    .table_rwd {
        display: block;
    }

    .table_row:nth-child(2n+3) {
        background: none;
    }

    .theader {
        display: none;
    }

    .table_row>.table_small>.table_cell:nth-child(odd) {
        display: table-cell;
        width: 50%;
    }

    .table_cell {
        display: table-cell;
        width: 50%;
    }

    .table_row>.table_small>.table_cell {
        border-bottom: #dee2e6 1px solid;
    }

    .table_row {
        display: table;
        width: 100%;
        border-collapse: separate;
        padding-bottom: 20px;
        text-align: center;
    }

    .table_small {
        display: table-row;
    }

    .table_row>.table_small:first-child>.table_cell:last-child {
        border-left: none;
    }

    .table_row>.table_small>.table_cell:first-child {
        border-left: #dee2e6 1px solid;
    }

    .table_row>.table_small:first-child>.table_cell:first-child {
        border-top: #dee2e6 1px solid;
    }

    .table_row>.table_small:first-child>.table_cell:last-child {
        border-top: #dee2e6 1px solid;
    }

    .table_row>.table_small:last-child>.table_cell:first-child {
        border-right: none;
    }

    .table_row>.table_small>.table_cell:last-child {
        border-right: #dee2e6 1px solid;
    }
}

.nav-tabs {
    background: #f0f0f0;
}

.nav-tabs .nav-link {
    border-radius: 0;
    font-size: 14px;
    padding: 15px;
}

.notvisited {
    pointer-events: none;
    color: #fa607e !important ;
}

.tabvisited {
    color: #ffffff ;
    background: #ffffff;
}

.watermark {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    opacity: 0.1;
}

.spacer {
    text-align: center;
}

.spacer .er_alert1 {
    width: 100%;
    font-weight: bold;
    color: #eb462c
}



/* Shanmugam changes on adding border for all the form */

/* navbar_tabs */
/*
.equal-exp {
    border-left: 1px solid #8b8b8b;
    border-right: 1px solid #8b8b8b;
} 

.mctabs {
    background-color: #f8f9fa;
    border-bottom: none !important; */
/* box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px; */
/* border-radius: 10px; */
/* padding: 0.5rem; */
/* }

.mctabs .nav-item {
    background-color: #fff;
    /* border-bottom: 2px solid #a3a1a1 ; */
/* } */
/*
.mctabs .nav-item .nav-link {
    border: none !important;
    font-weight: 600;
    padding: 0px 5px 5px 5px;
    margin: 0 30px;
}

.mctabs .nav-item .nav-link.active {
    background-color: #ffffff;
    color: #198754;
    font-weight: 600;
    /* border-radius: 10px; */
/*  border-bottom: 2.5px solid #198754 !important;
}  */

/* shanthakumar undo the css for innertab - START */
.mctabs {
    background-color: #ffffff;
    border-bottom: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
    border-radius: 12px;
    padding: 0.375rem 0.5rem;
    display: flex;
    gap: 0.5rem;
    border: 1px solid #f3f4f6;
    flex-wrap: wrap;
  
    /* Horizontal Centering */
    width: 50vw;
    max-width: 80vw;
    margin: 0 auto; /* Centers the container itself */
    justify-content: center; /* Centers the tabs inside the container */
}

.mctabs .nav-item {
    background-color: transparent;
}

.mctabs .nav-item .nav-link {
    border: none !important;
    font-weight: 500;
    font-size: 14px;
    color: #6b7280;
    padding: 0.5rem 1.25rem;
    border-radius: 8px;
    transition: all 0.3s ease;
    background-color: transparent;
    /* Ensure the text centers properly inside the tab */
    text-align: center; 
}

.mctabs .nav-item .nav-link:hover:not(.active) {
    color: #374151;
    background-color: #f9fafb;
}

.mctabs .nav-item .nav-link.active {
    background-color: rgba(76, 86, 192, 0.08);
    color: #4c56c0;
    font-weight: 600;
    border-radius: 8px;
    box-shadow: 0 4px 6px -1px rgba(76, 86, 192, 0.25);
}

.mctabs .nav-item .nav-link.completed,
.mctabs .nav-item .nav-link.unactive,
.mctabs .nav-item .nav-link.tabvisited {
    color: #4b5563 !important;
    font-weight: 600;
    border-radius: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%234f8b34'/%3E%3Cstop offset='50%25' stop-color='%2395c846'/%3E%3Cstop offset='100%25' stop-color='%23e8f96e'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='12' cy='12' r='12' fill='url(%23grad)'/%3E%3Cpath d='M7 12.5l3.5 3.5 7-7' stroke='%23ffffff' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 20px 20px;
    padding-right: 45px; 
}

/* =========================================
   MOBILE RESPONSIVE STYLES
   ========================================= */
@media (max-width: 768px) {
    .mctabs {
        width: 95vw; /* Increases width on small screens so tabs aren't squished */
        max-width: 100%;
        gap: 0.35rem; /* Reduces gap slightly */
        padding: 0.5rem;
    }

    .mctabs .nav-item {
        /* Allows tabs to grow and fill empty space evenly if desired */
        flex: 1 1 auto; 
    }

    .mctabs .nav-item .nav-link {
        font-size: 13px; /* Slightly smaller font */
        padding: 0.4rem 0.75rem; /* Reduced padding to fit more tabs */
        width: 100%; /* Ensures click area covers the whole flex item */
        display: block;
    }

    .mctabs .nav-item .nav-link.completed,
    .mctabs .nav-item .nav-link.unactive,
    .mctabs .nav-item .nav-link.tabvisited {
        padding-right: 35px; /* Adjust padding for the checkmark */
        background-position: right 10px center; /* Moves checkmark closer to text */
        background-size: 16px 16px; /* Slightly smaller checkmark */
    }
}
/* shanthakumar undo the css for innertab - END */

/* Basic_Details */

.image_form,
.basic_details_form,
#regtbl1 .card,
.add_row .card,
#regtbl2 .card {
    background-color: #fff;
    padding: 1rem;
    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.08),
        /* subtle base shadow */
        0 4px 12px rgba(0, 0, 0, 0.12);
    /* soft depth */
    border-radius: 10px;
}

#regtbl1 .card .form-group,
.image_form .form-group,
.basic_details_form .form-group {
    padding: 0.5rem 1rem;
}

.image_form h1,
.basic_details_form h1 {
    font-weight: 500 !important;
    font-size: 28px !important;
}

.regheader .navbar {
    background-color: #ffffff;
    /* pure white left side */
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    /* subtle depth */
}

/* Elegant professional grid pattern on the right fading into transparent towards the left */
.regheader .navbar::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
    /* Architectural grid layout using subtle brand colors */
    background-image:
        linear-gradient(rgba(76, 86, 192, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(76, 86, 192, 0.06) 1px, transparent 1px),
        linear-gradient(rgba(76, 86, 192, 0.04) 2px, transparent 2px),
        linear-gradient(90deg, rgba(76, 86, 192, 0.04) 2px, transparent 2px);
    background-size: 16px 16px, 16px 16px, 64px 64px, 64px 64px;
    background-position: right top;
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}

.reg_container #menu .progressbar {
    background-color: transparent;
    padding: 0.8rem 1rem;
    /* Slightly more rounded for a modern feel */
    border-radius: 12px;
    border: none;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease;
}

@media (max-width: 768px) {
    .reg_container #menu .progressbar {
        padding: 0.4rem 0.5rem !important; /* Reduced padding for mobile */
        margin: 0.14rem 0 !important; 
    }
}

/* Optional: Subtle lift on hover */
/* .reg_container #menu .progressbar:hover {
    transform: translateY(-2px);
} */

.basic_details_form .form-row .form-group .basicdetails_data {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.3rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #939191;
    background-color: #fff;
    background-clip: padding-box;
    border-bottom: 1px solid #ced4da;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* reg_details_css */

/* .reg_form_form .card{
    background-color: transparent !important;
} */

/* Desktop / Default Title View */
.reg_form_form .card-header {
    background-color: transparent !important;
    border-bottom: none !important;
    
    /* Typography improvements for a "Title" look */
    font-weight: 600 !important; 
    font-size: 28px !important;
    
    /* Changed to white/light gray because your theme background is very dark */
   
    letter-spacing: -0.02em !important;
    
    /* Spacing & Positioning for the underline */
    position: relative;
    padding-left:0.5rem !important;
    padding-bottom: 0rem !important;
 
}

/* Mild Gradient Underline using Theme Colors (Indigo to Cyan to Transparent) */


/* Mobile View */
@media (max-width: 768px) {
    .reg_form_form .card-header {
        font-size: 22px !important; 
        
        margin-bottom: 2px !important;
    }
    
    /* Shrink the underline slightly on mobile */
    .reg_form_form .card-header::after {
        width: 60px;
        height: 2px;
    }
}

.reg_det_section {
    /* box-shadow: rgba(76, 73, 253, 0.582) 0px 2px 8px 0px; */
    border: 1px solid #ced4da;
    margin-bottom: 1rem;
    border-radius: 10px;
    padding: 1rem 0;
}

.reg_det_section .form-group {
    margin-bottom: 0px !important;
    padding-bottom: 1rem;
}

/* Add Button */
.add_del_row .btn.add {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    color: #ffffff;
    background: linear-gradient(135deg, #4c56c0 0%, #5b66d4 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(76, 86, 192, 0.2);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.add_del_row .btn.add::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.add_del_row .btn.add:hover {
    background: linear-gradient(135deg, #0062cc 0%, #1a72dc 100%);
    transform: translateY(-2px);
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(0, 98, 204, 0.25);
}

.add_del_row .btn.add:hover::before {
    left: 100%;
}

.add_del_row .btn.add:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 98, 204, 0.2);
    filter: brightness(0.95);
    transition: all 0.1s ease;
}

.add_del_row .btn.add:focus-visible {
    outline: 3px solid #4c56c0;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(76, 86, 192, 0.2);
}

.add_del_row .btn.add:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    pointer-events: none;
    filter: grayscale(0.3);
}

/* Remove Button */
.btn.btn_remove {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    color: #ffffff;
    background: linear-gradient(135deg, #dc3545 0%, #e84555 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn.btn_remove::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.btn.btn_remove:hover {
    background: linear-gradient(135deg, #c82333 0%, #d83343 100%);
    transform: translateY(-2px);
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(220, 53, 69, 0.25);
}

.btn.btn_remove:hover::before {
    left: 100%;
}

.btn.btn_remove:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
    filter: brightness(0.95);
    transition: all 0.1s ease;
}

.btn.btn_remove:focus-visible {
    outline: 3px solid #dc3545;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.2);
}

.btn.btn_remove:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    pointer-events: none;
    filter: grayscale(0.3);
}

/* Icon Support */
.add_del_row .btn.add i,
.add_del_row .btn.add svg,
.btn.btn_remove i,
.btn.btn_remove svg {
    margin-right: 6px;
    font-size: 14px;
}

.add_del_row .btn.add i:only-child,
.add_del_row .btn.add svg:only-child,
.btn.btn_remove i:only-child,
.btn.btn_remove svg:only-child {
    margin-right: 0;
}

/* .basic_details_form .form-group .input-group .input-group-prepend .input-group-text{
    background-color: #4c56c0;
    color: #fff;
}

.basic_details_form .form-group .input-group .input-group-prepend .input-group-text .bi{
    color: #fff;
} */
.as_on_age_main {
    display: inline-flex;
    box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
    border-radius: 20px;
}

.as_on_age_main .col-form-label {
    align-self: center;
    padding-left: 10px;
}

.as_on_age_val {
    padding: 5px;
}

.as_on_age_val .text-danger .age-style {
    width: 33px;
    font-size: 15px;
    line-height: 2.0;
    text-align: center;
    border-radius: 50px;
    background-color: #4c56c0;
    color: #fff !important;
}

.form-control.valid_error {
    background-color: #fbd3d6 !important;
    border: 1px solid #dc3545 !important;
}

.custom-select.valid_error {
    background-color: #fbd3d6 !important;
    border: 1px solid #dc3545 !important;
    margin-bottom: 10px;
}

.form-control.valid_error_ic {
    background-color: #ffe0be !important;
    border: 1px solid #e37500 !important;
}

.custom-select.valid_error_ic {
    background-color: #ffe0be !important;
    border: 1px solid #e37500 !important;
    margin-bottom: 10px;
}

.text-note {
    /*color: #4c56c0; */
    color: #2a1bbd;
    /* font-weight: bold !important; */
    font-size: 15px !important;
    text-align: justify;
}

.text-note-small {
    /*color: #4c56c0; */
    /* color: #2a1bbd; */
    /* font-weight: bold !important; */

    font-family: 'Inter 18pt', sans-serif;
    padding: 0.5rem;
    border-radius: 3px;
    /* font-size: 14px; */
    font-size: 12px;
    line-height: normal;
    letter-spacing: normal;
    overflow-x: hidden;
    font-weight: 400;
    /* font-size: 85% !important; */
    text-align: justify;
    color: #155724;
    background-color: #c4df8c;
    border-color: #c3e6cb;
}



.details_innertab {
    justify-content: center;
    width: 50%;
}

@media(min-width: 998px) {
    .reg_det_section .side_border {
        border-left: 1px solid #ced4da;
        border-right: 1px solid #ced4da;
    }
}


/* education_details css */

/* Base Button */
.work_exp_btn .btn {
    z-index: 0;
}

/* Add Button */
.work_exp_btn .btn.add {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    color: #ffffff;
    background: linear-gradient(135deg, #4c56c0 0%, #5b66d4 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(76, 86, 192, 0.2);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.work_exp_btn .btn.add::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.work_exp_btn .btn.add:hover {
    background: linear-gradient(135deg, #0062cc 0%, #1a72dc 100%);
    transform: translateY(-2px);
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(0, 98, 204, 0.25);
}

.work_exp_btn .btn.add:hover::before {
    left: 100%;
}

.work_exp_btn .btn.add:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 98, 204, 0.2);
    filter: brightness(0.95);
    transition: all 0.1s ease;
}

.work_exp_btn .btn.add:focus-visible {
    outline: 3px solid #4c56c0;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(76, 86, 192, 0.2);
}

.work_exp_btn .btn.add:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    pointer-events: none;
    filter: grayscale(0.3);
}

/* Remove Button */
.btn.btn_remove {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    color: #ffffff;
    background: linear-gradient(135deg, #dc3545 0%, #e84555 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn.btn_remove::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.btn.btn_remove:hover {
    background: linear-gradient(135deg, #c82333 0%, #d83343 100%);
    transform: translateY(-2px);
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(220, 53, 69, 0.25);
}

.btn.btn_remove:hover::before {
    left: 100%;
}

.btn.btn_remove:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
    filter: brightness(0.95);
    transition: all 0.1s ease;
}

.btn.btn_remove:focus-visible {
    outline: 3px solid #dc3545;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.2);
}

.btn.btn_remove:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    pointer-events: none;
    filter: grayscale(0.3);
}

/* Icon Support */
.work_exp_btn .btn.add i,
.work_exp_btn .btn.add svg,
.btn.btn_remove i,
.btn.btn_remove svg {
    margin-right: 6px;
    font-size: 14px;
}

.work_exp_btn .btn.add i:only-child,
.work_exp_btn .btn.add svg:only-child,
.btn.btn_remove i:only-child,
.btn.btn_remove svg:only-child {
    margin-right: 0;
}

/* Preference Instructions */

.preference_instructions .card .card-header {
    background-color: #4c56c0;
    color: #fff;
    font-weight: 600;
    text-align: center;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    padding: 1rem;
    border-bottom: none;
}

.preference_instructions .card .card-body {
    background-color: #ffffff;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
    padding: 1.5rem;
}

.preference_instructions .card {
    border-radius: 16px;
    background-color: #ffffff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    cursor: default;
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
    margin-bottom: 2rem;
}

.preference_instructions .card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

/* work exprience army css */


@media(min-width: 768px) {
    .work_exp_period_main {
        display: grid;
        padding: 15px 0 !important;
    }

    .work_exp_period_title {
        padding-bottom: 15px;
        border-bottom: #efefef 2.5px solid;
    }

    .work_exp_period_date {
        display: flex;
        padding-top: 15px;
    }

    .work_exp_period_fromdate,
    .work_exp_period_todate {
        width: 50%;
        text-align: center;
    }


    .armed_forces_date .table_row .table_small .date,
    .paramilitary_date .table_row .table_small .date,
    .police_date .table_row .table_small .date {
        display: none;
    }

}

@media(max-width: 768px) {
    .work_exp_period_date {
        display: none;
    }
}

.custom-breadcrumbs {
    font-weight: 500;
    font-size: 12px !important;
    /* text-decoration: underline; */
    text-underline-offset: 5px;
    border-radius: 50px !important;
    border: 1px solid !important;
    padding: 3px 5px !important;
}

.custom-breadcrumbs:hover {
    background-color: #4c56c0 !important;
    color: #fff;

}


@media(max-width:600px) {
    .custom-age {
        flex-direction: column;
    }


}

.custom-age {
    display: flex;
}



.custom-age-label {
    flex: 1 1 0;
}

/* Custom Select Modernization */
.custom-select {
    display: block;
    width: 100%;
    padding: 0.5rem 2.25rem 0.5rem 1rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #4b5563;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234b5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.custom-select:focus {
    border-color: #4c56c0;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(76, 86, 192, 0.15);
}

.custom-select:hover {
    border-color: #9ca3af;
}

.custom-select:disabled {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
    opacity: 1;
}

/* Login Header Enhancements */
.loginheader .navbar {
    background-color: #eef2ff !important;
    /* Blue pastel background overridden cleanly */
    border-bottom: 1px solid #e0e7ff;
}

.loginheader .navbar-brand {
    background-color: #ffffff;
    position: relative;
    z-index: 10;
    padding: 0.5rem 1.5rem;
   
    margin: 0;
    /* Use drop-shadow filter to trace the exact outline of the parent + pseudo-element as one cohesive shape */
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.05));
    transition: filter 0.3s ease;
}

/* Ensure the slanted extension also sits cleanly above background patterns */
.loginheader .navbar-brand::after {
    z-index: 10;
}

/* Modernized Bootstrap Modal UI */
.modal-content {
    border: none;
    border-radius: 16px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.modal-header {
    background-color: #f8fafc;
    border-bottom: 1px solid #f1f5f9;
    border-radius: 16px 16px 0 0;
    padding: 1.25rem 1.5rem;
}

.modal-title {
    font-weight: 600;
    color: #1e293b;
    font-size: 1.25rem;
}

.modal-body {
    padding: 1.5rem;
    color: #475569;
}

.modal-footer {
    border-top: 1px solid #f1f5f9;
    padding: 1rem 1.5rem;
    background-color: #f8fafc;
    border-radius: 0 0 16px 16px;
}

.modal-backdrop {
    background-color: #0f172a;
}

.modal-backdrop.show {
    opacity: 0.6;
}


/* .btn-primary {
    background-color: #ff5722;
    border-color: #ff5722;
}

.btn-primary:hover {
    background-color: #e64a19;
    border-color: #e64a19;
} */



/* 1. Elegant Inputs (Complimenting the Green-Lime Gradient) */
.dynamic-valid-input {
    border: 1px solid #a4d658 !important; /* Soft lime-green border */
    background-color: #f7fceb !important; /* Extremely pale, warm green tint */
    color: #3b6b19 !important; /* Dark green text for readability & harmony */
    padding-right: 35px !important;
    
    /* Custom SVG Checkmark perfectly matched to the darker green in your gradient */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2376c039'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 18px 18px !important;
    
    transition: all 0.3s ease-in-out !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
}

/* Elegant glow when the valid field is clicked/focused */
.dynamic-valid-input:focus {
    box-shadow: 0 0 0 3px rgba(118, 192, 57, 0.25) !important; /* Soft green glow */
    border-color: #76c039 !important;
    outline: none !important;
}

/* 2. Checkbox Wrappers - With full styling */
.dynamic-valid-wrapper:has(input[type="checkbox"]) {
    /* background-color: #f7fceb !important;
    border: 1px solid #bce07d !important; */
    border-radius: 6px !important; 
    padding: 6px 14px !important; 
    padding-right: 36px !important; 
    position: relative;
    display: inline-flex !important; 
    align-items: center;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
    transition: all 0.3s ease-in-out !important;
     margin-left: 10px !important;
}

/* Checkmark for checkboxes */
.dynamic-valid-wrapper:has(input[type="checkbox"])::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2376c039'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
   
}

/* 3. Radio Wrappers - No background, no border, just the checkmark */
.dynamic-valid-wrapper:has(input[type="radio"]) {
  background: none !important;
    border: none !important;
    box-shadow: none !important;
    /* padding: 6px 0 !important; */
    padding-right: 24px !important;
    padding-left: 14px !important;
    position: relative;
    display: inline-flex !important; 
    align-items: center;
    margin-left: 10px !important;
    
}

/* Just the checkmark for radio buttons - no background/border */
.dynamic-valid-wrapper:has(input[type="radio"])::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2376c039'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    

}

/* .dynamic-valid-wrapper.custom-control-input:checked~.custom-control-label::after {
    color: #fff;
    border-color: #4cc07e;
    background-color: #4cc07e;
} */


/* Minimal SweetAlert overrides */
.minimal-swal-popup {
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

.minimal-swal-title {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #1f2937 !important;
    padding-top: 0.5rem !important;
}

.minimal-swal-icon {
    /* Use transform to shrink the icon safely without breaking its internal CSS drawing */
    transform: scale(0.65) !important; 
    
    /* Adjust margins to compensate for the scaled size */
    margin: 1rem auto 0 auto !important;
    
    /* REMOVE width, height, and font-size */
}

.minimal-swal-content {
    color: #4b5563 !important;
    
    line-height: 1.4 !important;
    font-weight: 600;
}

/* Gradient button styling */
.minimal-swal-button {
    background: linear-gradient(135deg, #4c56c0 0%, #5b66d4 100%) !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.875rem !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    border: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(76, 86, 192, 0.2) !important;
}

.minimal-swal-button:hover {
    transform: translateY(-1px) !important;
    background: linear-gradient(135deg, #5b66d4 0%, #6b77e8 100%) !important;
    box-shadow: 0 4px 8px rgba(76, 86, 192, 0.3) !important;
}

.minimal-swal-button:active {
    transform: translateY(0px) !important;
}

.minimal-swal-button-cancel {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%) !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.875rem !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    border: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2) !important;
}

.minimal-swal-button-cancel:hover {
    transform: translateY(-1px) !important;
    background: linear-gradient(135deg, #ef4444 0%, #f87171 100%) !important;
    box-shadow: 0 4px 8px rgba(220, 38, 38, 0.3) !important;
}

.minimal-swal-button-cancel:active {
    transform: translateY(0px) !important;
}

/* For even more minimal look on mobile */
@media (max-width: 640px) {
    .minimal-swal-popup {
        width: 90% !important;
        border-radius: 8px !important;
    }
    
    .minimal-swal-title {
        font-size: 1rem !important;
    }
    
    .minimal-swal-content {
        font-size: 0.85rem !important;
        
    }
    
    .minimal-swal-button,.minimal-swal-button-cancel {
        padding: 0.5rem 0.875rem !important;
    }
}



/* 1. Elegant Inputs (Complimenting the Green-Lime Gradient) */
.dynamic-valid-input_edu {
    border: 1px solid #a4d658 !important; /* Soft lime-green border */
    background-color: #f7fceb !important; /* Extremely pale, warm green tint */
    color: #3b6b19 !important; /* Dark green text for readability & harmony */
    padding-right: 35px !important; /* This prevents normal text from overlapping the tick */
    
    /* Custom SVG Checkmark perfectly matched to the darker green in your gradient */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2376c039'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 18px 18px !important;
    
    transition: all 0.3s ease-in-out !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
}

/* Elegant glow when the valid field is clicked/focused */
.dynamic-valid-input_edu:focus {
    box-shadow: 0 0 0 3px rgba(118, 192, 57, 0.25) !important; /* Soft green glow */
    border-color: #76c039 !important;
    outline: none !important;
}

/* ---------------------------------------------------
   UX FIX: Remove tick for overlapping fields 
   - Classes containing "yr"
   - Select dropdowns
   - Any input with "no-tick_edu"
------------------------------------------------------*/
.dynamic-valid-input_edu.no-tick_edu,
.dynamic-valid-input_edu[id*="txtserviceyr"], /* Automatically removes tick for any ID containing "yr" (Year) */
.dynamic-valid-input_edu[id*="txtservicemn"], /* Automatically removes tick for any ID containing "mn" (Month) */
.dynamic-valid-input_edu[id*="txtxtservicedy"], /* Automatically removes tick for any ID containing "dy" (Day) */
select.dynamic-valid-input_edu {
    background-image: none !important;
    padding-right: 14px !important; /* Reset padding back to normal so narrow fields aren't squished */
}

/* 2 & 3. Radio & Checkbox Wrappers - No background, no border, just the checkmark */
.dynamic-valid-wrapper_edu:has(input[type="radio"]),
.dynamic-valid-wrapper_edu:has(input[type="checkbox"]) {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding-right: 24px !important;
    padding-left: 14px !important;
    position: relative;
    display: inline-flex !important; 
    align-items: center;
    margin-left: 10px !important;
}

/* Just the checkmark for radio buttons and checkboxes - no background/border */
.dynamic-valid-wrapper_edu:has(input[type="radio"])::after{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2376c039'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}


.dynamic-valid-wrapper_edu:has(input[type="checkbox"])::after {
    content: '';
    position: absolute;
    right: 0;
    top: 80%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2376c039'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}


/* ---------------------------------------------------
   UX FIX: Remove tick for overlapping fields 
   - Classes containing "yr"
   - Select dropdowns
   - Any input with "no-tick_edu"
------------------------------------------------------*/
.dynamic-valid-input_edu.no-tick_edu,
.dynamic-valid-input_edu[id*="txtserviceyr"], /* Automatically removes tick for any ID containing "yr" (Year) */
.dynamic-valid-input_edu[id*="txtservicemn"], /* Automatically removes tick for any ID containing "mn" (Month) */
.dynamic-valid-input_edu[id*="txtservicedy"], /* Automatically removes tick for any ID containing "dy" (Day) */
select.dynamic-valid-input_edu {
    background-image: none !important;
    padding-right: 14px !important; /* Reset padding back to normal so narrow fields aren't squished */
}




/* --- NEW REST STATE (Pill Shaped) --- */
.info_box_new {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #eff3fa; 
    border: 1px solid #b9cbed; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.04); 
    padding: 8px 20px; /* Increased left/right padding slightly for a better pill look */
    border-radius: 50px; /* CHANGED: Makes it pill-shaped */
    transition: all 0.3s ease;
    margin-left: 1.5rem;
}

/* --- NEW HOVER STATE --- */
.info_box_new:hover {
    background-color: #e4ecf7; 
    border-color: #a3bde6; 
    box-shadow: 0 6px 12px rgba(67, 91, 223, 0.12); 
    transform: translateY(-2px); 
    cursor: pointer;
}

/* Styling and animating the orange dot (Unchanged) */
.info_box_new .blob {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ff764c; 
    box-shadow: 0 0 0 0 rgba(255, 118, 76, 0.7);
    animation: pulse-orange 2s infinite; 
}


/* Keyframes for the dot pulse animation */
@keyframes pulse-orange {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 118, 76, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(255, 118, 76, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 118, 76, 0); }
}



/* --- NEW REST STATE (Pill Shaped) --- */
/* --- Base State (Desktop/Tablet) --- */
.info_box_note {
    display: inline-flex;
    align-items: center; /* Centers dot vertically on single line */
    gap: 10px;
    background-color: #eff3fa; 
    border: 1px solid #b9cbed; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.04); 
    padding: 8px 20px; 
    border-radius: 50px; 
    transition: all 0.3s ease;
    font-size: 14px; /* Ensure a base font size */
    color: #435bdf;
}

/* --- Prevent Blob from Squeezing --- */
.info_box_note .blob {
    flex-shrink: 0; /* CHANGED: This stops the dot from becoming an oval */
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

/* --- Mobile View Adjustments --- */
@media (max-width: 768px) {
    .info_box_note {
        align-items: flex-start; /* Aligns dot to the top line instead of middle */
        padding: 12px 16px; /* Slightly thicker top/bottom padding for multi-line readability */
        border-radius: 16px; /* CHANGED: Prevents the "egg" shape when text wraps to multiple lines */
        line-height: 1.5; /* Adds breathing room between lines of text */
    }

    .info_box_note .blob {
        margin-top: 6px; /* Pushes the dot down slightly to perfectly center it with the first line of text */
    }
}


.info_box_note_green {
    display: inline-flex;
    align-items: center; /* Centers dot vertically on single line */
    gap: 10px;
    background-color: #f7fceb !important;
    border: 1px solid #b9edbc; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.04); 
    padding: 8px 20px; 
    border-radius: 5px; 
    transition: all 0.3s ease;
    font-size: 14px; /* Ensure a base font size */
    color: #185822;
    margin-left: 1rem;
    margin-right: 1rem;
}

/* --- Prevent Blob from Squeezing --- */
.info_box_note_green .blob {
    flex-shrink: 0; /* CHANGED: This stops the dot from becoming an oval */
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

/* --- Mobile View Adjustments --- */
@media (max-width: 768px) {
    .info_box_note_green {
        align-items: flex-start; /* Aligns dot to the top line instead of middle */
        padding: 12px 16px; /* Slightly thicker top/bottom padding for multi-line readability */
        border-radius: 5px; /* CHANGED: Prevents the "egg" shape when text wraps to multiple lines */
        line-height: 1.5; /* Adds breathing room between lines of text */
    }

    .info_box_note_green .blob {
        margin-top: 6px; /* Pushes the dot down slightly to perfectly center it with the first line of text */
    }
}






/* --- NEW REST STATE (Pill Shaped) --- */
.info_box_new_doc {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #eff3fa; 
    border: 1px solid #b9cbed; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.04); 
    padding: 8px 20px; /* Increased left/right padding slightly for a better pill look */
    border-radius: 50px; /* CHANGED: Makes it pill-shaped */
    transition: all 0.3s ease;
    margin-top:1rem;
}

/* --- NEW HOVER STATE --- */
.info_box_new_doc:hover {
    background-color: #e4ecf7; 
    border-color: #a3bde6; 
    box-shadow: 0 6px 12px rgba(67, 91, 223, 0.12); 
    transform: translateY(-2px); 
    cursor: pointer;
}

/* Styling and animating the orange dot (Unchanged) */
.info_box_new_doc .blob {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ff764c; 
    box-shadow: 0 0 0 0 rgba(255, 118, 76, 0.7);
    animation: pulse-orange 2s infinite; 
}


/* Keyframes for the dot pulse animation */
@keyframes pulse-orange {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 118, 76, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(255, 118, 76, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 118, 76, 0); }
}


	/* Visually force uppercase as the user types */
input[type="text"], 
input:not([type]), /* Catches inputs missing the type attribute */
textarea {
    text-transform: uppercase;
}

/* Optional: Exclude specific fields if you give them a class of 'no-uppercase' */
.no-uppercase {
    text-transform: none !important;
}

body.swal2-shown {
    overflow-y: auto !important;
    padding-right: 0 !important;
}