/* NAVONAX Joining experience. Screen styles only; approved A4 documents stay independent. */
@media screen {
:root {--ink:#142e46;--muted:#52677b;--line:#dce5ee;--soft:#f1f5fa;--navy:#061c37;--blue:#0877be;--cyan:#12a6d8;--orange:#f58220;}
html {font-size:16px;scroll-behavior:auto;}
body:is(.joining-app-page,.officer-page,.employee-login-page,.track-page) {font:400 16px/1.55 Geist,Arial,sans-serif;font-variation-settings:normal;letter-spacing:0;background:#f1f5fa;color:#142e46;}
:is(button,a,input,select,textarea):focus-visible {outline:3px solid #16a3d5;outline-offset:3px;}
input,select,textarea {accent-color:#0877be;}
button,a {touch-action:manipulation;}
.join-icon {width:20px;height:20px;flex:0 0 20px;vertical-align:middle;}
:is(.primary,.secondary,.table-action,.officer-link,.employee-logout,.verification-send,.otp-code-row button) {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border-radius:9px;padding:10px 16px;font:600 14px/1.4 Geist,Arial,sans-serif;text-decoration:none;white-space:normal;}
.primary {background:linear-gradient(120deg,#087fbf,#0869ad);border:1px solid #0874b6;box-shadow:0 4px 12px #0977b51c;color:#fff;}
.secondary,.officer-link,.employee-logout {background:#fff;border:1px solid #cbd9e5;color:#24445e;box-shadow:none;}
button:disabled {cursor:not-allowed;opacity:.55;}
.officer-page.joining-confirmation-open {overflow:hidden;}
:is(.form-grid,.salary-input-grid) :is(input,select,textarea):disabled {color:#38556c;opacity:1;background:#f5f8fb;}
:is(.eyebrow,.form-heading>div>p,.document-archive-head .eyebrow,.workflow-modal-eyebrow) {font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.12em;}
:is(.form-grid,.salary-input-grid) {gap:20px 24px;}
:is(.form-grid,.salary-input-grid) label {min-width:0;}
:is(.form-grid,.salary-input-grid) label>span {font-size:14px;font-weight:600;line-height:1.5;color:#38556c;}
:is(.form-grid,.salary-input-grid) :is(input,select,textarea) {font:400 14px/1.5 Geist,Arial,sans-serif;border-radius:9px;border:1px solid #cad8e3;background:#fff;color:#203e58;min-height:44px;padding:10px 12px;}
:is(.form-grid,.salary-input-grid) :is(input,select,textarea)::placeholder {color:#647b8d;opacity:1;}
:is(.form-grid,.salary-input-grid) input[type=checkbox] {width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;}
:is(.form-grid,.salary-input-grid) label>small {font-size:12px;line-height:1.6;color:#5c7487;}
.check-line {gap:10px;align-items:start;}
.check-line>span {font-weight:400!important;}
.section-title {gap:13px;margin:10px 0 22px;}
.section-title>span {display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#eaf4fb;color:#1678ad;font-size:13px;font-weight:700;}
.section-title strong {font-size:18px;line-height:1.4;letter-spacing:-.02em;font-weight:650;}
.section-title small {font-size:13px;line-height:1.6;color:#587185;}
.notice {padding:17px 18px;gap:13px;border-radius:11px;}
.notice strong {font-size:14px;font-weight:600;line-height:1.5;}
.notice p {font-size:13px;line-height:1.65;}
.form-message {font-size:14px;line-height:1.6;padding:13px 16px;margin:20px 26px 0;overflow-wrap:anywhere;}
.draft-chip,.status-pill,.row-status,.tab-count {font-size:12px;line-height:1.45;font-weight:650;padding:5px 9px;border-radius:6px;white-space:normal;letter-spacing:0;}
.ctc-preview {font-size:14px;line-height:1.6;padding:11px 13px;}

/* One permanent rail, following the approved HR workspace. */
.joining-app-page {padding-left:264px;}
.joining-app-page .step-rail {position:fixed;inset:0 auto 0 0;width:264px;height:100dvh;z-index:30;border:0;border-radius:0;background:linear-gradient(165deg,#05172c,#08294b);color:#d5e3ef;box-shadow:6px 0 26px #061c370a;padding:18px 14px;overflow-y:auto;scrollbar-width:thin;}
.join-rail-brand,.officer-sidebar>.brand {display:block;background:#fff;border-radius:10px;padding:10px;width:100%;flex-shrink:0;}
.join-rail-brand img,.officer-sidebar>.brand img {display:block;width:100%;height:auto;object-fit:contain;filter:none;}
.join-rail-title {padding:20px 10px 17px;border-bottom:1px solid #ffffff20;margin-bottom:14px;}
.join-rail-title strong {display:block;font-size:16px;font-weight:650;line-height:1.5;color:#fff;}
.join-rail-title span {display:block;font-size:12px;letter-spacing:.03em;line-height:1.5;color:#abc4d9;}
.step-rail>p,.officer-sidebar nav>p {font-size:12px;line-height:1.5;letter-spacing:.12em;color:#a3bfd6;font-weight:600;margin:16px 10px 12px;}
.step-rail #step-navigation {display:grid;gap:7px;margin:0;padding:0;}
.step-rail #step-navigation li {list-style:none;}
.step-rail #step-navigation button {width:100%;display:flex;align-items:flex-start;gap:11px;min-height:72px;border:1px solid transparent;background:transparent;color:#d5e3ef;text-align:left;padding:12px 9px;border-radius:9px;}
.step-rail #step-navigation button>span {width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;border:1px solid #ffffff24;background:#ffffff0b;color:#c4dbea;font-size:12px;box-shadow:none;}
.step-rail #step-navigation strong {font-size:14px;line-height:1.4;color:#e2edf6;font-weight:600;}
.step-rail #step-navigation small {font-size:12px;line-height:1.5;color:#adc5d8;margin-top:4px;}
.step-rail #step-navigation li.active button {background:linear-gradient(95deg,#0c4674,#0b2d50);box-shadow:inset 3px 0 #f58220;border-color:#2f6083;}
.step-rail #step-navigation li.active button>span {background:#0d7cbe;border-color:#3394c9;color:#fff;}
.step-rail #step-navigation li.done:not(.active) button>span {color:#a5e9d3;background:#0c564d;border-color:#258578;}
.step-rail .privacy-card {display:flex;align-items:flex-start;gap:10px;margin:25px 0 14px;padding:14px 12px;border:1px solid #ffffff24;background:#ffffff08;border-radius:10px;}
.step-rail .privacy-card>span {flex:0 0 24px;width:24px;height:24px;background:#164e50;color:#a3ead4;font-size:13px;}
.step-rail .privacy-card strong {font-size:13px;line-height:1.5;color:#e4eff6;}
.step-rail .privacy-card p {font-size:12px;line-height:1.6;color:#acc6d9;}
.step-rail .help-card {padding:12px 10px;background:transparent;border:0;}
.step-rail .help-card small {font-size:12px;color:#adc5d8;}
.step-rail .help-card a {font-size:14px;color:#e0f2ff;overflow-wrap:anywhere;}
.joining-app-page .public-header {position:relative;height:auto;min-height:76px;padding:14px 28px;display:flex;gap:20px;align-items:center;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#14a8d6 78%,#f58220 78%) 1;background:#fff;}
.joining-app-page .public-header>.brand {display:none;}
.header-context {min-width:0;margin-right:auto;}
.header-context strong {font-size:14px;line-height:1.5;}
.header-context small {font-size:12px;line-height:1.5;color:#61788b;}
.authenticated-employee {gap:10px;min-width:0;padding:0;border:0;}
.authenticated-employee>span {width:36px;height:36px;flex:0 0 36px;font-size:14px;border-radius:9px;background:#0c6da6;}
.authenticated-employee strong {font-size:13px;font-weight:600;line-height:1.4;}
.authenticated-employee small {font-size:12px;line-height:1.5;color:#61788b;overflow-wrap:anywhere;}
.joining-app-page .welcome-band {display:block;min-height:0;margin:28px 30px 22px;padding:25px 28px;border:1px solid #2b698c;border-radius:17px;background:linear-gradient(110deg,#05223d,#0a4f76 72%,#0c6793);box-shadow:0 14px 28px #06294a12;}
.welcome-band .eyebrow {font-size:12px;color:#a4def4;margin:0;}
.joining-app-page .welcome-band h1 {font-size:clamp(27px,2.4vw,36px);font-weight:700;letter-spacing:-.035em;line-height:1.2;max-width:none;margin:8px 0 12px;}
.joining-app-page .welcome-band>div>p:last-child {font-size:15px;line-height:1.65;max-width:850px;color:#d8e9f4;margin:0;}
.joining-app-page .joining-layout {display:block;max-width:1480px;margin:0 auto;padding:0 30px 32px;}
.joining-card {border-radius:15px;border:1px solid #d7e2eb;box-shadow:0 4px 17px #112f4c07;scroll-margin-top:20px;overflow:visible;}
.form-heading {padding:23px 26px;gap:18px;background:#fff;border-radius:15px 15px 0 0;}
.form-heading>div>p {color:#117fa9;margin:0;}
.form-heading h2 {font-size:28px;font-weight:680;letter-spacing:-.03em;line-height:1.25;margin:7px 0 8px;}
.form-heading>div>span {font-size:14px;line-height:1.6;color:#557083;}
.form-step {padding:27px 26px 32px;}
.form-actions {position:sticky;bottom:0;z-index:5;padding:17px 26px;border-top:1px solid #d7e2eb;border-radius:0 0 15px 15px;background:#fff;box-shadow:0 -5px 18px #0a2b4507;gap:12px;}
.form-actions>span {font-size:12px;line-height:1.5;color:#61788b;}
.joining-app-page .site-footer {font-size:12px;line-height:1.5;gap:20px;padding:20px 30px;background:#fff;}
.verification-control {flex-wrap:wrap;gap:12px;}
.verification-status {font-size:12px;line-height:1.5;}
.otp-code-row {gap:10px;}
.otp-code-row input {font-size:16px;min-width:0;}
.upload-grid {gap:16px;}
.upload-tile {min-height:150px;padding:20px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;border-radius:12px;border-color:#cadce9;background:#f8fbfe;}
.upload-tile>span {width:34px;height:34px;font-size:20px;}
.upload-tile strong {font-size:14px;line-height:1.5;color:#29465c;white-space:normal;}
.upload-tile small {font-size:12px;line-height:1.6;color:#587185;}
.upload-tile em {grid-column:2;justify-self:start;max-width:100%;font-size:12px;line-height:1.5;padding:6px 10px;white-space:normal;overflow-wrap:anywhere;}
.declaration-line {align-items:flex-start;gap:13px;font-size:14px;line-height:1.75;}
.declaration-line input {width:18px;height:18px;flex:0 0 18px;margin-top:4px;}
.review-card {padding:20px;}
.review-card strong {font-size:16px;line-height:1.5;}
.review-card p {font-size:14px;line-height:1.65;}
.workflow-preview {gap:12px;padding:20px;}
.workflow-preview strong {font-size:13px;line-height:1.5;}
.workflow-preview small {font-size:12px;line-height:1.6;}
.submission-receipt {padding:40px 28px;}
.submission-receipt h2 {font-size:30px;line-height:1.25;}
.submission-receipt p {font-size:15px;line-height:1.7;}
.submission-receipt>a,.submission-receipt>strong,.receipt-action {font-size:14px;overflow-wrap:anywhere;}

/* Officer list and reviews share the same page shell. */
.officer-shell {grid-template-columns:264px minmax(0,1fr);min-height:100dvh;}
.officer-sidebar {height:100dvh;padding:18px 14px 14px;gap:0;background:linear-gradient(165deg,#05172c,#08294b);overflow-y:auto;scrollbar-width:thin;}
.officer-sidebar nav {display:grid;align-content:start;gap:7px;flex:1;}
.officer-sidebar nav :is(a,button) {display:flex;align-items:center;gap:10px;width:100%;min-height:46px;border:1px solid transparent;border-radius:9px;padding:10px 12px;background:transparent;color:#d5e3ef;font-size:14px;font-weight:500;line-height:1.4;text-align:left;text-decoration:none;}
.officer-sidebar nav .active {background:linear-gradient(95deg,#0c4674,#0b2d50);box-shadow:inset 3px 0 #f58220;border-color:#2f6083;color:#fff;}
.join-officer-help {padding:16px 10px;display:grid;gap:4px;}
.join-officer-help span {font-size:12px;color:#a3bfd6;}
.join-officer-help a {font-size:14px;color:#d8edf9;text-decoration:none;overflow-wrap:anywhere;}
.officer-user {margin-top:0;padding:14px 12px;border:1px solid #ffffff24;border-radius:10px;background:#ffffff08;}
.officer-user strong {font-size:13px;color:#fff;line-height:1.5;}
.officer-user small {font-size:12px;color:#adc5d8;line-height:1.5;overflow-wrap:anywhere;}
.officer-user button {min-height:38px;font-size:13px;padding:8px 12px;border:1px solid #447193;border-radius:8px;background:#0d365b;color:#e2f1fc;margin-top:12px;}
.officer-main {padding:28px 30px 40px;max-width:1660px;width:100%;overflow:visible;}
.officer-topbar {align-items:center;gap:22px;margin-bottom:24px;background:linear-gradient(110deg,#05223d,#0a4f76 72%,#0c6793);padding:27px 28px;border:1px solid #2b698c;border-radius:17px;box-shadow:0 14px 28px #06294a12;}
.officer-topbar .eyebrow {color:#a4def4;}
.officer-topbar h1 {font-size:clamp(28px,2.4vw,36px);font-weight:700;letter-spacing:-.035em;line-height:1.2;color:#fff;margin:8px 0 12px;}
.officer-topbar>div>span {display:block;max-width:650px;font-size:14px;line-height:1.7;color:#d8e9f4;}
.officer-topbar-actions {flex:0 0 auto;max-width:180px;display:grid;gap:10px;}
.officer-topbar-actions .secondary {background:#ffffff0c;border-color:#83abc3;color:#e0eef8;}
.officer-stat-row {gap:16px;margin:0 0 23px;}
.officer-stat-row article {border:1px solid #c9dae8;border-top:3px solid #42a8d4;border-radius:14px;padding:19px 20px;background:linear-gradient(135deg,#fff,#f1f8fd);box-shadow:0 5px 18px #0a2a4810;min-height:142px;}
.officer-stat-row article:nth-child(2) {border-top-color:#499983;background:linear-gradient(135deg,#fff,#f0f9f6);}
.officer-stat-row article:nth-child(3) {border-top-color:#e8a061;background:linear-gradient(135deg,#fff,#fff8ef);}
.officer-stat-row article:nth-child(4) {border-top-color:#778ebe;}
.officer-stat-row span {font-size:14px;line-height:1.5;color:#3b5970;font-weight:600;}
.officer-stat-row strong {font-size:30px;line-height:1.15;margin:8px 0;font-weight:720;}
.officer-stat-row small {font-size:12px;line-height:1.6;color:#536c7f;}
.officer-table-card {border:1px solid #d7e2eb;border-radius:15px;box-shadow:0 4px 17px #112f4c07;overflow:hidden;}
.table-toolbar {display:flex;align-items:center;gap:12px;padding:18px 20px;flex-wrap:wrap;}
.table-toolbar label {display:flex;align-items:center;gap:10px;flex:1;min-width:230px;}
.table-toolbar label>.join-icon {color:#60788d;}
.table-toolbar input {font-size:14px;line-height:1.5;min-height:42px;width:100%;min-width:0;}
.table-toolbar select {font-size:14px;line-height:1.5;min-height:42px;max-width:250px;padding:8px 12px;border-radius:9px;color:#28495f;}
.application-results {padding:0 20px 14px;font-size:12px;line-height:1.5;color:#5c7386;}
.table-scroll {overflow-x:auto;scrollbar-width:thin;scrollbar-color:#90aabd #edf3f7;}
.officer-table-card table {width:100%;min-width:880px;table-layout:auto;}
.officer-table-card th {font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.04em;color:#476178;background:#edf3f8;padding:13px 15px;white-space:nowrap;}
.officer-table-card td {font-size:14px;line-height:1.55;color:#28455d;padding:16px 15px;vertical-align:middle;}
.officer-table-card tbody tr:hover {background:#f4f9fd;}
.officer-table-card td:first-child {min-width:220px;max-width:340px;}
.row-person strong {font-size:14px;line-height:1.5;font-weight:650;}
.row-person small {font-size:12px;line-height:1.6;color:#60768b;white-space:normal;overflow-wrap:anywhere;}
.officer-table-card td:nth-child(3),.officer-table-card td:nth-child(5) {white-space:nowrap;}
.officer-table-card .table-action {min-height:36px;font-size:14px;padding:7px 10px;white-space:nowrap;border-radius:8px;color:#0873ad;}
.empty-state {padding:45px 25px;}
.empty-state strong {font-size:17px;line-height:1.5;}
.empty-state p {font-size:14px;line-height:1.6;}
.officer-page.review-open .officer-list-view {display:none;}
.officer-page .drawer-backdrop {position:static;inset:auto;z-index:auto;display:block;background:none;padding:0;backdrop-filter:none;}
.officer-page .application-drawer {width:100%;height:auto;min-height:calc(100dvh - 70px);max-height:none;max-width:none;overflow:visible;border:1px solid #d7e2eb;border-radius:15px;background:#fff;box-shadow:0 4px 17px #112f4c07;}
.application-drawer>header {position:static;padding:24px 26px;gap:20px;border-radius:15px 15px 0 0;background:#fff;}
.application-drawer>header h2 {font-size:30px;line-height:1.25;font-weight:700;letter-spacing:-.03em;margin:7px 0 10px;}
.application-drawer>header span {font-size:13px;line-height:1.6;color:#5a758a;overflow-wrap:anywhere;}
.application-drawer>header #drawer-close {width:auto;height:auto;flex:0 0 auto;font-size:14px;border-radius:9px;}
.application-drawer>nav {position:sticky;top:0;z-index:12;gap:6px;padding:0 20px;background:#fff;overflow-x:auto;scrollbar-width:thin;scroll-margin-top:0;box-shadow:0 5px 12px #09284305;}
.application-drawer>nav button {font-size:14px;line-height:1.5;min-height:54px;padding:13px 12px;white-space:nowrap;font-weight:600;border-bottom-width:3px;}
.application-drawer>nav button.active {color:#0877be;border-bottom-color:#f58220;}
.review-pane {padding:25px 26px 30px;max-height:none;overflow:visible;}
.review-field-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;}
.review-field-grid>div {min-width:0;gap:8px;padding:15px 0;}
.review-field-grid span {font-size:13px;line-height:1.5;color:#60798c;}
.review-field-grid strong {font-size:14px;line-height:1.65;font-weight:550;overflow-wrap:anywhere;}
.review-loading :is(.application-drawer>nav,.review-pane,.joining-workflow-actions) {display:none!important;}
.document-archive-head {gap:18px;margin-bottom:22px;}
.document-archive-head h3 {font-size:20px;line-height:1.4;letter-spacing:-.02em;}
.document-archive-head p {font-size:14px;line-height:1.65;}
.document-archive-head>span {font-size:12px;line-height:1.5;white-space:nowrap;}
.generated-document-grid {gap:16px;}
.generated-document-card {padding:19px;gap:14px;border-radius:12px;}
.generated-document-card>span {font-size:12px;}
.generated-document-card strong {font-size:15px;line-height:1.5;}
.generated-document-card p {font-size:13px;line-height:1.6;}
.document-archive-grid {gap:14px;}
.document-archive-card {padding:19px;gap:15px;border-radius:12px;}
.document-kind {font-size:12px;}
.document-copy strong {font-size:15px;line-height:1.5;}
.document-copy p {font-size:13px;line-height:1.6;overflow-wrap:anywhere;}
.document-copy small {font-size:12px;line-height:1.6;overflow-wrap:anywhere;}
.document-actions {gap:8px;flex-wrap:wrap;}
.document-actions a {font-size:13px;line-height:1.4;min-height:38px;padding:9px 12px;}
.document-empty strong {font-size:16px;}
.document-empty p {font-size:14px;line-height:1.6;}
.salary-preview {gap:13px;padding:20px;margin:22px 0;border-radius:12px;}
.salary-preview span {font-size:12px;line-height:1.5;}
.salary-preview strong {font-size:17px;line-height:1.5;overflow-wrap:anywhere;}
.salary-preview>strong {grid-column:1/-1;font-size:13px;line-height:1.65;}
.drawer-actions {display:flex;gap:12px;padding:18px 0 0;margin-top:20px;border-top:1px solid #dce5ee;}
.submission-steps {gap:18px;}
.submission-steps article {gap:16px;padding:21px;border-radius:12px;}
.submission-steps strong {font-size:17px;line-height:1.5;}
.submission-steps p {font-size:14px;line-height:1.7;}
.submission-steps small {font-size:13px;line-height:1.6;}
#signed-upload-form {display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
#signed-upload-form input {max-width:100%;min-width:0;font-size:14px;line-height:1.5;}
#signed-upload-form input::file-selector-button {font:600 13px/1.5 Geist,Arial,sans-serif;border:1px solid #cad8e3;background:#f1f7fb;color:#31566f;padding:9px 12px;border-radius:8px;margin-right:10px;}

/* Workflow confirmations keep a genuine modal with readable, accessible controls. */
.joining-workflow-actions {margin:20px 26px 0;padding:17px 18px;gap:20px;border-radius:11px;}
.joining-workflow-actions p {font-size:12px;line-height:1.5;letter-spacing:.09em;}
.joining-workflow-actions strong {font-size:16px;line-height:1.5;}
.joining-workflow-actions small {font-size:13px;line-height:1.65;max-width:none;}
.joining-workflow-buttons button {font-size:13px;line-height:1.5;min-height:42px;}
.joining-workflow-modal {z-index:1000;}
.joining-workflow-modal>section {width:min(590px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;border-radius:16px;padding:28px;}
.joining-workflow-modal h2 {font-size:25px;line-height:1.3;}
.joining-workflow-modal>section>p:not(.workflow-modal-eyebrow):not(.workflow-modal-message) {font-size:14px;line-height:1.7;}
.joining-workflow-modal label {font-size:14px;line-height:1.5;}
.joining-workflow-modal textarea {font-size:14px;line-height:1.6;}
.joining-workflow-modal label small {font-size:12px;line-height:1.6;}
.workflow-modal-message {font-size:13px;line-height:1.6;}
.joining-workflow-modal footer button {font-size:14px;line-height:1.5;min-height:42px;}
.joining-workflow-native-blocked #salary-review-form,.joining-workflow-native-blocked #signed-upload-form {opacity:1;filter:none;}
.joining-workflow-native-blocked #salary-review-form::after,.joining-workflow-native-blocked #signed-upload-form::after {content:"This stage is read-only. Published documents remain available to view.";font-size:13px;line-height:1.6;}
.joining-correction-banner p {font-size:12px;}
.joining-correction-banner strong {font-size:16px;}
.joining-correction-banner small {font-size:13px;line-height:1.6;}
.joining-correction-banner>button {font-size:13px;}
.workflow-receipt-notice {font-size:14px;line-height:1.65;}

/* Login and private applicant status use the same type and colour system. */
body:is(.joining-app-page,.officer-page) :is(.form-grid,.salary-input-grid) label>span {font-size:14px;line-height:1.5;font-weight:600;}
body:is(.joining-app-page,.officer-page) .section-title strong {font-size:18px;line-height:1.4;}
body:is(.joining-app-page,.officer-page) .section-title small {font-size:13px;line-height:1.6;}
body:is(.joining-app-page,.officer-page) .notice strong {font-size:14px;line-height:1.5;}
body:is(.joining-app-page,.officer-page) .notice p {font-size:13px;line-height:1.65;}
.joining-app-page .form-heading {padding:23px 26px;}
.joining-app-page .form-step {padding:27px 26px 32px;}
.joining-app-page .form-actions {padding:17px 26px;}
.joining-app-page .upload-tile strong {font-size:14px;line-height:1.5;}
.joining-app-page .upload-tile small {font-size:12px;line-height:1.6;}
.joining-app-page .upload-tile em {font-size:12px;line-height:1.5;}
.joining-app-page .declaration-line {font-size:14px;line-height:1.75;}
.employee-login-story {background:linear-gradient(145deg,#05223d,#0a4f76 75%,#0c6793);}
.login-story-copy h1 {font-size:clamp(34px,3.5vw,54px);line-height:1.1;letter-spacing:-.04em;}
.login-story-copy>p:not(.login-kicker) {font-size:16px;line-height:1.75;color:#d1e5f2;}
.login-kicker,.login-story-tags span,.client-marquee-label,.login-story-metrics span {font-size:12px;line-height:1.5;}
.login-story-tags span {border-color:#ffffff40;background:#ffffff09;color:#d4e9f8;}
.employee-login-card {border-radius:18px;}
.employee-login-card h2 {font-size:34px;line-height:1.2;letter-spacing:-.03em;}
.login-eyebrow {font-size:12px;line-height:1.5;letter-spacing:.1em;}
.login-intro {font-size:15px;line-height:1.7;color:#506b80;}
.role-login-tabs button>span {font-size:14px;line-height:1.5;}
.role-login-tabs button>small {font-size:12px;line-height:1.5;}
#portal-login-form label>span {font-size:14px;line-height:1.5;}
#portal-login-form input {font-size:16px;line-height:1.5;min-height:48px;border-radius:9px;}
.login-submit {font-size:15px;line-height:1.5;min-height:48px;border-radius:9px;background:linear-gradient(120deg,#087fbf,#0869ad);}
.login-help strong {font-size:14px;line-height:1.5;}
.login-help p>span,.login-support,.website-link {font-size:12px;line-height:1.7;}
.track-page .simple-header {min-height:76px;background:#fff;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#14a8d6 78%,#f58220 78%) 1;gap:16px;}
.simple-header>span {font-size:14px;line-height:1.5;}
.track-card {width:min(900px,calc(100% - 40px));max-width:900px;padding:32px;border:1px solid #d7e2eb;border-radius:16px;box-shadow:0 8px 24px #102e4809;}
.track-card h1 {font-size:32px;line-height:1.25;letter-spacing:-.025em;}
.track-card>p {font-size:15px;line-height:1.75;}
.track-details dt {font-size:13px;line-height:1.5;}
.track-details dd {font-size:14px;line-height:1.6;overflow-wrap:anywhere;}
.salary-signature-heading strong,.signed-upload-success strong,.salary-waiting-card strong {font-size:16px;line-height:1.5;}
.salary-signature-heading p,.signed-upload-success p,.salary-waiting-card p {font-size:14px;line-height:1.7;}
.salary-download-button,.salary-secondary-link,.salary-signature-upload button {font-size:14px;line-height:1.5;min-height:42px;}
.salary-signature-upload label>span {font-size:14px;line-height:1.5;}
.salary-signature-upload label>small {font-size:12px;line-height:1.6;}
.salary-signature-upload input {font-size:14px;max-width:100%;}

@media (max-width:1100px) {
.joining-app-page .public-header {gap:12px;flex-wrap:wrap;}
.authenticated-employee small {max-width:225px;}
.officer-topbar {align-items:flex-start;}
.officer-stat-row {grid-template-columns:repeat(2,minmax(0,1fr));}
.generated-document-grid {grid-template-columns:1fr;}
}
@media (max-width:980px) {
.joining-app-page {padding-left:0;}
.joining-app-page .public-header {padding:14px 20px;}
.joining-app-page .public-header>.brand {display:block;max-width:175px;}
.joining-app-page .public-header>.brand img {width:100%;height:auto;}
.header-context {display:none;}
.authenticated-employee {margin-left:auto;}
.joining-app-page .welcome-band {margin:20px 20px 18px;padding:23px;}
.joining-app-page .joining-layout {padding:0 20px 30px;}
.joining-app-page .step-rail {position:static;inset:auto;z-index:auto;width:100%;height:auto;padding:15px;margin:0 0 20px;border:1px solid #cddce8;border-radius:12px;background:#fff;color:#29465c;box-shadow:none;overflow:visible;}
.step-rail :is(.join-rail-brand,.join-rail-title,.privacy-card,.help-card,.mobile-progress) {display:none;}
.step-rail>p {color:#52758b;margin:0 0 12px;font-size:12px;}
.step-rail #step-navigation {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
.step-rail #step-navigation button {display:grid;justify-items:start;align-content:start;gap:7px;min-height:98px;padding:10px 8px;}
.step-rail #step-navigation strong {font-size:12px;line-height:1.4;color:#35566f;}
.step-rail #step-navigation small {display:none;}
.step-rail #step-navigation button>span {color:#4f7490;background:#f1f7fb;border-color:#cddce8;}
.step-rail #step-navigation li.active button {background:#ebf6fd;border-color:#bddeef;box-shadow:inset 0 -3px #f58220;}
.step-rail #step-navigation li.active strong {color:#086da6;}
.officer-shell {grid-template-columns:1fr;}
.officer-sidebar {position:static;height:auto;padding:14px 20px;display:flex;flex-direction:row;align-items:center;gap:20px;overflow:visible;flex-wrap:wrap;}
.officer-sidebar>.brand {width:185px;}
.officer-sidebar>.join-rail-title,.officer-sidebar nav>p,.join-officer-help {display:none;}
.officer-sidebar nav {display:flex;flex:1;gap:8px;}
.officer-sidebar nav :is(a,button) {width:auto;min-height:40px;white-space:nowrap;}
.officer-user {padding:0;margin:0;border:0;background:none;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;}
.officer-user strong,.officer-user small {grid-column:1;}
.officer-user button {grid-column:2;grid-row:1/3;margin:0;}
.officer-main {padding:22px 20px 35px;}
.application-drawer {min-height:0;}
}
@media (max-width:700px) {
.joining-app-page .public-header {padding:12px 16px;gap:12px;}
.joining-app-page .public-header>.brand {max-width:152px;}
.authenticated-employee {max-width:calc(100% - 165px);}
.authenticated-employee>span {display:none;}
.authenticated-employee small {font-size:12px;}
.officer-link,.employee-logout {min-height:38px;font-size:13px;padding:8px 12px;}
.joining-app-page .welcome-band {margin:18px 14px;padding:22px 20px;}
.joining-app-page .welcome-band h1 {font-size:29px;}
.joining-app-page .welcome-band>div>p:last-child {font-size:14px;}
.joining-app-page .joining-layout {padding:0 14px 24px;}
.joining-app-page .step-rail {padding:12px;}
.step-rail #step-navigation {grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.step-rail #step-navigation button {min-height:86px;}
.joining-app-page .form-heading {padding:20px;align-items:flex-start;}
.form-heading h2 {font-size:26px;}
.form-heading .draft-chip {display:none;}
.joining-app-page .form-step {padding:22px 20px;}
.form-grid,.salary-input-grid,.upload-grid,.review-field-grid {grid-template-columns:minmax(0,1fr);}
.form-grid>.full,.salary-input-grid>.full {grid-column:auto;}
.joining-app-page .form-actions {padding:14px 16px;gap:9px;flex-wrap:wrap;}
.form-actions>span {order:-1;flex:0 0 100%;}
.form-actions button {flex:1;}
.joining-app-page .site-footer {padding:18px 16px;flex-direction:column;gap:8px;}
.workflow-preview {flex-direction:column;align-items:stretch;}
.workflow-preview>b {display:none;}
.otp-code-row {flex-wrap:wrap;}
.otp-code-row input {width:100%;}
.officer-sidebar {padding:14px 16px;gap:14px;}
.officer-sidebar>.brand {width:170px;}
.officer-sidebar nav {order:3;flex-basis:100%;}
.officer-user {flex:1;display:block;min-width:0;}
.officer-user small {display:none;}
.officer-user button {margin-top:7px;min-height:32px;font-size:12px;}
.officer-sidebar nav :is(a,button) {flex:1;justify-content:center;}
.officer-main {padding:18px 14px 30px;}
.officer-topbar {display:block;padding:23px 20px;}
.officer-topbar h1 {font-size:29px;}
.officer-topbar-actions {display:flex;max-width:none;width:100%;margin-top:22px;gap:10px;}
.officer-topbar-actions button {flex:1;}
.officer-stat-row {gap:12px;}
.officer-stat-row article {padding:16px;min-height:140px;}
.officer-stat-row strong {font-size:28px;}
.table-toolbar {padding:16px;gap:10px;}
.table-toolbar label {flex:0 0 100%;width:100%;min-width:0;}
.table-toolbar select {max-width:none;min-width:0;flex:1;}
.table-toolbar .secondary {padding:10px 12px;}
.application-results {padding:0 16px 14px;}
.application-drawer>header {padding:22px 20px;display:flex;flex-direction:column-reverse;align-items:stretch;gap:18px;}
.application-drawer>header #drawer-close {align-self:flex-start;}
.application-drawer>header h2 {font-size:28px;}
.application-drawer>nav {padding:0 10px;}
.application-drawer>nav button {padding:12px 10px;font-size:13px;}
.review-pane {padding:22px 20px;}
.joining-workflow-actions {margin:18px 20px 0;padding:16px;flex-direction:column;align-items:stretch;}
.joining-workflow-buttons {width:100%;display:flex;}
.joining-workflow-buttons button {width:100%;}
.salary-preview {padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));}
.salary-preview strong {font-size:15px;}
.salary-preview>strong {font-size:12px;}
.drawer-actions {display:grid;grid-template-columns:1fr;}
.document-archive-head {display:block;}
.document-archive-head>span {display:inline-block;margin-top:12px;}
.document-archive-card {padding:17px;grid-template-columns:34px minmax(0,1fr);gap:12px;}
.document-actions {grid-column:2;}
.document-actions a {flex:1;text-align:center;}
.generated-document-card {grid-template-columns:34px minmax(0,1fr);}
.generated-document-card button {grid-column:1/-1;}
.submission-steps article {padding:16px;gap:12px;}
.submission-steps article>span {flex:0 0 28px;width:28px;height:28px;}
#signed-upload-form button {width:100%;}
.form-message {margin:16px 20px 0;}
.joining-workflow-modal {padding:12px;}
.joining-workflow-modal>section {max-height:calc(100dvh - 24px);padding:24px 20px;}
.joining-workflow-modal footer {display:grid;}
.employee-login-shell {min-height:100dvh;}
.employee-login-panel {padding:24px 18px;}
.employee-login-card {padding:24px 20px;}
.employee-login-card h2 {font-size:30px;}
.role-login-tabs button {min-width:0;padding:12px 8px;}
.login-help {padding:14px;}
.track-card {width:calc(100% - 28px);padding:24px 20px;margin:22px auto;}
.track-card h1 {font-size:28px;}
.track-details {grid-template-columns:1fr;}
.track-page .simple-header {padding:16px;flex-wrap:wrap;}
.salary-download-button {white-space:normal;gap:10px;}
}
/* Keep navigation outside the single scrolling workspace on every screen. */
html:has(body.joining-app-page),html:has(body.officer-page) {height:100%;overflow:hidden;}
body.joining-app-page,body.officer-page {height:100dvh;min-height:0;overflow:hidden;padding:0;}
.joining-shell,.officer-shell {display:grid;grid-template-columns:264px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden;}
.joining-shell>.step-rail,.officer-shell>.officer-sidebar {position:relative;inset:auto;align-self:stretch;width:100%;height:100%;min-height:0;margin:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.joining-content {display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;}
.joining-scroll,.officer-shell>.officer-main {min-width:0;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8aa7bc #edf3f8;}
.joining-content>.public-header {z-index:31;flex-shrink:0;}
.joining-app-page .joining-layout {width:100%;}
.officer-page.joining-confirmation-open .officer-main {overflow-y:hidden;}
@media (max-width:980px) {
  .joining-shell,.officer-shell {grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);}
  .joining-shell>.step-rail {height:auto;max-height:140px;padding:10px 14px;border:0;border-radius:0;background:linear-gradient(165deg,#05172c,#08294b);overflow:hidden;}
  .joining-shell>.step-rail>p {display:none;}
  .joining-shell .step-rail #step-navigation {display:flex;gap:7px;overflow-x:auto;padding:0 0 3px;scrollbar-width:thin;scrollbar-color:#4b7698 #0a2945;}
  .joining-shell .step-rail #step-navigation li {flex:1 0 126px;}
  .joining-shell .step-rail #step-navigation button {display:flex;align-items:center;gap:8px;min-height:62px;height:100%;padding:9px 10px;}
  .joining-shell .step-rail #step-navigation strong {color:#e2edf6;font-size:12px;}
  .joining-shell .step-rail #step-navigation button>span {flex:0 0 27px;width:27px;height:27px;color:#c4dbea;background:#ffffff0b;border-color:#ffffff24;}
  .joining-shell .step-rail #step-navigation li.active button {background:#0c4674;border-color:#2f6083;box-shadow:inset 0 -3px #f58220;}
  .joining-shell .step-rail #step-navigation li.active button>span {background:#0d7cbe;border-color:#3394c9;color:#fff;}
  .officer-shell>.officer-sidebar {height:auto;max-height:34dvh;}
  .officer-page .application-drawer {min-height:0;}
}
/* CRM Active Leads pattern: fixed controls, one scrolling content panel. */
.officer-shell>.officer-main {overflow:hidden;}
.officer-list-view {display:flex;flex-direction:column;height:100%;min-height:0;}
.officer-list-view>.officer-topbar,.officer-list-view>.officer-stat-row,.officer-list-view>.form-message {flex:0 0 auto;}
.officer-list-view>.officer-table-card {display:flex;flex-direction:column;flex:1;min-height:0;}
.officer-table-card>.table-toolbar,.officer-table-card>.application-results {flex:0 0 auto;}
.officer-table-card>.table-scroll {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;}
.officer-table-card thead th {position:sticky;top:0;z-index:2;}
.officer-page .drawer-backdrop {height:100%;min-height:0;}
.officer-page .application-drawer {display:flex;flex-direction:column;height:100%;min-height:0;max-height:100%;overflow:hidden;}
.application-drawer>header,.application-drawer>nav,.application-drawer>.joining-workflow-actions,.application-drawer>.form-message {flex:0 0 auto;}
.application-drawer>nav {position:relative;top:auto;}
.application-drawer>.review-pane {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8aa7bc #edf3f8;}
.joining-scroll {display:flex;flex-direction:column;overflow:hidden;}
.joining-content .welcome-band {flex:0 0 auto;margin:16px 30px 14px;padding:15px 22px;}
.joining-content .welcome-band h1 {font-size:25px;margin:6px 0 7px;}
.joining-content .welcome-band>div>p:last-child {font-size:13px;line-height:1.5;}
.joining-content .joining-layout {display:flex;align-items:stretch;flex:1;min-height:0;padding-bottom:18px;}
.joining-content .joining-card {display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;}
.joining-content .form-heading,.joining-content .form-message,.joining-content .form-actions {flex:0 0 auto;}
.joining-content .form-heading {padding:17px 22px;}
.joining-content .form-heading h2 {font-size:25px;}
.joining-content .form-step {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8aa7bc #edf3f8;}
.joining-content .form-actions {position:relative;bottom:auto;padding:13px 22px;}
.joining-content .site-footer {flex:0 0 auto;padding:9px 30px;}
.joining-content .submission-receipt {flex:1;min-height:0;overflow:auto;}
@media (max-width:980px) {
  .joining-content .welcome-band,.joining-content .site-footer {display:none;}
  .joining-content .joining-layout {padding:14px 16px;}
  .officer-topbar {padding:16px 18px;margin-bottom:14px;}
  .officer-topbar h1 {font-size:25px;margin:5px 0 0;}
  .officer-topbar>div>span {display:none;}
  .officer-stat-row {grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px;}
  .officer-stat-row article {min-height:80px;padding:10px 12px;}
  .officer-stat-row span {font-size:12px;}
  .officer-stat-row strong {font-size:25px;margin:5px 0 0;}
  .officer-stat-row small {display:none;}
  .application-drawer>header {padding:16px 20px;}
  .application-drawer>header h2 {font-size:24px;}
}
@media (max-width:700px) {
  .joining-content>.public-header {padding:10px 12px;gap:9px;min-height:62px;}
  .joining-content>.public-header>.brand {max-width:108px;}
  .joining-content .authenticated-employee {flex:1;max-width:none;}
  .joining-content .authenticated-employee strong {font-size:12px;}
  .joining-content .authenticated-employee small {display:none;}
  .joining-content>.public-header .officer-link {font-size:0;gap:0;min-width:38px;padding:8px;}
  .joining-content>.public-header .employee-logout {font-size:12px;padding:8px;}
  .joining-content .form-heading {padding:13px 16px;}
  .joining-content .form-heading h2 {font-size:22px;margin:5px 0;}
  .joining-content .form-heading>div>span {font-size:12px;}
  .joining-content .form-actions {padding:11px 14px;flex-wrap:nowrap;}
  .joining-content .form-actions>span {display:none;}
  .officer-shell>.officer-main {padding:14px 12px;}
  .officer-topbar {padding:12px 14px;}
  .officer-topbar h1 {font-size:23px;}
  .officer-topbar-actions {margin-top:10px;}
  .officer-stat-row article {padding:9px;min-height:76px;}
  .officer-stat-row span {font-size:11px;}
  .officer-stat-row strong {font-size:23px;}
  .table-toolbar {padding:12px;gap:8px;}
  .application-results {padding:0 12px 10px;}
  .application-drawer>header {padding:13px 16px;gap:10px;}
  .application-drawer>header h2 {font-size:22px;margin:4px 0 6px;}
  .application-drawer>header .eyebrow {display:none;}
  .joining-workflow-actions {margin:10px 16px 0;padding:11px;gap:8px;}
}
/* Compact workspace chrome leaves the page height for applications and forms. */
.officer-shell>.officer-main {padding:20px 24px;}
.officer-topbar {display:flex;align-items:center;gap:18px;padding:13px 18px;margin-bottom:14px;border-radius:13px;}
.officer-topbar .eyebrow {font-size:10px;line-height:1.5;}
.officer-topbar h1 {font-size:24px;line-height:1.2;margin:4px 0 0;}
.officer-topbar>div>span {display:none;}
.officer-topbar-actions {display:flex;flex-direction:row;max-width:none;gap:8px;margin:0;}
.officer-topbar-actions button {min-height:38px;padding:8px 13px;}
.officer-stat-row {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px;}
.officer-stat-row article {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:11px 15px;border-top-width:2px;border-radius:10px;}
.officer-stat-row span {font-size:13px;line-height:1.4;}
.officer-stat-row strong {font-size:26px;line-height:1.15;margin:0;}
.officer-stat-row small {display:none;}
.table-toolbar {padding:12px 16px;}
.application-results {padding:0 16px 10px;}
.application-drawer>header {padding:13px 20px;}
.application-drawer>header .eyebrow {font-size:10px;}
.application-drawer>header h2 {font-size:24px;margin:3px 0 5px;}
.application-drawer>nav button {min-height:46px;padding:10px 12px;}
.joining-workflow-actions {margin:12px 20px 0;padding:11px 14px;}
.joining-content>.public-header {min-height:64px;padding:10px 24px;}
.joining-content .welcome-band {margin:12px 30px 10px;padding:12px 20px;}
.joining-content .welcome-band .eyebrow,.joining-content .welcome-band>div>p:last-child {display:none;}
.joining-content .welcome-band h1 {font-size:22px;line-height:1.3;margin:0;}
.joining-content .form-heading {padding:13px 20px;}
.joining-content .form-heading h2 {font-size:23px;margin:4px 0 5px;}
.joining-content .form-heading>div>p {font-size:11px;}
.joining-content .form-heading>div>span {font-size:13px;}
@media (max-width:700px) {
  .officer-shell>.officer-main {padding:12px;}
  .officer-topbar {padding:11px 13px;gap:10px;flex-wrap:wrap;}
  .officer-topbar h1 {font-size:22px;}
  .officer-topbar-actions {width:auto;margin-left:auto;}
  .officer-topbar-actions button {font-size:12px;padding:8px 10px;}
  .officer-stat-row {gap:7px;}
  .officer-stat-row article {flex-direction:column;align-items:flex-start;gap:5px;min-height:66px;padding:8px;}
  .officer-stat-row span {font-size:11px;}
  .officer-stat-row strong {font-size:23px;}
  .joining-content>.public-header {padding:10px 12px;}
  .joining-content .form-heading {padding:12px 16px;}
  .joining-content .form-heading h2 {font-size:22px;}
  .application-drawer>header {padding:12px 16px;}
  .application-drawer>header h2 {font-size:22px;}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
}
