/* =========================================================
   ATJA RMS - MASTER STYLESHEET
   Responsive Admin / Employer / Demand / Candidate UI
   Version: 2026-09-07-R2
   ========================================================= */

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f4f6f8;
    color: #222;
}

a {
    color: #0b5ed7;
}

.app-shell {
    min-height: 100vh;
}

/* =========================================================
   HEADER
   ========================================================= */

.top-header {
    background: #ffffff;
    border-bottom: 1px solid #dfe3e8;
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.brand-block h1 {
    margin: 0;
    font-size: 22px;
}

.brand-block span {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    color: #666;
}

.user-block {
    text-align: right;
    font-size: 14px;
}

.user-block strong {
    display: block;
    margin-bottom: 4px;
}

/* Supports either class currently used by header.php */
.main-nav,
.nav {
    background: #1f2937;
    padding: 0 24px;
    max-width: 100%;
}

.main-nav a,
.nav a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    padding: 14px 16px;
}

.main-nav a:hover,
.nav a:hover {
    background: #374151;
}

/* =========================================================
   PAGE LAYOUT
   ========================================================= */

.page-container {
    width: 100%;
    max-width: 1250px;
    margin: 25px auto;
    padding: 0 20px;
}

.page-card,
.card {
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 10px;
    padding: 24px;
}

.page-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.page-heading > div {
    min-width: 0;
}

.page-heading h1,
.page-heading h2 {
    margin: 0;
    overflow-wrap: anywhere;
}

.page-heading p {
    margin: 6px 0 0;
    color: #666;
    line-height: 1.45;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: none;
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;
}

.btn-primary {
    background: #1f2937;
    color: #fff;
}

.btn-primary:hover {
    background: #374151;
}

.btn-secondary {
    background: #e5e7eb;
    color: #222;
}

.btn-secondary:hover {
    background: #d9dde3;
}

.btn-danger {
    background: #b42318;
    color: #fff;
}

.btn-danger:hover {
    background: #912018;
}

/* =========================================================
   FORMS
   ========================================================= */

.form-row,
.form-group {
    margin-bottom: 18px;
}

.form-row label,
.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.form-control,
input,
select,
textarea {
    max-width: 100%;
    box-sizing: border-box;
}

.form-control {
    width: 100%;
    border: 1px solid #cfd5dc;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 14px;
    background: #fff;
    color: #222;
}

.form-control:focus {
    outline: none;
    border-color: #9fb4c5;
    box-shadow: 0 0 0 3px rgba(66, 98, 123, 0.10);
}

textarea.form-control {
    min-height: 100px;
    resize: vertical;
}

.required {
    color: #b42318;
}

/* =========================================================
   TABLES
   ========================================================= */

.table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th,
.data-table td {
    border-bottom: 1px solid #e1e5e9;
    padding: 11px 10px;
    text-align: left;
    vertical-align: top;
}

.data-table th {
    background: #f7f8fa;
    font-size: 13px;
}

/* =========================================================
   STATUS BADGES
   ========================================================= */

.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 11px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .15px;
    white-space: nowrap;
    border: 1px solid transparent;
}

.status-success {
    background: #edf6f0;
    color: #35634a;
    border-color: #cfe3d5;
}

.status-warning {
    background: #faf4e8;
    color: #79613a;
    border-color: #e8d9b9;
}

.status-danger {
    background: #f9eeee;
    color: #844747;
    border-color: #e8cccc;
}

.status-info {
    background: #edf3f8;
    color: #42627b;
    border-color: #cfdee9;
}

.status-neutral {
    background: #f2f3f4;
    color: #626970;
    border-color: #dcdfe2;
}

/* =========================================================
   ALERTS / EMPTY STATE / FOOTER
   ========================================================= */

.alert {
    padding: 12px 15px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.alert-success {
    background: #ecfdf3;
    border: 1px solid #abefc6;
    color: #067647;
}

.alert-error {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

.empty-state {
    padding: 30px 5px;
    color: #666;
}

.footer {
    max-width: 1250px;
    margin: 30px auto;
    padding: 0 20px 25px;
    color: #777;
    font-size: 13px;
}

.back-link {
    margin-top: 22px;
}

/* =========================================================
   EXPANDABLE ACTION CONTROLS
   ========================================================= */

details > summary {
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #42627b;
    padding: 4px 2px;
    transition: color .15s ease;
    user-select: none;
}

details > summary:hover {
    color: #294b66;
    text-decoration: underline;
}

details > summary:focus {
    outline: 2px solid #cfdee9;
    outline-offset: 3px;
    border-radius: 3px;
}

details > summary.action-reject {
    color: #844747;
}

details > summary.action-reject:hover {
    color: #6f3838;
}

details > summary.action-na {
    color: #626970;
}

details > summary.action-na:hover {
    color: #42494f;
}

/* =========================================================
   CANDIDATE MODULE - MODERN REGISTER
   ========================================================= */

.candidate-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.candidate-toolbar h1 {
    margin: 0;
    font-size: 30px;
    line-height: 1.15;
    color: #1f2937;
}

.candidate-toolbar p {
    margin: 7px 0 0;
    color: #66727c;
    line-height: 1.45;
}

.candidate-toolbar-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.stat-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.stat-card {
    display: block;
    min-width: 0;
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 10px;
    padding: 18px;
    box-shadow: 0 1px 2px rgba(31, 41, 55, .04);
}

.stat-card-label {
    font-size: 12px;
    font-weight: 700;
    color: #69747d;
    margin-bottom: 7px;
    text-transform: uppercase;
    letter-spacing: .25px;
}

.stat-card-value {
    font-size: 28px;
    line-height: 1;
    font-weight: 700;
    color: #263947;
}

.stat-card-note {
    margin-top: 8px;
    font-size: 12px;
    color: #8a949c;
}

.filter-card {
    display: block;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 20px;
    box-shadow: 0 1px 2px rgba(31, 41, 55, .03);
}

.filter-grid {
    display: grid !important;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(150px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.filter-field {
    min-width: 0;
}

.filter-field label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #52616d;
}

.filter-field:last-child {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.candidate-name-block {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 190px;
}

.candidate-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #edf3f8;
    color: #42627b;
    font-size: 13px;
    font-weight: 700;
}

.candidate-name {
    font-weight: 700;
    color: #253947;
}

.candidate-subtext {
    margin-top: 3px;
    font-size: 12px;
    color: #7d8992;
}

/* Candidate form sections */

.form-section {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 18px;
    box-shadow: 0 1px 2px rgba(31, 41, 55, .03);
}

.form-section-header {
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #edf0f2;
}

.form-section-header h2 {
    margin: 0 0 5px;
    font-size: 18px;
    color: #293f4e;
}

.form-section-header p {
    margin: 0;
    font-size: 13px;
    color: #7b8790;
    line-height: 1.4;
}

.form-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.preference-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.preference-option {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #dfe5e9;
    border-radius: 8px;
    background: #fafbfc;
    cursor: pointer;
}

.preference-option:hover {
    background: #f5f8fa;
    border-color: #ccd9e1;
}

.preference-option input {
    width: auto;
    margin: 0;
}

.form-help {
    margin-top: 5px;
    font-size: 12px;
    color: #84909a;
}

.form-actions-bar {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    position: sticky;
    bottom: 0;
    padding: 14px 0;
    margin-top: 8px;
    background: rgba(244, 246, 248, .96);
    z-index: 5;
}

/* =========================================================
   RESPONSIVE CARD TABLE
   Add data-label to each <td>
   ========================================================= */

@media (max-width: 700px) {
    .responsive-card-table {
        display: block;
        width: 100%;
        border: 0;
    }

    .responsive-card-table thead {
        display: none;
    }

    .responsive-card-table tbody {
        display: block;
        width: 100%;
    }

    .responsive-card-table tr {
        display: block;
        width: 100%;
        margin-bottom: 16px;
        padding: 14px;
        border: 1px solid #dcdfe2;
        border-radius: 9px;
        background: #ffffff;
    }

    .responsive-card-table td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        width: 100%;
        padding: 8px 0;
        border: 0;
        text-align: right;
        overflow-wrap: anywhere;
    }

    .responsive-card-table td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        max-width: 42%;
        text-align: left;
        font-size: 12px;
        font-weight: 700;
        color: #626970;
    }

    .responsive-card-table td[data-label="Candidate"],
    .responsive-card-table td[data-label="Job Category"] {
        font-size: 15px;
    }

    .responsive-card-table td[data-label="Actions"] {
        display: block;
        text-align: left;
        padding-top: 12px;
        margin-top: 5px;
        border-top: 1px solid #edf0f2;
    }

    .responsive-card-table td[data-label="Actions"]::before {
        display: block;
        max-width: none;
        margin-bottom: 8px;
    }

    .responsive-card-table td[data-label="Actions"] form {
        display: inline-block !important;
        margin: 3px 5px 3px 0;
    }

    .responsive-card-table td[data-label="Actions"] .btn {
        margin: 3px 5px 3px 0;
    }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 950px) {
    .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .preference-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   MOBILE / SMALL TABLET
   ========================================================= */

@media (max-width: 768px) {
    .top-header,
    .page-heading {
        flex-direction: column;
        align-items: flex-start;
    }

    .user-block {
        text-align: left;
    }

    .main-nav,
    .nav {
        display: flex;
        align-items: center;
        gap: 0;
        width: 100%;
        padding: 0 10px;
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .main-nav a,
    .nav a {
        flex: 0 0 auto;
        white-space: nowrap;
        padding: 12px 10px;
    }
}

@media (max-width: 600px) {
    .page-container {
        margin-top: 18px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .page-card,
    .card,
    .form-section,
    .filter-card {
        max-width: 100%;
    }

    .page-heading {
        display: block;
    }

    .page-heading h1,
    .candidate-toolbar h1 {
        font-size: 27px;
        line-height: 1.15;
    }

    .page-heading p {
        line-height: 1.35;
    }

    .page-heading > .btn {
        display: inline-flex;
        width: auto;
        margin-top: 10px;
    }

    input,
    select,
    textarea,
    .form-control {
        width: 100%;
        font-size: 16px;
    }

    .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .stat-card {
        padding: 14px;
    }

    .stat-card-value {
        font-size: 23px;
    }

    .filter-grid,
    .form-grid-2,
    .form-grid-3,
    .preference-grid {
        grid-template-columns: 1fr;
    }

    .filter-field:last-child {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .candidate-toolbar {
        display: block;
    }

    .candidate-toolbar-actions {
        margin-top: 12px;
    }

    .candidate-toolbar-actions .btn {
        width: 100%;
    }

    .form-section {
        padding: 16px;
    }

    .form-actions-bar {
        display: grid;
        grid-template-columns: 1fr;
    }

    .form-actions-bar .btn {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .stat-grid {
        grid-template-columns: 1fr;
    }

    .filter-field:last-child {
        grid-template-columns: 1fr;
    }

    .top-header {
        padding: 14px;
    }
}

/* =========================================================
   ATJA RMS - CANDIDATE PROFILE VIEW
   ========================================================= */

.candidate-profile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;

    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 12px;
    padding: 22px;

    margin-bottom: 18px;
}

.candidate-profile-main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.candidate-profile-avatar {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #edf3f8;
    color: #42627b;

    font-size: 21px;
    font-weight: 700;
}

.candidate-profile-identity {
    min-width: 0;
}

.candidate-profile-identity h1 {
    margin: 0;
    font-size: 26px;
    line-height: 1.2;
    color: #263947;
}

.candidate-profile-code {
    margin-top: 5px;
    color: #7b8790;
    font-size: 13px;
}

.candidate-profile-statuses {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.candidate-profile-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}


/* =========================================================
   PROFILE COMPLETENESS
   ========================================================= */

.profile-completeness-card {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 18px;
}

.profile-completeness-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-bottom: 12px;
}

.profile-completeness-title {
    font-weight: 700;
    color: #293f4e;
}

.profile-completeness-score {
    font-size: 20px;
    font-weight: 700;
    color: #42627b;
}

.profile-progress {
    width: 100%;
    height: 10px;

    overflow: hidden;

    background: #edf0f2;
    border-radius: 20px;
}

.profile-progress-bar {
    height: 100%;
    border-radius: 20px;
    background: #42627b;
}

.profile-completeness-note {
    margin-top: 10px;
    color: #7b8790;
    font-size: 13px;
}

.profile-missing {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #edf0f2;
}

.profile-missing strong {
    display: block;
    margin-bottom: 8px;
    color: #52616d;
}

.profile-missing-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.profile-missing-item {
    display: inline-flex;
    padding: 5px 9px;

    background: #faf4e8;
    color: #79613a;

    border: 1px solid #e8d9b9;
    border-radius: 6px;

    font-size: 12px;
}


/* =========================================================
   CANDIDATE INFORMATION GRID
   ========================================================= */

.candidate-info-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.candidate-info-card {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 12px;
    padding: 20px;
}

.candidate-info-card.full-width {
    grid-column: 1 / -1;
}

.candidate-info-card h2 {
    margin: 0 0 16px;

    font-size: 17px;
    color: #293f4e;

    padding-bottom: 11px;
    border-bottom: 1px solid #edf0f2;
}

.info-list {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 15px 18px;
}

.info-item {
    min-width: 0;
}

.info-label {
    display: block;
    margin-bottom: 4px;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .25px;

    color: #84909a;
}

.info-value {
    display: block;

    color: #293f4e;
    font-size: 14px;

    line-height: 1.45;
    overflow-wrap: anywhere;
}

.preference-chip-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.preference-chip {
    display: inline-flex;
    align-items: center;

    padding: 6px 10px;

    background: #edf3f8;
    color: #42627b;

    border: 1px solid #cfdee9;
    border-radius: 7px;

    font-size: 12px;
    font-weight: 600;
}

.preference-chip.primary {
    background: #edf6f0;
    color: #35634a;
    border-color: #cfe3d5;
}


/* =========================================================
   CANDIDATE PROFILE MOBILE
   ========================================================= */

@media (max-width: 800px) {

    .candidate-info-grid {
        grid-template-columns: 1fr;
    }

    .candidate-info-card.full-width {
        grid-column: auto;
    }
}

@media (max-width: 600px) {

    .candidate-profile-header {
        padding: 16px;
        display: block;
    }

    .candidate-profile-main {
        align-items: flex-start;
    }

    .candidate-profile-avatar {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
        font-size: 18px;
    }

    .candidate-profile-identity h1 {
        font-size: 22px;
    }

    .candidate-profile-actions {
        margin-top: 16px;
    }

    .candidate-profile-actions .btn {
        width: 100%;
    }

    .profile-completeness-top {
        align-items: flex-start;
    }

    .info-list {
        grid-template-columns: 1fr;
    }

    .candidate-info-card {
        padding: 16px;
    }
}


/* =========================================================
   ATJA RMS - CANDIDATE CONTROL ACTIONS
   ========================================================= */

.candidate-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.candidate-control-card {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 12px;
    padding: 20px;
}

.candidate-control-card h2 {
    margin: 0 0 7px;
    font-size: 17px;
    color: #293f4e;
}

.candidate-control-card p {
    margin: 0 0 15px;
    color: #7b8790;
    font-size: 13px;
    line-height: 1.45;
}

.candidate-control-current {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.candidate-control-actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
}

.candidate-action-form {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #edf0f2;
}

.candidate-action-form label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #52616d;
}

.candidate-gate-list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.candidate-gate-list li {
    padding: 6px 0;
    font-size: 13px;
    color: #79613a;
}

.candidate-gate-ready {
    padding: 10px 12px;
    background: #edf6f0;
    color: #35634a;
    border: 1px solid #cfe3d5;
    border-radius: 7px;
    font-size: 13px;
    margin-top: 12px;
}

.candidate-gate-blocked {
    padding: 10px 12px;
    background: #faf4e8;
    color: #79613a;
    border: 1px solid #e8d9b9;
    border-radius: 7px;
    font-size: 13px;
    margin-top: 12px;
}

@media (max-width: 800px) {

    .candidate-control-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {

    .candidate-control-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .candidate-control-actions .btn {
        width: 100%;
    }
}

/* =========================================================
   ATJA RMS - CANDIDATE DOCUMENTS
   ========================================================= */

.document-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.document-summary-card {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 10px;
    padding: 15px;
}

.document-summary-label {
    font-size: 11px;
    font-weight: 700;
    color: #84909a;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.document-summary-value {
    margin-top: 5px;
    font-size: 23px;
    font-weight: 700;
    color: #293f4e;
}

.document-upload-card {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 18px;
}

.document-upload-card h2 {
    margin: 0 0 6px;
    font-size: 18px;
    color: #293f4e;
}

.document-upload-card > p {
    margin: 0 0 18px;
    color: #7b8790;
    font-size: 13px;
}

.document-upload-grid {
    display: grid;
    grid-template-columns:
        minmax(180px, .8fr)
        minmax(220px, 1.3fr)
        minmax(240px, 1.5fr);
    gap: 15px;
    align-items: end;
}

.document-type-note {
    margin-top: 5px;
    font-size: 11px;
    color: #84909a;
}

.document-list-card {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 12px;
    padding: 20px;
}

.document-file-name {
    font-weight: 600;
    color: #293f4e;
    overflow-wrap: anywhere;
}

.document-file-meta {
    margin-top: 3px;
    font-size: 11px;
    color: #84909a;
}

.document-title {
    font-size: 13px;
    color: #52616d;
}

.document-security-note {
    margin-top: 14px;
    padding: 11px 13px;
    border-radius: 7px;
    background: #edf3f8;
    color: #42627b;
    border: 1px solid #cfdee9;
    font-size: 12px;
}

@media (max-width: 950px) {

    .document-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .document-upload-grid {
        grid-template-columns: 1fr 1fr;
    }

    .document-upload-grid .document-file-field {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {

    .document-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .document-upload-grid {
        grid-template-columns: 1fr;
    }

    .document-upload-grid .document-file-field {
        grid-column: auto;
    }

    .document-upload-card,
    .document-list-card {
        padding: 16px;
    }
}

/* =========================================================
   ATJA RMS - CANDIDATE DOCUMENT READINESS
   ========================================================= */

.document-readiness-card {
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 18px;
}

.document-readiness-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.document-readiness-header h2 {
    margin: 0 0 5px;
    font-size: 18px;
    color: #293f4e;
}

.document-readiness-header p {
    margin: 0;
    color: #7b8790;
    font-size: 13px;
}

.document-readiness-overall {
    text-align: right;
}

.document-readiness-score {
    font-size: 22px;
    font-weight: 700;
    color: #293f4e;
    margin-bottom: 5px;
}

.document-readiness-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.document-readiness-item {
    border: 1px solid #e1e6ea;
    border-radius: 9px;
    padding: 14px;
    min-width: 0;
}

.document-readiness-type {
    display: block;
    margin-bottom: 9px;
    font-size: 11px;
    font-weight: 700;
    color: #84909a;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.document-readiness-detail {
    display: block;
    margin-top: 7px;
    font-size: 11px;
    color: #84909a;
    line-height: 1.4;
}

.document-readiness-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;

    margin-top: 16px;
    padding-top: 15px;
    border-top: 1px solid #edf0f2;
}

@media (max-width: 950px) {

    .document-readiness-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .document-readiness-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .document-readiness-overall {
        text-align: left;
    }

    .document-readiness-footer {
        align-items: stretch;
    }

    .document-readiness-footer .btn {
        width: 100%;
    }
}

/* =========================================================
   ATJA RMS - Candidate Matching Requirement Tiles
   STEP 3C-7C.3 responsive enhancement
   Append to /public_html/assets/css/rms.css
   ========================================================= */

.matching-requirements-card {
    overflow: hidden;
}

.matching-requirements-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.matching-requirements-header h3 {
    margin: 0 0 6px;
}

.matching-requirements-header p {
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

.matching-info-note {
    width: min(420px, 38%);
    padding: 12px 14px;
    border: 1px solid #d8e6f2;
    border-radius: 10px;
    background: #f3f8fc;
    color: #42627b;
    font-size: 13px;
    line-height: 1.5;
}

.matching-tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.matching-tile {
    min-width: 0;
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid #dde4ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.04);
}

.matching-tile-content {
    min-width: 0;
    flex: 1 1 auto;
}

.matching-tile-label {
    margin-bottom: 5px;
    color: #1f2937;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.matching-tile-help {
    color: #718096;
    font-size: 12.5px;
    line-height: 1.4;
}

.matching-tile-value {
    flex: 0 0 auto;
    max-width: 46%;
    padding: 9px 13px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #25354d;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-align: right;
    overflow-wrap: anywhere;
}

.matching-tile-value-text {
    font-weight: 600;
}

.matching-tile .status-badge {
    flex: 0 0 auto;
    min-width: 58px;
}

/* Tablet */
@media (max-width: 900px) {
    .matching-requirements-header {
        flex-direction: column;
        gap: 12px;
    }

    .matching-info-note {
        width: 100%;
        box-sizing: border-box;
    }

    .matching-tiles {
        grid-template-columns: 1fr;
    }

    .matching-tile-value {
        max-width: 52%;
    }
}

/* Mobile */
@media (max-width: 560px) {
    .matching-requirements-card {
        padding-left: 14px;
        padding-right: 14px;
    }

    .matching-requirements-header {
        margin-bottom: 16px;
    }

    .matching-tiles {
        gap: 10px;
    }

    .matching-tile {
        min-height: 0;
        padding: 14px;
        gap: 12px;
        border-radius: 10px;
    }

    .matching-tile-label {
        font-size: 13.5px;
    }

    .matching-tile-help {
        font-size: 12px;
    }

    .matching-tile-value {
        max-width: 45%;
        padding: 7px 9px;
        font-size: 13px;
    }
}

/* Very small phones */
@media (max-width: 400px) {
    .matching-tile {
        align-items: flex-start;
        flex-direction: column;
    }

    .matching-tile-value,
    .matching-tile .status-badge {
        max-width: 100%;
        align-self: flex-start;
        text-align: left;
    }
}

/* =========================================================
   ATJA RMS - Demand View UI Standard
   Tile-first, adaptive and responsive
   Append to /public_html/assets/css/rms.css
   ========================================================= */

.atja-section-card { overflow: hidden; }

.atja-section-header { margin-bottom: 18px; }

.atja-section-header h2,
.atja-section-header h3 { margin: 0 0 6px; }

.atja-section-header p {
    margin: 0;
    color: #64748b;
    line-height: 1.5;
}

.atja-section-header-split {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.atja-info-grid {
    display: grid;
    gap: 14px;
}

.atja-info-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.atja-info-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.atja-info-tile {
    min-width: 0;
    padding: 16px 17px;
    border: 1px solid #dde4ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.04);
}

.atja-info-tile-wide { grid-column: span 2; }

.atja-info-label {
    margin-bottom: 7px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .25px;
    text-transform: uppercase;
}

.atja-info-value {
    color: #1f2937;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.atja-info-value-text { font-weight: 500; white-space: normal; }

.atja-info-note {
    margin-top: 7px;
    color: #718096;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.45;
}

.atja-tile-substatus { margin-top: 8px; }
.atja-readiness-tile { background: #f8fbfd; }

.atja-overall-status {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 12px;
    border: 1px solid #dde4ea;
    border-radius: 10px;
    background: #f8fafc;
}

.atja-overall-label {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.atja-compliance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.atja-compliance-tile {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid #dde4ea;
    border-radius: 12px;
    background: #fff;
}

.atja-compliance-tile .status-badge { flex: 0 0 auto; }

.atja-action-panel {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid #dbe3ea;
    border-radius: 12px;
    background: #fbfcfd;
}

.atja-action-panel h3 { margin: 0 0 6px; }

.atja-action-panel > p {
    margin: 0 0 16px;
    color: #64748b;
}

.atja-current-check { margin-bottom: 16px; }
.atja-note-block { margin-top: 10px; }

.atja-info-banner {
    margin-top: 18px;
    padding: 12px 14px;
    border: 1px solid #e8d9b9;
    border-radius: 10px;
    background: #faf4e8;
    color: #79613a;
    font-size: 13px;
    line-height: 1.5;
}

.atja-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.atja-form-alert { margin-bottom: 14px; }

.atja-conditional-required {
    color: #b42318;
    font-weight: 700;
}

.atja-document-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.atja-document-card {
    min-width: 0;
    padding: 17px;
    border: 1px solid #dde4ea;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.04);
}

.atja-document-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #edf0f2;
}

.atja-document-header h4 {
    margin: 0;
    color: #1f2937;
    font-size: 15px;
}

.atja-document-header p {
    margin: 5px 0 0;
    color: #718096;
    font-size: 12.5px;
}

.atja-document-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px 0;
}

.atja-document-meta span {
    display: block;
    margin-bottom: 3px;
    color: #718096;
    font-size: 11.5px;
    font-weight: 600;
}

.atja-document-meta strong {
    display: block;
    color: #283548;
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.atja-document-meta small {
    display: block;
    margin-top: 3px;
    color: #7b8794;
    font-size: 11px;
}

.atja-document-verification {
    padding: 12px;
    border-radius: 9px;
    background: #f8fafc;
}

.atja-document-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.atja-inline-form {
    display: inline-flex;
    margin: 0;
}

.atja-action-details {
    width: 100%;
    margin-top: 4px;
}

.atja-detail-form {
    margin-top: 10px;
    padding: 13px;
    border: 1px solid #e1e6eb;
    border-radius: 10px;
    background: #fafbfc;
}

.atja-detail-form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.atja-detail-form .btn { margin-top: 9px; }

@media (max-width: 1100px) {
    .atja-info-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .atja-document-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .atja-section-header-split {
        flex-direction: column;
    }

    .atja-info-grid-3,
    .atja-info-grid-4,
    .atja-compliance-grid,
    .atja-form-grid {
        grid-template-columns: 1fr;
    }

    .atja-info-tile-wide { grid-column: auto; }

    .atja-overall-status {
        width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 560px) {
    .atja-info-grid,
    .atja-compliance-grid,
    .atja-document-grid {
        gap: 10px;
    }

    .atja-info-tile,
    .atja-compliance-tile,
    .atja-document-card,
    .atja-action-panel {
        padding: 14px;
        border-radius: 10px;
    }

    .atja-compliance-tile {
        align-items: flex-start;
        flex-direction: column;
    }

    .atja-document-header {
        flex-direction: column;
    }

    .atja-document-meta {
        grid-template-columns: 1fr;
    }

    .atja-document-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .atja-document-actions .btn,
    .atja-inline-form,
    .atja-inline-form .btn {
        width: 100%;
    }

    .atja-action-details { width: 100%; }

    .atja-action-details summary {
        width: 100%;
        box-sizing: border-box;
    }
}

/* STEP 3C-7C.4B - Matching Test */
.atja-info-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.atja-match-list {
    margin: 6px 0 0;
    padding-left: 18px;
    color: #344054;
    line-height: 1.65;
}

.atja-match-list li + li {
    margin-top: 5px;
}

@media (max-width: 820px) {
    .atja-info-grid-2 {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   ATJA RMS - Searchable Candidate Selector
   Manual Candidate Match
   ========================================================= */

.atja-search-select {
    position: relative;
}

.atja-search-results {
    position: absolute;
    z-index: 50;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid #d8e0e7;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.atja-search-option {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid #edf0f2;
    background: #ffffff;
    color: #1f2937;
    text-align: left;
    cursor: pointer;
}

.atja-search-option:last-child {
    border-bottom: 0;
}

.atja-search-option:hover,
.atja-search-option:focus {
    background: #f3f8fc;
    outline: none;
}

.atja-search-option strong {
    font-size: 13.5px;
    line-height: 1.35;
}

.atja-search-option span {
    color: #6b7785;
    font-size: 12px;
    line-height: 1.4;
}

.atja-search-empty {
    padding: 14px;
    color: #718096;
    font-size: 13px;
}

.atja-selected-summary {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 9px;
    padding: 10px 12px;
    border: 1px solid #d8e6f2;
    border-radius: 9px;
    background: #f3f8fc;
}

.atja-selected-summary strong {
    color: #26384a;
    font-size: 13.5px;
}

.atja-selected-summary span {
    color: #627386;
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 560px) {
    .atja-search-results {
        max-height: 260px;
    }

    .atja-search-option {
        padding: 12px;
    }
}

/* =========================================================
   ATJA RMS - STEP 3C-7D
   Admin Match Results
   ========================================================= */

.atja-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.atja-match-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

/* =========================================================
   ATJA RMS - Matched Candidate Result Tile
   ========================================================= */

.atja-match-card {
    min-width: 0;

    /* Clearly visible but soft blue background */
    background: #eaf4fb !important;

    /* Defined edge */
    border: 1px solid #c6ddeb !important;
    border-radius: 14px;

    padding: 17px;

    box-shadow: 0 4px 14px rgba(31, 72, 104, 0.07);

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.atja-match-card:hover {
    background: #e5f1f9 !important;
    border-color: #aecfe2 !important;
    box-shadow: 0 7px 20px rgba(31, 72, 104, 0.11);
    transform: translateY(-1px);
}

.atja-match-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #edf0f2;
}

.atja-match-card-head h4 {
    margin: 0;
    color: #26384a;
    font-size: 16px;
    line-height: 1.35;
}

.atja-match-card-head p {
    margin: 5px 0 0;
    color: #6b7785;
    font-size: 12.5px;
}

.atja-match-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.atja-match-score-row {
    display: grid;
    grid-template-columns: minmax(120px, .65fr) minmax(0, 1.35fr);
    gap: 14px;
    margin-top: 14px;
}



.atja-match-score-row > div {
    min-width: 0;
    padding: 11px 12px;
    border-radius: 10px;
    background: #f7f9fb;
}

.atja-match-score-row > div,
.atja-match-reason {
    background: #ffffff !important;
    border: 1px solid #dce8ef;
}

.atja-match-score-row strong {
    display: block;
    margin-top: 4px;
    color: #26384a;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.atja-match-score {
    font-size: 22px;
}

.atja-match-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    margin-top: 13px;
    color: #667788;
    font-size: 12px;
    line-height: 1.5;
}

.atja-match-meta strong {
    color: #34495e;
}

.atja-match-reason,
.atja-match-manual-review {
    margin-top: 13px;
    padding: 11px 12px;
    border-radius: 10px;
    background: #f7f9fb;
    color: #536273;
    font-size: 12.5px;
    line-height: 1.55;
}

.atja-match-manual-review {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.atja-match-manual-review strong {
    color: #34495e;
}

.atja-match-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 15px;
}

.atja-match-calculated {
    margin-top: 11px;
    color: #8a96a3;
    font-size: 11.5px;
}

@media (max-width: 900px) {
    .atja-match-results-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .atja-match-card-head {
        flex-direction: column;
    }

    .atja-match-badges {
        justify-content: flex-start;
    }

    .atja-match-score-row {
        grid-template-columns: 1fr;
    }

    .atja-match-card-actions .btn {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   ATJA RMS - Demand Match Action Buttons
   ========================================================= */

.atja-demand-match-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 560px) {
    .atja-demand-match-actions {
        flex-direction: column;
    }

    .atja-demand-match-actions .btn {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   ATJA RMS - Match Summary Tiles
   ========================================================= */

.atja-match-summary .atja-info-tile {
    background: #f1f7fb !important;
    border: 1px solid #d5e4ee !important;
    border-radius: 12px;

    box-shadow: 0 3px 10px rgba(31, 72, 104, 0.04);

    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.atja-match-summary .atja-info-tile:hover {
    background: #eaf4fa !important;
    border-color: #c3dbe9 !important;
    box-shadow: 0 5px 14px rgba(31, 72, 104, 0.07);
    transform: translateY(-1px);
}

/* =========================================================
   ATJA RMS - STEP 3C-7E.3B
   Application / Shortlist Controls
   ========================================================= */

.atja-application-panel {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #cfe0ea;
    border-radius: 12px;
    background: #f4f9fc;
}

.atja-application-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.atja-application-panel-head > div {
    min-width: 0;
}

.atja-application-panel-head strong {
    display: block;
    color: #26384a;
    font-size: 14px;
    line-height: 1.4;
}

.atja-application-panel-head span {
    display: block;
    margin-top: 4px;
    color: #68798a;
    font-size: 12px;
    line-height: 1.45;
}

.atja-application-current-notes {
    margin-bottom: 12px;
    padding: 10px 11px;
    border: 1px solid #dce7ee;
    border-radius: 9px;
    background: #ffffff;
    color: #526476;
    font-size: 12.5px;
    line-height: 1.5;
}

.atja-application-form,
.atja-application-status-form {
    margin: 0;
}

.atja-application-status-grid {
    display: grid;
    grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr);
    gap: 12px;
}

.atja-optional-label {
    margin-left: 5px;
    color: #82909d;
    font-size: 11px;
    font-weight: 500;
}

.atja-status-notes-required {
    color: #b42318;
    font-weight: 700;
}

@media (max-width: 700px) {
    .atja-application-panel-head {
        flex-direction: column;
    }

    .atja-application-status-grid {
        grid-template-columns: 1fr;
    }

    .atja-application-panel .btn {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   ATJA RMS - STEP 3C-7E.4A
   Candidate Applications Register
   ========================================================= */

.atja-page-heading-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.atja-application-summary .atja-info-tile {
    background: #f2f8fb !important;
    border: 1px solid #d5e5ee !important;
}

.atja-application-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.atja-application-card {
    min-width: 0;
    padding: 17px;
    border: 1px solid #cfe0ea;
    border-radius: 14px;
    background: #edf6fb;
    box-shadow: 0 5px 16px rgba(31, 72, 104, 0.06);
}

.atja-application-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #dce8ef;
}

.atja-application-card-head h4 {
    margin: 0;
    color: #26384a;
    font-size: 16px;
    line-height: 1.35;
}

.atja-application-card-head p {
    margin: 5px 0 0;
    color: #6b7785;
    font-size: 12.5px;
}

.atja-application-core-grid,
.atja-application-match-snapshot {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin-top: 14px;
}

.atja-application-match-snapshot {
    margin-top: 11px;
}

.atja-application-core-grid > div,
.atja-application-match-snapshot > div {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #dce8ef;
    border-radius: 10px;
    background: #ffffff;
}

.atja-application-core-grid strong,
.atja-application-match-snapshot strong {
    display: block;
    margin-top: 4px;
    color: #26384a;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.atja-application-score {
    font-size: 22px;
}

.atja-application-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    margin-top: 13px;
    color: #667788;
    font-size: 12px;
    line-height: 1.5;
}

.atja-application-meta strong {
    color: #34495e;
}

.atja-application-note {
    margin-top: 13px;
    padding: 11px 12px;
    border: 1px solid #dce8ef;
    border-radius: 10px;
    background: #ffffff;
    color: #536273;
    font-size: 12.5px;
    line-height: 1.55;
}

.atja-application-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 15px;
}

.atja-application-updated {
    margin-top: 11px;
    color: #8a96a3;
    font-size: 11.5px;
}

@media (max-width: 900px) {
    .atja-application-results-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .atja-page-heading-actions {
        width: 100%;
        flex-direction: column;
    }

    .atja-page-heading-actions .btn {
        width: 100%;
        text-align: center;
    }

    .atja-application-card-head {
        flex-direction: column;
    }

    .atja-application-core-grid,
    .atja-application-match-snapshot {
        grid-template-columns: 1fr;
    }

    .atja-application-card-actions {
        flex-direction: column;
    }

    .atja-application-card-actions .btn {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   ATJA RMS - STEP 3C-7E.4B
   Application Detail + Status Timeline
   ========================================================= */

.atja-application-detail-note {
    padding: 13px 14px;
    border: 1px solid #dce8ef;
    border-radius: 10px;
    background: #f6fafc;
    color: #526476;
    line-height: 1.6;
}

.atja-application-detail-form-grid {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
    gap: 16px;
}

.atja-status-timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.atja-status-timeline::before {
    content: "";
    position: absolute;
    top: 17px;
    bottom: 17px;
    left: 18px;
    width: 2px;
    background: #d9e5ed;
}

.atja-status-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
}

.atja-status-timeline-marker {
    position: relative;
    z-index: 2;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c6dbe8;
    border-radius: 50%;
    background: #edf6fb;
    color: #36566f;
    font-size: 12px;
    font-weight: 700;
}

.atja-status-timeline-content {
    min-width: 0;
    padding: 14px;
    border: 1px solid #d7e4ec;
    border-radius: 12px;
    background: #f4f9fc;
}

.atja-status-timeline-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.atja-status-timeline-head > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.atja-status-timeline-head time {
    flex: 0 0 auto;
    color: #82909d;
    font-size: 11.5px;
}

.atja-status-transition {
    color: #64748b;
    font-size: 12.5px;
    font-weight: 600;
}

.atja-status-timeline-meta {
    margin-top: 9px;
    color: #6f7e8c;
    font-size: 12px;
}

.atja-status-timeline-meta strong {
    color: #425466;
}

.atja-status-timeline-note {
    margin-top: 10px;
    padding: 10px 11px;
    border: 1px solid #dde8ef;
    border-radius: 9px;
    background: #ffffff;
    color: #536273;
    font-size: 12.5px;
    line-height: 1.55;
}

@media (max-width: 720px) {
    .atja-application-detail-form-grid {
        grid-template-columns: 1fr;
    }

    .atja-status-timeline-head {
        flex-direction: column;
    }

    .atja-status-timeline-head time {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .atja-status-timeline::before {
        left: 15px;
    }

    .atja-status-timeline-item {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 9px;
    }

    .atja-status-timeline-marker {
        width: 30px;
        height: 30px;
        font-size: 11px;
    }

    .atja-status-timeline-content {
        padding: 12px;
    }

    #application_status_form .btn {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   ATJA RMS - STEP 3C-7F.1
   Candidate Jobs / Attraction Experience
   ========================================================= */

.atja-candidate-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
    gap: 28px;
    margin-bottom: 22px;
    padding: 34px;
    border: 1px solid #cfe3ee;
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            #edf8fc 0%,
            #f7fbfd 55%,
            #eef7f3 100%
        );
    box-shadow: 0 10px 30px rgba(31, 72, 104, .08);
}

.atja-candidate-hero::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -85px;
    top: -100px;
    border-radius: 50%;
    background: rgba(87, 169, 190, .09);
}

.atja-candidate-hero-copy,
.atja-candidate-hero-highlight {
    position: relative;
    z-index: 1;
}

.atja-candidate-kicker,
.atja-candidate-section-kicker {
    display: inline-block;
    color: #3e7187;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .75px;
}

.atja-candidate-hero h1 {
    max-width: 760px;
    margin: 10px 0 12px;
    color: #20394b;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
    letter-spacing: -.8px;
}

.atja-candidate-hero p {
    max-width: 720px;
    margin: 0;
    color: #607486;
    font-size: 15px;
    line-height: 1.7;
}

.atja-candidate-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.atja-btn-accent {
    border: 1px solid #2f748e;
    background: #2f748e;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(47, 116, 142, .2);
}

.atja-btn-accent:hover {
    background: #28697f;
}

.atja-btn-soft {
    border: 1px solid #c9dce5;
    background: rgba(255, 255, 255, .8);
    color: #35596d !important;
}

.atja-candidate-hero-highlight {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 22px;
    border: 1px solid rgba(192, 218, 228, .9);
    border-radius: 16px;
    background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(5px);
}

.atja-candidate-hero-highlight > span {
    color: #3e7187;
    font-size: 12px;
    font-weight: 700;
}

.atja-candidate-hero-highlight strong {
    color: #24475a;
    font-size: 19px;
    line-height: 1.4;
}

.atja-candidate-hero-highlight small {
    color: #718390;
    line-height: 1.55;
}

.atja-candidate-welcome {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
    padding: 20px 22px;
    border: 1px solid #e0e8ed;
    border-radius: 14px;
    background: #ffffff;
}

.atja-candidate-welcome-label {
    color: #7b8a95;
    font-size: 12px;
    font-weight: 600;
}

.atja-candidate-welcome h2 {
    margin: 3px 0;
    color: #273f50;
    font-size: 23px;
}

.atja-candidate-welcome p {
    margin: 0;
    color: #6f7f8b;
    font-size: 13px;
}

.atja-candidate-status-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.atja-candidate-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 24px;
}

.atja-candidate-stat {
    padding: 18px;
    border: 1px solid #dbe7ed;
    border-radius: 14px;
    background: #f7fbfd;
}

.atja-candidate-stat-primary {
    border-color: #c7dfeb;
    background: #eaf6fb;
}

.atja-candidate-stat span {
    display: block;
    color: #687b89;
    font-size: 12px;
    font-weight: 600;
}

.atja-candidate-stat strong {
    display: block;
    margin: 7px 0 6px;
    color: #24465a;
    font-size: 30px;
    line-height: 1;
}

.atja-candidate-stat small {
    color: #85929c;
    font-size: 11.5px;
    line-height: 1.45;
}

.atja-candidate-section {
    margin-bottom: 26px;
    padding: 24px;
    border: 1px solid #e1e9ee;
    border-radius: 18px;
    background: #ffffff;
}

.atja-candidate-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.atja-candidate-section-heading h2 {
    margin: 5px 0 5px;
    color: #273f50;
    font-size: 24px;
}

.atja-candidate-section-heading p {
    max-width: 740px;
    margin: 0;
    color: #75848e;
    font-size: 13.5px;
    line-height: 1.55;
}

.atja-candidate-count-pill {
    flex: 0 0 auto;
    padding: 8px 11px;
    border: 1px solid #c8e0eb;
    border-radius: 999px;
    background: #edf8fc;
    color: #3f7185;
    font-size: 12px;
    font-weight: 700;
}

.atja-candidate-count-pill-alt {
    border-color: #e1d9bc;
    background: #faf6e9;
    color: #7e6b3a;
}

.atja-candidate-job-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.atja-candidate-job-card {
    min-width: 0;
    padding: 19px;
    border-radius: 16px;
}

.atja-candidate-job-card-match {
    border: 1px solid #bddce9;
    background:
        linear-gradient(
            145deg,
            #edf8fc 0%,
            #f9fcfd 72%
        );
    box-shadow: 0 5px 17px rgba(31, 72, 104, .07);
}

.atja-candidate-job-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.atja-candidate-job-country {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border-radius: 999px;
    background: #ffffff;
    color: #467488;
    font-size: 11px;
    font-weight: 750;
}

.atja-candidate-job-card h3,
.atja-candidate-alt-card h3,
.atja-candidate-featured-card h3 {
    margin: 9px 0 5px;
    color: #263f50;
    font-size: 20px;
    line-height: 1.3;
}

.atja-candidate-job-card p,
.atja-candidate-alt-card p,
.atja-candidate-featured-card p {
    margin: 0;
    color: #74838d;
    font-size: 12.5px;
}

.atja-candidate-match-badge {
    flex: 0 0 auto;
    min-width: 70px;
    padding: 8px 10px;
    border: 1px solid #bedcc8;
    border-radius: 11px;
    background: #eff9f3;
    text-align: center;
}

.atja-candidate-match-badge span {
    display: block;
    color: #407454;
    font-size: 10px;
    font-weight: 800;
}

.atja-candidate-match-badge strong {
    display: block;
    margin-top: 2px;
    color: #2f6844;
    font-size: 20px;
}

.atja-candidate-job-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
}

.atja-candidate-job-highlights > div {
    min-width: 0;
    padding: 10px;
    border: 1px solid #dbe8ee;
    border-radius: 10px;
    background: rgba(255, 255, 255, .85);
}

.atja-candidate-job-highlights span {
    display: block;
    color: #80909b;
    font-size: 10.5px;
}

.atja-candidate-job-highlights strong {
    display: block;
    margin-top: 3px;
    color: #344e5f;
    font-size: 12.5px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.atja-candidate-benefit-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 13px;
}

.atja-candidate-benefit-row span {
    padding: 5px 7px;
    border: 1px solid #d5e5eb;
    border-radius: 7px;
    background: #ffffff;
    color: #597180;
    font-size: 10.5px;
    font-weight: 600;
}

.atja-candidate-job-summary {
    margin-top: 14px !important;
    padding: 11px 12px;
    border: 1px solid #d9e7ed;
    border-radius: 9px;
    background: rgba(255, 255, 255, .75);
    color: #566b79 !important;
    line-height: 1.55;
}

.atja-candidate-job-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid #dce8ee;
}

.atja-candidate-ready-label {
    color: #39785a;
    font-size: 12px;
    font-weight: 750;
}

.atja-candidate-demand-code {
    color: #80909b;
    font-size: 11px;
    font-weight: 600;
}

.atja-candidate-empty {
    padding: 30px 20px;
    border: 1px dashed #cbdce5;
    border-radius: 14px;
    background: #f8fbfd;
    text-align: center;
}

.atja-candidate-empty-icon {
    width: 42px;
    height: 42px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eaf6fb;
    color: #437187;
    font-weight: 800;
}

.atja-candidate-empty h3 {
    margin: 0 0 7px;
    color: #314d5e;
}

.atja-candidate-empty p {
    max-width: 600px;
    margin: 0 auto;
    color: #778793;
    line-height: 1.55;
}

.atja-candidate-empty-compact {
    padding: 18px;
    color: #778793;
}

.atja-candidate-promo-band {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
    gap: 24px;
    align-items: center;
    margin-bottom: 26px;
    padding: 25px;
    border: 1px solid #d8e6dc;
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            #f2f9f4,
            #fbfdfb
        );
}

.atja-candidate-promo-band h2 {
    margin: 5px 0 7px;
    color: #315443;
    font-size: 23px;
}

.atja-candidate-promo-band p {
    margin: 0;
    color: #728077;
    line-height: 1.55;
}

.atja-candidate-promo-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.atja-candidate-promo-steps > span {
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 11px;
    border: 1px solid #d8e6dc;
    border-radius: 11px;
    background: #ffffff;
    color: #48735c;
    font-size: 21px;
    font-weight: 800;
    text-align: center;
}

.atja-candidate-promo-steps small {
    color: #74877a;
    font-size: 10px;
    font-weight: 600;
}

.atja-candidate-alt-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.atja-candidate-alt-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid #e4ddc5;
    border-radius: 14px;
    background: #fbf8ef;
}

.atja-candidate-alt-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
}

.atja-candidate-alt-score {
    align-self: start;
    min-width: 62px;
    padding: 7px 8px;
    border: 1px solid #e1d8b9;
    border-radius: 9px;
    background: #ffffff;
    text-align: center;
}

.atja-candidate-alt-score strong {
    display: block;
    color: #77643a;
    font-size: 18px;
}

.atja-candidate-alt-score span {
    color: #958665;
    font-size: 9px;
}

.atja-candidate-alt-message {
    grid-column: 1 / -1;
    padding-top: 10px;
    border-top: 1px solid #ebe3cc;
    color: #786d56;
    font-size: 11.5px;
    line-height: 1.5;
}

.atja-candidate-featured-section {
    background: #f9fbfc;
}

.atja-candidate-featured-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.atja-candidate-featured-card {
    overflow: hidden;
    min-width: 0;
    border: 1px solid #dde6eb;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 4px 13px rgba(31, 72, 104, .05);
}

.atja-candidate-featured-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 11px 13px;
    background:
        linear-gradient(
            135deg,
            #356f88,
            #4d879c
        );
    color: #ffffff;
}

.atja-candidate-featured-banner span {
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .6px;
}

.atja-candidate-featured-banner strong {
    font-size: 12px;
}

.atja-candidate-featured-body {
    padding: 15px;
}

.atja-candidate-featured-category {
    color: #4e7a8e;
    font-size: 10.5px;
    font-weight: 700;
}

.atja-candidate-featured-card h3 {
    font-size: 17px;
}

.atja-candidate-featured-details {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.atja-candidate-featured-details span {
    padding: 5px 7px;
    border-radius: 7px;
    background: #f0f6f9;
    color: #526e7d;
    font-size: 10.5px;
    font-weight: 600;
}

@media (max-width: 1100px) {
    .atja-candidate-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .atja-candidate-alt-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .atja-candidate-hero {
        grid-template-columns: 1fr;
    }

    .atja-candidate-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .atja-candidate-job-grid {
        grid-template-columns: 1fr;
    }

    .atja-candidate-promo-band {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .atja-candidate-hero {
        padding: 22px 18px;
        border-radius: 15px;
    }

    .atja-candidate-welcome {
        align-items: flex-start;
        flex-direction: column;
    }

    .atja-candidate-status-row {
        justify-content: flex-start;
    }

    .atja-candidate-section {
        padding: 18px 14px;
        border-radius: 14px;
    }

    .atja-candidate-section-heading {
        flex-direction: column;
    }

    .atja-candidate-count-pill {
        align-self: flex-start;
    }

    .atja-candidate-job-top {
        flex-direction: column;
    }

    .atja-candidate-job-highlights {
        grid-template-columns: 1fr;
    }

    .atja-candidate-job-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .atja-candidate-alt-grid,
    .atja-candidate-featured-grid {
        grid-template-columns: 1fr;
    }

    .atja-candidate-promo-steps {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .atja-candidate-stat-grid {
        grid-template-columns: 1fr;
    }

    .atja-candidate-hero h1 {
        font-size: 31px;
    }

    .atja-candidate-hero-actions {
        flex-direction: column;
    }

    .atja-candidate-hero-actions .btn {
        width: 100%;
        text-align: center;
    }
}
