/* ══════════════════════════════════════════════════════════
   RecruTrade — Front-end Styles
   Brand Guide: #ff8601 (CTA), #003e79 (Navy), #000 (Text)
   Fonts: Montserrat Bold, League Spartan, Open Sans
   ══════════════════════════════════════════════════════════ */

:root {
    --rt-orange: #ff8601;
    --rt-orange-hover: #e67800;
    --rt-navy: #003e79;
    --rt-navy-hover: #002f5c;
    --rt-navy-light: #e8f0f8;
    --rt-black: #000000;
    --rt-white: #ffffff;
    --rt-gray-bg: #F7F7F7;
    --rt-gray-100: #f3f4f6;
    --rt-gray-200: #e5e7eb;
    --rt-gray-300: #d1d5db;
    --rt-gray-400: #9ca3af;
    --rt-gray-500: #6b7280;
    --rt-gray-600: #4b5563;
    --rt-success: #16a34a;
    --rt-success-light: #dcfce7;
    --rt-danger: #003e79;
    --rt-danger-light: #e8f0f8;
    --rt-warning: #d97706;
    --rt-warning-light: #fef3c7;
    --rt-info: #0891b2;
    --rt-info-light: #cffafe;
    --rt-radius: 6px;
    --rt-radius-lg: 6px;
    --rt-shadow: 0 2px 8px rgba(0,0,0,.08);
    --rt-shadow-md: 0 4px 16px rgba(0,0,0,.12);
    --rt-shadow-hover: 0 6px 20px rgba(0,0,0,.15);
    --rt-transition: .2s ease;
    --rt-font-title: 'Montserrat', sans-serif;
    --rt-font-subtitle: 'League Spartan', sans-serif;
    --rt-font-body: 'Open Sans', sans-serif;
}

/* Correção Global: Evitar bug de barra de rolagem fantasma no Elementor (Windows) */
body { overflow-x: hidden !important; }

/* ── Reset scope ──────────────────────────────────────────── */
[class^="rt-"], [class*=" rt-"] {
    box-sizing: border-box;
    font-family: var(--rt-font-body);
    line-height: 1.6;
    color: var(--rt-black);
}
[class^="rt-"] *, [class*=" rt-"] * {
    box-sizing: border-box;
}
/* Prevent horizontal overflow on small screens + ensure footer stays low */
.rt-co-dash, .rt-cd-dash, .rt-ca, .rt-profile,
.rt-edit-profile, .rt-wizard, .rt-dashboard,
.rt-applications, .rt-children {
    overflow-x: hidden;
    max-width: 100%;
    min-height: 60vh;
}

/* ── Layout helpers ───────────────────────────────────────── */
.rt-row { display: flex; gap: 1rem; flex-wrap: wrap; }
.rt-field { margin-bottom: 1rem; flex: 1 1 100%; }
.rt-field--half { flex: 1 1 calc(50% - .5rem); min-width: 200px; }
.rt-field--third { flex: 1 1 calc(33.33% - .67rem); min-width: 160px; }
.rt-field--twothirds { flex: 1 1 calc(66.66% - .33rem); min-width: 200px; }
.rt-field--quarter { flex: 1 1 calc(25% - .75rem); min-width: 120px; }

/* ── Header Bar (matches brand screenshot) ───────────────── */
.rt-header {
    background: linear-gradient(135deg, #002a54 0%, var(--rt-navy) 50%, #004a8f 100%);
    color: var(--rt-white);
    font-family: var(--rt-font-body);
    margin-bottom: 2rem;
}
.rt-header__inner {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
    min-height: 64px;
    gap: 1rem;
}

/* Logo */
.rt-header__logo {
    display: flex;
    align-items: center;
    gap: .625rem;
    text-decoration: none;
    color: var(--rt-white);
    flex-shrink: 0;
    margin-right: .5rem;
}
.rt-header__logo:hover { opacity: .9; }
.rt-header__logo-img {
    max-height: 36px;
    width: auto;
    display: block;
}

/* Mobile toggle */
.rt-header__toggle {
    display: none;
    background: none;
    border: none;
    color: var(--rt-white);
    cursor: pointer;
    padding: .25rem;
    margin-left: auto;
    font-size: 0;
}
.rt-header__toggle .material-icons { font-size: 28px; }

/* Nav links */
.rt-header__nav {
    display: flex;
    align-items: center;
    gap: .25rem;
    flex: 1;
    justify-content: center;
}
.rt-header__link {
    display: inline-flex;
    align-items: center;
    padding: .5rem 1rem;
    color: rgba(255,255,255,.85);
    text-decoration: none;
    font-family: var(--rt-font-body);
    font-size: .9375rem;
    font-weight: 400;
    white-space: nowrap;
    position: relative;
    transition: color var(--rt-transition);
}
.rt-header__link:hover { color: var(--rt-white); }
.rt-header__link.active {
    color: var(--rt-white);
    font-weight: 600;
}
.rt-header__link.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: var(--rt-orange);
    border-radius: 2px;
}

/* Right: user + CTA */
.rt-header__right {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-left: auto;
    flex-shrink: 0;
}
.rt-header__user-name {
    font-size: .8125rem;
    font-weight: 500;
    color: rgba(255,255,255,.75);
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rt-header__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .5rem 1.5rem;
    background: var(--rt-orange);
    color: var(--rt-white);
    font-family: var(--rt-font-title);
    font-size: .875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 6px;
    white-space: nowrap;
    transition: background var(--rt-transition), box-shadow var(--rt-transition);
}
.rt-header__cta:hover {
    background: var(--rt-orange-hover);
    box-shadow: 0 2px 8px rgba(255,134,1,.4);
}

/* ── Header responsive ───────────────────────────────────── */
@media (max-width: 900px) {
    .rt-header__link { padding: .5rem .625rem; font-size: .8125rem; }
    .rt-header__logo-text { font-size: 1.125rem; }
    .rt-header__logo-sub { font-size: .5rem; }
    .rt-header__logo-icon svg { width: 30px; height: 30px; }
}

@media (max-width: 768px) {
    .rt-header__inner { flex-wrap: wrap; padding: 0 1rem; min-height: 56px; }
    .rt-header__toggle { display: flex; align-items: center; }
    .rt-header__nav {
        display: none;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        order: 10;
        padding: .5rem 0 .75rem;
        border-top: 1px solid rgba(255,255,255,.12);
    }
    .rt-header__nav.open { display: flex; }
    .rt-header__link {
        padding: .75rem 1rem;
        font-size: .9375rem;
        border-radius: 0;
    }
    .rt-header__link.active::after {
        bottom: auto;
        top: 0;
        left: 0;
        right: auto;
        width: 3px;
        height: 100%;
        border-radius: 0;
    }
    .rt-header__right { order: 5; }
    .rt-header__user-name { display: none; }
    .rt-header__cta { padding: .4rem 1rem; font-size: .8125rem; }
}

/* ── Typography ───────────────────────────────────────────── */
.rt-dashboard h2, .rt-wizard h3, .rt-jobs h2,
.rt-job-detail h1, .rt-candidates-search h2, .rt-applications h2,
.rt-children h2, .rt-company-jobs h2, .rt-job-form-wrap h2,
.rt-pricing__title, .rt-edit-profile h2 {
    font-family: var(--rt-font-title);
    color: var(--rt-navy);
    margin: 0 0 .5rem;
    font-weight: 700;
    font-size: 24px;
}
.rt-section h3, .rt-job-detail__section h3 {
    font-family: var(--rt-font-subtitle);
    color: var(--rt-navy);
    margin: 0 0 .75rem;
    font-weight: 600;
    font-size: 18px;
}

/* ── Buttons ──────────────────────────────────────────────── */
.rt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .625rem 1.25rem;
    border-radius: var(--rt-radius);
    font-family: var(--rt-font-body);
    font-weight: 600;
    font-size: .875rem;
    cursor: pointer;
    border: 2px solid transparent;
    text-decoration: none;
    transition: all var(--rt-transition);
    white-space: nowrap;
}
.rt-btn:hover { transform: translateY(-1px); }
.rt-btn:active { transform: translateY(0); }
.rt-btn:disabled, .rt-btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }

.rt-btn--primary {
    background: var(--rt-orange);
    color: var(--rt-white);
    border-color: var(--rt-orange);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .02em;
}
.rt-btn--primary:hover {
    background: var(--rt-orange-hover);
    border-color: var(--rt-orange-hover);
    color: var(--rt-white);
    box-shadow: 0 4px 12px rgba(255,134,1,.35);
}
.rt-btn--outline {
    background: transparent;
    color: var(--rt-navy);
    border-color: var(--rt-navy);
}
.rt-btn--outline:hover {
    background: var(--rt-navy);
    color: var(--rt-white);
}
.rt-btn--danger { background: var(--rt-navy); color: var(--rt-white); border-color: var(--rt-navy); }
.rt-btn--danger:hover { background: var(--rt-navy-hover); border-color: var(--rt-navy-hover); color: var(--rt-white); box-shadow: 0 4px 12px rgba(0,62,121,.3); }
.rt-btn--success { background: var(--rt-success); color: var(--rt-white); border-color: var(--rt-success); }
.rt-btn--success:hover { background: #15803d; border-color: #15803d; color: var(--rt-white); box-shadow: 0 4px 12px rgba(22,163,74,.3); }
.rt-btn--navy { background: var(--rt-navy); color: var(--rt-white); border-color: var(--rt-navy); }
.rt-btn--navy:hover { background: var(--rt-navy-hover); border-color: var(--rt-navy-hover); color: var(--rt-white); box-shadow: 0 4px 12px rgba(0,62,121,.3); }

.rt-btn--saved {
    background: var(--rt-success-light) !important;
    color: var(--rt-success) !important;
    border-color: var(--rt-success) !important;
    pointer-events: none;
}

/* ── Email exists warning ── */
.rt-input--error {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .15) !important;
}
.rt-email-exists-msg {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--rt-radius);
    padding: 10px 14px;
    margin-top: 8px;
    font-size: 13px;
    color: #991b1b;
    line-height: 1.5;
}
.rt-email-login-link {
    display: inline-block;
    margin-top: 4px;
    color: var(--rt-navy);
    font-weight: 700;
    text-decoration: underline;
}
.rt-email-login-link:hover {
    color: var(--rt-orange);
}
.rt-experience-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}
.rt-btn--sm { padding: .375rem .75rem; font-size: .8125rem; }
.rt-btn--xs { padding: .25rem .5rem; font-size: .75rem; }
.rt-btn--lg { padding: .75rem 2rem; font-size: 1rem; }
.rt-btn--block { width: 100%; }

.rt-btn .material-icons { font-size: 18px; }

/* ── Form elements ────────────────────────────────────────── */
.rt-field label {
    display: block;
    font-family: var(--rt-font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--rt-black);
    margin-bottom: .25rem;
}
.rt-field input[type="text"],
.rt-field input[type="email"],
.rt-field input[type="tel"],
.rt-field input[type="date"],
.rt-field input[type="number"],
.rt-field input[type="password"],
.rt-field input[type="url"],
.rt-field textarea,
.rt-field select {
    width: 100%;
    padding: .5rem .75rem;
    border: 1px solid var(--rt-gray-300);
    border-radius: var(--rt-radius);
    font-family: var(--rt-font-body);
    font-size: 14px;
    background: var(--rt-white);
    color: var(--rt-black);
    transition: border-color var(--rt-transition), box-shadow var(--rt-transition);
}
.rt-field input:focus, .rt-field textarea:focus, .rt-field select:focus {
    outline: none;
    border-color: var(--rt-navy);
    box-shadow: 0 0 0 3px var(--rt-navy-light);
}
.rt-field small { font-size: .75rem; color: var(--rt-gray-500); }
.rt-field input[type="file"] { padding: .375rem 0; border: none; }

/* ── Checkboxes ───────────────────────────────────────────── */
.rt-checkbox { display: flex; align-items: center; gap: .375rem; font-size: 14px; font-weight: 400; cursor: pointer; }
.rt-checkbox input[type="checkbox"] { width: 1rem; height: 1rem; accent-color: var(--rt-orange); }
.rt-checkbox-group { display: flex; flex-wrap: wrap; gap: .5rem .75rem; }
.rt-checkbox-group--columns { flex-direction: column; }

/* ── States Picker (grouped chips) ───────────────────────── */
.rt-states-picker {
    border: 1px solid var(--rt-gray-200);
    border-radius: var(--rt-radius);
    padding: .75rem;
    background: var(--rt-white);
}
.rt-states-region { margin-bottom: .625rem; }
.rt-states-region:last-child { margin-bottom: 0; }
.rt-states-region--special { margin-bottom: .875rem; padding-bottom: .75rem; border-bottom: 1px solid var(--rt-gray-200); }
.rt-states-region__head {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .375rem;
}
.rt-states-region__label {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--rt-navy);
}
/* generic chips wrapper (benefits, etc.) */
.rt-chips-group {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    border: 1px solid var(--rt-gray-200);
    border-radius: var(--rt-radius);
    padding: .75rem;
    background: var(--rt-white);
}
.rt-states-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
}
.rt-state-chip {
    cursor: pointer;
    user-select: none;
}
.rt-state-chip input { display: none; }
.rt-state-chip span {
    display: inline-block;
    padding: .25rem .625rem;
    border-radius: 9999px;
    font-size: .75rem;
    font-weight: 500;
    border: 1px solid var(--rt-gray-200);
    background: var(--rt-gray-50);
    color: var(--rt-gray-600);
    transition: all .15s;
    line-height: 1.4;
}
.rt-state-chip:hover span {
    border-color: var(--rt-navy);
    color: var(--rt-navy);
}
.rt-state-chip input:checked + span {
    background: var(--rt-navy);
    color: var(--rt-white);
    border-color: var(--rt-navy);
}
.rt-states-region--special .rt-state-chip span {
    padding: .3125rem .875rem;
    font-size: .8125rem;
    font-weight: 600;
}
.rt-states-region--special .rt-state-chip input:checked + span {
    background: var(--rt-orange);
    border-color: var(--rt-orange);
}

/* ── Messages ─────────────────────────────────────────────── */
.rt-msg {
    padding: .75rem 1rem;
    border-radius: var(--rt-radius);
    font-size: .875rem;
    margin-bottom: 1rem;
}
.rt-msg--error { background: var(--rt-danger-light); color: var(--rt-danger); border: 1px solid var(--rt-danger); }
.rt-msg--success { background: var(--rt-success-light); color: var(--rt-success); border: 1px solid var(--rt-success); }
.rt-msg--warning { background: var(--rt-warning-light); color: var(--rt-warning); border: 1px solid var(--rt-warning); }
.rt-msg--info { background: var(--rt-info-light); color: var(--rt-info); border: 1px solid var(--rt-info); }

/* ── Badges ───────────────────────────────────────────────── */
.rt-badge {
    display: inline-flex;
    align-items: center;
    padding: .125rem .5rem;
    border-radius: 9999px;
    font-size: .75rem;
    font-weight: 600;
}
.rt-badge--success { background: var(--rt-success-light); color: var(--rt-success); }
.rt-badge--danger { background: var(--rt-danger-light); color: var(--rt-danger); }
.rt-badge--warning { background: var(--rt-warning-light); color: var(--rt-warning); }
.rt-badge--info { background: var(--rt-info-light); color: var(--rt-info); }
.rt-badge--muted { background: var(--rt-gray-100); color: var(--rt-gray-500); }
.rt-badge--purple { background: #ede9fe; color: #7c3aed; }

/* ── Tags ─────────────────────────────────────────────────── */
.rt-tag {
    display: inline-block;
    padding: .125rem .5rem;
    background: var(--rt-navy-light);
    color: var(--rt-navy);
    border-radius: var(--rt-radius);
    font-size: .75rem;
    font-weight: 500;
}
.rt-tags { display: flex; flex-wrap: wrap; gap: .375rem; }

/* ── Cards ────────────────────────────────────────────────── */
.rt-card {
    background: var(--rt-white);
    border: none;
    border-radius: var(--rt-radius);
    padding: 1.5rem;
    box-shadow: var(--rt-shadow);
    transition: box-shadow var(--rt-transition);
}
.rt-card:hover { box-shadow: var(--rt-shadow-hover); }
.rt-card h4 { margin: 0 0 .5rem; font-family: var(--rt-font-subtitle); font-size: 1rem; color: var(--rt-navy); }
.rt-card__number { font-size: 2rem; font-weight: 700; color: var(--rt-orange); margin: .25rem 0 .75rem; font-family: var(--rt-font-title); }

/* ── Dashboard ────────────────────────────────────────────── */
.rt-dashboard { max-width: 960px; margin: 0 auto; padding: 0 16px; }
.rt-dashboard__header { margin-bottom: 2rem; }
.rt-dashboard__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; margin-bottom: 2.5rem; }
.rt-dashboard__plan-info { display: flex; align-items: center; gap: .75rem; margin-top: .5rem; }
.rt-dashboard__quick-actions { margin-bottom: 2rem; }
.rt-dashboard__actions { margin-top: 2rem; padding-top: 1.5rem; }
.rt-actions-grid { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }

/* ── Wizard ───────────────────────────────────────────────── */
.rt-wizard { max-width: 700px; margin: 0 auto; padding: 0 16px; }
.rt-wizard__progress { height: 4px; background: var(--rt-gray-200); border-radius: 2px; margin-bottom: .75rem; overflow: hidden; }
.rt-wizard__progress-bar { height: 100%; background: var(--rt-orange); border-radius: 2px; transition: width .3s ease; }
.rt-wizard__steps-indicator { display: flex; justify-content: center; gap: .75rem; margin-bottom: 1.5rem; }
.rt-step-dot {
    width: 2.25rem; height: 2.25rem;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--rt-font-title);
    font-size: .8125rem; font-weight: 700;
    background: var(--rt-gray-200); color: var(--rt-gray-500);
    transition: all var(--rt-transition);
}
.rt-step-dot.active { background: var(--rt-navy); color: var(--rt-white); }
.rt-step-dot.done { background: var(--rt-orange); color: var(--rt-white); }
.rt-wizard__step { animation: rtFadeIn .3s ease; }
.rt-wizard__nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1rem; }

/* ── Plan selected banner ────────────────────────────────── */
.rt-plan-selected {
    display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
    background: var(--rt-navy-light);
    color: var(--rt-navy);
    padding: .75rem 1rem;
    border-radius: var(--rt-radius);
    margin-bottom: 1.5rem;
    font-size: 14px;
}
.rt-plan-selected .material-icons { color: var(--rt-success); font-size: 20px; }
.rt-plan-selected__change { margin-left: auto; color: var(--rt-orange); font-weight: 600; text-decoration: none; font-size: 13px; }
.rt-plan-selected__change:hover { text-decoration: underline; }

@keyframes rtFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* ── Birthdate selects ────────────────────────────────────── */
.rt-birthdate-selects {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: .5rem;
}
.rt-birthdate-selects select {
    width: 100%;
}

/* ── Password wrap & toggle ───────────────────────────────── */
.rt-pwd-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.rt-pwd-wrap input {
    flex: 1;
    padding-right: 40px !important;
}
.rt-pwd-toggle {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--rt-gray-400);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.rt-pwd-toggle:hover { color: var(--rt-gray-600); }
.rt-pwd-toggle .material-icons { font-size: 20px; }

/* ── Password rules ───────────────────────────────────────── */
.rt-pwd-rules { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: .375rem; }
.rt-pwd-rules span {
    font-size: .75rem;
    padding: .125rem .375rem;
    border-radius: var(--rt-radius);
    background: var(--rt-gray-100);
    color: var(--rt-gray-500);
    transition: all var(--rt-transition);
}
.rt-pwd-rules span.valid { background: var(--rt-success-light); color: var(--rt-success); }

/* ── Experience rows ──────────────────────────────────────── */
.rt-experience-row {
    padding: 1rem;
    background: var(--rt-gray-bg);
    border: none;
    border-radius: var(--rt-radius);
    margin-bottom: .75rem;
    box-shadow: var(--rt-shadow);
}
.rt-experience-row hr { border: none; border-top: 1px solid var(--rt-gray-200); margin: .75rem 0 0; }

/* ── Tables ───────────────────────────────────────────────── */
.rt-table-wrap { overflow-x: auto; }
.rt-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.rt-table th, .rt-table td { padding: .75rem; text-align: left; border-bottom: 1px solid var(--rt-gray-200); }
.rt-table th { background: var(--rt-gray-bg); font-family: var(--rt-font-subtitle); font-weight: 600; white-space: nowrap; color: var(--rt-navy); }
.rt-table tr:hover td { background: var(--rt-gray-bg); }
.rt-actions-cell { display: flex; gap: .375rem; flex-wrap: wrap; }
.rt-row-disabled { opacity: .5; }

/* ── Filters ──────────────────────────────────────────────── */
.rt-filters { background: var(--rt-gray-bg); border: none; border-radius: var(--rt-radius); padding: 1.25rem; margin-bottom: 1.5rem; box-shadow: var(--rt-shadow); }
.rt-filters__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .75rem; margin-bottom: .75rem; }
.rt-filters-inline { display: flex; flex-wrap: wrap; gap: .375rem; margin-bottom: 1rem; }
.rt-filter-tab {
    padding: .375rem .75rem;
    border-radius: var(--rt-radius);
    font-size: .8125rem;
    font-weight: 500;
    color: var(--rt-gray-600);
    text-decoration: none;
    background: var(--rt-gray-200);
    transition: all var(--rt-transition);
}
.rt-filter-tab:hover { background: var(--rt-navy-light); color: var(--rt-navy); }
.rt-filter-tab.active { background: var(--rt-navy); color: var(--rt-white); }

/* ── Job Cards Grid ───────────────────────────────────────── */
.rt-jobs__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.rt-job-card {
    background: var(--rt-white);
    border: none;
    border-radius: var(--rt-radius);
    padding: 1.5rem;
    box-shadow: var(--rt-shadow);
    transition: box-shadow var(--rt-transition), transform var(--rt-transition);
    display: flex;
    flex-direction: column;
}
.rt-job-card:hover { box-shadow: var(--rt-shadow-hover); transform: translateY(-2px); }
.rt-job-card__header { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.rt-job-card__logo {
    flex-shrink: 0;
    width: 44px; height: 44px;
    border-radius: var(--rt-radius);
    overflow: hidden;
    background: var(--rt-gray-100, #f0f1f4);
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--rt-gray-200, #e2e4ea);
}
.rt-job-card__logo img { width: 100%; height: 100%; object-fit: contain; }
.rt-job-card__initial {
    font-size: 1.125rem; font-weight: 700;
    color: var(--rt-primary, #4361ee);
    line-height: 1;
}
.rt-job-card__header-text { min-width: 0; }
.rt-job-card__title { font-family: var(--rt-font-subtitle); font-size: 1.0625rem; margin: 0 0 .25rem; font-weight: 700; color: var(--rt-navy); }
.rt-job-card__company { font-size: .8125rem; color: var(--rt-gray-500); display: block; }
.rt-job-card__meta { display: flex; flex-direction: column; gap: .25rem; font-size: .8125rem; margin-bottom: .75rem; color: var(--rt-gray-600); }
.rt-job-card__benefits { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: .75rem; }
.rt-job-card .rt-btn { margin-top: auto; }

/* ── Job Detail ───────────────────────────────────────────── */
.rt-job-detail { max-width: 800px; margin: 0 auto; padding: 0 16px; }
.rt-back-link { display: inline-flex; align-items: center; gap: .25rem; margin-bottom: 1rem; color: var(--rt-navy); text-decoration: none; font-size: .875rem; font-weight: 600; }
.rt-back-link:hover { color: var(--rt-orange); }
.rt-job-detail__header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.rt-job-detail__logo {
    flex-shrink: 0;
    width: 56px; height: 56px;
    border-radius: var(--rt-radius);
    overflow: hidden;
    background: var(--rt-gray-100, #f0f1f4);
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--rt-gray-200, #e2e4ea);
}
.rt-job-detail__logo img { width: 100%; height: 100%; object-fit: contain; }
.rt-job-detail__logo .rt-job-card__initial { font-size: 1.375rem; }
.rt-job-detail__header h1 { font-size: 1.75rem; margin: 0 0 .25rem; }
.rt-job-detail__company { color: var(--rt-gray-500); font-size: 1rem; }
.rt-job-detail__info-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; padding: 1.5rem; background: var(--rt-gray-bg); border-radius: var(--rt-radius); }
.rt-info-item { display: flex; flex-direction: column; }
.rt-info-item strong { font-size: .75rem; color: var(--rt-gray-500); text-transform: uppercase; letter-spacing: .03em; margin-bottom: .125rem; }
.rt-info-item span { font-weight: 600; color: var(--rt-black); }
.rt-info-item small { color: var(--rt-gray-500); font-size: .75rem; }
.rt-job-detail__section { margin-bottom: 1.5rem; }
.rt-content { line-height: 1.7; color: var(--rt-black); }
.rt-requirements { padding-left: 1.25rem; }
.rt-requirements li { margin-bottom: .375rem; }
.rt-job-detail__apply { margin-top: 2rem; padding-top: 1.5rem; text-align: center; }

/* ── Candidate Cards Grid ─────────────────────────────────── */
.rt-candidates-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; margin-top: 1rem; }
.rt-candidate-card {
    background: var(--rt-white);
    border: none;
    border-radius: var(--rt-radius);
    padding: 1.5rem;
    box-shadow: var(--rt-shadow);
    transition: box-shadow var(--rt-transition);
}
.rt-candidate-card:hover { box-shadow: var(--rt-shadow-hover); }
.rt-candidate-card--withdrawn { opacity: .6; }
.rt-candidate-card__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: .75rem; }
.rt-candidate-card__header h4 { margin: 0; font-family: var(--rt-font-subtitle); font-size: 1rem; color: var(--rt-navy); }
.rt-candidate-card__info { font-size: .8125rem; margin-bottom: .75rem; color: var(--rt-gray-600); }
.rt-candidate-card__info p { margin: .25rem 0; }
.rt-candidate-card__actions { display: flex; gap: .375rem; }

/* ── Children management ──────────────────────────────────── */
.rt-child-form { background: var(--rt-gray-bg); border: none; border-radius: var(--rt-radius); padding: 1.5rem; margin-top: 1rem; box-shadow: var(--rt-shadow); }

/* ── Section header ───────────────────────────────────────── */
.rt-section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: .5rem; }
.rt-section { margin-top: 2rem; }

/* ── Pricing ──────────────────────────────────────────────── */
.rt-pricing { text-align: center; max-width: 1000px; margin: 0 auto; padding: 0 16px; }
.rt-pricing__header { margin-bottom: 2.5rem; }
.rt-pricing__title { font-size: 2rem; margin-bottom: .5rem; color: var(--rt-navy); }
.rt-pricing__subtitle { color: var(--rt-gray-600); margin-bottom: 0; font-size: 1.0625rem; max-width: 600px; margin-left: auto; margin-right: auto; }
.rt-pricing__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.rt-pricing__card {
    background: var(--rt-white);
    border: none;
    border-radius: var(--rt-radius);
    padding: 2.5rem 1.5rem 2rem;
    position: relative;
    box-shadow: var(--rt-shadow);
    transition: all var(--rt-transition);
}
.rt-pricing__card:hover { box-shadow: var(--rt-shadow-hover); transform: translateY(-4px); }
.rt-pricing__card--featured { box-shadow: var(--rt-shadow-md); border: 2px solid var(--rt-orange); transform: scale(1.03); }
.rt-pricing__card--featured:hover { transform: scale(1.03) translateY(-4px); }
.rt-pricing__badge {
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    background: var(--rt-orange); color: var(--rt-white);
    padding: .25rem 1rem; border-radius: 9999px;
    font-family: var(--rt-font-title);
    font-size: .75rem; font-weight: 700; text-transform: uppercase;
}
.rt-pricing__icon { margin-bottom: .75rem; }
.rt-pricing__icon .material-icons { font-size: 40px; color: var(--rt-navy); }
.rt-pricing__card--featured .rt-pricing__icon .material-icons { color: var(--rt-orange); }
.rt-pricing__plan-name { font-family: var(--rt-font-title); font-size: 1.375rem; font-weight: 700; margin: .5rem 0; color: var(--rt-navy); }
.rt-pricing__period { font-size: .875rem; color: var(--rt-gray-500); margin-bottom: 1.5rem; }
.rt-pricing__features { list-style: none; padding: 0; text-align: left; margin-bottom: 2rem; }
.rt-pricing__features li {
    display: flex; align-items: center; gap: .5rem;
    padding: .5rem 0; font-size: .875rem;
    border-bottom: 1px solid var(--rt-gray-100);
    color: var(--rt-gray-600);
}
.rt-pricing__features li .material-icons { font-size: 18px; color: var(--rt-orange); }
.rt-pricing__footer-note { margin-top: 2rem; font-size: .875rem; color: var(--rt-gray-500); }

/* ── Blocked Screen ───────────────────────────────────────── */
.rt-blocked-screen {
    text-align: center;
    padding: 3rem 2rem;
    max-width: 500px;
    margin: 2rem auto;
    background: var(--rt-white);
    border: none;
    border-radius: var(--rt-radius);
    box-shadow: var(--rt-shadow-md);
}
.rt-blocked-icon { font-size: 3rem; margin-bottom: 1rem; color: var(--rt-orange); }
.rt-blocked-screen h2 { font-size: 1.5rem; margin-bottom: .5rem; color: var(--rt-navy); }
.rt-blocked-screen p { color: var(--rt-gray-600); margin-bottom: 1.5rem; }

/* ── Login Required ───────────────────────────────────────── */
.rt-login-required {
    text-align: center;
    padding: 3rem 2rem;
    max-width: 500px;
    margin: 2rem auto;
    background: var(--rt-white);
    border-radius: var(--rt-radius);
    box-shadow: var(--rt-shadow);
}
.rt-login-required h2 { color: var(--rt-navy); }

/* ── Misc ─────────────────────────────────────────────────── */
.rt-empty { text-align: center; color: var(--rt-gray-500); padding: 2rem; }
.rt-text-muted { color: var(--rt-gray-500); font-size: .8125rem; }
.rt-results-count { color: var(--rt-gray-500); font-size: .875rem; }
.rt-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding: 12px 0; }
.rt-pagination__info { font-size: 13px; color: var(--rt-gray-500); }
.rt-pagination__links { display: flex; flex-wrap: wrap; gap: 4px; }
.rt-pagination a, .rt-pagination span { padding: .375rem .75rem; margin: 0 .125rem; border-radius: var(--rt-radius); font-size: .875rem; text-decoration: none; }
.rt-pagination a { background: var(--rt-gray-100); color: var(--rt-black); }
.rt-pagination a:hover { background: var(--rt-navy-light); color: var(--rt-navy); }
.rt-pagination span.current { background: var(--rt-navy); color: var(--rt-white); }
.rt-pagination__btn { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--rt-radius); font-size: 13px; text-decoration: none; background: var(--rt-gray-100); color: var(--rt-black); transition: background .2s, color .2s; }
.rt-pagination__btn:hover { background: var(--rt-navy-light); color: var(--rt-navy); }
.rt-pagination__btn--active { background: var(--rt-navy); color: #fff; pointer-events: none; }
.rt-form__actions { display: flex; gap: .75rem; margin-top: 1.5rem; padding-top: 1rem; }

/* ── Edit Profile ────────────────────────────────────────── */
.rt-edit-profile { max-width: 700px; margin: 0 auto; padding: 0 16px; }

/* ── Modal ────────────────────────────────────────────────── */
.rt-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; }
.rt-modal__overlay { position: absolute; inset: 0; background: rgba(0,62,121,.5); }
.rt-modal__content {
    position: relative;
    background: var(--rt-white);
    border-radius: var(--rt-radius);
    padding: 2rem;
    max-width: 500px;
    width: 90%;
    box-shadow: var(--rt-shadow-md);
    animation: rtFadeIn .2s ease;
}
.rt-modal__content h3 { margin: 0 0 .75rem; font-family: var(--rt-font-subtitle); color: var(--rt-navy); }
.rt-modal__actions { display: flex; gap: .75rem; margin-top: 1.25rem; }
.rt-modal__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.rt-modal__header h3 { margin: 0; }
.rt-modal__close { background: none; border: none; font-size: 24px; cursor: pointer; color: var(--rt-gray-500, #6b7280); line-height: 1; padding: 0; }
.rt-modal__close:hover { color: var(--rt-navy); }
.rt-modal__body { margin-bottom: 1rem; }
.rt-modal__body .rt-form-group { margin-bottom: .75rem; }
.rt-modal__body .rt-form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--rt-navy); margin-bottom: 4px; }
.rt-modal__body .rt-form-group small { font-weight: 400; color: var(--rt-gray-500, #6b7280); }
.rt-modal__footer { display: flex; justify-content: flex-end; gap: .75rem; padding-top: .75rem; border-top: 1px solid var(--rt-gray-200, #e5e7eb); }

/* ── Plan Upgrade Notice ── */
.rt-plan-upgrade-notice {
    background: linear-gradient(135deg, #fff7ed 0%, #fff 100%);
    border: 1px solid var(--rt-orange, #f97316);
    border-radius: var(--rt-radius, 8px);
    padding: 2rem;
    text-align: center;
    max-width: 480px;
    margin: 2rem auto;
}
.rt-plan-upgrade-notice p { color: var(--rt-navy); font-size: 15px; margin: 0 0 1rem; }

/* ── Badge danger ── */
.rt-badge--danger { background: #fef2f2; color: #dc2626; }

/* ── Fieldset ─────────────────────────────────────────────── */
.rt-form fieldset {
    border: none;
    border-radius: var(--rt-radius);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--rt-gray-bg);
}
.rt-form fieldset legend {
    font-family: var(--rt-font-subtitle);
    font-weight: 700;
    font-size: 1rem;
    padding: 0 .5rem;
    color: var(--rt-navy);
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
    .rt-dashboard h2, .rt-wizard h3, .rt-jobs h2,
    .rt-job-detail h1, .rt-candidates-search h2, .rt-applications h2,
    .rt-children h2, .rt-company-jobs h2, .rt-job-form-wrap h2,
    .rt-pricing__title, .rt-edit-profile h2 {
        font-size: 20px;
    }
    .rt-section h3, .rt-job-detail__section h3 { font-size: 16px; }
    .rt-field label { font-size: 13px; }
    .rt-field input, .rt-field textarea, .rt-field select { font-size: 13px; }
}

@media (max-width: 640px) {
    .rt-row { flex-direction: column; }
    .rt-field--half, .rt-field--third, .rt-field--twothirds, .rt-field--quarter { flex: 1 1 100%; min-width: 100%; }
    .rt-jobs__grid, .rt-candidates-grid { grid-template-columns: 1fr; }
    .rt-pricing__grid { grid-template-columns: 1fr; }
    .rt-pricing__card--featured { transform: none; }
    .rt-pricing__card--featured:hover { transform: translateY(-4px); }
    .rt-dashboard__cards { grid-template-columns: 1fr; }
    .rt-filters__grid { grid-template-columns: 1fr; }
    .rt-job-detail__info-grid { grid-template-columns: 1fr 1fr; }
    .rt-wizard__nav { flex-direction: column; }
    .rt-actions-cell { flex-direction: column; }
    .rt-plan-selected { font-size: 13px; }
    .rt-section-header { flex-direction: column; align-items: flex-start; }
    .rt-form__actions { flex-direction: column; }
    .rt-form__actions .rt-btn { width: 100%; justify-content: center; }
    .rt-table th, .rt-table td { padding: .5rem .4rem; font-size: .8rem; }
    .rt-table th { font-size: .75rem; }
    .rt-edit-profile { padding: 0 10px; }
    .rt-form fieldset { padding: 1rem .75rem; }
}

/* ── Login Page ───────────────────────────────────────────── */
.rt-login {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 70vh;
    padding: 40px 16px;
    background: linear-gradient(135deg, var(--rt-navy) 0%, #004a8f 100%);
}
.rt-login__card {
    background: var(--rt-white);
    border-radius: 12px;
    box-shadow: var(--rt-shadow-md);
    padding: 40px 36px;
    width: 100%;
    max-width: 440px;
    text-align: center;
}
.rt-login__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.rt-login__logo-img {
    max-height: 60px;
    width: auto;
    display: block;
}
.rt-login__title {
    font-family: var(--rt-font-title);
    font-size: 22px;
    font-weight: 700;
    color: var(--rt-navy);
    margin: 0 0 4px;
}
.rt-login__subtitle {
    font-size: 14px;
    color: var(--rt-gray-500);
    margin: 0 0 24px;
}
.rt-login__error {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--rt-danger-light);
    color: var(--rt-danger);
    padding: 10px 14px;
    border-radius: var(--rt-radius);
    font-size: 14px;
    margin-bottom: 16px;
    text-align: left;
}
.rt-login__error .material-icons { font-size: 20px; }

/* ── Session conflict warning ── */
.rt-login__conflict {
    text-align: center;
    padding: 8px 0 0;
}
.rt-login__conflict-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: #fff3e0;
    margin-bottom: 16px;
}
.rt-login__conflict-icon .material-icons {
    font-size: 32px;
    color: #e65100;
}
.rt-login__conflict-title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 8px;
}
.rt-login__conflict-msg {
    font-size: 14px;
    color: #333;
    margin: 0 0 6px;
    line-height: 1.5;
}
.rt-login__conflict-hint {
    font-size: 13px;
    color: #888;
    margin: 0 0 20px;
}
.rt-login__conflict-form {
    text-align: left;
}
.rt-login__conflict-actions {
    display: flex;
    gap: 10px;
    margin-top: 16px;
}
.rt-login__conflict-actions .rt-btn { flex: 1; justify-content: center; }

.rt-btn--warning {
    background: #e65100;
    color: #fff;
    border: 1.5px solid #e65100;
}
.rt-btn--warning:hover {
    background: #bf360c;
    border-color: #bf360c;
}

.rt-login__form { text-align: left; }
.rt-login__field { margin-bottom: 20px; }
.rt-login__field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--rt-gray-600);
    margin-bottom: 6px;
}
.rt-login__input-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}
.rt-login__input-wrap .material-icons {
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 20px !important;
    color: var(--rt-gray-400) !important;
    pointer-events: none !important;
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.rt-login__input-wrap input {
    width: 100% !important;
    padding: 10px 14px 10px 42px !important;
    border: 1px solid var(--rt-gray-300) !important;
    border-radius: var(--rt-radius) !important;
    font-size: 15px !important;
    font-family: var(--rt-font-body) !important;
    transition: border-color var(--rt-transition) !important;
    outline: none !important;
}
.rt-login__input-wrap input:focus {
    border-color: var(--rt-navy);
    box-shadow: 0 0 0 3px rgba(0, 62, 121, .12);
}
.rt-login__submit {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: var(--rt-font-title);
    border: none;
    border-radius: var(--rt-radius);
    cursor: pointer;
    background: var(--rt-orange);
    color: var(--rt-white);
    transition: background var(--rt-transition);
    margin-top: 4px;
}
.rt-login__submit:hover { background: var(--rt-orange-hover); }
.rt-login__footer {
    margin-top: 16px;
    text-align: center;
}
.rt-login__footer a {
    font-size: 13px;
    color: var(--rt-navy);
    text-decoration: none;
}
.rt-login__footer a:hover { text-decoration: underline; }
.rt-login__divider {
    border: none;
    border-top: 1px solid var(--rt-gray-200);
    margin: 24px 0;
}
.rt-login__register { text-align: center; }
.rt-login__register p {
    font-size: 14px;
    color: var(--rt-gray-500);
    margin: 0 0 12px;
}
.rt-login__register-links {
    display: flex;
    gap: 12px;
    justify-content: center;
}
.rt-login__register-links .rt-btn--outline {
    flex: 1;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--rt-font-body);
    border: 2px solid var(--rt-navy);
    border-radius: var(--rt-radius);
    color: var(--rt-navy);
    background: transparent;
    text-decoration: none;
    text-align: center;
    transition: all var(--rt-transition);
}
.rt-login__register-links .rt-btn--outline:hover {
    background: var(--rt-navy);
    color: var(--rt-white);
}

@media (max-width: 480px) {
    .rt-login__card { padding: 28px 20px; }
    .rt-login__register-links { flex-direction: column; }
}

@media (min-width: 1200px) {
    .rt-dashboard, .rt-job-detail, .rt-pricing,
    .rt-wizard, .rt-edit-profile {
        padding-left: 80px;
        padding-right: 80px;
    }
}

/* ══════════════════════════════════════════════════════════
   CANDIDATE DASHBOARD — Job Listing Layout (rt-cd-)
   ══════════════════════════════════════════════════════════ */

#rt-app {
    font-family: var(--rt-font-body);
    background-color: var(--rt-white);
    color: var(--rt-black);
    line-height: 1.5;
    width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}
#rt-app * { box-sizing: border-box; }

.rt-cd-container { width: 100%; padding: 0; }

/* ── Filters Section ─────────────────────────────────────── */
.rt-cd-filters-section {
    background-color: var(--rt-gray-bg);
    padding: 30px 0;
    border-bottom: 1px solid var(--rt-gray-200);
}

.rt-cd-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 20px;
}

.rt-cd-page-title h1 {
    font-family: var(--rt-font-title);
    color: var(--rt-navy);
    margin: 0;
    font-size: 26px;
}
.rt-cd-page-title p {
    margin: 5px 0 0;
    color: var(--rt-gray-500);
    font-size: 14px;
}

.rt-cd-btn-my-apps {
    background-color: var(--rt-white);
    color: var(--rt-navy);
    border: 2px solid var(--rt-navy);
    padding: 10px 25px;
    border-radius: 30px;
    font-weight: 700;
    font-family: var(--rt-font-title);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all .3s;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 13px;
    text-decoration: none;
}
.rt-cd-btn-my-apps:hover {
    background-color: var(--rt-navy);
    color: var(--rt-white);
}

/* ── Filter Grid ─────────────────────────────────────────── */
.rt-cd-filters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
    background: var(--rt-white);
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
    margin: 0 20px;
}

.rt-cd-filter-item { display: flex; flex-direction: column; }

.rt-cd-label {
    font-size: 12px;
    font-weight: 700;
    color: #555;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.rt-multi-select__toggle {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rt-cd-select,
.rt-cd-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    background-color: #f9f9f9;
    font-family: var(--rt-font-body);
}
.rt-cd-select:focus,
.rt-cd-input:focus {
    border-color: var(--rt-navy);
    background-color: var(--rt-white);
    outline: none;
}

.rt-cd-btn-apply-filters {
    grid-column: 1 / -1;
    background-color: var(--rt-navy);
    color: var(--rt-white);
    border: none;
    padding: 12px;
    border-radius: var(--rt-radius);
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    margin-top: 10px;
    width: 100%;
    max-width: 200px;
    justify-self: end;
    font-family: var(--rt-font-title);
    font-size: 13px;
    transition: background .2s;
}
.rt-cd-btn-apply-filters:hover { background-color: #002a52; }

/* ── Jobs Section ────────────────────────────────────────── */
.rt-cd-jobs-section {
    padding: 40px 20px;
    background-color: var(--rt-white);
}

.rt-cd-jobs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* ── Job Card ────────────────────────────────────────────── */
.rt-cd-job-card {
    background: var(--rt-white);
    border: 1px solid var(--rt-gray-200);
    border-radius: var(--rt-radius);
    padding: 25px;
    transition: transform .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.rt-cd-job-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
    border-color: #ccc;
}
.rt-cd-job-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background-color: var(--rt-navy);
}

.rt-cd-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.rt-cd-card-logo {
    flex-shrink: 0;
    width: 44px; height: 44px;
    border-radius: var(--rt-radius, 8px);
    overflow: hidden;
    background: var(--rt-gray-100, #f0f1f4);
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--rt-gray-200, #e2e4ea);
}
.rt-cd-card-logo img { width: 100%; height: 100%; object-fit: contain; }
.rt-cd-card-initial {
    font-size: 1.125rem; font-weight: 700;
    color: var(--rt-primary, #4361ee);
    line-height: 1;
}
.rt-cd-card-header-text { min-width: 0; }
.rt-cd-card-role {
    font-family: var(--rt-font-title);
    font-size: 18px;
    font-weight: 700;
    color: var(--rt-navy);
    margin: 0 0 5px;
}
.rt-cd-card-company {
    font-size: 14px;
    font-weight: 600;
    color: #555;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.rt-cd-card-info {
    margin-bottom: 25px;
    font-size: 14px;
    color: #666;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.rt-cd-info-item {
    display: flex;
    align-items: center;
    gap: 8px;
}
.rt-cd-info-item .material-icons-outlined {
    font-size: 18px;
    color: var(--rt-orange);
}

.rt-cd-card-actions { display: flex; gap: 10px; margin-top: auto; }
.rt-cd-card-actions button {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    min-width: 0;
}

.rt-cd-btn-details {
    flex: 1;
    background: var(--rt-white);
    border: 1px solid var(--rt-navy);
    color: var(--rt-navy);
    padding: 12px;
    border-radius: var(--rt-radius);
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: all .2s;
    text-transform: uppercase;
}
.rt-cd-btn-details:hover { background: #f0f4f8; }

.rt-cd-btn-apply {
    flex: 1;
    background: var(--rt-orange);
    border: 1px solid var(--rt-orange);
    color: var(--rt-white);
    padding: 12px;
    border-radius: var(--rt-radius);
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    transition: all .2s;
    text-transform: uppercase;
}
.rt-cd-btn-apply:hover { background: var(--rt-orange-hover); border-color: var(--rt-orange-hover); }

.rt-cd-btn-applied {
    flex: 1;
    background: var(--rt-gray-200);
    border: 1px solid var(--rt-gray-300);
    color: var(--rt-gray-500);
    padding: 12px;
    border-radius: var(--rt-radius);
    font-weight: 600;
    font-size: 13px;
    cursor: default;
    text-transform: uppercase;
}

/* ── Load More / Pagination ──────────────────────────────── */
.rt-cd-load-more-container { text-align: center; margin-top: 50px; }

.rt-cd-btn-load-more {
    background: transparent;
    border: 2px solid #ddd;
    color: #666;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    padding: 15px 40px;
    border-radius: 40px;
    transition: all .3s;
    font-family: var(--rt-font-title);
    text-decoration: none;
    font-size: 14px;
}
.rt-cd-btn-load-more:hover { border-color: var(--rt-navy); color: var(--rt-navy); }
.rt-cd-btn-load-more:disabled { opacity: .6; cursor: default; }
@keyframes rt-spin { to { transform: rotate(360deg); } }



/* ── Job Detail Modal ────────────────────────────────────── */
.rt-cd-modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,.6); z-index: 100000;
    display: none;
    align-items: center; justify-content: center;
    opacity: 0; transition: opacity .3s;
}
.rt-cd-modal-overlay.active { display: flex; opacity: 1; }

.rt-cd-modal-container {
    background: var(--rt-white); width: 95%; max-width: 800px;
    border-radius: 8px; box-shadow: 0 10px 40px rgba(0,0,0,.3);
    display: flex; flex-direction: column;
    max-height: 90vh;
    animation: rtCdSlideUp .3s ease-out;
}
@keyframes rtCdSlideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.rt-cd-modal-header {
    padding: 25px 30px; border-bottom: 1px solid #eee;
    display: flex; justify-content: space-between; align-items: start;
    background-color: #fafafa;
    border-radius: 8px 8px 0 0;
}
.rt-cd-modal-title h2 {
    font-family: var(--rt-font-title); color: var(--rt-navy); margin: 0 0 5px; font-size: 24px;
}
.rt-cd-modal-subtitle { font-size: 16px; color: #666; font-weight: 600; }

.rt-cd-close-modal {
    background: none; border: none; font-size: 28px; color: #999; cursor: pointer; line-height: 1;
}
.rt-cd-close-modal:hover { color: #333; }

.rt-cd-modal-body { padding: 30px; overflow-y: auto; }

.rt-cd-detail-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 20px; margin-bottom: 30px;
    background: #f4f7fa; padding: 20px; border-radius: var(--rt-radius);
}
.rt-cd-detail-item label {
    display: block; font-size: 11px; color: #777; text-transform: uppercase;
    font-weight: 700; margin-bottom: 5px; letter-spacing: .5px;
}
.rt-cd-detail-item span {
    display: block; font-size: 15px; color: var(--rt-navy); font-weight: 700;
}

.rt-cd-detail-section { margin-bottom: 25px; }
.rt-cd-detail-section h4 {
    font-family: var(--rt-font-subtitle); font-size: 18px; color: var(--rt-navy);
    margin: 0 0 12px; border-left: 4px solid var(--rt-orange); padding-left: 12px;
}
.rt-cd-detail-section p {
    font-size: 15px; color: #555; line-height: 1.6; margin: 0;
}

.rt-cd-modal-footer {
    padding: 20px 30px; border-top: 1px solid #eee;
    display: flex; justify-content: flex-end; gap: 15px;
    background: var(--rt-white); border-radius: 0 0 8px 8px;
}
.rt-cd-btn-cancel {
    background: transparent; border: 1px solid #ccc; color: #666;
    padding: 12px 30px; border-radius: var(--rt-radius); font-weight: 600; cursor: pointer;
}
.rt-cd-btn-confirm {
    background: var(--rt-orange); border: none; color: var(--rt-white);
    padding: 12px 40px; border-radius: var(--rt-radius); font-weight: 700;
    cursor: pointer; box-shadow: 0 4px 10px rgba(255,134,1,.3);
    font-size: 14px; text-transform: uppercase;
}
.rt-cd-btn-confirm:hover { background: var(--rt-orange-hover); }

/* ── Candidate Dashboard Responsive ──────────────────────── */
@media (max-width: 900px) {
    .rt-cd-filters-grid { grid-template-columns: 1fr 1fr; margin: 0 10px; }
    .rt-cd-btn-apply-filters { justify-self: stretch; max-width: none; }
    .rt-cd-jobs-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .rt-cd-filters-grid { grid-template-columns: 1fr; }
    .rt-cd-jobs-grid { grid-template-columns: 1fr !important; gap: 20px; }
    .rt-cd-page-header { flex-direction: column; align-items: flex-start; padding: 0 15px; }
    .rt-cd-btn-my-apps { width: 100%; justify-content: center; }
    .rt-cd-detail-grid { grid-template-columns: 1fr; }
    .rt-cd-jobs-section { padding: 25px 12px; }
    .rt-cd-job-card { padding: 18px 15px; }
    .rt-cd-card-role { font-size: 16px; }
    .rt-cd-card-actions { gap: 10px; }
    .rt-cd-btn-details, .rt-cd-btn-apply, .rt-cd-btn-applied { padding: 10px; font-size: 12px; }
    .rt-cd-modal-container { width: 98%; max-height: 95vh; }
    .rt-cd-modal-header { padding: 15px; }
    .rt-cd-modal-title h2 { font-size: 18px; }
    .rt-cd-modal-body { padding: 15px; }
    .rt-cd-modal-footer { padding: 12px 15px; flex-direction: column; }
    .rt-cd-btn-cancel, .rt-cd-btn-confirm { width: 100%; text-align: center; }
}
@media (max-width: 400px) {
    .rt-cd-jobs-section { padding: 20px 8px; }
    .rt-cd-job-card { padding: 15px 12px; }
    .rt-cd-card-header { gap: 8px; }
    .rt-cd-card-logo { width: 36px; height: 36px; }
    .rt-cd-card-role { font-size: 15px; }
    .rt-cd-card-company { font-size: 13px; }
    .rt-cd-card-info { font-size: 13px; margin-bottom: 18px; }
    .rt-cd-card-actions { flex-direction: column; gap: 8px; }
}

/* ══════════════════════════════════════════════════════════
   COMPANY DASHBOARD — Painel Empresa (rt-co-)
   ══════════════════════════════════════════════════════════ */

.rt-co-dash { width: 100%; overflow-x: hidden; }

/* ── Stats Cards ── */
.rt-co-stats {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
    padding: 30px 20px;
}
.rt-co-stat-card {
    background: #fff; border: 1px solid var(--rt-gray-200); border-radius: var(--rt-radius);
    padding: 25px; text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.05); transition: box-shadow var(--rt-transition);
}
.rt-co-stat-card:hover { box-shadow: var(--rt-shadow-hover); }
.rt-co-stat-card h4 { margin: 0 0 .5rem; font-family: var(--rt-font-subtitle); font-size: 1rem; color: var(--rt-navy); }
.rt-co-stat-number {
    font-size: 2rem; font-weight: 700; color: var(--rt-orange);
    margin: .25rem 0 .75rem; font-family: var(--rt-font-title);
}

/* ── Filtros Section ── */
.rt-co-filters-section {
    background-color: #fff; padding: 20px 0 30px;
}
.rt-co-page-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 25px; flex-wrap: wrap; gap: 20px; padding: 0 20px;
}
.rt-co-page-title {
    font-family: var(--rt-font-title); color: var(--rt-navy);
    margin: 0; font-size: 26px;
}
.rt-co-page-subtitle { margin: 5px 0 0; color: var(--rt-gray-500); font-size: 14px; }

.rt-co-filters-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 15px;
    background: #fff; padding: 25px; box-shadow: 0 4px 20px rgba(0,0,0,.06); margin: 0 20px;
    border-radius: 12px; border: 1px solid #f0f0f0;
}
.rt-co-filter-item { display: flex; flex-direction: column; min-width: 0; }
.rt-co-label {
    font-size: 12px; font-weight: 700; color: #555;
    margin-bottom: 5px; text-transform: uppercase;
}
.rt-co-select, .rt-co-input {
    width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px;
    font-size: 14px; background-color: #f9f9f9; font-family: var(--rt-font-body);
}
.rt-co-select:focus, .rt-co-input:focus {
    border-color: var(--rt-navy); background-color: #fff; outline: none;
}
.rt-co-filter-btn-wrap { justify-content: flex-end; align-self: flex-end; }
.rt-co-filter-actions {
    display: flex; gap: 8px; align-items: center;
}
.rt-co-btn-search {
    background-color: var(--rt-navy); color: #fff; border: none;
    padding: 9px 16px; border-radius: var(--rt-radius); font-weight: 600;
    cursor: pointer; text-transform: uppercase; font-size: 12px;
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    white-space: nowrap; transition: background .2s;
}
.rt-co-btn-search:hover { background-color: var(--rt-navy-hover); }
.rt-co-btn-clear {
    background: transparent; color: var(--rt-gray-500); border: 1px solid #ccc;
    padding: 9px 16px; border-radius: var(--rt-radius); font-weight: 600;
    cursor: pointer; text-transform: uppercase; font-size: 12px;
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    white-space: nowrap; text-decoration: none; transition: all .2s;
}
.rt-co-btn-clear:hover { border-color: var(--rt-navy); color: var(--rt-navy); }

/* ── Candidates Section ── */
.rt-co-candidates-section { padding: 40px 20px; background-color: #fff; }

.rt-co-candidates-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 30px;
}

/* ── Candidate Card ── */
.rt-co-cand-card {
    background: #fff; border: 1px solid var(--rt-gray-200); border-radius: var(--rt-radius);
    padding: 25px; transition: transform .2s, box-shadow .2s;
    display: flex; flex-direction: column; align-items: center; text-align: center;
    height: 100%; position: relative; overflow: hidden;
}
.rt-co-cand-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,.12); border-color: #ccc; }

.rt-co-cand-avatar {
    width: 80px; height: 80px; border-radius: 50%;
    background-color: var(--rt-navy); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--rt-font-title); font-weight: 700; font-size: 24px;
    margin-bottom: 15px; box-shadow: 0 2px 5px rgba(0,0,0,.1);
}
.rt-co-cand-avatar--img {
    object-fit: cover; background: none; color: transparent;
    border: 3px solid var(--rt-navy);
}
.rt-co-cand-avatar-wrap {
    position: relative; display: inline-block;
}
.rt-co-cand-status-dots {
    position: absolute; top: 0; right: -4px;
    display: flex; flex-direction: column; gap: 4px;
    pointer-events: auto;
}
.rt-co-cand-status-dot {
    width: 12px; height: 12px; border-radius: 50%;
    background: #ccc; border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.rt-co-cand-status-dot--green  { background: #16a34a; }
.rt-co-cand-status-dot--orange { background: #f59e0b; }
.rt-co-cand-status-dot--red    { background: #dc2626; }
.rt-co-cand-status-dot--blue   { background: #2563eb; }
.rt-co-cand-status-dot--purple { background: #8b5cf6; }
.rt-co-cand-name {
    font-family: var(--rt-font-title); font-size: 18px; font-weight: 700;
    color: var(--rt-navy); margin: 0 0 5px;
}
.rt-co-cand-roles {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 5px;
    margin-bottom: 10px;
}
.rt-co-cand-role-chip {
    display: inline-block; background: #eef4fb; color: var(--rt-navy);
    font-size: 11px; font-weight: 600; padding: 3px 10px;
    border-radius: 12px; border: 1px solid #c9ddf0;
    line-height: 1.4; white-space: nowrap;
}
.rt-co-cand-location {
    font-size: 14px; color: #666; margin-bottom: 15px;
    display: flex; align-items: center; justify-content: center; gap: 5px;
}
.rt-co-cand-contact {
    background-color: #f0f8ff; color: var(--rt-navy);
    padding: 8px 15px; border-radius: 20px; font-size: 13px; font-weight: 600;
    margin-bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 8px;
}
.rt-co-btn-view {
    width: 100%; background: #fff; border: 2px solid var(--rt-orange);
    color: var(--rt-orange); padding: 10px 16px; border-radius: var(--rt-radius);
    font-weight: 700; font-size: 13px; cursor: pointer;
    transition: all .2s; text-transform: uppercase; margin-top: auto;
    font-family: var(--rt-font-body);
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
.rt-co-btn-view:hover { background-color: var(--rt-orange); color: #fff; }

/* ── Load More ── */
.rt-co-load-more { text-align: center; margin-top: 50px; }
.rt-co-btn-load-more {
    background: transparent; border: 2px solid #ddd; color: #666; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    cursor: pointer; padding: 15px 40px; border-radius: 40px;
    transition: all .3s; font-family: var(--rt-font-title); text-decoration: none;
}
.rt-co-btn-load-more:hover { border-color: var(--rt-navy); color: var(--rt-navy); }

/* ── Multi-select Dropdown ── */
.rt-multi-select { position: relative; width: 100%; }
.rt-multi-select__toggle, .rt-multi-select__label {
    width: 100%; text-align: left; cursor: pointer;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    padding: 10px 32px 10px 14px; position: relative;
    border: 1px solid #ddd; border-radius: 6px;
    background: #fff; font-size: 14px; color: #333;
    min-height: 42px; display: flex; align-items: center;
    transition: border-color .2s, box-shadow .2s;
}
.rt-multi-select__toggle::after, .rt-multi-select__label .material-icons-outlined {
    content: 'expand_more'; position: absolute; right: 10px; top: 50%;
    transform: translateY(-50%); font-size: 20px; color: #999; pointer-events: none;
    font-family: 'Material Icons Outlined';
}
.rt-multi-select__toggle::after { content: 'expand_more'; } /* fallback if icon span not present */

.rt-multi-select--open .rt-multi-select__label, .rt-multi-select--open .rt-multi-select__toggle {
    border-color: var(--rt-navy); box-shadow: 0 0 0 3px rgba(var(--rt-navy-rgb), .1);
}

.rt-multi-select__placeholder {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1;
}

.rt-multi-select__dropdown {
    display: none; position: absolute; top: calc(100% + 4px); left: 0; right: 0;
    background: #fff; border: 1px solid #ddd; border-radius: 6px;
    box-shadow: 0 6px 16px rgba(0,0,0,.15); z-index: 110;
    max-height: 250px; overflow-y: auto; padding: 6px 0;
}
.rt-multi-select--open .rt-multi-select__dropdown { display: block; }

.rt-multi-select__option {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px; cursor: pointer; font-size: 14px; color: #444;
    transition: background .15s;
}
.rt-multi-select__option:hover { background: #f8f9fa; }
.rt-multi-select__option input[type="checkbox"] {
    width: 17px; height: 17px; accent-color: var(--rt-navy); cursor: pointer; flex-shrink: 0; margin: 0;
}
.rt-multi-select__option span { line-height: 1.2; }

/* ── Fluxo de Seleção — botão + popover ── */
.rt-flow-btn-wrap {
    position: relative;
}
.rt-btn--ghost {
    background: transparent;
    border: 1px solid var(--rt-navy, #1a3c5e);
    color: var(--rt-navy, #1a3c5e);
    display: inline-flex; align-items: center; gap: 6px;
    border-radius: 6px; font-size: 13px; font-weight: 600;
    padding: 7px 14px; cursor: pointer;
    transition: background .15s, color .15s;
}
.rt-btn--ghost:hover {
    background: var(--rt-navy, #1a3c5e);
    color: #fff;
}
.rt-flow-popover {
    position: fixed;
    width: 300px; z-index: 9999;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    animation: rtFlowFadeIn .18s ease-out;
}
@keyframes rtFlowFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.rt-flow-popover__header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 16px 10px;
    border-bottom: 1px solid #f0f0f0;
}
.rt-flow-popover__header strong {
    font-size: 13px; color: #1a1a2e; font-weight: 700;
}
.rt-flow-popover__close {
    background: none; border: none; font-size: 20px;
    color: #aaa; cursor: pointer; line-height: 1; padding: 0 2px;
}
.rt-flow-popover__close:hover { color: #333; }
.rt-flow-popover__intro {
    font-size: 12px; color: #666; padding: 10px 16px 4px; margin: 0; line-height: 1.5;
}
.rt-flow-list {
    list-style: none; margin: 8px 0 0; padding: 0 16px;
    counter-reset: flow-step;
}
.rt-flow-list__item {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 8px 0;
    border-bottom: 1px dashed #f0f0f0;
}
.rt-flow-list__item:last-child { border-bottom: none; }
.rt-flow-list__dot {
    width: 12px; height: 12px; border-radius: 50%;
    flex-shrink: 0; margin-top: 3px;
    border: 2px solid currentColor;
}
.rt-flow-list__item strong {
    display: block; font-size: 12px; font-weight: 700; color: #1a1a2e;
}
.rt-flow-list__item span {
    font-size: 11px; color: #6b7280; line-height: 1.4;
}
.rt-flow-list__item--info    .rt-flow-list__dot { color: #3b82f6; background: #dbeafe; }
.rt-flow-list__item--warning .rt-flow-list__dot { color: #f59e0b; background: #fef3c7; }
.rt-flow-list__item--purple  .rt-flow-list__dot { color: #8b5cf6; background: #ede9fe; }
.rt-flow-list__item--success .rt-flow-list__dot { color: #22c55e; background: #dcfce7; }
.rt-flow-popover__alts {
    padding: 10px 16px 4px;
    display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
}
.rt-flow-popover__alts-label {
    font-size: 11px; color: #94a3b8; font-weight: 600; width: 100%;
}
.rt-flow-tag {
    font-size: 11px; font-weight: 600;
    padding: 3px 10px; border-radius: 20px;
}
.rt-flow-tag--muted  { background: #f1f5f9; color: #64748b; }
.rt-flow-tag--danger { background: #fee2e2; color: #dc2626; }
.rt-flow-popover__tip {
    font-size: 11px; color: #6b7280;
    background: #fffbeb; margin: 8px 10px 12px;
    padding: 7px 10px; border-radius: 6px;
    border: 1px solid #fde68a; line-height: 1.4;
}


/* ── Modal Candidato ── */
.rt-co-modal-overlay {

    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,.6); z-index: 1000;
    display: none; align-items: flex-start; justify-content: center;
    overflow-y: auto; padding: 4vh 0;
    opacity: 0; transition: opacity .3s;
}
.rt-co-modal-overlay.active { display: flex; opacity: 1; }

.rt-co-modal-container {
    background: #fff; width: 95%; max-width: 960px;
    border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.3);
    display: flex; flex-direction: column; margin: auto;
    animation: rtCoSlideUp .3s ease-out;
}
@keyframes rtCoSlideUp { from { transform: translateY(20px); } to { transform: translateY(0); } }

.rt-co-modal-header {
    padding: 20px 30px; border-bottom: 1px solid #eee;
    display: flex; justify-content: space-between; align-items: center;
    background-color: #fafafa; border-radius: 8px 8px 0 0;
}
.rt-co-modal-profile-header { display: flex; align-items: center; gap: 15px; }
.rt-co-modal-avatar {
    width: 60px; height: 60px; min-width: 60px; border-radius: 50%;
    background-color: var(--rt-navy); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--rt-font-title); font-weight: 700; font-size: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,.1);
    flex-shrink: 0; overflow: hidden;
}
.rt-co-modal-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.rt-co-modal-name { font-family: var(--rt-font-title); color: var(--rt-navy); margin: 0; font-size: 22px; }
.rt-co-modal-subtitle { font-size: 14px; color: #666; }
.rt-co-close-modal { background: none; border: none; font-size: 28px; color: #999; cursor: pointer; }
.rt-co-close-modal:hover { color: #333; }
/* Modal body — ocupa todo espaço disponível com scroll */
.rt-co-modal-body {
    padding: 24px 28px;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 300px;
}

.rt-co-profile-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px; margin-bottom: 20px;
}
.rt-co-info-block {
    background: #f9fafb; padding: 10px 14px;
    border-radius: 8px; border: 1px solid #e5e7eb;
}
.rt-co-info-block label {
    display: block; font-size: 11px; color: #6b7280; text-transform: uppercase;
    font-weight: 700; margin-bottom: 4px; letter-spacing: 0.4px;
}
.rt-co-info-block span {
    display: block; font-size: 14px; color: #111827; font-weight: 600;
}
.rt-co-section-header {
    font-family: var(--rt-font-subtitle); font-size: 18px; color: var(--rt-navy);
    margin: 25px 0 15px; border-left: 4px solid var(--rt-orange); padding-left: 10px;
}
.rt-co-exp-item {
    background: #f9f9f9; padding: 15px; border-radius: var(--rt-radius); margin-bottom: 15px;
}
.rt-co-exp-role { font-weight: 700; color: #333; font-size: 15px; }
.rt-co-exp-company { font-size: 13px; color: #666; margin-bottom: 5px; display: block; }
.rt-co-exp-desc { font-size: 14px; color: #555; line-height: 1.5; margin-top: 8px; }

/* ── Modal status section — compacta no rodapé ── */
.rt-co-modal-status-section {
    padding: 10px 24px 8px;
    border-top: 1px solid #eee;
    background: #f8f9fa;
    flex-shrink: 0;
}
.rt-co-modal-notes-wrap label {
    display: block; font-size: 12px; font-weight: 600; color: #6b7280; margin-bottom: 4px;
}
.rt-co-modal-notes-wrap textarea {
    width: 100%; padding: 7px 10px; border: 1px solid #ddd; border-radius: 6px;
    font-size: 12px; line-height: 1.4; resize: vertical; font-family: inherit;
    background: #fff; max-height: 80px;
}
.rt-co-modal-notes-wrap textarea[readonly] {
    background: #f0f0f0; cursor: default;
}
.rt-co-modal-notes-actions {
    display: flex; align-items: center; gap: 10px;
    margin-top: 5px; flex-wrap: wrap;
}
.rt-co-modal-notes-actions .rt-btn {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 12px; padding: 5px 12px;
}
.rt-co-modal-notes-feedback { font-size: 11px; color: #6b7280; }
.rt-co-modal-notes-feedback--ok  { color: #16a34a; font-weight: 600; }
.rt-co-modal-notes-feedback--err { color: #dc2626; font-weight: 600; }

/* ── Notes History Panel ── */
.rt-notes-history {
    margin-top: 8px;
    background: #f8faff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    max-height: 200px;
    overflow-y: auto;
}
.rt-notes-history__empty {
    font-size: 12px; color: #9ca3af; text-align: center;
    padding: 14px; margin: 0;
}
.rt-notes-history__list {
    list-style: none; margin: 0; padding: 0;
}
.rt-notes-history__item {
    padding: 10px 14px;
    border-bottom: 1px solid #edf0f7;
    position: relative;
}
.rt-notes-history__item:last-child { border-bottom: none; }
.rt-notes-history__dt {
    display: inline-block;
    font-size: 10px; font-weight: 700;
    color: #fff; background: var(--rt-navy, #1a3c5e);
    padding: 2px 8px; border-radius: 20px;
    margin-bottom: 5px;
}
.rt-notes-history__text {
    font-size: 12px; color: #374151;
    margin: 0; line-height: 1.5; white-space: pre-wrap;
}

/* Active state for ghost buttons */
.rt-btn--active {
    background: var(--rt-navy, #1a3c5e) !important;
    color: #fff !important;
}

/* ── Apply Confirmation Modal ── */
.rt-modal__content.rt-apply-confirm {
    max-width: 440px;
    padding: 2.25rem 2rem 2rem;
    text-align: center;
}
.rt-apply-confirm__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.25rem;
    background: rgba(0, 62, 121, 0.08);
    color: var(--rt-navy, #1a3c5e);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rt-apply-confirm__icon .material-icons-outlined {
    font-size: 32px;
}
.rt-apply-confirm__subtitle {
    font-size: 14px;
    color: var(--rt-gray-500, #6b7280);
    line-height: 1.5;
    margin: 0 0 1.5rem;
}
.rt-apply-confirm__details {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    text-align: left;
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.rt-apply-confirm__row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}
.rt-apply-confirm__row .material-icons-outlined {
    color: var(--rt-navy, #1a3c5e);
    font-size: 20px;
    margin-top: 2px;
}
.rt-apply-confirm__row div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.rt-apply-confirm__row strong {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
}
.rt-apply-confirm__row span {
    font-size: 14px;
    color: var(--rt-navy, #1a3c5e);
    font-weight: 500;
}
.rt-apply-confirm__row small {
    font-size: 12px;
    color: #9ca3af;
    margin-top: 1px;
}
.rt-apply-confirm__check {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    text-align: left;
    padding: 0.75rem 0.5rem;
    background: transparent;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
    font-size: 13.5px;
    color: var(--rt-navy, #1a3c5e);
    line-height: 1.4;
    margin-bottom: 1.5rem;
}
.rt-apply-confirm__check:hover {
    background: #f9fafb;
}
.rt-apply-confirm__check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1.5px solid #d1d5db;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: var(--rt-navy, #1a3c5e);
}
.rt-apply-confirm .rt-modal__actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.5rem;
}
.rt-apply-confirm .rt-modal__actions .rt-btn {
    flex: 1;
    justify-content: center;
}

.rt-co-modal-status-badge {
    margin-top: 6px; text-align: center;
}

/* ── Modal footer — botões compactos ── */
.rt-co-modal-footer {
    padding: 10px 24px;
    border-top: 1px solid #eee;
    display: flex; justify-content: flex-end; gap: 8px; align-items: center;
    background: #fff; border-radius: 0 0 12px 12px; flex-wrap: wrap;
    flex-shrink: 0;
}
.rt-co-modal-footer .rt-btn {
    white-space: nowrap;
    font-size: 12px;
    padding: 6px 14px;
}

/* ── Reject confirmation popup ── */
.rt-popup-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,.5); z-index: 10001;
    display: flex; align-items: center; justify-content: center;
}
.rt-popup {
    background: #fff; border-radius: 12px; padding: 30px;
    max-width: 460px; width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,.2);
    text-align: center;
}
.rt-popup h3 {
    margin: 0 0 12px; font-size: 18px; font-weight: 700; color: #1a1a2e;
}
.rt-popup p {
    margin: 0 0 24px; font-size: 14px; color: #555; line-height: 1.5;
}
.rt-popup-actions {
    display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
}
.rt-co-btn-whatsapp {
    background: #25D366; border: none; color: #fff; padding: 12px 30px;
    border-radius: var(--rt-radius); font-weight: 700; cursor: pointer;
    display: flex; align-items: center; gap: 8px; text-decoration: none;
    box-shadow: 0 4px 10px rgba(37,211,102,.3);
}
.rt-co-btn-whatsapp:hover { background: #128C7E; color: #fff; }

/* ══════════════════════════════════════════════════════════
   Company Applications Page (.rt-ca)
══════════════════════════════════════════════════════════ */
.rt-ca { max-width: 1600px; margin: 0 auto; padding: 30px 20px; }

.rt-ca-header {
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 24px; flex-wrap: wrap; gap: 12px;
}
.rt-ca-title { font-size: 24px; font-weight: 800; color: #1a1a2e; margin: 0; }
.rt-ca-subtitle { font-size: 14px; color: #666; margin: 4px 0 0; }

.rt-ca-filters-bar {
    margin-bottom: 24px;
    display: flex; flex-direction: column; gap: 12px;
}
.rt-ca-filter {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px;
    background: #f8f9fa; border-radius: var(--rt-radius); border: 1px solid #e9ecef;
}
.rt-ca-filter label { font-size: 14px; font-weight: 600; color: #333; white-space: nowrap; }
.rt-ca-filter select {
    padding: 8px 12px; border: 1px solid #ddd; border-radius: 6px;
    font-size: 14px; min-width: 200px; max-width: 100%; background: #fff;
}

/* Status filter pills */
.rt-ca-status-filter {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 16px;
    background: #f8f9fa; border-radius: var(--rt-radius); border: 1px solid #e9ecef;
    flex-wrap: wrap;
}
.rt-ca-status-filter__label {
    font-size: 13px; font-weight: 600; color: #555; white-space: nowrap; margin-right: 4px;
}
.rt-ca-status-pill {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 5px 12px; border-radius: 20px;
    font-size: 12px; font-weight: 600;
    border: 1.5px solid #d0d5dd; background: #fff; color: #555;
    cursor: pointer; transition: all .2s; white-space: nowrap;
}
.rt-ca-status-pill:hover { border-color: #999; }
.rt-ca-status-pill--active { border-color: #333 !important; background: #333 !important; color: #fff !important; }
.rt-ca-status-pill--info { border-color: #3b82f6; color: #3b82f6; }
.rt-ca-status-pill--primary { border-color: #6366f1; color: #6366f1; }
.rt-ca-status-pill--warning { border-color: #f59e0b; color: #b45309; }
.rt-ca-status-pill--success { border-color: #22c55e; color: #15803d; }
.rt-ca-status-pill--danger { border-color: #ef4444; color: #dc2626; }
.rt-ca-status-pill--muted { border-color: #9ca3af; color: #6b7280; }
.rt-ca-status-pill--purple { border-color: #8b5cf6; color: #6d28d9; }
.rt-ca-status-pill__count {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 5px;
    border-radius: 10px; background: rgba(0,0,0,.08);
    font-size: 11px; font-weight: 700; line-height: 1;
}
.rt-ca-status-pill--active .rt-ca-status-pill__count {
    background: rgba(255,255,255,.25); color: #fff;
}

.rt-ca-empty { text-align: center; padding: 60px 20px; color: #999; }
.rt-ca-empty p { margin-top: 10px; font-size: 16px; }

/* Job Section */
.rt-ca-job-section {
    margin-bottom: 32px; background: #fff;
    border: 1px solid #e9ecef; border-radius: 12px;
    overflow: visible; box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.rt-ca-job-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px 24px; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    color: #fff; flex-wrap: wrap; gap: 10px;
}
.rt-ca-job-title { font-size: 18px; font-weight: 700; margin: 0; color: #fff; }
.rt-ca-job-meta { display: flex; gap: 16px; margin-top: 6px; font-size: 13px; color: rgba(255,255,255,.8); flex-wrap: wrap; align-items: center; }
.rt-ca-job-meta .rt-badge { font-size: 11px; }
.rt-ca-job-location { display: inline-flex; align-items: center; gap: 3px; color: rgba(255,255,255,.75); font-size: 13px; }
.rt-ca-job-count {
    font-size: 14px; font-weight: 700; color: #ff8601;
    background: rgba(255,134,1,.15); padding: 6px 14px; border-radius: 20px;
    white-space: nowrap;
}

/* Candidate Cards Grid */
.rt-ca-candidates-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px; padding: 20px 24px;
}

.rt-ca-cand-card {
    background: #fff; border: 1px solid #e9ecef; border-radius: 10px;
    padding: 18px; transition: box-shadow .2s, border-color .2s;
}
.rt-ca-cand-card:hover { border-color: #ff8601; box-shadow: 0 4px 16px rgba(255,134,1,.12); }

.rt-ca-cand-top { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; position: relative; flex-wrap: wrap; }
.rt-ca-status-badge { flex-shrink: 0; font-size: 11px; }
.rt-ca-cand-avatar--img {
    width: 46px; height: 46px; border-radius: 50%;
    object-fit: cover; flex-shrink: 0;
}
.rt-ca-cand-avatar {
    width: 46px; height: 46px; border-radius: 50%;
    background: linear-gradient(135deg, #ff8601, #e67300);
    color: #fff; font-weight: 800; font-size: 16px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.rt-ca-cand-brief { min-width: 0; flex: 1 1 0%; }
.rt-ca-cand-name { font-size: 15px; font-weight: 700; color: #1a1a2e; margin: 0; white-space: normal; word-break: break-word; line-height: 1.3; }
.rt-ca-cand-role { font-size: 13px; color: #666; white-space: normal; word-break: break-word; line-height: 1.3; }
.rt-ca-cand-badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 10px; }

.rt-ca-cand-details { font-size: 13px; color: #555; margin-bottom: 14px; }
.rt-ca-cand-details p { margin: 4px 0; display: flex; align-items: center; gap: 5px; }

.rt-ca-cand-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* ── Card-level status action buttons ── */
.rt-ca-cand-status-actions {
    display: flex; gap: 6px; margin-top: 10px;
    padding-top: 10px; border-top: 1px solid #f0f0f0;
    flex-wrap: wrap;
}
.rt-ca-action-btn {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 3px;
    padding: 4px 7px; font-size: 11px; font-weight: 600; cursor: pointer;
    border: 1px solid transparent; border-radius: 5px;
    transition: all .2s; white-space: nowrap;
}
.rt-ca-action-btn .material-icons-outlined { font-size: 13px; }
.rt-ca-action-btn:disabled { opacity: .5; cursor: not-allowed; }

.rt-ca-action-btn--call {
    background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7;
}
.rt-ca-action-btn--call:hover:not(:disabled) { background: #2e7d32; color: #fff; }

.rt-ca-action-btn--reject {
    background: #fce4ec; color: #c62828; border-color: #ef9a9a;
}
.rt-ca-action-btn--reject:hover:not(:disabled) { background: #c62828; color: #fff; }

.rt-ca-action-btn--hire {
    background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7;
}
.rt-ca-action-btn--hire:hover:not(:disabled) { background: #2e7d32; color: #fff; }

.rt-ca-action-btn--nothire {
    background: #f5f5f5; color: #616161; border-color: #e0e0e0;
}
.rt-ca-action-btn--nothire:hover:not(:disabled) { background: #616161; color: #fff; }

.rt-ca-action-btn--undo {
    background: #fff3e0; color: #e65100; border-color: #ffcc80;
}
.rt-ca-action-btn--undo:hover:not(:disabled) { background: #e65100; color: #fff; }

.rt-ca-action-btn--interview {
    background: #f3e8ff; color: #6d28d9; border-color: #d8b4fe;
}
.rt-ca-action-btn--interview:hover:not(:disabled) { background: #6d28d9; color: #fff; }

.rt-ca-btn-details {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 4px;
    padding: 5px 10px; font-size: 11px; font-weight: 600; cursor: pointer;
    background: #fff; color: #1a1a2e; border: 1px solid #1a1a2e;
    border-radius: 6px; transition: all .2s; text-decoration: none;
}
.rt-ca-btn-details:hover { background: #1a1a2e; color: #fff; }
.rt-ca-btn-details .material-icons-outlined { font-size: 13px; }

.rt-ca-btn-whatsapp {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 4px;
    padding: 5px 10px; font-size: 11px; font-weight: 600; cursor: pointer;
    background: #25D366; color: #fff; border: none;
    border-radius: 6px; transition: all .2s; text-decoration: none;
}
.rt-ca-btn-whatsapp:hover { background: #128C7E; color: #fff; }
.rt-ca-btn-whatsapp .material-icons-outlined { font-size: 13px; }

/* ── Responsividade Company Dashboard ── */
@media (max-width: 900px) {
    .rt-co-stats { grid-template-columns: 1fr 1fr; }
    .rt-co-filters-grid { grid-template-columns: 1fr 1fr; margin: 0 10px; }
    .rt-co-btn-search { max-width: none; }
}
@media (max-width: 600px) {
    .rt-co-stats { grid-template-columns: 1fr; }
    .rt-co-filters-grid { grid-template-columns: 1fr; }
    .rt-co-candidates-grid { grid-template-columns: 1fr; gap: 20px; }
    .rt-co-page-header { flex-direction: column; align-items: flex-start; padding: 0 15px; }
    .rt-co-page-title { font-size: 20px; }
    .rt-co-candidates-section { padding: 25px 12px; }
    .rt-co-cand-card { padding: 20px 15px; }
    .rt-co-cand-avatar { width: 65px; height: 65px; font-size: 20px; }
    .rt-co-cand-name { font-size: 16px; }
    .rt-co-cand-role-chip { font-size: 10px; padding: 2px 8px; }
    .rt-co-btn-view { font-size: 12px; padding: 9px 12px; }
    .rt-co-modal-profile-header { flex-direction: row; align-items: center; gap: 10px; }
    .rt-co-modal-container { width: 100%; max-height: 100vh; border-radius: 0; max-width: 100%; }
    .rt-co-modal-header { padding: 12px 14px; }
    .rt-co-modal-body { padding: 12px 14px; }
    .rt-co-modal-footer { padding: 10px 14px; flex-wrap: wrap; gap: 6px; }
    .rt-co-modal-footer .rt-btn { flex: 1 1 auto; text-align: center; font-size: 12px; padding: 8px 10px; min-width: 0; }
    .rt-co-profile-grid { grid-template-columns: 1fr; gap: 10px; margin-bottom: 16px; }
    .rt-co-info-block { padding: 10px 12px; }
    .rt-co-info-block label { font-size: 11px; margin-bottom: 4px; }
    .rt-co-info-block span { font-size: 14px; }
    .rt-co-modal-avatar { width: 40px; height: 40px; min-width: 40px; font-size: 14px; flex-shrink: 0; }
    .rt-co-modal-name { font-size: 16px; }
    .rt-co-modal-subtitle { font-size: 12px; }
    .rt-co-section-header { font-size: 14px; margin: 12px 0 8px; padding-left: 8px; }
    .rt-co-exp-item { padding: 10px; margin-bottom: 8px; }
    .rt-co-exp-role { font-size: 13px; }
    .rt-co-exp-company { font-size: 11px; }
    .rt-co-exp-desc { font-size: 12px; margin-top: 4px; }
    .rt-co-modal-status-section { padding: 10px 14px; }
    .rt-co-modal-notes-wrap textarea { font-size: 12px; padding: 8px; max-height: 50px; }
    .rt-co-modal-status-badge { margin-top: 8px; }
}
@media (max-width: 400px) {
    .rt-co-stats { padding: 20px 10px; gap: 12px; }
    .rt-co-stat-card { padding: 18px 12px; }
    .rt-co-stat-number { font-size: 1.6rem; }
    .rt-co-filters-grid { margin: 0 10px; padding: 15px; }
    .rt-co-candidates-section { padding: 20px 8px; }
    .rt-co-cand-card { padding: 16px 12px; }
    .rt-co-modal-header { padding: 10px 12px; }
    .rt-co-modal-body { padding: 10px 12px; }
    .rt-co-modal-footer { padding: 8px 12px; gap: 5px; }
    .rt-co-modal-footer .rt-btn { font-size: 11px; padding: 7px 8px; }
    .rt-co-profile-grid { gap: 8px; margin-bottom: 12px; }
    .rt-co-info-block { padding: 8px 10px; }
    .rt-co-info-block span { font-size: 13px; }
    .rt-co-section-header { font-size: 13px; margin: 10px 0 6px; }
    .rt-co-exp-item { padding: 8px; margin-bottom: 6px; }
    .rt-co-modal-status-section { padding: 8px 12px; }
}

/* ── Responsividade Company Applications ── */
@media (max-width: 768px) {
    .rt-ca { padding: 20px 12px; }
    .rt-ca-header { flex-direction: column; }
    .rt-ca-filter { flex-direction: column; align-items: stretch; }
    .rt-ca-filter select { min-width: 0; width: 100%; }
    .rt-ca-status-filter { gap: 6px; padding: 8px 10px; }
    .rt-ca-status-filter__label { width: 100%; margin-bottom: 2px; }
    .rt-ca-status-pill { padding: 4px 8px; font-size: 11px; }
    .rt-ca-status-pill__count { min-width: 18px; height: 18px; font-size: 10px; }
    .rt-ca-job-header { flex-direction: column; align-items: flex-start; padding: 16px; }
    .rt-ca-job-title { font-size: 16px; }
    .rt-ca-job-meta { font-size: 12px; gap: 8px; }
    .rt-ca-candidates-grid { grid-template-columns: 1fr; padding: 12px; }
    .rt-ca-cand-card { padding: 14px; }
    .rt-ca-cand-top { gap: 8px; }
    .rt-ca-cand-brief { flex: 1 1 calc(100% - 60px); }
    .rt-ca-cand-actions { flex-direction: column; }
    .rt-ca-cand-status-actions { flex-direction: column; }
    .rt-ca-action-btn { flex: 1 1 100%; justify-content: center; }
    .rt-ca-btn-details, .rt-ca-btn-whatsapp { flex: 1 1 100%; justify-content: center; }
}
@media (max-width: 400px) {
    .rt-ca { padding: 15px 8px; }
    .rt-ca-candidates-grid { padding: 10px 8px; gap: 10px; }
    .rt-ca-cand-card { padding: 12px; }
    .rt-ca-cand-avatar { width: 38px; height: 38px; font-size: 14px; }
    .rt-ca-cand-name { font-size: 14px; }
    .rt-ca-action-btn { padding: 8px 6px; font-size: 12px; }
}

/* ══════════════════════════════════════════════════════════
   AVATAR WIDGET (shortcode reutilizável)
══════════════════════════════════════════════════════════ */
.rt-avatar-widget {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
}
.rt-avatar-widget__dots {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    color: #ff8601;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, color .2s;
}
.rt-avatar-widget__dots:hover {
    background: rgba(255,134,1,.12);
    color: #e67800;
}
.rt-avatar-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: #fff;
    border: 1px solid var(--rt-gray-200, #e5e7eb);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    min-width: 170px;
    z-index: 1000;
    padding: 6px 0;
    animation: rtDropFade .15s ease;
}
@keyframes rtDropFade {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
.rt-avatar-dropdown.open { display: block; }
.rt-avatar-dropdown__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--rt-gray-700, #374151);
    text-decoration: none;
    transition: background .15s;
}
.rt-avatar-dropdown__item:hover {
    background: var(--rt-gray-50, #f9fafb);
}
.rt-avatar-dropdown__item--danger {
    color: #003e79;
}
.rt-avatar-dropdown__item--danger:hover {
    background: #e8f0f8;
}
.rt-avatar-widget__img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rt-primary, #ff8601);
}
.rt-avatar-widget__initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rt-primary, #ff8601);
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    line-height: 1;
}
.rt-avatar-widget__name {
    font-size: 14px;
    font-weight: 600;
    color: #F7F7F7;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════
   PROFILE VIEW PAGES
══════════════════════════════════════════════════════════ */
.rt-profile {
    max-width: 900px;
    margin: 0 auto;
    padding: 32px 20px;
}
.rt-profile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--rt-gray-200, #e5e7eb);
}
.rt-profile-header__left {
    display: flex;
    align-items: center;
    gap: 16px;
}
.rt-profile-avatar--lg {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.rt-profile-avatar--initials {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rt-primary, #ff8601);
    color: #fff;
    font-weight: 700;
    font-size: 24px;
}
.rt-profile-avatar--company {
    background: linear-gradient(135deg, #1e3a5f, #2563eb);
}

/* ── Photo Upload Widget ─────────────────────────── */
.rt-photo-upload {
    display: flex;
    align-items: center;
    gap: 14px;
}
.rt-photo-preview {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--rt-gray-100, #f3f4f6);
    border: 2px dashed var(--rt-gray-300, #d1d5db);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    color: var(--rt-gray-400, #9ca3af);
    transition: border-color .2s;
}
.rt-photo-preview .material-icons-outlined {
    font-size: 28px;
}
.rt-photo-preview__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.rt-photo-preview--loading {
    opacity: .5;
    pointer-events: none;
    position: relative;
}
.rt-photo-preview--loading::after {
    content: '';
    position: absolute;
    width: 24px; height: 24px;
    border: 3px solid var(--rt-primary, #ff8601);
    border-top-color: transparent;
    border-radius: 50%;
    animation: rt-spin .7s linear infinite;
}
@keyframes rt-spin {
    to { transform: rotate(360deg); }
}
.rt-profile-name {
    font-size: 22px;
    font-weight: 700;
    margin: 0;
    color: var(--rt-gray-800, #1f2937);
}
.rt-profile-role {
    font-size: 14px;
    color: var(--rt-primary, #ff8601);
    margin: 2px 0 0;
    font-weight: 600;
}
.rt-profile-location {
    font-size: 13px;
    color: var(--rt-gray-500, #6b7280);
    margin: 2px 0 0;
}
.rt-profile-section {
    background: #fff;
    border: 1px solid var(--rt-gray-200, #e5e7eb);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}
.rt-profile-section__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--rt-gray-800, #1f2937);
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.rt-profile-section__title .material-icons-outlined {
    font-size: 20px;
    color: var(--rt-primary, #ff8601);
}
.rt-profile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.rt-profile-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.rt-profile-field--full {
    grid-column: 1 / -1;
}
.rt-profile-field__label {
    font-size: 12px;
    font-weight: 600;
    color: var(--rt-gray-500, #6b7280);
    text-transform: uppercase;
    letter-spacing: .5px;
}
.rt-profile-field__value {
    font-size: 14px;
    color: var(--rt-gray-800, #1f2937);
}
.rt-profile-subsection {
    font-size: 14px;
    font-weight: 600;
    color: var(--rt-gray-700, #374151);
    margin: 20px 0 12px;
    padding-top: 16px;
    border-top: 1px solid var(--rt-gray-100, #f3f4f6);
}
.rt-profile-exp {
    padding: 12px 16px;
    background: var(--rt-gray-50, #f9fafb);
    border-radius: 8px;
    margin-bottom: 10px;
}
.rt-profile-exp__header {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.rt-profile-exp__company {
    font-size: 13px;
    color: var(--rt-gray-500, #6b7280);
}
.rt-profile-exp__period {
    font-size: 12px;
    color: var(--rt-gray-400, #9ca3af);
    display: block;
    margin-top: 2px;
}
.rt-profile-exp__desc {
    font-size: 13px;
    color: var(--rt-gray-600, #4b5563);
    margin: 6px 0 0;
    line-height: 1.5;
}

/* Disabled field style for edit forms */
.rt-field--disabled {
    background: var(--rt-gray-100, #f3f4f6) !important;
    color: var(--rt-gray-500, #6b7280) !important;
    cursor: not-allowed;
}

/* ── Responsividade Profile ── */
@media (max-width: 768px) {
    .rt-profile { padding: 20px 12px; }
    .rt-profile-header { flex-direction: column; align-items: flex-start; gap: 12px; }
    .rt-profile-grid { grid-template-columns: 1fr; }
    .rt-profile-avatar--lg { width: 56px; height: 56px; font-size: 18px; }
    .rt-profile-name { font-size: 18px; }
    .rt-avatar-widget__name { display: none; }
}
@media (max-width: 400px) {
    .rt-profile { padding: 15px 8px; }
    .rt-profile-header { padding-bottom: 16px; }
    .rt-profile-section-title { font-size: 16px; }
}

/* ══════════════════════════════════════════════════════════
   Elementor Override — force brand palette on all plugin buttons
   Brand: #ff8601 (orange), #003e79 (navy), #F7F7F7, #000
   ══════════════════════════════════════════════════════════ */
.rt-btn,
.rt-btn--primary,
.rt-btn--outline,
.rt-btn--danger,
.rt-btn--navy,
.rt-btn--success,
.rt-cd-btn-details,
.rt-cd-btn-apply,
.rt-cd-btn-applied,
.rt-cd-btn-my-apps,
.rt-cd-btn-apply-filters,
.rt-cd-btn-load-more,
.rt-cd-btn-cancel,
.rt-cd-btn-confirm,
.rt-ca-btn-details,
.rt-ca-btn-whatsapp,
.rt-co-btn-search,
.rt-co-btn-clear {
    background-color: unset;
}

button.rt-btn--primary,
a.rt-btn--primary,
.rt-btn--primary {
    background: var(--rt-orange) !important;
    color: var(--rt-white) !important;
    border-color: var(--rt-orange) !important;
}
button.rt-btn--primary:hover,
a.rt-btn--primary:hover,
.rt-btn--primary:hover {
    background: var(--rt-orange-hover) !important;
    border-color: var(--rt-orange-hover) !important;
    color: var(--rt-white) !important;
}

button.rt-btn--outline,
a.rt-btn--outline,
.rt-btn--outline {
    background: transparent !important;
    color: var(--rt-navy) !important;
    border-color: var(--rt-navy) !important;
}
button.rt-btn--outline:hover,
a.rt-btn--outline:hover,
.rt-btn--outline:hover {
    background: var(--rt-navy) !important;
    color: var(--rt-white) !important;
}

button.rt-btn--danger,
a.rt-btn--danger,
.rt-btn--danger {
    background: var(--rt-navy) !important;
    color: var(--rt-white) !important;
    border-color: var(--rt-navy) !important;
}
button.rt-btn--danger:hover,
a.rt-btn--danger:hover,
.rt-btn--danger:hover {
    background: var(--rt-navy-hover) !important;
    border-color: var(--rt-navy-hover) !important;
    color: var(--rt-white) !important;
}

button.rt-btn--navy,
a.rt-btn--navy,
.rt-btn--navy {
    background: var(--rt-navy) !important;
    color: var(--rt-white) !important;
    border-color: var(--rt-navy) !important;
}
button.rt-btn--navy:hover,
a.rt-btn--navy:hover,
.rt-btn--navy:hover {
    background: var(--rt-navy-hover) !important;
    border-color: var(--rt-navy-hover) !important;
    color: var(--rt-white) !important;
}

button.rt-cd-btn-details,
a.rt-cd-btn-details,
.rt-cd-btn-details {
    background: var(--rt-white) !important;
    color: var(--rt-navy) !important;
    border-color: var(--rt-navy) !important;
}
button.rt-cd-btn-details:hover,
a.rt-cd-btn-details:hover,
.rt-cd-btn-details:hover {
    background: #f0f4f8 !important;
    color: var(--rt-navy) !important;
}

button.rt-cd-btn-apply,
a.rt-cd-btn-apply,
.rt-cd-btn-apply {
    background: var(--rt-orange) !important;
    color: var(--rt-white) !important;
    border-color: var(--rt-orange) !important;
}
button.rt-cd-btn-apply:hover,
a.rt-cd-btn-apply:hover,
.rt-cd-btn-apply:hover {
    background: var(--rt-orange-hover) !important;
    border-color: var(--rt-orange-hover) !important;
}

button.rt-ca-btn-details,
a.rt-ca-btn-details,
.rt-ca-btn-details {
    background: #fff !important;
    color: #1a1a2e !important;
    border: 1.5px solid #1a1a2e !important;
}
button.rt-ca-btn-details:hover,
a.rt-ca-btn-details:hover,
.rt-ca-btn-details:hover {
    background: #1a1a2e !important;
    color: #fff !important;
}

button.rt-ca-btn-whatsapp,
a.rt-ca-btn-whatsapp,
.rt-ca-btn-whatsapp {
    background: #25D366 !important;
    color: #fff !important;
    border: none !important;
}
button.rt-ca-btn-whatsapp:hover,
a.rt-ca-btn-whatsapp:hover,
.rt-ca-btn-whatsapp:hover {
    background: #128C7E !important;
    color: #fff !important;
}

button.rt-cd-btn-my-apps,
a.rt-cd-btn-my-apps,
.rt-cd-btn-my-apps {
    background-color: var(--rt-white) !important;
    color: var(--rt-navy) !important;
    border-color: var(--rt-navy) !important;
}
button.rt-cd-btn-my-apps:hover,
a.rt-cd-btn-my-apps:hover,
.rt-cd-btn-my-apps:hover {
    background-color: var(--rt-navy) !important;
    color: var(--rt-white) !important;
}

button.rt-cd-btn-apply-filters,
.rt-cd-btn-apply-filters {
    background-color: var(--rt-navy) !important;
    color: var(--rt-white) !important;
}
button.rt-cd-btn-apply-filters:hover,
.rt-cd-btn-apply-filters:hover {
    background-color: #002a52 !important;
}

button.rt-co-btn-search,
.rt-co-btn-search {
    background-color: var(--rt-navy) !important;
    color: #fff !important;
}

button.rt-cd-btn-confirm,
.rt-cd-btn-confirm {
    background: var(--rt-orange) !important;
    color: var(--rt-white) !important;
}
button.rt-cd-btn-confirm:hover,
.rt-cd-btn-confirm:hover {
    background: var(--rt-orange-hover) !important;
}

/* ── Header & Global Elementor Override ── */
.rt-header,
.rt-header * {
    border-color: transparent !important;
}
.rt-header a,
.rt-header a:link,
.rt-header a:visited,
.rt-header__link,
.rt-header__link:link,
.rt-header__link:visited {
    color: rgba(255,255,255,.85) !important;
    border-color: transparent !important;
}
.rt-header a:hover,
.rt-header a:focus,
.rt-header__link:hover,
.rt-header__link:focus,
.rt-header__link.active {
    color: #fff !important;
    border-color: transparent !important;
}
.rt-header .material-icons,
.rt-header .material-icons-outlined,
.rt-header span.material-icons,
.rt-header span.material-icons-outlined {
    color: #ff8601 !important;
}
.rt-header button,
.rt-header button:hover,
.rt-header button:focus,
.rt-header .rt-header__toggle,
.rt-header .rt-header__toggle:hover {
    color: #fff !important;
    border-color: transparent !important;
    background-color: transparent !important;
}
.rt-header .rt-header__logo,
.rt-header .rt-header__logo:hover {
    border-color: transparent !important;
}
.rt-avatar-widget__name {
    color: #F7F7F7 !important;
}
.rt-avatar-widget__dots,
.rt-avatar-widget__dots:link,
.rt-avatar-widget__dots:visited {
    color: #ff8601 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 4px !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 1 !important;
}
.rt-avatar-widget__dots:hover,
.rt-avatar-widget__dots:focus {
    color: #e67800 !important;
    background: rgba(255,134,1,.12) !important;
    border-color: transparent !important;
}
.rt-avatar-dropdown__item,
.rt-avatar-dropdown__item:link,
.rt-avatar-dropdown__item:visited {
    color: var(--rt-gray-700, #374151) !important;
    border-color: transparent !important;
}
.rt-avatar-dropdown__item:hover {
    background: var(--rt-gray-50, #f9fafb) !important;
    color: var(--rt-gray-800, #1f2937) !important;
}
.rt-avatar-dropdown__item--danger,
.rt-avatar-dropdown__item--danger:link,
.rt-avatar-dropdown__item--danger:visited {
    color: #003e79 !important;
}
.rt-avatar-dropdown__item--danger:hover {
    background: #e8f0f8 !important;
    color: #003e79 !important;
}

/* Force brand colors on ALL plugin links & buttons (anti-Elementor) */
[class*="rt-"] a:hover,
[class*="rt-"] button:hover {
    border-color: inherit !important;
}

/* ── Terms Acceptance ────────────────────────────────── */
.rt-terms-accept {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--rt-gray-200);
}
.rt-terms-accept .rt-field {
    margin-bottom: .5rem;
}
.rt-terms-accept .rt-checkbox {
    font-size: .875rem;
}
.rt-terms-link {
    color: var(--rt-navy) !important;
    text-decoration: underline !important;
    font-weight: 600;
}
.rt-terms-link:hover {
    color: var(--rt-orange) !important;
}

/* ── Terms Modal ─────────────────────────────────────── */
.rt-terms-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.rt-terms-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
}
.rt-terms-modal__content {
    position: relative;
    background: var(--rt-white);
    border-radius: 10px;
    width: 100%;
    max-width: 720px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}
.rt-terms-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--rt-gray-200);
    flex-shrink: 0;
}
.rt-terms-modal__header h2 {
    margin: 0;
    font-size: 1.15rem;
    color: var(--rt-navy);
}
.rt-terms-modal__close {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rt-gray-500);
    padding: 4px;
    border-radius: 4px;
    line-height: 1;
}
.rt-terms-modal__close:hover {
    background: var(--rt-gray-100);
    color: var(--rt-black);
}
.rt-terms-modal__body {
    overflow-y: auto;
    padding: 1.5rem;
    flex: 1;
    font-size: .9rem;
    line-height: 1.7;
    color: var(--rt-gray-600);
}
.rt-terms-modal__body h3 {
    color: var(--rt-navy);
    margin: 0 0 .75rem;
    font-size: 1.05rem;
}
.rt-terms-modal__body h4 {
    color: var(--rt-navy);
    margin: 1.25rem 0 .5rem;
    font-size: .95rem;
}
.rt-terms-modal__body p {
    margin: 0 0 .75rem;
}
.rt-terms-modal__body ul {
    margin: 0 0 .75rem;
    padding-left: 1.5rem;
}
.rt-terms-modal__body li {
    margin-bottom: .35rem;
}
.rt-terms-modal__footer {
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--rt-gray-200);
    text-align: right;
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .rt-terms-modal__content {
        max-height: 92vh;
    }
    .rt-terms-modal__body {
        padding: 1rem;
    }
}

/* ── Legal Pages ─────────────────────────────────────── */
.rt-legal-page {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem 1rem;
}
.rt-legal-page__content {
    background: var(--rt-white);
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.rt-legal-page h2 {
    color: var(--rt-navy);
    margin: 0 0 1.5rem;
    font-size: 1.5rem;
    line-height: 1.3;
}
.rt-legal-page h3 {
    color: var(--rt-navy);
    margin: 2rem 0 1rem;
    font-size: 1.15rem;
}
.rt-legal-page p {
    margin: 0 0 1rem;
    line-height: 1.7;
    color: var(--rt-gray-600);
}
.rt-legal-page ul {
    margin: 0 0 1rem;
    padding-left: 1.5rem;
}
.rt-legal-page li {
    margin-bottom: .5rem;
    line-height: 1.6;
    color: var(--rt-gray-600);
}
.rt-legal-page strong {
    color: var(--rt-gray-800);
    font-weight: 600;
}
.rt-legal-page__note {
    background: var(--rt-navy-light);
    padding: 1rem;
    border-radius: 4px;
    margin-top: 2rem;
    font-weight: 500;
    color: var(--rt-navy);
}
@media (max-width: 768px) {
    .rt-legal-page {
        padding: 1rem .5rem;
    }
    .rt-legal-page__content {
        padding: 1.5rem;
    }
    .rt-legal-page h2 {
        font-size: 1.3rem;
    }
    .rt-legal-page h3 {
        font-size: 1.05rem;
    }
}

/* ══════════════════════════════════════════════════════════
   SEARCHABLE CITY SELECT — Autocomplete Component
   ══════════════════════════════════════════════════════════ */
.rt-city-search-wrap {
    position: relative;
    width: 100%;
}

.rt-city-search-input {
    width: 100%;
    padding: .5rem .75rem;
    border: 1px solid var(--rt-gray-300);
    border-radius: var(--rt-radius);
    font-size: 14px;
    font-family: var(--rt-font-body);
    color: var(--rt-black);
    background-color: var(--rt-white);
    transition: border-color var(--rt-transition), box-shadow var(--rt-transition);
    box-sizing: border-box;
}
.rt-city-search-input:focus {
    outline: none;
    border-color: var(--rt-navy);
    box-shadow: 0 0 0 3px var(--rt-navy-light);
}
.rt-city-search-input:disabled {
    background-color: var(--rt-gray-100);
    color: var(--rt-gray-400);
    cursor: not-allowed;
}
.rt-city-search-input::placeholder {
    color: var(--rt-gray-400);
    font-style: italic;
}

/* ── Dashboard filters override (candidate + company) ── */
.rt-cd-filter-item .rt-city-search-input,
.rt-co-filter-item .rt-city-search-input {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: var(--rt-radius);
    background-color: #f9f9f9;
    font-family: var(--rt-font-body);
    font-size: 14px;
}
.rt-cd-filter-item .rt-city-search-input:focus,
.rt-co-filter-item .rt-city-search-input:focus {
    border-color: var(--rt-navy);
    background-color: var(--rt-white);
    box-shadow: none;
}

/* ── Jobs list filters override ── */
.rt-filters .rt-city-search-input {
    padding: .5rem .75rem;
    border: 1px solid var(--rt-gray-300);
    border-radius: var(--rt-radius);
    font-size: 14px;
}

/* ── Dropdown list ── */
.rt-city-search-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9999;
    max-height: 220px;
    overflow-y: auto;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    background: var(--rt-white);
    border: 1px solid var(--rt-gray-300);
    border-radius: var(--rt-radius);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
}

.rt-city-search-item {
    padding: 8px 12px;
    font-size: 14px;
    color: var(--rt-black);
    cursor: pointer;
    transition: background-color .15s;
    border-bottom: 1px solid var(--rt-gray-100);
}
.rt-city-search-item:last-child {
    border-bottom: none;
}
.rt-city-search-item:hover,
.rt-city-search-item--active {
    background-color: var(--rt-navy-light);
    color: var(--rt-navy);
}
.rt-city-search-item strong {
    color: var(--rt-navy);
    font-weight: 700;
}
.rt-city-search-item--empty {
    color: var(--rt-gray-400);
    font-style: italic;
    cursor: default;
}
.rt-city-search-item--empty:hover {
    background-color: transparent;
    color: var(--rt-gray-400);
}
.rt-city-search-item--more {
    color: var(--rt-gray-500);
    font-size: 12px;
    font-style: italic;
    cursor: default;
    background-color: var(--rt-gray-100);
}
.rt-city-search-item--more:hover {
    background-color: var(--rt-gray-100);
    color: var(--rt-gray-500);
}

/* ── Scrollbar styling ── */
.rt-city-search-list::-webkit-scrollbar {
    width: 6px;
}
.rt-city-search-list::-webkit-scrollbar-track {
    background: var(--rt-gray-100);
    border-radius: 3px;
}
.rt-city-search-list::-webkit-scrollbar-thumb {
    background: var(--rt-gray-300);
    border-radius: 3px;
}
.rt-city-search-list::-webkit-scrollbar-thumb:hover {
    background: var(--rt-gray-400);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .rt-city-search-list {
        max-height: 180px;
    }
    .rt-city-search-item {
        padding: 10px 12px;
        font-size: 13px;
    }
}

/* ══════════════════════════════════════════════════════════
   PRICING PLANS PAGE (rt-plans)
   ══════════════════════════════════════════════════════════ */
.rt-plans {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
    font-family: var(--rt-font-body);
}

/* ── Header ── */
.rt-plans__header {
    text-align: center;
    margin-bottom: 50px;
}
.rt-plans__title {
    font-family: var(--rt-font-title);
    font-size: 32px;
    font-weight: 700;
    color: var(--rt-navy);
    margin: 0 0 12px;
}
.rt-plans__subtitle {
    font-size: 17px;
    color: var(--rt-navy);
    font-weight: 600;
    margin: 0;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Grid ── */
.rt-plans__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    align-items: start;
    margin-bottom: 40px;
}
.rt-plans__grid--4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: start;
}

/* ── Card ── */
.rt-plans__card {
    background: #fff;
    border: 2px solid var(--rt-gray-200);
    border-radius: 16px;
    padding: 35px 28px 30px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform .25s, box-shadow .25s;
}
.rt-plans__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 35px rgba(0,0,0,.1);
}

/* ── Featured Card ── */
.rt-plans__card--featured {
    border-color: var(--rt-orange);
    box-shadow: 0 8px 30px rgba(255,134,1,.15);
    z-index: 2;
}
.rt-plans__card--featured:hover {
    box-shadow: 0 16px 40px rgba(255,134,1,.2);
}
.rt-plans__badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--rt-orange), #ffaa40);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 20px;
    border-radius: 20px;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: .5px;
    box-shadow: 0 4px 12px rgba(255,134,1,.3);
}

/* ── Card Top ── */
.rt-plans__card-top {
    text-align: center;
    margin-bottom: 20px;
}
.rt-plans__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--rt-navy), #005a9e);
    color: #fff;
    margin-bottom: 12px;
}
.rt-plans__icon .material-icons-outlined {
    font-size: 26px;
}
.rt-plans__card--featured .rt-plans__icon {
    background: linear-gradient(135deg, var(--rt-orange), #ffaa40);
}
.rt-plans__plan-name {
    font-family: var(--rt-font-title);
    font-size: 24px;
    font-weight: 700;
    color: var(--rt-navy);
    margin: 0 0 8px;
}
.rt-plans__card--featured .rt-plans__plan-name {
    color: var(--rt-orange);
}
.rt-plans__plan-desc {
    font-size: 13px;
    color: var(--rt-gray-500);
    margin: 0;
    line-height: 1.5;
}

/* ── Price Block ── */
.rt-plans__price-block {
    text-align: center;
    padding: 20px 0;
    margin-bottom: 20px;
    border-top: 1px solid var(--rt-gray-200);
    border-bottom: 1px solid var(--rt-gray-200);
}
.rt-plans__price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    margin-bottom: 8px;
}
.rt-plans__currency {
    font-size: 18px;
    font-weight: 700;
    color: var(--rt-navy);
}
.rt-plans__amount {
    font-family: var(--rt-font-title);
    font-size: 52px;
    font-weight: 700;
    color: var(--rt-navy);
    line-height: 1;
}
.rt-plans__cents {
    font-size: 22px;
    font-weight: 700;
    color: var(--rt-navy);
    align-self: flex-start;
    margin-top: 8px;
}
.rt-plans__period {
    font-size: 14px;
    color: var(--rt-gray-500);
    margin-left: 4px;
}
.rt-plans__card--featured .rt-plans__currency,
.rt-plans__card--featured .rt-plans__amount,
.rt-plans__card--featured .rt-plans__cents {
    color: var(--rt-orange);
}
.rt-plans__extra-user {
    font-size: 13px;
    color: var(--rt-gray-500);
    margin-bottom: 6px;
}
.rt-plans__price-note {
    font-size: 13px;
    color: var(--rt-gray-500);
    margin-bottom: 4px;
}
.rt-plans__price-note strong {
    color: #16a34a;
}
.rt-plans__duration {
    font-size: 13px;
    color: var(--rt-gray-500);
}
.rt-plans__duration strong {
    color: var(--rt-navy);
}

/* ── Includes Label ── */
.rt-plans__includes-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rt-navy);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 12px;
}

/* ── Features ── */
.rt-plans__features {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.rt-plans__features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #333;
    line-height: 1.4;
}
.rt-plans__features li .material-icons-outlined {
    font-size: 18px;
    color: var(--rt-orange);
    flex-shrink: 0;
}
/* ── Disabled / not included feature ── */
.rt-plans__feature--disabled {
    opacity: .4;
    text-decoration: line-through;
}
.rt-plans__feature--disabled .material-icons-outlined {
    color: var(--rt-gray-300) !important;
}

/* ── Tip ── */
.rt-plans__tip {
    font-size: 13px;
    color: var(--rt-gray-500);
    font-style: italic;
    margin: 0 0 20px;
    padding: 10px 14px;
    background: var(--rt-gray-bg);
    border-radius: 8px;
    border-left: 3px solid var(--rt-orange);
}

/* ── Buttons ── */
.rt-plans__btn {
    display: block;
    text-align: center;
    padding: 14px 24px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .5px;
    cursor: pointer;
    transition: all .25s;
    border: 2px solid var(--rt-navy);
    background: #fff;
    color: var(--rt-navy);
    font-family: var(--rt-font-body);
    margin-top: auto;
}
.rt-plans__btn:hover {
    background: var(--rt-navy);
    color: #fff;
}
.rt-plans__btn--primary {
    background: linear-gradient(135deg, var(--rt-orange), #ffaa40);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 15px rgba(255,134,1,.3);
}
.rt-plans__btn--primary:hover {
    background: linear-gradient(135deg, #e67800, var(--rt-orange));
    box-shadow: 0 6px 20px rgba(255,134,1,.4);
    transform: translateY(-2px);
    color: #fff;
}

/* ── Premium Card (in grid) ── */
.rt-plans__card--premium {
    background: linear-gradient(160deg, var(--rt-navy) 0%, #005a9e 100%);
    color: #fff;
    border-color: var(--rt-navy);
}
.rt-plans__card--premium .rt-plans__plan-name { color: #fff; }
.rt-plans__card--premium .rt-plans__plan-desc { color: rgba(255,255,255,.75); }
.rt-plans__card--premium .rt-plans__price-block { border-color: rgba(255,255,255,.15); }
.rt-plans__card--premium .rt-plans__features li { color: rgba(255,255,255,.9); }
.rt-plans__card--premium .rt-plans__features li .material-icons-outlined { color: var(--rt-orange); }
.rt-plans__card--premium .rt-plans__tip { background: rgba(255,255,255,.1); color: rgba(255,255,255,.8); border-left-color: var(--rt-orange); }
.rt-plans__card--premium:hover { transform: translateY(-6px); box-shadow: 0 12px 35px rgba(0,62,121,.25); }
.rt-plans__icon--premium {
    background: linear-gradient(135deg, var(--rt-orange), #ffaa40) !important;
}
.rt-plans__price-block--custom {
    text-align: center;
    padding: 24px 0;
}
.rt-plans__custom-label {
    font-family: var(--rt-font-title);
    font-size: 32px;
    font-weight: 700;
    color: var(--rt-orange);
    display: block;
    margin-bottom: 6px;
}
.rt-plans__custom-desc {
    font-size: 13px;
    color: rgba(255,255,255,.7);
    margin: 0;
}

/* ── Premium Section ── */
.rt-plans__premium {
    background: linear-gradient(135deg, var(--rt-navy), #005a9e);
    border-radius: 16px;
    padding: 40px;
    display: flex;
    align-items: center;
    gap: 30px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.rt-plans__premium::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255,134,1,.15) 0%, transparent 70%);
    pointer-events: none;
}
.rt-plans__premium-icon {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    display: flex;
    align-items: center;
    justify-content: center;
}
.rt-plans__premium-icon .material-icons-outlined {
    font-size: 36px;
    color: var(--rt-orange);
}
.rt-plans__premium-content {
    flex: 1;
}
.rt-plans__premium-title {
    font-family: var(--rt-font-title);
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #fff;
}
.rt-plans__premium-desc {
    font-size: 15px;
    margin: 0 0 18px;
    color: rgba(255,255,255,.8);
    line-height: 1.7;
}
.rt-plans__premium-desc strong {
    color: #fff;
    font-weight: 700;
    font-size: 16px;
}
.rt-plans__premium-features {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 20px;
}
.rt-plans__premium-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255,255,255,.9);
}
.rt-plans__premium-features li .material-icons-outlined {
    font-size: 18px;
    color: var(--rt-orange);
}
.rt-plans__premium-callout {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255,255,255,.9);
    margin: 0;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    padding: 10px 16px;
}
.rt-plans__premium-callout strong {
    color: #fff;
    font-weight: 700;
}
.rt-plans__premium-callout .material-icons-outlined {
    font-size: 22px;
    color: var(--rt-orange);
    filter: drop-shadow(0 0 4px rgba(255,134,1,.5));
    flex-shrink: 0;
}
.rt-plans__btn--premium {
    flex-shrink: 0;
    background: var(--rt-orange);
    color: #fff;
    border: none;
    padding: 16px 28px;
    white-space: nowrap;
}
.rt-plans__btn--premium:hover {
    background: #e67800;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,134,1,.4);
}

/* ── Responsive Plans ── */
@media (max-width: 1200px) {
    .rt-plans__grid--4 { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .rt-plans__card--featured { transform: none; }
    .rt-plans__card--featured:hover { transform: translateY(-6px); }
}
@media (max-width: 1024px) {
    .rt-plans__grid { gap: 20px; }
    .rt-plans__card { padding: 28px 22px 26px; }
    .rt-plans__card--featured { transform: none; }
    .rt-plans__card--featured:hover { transform: translateY(-6px); }
    .rt-plans__amount { font-size: 44px; }
}
@media (max-width: 768px) {
    .rt-plans { padding: 40px 16px; }
    .rt-plans__title { font-size: 26px; }
    .rt-plans__grid, .rt-plans__grid--4 { grid-template-columns: 1fr; max-width: 450px; margin-left: auto; margin-right: auto; }
    .rt-plans__premium { flex-direction: column; text-align: center; padding: 30px 20px; }
    .rt-plans__premium-features { grid-template-columns: 1fr; justify-items: center; }
    .rt-plans__btn--premium { width: 100%; text-align: center; }
}
@media (max-width: 480px) {
    .rt-plans { padding: 30px 12px; }
    .rt-plans__title { font-size: 22px; }
    .rt-plans__card { padding: 24px 18px 22px; }
    .rt-plans__amount { font-size: 40px; }
    .rt-plans__plan-name { font-size: 20px; }
    .rt-plans__premium { padding: 24px 16px; }
    .rt-plans__premium-title { font-size: 22px; }
    .rt-plans__custom-label { font-size: 26px; }
}

/* ══════════════════════════════════════════════════════════
   LINK JOBS POPUP
══════════════════════════════════════════════════════════ */
.rt-link-jobs-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 10001;
    align-items: center;
    justify-content: center;
}
.rt-link-jobs-overlay.active { display: flex; }

.rt-link-jobs-container {
    background: #fff;
    border-radius: 12px;
    width: 90%;
    max-width: 520px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
}

.rt-link-jobs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-bottom: 1px solid var(--rt-gray-200);
}
.rt-link-jobs-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--rt-navy);
}
.rt-link-jobs-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--rt-gray-400);
    line-height: 1;
}
.rt-link-jobs-close:hover { color: var(--rt-navy); }

.rt-link-jobs-body {
    padding: 16px 24px;
    overflow-y: auto;
    flex: 1;
    min-height: 100px;
}

.rt-link-jobs-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s;
    border: 1px solid var(--rt-gray-200);
    margin-bottom: 8px;
}
.rt-link-jobs-item:hover { background: var(--rt-gray-50); }
.rt-link-jobs-item--linked {
    opacity: .6;
    cursor: default;
    background: var(--rt-gray-50);
}
.rt-link-jobs-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: var(--rt-orange);
}
.rt-link-jobs-label {
    font-size: 14px;
    color: var(--rt-navy);
    line-height: 1.4;
}

.rt-link-jobs-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 24px;
    border-top: 1px solid var(--rt-gray-200);
}

/* ── Bottom row for side-by-side buttons ── */
.rt-co-cand-bottom-row {
    display: flex;
    gap: 8px;
    margin-top: 6px;
    width: 100%;
}
.rt-co-cand-bottom-row .rt-co-btn-link {
    margin-top: 0;
    flex: 1;
}
.rt-co-cand-bottom-row .rt-hist-btn {
    flex: 0 0 auto;
    padding: 6px 10px;
}

/* ── Link button on candidate cards ── */
.rt-co-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rt-navy);
    background: transparent;
    border: 1px solid var(--rt-navy);
    border-radius: 6px;
    cursor: pointer;
    transition: all .2s;
    margin-top: 6px;
    width: 100%;
    justify-content: center;
}
.rt-co-btn-link:hover {
    background: var(--rt-navy);
    color: #fff;
}

/* ── Badge variants ── */
.rt-badge--primary {
    background: var(--rt-navy);
    color: #fff;
}
.rt-badge--outline {
    background: transparent;
    border: 1px solid var(--rt-gray-300);
    color: var(--rt-gray-500);
}

@media (max-width: 480px) {
    .rt-link-jobs-container { width: 95%; }
    .rt-link-jobs-header, .rt-link-jobs-body, .rt-link-jobs-footer { padding-left: 16px; padding-right: 16px; }
}

/* ══════════════════════════════════════════════════════════
   CANDIDATE HISTORY — button, modal, badges, legend
══════════════════════════════════════════════════════════ */

/* ── History Button ── */
.rt-hist-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    border: 1.5px solid;
    border-radius: 6px;
    cursor: pointer;
    background: transparent;
    transition: all .2s;
    position: relative;
}
.rt-hist-btn--none  { color: var(--rt-orange); border-color: #e5e7eb; background: #fff; cursor: default; }
.rt-hist-btn--blue  { color: #2563eb; border-color: #2563eb; }
.rt-hist-btn--green { color: #16a34a; border-color: #16a34a; }
.rt-hist-btn--orange{ color: #ea580c; border-color: #ea580c; }
.rt-hist-btn--red   { color: #dc2626; border-color: #dc2626; }
.rt-hist-btn--gray  { color: #6b7280; border-color: #6b7280; }

.rt-hist-btn--none:hover  { background: #f9fafb; }
.rt-hist-btn--blue:hover  { background: #2563eb; color: #fff; }
.rt-hist-btn--green:hover { background: #16a34a; color: #fff; }
.rt-hist-btn--orange:hover{ background: #ea580c; color: #fff; }
.rt-hist-btn--red:hover   { background: #dc2626; color: #fff; }
.rt-hist-btn--gray:hover  { background: #6b7280; color: #fff; }

.rt-hist-btn__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
    background: currentColor;
    color: #fff;
    padding: 0 4px;
    line-height: 1;
}
.rt-hist-btn--blue  .rt-hist-btn__count { background: #2563eb; }
.rt-hist-btn--green .rt-hist-btn__count { background: #16a34a; }
.rt-hist-btn--orange .rt-hist-btn__count{ background: #ea580c; }
.rt-hist-btn--red   .rt-hist-btn__count { background: #dc2626; }
.rt-hist-btn--gray  .rt-hist-btn__count { background: #6b7280; }

/* ── History Modal Overlay ── */
.rt-hist-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 10010;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.rt-hist-container {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,.18);
    width: 100%;
    max-width: 520px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: rtDropFade .2s ease;
}
.rt-hist-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-bottom: 1px solid #e5e7eb;
}
.rt-hist-header h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--rt-navy, #003366);
    margin: 0;
}
.rt-hist-close {
    background: none;
    border: none;
    font-size: 28px;
    color: #9ca3af;
    cursor: pointer;
    line-height: 1;
    padding: 0;
}
.rt-hist-close:hover { color: #374151; }
.rt-hist-body {
    overflow-y: auto;
    padding: 12px 24px 20px;
}

/* ── History Item Row ── */
.rt-hist-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #f3f4f6;
}
.rt-hist-item:last-child { border-bottom: none; }
.rt-hist-item__left { flex: 1; min-width: 0; }
.rt-hist-item__job {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rt-hist-item__link {
    color: var(--rt-navy);
    text-decoration: none;
    transition: color .2s;
}
.rt-hist-item__link:hover {
    color: var(--rt-orange);
    text-decoration: underline;
}
.rt-hist-item__meta {
    display: flex;
    gap: 10px;
    margin-top: 3px;
    font-size: 12px;
    color: #6b7280;
}
.rt-hist-item__source::before {
    content: '';
    display: inline-block;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #9ca3af;
    margin-right: 4px;
    vertical-align: middle;
}

/* ── History Status Badges ── */
.rt-hist-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}
.rt-hist-badge--blue   { background: #eff6ff; color: #2563eb; }
.rt-hist-badge--green  { background: #f0fdf4; color: #16a34a; }
.rt-hist-badge--orange { background: #fff7ed; color: #ea580c; }
.rt-hist-badge--red    { background: #fef2f2; color: #dc2626; }
.rt-hist-badge--gray   { background: #f3f4f6; color: #6b7280; }
.rt-hist-badge--purple { background: #ede9fe; color: #7c3aed; }

/* ── Legend ── */
.rt-hist-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 14px 20px;
    margin-top: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    font-size: 13px;
    color: #4b5563;
}
.rt-hist-legend--top {
    margin: 0 20px 8px;
    font-size: 12px;
    padding: 10px 16px;
    gap: 12px;
}
.rt-hist-legend__title {
    font-weight: 700;
    color: #1f2937;
}
.rt-hist-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.rt-hist-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.rt-hist-dot--none   { background: #fff; border: 2px solid var(--rt-orange); }
.rt-hist-dot--blue   { background: #2563eb; }
.rt-hist-dot--orange { background: #ea580c; }
.rt-hist-dot--green  { background: #16a34a; }
.rt-hist-dot--red    { background: #dc2626; }
.rt-hist-dot--purple { background: #8b5cf6; }

/* ── Responsive ── */
@media (max-width: 480px) {
    .rt-hist-container { max-width: 95%; }
    .rt-hist-header, .rt-hist-body { padding-left: 16px; padding-right: 16px; }
    .rt-hist-legend { gap: 10px; padding: 10px 14px; font-size: 12px; }
}

/* ═══════════════════════════════════════════════════
   Company Analytics / Reports
   ═══════════════════════════════════════════════════ */
.rt-analytics {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 20px 60px;
}
.rt-analytics__header {
    margin-bottom: 28px;
}
.rt-analytics__title {
    font-size: 24px;
    font-weight: 700;
    color: var(--rt-navy);
    margin: 0 0 6px;
    display: flex;
    align-items: center;
}
.rt-analytics__subtitle {
    font-size: 14px;
    color: #6b7280;
    margin: 0;
}

/* ── KPI Cards ── */
.rt-analytics__kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}
.rt-analytics__kpi {
    background: #fff;
    border-radius: 12px;
    padding: 20px 16px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    border: 1px solid #f3f4f6;
    position: relative;
}
.rt-analytics__kpi::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
}
.rt-analytics__kpi--blue::before  { background: #2563eb; }
.rt-analytics__kpi--navy::before  { background: var(--rt-navy); }
.rt-analytics__kpi--green::before { background: #16a34a; }
.rt-analytics__kpi--orange::before{ background: var(--rt-orange); }
.rt-analytics__kpi--purple::before{ background: #7c3aed; }
.rt-analytics__kpi--emerald::before{ background: #059669; }
.rt-analytics__kpi--teal::before  { background: #0d9488; }

.rt-analytics__kpi-icon {
    font-size: 28px;
    margin-bottom: 8px;
    display: block;
}
.rt-analytics__kpi--blue .rt-analytics__kpi-icon  { color: #2563eb; }
.rt-analytics__kpi--navy .rt-analytics__kpi-icon   { color: var(--rt-navy); }
.rt-analytics__kpi--green .rt-analytics__kpi-icon  { color: #16a34a; }
.rt-analytics__kpi--orange .rt-analytics__kpi-icon { color: var(--rt-orange); }
.rt-analytics__kpi--purple .rt-analytics__kpi-icon { color: #7c3aed; }
.rt-analytics__kpi--emerald .rt-analytics__kpi-icon { color: #059669; }
.rt-analytics__kpi--teal .rt-analytics__kpi-icon   { color: #0d9488; }

.rt-analytics__kpi-value {
    font-size: 28px;
    font-weight: 800;
    color: var(--rt-navy);
    line-height: 1.1;
    margin-bottom: 4px;
}
.rt-analytics__kpi-value small {
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
}
.rt-analytics__kpi-label {
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .3px;
}

/* KPI Info Tooltip */
.rt-analytics__kpi-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 4px;
    cursor: pointer;
}
.rt-analytics__kpi-info > .material-icons-outlined {
    font-size: 15px;
    color: #9ca3af;
    transition: color .2s;
}
.rt-analytics__kpi-info:hover > .material-icons-outlined,
.rt-analytics__kpi-info:focus > .material-icons-outlined {
    color: #6366f1;
}
.rt-analytics__kpi-tooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    width: 280px;
    max-width: 90vw;
    padding: 10px 14px;
    background: #1e293b;
    color: #f1f5f9;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    text-transform: none;
    letter-spacing: 0;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
    z-index: 100;
    pointer-events: none;
    white-space: normal;
    word-wrap: break-word;
}
.rt-analytics__kpi-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #1e293b;
}
.rt-analytics__kpi-info:hover .rt-analytics__kpi-tooltip,
.rt-analytics__kpi-info:focus .rt-analytics__kpi-tooltip {
    display: block;
}

/* ── Chart Cards ── */
.rt-analytics__charts-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
.rt-analytics__charts-row--3 {
    grid-template-columns: 1fr 1fr 1fr;
}
.rt-analytics__chart-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px 24px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    border: 1px solid #f3f4f6;
}
.rt-analytics__chart-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--rt-navy);
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.rt-analytics__chart-title .material-icons-outlined {
    font-size: 20px;
    color: var(--rt-orange);
}
.rt-analytics__chart-wrap {
    position: relative;
    height: 280px;
    width: 100%;
}
.rt-analytics__chart-wrap--sm {
    height: 260px;
}
.rt-analytics__chart-wrap canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

/* ── Table Card ── */
.rt-analytics__table-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px 24px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    border: 1px solid #f3f4f6;
    margin-top: 20px;
}
.rt-analytics__table-wrap {
    overflow-x: auto;
}
.rt-analytics__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.rt-analytics__table th {
    text-align: left;
    padding: 10px 12px;
    font-weight: 600;
    color: #6b7280;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .4px;
    border-bottom: 2px solid #f3f4f6;
}
.rt-analytics__table td {
    padding: 10px 12px;
    border-bottom: 1px solid #f9fafb;
    color: #374151;
}
.rt-analytics__table tbody tr:hover {
    background: #f9fafb;
}
.rt-analytics__rate-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    background: #f3f4f6;
    color: #6b7280;
}
.rt-analytics__rate-badge--good {
    background: #dcfce7;
    color: #16a34a;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .rt-analytics__kpis { grid-template-columns: repeat(3, 1fr); }
    .rt-analytics__kpi-tooltip { left: auto; right: 0; transform: none; }
    .rt-analytics__kpi-tooltip::after { left: auto; right: 20px; transform: none; }
    .rt-analytics__charts-row--3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .rt-analytics__kpi-info {
        position: static;
    }
    .rt-analytics__kpi-tooltip {
        position: fixed;
        top: auto;
        bottom: 20px;
        left: 16px !important;
        right: 16px !important;
        transform: none;
        width: auto;
        max-width: none;
        z-index: 10000;
        pointer-events: auto;
        box-shadow: 0 4px 24px rgba(0,0,0,.35);
    }
    .rt-analytics__kpi-tooltip::after {
        display: none;
    }
}
@media (max-width: 768px) {
    .rt-analytics__kpis { grid-template-columns: repeat(2, 1fr); }
    .rt-analytics__charts-row { grid-template-columns: 1fr; }
    .rt-analytics__charts-row--3 { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .rt-analytics { padding: 16px 12px 40px; }
    .rt-analytics__kpis { grid-template-columns: 1fr 1fr; gap: 10px; }
    .rt-analytics__kpi { padding: 14px 10px; }
    .rt-analytics__kpi-value { font-size: 22px; }
    .rt-analytics__chart-card { padding: 14px 12px; }
    .rt-analytics__kpi-tooltip { font-size: 13px; padding: 12px 16px; }
}

/* ══════════════════════════════════════════════════════════
   VERIFY EMAIL PAGE
   ══════════════════════════════════════════════════════════ */
.rt-verify-email-page {
    display: flex; align-items: flex-start; justify-content: center;
    padding: 48px 16px; min-height: 60vh; background: #f9fafb;
}
.rt-verify-email-card {
    background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
    padding: 36px 28px; width: 100%; max-width: 460px;
    box-shadow: 0 4px 16px rgba(0,0,0,.06);
    text-align: center;
}
.rt-verify-email-icon {
    width: 64px; height: 64px; border-radius: 50%;
    background: #eef2ff; color: #4f46e5;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
}
.rt-verify-email-icon .material-icons-outlined { font-size: 32px; }
.rt-verify-email-title { font-size: 22px; margin: 0 0 8px; color: #111827; }
.rt-verify-email-intro { font-size: 14px; color: #4b5563; margin: 0 0 20px; }
.rt-verify-email-banner {
    display: flex; align-items: center; gap: 8px;
    background: #fef3c7; color: #92400e; border: 1px solid #fde68a;
    border-radius: 8px; padding: 10px 12px; font-size: 13px; margin-bottom: 16px;
    text-align: left;
}
.rt-verify-email-banner .material-icons-outlined { font-size: 18px; }
.rt-verify-email-form { text-align: left; margin-bottom: 18px; }
.rt-verify-code-input {
    text-align: center; font-size: 24px; letter-spacing: 8px;
    font-weight: 600; padding: 12px;
}
.rt-verify-email-error {
    background: #fef2f2; color: #991b1b; border: 1px solid #fecaca;
    border-radius: 6px; padding: 10px 12px; font-size: 13px; margin: 12px 0;
}
.rt-verify-email-success {
    background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0;
    border-radius: 6px; padding: 10px 12px; font-size: 13px; margin: 12px 0;
}
.rt-btn--block { display: block; width: 100%; }
.rt-verify-email-resend { font-size: 13px; color: #6b7280; margin-top: 16px; }
.rt-verify-email-resend .rt-link-btn {
    background: none; border: 0; color: #4f46e5; cursor: pointer;
    text-decoration: underline; font-size: 13px; padding: 0 4px;
}
.rt-verify-email-resend .rt-link-btn:disabled { color: #9ca3af; cursor: not-allowed; }
.rt-verify-email-help { font-size: 12px; color: #9ca3af; margin: 14px 0 0; }

/* ══════════════════════════════════════════════════════════
   FIELD VALIDATION HIGHLIGHT
   ══════════════════════════════════════════════════════════ */
.rt-input--invalid,
input.rt-input--invalid,
select.rt-input--invalid,
textarea.rt-input--invalid {
    border-color: #dc2626 !important;
    background-color: #fef2f2 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
}

/* ══════════════════════════════════════════════════════════
   PHOTO CROP MODAL
   ══════════════════════════════════════════════════════════ */
.rt-crop-modal {
    position: fixed; inset: 0; z-index: 100000;
    display: flex; align-items: center; justify-content: center;
    padding: 16px;
}
.rt-crop-modal__overlay {
    position: absolute; inset: 0;
    background: rgba(0, 0, 0, .65);
}
.rt-crop-modal__content {
    position: relative; z-index: 1;
    background: #fff; border-radius: 12px;
    width: 100%; max-width: 520px;
    max-height: calc(100vh - 32px);
    display: flex; flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.rt-crop-modal__header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 20px; border-bottom: 1px solid #eee;
}
.rt-crop-modal__header h3 {
    margin: 0; font-family: var(--rt-font-title, 'Montserrat', sans-serif);
    color: var(--rt-navy, #003e79); font-size: 18px;
}
.rt-crop-modal__close {
    background: none; border: none; font-size: 28px; line-height: 1;
    color: #999; cursor: pointer; padding: 0; width: 32px; height: 32px;
}
.rt-crop-modal__close:hover { color: #333; }
.rt-crop-modal__body {
    padding: 16px 20px; overflow-y: auto;
}
.rt-crop-modal__stage {
    width: 100%;
    height: min(60vh, 420px);
    min-height: 280px;
    background: #f3f4f6; border-radius: 8px; overflow: hidden;
    position: relative;
}
.rt-crop-modal__stage img {
    display: block; max-width: 100%;
}
.rt-crop-modal__hint {
    margin: 10px 0 0; font-size: 13px; color: #6b7280; text-align: center;
}
.rt-crop-modal__footer {
    display: flex; gap: 10px; justify-content: flex-end;
    padding: 14px 20px; border-top: 1px solid #eee;
}
.rt-crop-modal__footer .rt-btn { min-width: 120px; }

/* Circular preview of the crop area */
.rt-crop-modal .cropper-view-box,
.rt-crop-modal .cropper-face { border-radius: 50%; }
.rt-crop-modal .cropper-view-box {
    outline: 2px solid #fff; outline-offset: -2px;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, .4);
}

@media (max-width: 520px) {
    .rt-crop-modal__content { max-width: 100%; border-radius: 10px; }
    .rt-crop-modal__footer .rt-btn { flex: 1; min-width: 0; }
}

/* ══════════════════════════════════════════════════════════
   KANBAN BOARD — Candidatos por Vaga
   ══════════════════════════════════════════════════════════ */

/* ── Fix border-radius on job header now that overflow:visible is set ── */
.rt-ca-job-header {
    border-radius: 12px 12px 0 0;
}

/* ── Kanban board wrapper gives horizontal padding ── */
.rt-kanban-board-wrap {
    padding: 16px 16px 20px;
}

/* ── Board container ── */
.rt-kanban-board {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 12px;
    align-items: flex-start;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
}
.rt-kanban-board::-webkit-scrollbar {
    height: 6px;
}
.rt-kanban-board::-webkit-scrollbar-track {
    background: #f1f3f5;
    border-radius: 3px;
}
.rt-kanban-board::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 3px;
}
.rt-kanban-board::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

/* ── Column ── */
.rt-kanban-col {
    flex: 0 0 320px;
    min-width: 280px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 220px);
    scroll-snap-align: start;
    transition: opacity .2s;
}

/* ── Column Header ── */
.rt-kanban-col-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 12px 12px 0 0;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .3px;
    flex-shrink: 0;
}
.rt-kanban-col-header--info    { background: #eff6ff; color: #1d4ed8; border-bottom: 2px solid #93c5fd; }
.rt-kanban-col-header--warning { background: #fffbeb; color: #b45309; border-bottom: 2px solid #fcd34d; }
.rt-kanban-col-header--purple  { background: #f5f3ff; color: #6d28d9; border-bottom: 2px solid #c4b5fd; }
.rt-kanban-col-header--success { background: #f0fdf4; color: #166534; border-bottom: 2px solid #86efac; }
.rt-kanban-col-header--muted   { background: #f3f4f6; color: #4b5563; border-bottom: 2px solid #d1d5db; }
.rt-kanban-col-header--danger  { background: #fef2f2; color: #991b1b; border-bottom: 2px solid #fca5a5; }

.rt-kanban-col-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(0,0,0,.1);
    color: inherit;
    padding: 0 6px;
}

/* ── Column Body ── */
.rt-kanban-col-body {
    padding: 10px 10px 12px;
    overflow-y: auto;
    flex: 1;
    min-height: 60px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.rt-kanban-col-body::-webkit-scrollbar { width: 4px; }
.rt-kanban-col-body::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 2px; }

/* ── Empty State ── */
.rt-kanban-empty {
    text-align: center;
    font-size: 12px;
    color: #9ca3af;
    padding: 20px 8px;
    border: 1.5px dashed #e5e7eb;
    border-radius: 8px;
    pointer-events: none;
    user-select: none;
}

/* ── Drag ghost ── */
.rt-kanban-ghost {
    opacity: .35;
    background: #e0e7ff !important;
    border: 2px dashed #6366f1 !important;
}

/* ── Candidate Card inside Kanban ── */
.rt-kanban-col .rt-ca-cand-card {
    cursor: grab;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,.07);
    transition: box-shadow .2s, transform .15s;
    padding: 12px;
}
.rt-kanban-col .rt-ca-cand-card:active { cursor: grabbing; }
.rt-kanban-col .rt-ca-cand-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,.12);
    transform: translateY(-2px);
}

/* ── Compact actions row (histórico + Ver Detalhes + WhatsApp) ── */
.rt-kanban-col .rt-ca-cand-actions {
    display: flex;
    gap: 5px;
    flex-wrap: nowrap;
    margin-bottom: 6px;
    align-items: center;
}

/* Histórico — ícone pequeno quadrado */
.rt-kanban-col .rt-hist-btn {
    flex: 0 0 auto;
    padding: 4px 6px;
    font-size: 11px;
    border-width: 1px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.rt-kanban-col .rt-hist-btn .material-icons-outlined {
    font-size: 13px;
    line-height: 1;
    vertical-align: middle;
}
.rt-kanban-col .rt-hist-btn__count {
    min-width: 14px;
    height: 14px;
    font-size: 9px;
    border-radius: 7px;
    line-height: 14px;
}

/* Ver Detalhes e WhatsApp — lado a lado, compactos */
.rt-kanban-col .rt-ca-btn-details,
.rt-kanban-col .rt-ca-btn-whatsapp {
    flex: 1;
    padding: 4px 6px !important;
    font-size: 10px !important;
    border-radius: 5px !important;
    gap: 3px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.rt-kanban-col .rt-ca-btn-details .material-icons-outlined,
.rt-kanban-col .rt-ca-btn-whatsapp .material-icons-outlined {
    font-size: 12px;
    line-height: 1;
    vertical-align: middle;
}

/* ── Status action buttons — pill row compacta ── */
.rt-kanban-col .rt-ca-cand-status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
}
.rt-kanban-col .rt-ca-action-btn {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
    padding: 3px 5px !important;
    font-size: 10px !important;
    border-radius: 4px !important;
    gap: 2px !important;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1;
}
.rt-kanban-col .rt-ca-action-btn .material-icons-outlined {
    font-size: 11px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* Botão que ocupa linha inteira (quando há apenas 1) */
.rt-kanban-col .rt-ca-cand-status-actions .rt-ca-action-btn:only-child {
    flex: 1 1 100%;
}


.rt-kanban-col .rt-ca-cand-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,.12);
    transform: translateY(-2px);
}

/* ── Candidate Roles Text (line-clamp) ── */
.rt-ca-cand-role-wrapper {
    position: relative;
}

.rt-ca-cand-role-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: none;
}

.rt-ca-cand-role-text.rt-role-expanded {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
}

/* ── "Ver mais / Ver menos" — inline link discreto com seta ── */
.rt-role-toggle-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 1px;
    margin-top: 1px;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer;
    font-size: 10px !important;
    font-weight: 500;
    color: #9ca3af !important;
    padding: 0 !important;
    line-height: 1;
    transition: color .15s;
    letter-spacing: 0;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    border-radius: 0 !important;
    text-transform: none !important;
}
.rt-role-toggle-btn:hover,
.rt-role-toggle-btn:focus {
    color: #6b7280 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none;
}
.rt-role-toggle-btn .material-icons-outlined {
    font-size: 12px;
    line-height: 1;
    vertical-align: middle;
    opacity: .7;
}

/* ── Responsive Kanban ── */
@media (max-width: 768px) {
    .rt-kanban-col { flex: 0 0 220px; }
}
@media (max-width: 480px) {
    .rt-kanban-col { flex: 0 0 200px; min-width: 180px; }
    .rt-kanban-board { gap: 10px; }
}
/* ── Hero Section ── */
.rt-hero-section {
    background: #f4f5f7;
    color: var(--rt-black);
    padding: 40px 20px 80px;
    overflow: hidden;
    position: relative;
    /* Force Full Width breakout from Elementor container */
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
.rt-hero-container {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 80px;
}
.rt-hero-content {
    flex: 0 1 540px;
}
.rt-hero-badge {
    display: inline-block;
    background: rgba(11, 17, 32, 0.05);
    color: var(--rt-navy);
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 20px;
    border: 1px solid rgba(11, 17, 32, 0.1);
}
.rt-hero-title {
    font-family: var(--rt-font-title);
    font-size: 46px;
    line-height: 1.15;
    margin: 0 0 20px;
    color: var(--rt-navy);
}
.rt-hero-title strong {
    color: var(--rt-orange);
}
.rt-hero-text {
    font-size: 17px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 30px;
}
.rt-hero-actions {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
}
.rt-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: var(--rt-radius);
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: var(--rt-transition);
}
.rt-hero-btn--primary {
    background: var(--rt-orange);
    color: #fff;
}
.rt-hero-btn--primary:hover {
    background: #c2410c;
    color: #fff;
    transform: translateY(-2px);
}
.rt-hero-btn--secondary {
    background: transparent;
    color: var(--rt-navy);
    border: 2px solid var(--rt-navy);
}
.rt-hero-btn--secondary:hover {
    background: var(--rt-navy);
    color: #fff;
    transform: translateY(-2px);
}
.rt-hero-features {
    display: flex;
    gap: 20px;
    border-top: 1px solid #e2e8f0;
    padding-top: 20px;
}
.rt-hero-feature {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #64748b;
    font-weight: 600;
}
.rt-hero-feature .material-icons-outlined {
    font-size: 18px;
    color: var(--rt-orange);
}
.rt-hero-visual {
    flex: 0 0 320px;
    height: 520px;
    position: relative;
    overflow: hidden;
}
.rt-hero-carousel-track {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-end;
    animation: rtVerticalScroll 35s linear infinite;
}
.rt-hero-carousel-track:hover {
    animation-play-state: paused;
}
.rt-hero-carousel-group {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 320px;
}
.rt-hero-card-img {
    background: transparent;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    overflow: hidden;
    line-height: 0;
    transition: var(--rt-transition);
}
.rt-hero-card-img:hover {
    transform: scale(1.05);
}
.rt-hero-card-img img {
    width: 100%;
    height: auto;
    display: block;
}
.rt-hero-card-text {
    background: var(--rt-navy);
    color: #fff;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(11, 17, 32, 0.15);
    transition: var(--rt-transition);
    display: flex;
    align-items: center;
    justify-content: center;
}
.rt-hero-card-text:hover {
    transform: scale(1.05);
}
.rt-hero-card-text p {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

@media (max-width: 991px) {
    .rt-hero-container { flex-direction: column; text-align: center; gap: 20px; }
    .rt-hero-content { margin: 0 auto; flex: none; max-width: 100%; }
    .rt-hero-actions { justify-content: center; margin-bottom: 20px; }
    .rt-hero-features { justify-content: center; }
    
    .rt-hero-card-text p {
        font-size: 24px;
        line-height: 1.35;
    }
    
    .rt-hero-visual { 
        flex: none; 
        width: calc(100% + 40px); 
        max-width: none;
        margin-left: -20px;
        margin-right: -20px;
        left: auto;
        right: auto;
        height: auto; 
        padding-bottom: 20px;
        -webkit-mask-image: none; 
        mask-image: none; 
        overflow: hidden;
    }
    
    .rt-hero-carousel-track {
        flex-direction: row;
        width: max-content;
        align-items: stretch;
        animation: rtHorizontalScroll 45s linear infinite;
    }
    
    .rt-hero-carousel-group {
        flex-direction: row;
        width: max-content;
        max-width: none;
        align-items: stretch;
    }
    
    .rt-hero-card-img, .rt-hero-card-text {
        width: 280px;
        flex: 0 0 280px;
    }
    
    /* Make sure cards are displayed (removing the previous hide logic) */
    .rt-hero-carousel-group:nth-child(2),
    .rt-hero-carousel-group > div:nth-child(n+3) {
        display: flex;
    }
    .rt-hero-card-img { display: block; }
}

@keyframes rtVerticalScroll {
    0% { transform: translateY(0); }
    100% { transform: translateY(calc(-50% - 12px)); }
}

@keyframes rtHorizontalScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 12px)); }
}
@media (max-width: 480px) {
    .rt-hero-section { padding: 50px 15px; }
    .rt-hero-title { font-size: 32px; }
    .rt-hero-actions { flex-direction: column; }
    .rt-hero-features { flex-direction: column; align-items: center; gap: 10px; }
    
    .rt-hero-visual {
        margin-left: -15px;
        margin-right: -15px;
        width: calc(100% + 30px);
    }
}

/* ── PRODUCT TOUR SECTION (LP Redesign) ───────────────────── */
.rt-pt-section {
    padding: 80px 0;
    background-color: var(--rt-white);
}
.rt-pt-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.rt-pt-row {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 100px;
}
.rt-pt-row:last-child { margin-bottom: 0; }
.rt-pt-row--reverse { flex-direction: row-reverse; }

.rt-pt-content { flex: 1; }
.rt-pt-visual { 
    flex: 1.2; 
    border-radius: var(--rt-radius-lg);
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    transition: transform .3s ease;
}
.rt-pt-visual:hover { transform: scale(1.02); }
.rt-pt-img { width: 100%; display: block; border-radius: inherit; }

.rt-pt-badge {
    display: inline-block;
    background-color: var(--rt-navy-light);
    color: var(--rt-navy);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
.rt-pt-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 20px;
    color: var(--rt-navy);
}
.rt-pt-title strong { color: var(--rt-orange); }
.rt-pt-text {
    font-size: 1.1rem;
    color: var(--rt-gray-600);
    margin-bottom: 30px;
}

.rt-pt-list {
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
}
.rt-pt-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    font-weight: 600;
    color: var(--rt-navy);
}
.rt-pt-list .material-icons-outlined { color: var(--rt-orange); }

.rt-pt-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: var(--rt-orange);
    color: var(--rt-white);
    padding: 16px 32px;
    border-radius: var(--rt-radius);
    text-decoration: none;
    font-weight: 700;
    transition: background-color .2s;
}
.rt-pt-cta:hover { background-color: var(--rt-orange-hover); color: white; }

@media (max-width: 991px) {
    .rt-pt-row, .rt-pt-row--reverse { flex-direction: column; text-align: center; gap: 40px; margin-bottom: 80px; }
    .rt-pt-list li { justify-content: center; }
    .rt-pt-title { font-size: 2rem; }
}

/* ═══════════════════════════════════════════════════════════════
   ABOUT PLATFORM (Shortcode: recrutrade_about_platform)
═══════════════════════════════════════════════════════════════ */
.rt-about-section {
    padding: 100px 0 0;
    background: #ffffff;
    position: relative;
    overflow: hidden;
}


/* ── Header ── */
.rt-about-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 80px;
    padding: 0 24px;
}
.rt-about-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ff8601;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    padding: 6px 18px;
    border-radius: 50px;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.rt-about-badge .material-icons-outlined { font-size: 16px; }
.rt-about-main-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    color: #003e79;
    line-height: 1.2;
    margin-bottom: 20px;
}
.rt-about-main-title strong {
    color: #ff8601;
}
.rt-about-intro {
    font-size: 1.1rem;
    color: #000000;
    line-height: 1.8;
    margin-bottom: 30px;
}

/* ── Role Badges ── */
.rt-about-roles {
    display: flex;
    flex-wrap: wrap; /* Changed to wrap so it can break into multiple lines */
    justify-content: center;
    gap: 8px;
    padding-bottom: 8px;
}
.rt-about-role {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1px solid #818386;
    padding: 8px 14px;
    border-radius: 50px;
    font-weight: 600;
    font-size: .9rem;
    color: #000000;
    transition: all .3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.rt-about-role:hover {
    border-color: #ff8601;
    color: #ff8601;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,134,1,.15);
}
.rt-about-role .material-icons-outlined {
    font-size: 20px;
    color: #ff8601;
}

/* ── Container ── */
.rt-about-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Full Width Section Rows ── */
.rt-about-section-row {
    width: 100%;
    padding: 60px 0;
}
.rt-about-section-row--white {
    background: #ffffff;
}
.rt-about-section-row--gray {
    background: #f4f5f7; /* Solid light gray */
}

/* ── Rows (Inner Content) ── */
.rt-about-row {
    display: flex;
    align-items: center;
    gap: 60px;
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity .7s ease, transform .7s ease;
}
.rt-about-row--reverse {
    flex-direction: row-reverse;
    transform: translateX(40px);
}
.rt-about-visible {
    opacity: 1 !important;
    transform: none !important; /* Removes stacking context when animation finishes */
}

/* ── Content ── */

.rt-about-chip {
    display: inline-block;
    font-size: .75rem;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 50px;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.rt-about-chip--blue { background: #003e79; color: #fff; }
.rt-about-chip--orange { background: #ff8601; color: #fff; }
.rt-about-chip--green { background: #003e79; color: #fff; } /* Changed to Navy */
.rt-about-chip--purple { background: #ff8601; color: #fff; } /* Changed to Orange */

.rt-about-title {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 800;
    color: #003e79;
    line-height: 1.3;
    margin-bottom: 16px;
}
.rt-about-title strong { color: #ff8601; }
.rt-about-text {
    font-size: 1.05rem;
    color: #000000;
    line-height: 1.8;
    margin-bottom: 20px;
}

/* ── List ── */
.rt-about-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}
.rt-about-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: .95rem;
    color: #000000;
    font-weight: 500;
}
.rt-about-list .material-icons-outlined {
    font-size: 20px;
    color: #ff8601;
    flex-shrink: 0;
}

/* ── CTA ── */
.rt-about-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 50px;
    font-weight: 700;
    font-size: .95rem;
    text-decoration: none;
    color: #fff;
    transition: all .3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,.15);
}
.rt-about-cta .material-icons-outlined {
    font-size: 18px;
    transition: transform .3s ease;
}
.rt-about-cta:hover .material-icons-outlined { transform: translateX(4px); }
.rt-about-cta--blue {
    background: #003e79;
}
.rt-about-cta--blue:hover {
    background: #ff8601;
    box-shadow: 0 6px 25px rgba(255,134,1,.35);
    color: #fff;
}
.rt-about-cta--orange {
    background: #ff8601;
}
.rt-about-cta--orange:hover {
    background: #003e79;
    box-shadow: 0 6px 25px rgba(0,62,121,.35);
    color: #fff;
}

/* ── Visual / Image ── */
@keyframes rt-float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
    100% { transform: translateY(0px); }
}

.rt-about-visual {
    flex: 0 1 45%;
    min-width: 0;
    overflow: visible;
    position: relative;
    /* Removed animation, transform and z-index from here to avoid stacking context */
}
.rt-about-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    animation: rt-float 6s ease-in-out infinite;
    transition: scale .4s ease, filter .4s ease;
}
.rt-about-img:hover {
    animation-play-state: paused;
    scale: 1.05;
    filter: drop-shadow(0 20px 30px rgba(0,0,0,0.15));
}

/* ── Content proportion ── */
.rt-about-content {
    flex: 0 1 55%;
    min-width: 0;
}

/* ── Responsive ── */
@media (max-width: 991px) {
    .rt-about-section { padding: 60px 0 40px; }
    .rt-about-section-row { padding: 40px 0; }
    .rt-about-header { margin-bottom: 50px; }
    .rt-about-row,
    .rt-about-row.rt-about-row--reverse {
        flex-direction: column;
        text-align: center;
        gap: 24px;
        margin-bottom: 40px;
    }
    .rt-about-row:last-child {
        margin-bottom: 0;
    }
    .rt-about-row {
        transform: translateY(20px);
    }
    .rt-about-row--reverse {
        transform: translateY(20px);
    }
    .rt-about-content,
    .rt-about-visual { flex: 1 1 100%; }
    .rt-about-visual { max-width: 480px; margin: 0 auto; }
    .rt-about-list li { justify-content: center; }
    .rt-about-cta { width: 100%; justify-content: center; }
}
@media (max-width: 600px) {
    .rt-about-section { padding: 40px 0 30px; }
    .rt-about-section-row { padding: 24px 0; }
    .rt-about-header { margin-bottom: 30px; padding: 0 16px; }
    .rt-about-main-title { font-size: 1.7rem; }
    .rt-about-title { font-size: 1.3rem; }
    .rt-about-intro { font-size: .95rem; }
    .rt-about-role { font-size: .8rem; padding: 8px 14px; }
    .rt-about-row { gap: 16px; margin-bottom: 24px; }
    .rt-about-container { padding: 0 16px; }
    .rt-about-visual { max-width: 100%; }
    .rt-about-cta { padding: 12px 20px; font-size: .9rem; }
}
