/* SUNSTACK REGISTRATION V2 — standalone, high-contrast wizard styling. */
:root { --r2-ink:var(--ss-ink); --r2-paper:var(--ss-bg-body); --r2-card:var(--ss-glass-bg-strong); --r2-line:var(--ss-border); --r2-muted:var(--ss-muted); --r2-coral:var(--ss-primary); --r2-coral-dark:var(--ss-primary-hover); --r2-lime:var(--ss-nav-active-bg); --r2-lime-ink:var(--ss-nav-active-ink); --r2-shadow:var(--ss-shadow-lg); }
body.portal-register-body { color:var(--r2-ink) !important; background:var(--r2-paper) !important; background-image:var(--ss-gradient-mesh) !important; font-family:Inter,"Noto Sans Devanagari","Segoe UI",Arial,sans-serif !important; }.portal-register-wrap { width:min(1180px,calc(100% - 38px)) !important; max-width:none !important; padding:42px 0 58px !important; }.portal-register-brand { display:flex; align-items:center; gap:9px; margin:0 0 7px !important; color:var(--r2-ink) !important; background:none !important; -webkit-text-fill-color:currentColor !important; font-family:Georgia,"Times New Roman",serif !important; font-size:1.45rem !important; font-weight:500 !important; letter-spacing:-.06em !important; text-transform:none !important; }.portal-register-brand::before { content:'S'; display:grid; width:29px; height:29px; place-items:center; border-radius:50% 50% 50% 13%; color:var(--r2-ink); background:var(--r2-lime); font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:.68rem; font-weight:900; }.portal-register-sub { margin:0 0 29px !important; color:var(--r2-muted) !important; font-size:.76rem !important; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }.register-locale-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:500px; margin:0 0 22px auto; padding:8px 12px; border:1px solid var(--r2-line); border-radius:12px; background:rgba(255,255,255,.78); box-shadow:0 5px 15px rgba(29,39,33,.04); }.register-locale-bar label { color:var(--r2-muted); font-size:.72rem; font-weight:800; }.register-locale-bar .form-select { width:180px; min-height:36px; border:0 !important; color:var(--r2-ink); background:transparent; font-size:.8rem; font-weight:750; box-shadow:none !important; }.admin-toolbar { align-items:flex-end !important; margin:0 0 22px !important; padding:0 6px; }.admin-page-title { color:var(--r2-ink) !important; font-family:Georgia,"Times New Roman",serif !important; font-size:clamp(2.15rem,4vw,4rem) !important; font-weight:500 !important; letter-spacing:-.078em !important; line-height:.95 !important; }.admin-toolbar .admin-btn { margin-bottom:3px; }.admin-panel { padding:clamp(21px,4vw,46px) !important; border:1px solid var(--r2-line) !important; border-radius:20px !important; background:rgba(255,255,255,.92) !important; box-shadow:var(--r2-shadow) !important; backdrop-filter:blur(14px); }.admin-form-intro { max-width:760px; margin:0 0 28px !important; color:var(--r2-muted) !important; font-size:.93rem !important; line-height:1.7 !important; }.admin-section-title { margin:30px 0 17px !important; color:var(--r2-ink) !important; font-family:Georgia,"Times New Roman",serif !important; font-size:1.5rem !important; font-weight:500 !important; letter-spacing:-.045em !important; }.candidate-wizard-step:first-child .admin-section-title { margin-top:0 !important; }.admin-candidate-form .admin-form-grid,.admin-form-grid,.admin-form-grid--2 { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px 22px !important; }.admin-form-span-2,.admin-candidate-form .admin-form-span-2 { grid-column:1 / -1 !important; }.admin-candidate-form label,.admin-form-grid label { margin:0 0 7px !important; color:var(--ss-ink) !important; font-family:Inter,"Noto Sans Devanagari","Segoe UI",Arial,sans-serif !important; font-size:.76rem !important; font-weight:800 !important; line-height:1.45; }.label-hindi { color:var(--r2-muted); font-weight:600; }.admin-required { color:var(--r2-coral) !important; }.admin-candidate-form input,.admin-candidate-form select,.admin-candidate-form textarea,.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea { display:block !important; width:100% !important; min-height:46px !important; padding:11px 12px !important; border:1px solid var(--ss-border) !important; border-radius:10px !important; outline:0; color:var(--r2-ink) !important; background:var(--ss-bg-surface) !important; font-family:Inter,"Noto Sans Devanagari","Segoe UI",Arial,sans-serif !important; font-size:.84rem !important; line-height:1.4; box-shadow:none !important; }.admin-candidate-form textarea,.admin-form-grid textarea { min-height:108px !important; resize:vertical; }.admin-candidate-form input:focus,.admin-candidate-form select:focus,.admin-candidate-form textarea:focus,.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-form-grid textarea:focus { border-color:var(--r2-coral) !important; background:#fff !important; box-shadow: var(--ss-focus-ring) !important; }.admin-candidate-form input[type="checkbox"],.admin-form-grid input[type="checkbox"] { display:inline-block !important; width:17px !important; min-height:17px !important; height:17px; padding:0 !important; accent-color:var(--r2-coral); }.admin-inline-check { display:flex !important; align-items:flex-start; gap:8px; color:var(--r2-muted) !important; font-size:.75rem !important; }.admin-otp-row { display:flex !important; align-items:stretch !important; gap:8px !important; }.admin-otp-row input { min-width:0 !important; flex:1 1 auto !important; }.admin-otp-row .admin-btn { flex:0 0 auto; }.admin-upload-hint { margin:6px 0 8px !important; color:var(--ss-muted) !important; font-size:.71rem !important; line-height:1.45 !important; }.admin-field-error { margin-top:6px; color:var(--ss-danger) !important; font-size:.72rem !important; font-weight:700; }.admin-form-actions { display:flex !important; align-items:center; flex-wrap:wrap; gap:9px !important; margin-top:26px !important; padding-top:22px; border-top:1px solid var(--ss-divider); }.admin-btn { display:inline-flex !important; align-items:center; justify-content:center; min-height:40px; padding:9px 14px !important; border:1px solid var(--ss-border) !important; border-radius:9px !important; color:var(--r2-ink) !important; background:var(--ss-bg-surface) !important; box-shadow:0 2px 0 rgba(23,33,29,.03) !important; font-family:Inter,"Noto Sans Devanagari","Segoe UI",Arial,sans-serif !important; font-size:.75rem !important; font-weight:800 !important; text-decoration:none !important; }.admin-btn:hover { color:var(--r2-ink) !important; border-color:var(--ss-border-strong) !important; background:var(--ss-bg-hover) !important; transform:translateY(-1px); }.admin-btn--primary,.admin-btn--active { color:var(--ss-primary-contrast) !important; border-color:var(--r2-coral) !important; background:var(--ss-gradient-primary) !important; color:var(--ss-primary-contrast) !important; box-shadow:0 9px 17px color-mix(in srgb, var(--ss-primary) calc(.18 * 100%), transparent) !important; }.admin-btn--primary:hover,.admin-btn--active:hover { color:var(--ss-bg-surface) !important; border-color:var(--r2-coral-dark) !important; background:var(--r2-coral-dark) !important; }.candidate-draft-status { color:var(--r2-muted) !important; font-size:.74rem !important; }.portal-register-links { margin:21px 7px 0 !important; color:var(--r2-muted) !important; font-size:.79rem !important; }.portal-register-links a { color:var(--ss-primary) !important; font-weight:800; }.candidate-wizard-step[hidden] { display:none !important; }.candidate-wizard-upload-slot,.candidate-wizard-section-slot { min-height:12px; }.candidate-wizard-modal__panel,.candidate-wizard-modal__dialog { border:1px solid var(--r2-line) !important; border-radius:18px !important; background:var(--ss-bg-surface) !important; box-shadow:var(--r2-shadow) !important; }
@media (max-width:720px) { .portal-register-wrap { width:min(100% - 28px,1180px) !important; padding:28px 0 44px !important; }.register-locale-bar { max-width:none; margin-bottom:20px; }.admin-toolbar { align-items:flex-start !important; flex-direction:column; }.admin-toolbar .admin-btn { width:100%; }.admin-panel { padding:20px !important; border-radius:15px !important; }.admin-candidate-form .admin-form-grid,.admin-form-grid,.admin-form-grid--2 { grid-template-columns:1fr !important; gap:17px !important; }.admin-form-span-2,.admin-candidate-form .admin-form-span-2 { grid-column:auto !important; }.admin-otp-row { flex-direction:column; }.admin-otp-row .admin-btn { width:100%; }.admin-form-actions .admin-btn { width:100%; }.admin-page-title { font-size:2.65rem !important; } }

/* Header: Job Portal (left) and language picker (right) on one row. */
.portal-register-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin: 0 0 28px !important;
}.portal-register-top__brand {
    min-width: 0;
    flex: 1 1 auto;
}
.portal-register-top .portal-register-brand {
    margin: 0 !important;
}
.portal-register-top .portal-register-sub {
    margin: 6px 0 0 !important;
}

/* Language picker: stacked label + visible dropdown (overrides the static row look). */
.register-locale-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex: 0 0 260px !important;
    gap: 6px !important;
    max-width: 260px !important;
    width: 260px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid var(--r2-line) !important;
    border-radius: 14px !important;
    background: var(--ss-bg-surface) !important;
    box-shadow: 0 8px 20px rgba(29, 39, 33, 0.06) !important;
}
.register-locale-bar__label,
.register-locale-bar label {
    display: block !important;
    margin: 0 !important;
    color: var(--r2-ink) !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em;
}
.register-locale-bar__control {
    position: relative;
    width: 100%;
}
.register-locale-bar__select,
.register-locale-bar .form-select {
    display: block !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 42px 10px 14px !important;
    border: 1px solid var(--ss-border) !important;
    border-radius: 10px !important;
    color: var(--r2-ink) !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2317211d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
    box-shadow: none !important;
    font-size: 0.92rem !important;
    font-weight: 650 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.register-locale-bar__select:hover,
.register-locale-bar .form-select:hover {
    border-color: #b7b3a8 !important;
}
.register-locale-bar__select:focus,
.register-locale-bar .form-select:focus {
    border-color: var(--r2-coral) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ss-primary) calc(0.13 * 100%), transparent) !important;
    outline: none !important;
}
@media (max-width: 720px) {
    .portal-register-top {
        align-items: stretch !important;
        flex-direction: column !important;
    }
    .register-locale-bar {
        max-width: none !important;
        width: 100% !important;
        flex-basis: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Candidate registration is one continuous, scannable form on the public portal. */
body.portal-register-body .candidate-wizard-step--single-page {
    display: block !important;
    margin: 0;
    padding: 0 0 1.75rem;
    border-bottom: 1px solid var(--r2-line, #e4e0d9);
}
body.portal-register-body .candidate-wizard-step--single-page + .candidate-wizard-step--single-page {
    padding-top: 1.75rem;
}
body.portal-register-body .candidate-wizard-step--single-page:last-of-type {
    border-bottom: 0;
}
body.portal-register-body .candidate-registration-toolbar .admin-btn,
body.portal-register-body .candidate-wizard-step--single-page .admin-form-actions {
    display: none !important;
}
body.portal-register-body .candidate-single-page-actions {
    position: sticky;
    bottom: 0;
    z-index: 4;
    margin-top: 0.5rem;
    padding: 1rem 0 max(1rem, env(safe-area-inset-bottom));
    background: linear-gradient(to bottom, rgba(255,255,255,0.84), var(--ss-bg-surface) 28%);
}
@media (max-width: 720px) {
    body.portal-register-body .candidate-wizard-step--single-page,
    body.portal-register-body .candidate-wizard-step--single-page + .candidate-wizard-step--single-page {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
    body.portal-register-body .candidate-single-page-actions {
        position: static;
    }
}

/* Registration page framing: the public shell paints a fixed, pink-tinted
   background layer that stayed visible as thin strips down the left/right of
   the form column (a stray "side border"). Give the registration page its own
   opaque canvas and let the form card sit centred on it, so the sides read as
   clean page padding instead of a border. */
body.portal-register-body {
    background: var(--r2-paper) !important;
    background-image: none !important;
}

body.portal-register-body .portal-register-wrap {
    position: relative;
    z-index: 1;
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh;
    padding-inline: clamp(16px, 3.5vw, 40px) !important;
    background: var(--r2-paper, var(--ss-bg-body)) !important;
}

body.portal-register-body .portal-register-wrap > .admin-panel {
    width: min(1180px, 100%) !important;
    margin-inline: auto !important;
    border-color: color-mix(in srgb, var(--r2-line, #e4e0d9) 78%, transparent) !important;
    box-shadow: 0 18px 44px rgba(29, 39, 33, 0.08) !important;
}

body.portal-register-body .portal-register-wrap > .admin-toolbar,
body.portal-register-body .portal-register-wrap > .portal-register-top {
    width: min(1180px, 100%) !important;
    margin-inline: auto !important;
}
