/* ==========================================================================
   Recruitment Portal - Premium Executive Modern UI/UX Stylesheet
   Design Philosophy:
   - Premium Government / Modern Enterprise Recruitment Portal
   - Elegant Navy Blue (#1e3a8a & #2563eb), Slate (#0f172a), and Clean White (#ffffff)
   - Soft Ambient Elevation & Subtle Glass / Card Shadows
   - 100% Non-destructive: preserves all ASP.NET controls, IDs, postbacks, & validation
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --rp-font-primary: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --rp-navy-900: #0f172a;
    --rp-navy-800: #1e293b;
    --rp-navy-700: #1e3a8a;
    --rp-navy-600: #1d4ed8;
    --rp-blue-500: #2563eb;
    --rp-blue-400: #3b82f6;
    --rp-blue-100: #dbeafe;
    --rp-blue-50:  #eff6ff;
    
    --rp-slate-50:  #f8fafc;
    --rp-slate-100: #f1f5f9;
    --rp-slate-200: #e2e8f0;
    --rp-slate-300: #cbd5e1;
    --rp-slate-400: #94a3b8;
    --rp-slate-500: #64748b;
    --rp-slate-600: #475569;
    --rp-slate-700: #334155;
    
    --rp-white: #ffffff;
    --rp-page-bg: #f8fafc;
    
    --rp-danger-600: #dc2626;
    --rp-danger-100: #fee2e2;
    --rp-danger-50:  #fef2f2;
    
    --rp-success-600: #16a34a;
    --rp-success-50:  #f0fdf4;
    
    --rp-radius-sm: 6px;
    --rp-radius-md: 10px;
    --rp-radius-lg: 16px;
    
    --rp-shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, 0.05);
    --rp-shadow-sm: 0 2px 6px 0 rgba(15, 23, 42, 0.06);
    --rp-shadow-md: 0 8px 20px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.03);
    --rp-shadow-lg: 0 16px 32px -4px rgba(15, 23, 42, 0.1), 0 6px 12px -6px rgba(15, 23, 42, 0.05);
    --rp-shadow-xl: 0 24px 48px -12px rgba(15, 23, 42, 0.14);
}

/* --------------------------------------------------------------------------
   1. Global Page Foundation & Overrides
   -------------------------------------------------------------------------- */
html, body {
    background-color: var(--rp-page-bg) !important;
    background-image: none !important;
    color: var(--rp-navy-800) !important;
    font-family: var(--rp-font-primary) !important;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Override outdated inline font declarations */
body, table, td, th, p, span, div, a, label, input, select, textarea, button {
    font-family: var(--rp-font-primary) !important;
}

/* Remove all harsh legacy borders & horizontal rules */
table[style*="border: 1px solid brown"],
table.LabelStyle[style*="border: 1px solid brown"],
td[style*="border: 1px solid brown"] {
    border: none !important;
}

hr {
    border: none !important;
    border-top: 1px solid var(--rp-slate-200) !important;
    height: 1px !important;
    margin: 18px 0 !important;
    opacity: 1 !important;
}

/* Master container styling */
.recruitment-portal,
#divland.container {
    width: calc(100% - 32px) !important;
    max-width: 1240px !important;
    margin: 20px auto 40px !important;
    padding: 32px !important;
    background: var(--rp-white) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-lg) !important;
    box-shadow: var(--rp-shadow-md) !important;
    box-sizing: border-box !important;
}

.recruitment-portal *,
.recruitment-portal *::before,
.recruitment-portal *::after {
    box-sizing: border-box;
}

/* Universal responsive image handling */
.recruitment-portal img,
#divland img,
img[src*="logo"] {
    max-width: 100% !important;
    height: auto !important;
}

/* Clean, modern link styling (applied only to standard text links, not buttons/badges) */
.recruitment-portal a:not([class*="btn"]):not([id*="lnkApp"]):not([id*="lnkDownload"]):not([id*="btn"]):not([class*="badge"]),
#divland a:not([class*="btn"]):not([id*="lnkApp"]):not([id*="lnkDownload"]):not([id*="btn"]):not([class*="badge"]) {
    color: var(--rp-blue-500);
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.recruitment-portal a:not([class*="btn"]):not([id*="lnkApp"]):not([id*="lnkDownload"]):not([id*="btn"]):not([class*="badge"]):hover,
#divland a:not([class*="btn"]):not([id*="lnkApp"]):not([id*="lnkDownload"]):not([id*="btn"]):not([class*="badge"]):hover {
    color: var(--rp-navy-700);
    text-decoration: underline;
}

/* --------------------------------------------------------------------------
   2. Modern Accessibility & Utility Toolbar
   -------------------------------------------------------------------------- */
.recruitment-portal .social-top,
#divland .social-top {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 10px 18px !important;
    background: var(--rp-slate-50) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-md) !important;
    box-shadow: var(--rp-shadow-xs) !important;
}

.recruitment-portal .main-social-head > br,
.recruitment-portal > br:first-child {
    display: none !important;
}

.recruitment-portal .main-social-head ul,
#divland .main-social-head ul {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.recruitment-portal .main-social-head li,
#divland .main-social-head li {
    padding-left: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: var(--rp-slate-700) !important;
}

/* Color scheme dots */
.recruitment-portal .colorschemesize,
#divland .colorschemesize {
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    border: 2px solid var(--rp-white) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 1.5px var(--rp-slate-400) !important;
    cursor: pointer !important;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease !important;
}

.recruitment-portal .colorschemesize:hover,
#divland .colorschemesize:hover {
    transform: scale(1.2) !important;
    box-shadow: 0 0 0 2.5px var(--rp-navy-700) !important;
}

/* Font size buttons */
.recruitment-portal .main-social-head a[class*="font-"],
#divland .main-social-head a[class*="font-"],
.recruitment-portal .main-social-head a[href*="reload"],
#divland .main-social-head a[href*="reload"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 30px !important;
    padding: 2px 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--rp-navy-700) !important;
    background: var(--rp-white) !important;
    border: 1px solid var(--rp-slate-300) !important;
    border-radius: var(--rp-radius-sm) !important;
    box-shadow: var(--rp-shadow-xs) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.recruitment-portal .main-social-head a[class*="font-"]:hover,
#divland .main-social-head a[class*="font-"]:hover,
.recruitment-portal .main-social-head a[href*="reload"]:hover,
#divland .main-social-head a[href*="reload"]:hover {
    background: var(--rp-blue-50) !important;
    border-color: var(--rp-blue-400) !important;
    color: var(--rp-blue-500) !important;
}

/* --------------------------------------------------------------------------
   3. Header, Logo & Navigation Bar
   -------------------------------------------------------------------------- */
.recruitment-portal table[cellpadding="4"] tr:first-child td,
#start table tr:first-child td[align="center"] {
    padding: 10px 0 20px 0 !important;
}

/* Candidate Home Bar */
.recruitment-portal h3 a[href*="CandidateHome"],
.recruitment-portal a[href*="CandidateHome"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--rp-navy-700) !important;
    background: var(--rp-blue-50) !important;
    border: 1px solid var(--rp-blue-100) !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.recruitment-portal h3 a[href*="CandidateHome"]:hover {
    background: var(--rp-blue-100) !important;
    color: var(--rp-blue-600) !important;
}

.recruitment-portal span[id*="spCandidateName"],
#spCandidateName {
    font-weight: 700 !important;
    color: var(--rp-navy-700) !important;
    background: var(--rp-blue-50) !important;
    padding: 4px 12px !important;
    border-radius: 12px !important;
    border: 1px solid var(--rp-blue-100) !important;
    letter-spacing: 0.5px !important;
}

/* --------------------------------------------------------------------------
   4. Application Form Title & Section Headings (100% Crisp White Visibility)
   -------------------------------------------------------------------------- */

/* Application Form Main Title Banner ("APPLICATION FORM") */
.recruitment-portal td[height="50px"][align="center"] > strong > u,
.recruitment-portal td[height="50px"] strong u,
.application-form-page td[height="50px"] strong u {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--rp-navy-700) 0%, var(--rp-navy-600) 100%) !important;
    padding: 14px 24px !important;
    margin: 10px auto 10px auto !important;
    border-radius: var(--rp-radius-md) !important;
    box-shadow: 0 4px 14px rgba(30, 58, 138, 0.22) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* All section banner headers across the entire portal */
.application-form-page strong u.LabelStyle,
.recruitment-portal strong u.LabelStyle,
.recruitment-portal td[colspan] > strong > u,
.recruitment-portal td[colspan] strong u,
.recruitment-portal td[colspan="3"] > strong > u,
.recruitment-portal td[colspan="3"] strong u,
.recruitment-portal strong u,
.recruitment-portal h3:not(:has(a)) {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, var(--rp-navy-700) 0%, var(--rp-navy-600) 100%) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 12px 20px !important;
    margin: 24px 0 14px 0 !important;
    border-radius: var(--rp-radius-md) !important;
    box-shadow: 0 4px 14px rgba(30, 58, 138, 0.18) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Force all text, b, span, u inside banners to be 100% crisp pure white */
.recruitment-portal td[colspan] > strong > u,
.recruitment-portal td[colspan] > strong > u *,
.recruitment-portal td[colspan] strong u *,
.recruitment-portal td[colspan="3"] > strong > u,
.recruitment-portal td[colspan="3"] > strong > u *,
.recruitment-portal td[height="50px"] strong u,
.recruitment-portal td[height="50px"] strong u *,
.recruitment-portal strong u,
.recruitment-portal strong u *,
.application-form-page strong u.LabelStyle,
.application-form-page strong u.LabelStyle * {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Mandatory notification badge below title */
.recruitment-portal td[height="50px"] span[style*="font-weight: 800"],
.recruitment-portal span[style*="color: red; font-weight: 800"],
.recruitment-portal span[style*="color: Red; font-weight: 800"] {
    display: inline-block !important;
    padding: 5px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--rp-danger-600) !important;
    background: var(--rp-danger-50) !important;
    border: 1px solid var(--rp-danger-100) !important;
    border-radius: 20px !important;
    margin: 4px 0 16px 0 !important;
}

/* Individual field mandatory asterisks (clean inline red asterisks) */
.recruitment-portal td span[style*="color: Red"]:not([style*="font-weight: 800"]),
.recruitment-portal td span[style*="color: red"]:not([style*="font-weight: 800"]) {
    display: inline !important;
    color: #dc2626 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    background: none !important;
    border: none !important;
    padding: 0 0 0 2px !important;
    margin: 0 !important;
}

.recruitment-portal h4 {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--rp-navy-700) !important;
    background: var(--rp-blue-50) !important;
    border-left: 4px solid var(--rp-blue-500) !important;
    padding: 10px 16px !important;
    margin: 16px 0 10px 0 !important;
    border-radius: 0 var(--rp-radius-sm) var(--rp-radius-sm) 0 !important;
}

/* --------------------------------------------------------------------------
   5. Form Structure & Input Fields
   -------------------------------------------------------------------------- */
/* Tables acting as fieldsets */
.application-form-page table[border="1"],
.application-form-page table[rules="all"],
.recruitment-portal table[border="1"],
.recruitment-portal table[rules="all"] {
    width: 100% !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: var(--rp-radius-md) !important;
    background: var(--rp-white) !important;
    overflow: hidden !important;
    margin-bottom: 18px !important;
    box-shadow: var(--rp-shadow-xs) !important;
}

/* Form Label Cells (typically column 1 in fieldsets) */
.application-form-page table[border="1"]:not([id*="gv"]):not(.GridViewtable) td:first-child:not([colspan]),
.application-form-page table[rules="all"]:not([id*="gv"]):not(.GridViewtable) td:first-child:not([colspan]),
.recruitment-portal table[border="1"]:not([id*="gv"]):not(.GridViewtable) td[width="40%"],
.recruitment-portal table[border="1"]:not([id*="gv"]):not(.GridViewtable) td[width="50%"]:first-child {
    background-color: var(--rp-slate-50) !important;
    color: var(--rp-slate-800) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    padding: 12px 18px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid var(--rp-slate-200) !important;
    border-right: 1px solid var(--rp-slate-200) !important;
}

/* Form Input Cells (typically column 2 in fieldsets) */
.application-form-page table[border="1"]:not([id*="gv"]):not(.GridViewtable) td:nth-child(2),
.application-form-page table[rules="all"]:not([id*="gv"]):not(.GridViewtable) td:nth-child(2),
.recruitment-portal table[border="1"]:not([id*="gv"]):not(.GridViewtable) td[width="60%"],
.recruitment-portal table[border="1"]:not([id*="gv"]):not(.GridViewtable) td:last-child {
    background-color: var(--rp-white) !important;
    padding: 12px 18px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid var(--rp-slate-200) !important;
}

/* Remove bottom border on last rows */
.recruitment-portal table[border="1"] tr:last-child td,
.recruitment-portal table[rules="all"] tr:last-child td {
    border-bottom: none !important;
}

/* Modern Input, Dropdown & Textarea Styling */
.recruitment-portal input[type="text"],
.recruitment-portal input[type="password"],
.recruitment-portal input[type="email"],
.recruitment-portal input[type="number"],
.recruitment-portal input[type="date"],
.recruitment-portal select,
.recruitment-portal .TextBox,
.recruitment-portal .form-control,
.recruitment-portal .TextboxStyle {
    height: 42px !important;
    min-height: 42px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 14px !important;
    color: var(--rp-navy-900) !important;
    background-color: var(--rp-white) !important;
    border: 1.5px solid var(--rp-slate-300) !important;
    border-radius: var(--rp-radius-sm) !important;
    box-shadow: var(--rp-shadow-xs) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.recruitment-portal textarea {
    min-height: 85px !important;
    width: 100% !important;
    padding: 10px 14px !important;
    color: var(--rp-navy-900) !important;
    background-color: var(--rp-white) !important;
    border: 1.5px solid var(--rp-slate-300) !important;
    border-radius: var(--rp-radius-sm) !important;
    box-shadow: var(--rp-shadow-xs) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
    resize: vertical !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* High-polish Focus Rings */
.recruitment-portal input[type="text"]:focus,
.recruitment-portal input[type="password"]:focus,
.recruitment-portal input[type="email"]:focus,
.recruitment-portal select:focus,
.recruitment-portal textarea:focus,
.recruitment-portal .TextBox:focus,
.recruitment-portal .form-control:focus,
.recruitment-portal .TextboxStyle:focus {
    border-color: var(--rp-blue-500) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

/* Custom modern select arrow & balanced padding */
.recruitment-portal select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 11px !important;
    padding-left: 10px !important;
    padding-right: 24px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer !important;
}

/* Compact Table & GridView Select Dropdowns (Prevents "Mo" / "Yea" clipping) */
.recruitment-portal table select,
.recruitment-portal table[id*="gv"] select,
.recruitment-portal .GridViewtable select,
.recruitment-portal select[id*="Passing"],
.recruitment-portal select[id*="passing"],
.recruitment-portal select[id*="Month"],
.recruitment-portal select[id*="Year"],
.recruitment-portal select[style*="80px"],
.recruitment-portal select[style*="90px"],
.recruitment-portal select[style*="100px"] {
    width: 100% !important;
    min-width: 95px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 4px 6px !important;
    padding-right: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 5px center !important;
    background-size: 10px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-overflow: clip !important;
    box-sizing: border-box !important;
}

/* Ensure table cells with Month/Year dropdowns don't clip */
.recruitment-portal table[id*="gv"] th,
.recruitment-portal table[id*="gv"] td {
    white-space: normal !important;
}

.recruitment-portal table[id*="gv"] th[style*="100px"],
.recruitment-portal table[id*="gv"] td[style*="100px"],
.recruitment-portal table th[style*="90px"],
.recruitment-portal table td[style*="90px"] {
    min-width: 110px !important;
    width: 110px !important;
}

/* File Upload styling */
.recruitment-portal input[type="file"] {
    min-height: 40px !important;
    padding: 8px 12px !important;
    font-size: 13.5px !important;
    border: 1.5px dashed var(--rp-slate-300) !important;
    border-radius: var(--rp-radius-sm) !important;
    background: var(--rp-slate-50) !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease !important;
}

.recruitment-portal input[type="file"]:hover {
    border-color: var(--rp-blue-400) !important;
}

/* Radio buttons & checkboxes */
.recruitment-portal input[type="radio"],
.recruitment-portal input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
    accent-color: var(--rp-navy-700) !important;
    cursor: pointer !important;
}

.recruitment-portal .RadioButtonWidth label {
    font-weight: 500 !important;
    font-size: 14px !important;
    color: var(--rp-slate-800) !important;
    margin-right: 20px !important;
    cursor: pointer !important;
}

/* Photo and Signature boxes */
.recruitment-portal #td_image div {
    border: 2px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-sm) !important;
    background: var(--rp-slate-50) !important;
    box-shadow: var(--rp-shadow-xs) !important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
}

/* GridViews & Data Tables (gvEducation, gvExperience, etc.) */
.recruitment-portal table[id*="gv"] {
    width: 100% !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-collapse: collapse !important;
    margin: 12px 0 !important;
    border-radius: var(--rp-radius-sm) !important;
    overflow: hidden !important;
}

.recruitment-portal table[id*="gv"] th {
    background: var(--rp-navy-700) !important;
    color: var(--rp-white) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 12px 10px !important;
    text-align: center !important;
    border: 1px solid #27489c !important;
}

.recruitment-portal table[id*="gv"] td {
    padding: 10px 8px !important;
    border: 1px solid var(--rp-slate-200) !important;
    font-size: 13.5px !important;
    vertical-align: middle !important;
}

.recruitment-portal table[id*="gv"] tr:nth-child(even) td {
    background-color: var(--rp-slate-50) !important;
}

/* --------------------------------------------------------------------------
   6. Action Buttons & Form Controls
   -------------------------------------------------------------------------- */
.recruitment-portal input[type="submit"],
.recruitment-portal input[type="button"],
.recruitment-portal button,
.recruitment-portal .btn,
.recruitment-portal .btn-primary,
.recruitment-portal .button,
.recruitment-portal .btnInsertStyle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 28px !important;
    color: var(--rp-white) !important;
    background: linear-gradient(135deg, var(--rp-navy-700) 0%, var(--rp-blue-500) 100%) !important;
    border: none !important;
    border-radius: var(--rp-radius-sm) !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25) !important;
    font-family: var(--rp-font-primary) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.recruitment-portal input[type="submit"]:hover,
.recruitment-portal input[type="button"]:hover,
.recruitment-portal button:hover,
.recruitment-portal .btn:hover,
.recruitment-portal .btn-primary:hover,
.recruitment-portal .button:hover,
.recruitment-portal .btnInsertStyle:hover {
    color: var(--rp-white) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.35) !important;
}

.recruitment-portal input[type="submit"]:active,
.recruitment-portal .btn-primary:active {
    transform: translateY(0) !important;
}

/* Secondary Back Buttons */
.recruitment-portal a.btn-primary[href*="rules"],
.recruitment-portal a.btn[href*="Career"] {
    background: var(--rp-slate-600) !important;
    box-shadow: var(--rp-shadow-xs) !important;
    min-height: 38px !important;
    padding: 6px 18px !important;
    font-size: 13.5px !important;
}

.recruitment-portal a.btn-primary[href*="rules"]:hover {
    background: var(--rp-slate-700) !important;
}

/* Form Primary Submit Button */
.recruitment-portal #btn,
.application-form-page #btn {
    min-height: 50px !important;
    padding: 12px 54px !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
}

/* --------------------------------------------------------------------------
   7. Candidate Login Page (.candidate-login-page)
   -------------------------------------------------------------------------- */
.candidate-login-page .login-card,
.candidate-login-page div[style*="border: 2px solid"] {
    width: 100% !important;
    max-width: 480px !important;
    margin: 20px auto 30px auto !important;
    padding: 36px 32px !important;
    background: var(--rp-white) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-lg) !important;
    box-shadow: var(--rp-shadow-xl) !important;
}

.candidate-login-page h4 {
    display: block !important;
    color: var(--rp-navy-700) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

.candidate-login-page div[style*="padding-left: 300px"] {
    display: inline-flex !important;
    padding-left: 0 !important;
    float: right !important;
}

.candidate-login-page a#A1 i.fa-home {
    color: var(--rp-navy-700) !important;
    font-size: 22pt !important;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.candidate-login-page a#A1:hover i.fa-home {
    transform: scale(1.15) !important;
    color: var(--rp-blue-500) !important;
}

.candidate-login-page .lblDisplayLabel {
    display: block !important;
    margin: 0 0 6px 0 !important;
    color: var(--rp-slate-700) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
}

.candidate-login-page #Panel18 {
    margin-top: 14px !important;
    padding: 16px !important;
    background: var(--rp-slate-50) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-md) !important;
}

.candidate-login-page #txt_c1 {
    background-color: var(--rp-navy-900) !important;
    color: var(--rp-slate-50) !important;
    border: 1px solid var(--rp-navy-900) !important;
    border-radius: var(--rp-radius-sm) !important;
    letter-spacing: 5px !important;
    font-family: Consolas, "Courier New", monospace !important;
    text-align: center !important;
    font-weight: 800 !important;
}

.candidate-login-page #btn_get i.fa-recycle {
    color: var(--rp-navy-700) !important;
    transition: transform 0.3s ease !important;
}

.candidate-login-page #btn_get:hover i.fa-recycle {
    transform: rotate(180deg) !important;
    color: var(--rp-blue-500) !important;
}

.candidate-login-page #btnLogin {
    width: 100% !important;
    min-height: 48px !important;
    margin-top: 10px !important;
    font-size: 16px !important;
}

.candidate-login-page a[id*="lnkbtn"] {
    color: var(--rp-blue-500) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.candidate-login-page a[id*="lnkbtn"]:hover {
    color: var(--rp-navy-700) !important;
    text-decoration: underline !important;
}

/* Recommended device footer card */
.candidate-login-page div[style*="font-size: 13pt"] {
    max-width: 520px !important;
    margin: 16px auto !important;
    padding: 14px 20px !important;
    background: var(--rp-slate-50) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-md) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* --------------------------------------------------------------------------
   8. Landing Page (.landing-page)
   -------------------------------------------------------------------------- */
.landing-page #Table1 {
    width: 100% !important;
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.landing-page #start {
    background: var(--rp-white) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-md) !important;
    box-shadow: var(--rp-shadow-sm) !important;
    margin-bottom: 24px !important;
}

.landing-page h3 {
    margin: 8px 0 16px !important;
    padding: 14px 20px !important;
    color: var(--rp-white) !important;
    background: linear-gradient(135deg, var(--rp-navy-700) 0%, var(--rp-navy-600) 100%) !important;
    border-radius: var(--rp-radius-md) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 14px rgba(30, 58, 138, 0.18) !important;
}

.landing-page .notification-box {
    margin: 14px 0 !important;
    padding: 16px 20px !important;
    background: var(--rp-slate-50) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-left: 4px solid var(--rp-blue-500) !important;
    border-radius: var(--rp-radius-sm) !important;
    line-height: 1.6 !important;
}

.landing-page .lnkview {
    font-size: 14.5px !important;
    color: var(--rp-navy-700) !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
}

.landing-page .tableheadtd {
    padding: 13px 16px !important;
    color: var(--rp-white) !important;
    background: var(--rp-navy-700) !important;
    border: 1px solid #27489c !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    vertical-align: middle !important;
}

.landing-page .tabletd {
    padding: 12px 16px !important;
    background: var(--rp-white) !important;
    border: 1px solid var(--rp-slate-200) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    vertical-align: top !important;
}

.landing-page tr:nth-child(even) > .tabletd {
    background: var(--rp-slate-50) !important;
}

.landing-page table[style*="font-family: Calibri"] {
    width: 100% !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-collapse: collapse !important;
    border-radius: var(--rp-radius-md) !important;
    overflow: hidden !important;
}

.landing-page table[style*="font-family: Calibri"] td {
    border: 1px solid var(--rp-slate-200) !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Agreement box */
.landing-page div[style*="font-size: 14pt"] {
    background: var(--rp-blue-50) !important;
    border: 1.5px solid var(--rp-blue-100) !important;
    border-radius: var(--rp-radius-md) !important;
    padding: 18px 24px !important;
    margin: 20px auto !important;
    max-width: 900px !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: var(--rp-navy-800) !important;
}

.landing-page #btncontinue {
    width: min(520px, 100%) !important;
    min-height: 52px !important;
    font-size: 16.5px !important;
    font-weight: 800 !important;
    margin: 20px auto !important;
}

/* --------------------------------------------------------------------------
   9. Admin Home Page (.admin-home-page)
   -------------------------------------------------------------------------- */
.admin-home-page .admin-heading,
.admin-home-page .LabelStyleHeading {
    display: block !important;
    margin: 0 0 20px 0 !important;
    color: var(--rp-navy-700) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    text-align: center !important;
}

.admin-home-page .wrimagecard {
    display: inline-block !important;
    width: 270px !important;
    min-height: 120px !important;
    margin: 10px 14px 20px 0 !important;
    padding: 22px 24px !important;
    background: var(--rp-white) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-top: 4px solid var(--rp-blue-500) !important;
    border-radius: var(--rp-radius-md) !important;
    box-shadow: var(--rp-shadow-md) !important;
    text-align: center !important;
    vertical-align: top !important;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease !important;
}

.admin-home-page .wrimagecard:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--rp-shadow-lg) !important;
}

.admin-home-page .wrimagecard span strong {
    color: var(--rp-slate-500) !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 700 !important;
}

.admin-home-page .wrimagecard .LabelStyle {
    color: var(--rp-navy-700) !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    display: block !important;
    margin-top: 6px !important;
    line-height: 1.2 !important;
}

.admin-home-page #Panel1 {
    width: 100% !important;
    max-width: 1024px !important;
    padding: 24px !important;
    background: var(--rp-white) !important;
    border: 1px solid var(--rp-slate-200) !important;
    border-radius: var(--rp-radius-lg) !important;
    box-shadow: var(--rp-shadow-md) !important;
    box-sizing: border-box !important;
}

.admin-home-page #dlStateWise {
    width: 100% !important;
}

.admin-home-page #dlStateWise table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.admin-home-page #dlStateWise td {
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--rp-slate-100) !important;
    font-size: 14px !important;
}

.admin-home-page #dlStateWise tr:hover td {
    background-color: var(--rp-slate-50) !important;
}

/* --------------------------------------------------------------------------
   10. Footer Styling
   -------------------------------------------------------------------------- */
div[style*="background-color: #515151"] {
    background: var(--rp-navy-900) !important;
    color: var(--rp-slate-300) !important;
    padding: 18px 24px !important;
    border-radius: 0 0 var(--rp-radius-lg) var(--rp-radius-lg) !important;
    font-size: 13.5px !important;
    letter-spacing: 0.3px !important;
    text-align: center !important;
}

div[style*="background-color: #515151"] a {
    color: var(--rp-white) !important;
    font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   11. Full Mobile & Tablet Responsive Media Queries
   -------------------------------------------------------------------------- */
@media (max-width: 992px) {
    .recruitment-portal,
    #divland.container {
        width: calc(100% - 20px) !important;
        margin: 12px auto 24px !important;
        padding: 20px !important;
    }

    .admin-home-page .wrimagecard {
        width: calc(50% - 12px) !important;
        margin-right: 8px !important;
    }
}

@media (max-width: 768px) {
    .recruitment-portal,
    #divland.container {
        width: 100% !important;
        margin: 0 0 20px !important;
        padding: 16px 12px !important;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        box-shadow: none !important;
    }

    /* Stack form label cells and input cells vertically */
    .application-form-page table#start > tbody > tr > td > table > tbody > tr > td[width="40%"],
    .application-form-page table#start > tbody > tr > td > table > tbody > tr > td[width="60%"],
    .application-form-page table[border="1"] > tbody > tr > td:first-child:not([colspan]),
    .application-form-page table[border="1"] > tbody > tr > td:nth-child(2),
    .application-form-page table[rules="all"] > tbody > tr > td:first-child:not([colspan]),
    .application-form-page table[rules="all"] > tbody > tr > td:nth-child(2) {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .application-form-page table[border="1"] > tbody > tr > td:first-child:not([colspan]) {
        border-right: none !important;
        border-bottom: none !important;
        padding-bottom: 4px !important;
    }

    /* Prevent tables from breaking layout */
    .landing-page #Table1,
    .application-form-page table[id*="gv"],
    .admin-home-page #dlStateWise {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Candidate login mobile layout */
    .candidate-login-page table tr > td[width="25%"] {
        display: none !important;
    }

    .candidate-login-page table tr > td[width="50%"] {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .candidate-login-page .login-card,
    .candidate-login-page div[style*="border: 2px solid"] {
        padding: 24px 18px !important;
        border-radius: var(--rp-radius-md) !important;
    }

    .admin-home-page .wrimagecard {
        display: block !important;
        width: 100% !important;
        margin: 0 0 12px 0 !important;
    }

    .recruitment-portal input[type="submit"],
    .recruitment-portal button,
    .recruitment-portal .btn-primary {
        width: 100% !important;
    }
}

/* --------------------------------------------------------------------------
   12. Candidate Home Page (.candidate-home-page)
   -------------------------------------------------------------------------- */
.candidate-home-page .dashboard-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 20px 24px;
    background: linear-gradient(135deg, var(--rp-navy-700) 0%, var(--rp-navy-600) 100%);
    border-radius: var(--rp-radius-md);
    color: #ffffff;
    margin-bottom: 24px;
    box-shadow: 0 4px 14px rgba(30, 58, 138, 0.18);
}

.candidate-home-page .dashboard-hero h2,
.candidate-home-page .dashboard-hero h3,
#divland .dashboard-hero h3,
.recruitment-portal .dashboard-hero h3 {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    display: inline-block !important;
    width: auto !important;
}

.candidate-home-page .dashboard-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.candidate-home-page .btn-new-app,
.candidate-home-page #btnNewApplication,
#divland #btnNewApplication,
#divland .btn-new-app {
    background: #ffffff !important;
    color: #1e3a8a !important;
    border: none !important;
    border-radius: var(--rp-radius-sm) !important;
    padding: 10px 22px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

.candidate-home-page .btn-new-app:hover,
.candidate-home-page #btnNewApplication:hover,
#divland #btnNewApplication:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.candidate-home-page .btn-logout,
.candidate-home-page #btnLogout,
#divland #btnLogout,
#divland .btn-logout {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: var(--rp-radius-sm) !important;
    padding: 9px 20px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

.candidate-home-page .btn-logout:hover,
.candidate-home-page #btnLogout:hover,
#divland #btnLogout:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* GridView gvPosts Modernization */
.candidate-home-page .table-responsive {
    border-radius: var(--rp-radius-md);
    overflow-x: auto;
    border: 1px solid var(--rp-slate-200);
    box-shadow: var(--rp-shadow-xs);
    background: #ffffff;
    margin-top: 10px;
}

.candidate-home-page table.Admingridtable,
.candidate-home-page #gvPosts {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
    background-color: transparent !important;
    font-family: var(--rp-font-primary) !important;
}

.candidate-home-page table.Admingridtable th,
.candidate-home-page #gvPosts th {
    background: var(--rp-navy-700) !important;
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 2px solid #1e293b !important;
    text-align: center !important;
}

.candidate-home-page table.Admingridtable td,
.candidate-home-page #gvPosts td {
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--rp-slate-200) !important;
    background-color: #ffffff !important;
    color: var(--rp-navy-900) !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}

.candidate-home-page table.Admingridtable tr:hover td,
.candidate-home-page #gvPosts tr:hover td {
    background-color: var(--rp-slate-50) !important;
}

/* Online Application Button Link - 100% Crisp White Text */
#divland a[id*="lnkAppOnline"],
#divland a[id*="lnkAppOnline"] *,
#divland table a[id*="lnkAppOnline"],
#divland table a[id*="lnkAppOnline"] *,
.candidate-home-page #lnkAppOnline,
.candidate-home-page a[id*="lnkAppOnline"],
.candidate-home-page a[id*="lnkAppOnline"] *,
.candidate-home-page table a[id*="lnkAppOnline"],
.candidate-home-page table a[id*="lnkAppOnline"] * {
    color: #ffffff !important;
    text-decoration: none !important;
}

#divland a[id*="lnkAppOnline"],
.candidate-home-page #lnkAppOnline,
.candidate-home-page a[id*="lnkAppOnline"] {
    display: inline-block !important;
    padding: 10px 20px !important;
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    border-radius: var(--rp-radius-sm) !important;
    box-shadow: 0 3px 10px rgba(29, 78, 216, 0.35) !important;
    transition: all 0.2s ease !important;
    line-height: 1.4 !important;
    text-align: center !important;
    cursor: pointer !important;
}

#divland a[id*="lnkAppOnline"]:hover,
#divland a[id*="lnkAppOnline"]:hover *,
.candidate-home-page a[id*="lnkAppOnline"]:hover,
.candidate-home-page a[id*="lnkAppOnline"]:hover * {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 16px rgba(29, 78, 216, 0.45) !important;
    text-decoration: none !important;
}

/* Applied Status Badge */
#divland a[id*="lnkAppEdit"],
.candidate-home-page #lnkAppEdit,
.candidate-home-page a[id*="lnkAppEdit"] {
    display: inline-block !important;
    padding: 7px 16px !important;
    background: #ecfdf5 !important;
    color: #047857 !important;
    border: 1px solid #a7f3d0 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
}

/* Download Action Button */
#divland a[id*="lnkDownload"],
.candidate-home-page #lnkDownload,
.candidate-home-page a[id*="lnkDownload"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: var(--rp-slate-100) !important;
    border: 1px solid var(--rp-slate-300) !important;
    border-radius: 50% !important;
    color: #1e3a8a !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

#divland a[id*="lnkDownload"] i,
.candidate-home-page a[id*="lnkDownload"] i {
    color: #1e3a8a !important;
    font-size: 16px !important;
}

#divland a[id*="lnkDownload"]:hover,
.candidate-home-page a[id*="lnkDownload"]:hover {
    background: var(--rp-blue-50) !important;
    border-color: var(--rp-blue-400) !important;
    color: var(--rp-blue-500) !important;
    transform: scale(1.08) !important;
}

#divland a[id*="lnkDownload"]:hover i,
.candidate-home-page a[id*="lnkDownload"]:hover i {
    color: var(--rp-blue-500) !important;
}

.candidate-home-page #lnkDownload:hover i.fa-download,
.candidate-home-page a[id*="lnkDownload"]:hover i.fa-download {
    color: var(--rp-blue-500) !important;
}

/* Apply New Post Card */
.candidate-home-page .apply-post-card {
    background: #ffffff;
    border: 1px solid var(--rp-slate-200);
    border-radius: var(--rp-radius-lg);
    box-shadow: var(--rp-shadow-md);
    padding: 28px;
    margin: 20px 0;
}

.candidate-home-page .apply-post-header {
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 1.5px solid var(--rp-slate-200);
}

.candidate-home-page .apply-post-header h4 {
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: var(--rp-navy-700) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

/* --------------------------------------------------------------------------
   13. Candidate Registration Page (.candidate-registration-page)
   -------------------------------------------------------------------------- */
.candidate-registration-page .registration-card {
    background: #ffffff;
    border: 1px solid var(--rp-slate-200);
    border-radius: var(--rp-radius-lg);
    box-shadow: var(--rp-shadow-lg);
    padding: 32px 36px;
    margin: 10px auto 30px;
    max-width: 960px;
}

.candidate-registration-page .reg-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1.5px solid var(--rp-slate-200);
    margin-bottom: 22px;
}

.candidate-registration-page .reg-header h3 {
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: var(--rp-navy-700) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
}

.candidate-registration-page .btn-home {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: var(--rp-slate-50) !important;
    border: 1px solid var(--rp-slate-200) !important;
    color: var(--rp-navy-700) !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.candidate-registration-page .btn-home:hover {
    background: var(--rp-blue-50) !important;
    border-color: var(--rp-blue-400) !important;
    color: var(--rp-blue-500) !important;
    transform: scale(1.08) !important;
}

.candidate-registration-page .btn-home i {
    font-size: 18px !important;
    color: var(--rp-navy-700) !important;
}

.candidate-registration-page .form-field-group {
    margin-bottom: 18px;
}

.candidate-registration-page .form-label-custom {
    display: block;
    margin-bottom: 6px;
    color: var(--rp-slate-700);
    font-size: 13.5px;
    font-weight: 600;
}

.candidate-registration-page .field-subtext {
    font-size: 12px;
    color: var(--rp-slate-500);
    display: block;
    margin-top: -2px;
    margin-bottom: 6px;
}

.candidate-registration-page .captcha-box {
    background: var(--rp-slate-50);
    border: 1px solid var(--rp-slate-200);
    border-radius: var(--rp-radius-md);
    padding: 20px;
    margin: 16px 0 24px;
}

.candidate-registration-page .captcha-box h4 {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: var(--rp-navy-700) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.candidate-registration-page #txt_c1 {
    background-color: var(--rp-navy-900) !important;
    color: #ffffff !important;
    border: 1px solid var(--rp-navy-900) !important;
    border-radius: var(--rp-radius-sm) !important;
    letter-spacing: 6px !important;
    font-family: Consolas, "Courier New", monospace !important;
    text-align: center !important;
    font-weight: 800 !important;
}

.candidate-registration-page #btn_get i.fa-recycle {
    color: var(--rp-navy-700) !important;
    font-size: 20px !important;
    transition: transform 0.3s ease !important;
}

.candidate-registration-page #btn_get:hover i.fa-recycle {
    transform: rotate(180deg) !important;
    color: var(--rp-blue-500) !important;
}

.candidate-registration-page .otp-card {
    background: var(--rp-slate-50);
    border: 1px solid var(--rp-slate-200);
    border-radius: var(--rp-radius-md);
    padding: 24px;
    margin: 20px 0;
    text-align: center;
}

.candidate-registration-page .otp-input {
    font-size: 20px !important;
    letter-spacing: 4px !important;
    text-align: center !important;
    font-family: Consolas, monospace !important;
    font-weight: 700 !important;
    max-width: 220px !important;
    margin: 12px auto !important;
}

.candidate-registration-page .support-query-box {
    text-align: center;
    padding: 16px 20px;
    background: var(--rp-slate-50);
    border: 1px solid var(--rp-slate-200);
    border-radius: var(--rp-radius-md);
    margin-top: 24px;
    font-size: 13.5px;
    color: var(--rp-slate-700);
}

