/* ============================================================
   Demexios Platform — Frontend CSS
   Scoped: #dmx-register, #dmx-login
   ============================================================ */

:root {
    /* Brand */
    --dmx-primary:           #3d46fe;
    --dmx-primary-dark:      #2a33e0;
    --dmx-primary-light:     #eceefe;
    /* Text */
    --dmx-text:              #1a1a2e;
    --dmx-text-light:        #6b7280;
    /* Surfaces */
    --dmx-border:            #e5e7eb;
    --dmx-bg:                #f4f5fb;
    --dmx-white:             #ffffff;
    --dmx-card-subtle:       #F4F4FE;
    --dmx-card-border:       #CACBE0;
    /* Page background teal (A2/A7/A8 wrap) */
    --dmx-bg-teal:           #F0F6F6;
    /* Table thead background */
    --dmx-thead-bg:          #F5FBFB;
    /* Icon color (meta icons, UI decorative) */
    --dmx-icon:              #494CAB;
    /* Status */
    --dmx-error:             #dc2626;
    --dmx-success:           #16a34a;
    /* Status surface colors (bg/border/text for inline messages + badges) */
    --dmx-error-bg:          #fef2f2;
    --dmx-error-border:      #fecaca;
    --dmx-success-bg:        #f0fdf4;
    --dmx-success-border:    #bbf7d0;
    --dmx-warn-text:         #c2410c;
    --dmx-warn-bg:           #fff7ed;
    /* Hero dark bg */
    --dmx-hero-bg:           #0a0f2c;
    /* Misc */
    --dmx-radius:            10px;
    --dmx-shadow:            0 4px 24px rgba(80, 70, 229, 0.08);
    --dmx-placeholder:       #b0b8c9;
    /* Admin job card action buttons */
    --dmx-btn-view-bg:       #05166E;
    --dmx-btn-view-bg-hover: #071e90;
    --dmx-btn-edit-bg:       #3D46FD;
    --dmx-btn-edit-bg-hover: #2d35d0;
    /* Stat pill colors — access badges context */
    --dmx-pill-pending-bg:   #FFC800;
    --dmx-pill-pending-text: #ffffff;
    --dmx-pill-assigned-bg:  #4AC581;
    --dmx-pill-assigned-text:#ffffff;
    /* Stage/kanban shared colors — used in stat pills + kanban card borders */
    --dmx-color-green:       #45C881;
    --dmx-color-yellow:      #FFC400;
    --dmx-color-red:         #DA6765; /* rejected */
    --dmx-color-blue:        #484ECA; /* submitted */
    --dmx-color-purple:      #C14197; /* offer_made */
    --dmx-wp-editor-bg:       #f0f0f1; /* WP editor tab background */
    --dmx-wp-editor-active-bg: #f6f7f7; /* WP editor active tab background */
}


/* ============================================================
   MISSING CLASS DEFINITIONS — Filling all used CSS gaps
   ============================================================ */

/* Login panels (shown/hidden by JS toggle) */
body.dmx-platform-page .dmx-login-panel {
    font-family: 'Roboto', sans-serif;
    color:       var(--dmx-text);
}

body.dmx-platform-page .dmx-login-message,
body.dmx-platform-page .dmx-register-message {
    font-family: 'Roboto', sans-serif;
    font-size:   14px;
    color:       var(--dmx-text-light);
    margin:      8px 0 0;
    min-height:  20px;
}

body.dmx-platform-page .dmx-password-error {
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    color:       var(--dmx-error);
    margin:      4px 0 0;
    display:     none;
}

/* Terms section in register form */
body.dmx-platform-page .dmx-terms {
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    color:       var(--dmx-text-light);
}

/* R3 modal content (access request confirmation) */
body.dmx-platform-page .dmx-r3-title {
    font-family: 'Roboto', sans-serif;
    font-size:   18px;
    font-weight: 600;
    color:       var(--dmx-text);
    margin:      0 0 8px;
}

body.dmx-platform-page .dmx-r3-message {
    font-family: 'Roboto', sans-serif;
    font-size:   14px;
    color:       var(--dmx-text-light);
    margin:      0 0 20px;
}

/* R4 modal content (candidate submission) */
body.dmx-platform-page .dmx-r4-title {
    font-family: 'Roboto', sans-serif;
    font-size:   18px;
    font-weight: 600;
    color:       var(--dmx-text);
    margin:      0 0 16px;
}

body.dmx-platform-page .dmx-r4-current-title {
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    color:       var(--dmx-text-light);
    margin:      0 0 12px;
}

body.dmx-platform-page .dmx-r4-comment {
    font-family: 'Roboto', sans-serif;
    display:     flex;
    flex-direction: column;
    gap:         6px;
}

/* A4 modal title (manage proposals) */
body.dmx-platform-page .dmx-a4-modal-title {
    font-family: 'Roboto', sans-serif;
    font-size:   18px;
    font-weight: 600;
    color:       var(--dmx-text);
    margin:      0 0 16px;
}

/* Read-more toggle button */
body.dmx-platform-page .dmx-readmore-toggle {
    font-family:      'Roboto', sans-serif;
    font-size:        13px;
    font-style:       normal;
    font-weight:      500;
    letter-spacing:   0;
    line-height:      1.5;
    color:            var(--dmx-primary);
    background-color: transparent;
    background-image: none;
    border-width:     0;
    border-style:     solid;
    border-color:     transparent;
    border-radius:    0;
    box-shadow:       none;
    outline:          none;
    overflow:         visible;
    cursor:           pointer;
    text-decoration:  none;
    padding:          4px 0;
    display:          inline-block;
    box-sizing:       border-box;
    transition:       color 0.2s;
}

body.dmx-platform-page .dmx-readmore-toggle:hover {
    text-decoration: underline;
}

/* ============================================================
   BETHEME STRUCTURAL OVERRIDES — plugin pages only
   Scoped to body.dmx-platform-page added via body_class filter.
   High specificity (class + ID / class + element) to beat theme.
   ============================================================ */

/* BeTheme resets — private pages only (admin + recruiter) */
body.dmx-private-page #Content {
    padding-top: 0;
}
body.dmx-private-page .the_content_wrapper,
body.dmx-private-page .has_content .the_content_wrapper {
    margin:        0;
    width:         100%;
    margin-bottom: 0;
}

/* Remove section_wrapper max-width — private pages only */
body.dmx-private-page .section_wrapper,
body.dmx-private-page .container {
    max-width: 100%;
}



/* ============================================================
   ROOT WRAPPER FONT INHERITANCE
   Set font-family + color once on each page wrapper so all
   child elements inherit Roboto instead of BeTheme's font.
   Each wrapper must have these properties to win the cascade.
   ============================================================ */

body.dmx-platform-page #dmx-register,
body.dmx-platform-page #dmx-login,
body.dmx-platform-page #dmx-jobs,
body.dmx-platform-page #dmx-job,
body.dmx-platform-page #dmx-proposals,
body.dmx-platform-page #dmx-account,
body.dmx-platform-page #dmx-admin-jobs,
body.dmx-platform-page #dmx-admin-add-job,
body.dmx-platform-page #dmx-admin-job,
body.dmx-platform-page #dmx-admin-proposals,
body.dmx-platform-page #dmx-admin-requests,
body.dmx-platform-page #dmx-admin-recruiters,
body.dmx-platform-page #dmx-admin-candidates,
body.dmx-platform-page #dmx-register-success {
    font-family: 'Roboto', sans-serif;
    color: var(--dmx-text);
    box-sizing: border-box;
}



/* ============================================================
   REGISTRATION FORM
   ============================================================ */

body.dmx-platform-page #dmx-register .dmx-register-wrap {
    background: var(--dmx-white);
    border-radius: var(--dmx-radius);
    box-shadow: var(--dmx-shadow);
    padding: 40px 44px;
    max-width: 820px;
    margin: 0 auto;
    border: 1px solid var(--dmx-border);
    overflow: hidden;
    font-family: 'Roboto', sans-serif;
}

/* Steps */
body.dmx-platform-page #dmx-register .dmx-step { display: none; }
body.dmx-platform-page #dmx-register .dmx-step--active { display: block; }

/* Question blocks */
body.dmx-platform-page #dmx-register .dmx-question-block {
    padding: 20px 0;
    border-bottom: 1px solid var(--dmx-border);
}
body.dmx-platform-page #dmx-register .dmx-question-block:last-of-type { border-bottom: none; }

body.dmx-platform-page #dmx-register .dmx-question-text {
    font-size: 18px;
    font-weight: 500;
    color: var(--dmx-text);
    margin: 0 0 20px;
    line-height: 1.5;
}

/* Checkboxes (shared register + login) */
body.dmx-platform-page #dmx-register .dmx-checkbox-label,
body.dmx-platform-page #dmx-login    .dmx-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page #dmx-register .dmx-checkbox,
body.dmx-platform-page #dmx-login    .dmx-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

body.dmx-platform-page #dmx-register .dmx-checkbox-custom,
body.dmx-platform-page #dmx-login    .dmx-checkbox-custom {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 5px;
    border: 2px solid var(--dmx-border);
    background: var(--dmx-white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
    margin-top: 2px;
}

body.dmx-platform-page #dmx-register .dmx-checkbox:checked + .dmx-checkbox-custom,
body.dmx-platform-page #dmx-login    .dmx-checkbox:checked + .dmx-checkbox-custom {
    background: var(--dmx-primary);
    border-color: var(--dmx-primary);
}

body.dmx-platform-page #dmx-register .dmx-checkbox:checked + .dmx-checkbox-custom::after,
body.dmx-platform-page #dmx-login    .dmx-checkbox:checked + .dmx-checkbox-custom::after {
    content: '';
    display: block;
    width: 5px;
    height: 9px;
    border: 2px solid var(--dmx-white);
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translateY(-1px);
}

body.dmx-platform-page #dmx-register .dmx-checkbox-text,
body.dmx-platform-page #dmx-login    .dmx-checkbox-text {
    font-size: 18px;
    color: var(--dmx-text-light);
    line-height: 1.5;
}

/* Step 1 & 2 main title — displayed above both steps */
body.dmx-platform-page #dmx-register .dmx-form-title-main {
    font-family: 'Roboto', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: var(--dmx-text);
    margin: 0 0 40px;
    line-height: 1.3;
    text-align: center;
}

/* Form intro block */
body.dmx-platform-page #dmx-register .dmx-form-intro {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: var(--dmx-primary-light);
    border-radius: var(--dmx-radius);
    padding: 16px 20px;
    margin-bottom: 28px;
}
body.dmx-platform-page #dmx-register .dmx-form-intro-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--dmx-white);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(80,70,229,0.10);
}
body.dmx-platform-page #dmx-register .dmx-form-intro-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.dmx-platform-page #dmx-register .dmx-form-intro-text strong {
    font-size: 18px;
    color: var(--dmx-text);
    font-weight: 600;
}
body.dmx-platform-page #dmx-register .dmx-form-intro-text span {
    font-size: 18px;
    color: var(--dmx-text-light);
}

/* Form grid */
body.dmx-platform-page #dmx-register .dmx-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
    font-family: 'Roboto', sans-serif;
}

/*
 * Note: #dmx-register .dmx-field--select is intentionally listed alongside
 * #dmx-register .dmx-field in this grouped rule. Elements always carry both
 * classes, so .dmx-field already covers them. The explicit --select entry is
 * kept for readability — making it obvious that select wrappers are positioned.
 */
body.dmx-platform-page #dmx-register .dmx-field,
body.dmx-platform-page #dmx-register .dmx-field--select,
body.dmx-platform-page #dmx-login    .dmx-field { position: relative;     font-family: 'Roboto', sans-serif;
    color: var(--dmx-text);
}
body.dmx-platform-page #dmx-register .dmx-field--full { grid-column: 1 / -1; }
body.dmx-platform-page #dmx-register .dmx-field--terms { margin-bottom: 24px; }

/* Inputs & selects */
body.dmx-platform-page #dmx-register .dmx-input,
body.dmx-platform-page #dmx-register .dmx-select,
body.dmx-platform-page #dmx-login    .dmx-input {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--dmx-border);
    border-radius: var(--dmx-radius);
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    color: var(--dmx-text);
    background: var(--dmx-white);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}

body.dmx-platform-page #dmx-register .dmx-input::placeholder,
body.dmx-platform-page #dmx-login    .dmx-input::placeholder {
    color: var(--dmx-placeholder, #b0b8c9);
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page #dmx-register .dmx-input:focus,
body.dmx-platform-page #dmx-register .dmx-select:focus,
body.dmx-platform-page #dmx-login    .dmx-input:focus {
    border-color: var(--dmx-primary);
    box-shadow: 0 0 0 3px rgba(80,70,229,0.10);
}

/* Select arrow */
body.dmx-platform-page #dmx-register .dmx-select-arrow {
    position: absolute;
    right: 14px;
    /*
     * Intentional: top:20px instead of top:50% to account for the .dmx-field wrapper
     * height including the hidden .dmx-field-error element below the input.
     * Using top:50% would position against the full field height (input + error),
     * causing the icon to appear too low when no error is shown.
     * This value is calibrated for the current input height (~50px):
     *   padding-top: 13px + padding-bottom: 13px + line-height: ~22px + border: 2px ≈ 50px
     *   visual center ≈ 25px, top:20px + translateY(-50%) places icon at ~20px = close enough.
     * ⚠ If input padding changes, recalibrate this value accordingly.
     */
    top: 20px;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--dmx-text-light);
    font-size: 0.8rem;
}
body.dmx-platform-page #dmx-register .dmx-select { padding-right: 36px; }

/* LinkedIn URL icon */
body.dmx-platform-page #dmx-register .dmx-field--linkedin .dmx-input { padding-right: 44px; }
body.dmx-platform-page #dmx-register .dmx-linkedin-icon {
    position: absolute;
    right: 14px;
    /* Intentional: top:20px — see .dmx-select-arrow comment above for rationale. */
    top: 20px;
    transform: translateY(-50%);
    pointer-events: none;
    display: flex;
    align-items: center;
}

/* Buttons */
body.dmx-platform-page #dmx-register .dmx-btn-next,
body.dmx-platform-page #dmx-register .dmx-btn-submit,
body.dmx-platform-page #dmx-login    .dmx-btn-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 24px;
    background: var(--dmx-primary);
    color: var(--dmx-white);
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: none;
    border-radius: var(--dmx-radius);
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 14px rgba(80,70,229,0.25);
    margin-top: 24px;
}
body.dmx-platform-page #dmx-register .dmx-btn-next:hover,
body.dmx-platform-page #dmx-register .dmx-btn-submit:hover,
body.dmx-platform-page #dmx-login    .dmx-btn-submit:hover {
    background: var(--dmx-primary-dark);
    box-shadow: 0 6px 18px rgba(80,70,229,0.35);
}
body.dmx-platform-page #dmx-register .dmx-btn-submit:disabled,
body.dmx-platform-page #dmx-login    .dmx-btn-submit:disabled,
body.dmx-platform-page #dmx-register .dmx-btn-next:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}
body.dmx-platform-page #dmx-register .dmx-btn-submit:focus-visible,
body.dmx-platform-page #dmx-register .dmx-btn-next:focus-visible,
body.dmx-platform-page #dmx-login    .dmx-btn-submit:focus-visible {
    outline: 3px solid var(--dmx-primary);
    outline-offset: 2px;
}
body.dmx-platform-page #dmx-register .dmx-password-toggle:focus-visible,
body.dmx-platform-page #dmx-login    .dmx-password-toggle:focus-visible {
    outline: 2px solid var(--dmx-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Spinner */
body.dmx-platform-page #dmx-register .dmx-btn-spinner,
body.dmx-platform-page #dmx-login    .dmx-btn-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: var(--dmx-white);
    border-radius: 50%;
    animation: dmx-spin 0.7s linear infinite;
}
@keyframes dmx-spin { to { transform: rotate(360deg); } }

/* Messages */
body.dmx-platform-page #dmx-register .dmx-message,
body.dmx-platform-page #dmx-login    .dmx-message {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 18px;
    margin-bottom: 16px;
    margin-top: 8px;
}
body.dmx-platform-page #dmx-register .dmx-message--error,
body.dmx-platform-page #dmx-login    .dmx-message--error { background: var(--dmx-error-bg); color: var(--dmx-error);   border: 1px solid var(--dmx-error-border); }
body.dmx-platform-page #dmx-register .dmx-message--success,
body.dmx-platform-page #dmx-login    .dmx-message--success { background: var(--dmx-success-bg); color: var(--dmx-success); border: 1px solid var(--dmx-success-border); }

/* Already logged in */
body.dmx-platform-page #dmx-register .dmx-already-logged,
body.dmx-platform-page #dmx-login    .dmx-already-logged {
    color: var(--dmx-text-light);
    font-size: 18px;
    font-family: 'Roboto', sans-serif;
}

/* ============================================================
   REGISTRATION SUCCESS STATE
   ============================================================ */

body.dmx-platform-page #dmx-register-success.dmx-success-card {
    background: var(--dmx-white);
    border-radius: var(--dmx-radius);
    box-shadow: var(--dmx-shadow);
    border: 1px solid var(--dmx-border);
    max-width: 820px;
    width: 100%;
    margin: 0 auto;
    padding: 64px 44px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    box-sizing: border-box;
    transition: opacity 0.3s ease;
}

body.dmx-platform-page #dmx-register-success .dmx-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

body.dmx-platform-page #dmx-register-success .dmx-success-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--dmx-text);
    margin: 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page #dmx-register-success .dmx-success-message {
    font-size: 18px;
    color: var(--dmx-text-light);
    max-width: 460px;
    margin: 0;
    line-height: 1.7;
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page #dmx-register-success .dmx-btn-booking {
    width: auto;
    padding: 14px 32px;
    margin-top: 4px;
}

/* ============================================================
   LOGIN FORM
   ============================================================ */

body.dmx-platform-page #dmx-login .dmx-login-wrap {
    background: var(--dmx-white);
    border-radius: 16px;
    box-shadow: var(--dmx-shadow);
    padding: 40px 36px 32px;
    max-width: 420px;
    margin: 0 auto;
    border: 1px solid var(--dmx-border);
    display: flex;
    flex-direction: column;
    gap: 0;
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page #dmx-login .dmx-login-panel form {
    display: flex;
    flex-direction: column;
}

/* Login field spacing — margin-bottom only, no gap, so error text doesn't add double spacing */
body.dmx-platform-page #dmx-login .dmx-field { margin-bottom: 14px; }

body.dmx-platform-page #dmx-login .dmx-login-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

body.dmx-platform-page #dmx-login .dmx-login-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page #dmx-login .dmx-remember .dmx-checkbox-text {
    font-size: 18px;
    color: var(--dmx-text);
}

body.dmx-platform-page #dmx-login .dmx-login-forgot {
    text-align: center;
    font-size: 18px;
    margin-top: 16px;
    font-family: 'Roboto', sans-serif;
}
body.dmx-platform-page #dmx-login .dmx-login-forgot a {
    color: var(--dmx-text-light);
    text-decoration: none;
    transition: color 0.2s;
}
body.dmx-platform-page #dmx-login .dmx-login-forgot a:hover { color: var(--dmx-primary); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* Responsive rules moved to frontend-responsive.css */

/* ============================================================
   INPUT VALIDATION STATES & PASSWORD TOGGLE
   ============================================================ */

/* Valid / invalid field states */
body.dmx-platform-page #dmx-register .dmx-input.dmx-valid,
body.dmx-platform-page #dmx-login    .dmx-input.dmx-valid {
    border-color: var(--dmx-success);
}
body.dmx-platform-page #dmx-register .dmx-input.dmx-invalid,
body.dmx-platform-page #dmx-login    .dmx-input.dmx-invalid {
    border-color: var(--dmx-error);
}

/* Password toggle — positioned relative to input height, unaffected by error text below */
body.dmx-platform-page #dmx-register .dmx-field--password,
body.dmx-platform-page #dmx-login    .dmx-field--password,
body.dmx-platform-page #dmx-account  .dmx-field--password {
    position: relative;
}
body.dmx-platform-page #dmx-register .dmx-password-toggle,
body.dmx-platform-page #dmx-login    .dmx-password-toggle,
body.dmx-platform-page #dmx-account  .dmx-password-toggle {
    position: absolute;
    right: 12px;
    /* Intentional: top:20px — consistent icon positioning across register, login, account. */
    top: 20px;
    transform: translateY(-50%);
    background: none;
    background-color: transparent;
    background-image: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--dmx-text-light);
    display: flex;
    align-items: center;
    transition: color 0.2s;
    line-height: 1;
    box-shadow: none;
}
body.dmx-platform-page #dmx-register .dmx-password-toggle:hover,
body.dmx-platform-page #dmx-login    .dmx-password-toggle:hover,
body.dmx-platform-page #dmx-account  .dmx-password-toggle:hover {
    color: var(--dmx-primary);
}
body.dmx-platform-page #dmx-register .dmx-input[type="password"],
body.dmx-platform-page #dmx-register .dmx-input[type="text"].dmx-is-password,
body.dmx-platform-page #dmx-login    .dmx-input[type="password"],
body.dmx-platform-page #dmx-login    .dmx-input[type="text"].dmx-is-password,
body.dmx-platform-page #dmx-account  .dmx-input[type="password"],
body.dmx-platform-page #dmx-account  .dmx-input[type="text"].dmx-is-password {
    padding-right: 44px;
}

/* Terms link */
body.dmx-platform-page #dmx-register .dmx-checkbox-text a {
    color: var(--dmx-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s;
}
body.dmx-platform-page #dmx-register .dmx-checkbox-text a:hover {
    color: var(--dmx-primary-dark);
}

/* Standalone terms link below checkbox */
body.dmx-platform-page #dmx-register .dmx-terms-link {
    margin: 12px 0 0;
    font-size: 18px;
}
body.dmx-platform-page #dmx-register .dmx-terms-link a {
    color: var(--dmx-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-family: 'Roboto', sans-serif;
    transition: color 0.2s;
}
body.dmx-platform-page #dmx-register .dmx-terms-link a:hover {
    color: var(--dmx-primary-dark);
}

/* ---- Inline field validation errors ---- */
body.dmx-platform-page #dmx-register .dmx-field-error,
body.dmx-platform-page #dmx-login    .dmx-field-error {
    display: none;
    font-size: 18px;
    color: var(--dmx-error);
    margin-top: 4px;
    padding-left: 2px;
}
body.dmx-platform-page #dmx-register .dmx-field.dmx-has-error .dmx-field-error,
body.dmx-platform-page #dmx-login    .dmx-field.dmx-has-error .dmx-field-error,
body.dmx-platform-page #dmx-register .dmx-field--terms.dmx-has-error .dmx-field-error,
body.dmx-platform-page #dmx-register .dmx-question-block.dmx-has-error .dmx-field-error {
    display: block;
}
body.dmx-platform-page #dmx-register .dmx-field.dmx-has-error .dmx-input,
body.dmx-platform-page #dmx-login    .dmx-field.dmx-has-error .dmx-input,
body.dmx-platform-page #dmx-register .dmx-field.dmx-has-error .dmx-select {
    border-color: var(--dmx-error);
}

/* ---- Panel switching ---- */
body.dmx-platform-page #dmx-login .dmx-login-panel { width: 100%;     font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page #dmx-login .dmx-form-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--dmx-text);
    margin: 0 0 20px;
    text-align: center;
    letter-spacing: 0;
}

/* ---- Honeypot anti-spam ---- */
/*
 * Intentional: opacity:0 + absolute position instead of display:none.
 * Sophisticated bots skip display:none fields. This field is invisible
 * to humans but present in the DOM — bots fill it, humans don't.
 */
body.dmx-platform-page #dmx-register .dmx-hp-wrap {
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

/* ============================================================
   PLATFORM — Shared styles (hero, nav, form, messages)
   Scoped: .dmx-platform-*, .dmx-admin-nav
   ============================================================ */

/* ---- Hero ---- */
body.dmx-platform-page .dmx-platform-hero {
    background: var(--dmx-hero-bg);
    padding: 48px 24px 40px;
    text-align: center;
    margin-bottom: 0;
}
body.dmx-platform-page .dmx-platform-hero__title {
    font-family: 'Roboto', sans-serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700;
    color: var(--dmx-white);
    margin: 0 0 6px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
body.dmx-platform-page .dmx-platform-hero__sub {
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--dmx-primary);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0;
}

/* ---- Admin nav tabs ---- */
body.dmx-platform-page .dmx-admin-nav {
    background:       #f4f5fb;
    display:          flex;
    justify-content:  center;
}
body.dmx-platform-page .dmx-admin-nav__list {
    display:       flex;
    flex-wrap:     wrap;
    gap:           0;
    list-style:    none;
    margin:        0;
    margin-inline: auto;
    padding:       0 24px;
    max-width:     1300px;
}
body.dmx-platform-page .dmx-admin-nav__item { margin: 0; }
body.dmx-platform-page .dmx-admin-nav__link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 14px 18px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
    white-space: nowrap;
}
body.dmx-platform-page .dmx-admin-nav__link:hover { color: var(--dmx-primary); }
body.dmx-platform-page .dmx-admin-nav__item.is-active .dmx-admin-nav__link {
    color:             var(--dmx-primary);
    border-bottom:     none;
    font-weight:       600;
}
body.dmx-platform-page .dmx-admin-nav__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: var(--dmx-primary);
    color: var(--dmx-white);
    font-size: 11px;
    font-weight: 700;
    border-radius: 10px;
}

/* ---- Platform wrap ---- */
body.dmx-platform-page .dmx-platform-wrap {
    max-width:   1300px;
    margin:      32px auto;
    padding:     0 24px 48px;
    font-family: 'Roboto', sans-serif;
    color:       var(--dmx-text);
}

/* DataTable pages (A2/A7/A8) — teal bg + reduced padding */
body.dmx-platform-page #dmx-admin-requests .dmx-platform-wrap,
body.dmx-platform-page #dmx-admin-recruiters .dmx-platform-wrap,
body.dmx-platform-page #dmx-admin-candidates .dmx-platform-wrap {
    background: var(--dmx-bg-teal);
    margin:     24px auto;
    padding:    20px 24px 32px;
}

/* ---- Platform message ---- */
body.dmx-platform-page .dmx-platform-message {
    padding:       14px 18px;
    border-radius: 8px;
    font-family:   'Roboto', sans-serif;
    font-size:     15px;
    margin-bottom: 24px;
}
/* Messages inside R4/R5 modals — align with 48px form padding */
body.dmx-platform-page #dmx-r4-modal .dmx-platform-message,
body.dmx-platform-page #dmx-r5-edit-modal .dmx-platform-message {
    margin-left:  48px;
    margin-right: 48px;
}
body.dmx-platform-page .dmx-platform-message--success { background: var(--dmx-success-bg); color: var(--dmx-success); border: 1px solid var(--dmx-success-border); }
body.dmx-platform-page .dmx-platform-message--error { background: var(--dmx-error-bg); color: var(--dmx-error);   border: 1px solid var(--dmx-error-border); }
body.dmx-platform-page .dmx-platform-error {
    display:       inline-block;
    padding:       20px 32px;
    color:         var(--dmx-error);
    background:    var(--dmx-error-bg);
    border:        1px solid var(--dmx-error-border);
    border-radius: var(--dmx-radius);
    font-family:   'Roboto', sans-serif;
    font-size:     16px;
    margin:        0 auto;
}

/* ---- Platform buttons ---- */
body.dmx-platform-page .dmx-platform-btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    position:        relative;
    box-sizing:      border-box;
    padding:         13px 28px;
    font-family:     'Roboto', sans-serif;
    font-size:       15px;
    font-weight:     600;
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    border-width:    0;
    border-style:    solid;
    border-color:    transparent;
    border-radius:   var(--dmx-radius);
    background:      transparent;
    color:           inherit;
    box-shadow:      none;
    outline:         none;
    overflow:        visible;
    cursor:          pointer;
    text-decoration: none;
    transition:      background 0.2s, color 0.2s, box-shadow 0.2s, border-color 0.2s;
    white-space:     nowrap;
}
body.dmx-platform-page .dmx-platform-btn--primary {
    background: var(--dmx-primary);
    color:      var(--dmx-white);
    box-shadow: 0 4px 14px rgba(80,70,229,0.25);
}
body.dmx-platform-page .dmx-platform-btn--primary:hover {
    background: var(--dmx-primary-dark);
    box-shadow: 0 6px 18px rgba(80,70,229,0.35);
    color:      var(--dmx-white);
}

/* Circle only on the + icon of ADD A JOB button — not on all primary btns */
body.dmx-platform-page .dmx-jobs-toolbar .dmx-platform-btn--primary svg {
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    width:           18px;
    height:          18px;
    padding:         2px;
    border-width:    1.5px;
    border-style:    solid;
    border-color:    var(--dmx-white);
    border-radius:   50%;
    box-sizing:      border-box;
}
body.dmx-platform-page .dmx-platform-btn--secondary {
    background: var(--dmx-white);
    color: var(--dmx-primary);
    border: 1.5px solid var(--dmx-primary);
}
body.dmx-platform-page .dmx-platform-btn--secondary:hover {
    background: var(--dmx-primary-light);
    color: var(--dmx-primary);
}
body.dmx-platform-page .dmx-platform-btn--ghost {
    background:   transparent;
    color:        var(--dmx-text);
    border-width: 1.5px;
    border-style: solid;
    border-color: var(--dmx-text-light);
}
body.dmx-platform-page .dmx-platform-btn--ghost:hover {
    background:   var(--dmx-bg);
    border-color: var(--dmx-text);
    color:        var(--dmx-text);
}
body.dmx-platform-page .dmx-platform-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ---- Platform inputs (shared across shortcodes) ---- */
body.dmx-platform-page .dmx-platform-input,
body.dmx-platform-page .dmx-platform-select {
    display:          block;
    width:            100%;
    max-width:        100%;
    padding:          11px 14px;
    margin:           0;
    margin-bottom:    0;
    border-width:     1.5px;
    border-style:     solid;
    border-color:     var(--dmx-border);
    border-radius:    8px;
    font-family:      'Roboto', sans-serif;
    font-size:        15px;
    color:            var(--dmx-text);
    background-color: var(--dmx-white);
    background-image: none;
    box-shadow:       none;
    outline:          none;
    transition:       border-color 0.2s, box-shadow 0.2s;
    box-sizing:       border-box;
    appearance:       none;
    -webkit-appearance: none;
}
body.dmx-platform-page .dmx-platform-input:focus,
body.dmx-platform-page .dmx-platform-select:focus {
    border-color:     var(--dmx-primary);
    box-shadow:       0 0 0 3px rgba(80, 70, 229, 0.10);
    background-color: var(--dmx-white);
    color:            var(--dmx-text);
    outline:          none;
}
body.dmx-platform-page .dmx-platform-input::placeholder { color: var(--dmx-placeholder); }

/* ---- Platform checkbox ---- */
body.dmx-platform-page .dmx-platform-checkbox-label,
body.dmx-platform-page .dmx-jobs-filter-check {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: var(--dmx-text);
    user-select: none;
}
body.dmx-platform-page .dmx-platform-checkbox-label input[type="checkbox"],
body.dmx-platform-page .dmx-jobs-filter-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
body.dmx-platform-page .dmx-platform-checkbox-custom {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 2px solid var(--dmx-border);
    background: var(--dmx-white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
}
body.dmx-platform-page .dmx-platform-checkbox-label input:checked + .dmx-platform-checkbox-custom,
body.dmx-platform-page .dmx-jobs-filter-check input:checked + .dmx-platform-checkbox-custom {
    background: var(--dmx-primary);
    border-color: var(--dmx-primary);
}
body.dmx-platform-page .dmx-platform-checkbox-label input:checked + .dmx-platform-checkbox-custom::after,
body.dmx-platform-page .dmx-jobs-filter-check input:checked + .dmx-platform-checkbox-custom::after {
    content: '';
    display: block;
    width: 4px;
    height: 8px;
    border: 2px solid var(--dmx-white);
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translateY(-1px);
}

/* ============================================================
   A6 — ADD / EDIT JOB (#dmx-admin-add-job)
   ============================================================ */

body.dmx-platform-page #dmx-admin-add-job .dmx-add-job-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
}

body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-row {
    display: grid;
    gap: 14px;
    align-items: start;
    font-family: 'Roboto', sans-serif;
    color: var(--dmx-text);
}
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-2col { grid-template-columns: 1fr 1fr; }
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-3col { grid-template-columns: 1fr 1fr 1fr; }
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-full { grid-template-columns: 1fr; }

body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-field { position: relative; }

body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-select-wrap,
body.dmx-platform-page .dmx-ajg-select-wrap { position: relative; }

body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-select-wrap .dmx-select-arrow,
body.dmx-platform-page .dmx-ajg-select-wrap .dmx-select-arrow {
    position:       absolute;
    right:          12px;
    top:            50%;
    transform:      translateY(-50%);
    pointer-events: none;
    color:          var(--dmx-text-light);
    font-size:      13px;
}
body.dmx-platform-page #dmx-admin-add-job .dmx-platform-select { padding-right: 32px; }

/* Logo upload field */
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-logo-field {
    display:        flex;
    flex-direction: column;
    gap:            4px;
}

/* Row: small preview square + upload button side by side */
body.dmx-platform-page #dmx-admin-add-job .dmx-logo-field-row {
    display:     flex;
    align-items: center;
    gap:         8px;
}

body.dmx-platform-page #dmx-admin-add-job .dmx-logo-preview {
    flex-shrink:     0;
    width:           38px;
    height:          38px;
    border-width:    1.5px;
    border-style:    dashed;
    border-color:    var(--dmx-border);
    border-radius:   6px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:      var(--dmx-bg);
    overflow:        hidden;
    color:           var(--dmx-text-light);
}
body.dmx-platform-page #dmx-admin-add-job .dmx-logo-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
body.dmx-platform-page #dmx-admin-add-job .dmx-logo-placeholder {
    display:     flex;
    align-items: center;
    color:       var(--dmx-text-light);
}
body.dmx-platform-page #dmx-admin-add-job .dmx-logo-upload-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             6px;
    padding:         10px 14px;
    flex:            1;
    justify-content: center;
    background:      var(--dmx-white);
    border-width:    1.5px;
    border-style:    solid;
    border-color:    var(--dmx-border);
    border-radius:   6px;
    font-family:     'Roboto', sans-serif;
    font-size:       13px;
    font-weight:     500;
    color:           var(--dmx-text);
    cursor:          pointer;
    transition:      border-color 0.2s, color 0.2s;
    box-sizing:      border-box;
}
body.dmx-platform-page #dmx-admin-add-job .dmx-logo-upload-btn:hover { border-color: var(--dmx-primary); color: var(--dmx-primary); }

/* Checkbox field alignment */
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-checkbox-field {
    display: flex;
    align-items: center;
    padding-top: 10px;
}

/* WYSIWYG editors */
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-editor-label {
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--dmx-text);
    margin-bottom: 8px;
    font-style: normal;
}
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-editor-wrap {
    border:   0;
    overflow: hidden;
}
body.dmx-platform-page #dmx-admin-add-job .dmx-wysiwyg-field {
    width: 100%;
    min-height: 200px;
    border: none;
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: var(--dmx-text);
    padding: 14px;
    box-sizing: border-box;
    resize: vertical;
}

/* Responsive */


/* ============================================================
   A1 — ADMIN JOB LISTINGS (#dmx-admin-jobs)
   ============================================================ */

/* Toolbar */
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
    font-family: 'Roboto', sans-serif;
}
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-count {
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: var(--dmx-text-light);
    margin: 0;
}
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-count strong {
    color: var(--dmx-text);
    font-weight: 700;
}

/* Filters */
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filters,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filters {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-field,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-field {
    position: relative;
    flex: 1;
    min-width: 160px;
}
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-icon,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-icon {
    position:       absolute;
    right:          12px;
    top:            50%;
    transform:      translateY(-50%);
    pointer-events: none;
    color:          var(--dmx-text-light);
}
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-input,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-input { width: 100%; padding-right: 34px; font-size: 14px; }
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-select,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-select { font-size: 14px; padding-right: 30px; }
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-select-wrap,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-select-wrap { max-width: 200px; }
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-select-wrap .dmx-select-arrow,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-select-wrap .dmx-select-arrow { right: 10px; top: 50%; transform: translateY(-50%); position: absolute; pointer-events: none; color: var(--dmx-text-light); font-size: 12px; }
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-clear,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-clear {
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    color: var(--dmx-text-light);
    text-decoration: none;
    white-space: nowrap;
    padding: 4px 8px;
    border-radius: 4px;
    transition: color 0.2s;
    font-style: normal;
    letter-spacing: 0;
    line-height: 1.5;
    overflow: visible;
    box-shadow: none;
    outline: none;
    background-color: transparent;
    background-image: none;
    border-width: 0;
    border-style: solid;
    border-color: transparent;
    box-sizing: border-box;
}
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-filter-clear:hover,
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-clear:hover { color: var(--dmx-error); }

/* Job cards list */
body.dmx-platform-page #dmx-admin-jobs-list { display: flex; flex-direction: column; gap: 16px; }

/* Card styles moved to Figma section below */

/* Empty state */
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-empty,
body.dmx-platform-page #dmx-jobs .dmx-jobs-empty {
    text-align: center;
    padding: 48px 24px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: var(--dmx-text-light);
    background: var(--dmx-white);
    border: 1px solid var(--dmx-border);
    border-radius: var(--dmx-radius);
}

/* Load more */
body.dmx-platform-page #dmx-admin-jobs .dmx-jobs-loadmore-wrap {
    text-align: center;
    margin-top: 32px;
}

/* Responsive */


/* ============================================================
   DATATABLES — Custom overrides (scoped to .dmx-req-table-wrap)
   ============================================================ */

/* .dmx-req-table-wrap — no styles needed; layout handled by parent */

/* Override DT default table styles — font/color/collapse inherited from .dmx-req-table base rule */
body.dmx-platform-page .dmx-req-table.dataTable {
    width: 100% !important;
    margin: 0 !important;
}
body.dmx-platform-page .dmx-req-table.dataTable thead th {
    background:    var(--dmx-thead-bg);
    color:         var(--dmx-text-light);
    font-size:     11px;
    font-weight:   700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding:       10px 12px;
    border-bottom: 2px solid var(--dmx-border);
    white-space:   nowrap;
    font-family:   'Roboto', sans-serif;
    box-shadow:    none;
}
body.dmx-platform-page .dmx-req-table.dataTable tbody tr {
    border-bottom: 1px solid var(--dmx-border);
    transition: background 0.15s;
}
body.dmx-platform-page .dmx-req-table.dataTable tbody tr:last-child { border-bottom: none; }
body.dmx-platform-page .dmx-req-table.dataTable tbody tr:hover { background: #fafbff; }
body.dmx-platform-page .dmx-req-table.dataTable td {
    padding: 9px 12px;
    vertical-align: middle;
    font-family: 'Roboto', sans-serif;
    box-shadow: none;
}

/* Pagination legacy API (DT 1.x fallback) — handled by .dt-paging-button in global DataTables section */

/* DT sort icons */
body.dmx-platform-page .dmx-req-table.dataTable thead .sorting::after,
body.dmx-platform-page .dmx-req-table.dataTable thead .sorting_asc::after,
body.dmx-platform-page .dmx-req-table.dataTable thead .sorting_desc::after {
    font-size: 10px;
    opacity: 0.6;
}

/* ============================================================
   A2 — CONFIRM REQUESTS (#dmx-admin-requests)
   ============================================================ */

/* Tab bar */
body.dmx-platform-page #dmx-admin-requests .dmx-req-tabs,
body.dmx-platform-page #dmx-admin-proposals .dmx-req-tabs,
body.dmx-platform-page .dmx-req-tabs {
    display:       flex;
    gap:           0;
    margin-bottom: 20px;
}
body.dmx-platform-page #dmx-admin-requests .dmx-req-tab,
body.dmx-platform-page #dmx-admin-recruiters .dmx-req-tab,
body.dmx-platform-page #dmx-admin-candidates .dmx-req-tab,
body.dmx-platform-page #dmx-admin-proposals .dmx-req-tab,
body.dmx-platform-page .dmx-req-tab {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    position:        relative;
    box-sizing:      border-box;
    padding:         10px 20px;
    background-color: transparent;
    background-image: none;
    border-width:    0;
    border-style:    solid;
    border-color:    transparent;
    border-bottom:   2px solid transparent;
    border-radius:   0;
    margin-bottom:   -2px;
    font-family:     'Roboto', sans-serif;
    font-size:       14px;
    font-weight:     500;
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    color:           #374151;
    box-shadow:      none;
    outline:         none;
    overflow:        visible;
    cursor:          pointer;
    transition:      color 0.2s, border-color 0.2s;
}
body.dmx-platform-page #dmx-admin-requests .dmx-req-tab:hover,
body.dmx-platform-page #dmx-admin-recruiters .dmx-req-tab:hover,
body.dmx-platform-page #dmx-admin-candidates .dmx-req-tab:hover,
body.dmx-platform-page #dmx-admin-proposals .dmx-req-tab:hover,
body.dmx-platform-page .dmx-req-tab:hover {
    color:            var(--dmx-primary);
    background:       transparent;
    background-color: transparent;
    background-image: none;
}
body.dmx-platform-page #dmx-admin-requests .dmx-req-tab.is-active,
body.dmx-platform-page #dmx-admin-recruiters .dmx-req-tab.is-active,
body.dmx-platform-page #dmx-admin-candidates .dmx-req-tab.is-active,
body.dmx-platform-page #dmx-admin-proposals .dmx-req-tab.is-active,
body.dmx-platform-page .dmx-req-tab.is-active {
    color: var(--dmx-primary);
    border-bottom-color: var(--dmx-primary);
    font-weight: 600;
}
body.dmx-platform-page .dmx-req-tab-count {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    min-width:       22px;
    height:          22px;
    padding:         0 6px;
    background:      #d1d5db;
    color:           var(--dmx-text);
    font-size:       11px;
    font-weight:     700;
    border-radius:   11px;
}
body.dmx-platform-page .dmx-req-tab-count--orange { background: var(--dmx-warn-bg); color: var(--dmx-warn-text); }
body.dmx-platform-page .dmx-req-tab-count--green { background: var(--dmx-success-bg); color: var(--dmx-success); }

/* Table cells */
body.dmx-platform-page #dmx-admin-requests .dmx-req-linkedin,
body.dmx-platform-page #dmx-admin-proposals .dmx-req-linkedin {
    color: var(--dmx-primary);
    font-size: 12px;
    text-decoration: none;
    font-weight: 500;
}
body.dmx-platform-page #dmx-admin-requests .dmx-req-linkedin:hover,
body.dmx-platform-page #dmx-admin-proposals .dmx-req-linkedin:hover { text-decoration: underline; }

/* Action buttons in table */
body.dmx-platform-page .dmx-req-actions { white-space: nowrap; }
body.dmx-platform-page .dmx-req-btn {
    display:        inline-block;
    padding:        6px 12px;
    font-family:    'Roboto', sans-serif;
    font-size:      12px;
    font-weight:    500;
    border-radius:  6px;
    border:         1px solid transparent;
    cursor:         pointer;
    text-decoration: none;
    transition:     background 0.15s, color 0.15s;
    margin-right:   4px;
    vertical-align: middle;
    line-height:    1.4;
}
body.dmx-platform-page .dmx-req-btn--validate {
    background: var(--dmx-primary);
    color: var(--dmx-white);
    border-color: var(--dmx-primary);
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    overflow:        visible;
    box-shadow:      none;
    outline:         none;
    box-sizing:      border-box;
}
body.dmx-platform-page .dmx-req-btn--validate:hover { background: var(--dmx-primary-dark); }
body.dmx-platform-page .dmx-req-btn--validate:disabled { opacity: 0.6; cursor: not-allowed; }
body.dmx-platform-page .dmx-req-btn--edit {
    background: var(--dmx-white);
    color: var(--dmx-text);
    border-color: var(--dmx-border);
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    overflow:        visible;
    box-shadow:      none;
    outline:         none;
    box-sizing:      border-box;
}
body.dmx-platform-page .dmx-req-btn--edit:hover { border-color: var(--dmx-text-light); }
body.dmx-platform-page .dmx-req-btn--delete {
    background: var(--dmx-white);
    color: var(--dmx-error);
    border-color: var(--dmx-error-border);
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    overflow:        visible;
    box-shadow:      none;
    outline:         none;
    box-sizing:      border-box;
}
body.dmx-platform-page .dmx-req-btn--delete:hover { background: var(--dmx-error-bg); }
body.dmx-platform-page .dmx-req-btn--delete:disabled { opacity: 0.6; cursor: not-allowed; }

/* ============================================================
   A3 — MANAGE PROPOSALS (#dmx-admin-proposals) + KANBAN
   ============================================================ */

/* Sub-header */
/* Full-width bg wrapper — placed outside .dmx-platform-wrap */
body.dmx-platform-page #dmx-admin-proposals .dmx-prop-subheader-bar {
    background: var(--dmx-bg);
    width:      100%;
}

/* Inner constrained to same max-width as platform-wrap */
body.dmx-platform-page #dmx-admin-proposals .dmx-prop-subheader {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    flex-wrap:       wrap;
    gap:             12px;
    max-width:       1300px;
    margin:          0 auto;
    padding:         16px 24px;
    font-family:     'Roboto', sans-serif;
    box-sizing:      border-box;
}
/* .dmx-prop-back — alias for .dmx-platform-btn--ghost; only hover override needed */
body.dmx-platform-page .dmx-prop-back {
    display:         inline-flex;
    align-items:     center;
    gap:             6px;
    font-family:     'Roboto', sans-serif;
    font-size:       14px;
    font-weight:     500;
    color:           var(--dmx-text);
    text-decoration: none;
    padding:         10px 16px;
    border-width:    1.5px;
    border-style:    solid;
    border-color:    var(--dmx-text-light);
    border-radius:   var(--dmx-radius);
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    overflow:        visible;
    box-shadow:      none;
    outline:         none;
    transition:      border-color 0.2s, color 0.2s, background 0.2s;
}
body.dmx-platform-page .dmx-prop-back:hover {
    background:   var(--dmx-bg);
    border-color: var(--dmx-text);
    color:        var(--dmx-text);
}
body.dmx-platform-page .dmx-prop-access-badges { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* Job summary card */
body.dmx-platform-page .dmx-prop-job-card {
    display:     flex;
    align-items: center;
    gap:         16px;
    margin:      20px 0 24px;
    font-family: 'Roboto', sans-serif;
    color:       var(--dmx-text);
}
body.dmx-platform-page .dmx-prop-job-logo {
    flex-shrink:     0;
    width:           100px;
    height:          100px;
    background:      var(--dmx-white);
    border-width:    1px;
    border-style:    solid;
    border-color:    var(--dmx-card-border);
    border-radius:   10px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    overflow:        hidden;
    padding:         8px;
    box-sizing:      border-box;
}
body.dmx-platform-page .dmx-prop-job-logo img { width: 100%; height: 100%; object-fit: contain; }
body.dmx-platform-page .dmx-prop-job-info { flex: 1; }

/* Meta icons in proposals job card use primary blue */
body.dmx-platform-page .dmx-prop-job-info .dmx-ajc-meta span svg {
    color: var(--dmx-primary);
}
body.dmx-platform-page .dmx-prop-job-title {
    font-family:    'Roboto', sans-serif;
    font-size:      36px;
    font-weight:    700;
    color:          var(--dmx-text);
    margin:         0 0 8px;
    letter-spacing: 0;
    line-height:    1.2;
    display:        flex;
    align-items:    baseline;
    flex-wrap:      wrap;
    gap:            8px;
}
/* Meta-right: Job ID + owner, right-aligned */
body.dmx-platform-page .dmx-prop-job-meta-right {
    flex-shrink:    0;
    display:        flex;
    flex-direction: column;
    gap:            4px;
    text-align:     right;
    font-family:    'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-prop-job-id {
    font-family:    'Roboto', sans-serif;
    font-size:      15px;
    color:          var(--dmx-text-light);
    margin:         0;
    letter-spacing: 0;
}

body.dmx-platform-page .dmx-prop-job-owner {
    font-family:    'Roboto', sans-serif;
    font-size:      15px;
    color:          var(--dmx-text-light);
    margin:         0;
    letter-spacing: 0;
}
body.dmx-platform-page .dmx-prop-reward {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    align-self:      normal;
    flex-shrink:     0;
    width:           100px;
    padding:         10px 16px;
    background:    var(--dmx-card-subtle);
    border-radius: 8px;
    text-align:    center;
    font-family:   'Roboto', sans-serif;
    box-sizing:    border-box;
}
body.dmx-platform-page .dmx-prop-reward strong {
    display:     block;
    font-family: 'Roboto', sans-serif;
    font-size:   18px;
    font-weight: 700;
    color:       var(--dmx-text);
}


/* Kanban board */
body.dmx-platform-page .dmx-kanban {
    display:     flex;
    gap:         12px;
    align-items: flex-start;
}
body.dmx-platform-page .dmx-kanban-col {
    flex:           1;
    min-width:      0;
    display:        flex;
    flex-direction: column;
    font-family:    'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-kanban-col-header {
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    padding:         10px 12px;
    border-radius:   8px 8px 0 0;
    font-family:     'Roboto', sans-serif;
    font-size:       17px;
    font-weight:     700;
    letter-spacing:  0.06em;
    text-transform:  uppercase;
    margin-bottom:   0;
    color:           var(--dmx-primary);
    background:      var(--dmx-bg);
}
body.dmx-platform-page .dmx-kanban-col-count {
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    font-weight: 700;
}

/* Column header color variants — all use same primary style; modifiers kept for potential future use */

body.dmx-platform-page .dmx-kanban-col-body {
    background:     var(--dmx-bg);
    border-radius:  0 0 8px 8px;
    min-height:     120px;
    padding:        8px;
    display:        flex;
    flex-direction: column;
    gap: 8px;
}

/* Candidate cards */
body.dmx-platform-page .dmx-kanban-card {
    display:         flex;
    flex-direction:  column;
    font-family: 'Roboto', sans-serif;
    color: var(--dmx-text);
    background: var(--dmx-white);
    border-radius: 8px;
    padding: 12px;
    border: 2px solid var(--dmx-border);
    cursor: grab;
    transition: box-shadow 0.15s, transform 0.15s;
    user-select: none;
}
body.dmx-platform-page .dmx-kanban-card:active { cursor: grabbing; }
body.dmx-platform-page .dmx-kanban-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }

/* Card border colors by stage */
/* Kanban card border colors — per stage */
body.dmx-platform-page .dmx-kanban-card--red    { border-color: var(--dmx-color-red); } /* rejected */
body.dmx-platform-page .dmx-kanban-card--blue   { border-color: var(--dmx-color-blue); } /* submitted */
body.dmx-platform-page .dmx-kanban-card--yellow { border-color: var(--dmx-color-yellow); } /* interviewing */
body.dmx-platform-page .dmx-kanban-card--orange-stage { border-color: var(--dmx-color-purple); } /* offer_made */
body.dmx-platform-page .dmx-kanban-card--green  { border-color: var(--dmx-color-green); } /* hired */

/* Drag states */
body.dmx-platform-page .dmx-card-ghost { opacity: 0.4; }
body.dmx-platform-page .dmx-card-chosen { box-shadow: 0 8px 20px rgba(0,0,0,0.15); }
body.dmx-platform-page .dmx-card-drag { transform: rotate(2deg); }

body.dmx-platform-page .dmx-kanban-card-top {
    margin-bottom: 10px;
    font-family:   'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-kanban-card-name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 4px;
    font-family: 'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-kanban-card-name strong {
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--dmx-text);
    line-height: 1.3;
}
body.dmx-platform-page .dmx-kanban-card-li { flex-shrink: 0; }
body.dmx-platform-page .dmx-kanban-card-title,
body.dmx-platform-page .dmx-kanban-card-exp {
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    color: var(--dmx-text-light);
    margin: 0 0 2px;
    line-height: 1.4;
}
body.dmx-platform-page .dmx-kanban-card-email {
    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    color: var(--dmx-text-light);
    margin: 0 0 4px;
    line-height: 1.4;
    word-break: break-all;
}
body.dmx-platform-page .dmx-kanban-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 8px;
}
body.dmx-platform-page .dmx-card-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             3px;
    padding:         3px 8px;
    font-family:     'Roboto', sans-serif;
    font-size:       11px;
    font-weight:     500;
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    color:           var(--dmx-text);
    background:      var(--dmx-white);
    background-image: none;
    border-width:    1px;
    border-style:    solid;
    border-color:    var(--dmx-primary);
    border-radius:   4px;
    text-decoration: none;
    cursor:          pointer;
    white-space:     nowrap;
    overflow:        visible;
    box-shadow:      none;
    outline:         none;
    box-sizing:      border-box;
    transition:      background 0.15s, border-color 0.15s, color 0.15s;
}
body.dmx-platform-page .dmx-card-btn:hover { background: var(--dmx-primary-light); border-color: var(--dmx-primary); color: var(--dmx-primary); }
body.dmx-platform-page .dmx-card-btn--edit { background: var(--dmx-primary); color: var(--dmx-white); border-color: var(--dmx-primary); }
body.dmx-platform-page .dmx-card-btn--disabled { opacity: 0.4; cursor: not-allowed; }
body.dmx-platform-page .dmx-card-btn--disabled:hover { background: var(--dmx-white); border-color: var(--dmx-border); color: var(--dmx-text); }
body.dmx-platform-page .dmx-card-btn--email {
    max-width:     160px;
    overflow:      hidden;
    text-overflow: ellipsis;
    white-space:   nowrap;
    display:       inline-block;
}

body.dmx-platform-page .dmx-kanban-card-recruiter {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    color: var(--dmx-text-light);
    border-top: none;
    padding-top: 0;
}

/* Hint text */
body.dmx-platform-page .dmx-kanban-hint {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-style: italic;
    color: var(--dmx-text-light);
    margin-top: 16px;
    text-align: center;
    justify-content: center;
}

/* ============================================================
   MODAL (shared — A4 + future modals)
   ============================================================ */

body.dmx-platform-page .dmx-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(10, 15, 44, 0.5);
    backdrop-filter: blur(2px);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
body.dmx-platform-page .dmx-modal-overlay.is-open {
    display: flex;
}
body.dmx-modal-open { overflow: hidden; }

body.dmx-platform-page .dmx-modal-box {
    background:    var(--dmx-bg-teal);
    border-radius: 16px;
    box-shadow:    0 20px 60px rgba(0,0,0,0.2);
    padding:       32px;
    width:         100%;
    max-width:     860px;
    max-height:    90vh;
    overflow-y:    auto;
    position:      relative;
}
body.dmx-platform-page .dmx-modal-box--wide { max-width: 900px; }
body.dmx-platform-page .dmx-modal-box--readmore {
    max-width:  760px;
    background: var(--dmx-white);
}
body.dmx-platform-page .dmx-readmore-modal-content {
    margin-top:  16px;
    line-height: 1.7;
    font-size:   0.95rem;
    color:       var(--dmx-text);
}
/* R3 modal title spacing */
body.dmx-platform-page #dmx-r3-modal .dmx-modal-title {
    margin-bottom: 20px;
}
/* R3 modal (recruiter access request) — compact box */
body.dmx-platform-page #dmx-r3-modal .dmx-modal-box {
    max-width:  640px;
    padding:    40px;
    background: var(--dmx-white);
}
/* R4 + R5 modals — white background */
body.dmx-platform-page #dmx-r4-modal .dmx-modal-box,
body.dmx-platform-page #dmx-r5-edit-modal .dmx-modal-box,
body.dmx-platform-page #dmx-admin-edit-modal .dmx-modal-box {
    background: var(--dmx-white);
}

body.dmx-platform-page .dmx-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--dmx-text-light);
    transition: color 0.2s;
    display: flex;
    align-items: center;
    font-style:   normal;
    letter-spacing: 0;
    line-height: 1.5;
    overflow: visible;
    box-shadow: none;
    outline: none;
    background-color: transparent;
    background-image: none;
    border-width: 0;
    border-style: solid;
    border-color: transparent;
}
/* Override BeTheme button:hover background injection */
body.dmx-platform-page .dmx-modal-close:hover {
    color:            var(--dmx-text);
    background:       none;
    background-color: transparent;
    background-image: none;
}

body.dmx-platform-page .dmx-modal-header {
    text-align:    center;
    margin-bottom: 24px;
}

body.dmx-platform-page .dmx-modal-title {
    font-family:    'Roboto', sans-serif;
    font-size:      26px;
    font-weight:    700;
    color:          var(--dmx-text);
    margin:         0 0 6px;
    text-align:     center;
    letter-spacing: 0;
    line-height:    1.2;
}
body.dmx-platform-page .dmx-modal-title-sub {
    display:     block;
    font-size:   16px;
    font-weight: 500;
    color:       var(--dmx-primary);
    margin-top:  4px;
    font-family: 'Roboto', sans-serif;
    text-align:  center;
}
body.dmx-platform-page .dmx-modal-job-id {
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    color:       var(--dmx-text-light);
    margin:      0 0 24px;
    text-align:  center;
    letter-spacing: 0;
}

/* ============================================================
   JOB SINGLE — Shared styles (A5 admin + R2 recruiter)
   ============================================================ */

/* Dark job hero */
body.dmx-platform-page .dmx-job-hero {
    min-height:  200px;
    background:  var(--dmx-hero-bg);
    padding:     36px 0;
    font-family: 'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-job-hero__inner {
    max-width:   1300px;
    margin:      0 auto;
    padding:     0 24px;
    display:     flex;
    align-items: center;
    gap:         24px;
}
body.dmx-platform-page .dmx-job-hero__logo {
    flex-shrink:     0;
    width:           100px;
    height:          100px;
    background:      var(--dmx-white);
    border-radius:   10px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    overflow:        hidden;
    padding:         8px;
    box-sizing:      border-box;
}
body.dmx-platform-page .dmx-job-hero__logo img { width: 100%; height: 100%; object-fit: contain; }
body.dmx-platform-page .dmx-job-hero__info { flex: 1; }
body.dmx-platform-page .dmx-job-hero__title {
    font-family:    'Roboto', sans-serif;
    font-size:      36px;
    font-weight:    700;
    color:          var(--dmx-white);
    margin:         0 0 10px;
    line-height:    1.15;
    letter-spacing: 0;
}
body.dmx-platform-page .dmx-job-hero__meta { color: rgba(255,255,255,0.75); }
body.dmx-platform-page .dmx-job-hero__meta span { color: rgba(255,255,255,0.75); }


body.dmx-platform-page .dmx-job-hero__meta-right {
    flex-shrink:    0;
    display:        flex;
    flex-direction: column;
    gap:            4px;
    text-align:     right;
    font-family:    'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-job-hero__id {
    font-family:    'Roboto', sans-serif;
    font-size:      15px;
    color:          rgba(255,255,255,0.6);
    margin:         0;
    letter-spacing: 0;
}
body.dmx-platform-page .dmx-job-hero__owner {
    font-family:    'Roboto', sans-serif;
    font-size:      15px;
    color:          rgba(255,255,255,0.6);
    margin:         0;
    letter-spacing: 0;
}
body.dmx-platform-page .dmx-job-hero__reward {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    align-self:      stretch;
    flex-shrink:     0;
    background:      var(--dmx-white);
    border-width:    1px;
    border-style:    solid;
    border-color:    rgba(255,255,255,0.3);
    border-radius:   10px;
    padding:         10px 20px;
    text-align:      center;
    min-width:       90px;
}
body.dmx-platform-page .dmx-job-hero__reward strong {
    display:     block;
    font-family: 'Roboto', sans-serif;
    font-size:   20px;
    font-weight: 700;
    color:       var(--dmx-text);
    white-space: nowrap;
}
body.dmx-platform-page .dmx-job-hero__reward span {
    font-family:    'Roboto', sans-serif;
    font-size:      11px;
    font-weight:    700;
    color:          var(--dmx-text);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Action bar */
/* Action bar wrapper — full-width background */
body.dmx-platform-page .dmx-job-action-bar {
    background:  var(--dmx-bg);
    width:       100%;
}

/* Action bar inner — constrained to max-width */
body.dmx-platform-page .dmx-job-action-bar__inner {
    max-width:            1300px;
    margin:               0 auto;
    padding:              16px 24px;
    display:              grid;
    grid-template-columns: 1fr 320px;
    align-items:          center;
    gap:                  32px;
    font-family:          'Roboto', sans-serif;
}

/* Edit button fills the sidebar column — perfectly aligned */
body.dmx-platform-page .dmx-job-single-edit-btn {
    grid-column:     2;
    justify-content: center;
    width:           100%;
}


body.dmx-platform-page .dmx-job-back-btn {
    font-size:      14px;
    font-family:    'Roboto', sans-serif;
    font-style:     normal;
    letter-spacing: 0;
    line-height:    1.5;
    overflow:       visible;
    box-shadow:     none;
    outline:        none;
    white-space:    nowrap;
    flex-shrink:    0;
    width:          fit-content;
    justify-self:   start;
}


/* Two-column layout */
body.dmx-platform-page .dmx-job-single-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    align-items: start;
    margin-bottom: 40px;
    font-family: 'Roboto', sans-serif;
    color: var(--dmx-text);
}

/* Main content area */
body.dmx-platform-page .dmx-job-single-main { min-width: 0; }
body.dmx-platform-page .dmx-job-section__title {
    font-family:    'Roboto', sans-serif;
    font-size:      22px;
    font-weight:    700;
    color:          var(--dmx-text);
    margin:         0 0 20px;
    letter-spacing: 0;
    line-height:    1.3;
}

/* WYSIWYG output reset (scoped to platform pages) */
body.dmx-platform-page .dmx-wysiwyg-output {
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: var(--dmx-text);
    line-height: 1.7;
}
body.dmx-platform-page .dmx-wysiwyg-output p { margin: 0 0 10px; }
body.dmx-platform-page .dmx-wysiwyg-output h2,
body.dmx-platform-page .dmx-wysiwyg-output h3 { font-size: 17px; font-weight: 700; margin: 24px 0 10px; color: var(--dmx-text); }
body.dmx-platform-page .dmx-wysiwyg-output ul,
body.dmx-platform-page .dmx-wysiwyg-output ol { margin: 0 0 16px; padding-left: 20px; }
body.dmx-platform-page .dmx-wysiwyg-output li { margin-bottom: 6px; }
body.dmx-platform-page .dmx-wysiwyg-output strong { font-weight: 700; }
body.dmx-platform-page .dmx-wysiwyg-output a { color: var(--dmx-primary); text-decoration: underline; }

/* Sidebar */
body.dmx-platform-page .dmx-job-single-sidebar {
    display:        flex;
    flex-direction: column;
    gap:            0;
    background:     var(--dmx-bg);
    border-width:   1px;
    border-style:   solid;
    border-color:   var(--dmx-card-border);
    border-radius:  var(--dmx-radius);
    overflow:       hidden;
}

body.dmx-platform-page .dmx-job-sidebar-block {
    background:  transparent;
    border:      none;
    border-radius: 0;
    padding:     20px;
    font-family: 'Roboto', sans-serif;
    color:       var(--dmx-text);
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: var(--dmx-border);
}

body.dmx-platform-page .dmx-job-sidebar-block:last-child {
    border-bottom: none;
}

/* Public link block — keeps same transparent style */
body.dmx-platform-page .dmx-job-public-link-block {
    background: transparent;
}

/* Public link block */
body.dmx-platform-page .dmx-job-public-link-header {
    display:       flex;
    align-items:   center;
    gap:           10px;
    margin-bottom: 10px;
}

/* Inner card: svg icon + link text */
body.dmx-platform-page .dmx-job-public-link-inner {
    display:       flex;
    align-items:   center;
    gap:           8px;
    flex:          1;
    background:    var(--dmx-white);
    border-width:  1px;
    border-style:  solid;
    border-color:  var(--dmx-border);
    border-radius: 8px;
    padding:       10px 12px;
}
body.dmx-platform-page .dmx-job-public-link-text {
    flex: 1;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--dmx-primary);
    text-decoration: none;
}
body.dmx-platform-page .dmx-job-public-link-text:hover { text-decoration: underline; }
body.dmx-platform-page .dmx-copy-link-btn {
    background:       none;
    background-color: transparent;
    background-image: none;
    border:           none;
    border-width:     0;
    padding:          4px;
    cursor:           pointer;
    color:            var(--dmx-primary);
    display:          flex;
    align-items:      center;
    transition:       color 0.2s, opacity 0.2s;
    font-style:       normal;
    letter-spacing:   0;
    line-height:      1.5;
    overflow:         visible;
    box-shadow:       none;
    outline:          none;
    flex-shrink:      0;
}
body.dmx-platform-page .dmx-copy-link-btn:hover {
    background:       transparent;
    background-color: transparent;
    background-image: none;
    color:            var(--dmx-primary-dark);
    opacity:          0.8;
}
body.dmx-platform-page .dmx-copy-link-btn--copied { color: var(--dmx-success); border-color: var(--dmx-success); }
body.dmx-platform-page .dmx-job-public-link-hint {
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    color: var(--dmx-text-light);
    margin: 0;
}

/* Sidebar block title */
body.dmx-platform-page .dmx-job-sidebar-block__title {
    font-family:    'Roboto', sans-serif;
    font-size:      17px;
    font-weight:    700;
    color:          var(--dmx-text);
    margin:         0 0 12px;
    line-height:    1.3;
    letter-spacing: 0;
}
body.dmx-platform-page .dmx-job-sidebar-block__content {
    transition: max-height 0.3s ease;
    overflow: hidden;
    font-family: 'Roboto', sans-serif;
    color: var(--dmx-text);
}

/* Read more button */
body.dmx-platform-page .dmx-readmore-btn {
    display:          inline-block; /* always visible — opens fullscreen modal */
    margin-top:       12px;
    background:       transparent;
    background-color: transparent;
    background-image: none;
    border-width:     1px;
    border-style:     solid;
    border-color:     var(--dmx-text-light);
    border-radius:    6px;
    cursor:           pointer;
    font-family:      'Roboto', sans-serif;
    font-size:        14px;
    font-weight:      600;
    color:            var(--dmx-text);
    padding:          8px 24px;
    font-style:       normal;
    letter-spacing:   0;
    line-height:      1.5;
    box-shadow:       none;
    outline:          none;
    overflow:         visible;
    box-sizing:       border-box;
    transition:       border-color 0.2s, color 0.2s;
    width:            auto;
}
body.dmx-platform-page .dmx-readmore-btn:hover {
    background:       transparent;
    background-color: transparent;
    background-image: none;
    border-color:     var(--dmx-primary);
    color:            var(--dmx-primary);
    text-decoration:  none;
}

/* Bottom CTA */
body.dmx-platform-page .dmx-job-single-bottom-cta {
    display:         flex;
    justify-content: flex-start;
}
body.dmx-platform-page .dmx-job-single-bottom-btn {
    /* Width matches the main column (grid 1fr + 320px sidebar + 32px gap) */
    flex:            1;
    max-width:       calc(100% - 320px - 32px);
    justify-content: center;
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.5;
    box-shadow:      none;
}

/* Responsive */


/* ============================================================
   R1 — RECRUITER JOB LISTINGS (#dmx-jobs)
   ============================================================ */

/* Welcome bar */
body.dmx-platform-page .dmx-jobs-welcome-bar {
    background:    var(--dmx-bg);
    border-bottom: 1px solid var(--dmx-border);
    width:         100%;
    font-family:   'Roboto', sans-serif;
    color:         var(--dmx-text);
}
/* Inner container — respects 1300px grid */
body.dmx-platform-page .dmx-jobs-welcome-inner {
    max-width:       1300px;
    margin:          0 auto;
    padding:         12px 24px;
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    flex-wrap:       wrap;
    gap:             12px;
}
body.dmx-platform-page .dmx-jobs-welcome-text {
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--dmx-text);
    background: transparent;
}
body.dmx-platform-page .dmx-jobs-awards { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
/* Award badge — split pill: white label + colored value block */
body.dmx-platform-page .dmx-award-badge {
    display:       inline-flex;
    align-items:   stretch;
    border-radius: 6px;
    font-family:   'Roboto', sans-serif;
    font-size:     13px;
    font-weight:   500;
    overflow:      hidden;
    border:        1px solid var(--dmx-border);
    background:    var(--dmx-white);
    color:         var(--dmx-text);
    line-height:   2;
    padding-left:  12px;
}
/* Label part (left) */
body.dmx-platform-page .dmx-award-badge--green  { color: var(--dmx-success);   border-color: var(--dmx-pill-assigned-bg); }
body.dmx-platform-page .dmx-award-badge--orange { color: var(--dmx-pill-pending-bg); border-color: var(--dmx-pill-pending-bg); }
/* Label text: vertically centered with equal spacing */
body.dmx-platform-page .dmx-award-badge > :not(strong) {
    display:     flex;
    align-items: center;
    padding:     6px 8px 6px 12px;
}
/* Value block (right) — colored bg full height, flush to right edge */
body.dmx-platform-page .dmx-award-badge--green  strong {
    display:      flex;
    align-items:  center;
    padding:      0 12px;
    background:   var(--dmx-pill-assigned-bg);
    color:        var(--dmx-white);
    font-weight:  700;
    margin-left:  8px;
}
body.dmx-platform-page .dmx-award-badge--orange strong {
    display:      flex;
    align-items:  center;
    padding:      0 12px;
    background:   var(--dmx-pill-pending-bg);
    color:        var(--dmx-white);
    font-weight:  700;
    margin-left:  8px;
}

/* Filters — reuse admin filters style + checkbox addition */
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--dmx-text);
    cursor: pointer;
    padding: 8px 0;
    user-select: none;
    position: relative;
    background: transparent;
}
body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-check label {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: var(--dmx-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    margin-bottom: 0;
}

body.dmx-platform-page #dmx-jobs .dmx-jobs-filter-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
/* R1 — Hero section (dark bg, centered title + count) */
body.dmx-platform-page .dmx-jobs-header {
    background:      var(--dmx-hero-bg);
    width:           100%;
    padding:         48px 24px 56px;
    text-align:      center;
    font-family:     'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-jobs-hero-title {
    font-family:    'Roboto', sans-serif;
    font-size:      48px;
    font-weight:    700;
    color:          var(--dmx-white);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin:         0 0 12px;
    line-height:    1.1;
}
body.dmx-platform-page .dmx-jobs-hero-count {
    font-family:  'Roboto', sans-serif;
    font-size:    22px;
    font-weight:  400;
    color:        rgba(255, 255, 255, 0.8);
    margin:       0;
    display:      flex;
    align-items:  center;
    justify-content: center;
    gap:          8px;
}
body.dmx-platform-page .dmx-jobs-hero-badge {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    background:      var(--dmx-primary);
    color:           var(--dmx-white);
    font-family:     'Roboto', sans-serif;
    font-size:       22px;
    font-weight:     700;
    border-radius:   0;
    border:          none;
    margin:          0;
    padding:         5px 10px;
}



/* Recruiter job cards list */
body.dmx-platform-page #dmx-jobs #dmx-jobs-list { display: flex; flex-direction: column; gap: 14px; }

/* Recruiter job card */
body.dmx-platform-page .dmx-rjc {
    display:        flex;
    flex-direction: row;
    align-items:    stretch;
    margin-bottom:  16px;
    gap:            10px;
    font-family:    'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-rjc-body {
    flex: 1;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Recruiter stats inside approved card */
body.dmx-platform-page .dmx-rjc-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--dmx-border);
}



/* Recruiter approved card — personal stats row */
/* Approved row: stats left + actions right on same line */
body.dmx-platform-page .dmx-rjc-approved-row {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
    padding:     12px 16px;
    border-top:  1px solid var(--dmx-border);
    flex-wrap:   wrap;
}
body.dmx-platform-page .dmx-rjc-stats-row {
    display:     flex;
    flex-wrap:   wrap;
    gap:         6px;
    flex:        1;
    min-width:   0;
    font-family: 'Roboto', sans-serif;
    font-size:   12px;
}
body.dmx-platform-page .dmx-rjc-approved-actions {
    display:    flex;
    gap:        10px;
    flex-wrap:  nowrap;
    flex-shrink: 0;
    align-self: flex-start;
}
body.dmx-platform-page .dmx-rjc-approved-actions .dmx-platform-btn { font-size: 13px; padding: 9px 16px; }
/* CTA column */
body.dmx-platform-page .dmx-rjc-cta {
    width:          120px;
    flex-shrink:    0;
    border:         0;
    display:        flex;
    flex-direction: column;
    align-items:    stretch;
}

/* CTA buttons */
body.dmx-platform-page .dmx-rjc-btn {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    flex:            1;
    gap:             6px;
    padding:         12px 10px;
    font-family:     'Roboto', sans-serif;
    font-size:       14px;
    font-weight:     600;
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1.3;
    text-align:      center;
    text-decoration: none;
    cursor:          pointer;
    white-space:     normal;
    border-width:    0;
    border-style:    solid;
    border-color:    transparent;
    border-radius:   8px;
    background:      none;
    background-image: none;
    box-shadow:      none;
    outline:         none;
    overflow:        visible;
    transition:      background 0.15s;
    box-sizing:      border-box;
    width:           100%;
    max-height:      126px;
}
body.dmx-platform-page .dmx-rjc-btn--approved {
    background: var(--dmx-btn-view-bg);
    color:      var(--dmx-white);
    flex:       1;
}
body.dmx-platform-page .dmx-rjc-btn--approved:hover { background: var(--dmx-btn-view-bg-hover); color: var(--dmx-white); }
body.dmx-platform-page .dmx-rjc-btn--pending {
    background:  var(--dmx-white);
    color:       var(--dmx-primary);
    border:      1px solid var(--dmx-primary);
    cursor:      default;
}
body.dmx-platform-page .dmx-rjc-btn--request {
    background:     var(--dmx-primary);
    color:           var(--dmx-white);
}
body.dmx-platform-page .dmx-rjc-btn--request:hover { background: var(--dmx-primary-dark); }

/* R3 Modal specifics */
body.dmx-platform-page .dmx-r3-job-title {
    font-family: 'Roboto', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--dmx-primary);
    margin: 0 0 4px;
    text-align: center;
}
body.dmx-platform-page .dmx-r3-job-id {
    font-family: 'Roboto', sans-serif;
    font-size:   16px;
    color:       var(--dmx-text);
    margin:      0 0 32px;
    text-align:  center;
}
body.dmx-platform-page .dmx-r3-info {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: var(--dmx-text);
    text-align: center;
    margin: 0 0 20px;
    line-height: 1.6;
}
/* R3 modal: center the confirm button */
body.dmx-platform-page #dmx-r3-modal .dmx-platform-btn {
    display: flex;
    margin:  0 auto;
}

/* Responsive */


/* ============================================================
   R4 — SUBMIT CANDIDATE MODAL + MESSAGE THREAD
   ============================================================ */

/* R4 form grid */
body.dmx-platform-page .dmx-r4-form-grid {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   12px;
    margin-bottom:         16px;
    width:                 100%;
    padding:               0 48px;
    box-sizing:            border-box;
    font-family:           'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-r4-full { grid-column: 1 / -1; }


/* R4/R5 modal save button — full width centered */
body.dmx-platform-page .dmx-modal-save-btn {
    width:            100%;
    justify-content:  center;
    margin:           4px 48px 16px;
    width:            calc(100% - 96px);
    box-sizing:       border-box;
}
/* LinkedIn field */
body.dmx-platform-page .dmx-ajg-field--linkedin { position: relative; }
body.dmx-platform-page .dmx-r4-linkedin-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
body.dmx-platform-page .dmx-ajg-field--linkedin .dmx-platform-input { padding-right: 36px; }

/* File upload */
body.dmx-platform-page .dmx-r4-file-input {
    position: absolute;
    left: -9999px;
    opacity: 0;
    width: 0;
    height: 0;
}
body.dmx-platform-page .dmx-r4-file-label {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 11px 14px;
    border: 1.5px dashed var(--dmx-border);
    border-radius: 8px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: var(--dmx-text-light);
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
    box-sizing: border-box;
    justify-content: space-between;
    background:    var(--dmx-bg);
    font-family:   'Roboto', sans-serif;
    font-style:    normal;
    letter-spacing: 0;
    cursor:        pointer;
}
body.dmx-platform-page .dmx-r4-file-label:hover { border-color: var(--dmx-primary); color: var(--dmx-primary); }
body.dmx-platform-page .dmx-r4-file-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--dmx-text);
    font-size: 13px;
    font-family: 'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-r4-file-clear { flex-shrink: 0; cursor: pointer; }

/* Admin edit candidate modal — file row */
body.dmx-platform-page .dmx-ae-file-row {
    display:     flex;
    flex-wrap:   wrap;
    align-items: center;
    gap:         8px;
}
body.dmx-platform-page .dmx-ae-delete-file {
    background:   #fef2f2;
    border-color: var(--dmx-error);
    color:        var(--dmx-error);
}
body.dmx-platform-page .dmx-ae-delete-file:hover {
    background:   #fee2e2;
    border-color: var(--dmx-error);
    color:        var(--dmx-error);
}
/* Cursor override — admin-edit-candidate is a <button>, not <a> */
body.dmx-platform-page .dmx-admin-edit-candidate { cursor: pointer; }

/* Textarea */
body.dmx-platform-page .dmx-r4-textarea {
    resize: vertical;
    min-height: 80px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

/* Message thread */
body.dmx-platform-page .dmx-r4-thread {
    margin-top:  32px;
    border-top:  1px solid var(--dmx-border);
    padding-top: 24px;
    padding:     24px 48px 0;
    font-family: 'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-r4-messages {
    display:        flex;
    flex-direction: column;
    gap:            12px;
    max-height:     320px;
    overflow-y:     auto;
    margin-bottom:  16px;
    font-family:    'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-r4-no-messages {
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    color: var(--dmx-text-light);
    text-align: center;
    padding: 16px;
}

/* Individual messages */
body.dmx-platform-page .dmx-message-item {
    border-radius: 8px;
    padding: 12px 14px;
    font-family: 'Roboto', sans-serif;
}
/* All messages: card-subtle bg for recruiter, primary-light tint for admin */
body.dmx-platform-page .dmx-message-item--recruiter {
    background: var(--dmx-card-subtle);
    border:     0;
}
body.dmx-platform-page .dmx-message-item--admin {
    background: var(--dmx-primary-light);
    border:     0;
}
body.dmx-platform-page .dmx-message-header {
    display:       flex;
    align-items:   center;
    margin-bottom: 6px;
    gap:           12px;
    font-family:   'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-message-author {
    font-family: 'Roboto', sans-serif;
    font-size:   14px;
    font-weight: 700;
    color:       var(--dmx-primary);
}
body.dmx-platform-page .dmx-message-date {
    font-family: 'Roboto', sans-serif;
    font-size:   14px;
    font-weight: 700;
    color:       var(--dmx-primary);
    white-space: nowrap;
}
body.dmx-platform-page .dmx-message-body {
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    color: var(--dmx-text);
    line-height: 1.6;
}
body.dmx-platform-page .dmx-message-body p { margin: 0 0 8px; }
body.dmx-platform-page .dmx-message-body p:last-child { margin: 0; }

/* Reply area */
body.dmx-platform-page .dmx-r4-reply-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}
body.dmx-platform-page .dmx-r4-reply-footer .dmx-platform-btn { font-size: 13px; padding: 9px 18px; }

/* Responsive */


/* ============================================================
   R5 — MY PROPOSALS (#dmx-proposals)
   ============================================================ */

/* Read-only kanban — no grab cursor on cards */
body.dmx-platform-page .dmx-kanban--readonly .dmx-kanban-card { cursor: default; }
body.dmx-platform-page .dmx-kanban--readonly .dmx-kanban-card:hover { box-shadow: none; }

/* ============================================================
   R6 — MY ACCOUNT (#dmx-account)
   ============================================================ */

body.dmx-platform-page #dmx-account .dmx-account-form {
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: 'Roboto', sans-serif;
    color: var(--dmx-text);
}

body.dmx-platform-page #dmx-account .dmx-account-row { display: grid; gap: 14px;     font-family: 'Roboto', sans-serif;
}
body.dmx-platform-page #dmx-account .dmx-account-row--3col { grid-template-columns: 1fr 1fr 1fr; }
body.dmx-platform-page #dmx-account .dmx-account-row--2col { grid-template-columns: 1fr 1fr; }
body.dmx-platform-page #dmx-account .dmx-account-row--full { grid-template-columns: 1fr; }

body.dmx-platform-page #dmx-account .dmx-account-save-btn {
    width: 100%;
    justify-content: center;
    font-size: 16px;
    padding: 15px;
    margin-top: 8px;
}

body.dmx-platform-page #dmx-account .dmx-account-delete-wrap {
    text-align: center;
    padding-top: 8px;
}
body.dmx-platform-page #dmx-account .dmx-account-delete-btn {
    display:         inline-flex;
    align-items:     center;
    background:      none;
    background-image: none;
    border-width:    0;
    border-style:    solid;
    border-color:    transparent;
    border-radius:   0;
    box-shadow:      none;
    outline:         none;
    cursor:          pointer;
    font-family:     'Roboto', sans-serif;
    font-size:       14px;
    font-style:      normal;
    font-weight:     600;
    letter-spacing:  0;
    line-height:     1.5;
    color:           var(--dmx-error);
    padding:         0;
    overflow:        visible;
    text-decoration: none;
    transition:      opacity 0.2s;
}
body.dmx-platform-page #dmx-account .dmx-account-delete-btn:hover { opacity: 0.75; }
body.dmx-platform-page #dmx-account .dmx-account-delete-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Reuse password toggle in account form */
body.dmx-platform-page #dmx-account .dmx-field--password { position: relative; }





/* ============================================================
   DATATABLES v2 — Layout + Buttons CSS
   Classes generated by DataTables 2.x rendering engine
   ============================================================ */

body.dmx-platform-page .dt-layout-row {
    display:     flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap:   wrap;
    gap:         8px;
    padding:     10px 0;
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    color:       var(--dmx-text-light);
}

body.dmx-platform-page .dt-layout-cell {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex-wrap:   wrap;
}

body.dmx-platform-page .dt-info {
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    color:       var(--dmx-text-light);
}

/* Search input */
body.dmx-platform-page .dt-search {
    display:     flex;
    align-items: center;
    gap:         6px;
}

body.dmx-platform-page .dt-input {
    font-family:      'Roboto', sans-serif;
    font-size:        13px;
    color:            var(--dmx-text);
    background-color: var(--dmx-white);
    background-image: none;
    border-width:     1px;
    border-style:     solid;
    border-color:     var(--dmx-border);
    border-radius:    6px;
    padding:          6px 10px;
    margin:           0;
    margin-bottom:    0;
    box-shadow:       none;
    outline:          none;
    box-sizing:       border-box;
    -webkit-appearance: none;
    appearance:       none;
    transition:       border-color 0.2s;
}

body.dmx-platform-page .dt-input:focus {
    border-color: var(--dmx-primary);
    outline:      none;
}

/* Higher specificity to beat DT default (div.dt-container .dt-search input = 0,1,2) */
body.dmx-platform-page .dt-search input.dt-input {
    background-color: var(--dmx-white);
    border-width:     1px;
    border-style:     solid;
    border-color:     var(--dmx-border);
    border-radius:    6px;
    padding:          6px 10px;
    font-family:      'Roboto', sans-serif;
    font-size:        13px;
    color:            var(--dmx-text);
    margin-left:      0;
}

/* Pagination buttons */
body.dmx-platform-page .dt-paging {
    display:     flex;
    align-items: center;
}

/* .dt-paging-button: only layout + typography — border/bg/cursor handled by DT + higher-specificity rules below */
body.dmx-platform-page .dt-paging-button {
    align-items:    center;
    justify-content: center;
    height:         30px;
    font-family:    'Roboto', sans-serif;
    font-size:      13px;
    font-style:     normal;
    letter-spacing: 0;
    line-height:    1;
    margin:         0 2px;
    box-shadow:     none;
    outline:        none;
    overflow:       visible;
    transition:     background 0.15s, border-color 0.15s, color 0.15s;
}

/* Specificity (0,3,1) beats DT default (0,2,2) — no !important needed */
body.dmx-platform-page .dt-paging .dt-paging-button:hover:not(.disabled) {
    background-color: var(--dmx-primary-light);
    border-color:     var(--dmx-primary);
    color:            var(--dmx-primary);
}

/* Specificity (0,3,1) beats DT default div.dt-container .dt-paging .dt-paging-button.current (0,2,2).
   color: !important required — DT default uses color: inherit !important which cannot be overridden otherwise. */
body.dmx-platform-page .dt-paging .dt-paging-button.current,
body.dmx-platform-page .dt-paging .dt-paging-button.current:hover {
    background-color: var(--dmx-primary);
    border-color:     var(--dmx-primary);
    color:            #fff !important; /* Required: DT default uses color:inherit !important */
    font-weight:      600;
    cursor:           default;
}

body.dmx-platform-page .dt-paging .dt-paging-button.disabled {
    opacity: 0.35;
    cursor:  not-allowed;
}

/* Export buttons */
body.dmx-platform-page .dt-buttons {
    display:  flex;
    gap:      6px;
    flex-wrap: wrap;
}

body.dmx-platform-page .dmx-dt-btn,
body.dmx-platform-page .dt-button.dmx-dt-btn {
    display:          inline-flex;
    align-items:      center;
    justify-content:  center;
    padding:          5px 12px;
    font-family:      'Roboto', sans-serif;
    font-size:        12px;
    font-weight:      500;
    font-style:       normal;
    letter-spacing:   0;
    line-height:      1.5;
    color:            var(--dmx-text);
    background-color: var(--dmx-white);
    background-image: none;
    border-width:     1px;
    border-style:     solid;
    border-color:     var(--dmx-border);
    border-radius:    4px;
    box-shadow:       none;
    outline:          none;
    overflow:         visible;
    cursor:           pointer;
    text-decoration:  none;
    transition:       background 0.15s, border-color 0.15s;
    box-sizing:       border-box;
    white-space:      nowrap;
}

body.dmx-platform-page .dmx-dt-btn:hover,
body.dmx-platform-page .dt-button.dmx-dt-btn:hover {
    background-color: #e8ecff;
    border-color:     var(--dmx-primary);
    color:            var(--dmx-primary);
}

/* ============================================================
   TABLE BASE STYLES — dense + req tables
   All selectors already prefixed (body.dmx-platform-page ...)
   ============================================================ */

/* Hide raw status column before DataTables initialises */
body.dmx-platform-page .dt-status-raw {
    display: none;
}

/* Base table reset — override BeTheme table styles */
body.dmx-platform-page .dmx-dense-table,
body.dmx-platform-page .dmx-req-table {
    font-family:      'Roboto', sans-serif;
    font-size:        13px;
    color:            var(--dmx-text);
    border-collapse:  collapse;
    border-spacing:   0;
    width:            100%;
    margin:           0;
    margin-bottom:    0;
    border-radius:    0;
    box-sizing:       border-box;
}

body.dmx-platform-page .dmx-dense-table thead,
body.dmx-platform-page .dmx-req-table thead {
    font-family:      'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-dense-table thead tr,
body.dmx-platform-page .dmx-req-table thead tr {
    background:       #f8fafc;
    border-bottom:    2px solid var(--dmx-border);
}

body.dmx-platform-page .dmx-dense-table thead th,
body.dmx-platform-page .dmx-req-table thead th {
    font-family:      'Roboto', sans-serif;
    font-size:        12px;
    font-weight:      600;
    font-style:       normal;
    color:            var(--dmx-text-light);
    background:       #f8fafc;
    text-align:       left;
    padding:          8px 12px;
    border-width:     0;
    border-style:     solid;
    border-color:     var(--dmx-border);
    border-bottom-width: 1px;
    vertical-align:   middle;
    box-shadow:       none;
    white-space:      nowrap;
    letter-spacing:   0.03em;
    text-transform:   uppercase;
}

body.dmx-platform-page .dmx-dense-table tbody,
body.dmx-platform-page .dmx-req-table tbody {
    font-family:      'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-dense-table tbody tr,
body.dmx-platform-page .dmx-req-table tbody tr {
    background:       var(--dmx-white);
    border-bottom:    1px solid var(--dmx-border);
    transition:       background 0.1s;
}

body.dmx-platform-page .dmx-dense-table tbody tr:hover,
body.dmx-platform-page .dmx-req-table tbody tr:hover {
    background:       #f9fafb;
}

body.dmx-platform-page .dmx-dense-table tbody tr:last-child,
body.dmx-platform-page .dmx-req-table tbody tr:last-child {
    border-bottom:    none;
}

body.dmx-platform-page .dmx-dense-table tbody td,
body.dmx-platform-page .dmx-req-table tbody td {
    font-family:      'Roboto', sans-serif;
    font-size:        13px;
    font-weight:      400;
    font-style:       normal;
    color:            var(--dmx-text);
    background:       transparent;
    text-align:       left;
    padding:          8px 12px;
    border-width:     0;
    border-style:     solid;
    border-color:     transparent;
    vertical-align:   middle;
    box-shadow:       none;
    white-space:      nowrap;
}

body.dmx-platform-page .dmx-dense-table tbody tr:first-child td {
    box-shadow:       none;
}

/* Action buttons inside table cells */




/* ============================================================
   DENSE TABLES — A7 Recruiter List + A8 Candidate List
   DataTables overrides for maximum data density
   ============================================================ */

/* .dmx-dense-table-wrap — no styles needed; layout handled by parent */

/* font/color/collapse inherited from .dmx-dense-table base rule */
body.dmx-platform-page .dmx-dense-table.dataTable {
    width: 100% !important;
    margin: 0 !important;
}
body.dmx-platform-page .dmx-dense-table.dataTable thead th {
    background: var(--dmx-thead-bg);
    color: var(--dmx-text-light);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 7px 8px;
    border-bottom: 2px solid var(--dmx-border);
    white-space: nowrap;
}
body.dmx-platform-page .dmx-dense-table.dataTable tbody tr {
    border-bottom: 1px solid #f0f0f5;
    transition: background 0.1s;
}
body.dmx-platform-page .dmx-dense-table.dataTable tbody tr:last-child { border-bottom: none; }
body.dmx-platform-page .dmx-dense-table.dataTable tbody tr:hover { background: #fafbff; }
body.dmx-platform-page .dmx-dense-table.dataTable td {
    padding: 5px 8px;   /* Dense: minimal vertical padding */
    vertical-align: middle;
    white-space: nowrap;
}

/* Action button in dense tables */
body.dmx-platform-page .dmx-dense-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: var(--dmx-primary);
    background: var(--dmx-primary-light);
    border: 1px solid transparent;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s;
}
body.dmx-platform-page .dmx-dense-action-btn:hover { background: #dce0ff; color: var(--dmx-primary); }
body.dmx-platform-page .dmx-dense-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Dense tabs (A7/A8 status filter) */
body.dmx-platform-page .dmx-dense-tabs {
    display:       flex;
    gap:           0;
    margin-bottom: 16px;
    font-family:   'Roboto', sans-serif;
}

/* DataTables 2.x uses .dt-* classes — DT 1.x dataTables_* selectors removed */

/* ============================================================
   AUDIT FIX — Missing CSS classes
   ============================================================ */

/* Job section content wrapper (A5/R2) */
body.dmx-platform-page .dmx-job-section__content { /* content styled via .dmx-wysiwyg-output dual class */ }


/* Status badge wrapper (A2 JS updates, A4 modal) */
body.dmx-platform-page .dmx-req-status-badge,
body.dmx-platform-page .dmx-a4-status-badge { display: inline;     font-family: 'Roboto', sans-serif;
    font-size: 12px;
    color: var(--dmx-text);
}

/* A4 modal table — reuses dmx-req-table styles */
body.dmx-platform-page .dmx-a4-table { font-size: 13px; }
body.dmx-platform-page .dmx-a4-table.dmx-req-table.dataTable thead th { font-size: 10px; padding: 6px 10px; }
body.dmx-platform-page .dmx-a4-table.dmx-req-table.dataTable td { padding: 6px 10px; }

/* Password eye toggle icons (R6 / register form) */
body.dmx-platform-page .dmx-eye-show,
body.dmx-platform-page .dmx-eye-hide { pointer-events: none; transition: opacity 0.15s; }

/* Btn icon wrapper (register form arrow) */
body.dmx-platform-page .dmx-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family:     'Roboto', sans-serif;
    font-style:      normal;
    letter-spacing:  0;
    line-height:     1;
    overflow:        visible;
    box-shadow:      none;
    outline:         none;
    background-image: none;
    box-sizing:      border-box;
}

/* Mixed-case hero titles (R5, R6) — override the global uppercase */
body.dmx-platform-page .dmx-platform-hero--mixed .dmx-platform-hero__title {
    text-transform: none;
    font-size: 36px;
    font-weight: 700;
}

/* Error wrap for early-return shortcode errors */
body.dmx-platform-page .dmx-error-wrap {
    max-width:   1300px;
    margin:      48px auto;
    padding:     0 24px;
    font-family: 'Roboto', sans-serif;
    text-align:  center;
}

/* From-Demexios sidebar content (used by JS read-more height calculation) */
body.dmx-platform-page .dmx-from-demexios-content {
    max-height:  640px;
    overflow:    hidden;
    mask-image:  linear-gradient( to bottom, black 75%, transparent 100% );
    -webkit-mask-image: linear-gradient( to bottom, black 75%, transparent 100% );
}

/* ── Missing classes (added after full HTML audit) ── */

/* .dmx-job-section — wrapper around each job description block */
body.dmx-platform-page .dmx-job-section {
    margin-bottom:  24px;
    font-family:    'Roboto', sans-serif;
    color:          var(--dmx-text);
}


/* .dmx-r4-reply — container wrapping the reply textarea + send button */
body.dmx-platform-page .dmx-r4-reply {
    margin-top:     16px;
    display:        flex;
    flex-direction: column;
    gap:            10px;
    font-family:    'Roboto', sans-serif;
}
body.dmx-platform-page .dmx-r4-reply .dmx-platform-btn {
    align-self: flex-end;
    width:      auto;
}



/* Add Job — field labels + inline errors + required star */
body.dmx-platform-page #dmx-admin-add-job .dmx-ajg-field-label {
    display:     block;
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    font-weight: 500;
    color:       var(--dmx-text-light);
    margin:      0 0 4px;
}

body.dmx-platform-page #dmx-admin-add-job .dmx-required-star {
    color: var(--dmx-error);
    margin-left: 2px;
}

body.dmx-platform-page #dmx-admin-add-job .dmx-field-error {
    display:     none;
    font-family: 'Roboto', sans-serif;
    font-size:   12px;
    color:       var(--dmx-error);
    margin:      4px 0 0;
}

body.dmx-platform-page #dmx-admin-add-job .dmx-input-error {
    border-color: var(--dmx-error);
}

/* Save job btn — full width */
body.dmx-platform-page #dmx-admin-add-job #dmx-save-job-btn {
    width:           100%;
    justify-content: center;
    font-size:       16px;
    margin-top:      16px;
}


/* ============================================================
   WORDPRESS EDITOR — Prevent BeTheme from breaking wp.editor UI
   ============================================================ */

/* Hide TinyMCE status bar */
body.dmx-platform-page div.mce-statusbar { display: none; }

/* Hide admin nav on job single + proposals pages */
body.dmx-platform-page #dmx-admin-job .dmx-admin-nav,
body.dmx-platform-page #dmx-admin-proposals .dmx-admin-nav { display: none; }

/* Reset BeTheme .button-animation-slide button:hover on WP editor tabs */
body.dmx-platform-page .wp-switch-editor {
    float:            left;
    box-sizing:       content-box;
    position:         relative;
    top:              1px;
    background:       var(--dmx-wp-editor-bg);
    background-image: none;
    color:            #646970;
    cursor:           pointer;
    font-family:      -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size:        13px;
    line-height:      1.46153846;
    height:           20px;
    margin:           5px 0 0 5px;
    padding:          3px 8px 4px;
    border-width:     1px;
    border-style:     solid;
    border-color:     #dcdcde;
    border-radius:    0;
    box-shadow:       none;
    text-decoration:  none;
    transition:       none;
    overflow:         visible;
}

body.dmx-platform-page .wp-switch-editor:hover,
body.dmx-platform-page .wp-switch-editor:focus {
    background:       var(--dmx-wp-editor-bg);
    background-image: none;
    background-color: var(--dmx-wp-editor-bg);
    color:            #1d2327;
    box-shadow:       none;
    border-color:     #dcdcde;
}

body.dmx-platform-page .html-active .switch-html,
body.dmx-platform-page .tmce-active .switch-tmce {
    background:          var(--dmx-wp-editor-active-bg);
    background-image:    none;
    background-color:    var(--dmx-wp-editor-active-bg);
    color:               #50575e;
    border-bottom-color: var(--dmx-wp-editor-active-bg);
}

/* TinyMCE buttons — prevent button-animation-slide hover from being applied */
body.dmx-platform-page .mce-btn button {
    background:       transparent;
    background-image: none;
    border:           0;
    padding:          4px 6px;
    font-size:        14px;
    line-height:      20px;
    cursor:           pointer;
    color:            #595959;
    text-align:       center;
    overflow:         visible;
    box-shadow:       none;
    transition:       none;
}

body.dmx-platform-page .mce-btn:hover button,
body.dmx-platform-page .mce-btn:focus button {
    background:       transparent;
    background-color: transparent;
    background-image: none;
    color:            var(--dmx-text);
    box-shadow:       none;
}

body.dmx-platform-page .mce-btn.mce-active button,
body.dmx-platform-page .mce-btn.mce-active:hover button {
    color:            inherit;
    background:       transparent;
    background-image: none;
}

/* Override BeTheme color:white on active TinyMCE button icons */
body.dmx-platform-page .mce-btn.mce-active button i,
body.dmx-platform-page .mce-btn.mce-active:hover button i {
    color: var(--dmx-text);
}


/* ============================================================
   ADMIN JOB CARD — Figma design implementation
   ============================================================ */

body.dmx-platform-page .dmx-admin-job-card {
    display:        flex;
    flex-direction: row;
    align-items:    stretch;
    margin-bottom:  16px;
    gap:            10px;
    font-family:    'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-ajc-body {
    flex:          1;
    display:       flex;
    flex-direction: column;
    min-width:     0;
    background:    var(--dmx-white);
    border-width:  1px;
    border-style:  solid;
    border-color:  var(--dmx-card-border);
    border-radius: 10px;
    overflow:      hidden;
}

/* Card header — lighter bg, contains logo + info + reward */
body.dmx-platform-page .dmx-ajc-header {
    background: var(--dmx-card-subtle);
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: var(--dmx-card-border);
}
/* Recruiter non-approved: header bg is white (inverted from admin) */
body.dmx-platform-page #dmx-jobs .dmx-ajc-header {
    background:    var(--dmx-white);
    border-bottom: none;
}
/* Recruiter approved: restore card-subtle on header, white on reward (like admin) */
body.dmx-platform-page #dmx-jobs .dmx-rjc--approved .dmx-ajc-header {
    background: var(--dmx-card-subtle);
}
body.dmx-platform-page #dmx-jobs .dmx-rjc--approved .dmx-ajc-reward {
    background: var(--dmx-white);
}

body.dmx-platform-page .dmx-ajc-logo {
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    width:           100px;
    align-self:      normal;
    margin:          12px 0 12px 12px;
    background:      var(--dmx-white);
    border:          0;
    border-radius:   8px;
    padding:         8px;
    box-sizing:      border-box;
}

body.dmx-platform-page .dmx-ajc-logo img {
    width:      100%;
    height:     100%;
    object-fit: contain;
    display:    block;
}

body.dmx-platform-page .dmx-ajc-logo-placeholder {
    width:           72px;
    height:          48px;
    background:      var(--dmx-primary);
    border-radius:   10px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-family:     'Roboto', sans-serif;
    font-size:       24px;
    font-weight:     700;
    color:           var(--dmx-white);
    flex-shrink:     0;
}

body.dmx-platform-page .dmx-ajc-info {
    display:        flex;
    flex-direction: row;
    align-items:    stretch;
    flex:           1;
    min-width:      0;
}

/* Text content wrapper inside info (badges + title + meta) */
body.dmx-platform-page .dmx-ajc-info-text {
    flex:           1;
    padding:        14px 16px;
    display:        flex;
    flex-direction: column;
    gap:            6px;
    min-width:      0;
}



body.dmx-platform-page .dmx-ajc-title {
    font-family:    'Roboto', sans-serif;
    font-size:      20px;
    font-weight:    700;
    color:          var(--dmx-text);
    margin:         0;
    display:        flex;
    align-items:    baseline;
    flex-wrap:      wrap;
    gap:            8px;
    line-height:    1.3;
    letter-spacing: 0;
}

body.dmx-platform-page .dmx-ajc-company {
    font-size:   14px;
    font-weight: 400;
    color:       var(--dmx-text-light);
}

body.dmx-platform-page .dmx-ajc-meta {
    display:     flex;
    flex-wrap:   wrap;
    gap:         10px;
    font-size:   13px;
    color:       var(--dmx-text);
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-ajc-meta span {
    display:     inline-flex;
    align-items: center;
    gap:         4px;
    font-family: 'Roboto', sans-serif;
}

body.dmx-platform-page .dmx-ajc-meta span svg {
    color:       var(--dmx-icon);
    flex-shrink: 0;
}

/* Hero context: icons use primary blue */
body.dmx-platform-page .dmx-ajc-meta.dmx-job-hero__meta span svg {
    color: var(--dmx-primary);
}

/* Reward box — inside header, right-aligned */
body.dmx-platform-page .dmx-ajc-reward {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    align-self:      normal;
    width:           100px;
    margin:          12px 12px 12px 0;
    padding:         10px 16px;
    background:      var(--dmx-white);
    border:          0;
    border-radius:   8px;
    text-align:      center;
    box-sizing:      border-box;
}
/* Recruiter: inverted reward colors (card-subtle bg, white border-box) */
body.dmx-platform-page #dmx-jobs .dmx-ajc-reward {
    background:  var(--dmx-card-subtle);
    border:      none;
}

body.dmx-platform-page .dmx-ajc-reward strong {
    display:     block;
    font-family: 'Roboto', sans-serif;
    font-size:   18px;
    font-weight: 700;
    color:       var(--dmx-text);
    white-space: nowrap;
}

body.dmx-platform-page .dmx-ajc-reward span {
    font-family:    'Roboto', sans-serif;
    font-size:      11px;
    font-weight:    700;
    color:          var(--dmx-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top:     2px;
}

/* Details row */
body.dmx-platform-page .dmx-ajc-details-row {
    display:     flex;
    flex-wrap:   wrap;
    gap:         16px;
    padding:     14px 16px;
    font-family: 'Roboto', sans-serif;
    font-size:   12px;
    color:       var(--dmx-text);
}

body.dmx-platform-page .dmx-ajc-details-row span {
    font-family:  'Roboto', sans-serif;
}

/* Stats row */








/* Stat pills */



/* Action buttons column — 3 dark-blue stacked boxes */




/* .dmx-ajc-btn:last-child — border-radius already applied on all sides */

/* Hover handled per-modifier below (.dmx-ajc-btn--view:hover etc.) */




/* ============================================================
   ADMIN JOB CARD — Full redesign (continued)
   ============================================================ */

/* Badges row: industry left, labels right */
body.dmx-platform-page .dmx-ajc-badges {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             8px;
    margin-bottom:   4px;
}

body.dmx-platform-page .dmx-ajc-badges-left {
    display:    flex;
    align-items: center;
    gap:        4px;
}

body.dmx-platform-page .dmx-ajc-badges-right {
    display:    flex;
    align-items: center;
    gap:        4px;
    margin-left: auto;
}

/* Badge colors matching design */
body.dmx-platform-page .dmx-badge--industry {
    font-family:      'Roboto', sans-serif;
    font-size:        10px;
    font-weight:      700;
    letter-spacing:   0.05em;
    text-transform:   uppercase;
    color:            var(--dmx-text);
    background-color: transparent;
    border-width:     1px;
    border-style:     solid;
    border-color:     var(--dmx-primary);
    border-radius:    4px;
    padding:          2px 6px;
    display:          inline-block;
    white-space:      nowrap;
}

body.dmx-platform-page .dmx-badge--approved {
    font-family:      'Roboto', sans-serif;
    font-size:        10px;
    font-weight:      600;
    letter-spacing:   0.03em;
    text-transform:   uppercase;
    color:            var(--dmx-white);
    background-color: var(--dmx-color-green);
    border:           none;
    border-radius:    4px;
    padding:          3px 8px;
    display:          inline-block;
    white-space:      nowrap;
}

body.dmx-platform-page .dmx-badge--new {
    font-family:      'Roboto', sans-serif;
    font-size:        10px;
    font-weight:      600;
    letter-spacing:   0.03em;
    text-transform:   uppercase;
    color:            var(--dmx-white);
    background-color: #3C47FB;
    border:           none;
    border-radius:    4px;
    padding:          3px 8px;
    display:          inline-block;
    white-space:      nowrap;
}

body.dmx-platform-page .dmx-badge--urgent {
    font-family:      'Roboto', sans-serif;
    font-size:        10px;
    font-weight:      600;
    letter-spacing:   0.03em;
    text-transform:   uppercase;
    color:            var(--dmx-white);
    background-color: #FB5B5C;
    border:           none;
    border-radius:    4px;
    padding:          3px 8px;
    display:          inline-block;
    white-space:      nowrap;
}

/* Pending recruiter request — orange (distinct from urgent red) */
body.dmx-platform-page .dmx-badge--pending {
    font-family:      'Roboto', sans-serif;
    font-size:        10px;
    font-weight:      600;
    letter-spacing:   0.03em;
    text-transform:   uppercase;
    color:            #BF7A1F;
    background-color: #FCF3B5;
    border:           none;
    border-radius:    4px;
    padding:          3px 8px;
    display:          inline-block;
    white-space:      nowrap;
}

body.dmx-platform-page .dmx-badge--neutral {
    font-family:      'Roboto', sans-serif;
    font-size:        10px;
    font-weight:      600;
    text-transform:   uppercase;
    color:            var(--dmx-text-light);
    background-color: #f3f4f6;
    border:           none;
    border-radius:    4px;
    padding:          3px 8px;
    display:          inline-block;
    white-space:      nowrap;
}

/* Job status: filled (dark grey) */
body.dmx-platform-page .dmx-badge--filled {
    font-family:      'Roboto', sans-serif;
    font-size:        10px;
    font-weight:      600;
    text-transform:   uppercase;
    color:            var(--dmx-white);
    background-color: var(--dmx-text-light);
    border:           none;
    border-radius:    4px;
    padding:          3px 8px;
    display:          inline-block;
    white-space:      nowrap;
}

/* Owner: bold + right-aligned */
body.dmx-platform-page .dmx-ajc-owner {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    color:       var(--dmx-text);
    margin-left: auto;
}

/* ── Stats row redesign: colored NUMBER only ───────────────── */
body.dmx-platform-page .dmx-ajc-stats-row {
    display:     flex;
    flex-wrap:   nowrap;
    gap:         0;
    align-items: stretch;
    font-family: 'Roboto', sans-serif;
    position:    relative;
}

/* Inset border-top — respects left/right padding */
body.dmx-platform-page .dmx-ajc-stats-row::before {
    content:    '';
    position:   absolute;
    top:        0;
    left:       16px;
    right:      16px;
    height:     1px;
    background: var(--dmx-card-subtle);
}

body.dmx-platform-page .dmx-ajc-stat-group {
    display:        flex;
    flex-direction: column;
    gap:            6px;
    flex:           1;
    padding:        12px 16px;
}

body.dmx-platform-page .dmx-ajc-stat-group:last-child {
    flex:          0 0 auto;
    background:    var(--dmx-card-subtle);
    border-radius: 0 0 var(--dmx-radius) var(--dmx-radius);
    margin:        0 8px 8px 0;
}

body.dmx-platform-page .dmx-ajc-stat-label {
    font-family: 'Roboto', sans-serif;
    font-size:   13px;
    font-weight: 700;
    color:       var(--dmx-text);
    white-space: nowrap;
}

body.dmx-platform-page .dmx-ajc-stat-badges {
    display:    flex;
    flex-wrap:  wrap;
    gap:        10px;
    align-items: center;
}

/* Stat pill: only the number is colored */
body.dmx-platform-page .dmx-stat-pill {
    display:         inline-flex;
    align-items:     center;
    gap:             5px;
    padding:         0;
    background:      transparent;
    border:          none;
    border-radius:   0;
    font-family:     'Roboto', sans-serif;
    font-size:       13px;
    font-weight:     400;
    color:           var(--dmx-text);
    text-decoration: none;
    white-space:     nowrap;
}

body.dmx-platform-page .dmx-stat-pill:hover {
    text-decoration: none;
}



/* The colored circle/number badge */
body.dmx-platform-page .dmx-stat-num {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    min-width:       unset;
    height:          20px;
    border-radius:   4px;
    font-family:     'Roboto', sans-serif;
    font-size:       11px;
    font-weight:     700;
    padding:         0 6px;
    box-sizing:      border-box;
    flex-shrink:     0;
}

body.dmx-platform-page .dmx-stat-pill--blue .dmx-stat-num         { background: var(--dmx-white); color: var(--dmx-color-blue); border: 1px solid var(--dmx-color-blue); }
body.dmx-platform-page .dmx-stat-pill--yellow .dmx-stat-num       { background: var(--dmx-white); color: var(--dmx-color-yellow); border: 1px solid var(--dmx-color-yellow); }
body.dmx-platform-page .dmx-stat-pill--orange .dmx-stat-num       { background: var(--dmx-white); color: var(--dmx-color-purple); border: 1px solid var(--dmx-color-purple); }
body.dmx-platform-page .dmx-stat-pill--red .dmx-stat-num          { background: var(--dmx-white); color: var(--dmx-color-red); border: 1px solid var(--dmx-color-red); }
body.dmx-platform-page .dmx-stat-pill--green .dmx-stat-num        { background: var(--dmx-white); color: var(--dmx-color-green); border: 1px solid var(--dmx-color-green); }
body.dmx-platform-page .dmx-stat-pill--orange-link .dmx-stat-num  { background: var(--dmx-color-yellow); color: var(--dmx-white); }

/* Proposals / access badge context — stronger colors */
body.dmx-platform-page .dmx-prop-access-badges .dmx-stat-pill--orange-link .dmx-stat-num {
    background: var(--dmx-pill-pending-bg);
    color:      var(--dmx-pill-pending-text);
}
body.dmx-platform-page .dmx-prop-access-badges .dmx-stat-pill--green-link .dmx-stat-num {
    background: var(--dmx-pill-assigned-bg);
    color:      var(--dmx-pill-assigned-text);
}
body.dmx-platform-page .dmx-stat-pill--green-link .dmx-stat-num   { background: var(--dmx-color-green); color: var(--dmx-white); }

/* ── Action buttons: 3 distinct colors ────────────────────────── */
body.dmx-platform-page .dmx-ajc-actions {
    display:        flex;
    flex-direction: column;
    align-items:    stretch;
    flex-shrink:    0;
    width:          136px;
    gap:            6px;
    box-sizing:     border-box;
}

body.dmx-platform-page .dmx-ajc-btn {
    display:          flex;
    flex-direction:   column;
    align-items:      center;
    justify-content:  center;
    gap:              6px;
    flex:             1;
    padding:          12px 10px;
    font-family:      'Roboto', sans-serif;
    font-size:        14px;
    font-weight:      600;
    font-style:       normal;
    letter-spacing:   0;
    line-height:      1.3;
    color:            var(--dmx-white);
    background-image: none;
    border-width:     0;
    border-style:     solid;
    border-color:     transparent;
    border-radius:    8px;
    box-shadow:       none;
    text-align:       center;
    text-decoration:  none;
    cursor:           pointer;
    white-space:      normal;
    box-sizing:       border-box;
    transition:       background 0.15s;
}

body.dmx-platform-page .dmx-ajc-btn--view {
    background-color: var(--dmx-btn-view-bg);
    color:            var(--dmx-white);
}
body.dmx-platform-page .dmx-ajc-btn--view:hover {
    background-color: var(--dmx-btn-view-bg-hover);
    color:            var(--dmx-white);
    text-decoration:  none;
}

body.dmx-platform-page .dmx-ajc-btn--edit-offer {
    background-color: var(--dmx-btn-edit-bg);
    color:            var(--dmx-white);
}
body.dmx-platform-page .dmx-ajc-btn--edit-offer:hover {
    background-color: var(--dmx-btn-edit-bg-hover);
    color:            var(--dmx-white);
    text-decoration:  none;
}

body.dmx-platform-page .dmx-ajc-btn--manage {
    background-color: var(--dmx-white);
    color:            var(--dmx-primary);
    border-width:     1px;
    border-style:     solid;
    border-color:     var(--dmx-primary);
}
body.dmx-platform-page .dmx-ajc-btn--manage:hover {
    background-color: #f0f1ff;
    color:            var(--dmx-primary);
    text-decoration:  none;
}

body.dmx-platform-page .dmx-ajc-btn svg {
    flex-shrink: 0;
}


/* DataTables server-side processing indicator */
.dmx-dt-processing {
    display:     inline-block;
    padding:     4px 10px;
    background:  var(--dmx-primary);
    color:       var(--dmx-white);
    border-radius: 4px;
    font-size:   0.8rem;
}

/* Candidate table — job cell: ID + title stacked */
.dmx-table-dense td .dmx-cell-id {
    font-weight: 600;
    font-size:   0.78rem;
    color:       var(--dmx-text-light);
}
.dmx-table-dense td small {
    display:     block;
    font-size:   0.75rem;
    color:       var(--dmx-text-light);
    white-space: nowrap;
}

/* Stage badge colors — A8 Candidate List (server-side DataTables) */
body.dmx-platform-page .dmx-badge--primary { background: var(--dmx-primary);  color: var(--dmx-white); }
body.dmx-platform-page .dmx-badge--warn    { background: #f59e0b;              color: var(--dmx-white); }
body.dmx-platform-page .dmx-badge--purple  { background: #7c3aed;              color: var(--dmx-white); }
body.dmx-platform-page .dmx-badge--success { background: var(--dmx-success);   color: var(--dmx-white); }
body.dmx-platform-page .dmx-badge--error   { background: var(--dmx-error);     color: var(--dmx-white); }

/* Dense-table badge base — provides pill shape for server-side injected HTML badges */
body.dmx-platform-page .dmx-dense-table .dmx-badge {
    display:       inline-block;
    padding:       2px 8px;
    border-radius: 10px;
    font-size:     0.75rem;
    font-weight:   600;
    white-space:   nowrap;
    line-height:   1.4;
}

/* Add-job form: section separator and section spacing */
body.dmx-platform-page .dmx-section-sep {
    border: 0;
    border-top: 1px solid var(--dmx-card-border);
    margin: 24px 0;
}
body.dmx-platform-page .dmx-ajg-section-top {
    margin-top: 24px;
}
