@media only screen and (min-width: 1025px) {
    .screening_container > :nth-child(1) {width: 320px;}
    .screening_container > :nth-child(2) {width: calc(100% - 320px);}
}

/* ------------------------------- SCREENING BADGE TOKENS ------------------------------- */
/* Semantic pill/row tints. Green/red/blue/neutral reuse the global palette (auto dark-mode);
   amber & row tints reuse the platform palette via theme-aware color-mix; purple pair gets explicit dark values. */
html {
    --scr-neutral-bg: var(--gray-color-14); --scr-neutral-fg: var(--gray-color-5); --scr-neutral-dot: var(--gray-color-9);
    --scr-blue-bg: var(--primary-color-8); --scr-blue-fg: var(--primary-color-2); --scr-blue-dot: var(--primary-color-4);
    --scr-green-bg: var(--green-color-5); --scr-green-fg: var(--green-color-1); --scr-green-dot: var(--green-color-2);
    --scr-red-bg: var(--red-color-4); --scr-red-fg: var(--red-color-1); --scr-red-dot: var(--red-color-2);
    --scr-amber-bg: color-mix(in srgb, var(--yellow-color-1) 22%, var(--white-color)); --scr-amber-fg: color-mix(in srgb, var(--yellow-color-1) 70%, var(--black-color)); --scr-amber-dot: var(--yellow-color-1);
    --scr-purple-bg: #ece7fd; --scr-purple-fg: #6d28d9; --scr-purple-dot: #8b5cf6;
    --scr-row-shortlist: color-mix(in srgb, var(--green-color-2) 8%, var(--white-color));
    --scr-row-maybe: color-mix(in srgb, var(--yellow-color-1) 9%, var(--white-color));
    --scr-row-rejected: color-mix(in srgb, var(--red-color-2) 8%, var(--white-color));
    --scr-row-hover: rgba(15, 23, 42, 0.035);
}
html.dark {
    --scr-purple-bg: #2b2350; --scr-purple-fg: #c4b5fd; --scr-purple-dot: #a78bfa;
    --scr-row-hover: rgba(255, 255, 255, 0.05);
}

/* controls: never let the text on interactive controls / modal controls get selected */
.screening_seg, .screening_seg_item, .screening_vchip, .screening_search_clear, .screening_credits a,
.screening_actions_menu, .screening_actions_menu .menu_popup a, .screening_sortable, .screening_verdict_cell,
.screening_bulk_btn, .screening_level, .screening_group, .screening_group_actions i,
.screening_verdict_opt, .screening_verdict_clear, .screening_status, .screening_tech_chip, .screening_match,
.screening_level_cell, .screening_tier, .screening_seg_slider {user-select: none;}
.screening_page {width: 100%;}
.screening_container > :nth-child(2) {padding-bottom: 0;}
.screening_page .billing_controls {width: 100%; padding-bottom: 18px; border-bottom: var(--surface-border);}
.screening_page .billing_controls > div {width: auto;}
.screening_header_actions {flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.screening_settings_btn {
    display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 32px; width: 34px; height: 32px; margin-inline-start: auto; margin-inline-end: -18px;
    padding: 0; border-radius: 8px; font-size: 16px; line-height: 1;
}
.screening_settings_btn > i {display: block; margin: 0; padding: 0; line-height: 1;}
.screening_settings_note {margin-bottom: 16px; color: var(--gray-color-3); font-size: 13px; line-height: 1.5;}
.screening_settings_body .input_group, .screening_settings_body .select_group {width: 100%;}
.screening_settings_body .modal_controls > div:nth-of-type(1) {display: none;}
.screening_settings_body .modal_controls > div:nth-of-type(2) {width: 100%; padding-inline-start: 0; gap: 10px;}
.screening_settings_body .modal_controls > div:nth-of-type(2) > div {flex: 1; width: 50%; box-sizing: border-box; text-align: center; margin-inline-start: 0;}
.screening_filter {display: flex; align-items: end; justify-content: space-between; gap: 12px; width: 100%; margin-top: 18px;}
.screening_chips {display: flex; flex-wrap: wrap; align-items: center; gap: 6px;}
.screening_seg {
    position: relative; display: inline-flex; align-items: center; height: 32px; border-radius: 8px;
    background: var(--white-color); border: 1px solid var(--gray-color-11); user-select: none;
}
.screening_seg_slider {
    position: absolute; top: 0; bottom: 0; left: 0; width: 0; height: 32px; border-radius: 8px; background: var(--primary-color-4);
    pointer-events: none; transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.screening_seg_item {
    position: relative; z-index: 1; display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 8px;
    color: var(--gray-color-3); font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer;
    transition: color 0.2s ease-out;
}
.screening_seg_item:hover {color: var(--primary-color-2);}
.screening_seg_item.active {color: var(--white-color);}
.screening_filter_left {flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 5px;}
.screening_filter_left * {border: 0;}
.screening_chips {gap: 0;}
.screening_vchip {
    display: inline-flex; align-items: center; gap: 5px; height: 34px; padding: 0 8px; border-radius: 8px;
    background: var(--white-color); color: var(--gray-color-3); font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer;
    user-select: none; transition: background 0.2s ease-out, border-color 0.2s ease-out, color 0.2s ease-out;
}
.screening_vchip::before {
    content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--scr-neutral-dot);
    transition: background 0.2s ease-out;
}
.screening_vchip.verdict_shortlist::before {background: var(--scr-green-dot);}
.screening_vchip.verdict_maybe::before {background: var(--scr-amber-dot);}
.screening_vchip.verdict_rejected::before {background: var(--scr-red-dot);}
.screening_vchip:hover {border-color: var(--gray-color-9); color: var(--black-color);}
.screening_vchip.active {background: var(--scr-neutral-bg); border-color: var(--scr-neutral-dot); color: var(--black-color);}
.screening_vchip.verdict_shortlist.active {background: var(--scr-green-bg); border-color: var(--scr-green-fg); color: var(--scr-green-fg);}
.screening_vchip.verdict_maybe.active {background: var(--scr-amber-bg); border-color: var(--scr-amber-fg); color: var(--scr-amber-fg);}
.screening_vchip.verdict_rejected.active {background: var(--scr-red-bg); border-color: var(--scr-red-fg); color: var(--scr-red-fg);}
.screening_search {
    position: relative; display: flex; align-items: center; flex: 1 1 auto; min-width: 180px; max-width: 320px; height: 34px;
    border: 1px solid var(--gray-color-11); border-radius: 8px; background: var(--white-color);
    transition: background 0.2s ease-out, border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}
.screening_search:hover {border-color: var(--gray-color-9);}
.screening_search:focus-within {background: var(--white-color); border-color: var(--primary-color-3); box-shadow: 0 0 0 3px var(--primary-color-8);}
.screening_search:focus-within:hover {background: var(--white-color);}
.screening_search > i.icon_search {flex: none; padding: 0 8px 0 12px; font-size: 16px; color: var(--gray-color-8); transition: color 0.2s ease-out;}
.screening_search:focus-within > i.icon_search {color: var(--primary-color-3);}
.screening_search > input {flex: 1; min-width: 0; height: 100%; padding: 0 8px 0 0; border: 0; background: none; color: var(--black-color); font-size: 14px;}
.screening_search > input::placeholder {color: var(--gray-color-8);}
.screening_search_clear {flex: none; display: none; padding: 0 11px; font-size: 13px; color: var(--gray-color-8); cursor: pointer; transition: color 0.2s ease-out;}
.screening_search_clear.show {display: block;}
.screening_search_clear:hover {color: var(--gray-color-4);}
/* sort: phones hide the table head, so the sortable columns move into this popup */
.screening_sort {display: none;}
.screening_sort_btn {
    position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: none; height: 44px;
    padding: 0 16px; border: 1px solid var(--gray-color-11); border-radius: 10px; background: var(--white-color);
    color: var(--gray-color-2); font-size: 15px; font-weight: 500; white-space: nowrap; cursor: pointer; user-select: none;
    transition: border-color 0.2s ease-out, color 0.2s ease-out;
}
.screening_sort_btn > i {font-size: 16px; color: var(--primary-color-3);}
.screening_sort_btn:active {border-color: var(--primary-color-4);}
.screening_sort_popup {width: 190px; top: 50px;}
.screening_sort_popup > div {line-height: 46px; font-size: 15px;}
.screening_no_matches {display: none; margin-top: 16px;}
.screening_no_matches_state {padding: 48px 24px; border-radius: 14px;}
.screening_no_matches_state > .empty_state_icon {
    width: 60px; height: 60px; border-radius: 16px; background: var(--primary-color-9); color: var(--primary-color-3);
}
.screening_no_matches_state > .empty_state_icon > i {font-size: 22px;}
.screening_no_matches_state > .btn_primary {margin-top: 18px;}
html.dark .screening_no_matches_state > .empty_state_icon {background: var(--primary-color-8); color: var(--primary-color-2);}
@media only screen and (max-width: 1024px) {
    /* the two-column layout stacks: groups stay on top (as a chip strip), the promo box drops below the list */
    .screening_container {display: flex; flex-direction: column;}
    .screening_container > :nth-child(1) {display: contents;}
    .screening_groups_sidebar {order: 1;}
    .screening_container > :nth-child(2) {order: 2;}
    .screening_promo_sidebar {order: 3;}
    /* the columns are percentage based and never overflow here, and auto overflow would clip the row menu */
    .screening_table_wrap > .billing_table_wrap {overflow: visible;}
    /* the enlarged controls no longer fit on one line, so the chip group is allowed to shrink and wrap */
    .screening_filter {flex-wrap: wrap; align-items: center;}
    .screening_filter_left {flex: 1 1 auto; min-width: 0; gap: 8px 5px;}
    .screening_seg_item {height: 38px; padding: 0 16px; font-size: 14.5px;}
    .screening_search {flex: 0 0 auto; width: 300px; height: 44px; margin-inline-start: auto;}
    .screening_search > i.icon_search {padding: 0 8px 0 14px; font-size: 18px;}
    .screening_search > input {font-size: 16px;}
    .screening_search_clear {padding: 0 14px; font-size: 15px;}
}
@media only screen and (max-width: 768px) {
    .screening_page .billing_controls {padding-bottom: 16px;}
    /* header: the credit meter takes its own line, then [settings][analyze] share the next one */
    .screening_header_actions {flex-wrap: wrap; align-items: center; gap: 12px;}
    .screening_settings_btn {flex: none; width: 44px; height: 44px; margin-inline: 0; font-size: 18px;}
    .screening_header_actions > .btn_primary:not(.screening_settings_btn) {flex: 1; min-width: 0;}
    /* filter: [search][sort] on the first row, one scrollable strip of status + verdict chips on the second */
    .screening_filter {
        display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "search sort" "chips chips";
        align-items: center; gap: 12px 8px; margin-top: 16px;
    }
    .screening_search {grid-area: search; width: auto; min-width: 0; max-width: none; height: 44px;}
    .screening_sort {grid-area: sort; display: flex;}
    .screening_filter_left {
        grid-area: chips; flex-wrap: nowrap; gap: 8px; width: auto; padding: 2px 20px; margin-inline: -20px;
        overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch;
    }
    .screening_filter_left::-webkit-scrollbar {display: none;}
    .screening_seg {flex: none; height: 40px; padding: 3px; background: var(--gray-color-15);}
    .screening_seg_slider {top: 3px; bottom: 3px; height: 34px;}
    .screening_seg_item {height: 34px; padding: 0 14px; font-size: 14px;}
    .screening_vchips {flex: none; flex-wrap: nowrap; gap: 8px; margin-inline-start: 2px;}
    .screening_filter_left .screening_vchip {height: 40px; padding: 0 14px; border-radius: 10px;}
    .screening_filter_left .screening_vchip:not(.active) {background: var(--gray-color-15);}
}
@media only screen and (max-width: 400px) {
    .screening_sort_btn {width: 44px; padding: 0;}
    .screening_sort_btn > span {display: none;}
}
.screening_table_wrap {margin-top: 0;}
.screening_drop {position: relative; margin-top: 16px;}
.screening_drop_overlay {
    display: none; position: absolute; inset: 0; z-index: 20; align-items: center; justify-content: center;
    border: 2px dashed var(--primary-color-4); border-radius: 12px; background: var(--primary-color-9);
    pointer-events: none; text-align: center;
}
.screening_drop.dragover .screening_drop_overlay {display: flex;}
.screening_drop.dragover .screening_table_wrap {opacity: 0.35;}
.screening_drop_inner {display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px;}
.screening_drop_inner > i {font-size: 40px; color: var(--primary-color-3);}
.screening_drop_title {font-size: 16px; font-weight: 600; color: var(--primary-color-2);}
.screening_drop_desc {font-size: 13px; color: var(--primary-color-3);}
.screening_drop_notice {
    display: none; align-items: center; gap: 8px; margin-bottom: 12px; padding: 10px 14px; border-radius: 8px;
    background: var(--primary-color-9); color: var(--primary-color-3); font-size: 13px; line-height: 1.4;
}
.screening_drop_notice.show {display: flex;}
.screening_drop_notice.error {background: var(--scr-red-bg); color: var(--scr-red-fg);}
.screening_credits {
    display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; border-radius: 8px; height: 32px;
    background: var(--primary-color-9); font-size: 13px; color: var(--gray-color-4); line-height: 1.2;
}
.screening_credits > i {font-size: 15px; color: var(--primary-color-3);}
.screening_credits b {color: var(--black-color); font-weight: 600;}
.screening_credits_seg {display: inline-flex; align-items: center; gap: 6px;}
.screening_credits_seg + .screening_credits_seg {padding-inline-start: 10px; border-inline-start: 1px solid var(--gray-color-12);}
.screening_credits a {
    color: var(--primary-color-3); cursor: pointer; text-decoration: none; font-weight: 500; padding-inline-start: 10px;
    border-inline-start: 1px solid var(--gray-color-12);
}
.screening_credits a:hover {color: var(--primary-color-1); text-decoration: underline;}
@media only screen and (max-width: 768px) {
    .screening_credits {
        order: -1; flex: 1 0 100%; flex-wrap: wrap; align-items: baseline; gap: 6px 0; height: auto; padding: 11px 14px;
        border-radius: 10px; font-size: 14px; line-height: 1.4;
    }
    /* the row wraps, and a divider that ends up first on a new line reads as a stray mark — space them instead */
    .screening_credits_seg + .screening_credits_seg, .screening_credits a {
        margin-inline-start: 16px; padding-inline-start: 0; border-inline-start: 0;
    }
}
.screening_table td {vertical-align: middle;}
.screening_name {font-weight: 500; color: var(--black-color);}
a.screening_name {text-decoration: none; transition: color 0.2s ease-out;}
a.screening_name:hover {color: var(--primary-color-3);}
.screening_sources {display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--gray-color-6);}
.screening_sources a {color: var(--gray-color-6); display: inline-flex; text-decoration: none; transition: color 0.2s ease-out;}
.screening_sources a:hover {color: var(--primary-color-3);}
.screening_status {
    display: inline-flex; align-items: center; gap: 6px; padding: 0 8px; height: 20px; border-radius: 6px;
    font-size: 11px; font-weight: 500;
}
.screening_status::before {content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--scr-neutral-dot);}
.screening_status.status_1 {background: var(--scr-neutral-bg); color: var(--scr-neutral-fg);}
.screening_status.status_1::before {background: var(--scr-neutral-dot);}
.screening_status.status_2 {background: var(--scr-amber-bg); color: var(--scr-amber-fg);}
.screening_status.status_2::before {background: var(--scr-amber-dot); animation: screening_pulse 1.4s ease-in-out infinite;}
.screening_status.status_3 {background: var(--scr-green-bg); color: var(--scr-green-fg);}
.screening_status.status_3::before {display: none;}
.screening_status.status_4 {background: var(--scr-red-bg); color: var(--scr-red-fg);}
.screening_status.status_4::before {display: none;}
.screening_status.status_5 {background: var(--scr-purple-bg); color: var(--scr-purple-fg);}
.screening_status.status_5::before {background: var(--scr-purple-fg);}
.screening_need_action {margin-top: 8px;}
.screening_add_source_btn {
    display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border: 1px solid var(--scr-purple-fg); border-radius: 6px;
    color: var(--scr-purple-fg); font-size: 11px; font-weight: 600; cursor: pointer; transition: all 0.2s ease-out;
}
.screening_add_source_btn:hover {background: var(--scr-purple-bg);}
.screening_continue_field {margin-bottom: 12px;}
@keyframes screening_pulse {0%, 100% {opacity: 1;} 50% {opacity: 0.3;}}
.screening_empty {display: flex; flex-direction: column; align-items: center; padding: 48px 20px; text-align: center;}
.screening_empty_btn {margin-top: 20px;}
.screening_consent {margin: 18px 0 12px;}
.screening_credit_note {display: flex; align-items: center; gap: 8px; margin: 14px 0 4px; font-size: 13px; color: var(--gray-color-5);}
.screening_charge_note {color: var(--scr-amber-fg); font-weight: 600;}
.screening_cv_card {display: none; align-items: center; gap: 10px; margin-top: 16px; padding: 12px 14px; border: 1px solid var(--gray-color-11, #e5e7eb); border-radius: 10px; background: var(--gray-color-15, #f9fafb);}
.screening_cv_card.active {display: flex;}
.screening_cv_card > .icon_cv_2 {font-size: 22px; color: var(--primary-color-3, #2563eb);}
.screening_cv_card_info {flex: 1; min-width: 0;}
.screening_cv_card_name {overflow: hidden; font-size: 13px; font-weight: 600; color: var(--black-color, #111827); white-space: nowrap; text-overflow: ellipsis;}
.screening_cv_card_size {margin-top: 2px; font-size: 12px; color: var(--gray-color-5, #9ca3af);}
.screening_cv_card_remove {display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 6px; color: var(--gray-color-6); cursor: pointer; transition: all 0.2s ease-out;}
.screening_cv_card_remove:hover {background: var(--gray-color-14); color: var(--scr-red-fg);}
.screening_source_desc {margin-bottom: 14px; font-size: 13px; line-height: 1.5; color: var(--gray-color-3, #4b5563);}
.screening_levels_label {margin: 16px 0 8px; font-size: 13px; font-weight: 600; color: var(--gray-color-2, #374151);}
.screening_levels {display: flex; gap: 8px;}
.screening_level {
    flex: 1; padding: 10px 12px; border: 2px solid var(--gray-color-11, #e5e7eb); border-radius: 10px; cursor: pointer;
    transition: all 0.3s ease-in-out;
}
.screening_level:hover {border-color: var(--primary-color-7, #c7d7fe);}
.screening_level.active {border-color: var(--primary-color-3, #2563eb); background: var(--primary-color-9, #eff4ff);}
.screening_level_head {display: flex; align-items: center; justify-content: space-between; gap: 6px;}
.screening_level_title {font-size: 13px; font-weight: 600; color: var(--black-color, #111827);}
.screening_level_price {font-size: 12px; font-weight: 600; color: var(--primary-color-3, #2563eb); white-space: nowrap;}
.screening_level_desc {margin-top: 5px; font-size: 11.5px; line-height: 1.4; color: var(--gray-color-3, #4b5563);}
@media only screen and (max-width: 768px) {
    .screening_levels {flex-direction: column;}
}
.screening_report_toolbar {display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;}
.screening_report_toolbar_right {display: flex; align-items: center; gap: 10px;}

/* ------------------------------- TABLE EXTRAS ------------------------------- */

.screening_table {overflow: visible;}
.screening_table > thead > tr > td {padding: 10px 12px;}
.screening_table > thead > tr > td:first-child {border-radius: 9px 0 0 0;}
.screening_table > thead > tr > td:last-child {border-radius: 0 9px 0 0;}
.screening_table > tbody > tr:last-child > td:first-child {border-radius: 0 0 0 9px;}
.screening_table > tbody > tr:last-child > td:last-child {border-radius: 0 0 9px 0;}
.screening_col_check {width: 34px;}
.screening_col_candidate {width: 45%;}
.screening_table > thead > tr > td.screening_col_candidate, .screening_table > tbody > tr > td.screening_col_candidate {padding-inline-start: 0;}
.screening_col_match {width: 30%;}
.screening_table > thead > tr > td.screening_col_match, .screening_table > tbody > tr > td.screening_col_match {padding-inline-start: 4px;}
.screening_col_analysis {width: 25%;}
.screening_table > tbody > tr > td {padding: 12px 12px; vertical-align: top;}
.screening_level_cell {
    display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px;
    background: var(--scr-neutral-bg); color: var(--scr-neutral-fg); font-size: 11px; font-weight: 600; line-height: 1;
}
.screening_level_cell.level_medium {background: var(--scr-blue-bg); color: var(--scr-blue-fg);}
.screening_level_cell.level_high {background: var(--scr-purple-bg); color: var(--scr-purple-fg);}
.screening_col_actions {width: 36px; text-align: center;}
.screening_actions_menu {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 6px;
    position: relative; top: -4px; font-size: 18px; color: var(--gray-color-6); cursor: pointer; transition: all 0.2s ease-out;
}
.screening_actions_menu:hover {background: var(--gray-color-14); color: var(--primary-color-3);}
.screening_actions_menu .menu_popup {top: 34px;}
.screening_actions_menu .menu_popup a {
    display: block; position: relative; z-index: 10; line-height: 38px; padding: 0 15px;
    color: var(--gray-color-3, #4b5563); font-size: 13px; text-decoration: none;
}
.screening_actions_menu .menu_popup a:hover {background: var(--gray-color-14);}
.screening_sortable {cursor: pointer; user-select: none; white-space: nowrap; transition: color 0.2s ease-out;}
.screening_sortable:hover {color: var(--primary-color-3);}
.screening_sortable.sort_asc, .screening_sortable.sort_desc {color: var(--primary-color-2);}
.screening_sortable.sort_asc:after {content: '\2191'; padding-inline-start: 4px; font-size: 11px;}
.screening_sortable.sort_desc:after {content: '\2193'; padding-inline-start: 4px; font-size: 11px;}
.screening_match {
    display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px;
    font-size: 11px; font-weight: 600; line-height: 1;
}
.screening_match.high {background: var(--scr-green-bg); color: var(--scr-green-fg);}
.screening_match.mid {background: var(--scr-amber-bg); color: var(--scr-amber-fg);}
.screening_match.low {background: var(--scr-red-bg); color: var(--scr-red-fg);}
.screening_match_na {color: var(--gray-color-8);}
.screening_verdict_row {margin-top: 8px;}
.screening_verdict_cell {
    display: inline-flex; align-items: center; padding: 0 8px; height: 20px; border-radius: 6px;
    font-size: 11px; font-weight: 600; cursor: pointer; transition: all 0.2s ease-out;
}
.screening_verdict_cell.verdict_shortlist {background: var(--scr-green-bg); color: var(--scr-green-fg);}
.screening_verdict_cell.verdict_maybe {background: var(--scr-amber-bg); color: var(--scr-amber-fg);}
.screening_verdict_cell.verdict_rejected {background: var(--scr-red-bg); color: var(--scr-red-fg);}
.screening_verdict_cell:has(> .screening_verdict_set) {padding: 2px 8px; border: 1px dashed var(--gray-color-10); color: var(--gray-color-6);}
.screening_verdict_cell:has(> .screening_verdict_set):hover {border-color: var(--primary-color-4); color: var(--primary-color-3);}
.screening_verdict_set {font-weight: 500;}
.screening_row.verdict_shortlist > td {background: var(--scr-row-shortlist);}
.screening_row.verdict_maybe > td {background: var(--scr-row-maybe);}
.screening_row.verdict_rejected > td {background: var(--scr-row-rejected);}
/* keep badges legible on tinted verdict rows: add a defining border */
.screening_row[class*="verdict_"] > td .screening_status,
.screening_row[class*="verdict_"] > td .screening_verdict_cell,
.screening_row[class*="verdict_"] > td .screening_tech_chip {border: 1px solid color-mix(in srgb, currentColor 22%, transparent);}
.screening_note {display: flex; align-items: center; gap: 5px; max-width: 260px; overflow: hidden; margin-top: 3px; color: var(--gray-color-3, #4b5563); font-size: 12px; white-space: nowrap; text-overflow: ellipsis;}
.screening_expires {margin-top: 3px; color: var(--gray-color-5, #9ca3af); font-size: 12px;}
.screening_expires.soon {color: var(--scr-amber-fg); font-weight: 600;}
/* candidate cell: name + tier + sources, then role/location, then note */
.screening_cand_top {display: flex; align-items: center; flex-wrap: wrap; gap: 8px;}
.screening_cand_top .screening_sources {margin-inline-start: 2px; font-size: 13px; gap: 8px;}
.screening_tier {
    display: inline-flex; align-items: center; padding: 0 8px; height: 20px; border-radius: 6px;
    background: var(--scr-purple-bg); color: var(--scr-purple-fg); font-size: 11px; font-weight: 500;
}
.screening_cand_meta {margin-top: 3px; max-width: 360px; font-size: 12px; line-height: 1.4; color: var(--gray-color-3, #4b5563);}
/* candidate cell extras: tech chips (experience/salary now live in the tags line) */
.screening_tech {display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 6px;}
.screening_tech_chip {
    display: inline-flex; align-items: center; padding: 0 8px; height: 20px; border-radius: 6px;
    background: var(--scr-neutral-bg); color: var(--scr-neutral-fg); font-size: 11px; font-weight: 500;
}
.screening_tech_more {font-size: 11px; font-weight: 600; color: var(--gray-color-6);}
.screening_muted {color: var(--gray-color-8);}
/* job + match: title link and a mini progress bar */
.screening_job {display: block; max-width: 180px; overflow: hidden; color: var(--black-color); font-size: 13px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; transition: color 0.2s ease-out;}
a.screening_job:hover {color: var(--primary-color-3);}
.screening_job.screening_muted {font-weight: 500; color: var(--gray-color-6);}
.screening_match_bar {display: flex; align-items: center; gap: 8px; margin-top: 6px;}
.screening_match_track {position: relative; flex: 1; height: 6px; border-radius: 999px; background: var(--gray-color-13, #e5e7eb); overflow: hidden;}
.screening_match_fill {position: absolute; inset-inline-start: 0; top: 0; height: 100%; border-radius: 999px; background: var(--scr-neutral-dot);}
.screening_match_bar.high .screening_match_fill {background: var(--scr-green-dot);}
.screening_match_bar.mid .screening_match_fill {background: var(--scr-amber-dot);}
.screening_match_bar.low .screening_match_fill {background: var(--scr-red-dot);}
.screening_match_val {flex: none; font-size: 11px; font-weight: 600; color: var(--gray-color-3);}
.screening_match_bar.high .screening_match_val {color: var(--scr-green-fg);}
.screening_match_bar.mid .screening_match_val {color: var(--scr-amber-fg);}
.screening_match_bar.low .screening_match_val {color: var(--scr-red-fg);}
/* analysis cell: status badge + depth/date meta */
.screening_analysis_meta {margin-top: 4px; color: var(--gray-color-5, #9ca3af); font-size: 12px;}
.screening_bulk {
    display: none; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; margin-bottom: 16px;
    padding: 10px 14px; border: var(--surface-border); border-width: 1px; border-radius: 10px; background: var(--primary-color-9, #eff4ff);
    font-size: 13px;
}
.screening_bulk_count {display: inline-flex; align-items: center; gap: 8px; color: var(--gray-color-3, #4b5563); font-weight: 500;}
.screening_bulk_count b {
    display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 7px;
    border-radius: 20px; background: var(--primary-color-4, #2563eb); color: var(--white-color, #fff); font-size: 12px;
    font-weight: 600; letter-spacing: 0;
}
.screening_bulk_actions {display: flex; align-items: center; gap: 8px;}
.screening_bulk_btn {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 8px;
    background: var(--white-color, #fff); border: 1px solid var(--primary-color-6, #a7c9e6); color: var(--primary-color-2, #2A67A4);
    font-size: 13px; font-weight: 500; cursor: pointer; user-select: none; white-space: nowrap; transition: all 0.2s ease-out;
}
.screening_bulk_btn > i {font-size: 13px;}
.screening_bulk_btn:hover {background: var(--primary-color-8, #E7F2FB); border-color: var(--primary-color-4, #2C70BC);}
.screening_bulk_btn.danger {border-color: var(--red-color-3, #F1C4CD); color: var(--red-color-1, #A3354F);}
.screening_bulk_btn.danger:hover {background: var(--red-color-4, #F6D6DC); border-color: var(--red-color-2, #DF6B74);}
@media only screen and (max-width: 1024px) {
    /* the header is fixed (58px), so the bar follows the list instead of scrolling out of reach */
    .screening_bulk {
        position: sticky; top: 66px; z-index: 6; margin-top: 18px; margin-bottom: 18px; padding: 12px 16px;
        border-radius: 12px; font-size: 14px; box-shadow: 0 6px 18px rgba(15, 23, 42, 0.10);
    }
    .screening_bulk_count {gap: 10px;}
    .screening_bulk_count b {min-width: 24px; height: 24px; font-size: 13px;}
    .screening_bulk_actions {gap: 10px;}
    .screening_bulk_btn {height: 40px; padding: 0 16px; border-radius: 10px; font-size: 14px; gap: 8px;}
    .screening_bulk_btn > i {font-size: 15px;}
    html.dark .screening_bulk {box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);}
}
@media only screen and (max-width: 768px) {
    .screening_bulk {flex-direction: column; align-items: stretch; gap: 12px; margin-top: 18px; margin-bottom: 18px; padding: 12px 14px; font-size: 15px;}
    .screening_bulk_count b {min-width: 26px; height: 26px; font-size: 14px;}
    .screening_bulk_actions {width: 100%; gap: 10px;}
    .screening_bulk_btn {flex: 1; justify-content: center; height: 44px; border-radius: 10px; font-size: 14.5px;}
    .screening_bulk_btn > i {font-size: 16px;}
}

/* ------------------------------- MOBILE TABLE (CARDS) ------------------------------- */
/* on phones the table (billing_table base) collapses to cards; screening cells are rich, so instead of the
   generic label/value rows from billing.css the row becomes a grid: a header line (checkbox · candidate · menu)
   with two full-width sections under it. */
@media only screen and (max-width: 768px) {
    .screening_table > tbody > tr {
        display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; column-gap: 10px;
        grid-template-areas: "check candidate actions" "match match match" "analysis analysis analysis";
        padding: 14px; margin-bottom: 12px; border: 1px solid var(--gray-color-13); border-radius: 14px;
        background: var(--white-color);
    }
    .screening_table > tbody > tr:hover {background: var(--white-color);}
    .screening_row.screening_expiring {border-color: var(--scr-amber-dot);}
    .screening_row[class*="verdict_"] > td {background: transparent;}
    .screening_row.verdict_shortlist {
        background: var(--scr-row-shortlist); border-color: color-mix(in srgb, var(--scr-green-dot) 30%, var(--gray-color-13));
    }
    .screening_row.verdict_maybe {
        background: var(--scr-row-maybe); border-color: color-mix(in srgb, var(--scr-amber-dot) 30%, var(--gray-color-13));
    }
    .screening_row.verdict_rejected {
        background: var(--scr-row-rejected); border-color: color-mix(in srgb, var(--scr-red-dot) 30%, var(--gray-color-13));
    }
    .screening_table > tbody > tr > td {display: block; padding: 0; font-size: 14px;}
    .screening_table > tbody > tr > td[data-label]::before {display: none;}
    /* header line — the checkbox and the row menu sit on the candidate's first text line.
       the percentage column widths have to be dropped, or the cells keep them inside their grid areas */
    .screening_table > tbody > tr > td.screening_col_check {grid-area: check; width: auto; margin-top: 1px;}
    .screening_table > tbody > tr > td.screening_col_candidate {grid-area: candidate; width: auto; padding: 0;}
    .screening_table > tbody > tr > td.screening_col_actions {
        grid-area: actions; width: 36px; margin-top: -7px; margin-inline-end: -7px; text-align: center;
    }
    .screening_actions_menu {top: 0; width: 36px; height: 36px; font-size: 20px;}
    .screening_actions_menu .menu_popup {top: 40px;}
    .screening_actions_menu .menu_popup a, .screening_actions_menu .menu_popup > div {line-height: 44px; font-size: 15px;}
    /* candidate */
    .screening_name {font-size: 15.5px; font-weight: 600;}
    .screening_cand_top {gap: 6px 8px;}
    .screening_cand_top .screening_sources {gap: 4px; font-size: 16px; margin-block: -5px;}
    .screening_cand_top .screening_sources > a, .screening_cand_top .screening_sources > i {
        display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px;
    }
    .screening_tier {height: 22px; font-size: 11.5px;}
    .screening_cand_meta, .screening_cand_brief, .screening_note {max-width: none; font-size: 13px;}
    .screening_cand_brief, .screening_cand_meta {margin-top: 5px;}
    .screening_note {white-space: normal; margin-top: 6px;}
    .screening_tech {gap: 6px; margin-top: 8px;}
    .screening_tech_chip {height: 24px; font-size: 12px;}
    .screening_tech_more {font-size: 12px;}
    /* sections */
    .screening_table > tbody > tr > td.screening_col_match {grid-area: match;}
    .screening_table > tbody > tr > td.screening_col_analysis {grid-area: analysis;}
    .screening_table > tbody > tr > td.screening_col_match,
    .screening_table > tbody > tr > td.screening_col_analysis {
        width: auto; margin-top: 14px; padding-top: 14px; padding-inline-start: 0;
        border-top: 1px solid var(--gray-color-13);
    }
    .screening_table > tbody > tr > td.screening_col_match::before,
    .screening_table > tbody > tr > td.screening_col_analysis::before {
        display: block; content: attr(data-label); margin-bottom: 8px; color: var(--gray-color-5);
        font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px;
    }
    .screening_job {max-width: none; font-size: 14px;}
    .screening_match_bar {gap: 10px; margin-top: 8px;}
    .screening_match_track {height: 8px;}
    .screening_match_val {font-size: 12px;}
    .screening_analysis_meta, .screening_expires {font-size: 13px; margin-top: 5px;}
    /* touch targets — the pills double as buttons, so they get thumb-sized on phones */
    .screening_verdict_row, .screening_status_row, .screening_failed_row, .screening_move_row {
        display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px;
    }
    .screening_status_row {margin-top: 0;}
    /* status text can be a whole error sentence, so it grows instead of clipping */
    .screening_status {height: auto; min-height: 28px; padding: 4px 10px; font-size: 12.5px; line-height: 1.35;}
    .screening_verdict_cell, .screening_details_btn, .screening_add_source_btn {
        height: 34px; padding: 0 14px; border-radius: 8px; font-size: 13.5px; white-space: nowrap;
    }
    .screening_verdict_cell:has(> .screening_verdict_set) {padding: 0 14px;}
    .screening_details_btn, .screening_failed_row .screening_details_btn {margin-inline-start: 0;}
    .screening_details_btn > i, .screening_add_source_btn > i {font-size: 13px;}
    .screening_move_badge {height: 26px; font-size: 12px;}
    .screening_refunded {height: 28px; font-size: 12px; margin-inline-start: 0;}
    .screening_need_action {margin-top: 10px;}
    /* empty states */
    .screening_empty {padding: 40px 16px;}
    .screening_no_matches_state {padding: 40px 18px;}
    .screening_empty_btn, .screening_no_matches_state > .btn_primary {width: 100%; max-width: 320px;}
}

.screening_verdict_options {display: flex; gap: 10px; margin-bottom: 16px;}
.screening_verdict_opt {flex: 1; padding: 10px 6px; border: 1px solid var(--gray-color-11, #e5e7eb); border-radius: 10px; text-align: center; font-size: 13px; font-weight: 600; color: var(--gray-color-3); cursor: pointer; transition: all 0.2s ease-out;}
.screening_verdict_opt:hover {border-color: var(--gray-color-9);}
.screening_verdict_opt.verdict_shortlist.active {border-color: var(--scr-green-fg); background: var(--scr-green-bg); color: var(--scr-green-fg);}
.screening_verdict_opt.verdict_maybe.active {border-color: var(--scr-amber-fg); background: var(--scr-amber-bg); color: var(--scr-amber-fg);}
.screening_verdict_opt.verdict_rejected.active {border-color: var(--scr-red-fg); background: var(--scr-red-bg); color: var(--scr-red-fg);}
.screening_verdict_clear {color: var(--red-color-1); cursor: pointer;}

/* ------------------------------- SCREENING MATCH DETAILS ------------------------------- */

.screening_details_btn {
    display: inline-flex; align-items: center; gap: 5px; margin-inline-start: 8px; padding: 0 8px; height: 20px;
    border: 1px solid var(--gray-color-11, #e5e7eb); border-radius: 6px; font-size: 12px; font-weight: 500;
    color: var(--gray-color-3); cursor: pointer; transition: all 0.2s ease-out;
}
.screening_details_btn:hover {border-color: var(--primary-color-4); color: var(--primary-color-3);}
.screening_details_btn > i {font-size: 11px;}

.smd {display: flex; flex-direction: column; gap: 16px;}
.smd_subject {
    display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 14px;
    border: 1px solid var(--gray-color-12, #eef0f3);
    background: linear-gradient(135deg, var(--primary-color-9, #eff4ff) 0%, var(--gray-color-13, #f9fafb) 100%);
}
.smd_subject_avatar {
    display: flex; align-items: center; justify-content: center; flex: none; width: 52px; height: 52px;
    border-radius: 14px; background: var(--primary-color-3, #2563eb); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
    color: var(--white-color, #fff); font-size: 22px; font-weight: 600; text-transform: uppercase;
}
.smd_subject_body {display: flex; flex-direction: column; gap: 3px; min-width: 0;}
.smd_subject_name {font-size: 17px; font-weight: 600; color: var(--black-color, #111827); line-height: 1.25;}
.smd_subject_role {font-size: 13px; font-weight: 500; color: var(--primary-color-3, #2563eb);}
.smd_subject_meta {display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 2px; font-size: 12px; color: var(--gray-color-3);}
.smd_subject_meta > span {display: inline-flex; align-items: center; gap: 5px;}
.smd_subject_meta i {font-size: 12px; color: var(--primary-color-4, #3b82f6);}
.smd_subject_tags {margin-top: 4px; font-size: 12px; color: var(--gray-color-4); line-height: 1.5;}
.smd_job {font-size: 13px; color: var(--gray-color-3);}
.smd_job a {color: var(--primary-color-3); font-weight: 500;}
.smd_rec {
    display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 12px;
    border-inline-start: 3px solid var(--gray-color-6);
}
.smd_rec_label {
    display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.04em; color: var(--gray-color-4);
}
.smd_rec_label > i {font-size: 12px;}
.smd_rec_value {font-size: 16px; font-weight: 600; color: var(--black-color, #111827);}
.smd_rec_desc {font-size: 13px; color: var(--gray-color-3);}
.smd_rec_ok {background: var(--scr-green-bg, #ecfdf5); border-inline-start-color: var(--scr-green-fg, #059669);}
.smd_rec_ok .smd_rec_label {color: var(--scr-green-fg, #059669);}
.smd_rec_warn {background: var(--scr-amber-bg, #fffbeb); border-inline-start-color: var(--scr-amber-fg, #d97706);}
.smd_rec_warn .smd_rec_label {color: var(--scr-amber-fg, #d97706);}
.smd_rec_bad {background: var(--scr-red-bg, #fef2f2); border-inline-start-color: var(--scr-red-fg, #dc2626);}
.smd_rec_bad .smd_rec_label {color: var(--scr-red-fg, #dc2626);}
.smd_rec2 {
    display: flex; align-items: flex-start; gap: 14px; padding: 16px; border: 1px solid var(--gray-color-13); border-radius: 12px;
    background: var(--white-color, #fff);
}
.smd_rec2_badge {
    display: flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 10px;
    font-size: 16px;
}
.smd_rec2_main {display: flex; flex-direction: column; gap: 3px; min-width: 0;}
.smd_rec2_label {
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--gray-color-4);
}
.smd_rec2_value {font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--black-color, #111827);}
.smd_rec2_desc {font-size: 13px; line-height: 1.5; color: var(--gray-color-3);}
.smd_rec2_ok {border-color: var(--scr-green-fg, #059669);}
.smd_rec2_ok .smd_rec2_badge {background: var(--scr-green-bg, #ecfdf5); color: var(--scr-green-fg, #059669);}
.smd_rec2_ok .smd_rec2_value {color: var(--scr-green-fg, #059669);}
.smd_rec2_warn {border-color: var(--scr-amber-fg, #d97706);}
.smd_rec2_warn .smd_rec2_badge {background: var(--scr-amber-bg, #fffbeb); color: var(--scr-amber-fg, #d97706);}
.smd_rec2_warn .smd_rec2_value {color: var(--scr-amber-fg, #d97706);}
.smd_rec2_bad {border-color: var(--scr-red-fg, #dc2626);}
.smd_rec2_bad .smd_rec2_badge {background: var(--scr-red-bg, #fef2f2); color: var(--scr-red-fg, #dc2626);}
.smd_rec2_bad .smd_rec2_value {color: var(--scr-red-fg, #dc2626);}
.smd_sec_title {
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--gray-color-4);
    padding-bottom: 6px; border-bottom: 1px solid var(--gray-color-12, #eef0f3);
}
.smd_fit_desc {font-size: 12px; color: var(--gray-color-4); line-height: 1.4;}
.smd_head {display: flex; align-items: center; gap: 18px;}
.smd_ring {position: relative; flex: none; width: 96px; height: 96px;}
.smd_ring svg {width: 100%; height: 100%; transform: rotate(-90deg);}
.smd_ring_bg {fill: none; stroke: var(--gray-color-12, #eef0f3); stroke-width: 8;}
.smd_ring_fg {fill: none; stroke: var(--primary-color-3, #2563eb); stroke-width: 8; stroke-linecap: round; transition: stroke-dasharray 0.6s ease-out;}
.smd_ring_val {
    position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
    font-size: 24px; font-weight: 600; color: var(--black-color, #111827);
}
.smd_ring_val small {font-size: 13px; font-weight: 500; color: var(--gray-color-4);}
.smd_summary {display: flex; flex-direction: column; gap: 6px;}
.smd_title {font-size: 16px; font-weight: 600; color: var(--black-color, #111827); line-height: 1.35;}
.smd_counter {font-size: 13px; color: var(--gray-color-3);}
.smd_counter b {color: var(--black-color, #111827);}
.smd_rank {display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: var(--primary-color-3, #2563eb);}
.smd_rank > i {font-size: 13px; color: var(--scr-amber-fg, #d97706);}
.smd_cats {display: flex; flex-direction: column; gap: 12px;}
.smd_cat {display: flex; flex-direction: column; gap: 6px;}
.smd_cat_head {display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 500; color: var(--gray-color-2);}
.smd_cat_val {font-weight: 600; color: var(--black-color, #111827);}
.smd_bar {display: block; width: 100%; height: 6px; border-radius: 3px; background: var(--gray-color-12, #eef0f3); overflow: hidden;}
.smd_bar_fill {display: block; height: 100%; border-radius: 3px; background: var(--gray-color-6);}
.smd_cat_match .smd_bar_fill {background: var(--scr-green-fg, #059669);}
.smd_cat_partial .smd_bar_fill {background: var(--scr-amber-fg, #d97706);}
.smd_cat_miss .smd_bar_fill {background: var(--scr-red-fg, #dc2626);}
.smd_cat_tip {font-size: 12px; color: var(--gray-color-4); line-height: 1.4;}
.smd_salary {display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 10px; background: var(--gray-color-13, #f9fafb);}
.smd_salary_row {display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 500; color: var(--gray-color-2);}
.smd_salary_row b {color: var(--black-color, #111827);}
.smd_salary_tip {font-size: 12px; color: var(--gray-color-4);}
.smd_salary_ok {background: var(--scr-green-bg, #ecfdf5);}
.smd_salary_ok .smd_salary_tip {color: var(--scr-green-fg, #059669);}
.smd_salary_warn {background: var(--scr-amber-bg, #fffbeb);}
.smd_salary_warn .smd_salary_tip {color: var(--scr-amber-fg, #d97706);}
.smd_salary_high {background: var(--scr-red-bg, #fef2f2);}
.smd_salary_high .smd_salary_tip {color: var(--scr-red-fg, #dc2626);}
.smd_group {display: flex; flex-direction: column; gap: 8px;}
.smd_group_title {display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--gray-color-2);}
.smd_group_title > i {font-size: 13px; color: var(--scr-green-fg, #059669);}
.smd_skills {display: flex; flex-wrap: wrap; gap: 8px;}
.smd_chip {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--gray-color-11, #e5e7eb);
    border-radius: 20px; font-size: 12px; color: var(--gray-color-2); background: var(--white-color, #fff);
}
.smd_chip.match {border-color: var(--scr-green-fg, #059669); color: var(--scr-green-fg, #059669);}
.smd_chip img {width: 14px; height: 14px; object-fit: contain;}
.smd_chances {padding: 10px 12px; border-radius: 10px; background: var(--gray-color-13, #f9fafb); font-size: 13px; color: var(--gray-color-2);}
.smd_chances b {color: var(--black-color, #111827);}
.smd_empty {display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px 12px; text-align: center; color: var(--gray-color-4);}
.smd_empty > i {font-size: 26px; color: var(--gray-color-6);}
.smd_controls {display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px;}
.smd_report_btn {
    gap: 7px; border: none; text-decoration: none;
    background: var(--primary-color-9, #eff4ff); color: var(--primary-color-3, #2563eb);
}
.smd_report_btn:hover {background: var(--primary-color-8, #dbeafe); color: var(--primary-color-3, #2563eb);}
.smd_report_btn > i {padding-inline-end: 7px; font-size: 15px;}

/* failed analysis details */
.screening_status_row {display: flex; align-items: center; flex-wrap: wrap; gap: 8px;}
.screening_status_row .screening_refunded {margin-inline-start: 0;}
.screening_failed_row {display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px;}
.screening_failed_row .screening_details_btn {margin-inline-start: 0;}
.sfd_subject {background: linear-gradient(135deg, var(--scr-red-bg, #fef2f2) 0%, var(--gray-color-13, #f9fafb) 100%);}
.sfd_avatar {background: var(--scr-red-fg, #dc2626); box-shadow: 0 4px 12px rgba(220, 38, 38, 0.25);}
.sfd_status {display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 12px; font-weight: 600; color: var(--scr-red-fg, #dc2626);}
.sfd_status_dot {width: 6px; height: 6px; border-radius: 50%; background: var(--scr-red-fg, #dc2626);}
.sfd_reason .smd_rec_value {font-size: 15px;}
.sfd_tips {display: flex; flex-direction: column; gap: 10px;}
.sfd_tip {display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.5; color: var(--gray-color-2, #374151);}
.sfd_tip > i {position: relative; top: 2px; flex: none; font-size: 12px; color: var(--primary-color-4, #3b82f6);}
.sfd_refund {display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px; background: var(--primary-color-9, #eff4ff); font-size: 13px; color: var(--primary-color-3, #2563eb);}
.sfd_refund > i {font-size: 13px;}
.sfd_controls {justify-content: flex-end;}
/* the slot holds a conditional button, so it is "empty" with whitespace only — :empty would never match */
.sfd_controls > div:first-child:not(:has(> *)) {display: none;}
@media only screen and (max-width: 768px) {
    .smd {gap: 18px;}
    .smd_head {gap: 14px;}
    .smd_ring {width: 84px; height: 84px;}
    .smd_ring_val {font-size: 21px;}
    .smd_title {font-size: 16px;}
    .smd_subject {gap: 12px; padding: 14px;}
    .smd_subject_avatar {width: 46px; height: 46px; font-size: 19px;}
    .smd_rec2 {padding: 14px; gap: 12px;}
    .smd_question {padding: 14px; padding-inline-start: 48px;}
    .smd_upsell {flex-direction: column; align-items: stretch; gap: 12px;}
    .smd_upsell .btn_primary.small {width: 100%; height: 44px; font-size: 15px;}
    /* common.css collapses the first controls slot on phones, but here it holds the only route to the full
       report (or to adding a source), so it is restored as a full-width row above the close/primary pair */
    .smd_controls {flex-direction: column; align-items: stretch; gap: 10px;}
    .smd_controls > div {display: flex; gap: 10px;}
    .smd_controls > div:nth-of-type(1):has(> *) {display: flex; width: 100%;}
    .smd_controls > div > .btn_primary, .smd_controls > div > .smd_report_btn {flex: 1; justify-content: center;}
    #modal_body:has(.smd_controls > div:nth-of-type(1) > *) {padding-bottom: 170px;}
}

/* ------------------------------- SCREENING GROUPS ------------------------------- */

.screening_groups {display: flex; flex-direction: column; padding-top: 10px;}
.screening_group {
    display: flex; align-items: center; height: 32px; margin-top: 2px; padding: 0 10px; border-radius: 9px; font-size: 13px;
    font-weight: 500; color: var(--gray-color-2, #374151); cursor: pointer; transition: all 0.3s ease-in-out;
}
.screening_group:first-of-type {margin-top: 0;}
.screening_group:hover, .screening_group.active {background: var(--primary-color-9, #eff4ff);}
.screening_group.active {color: var(--primary-color-3, #2563eb); font-weight: 500;}
.screening_group_icon {padding-inline-end: 6px; font-size: 14px; color: var(--primary-color-4, #93b4ff);}
.screening_group_name {flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.screening_group_count {display: flex; align-items: center; justify-content: center; min-width: 34px; padding: 0 8px; color: var(--black-color, #111827); font-size: 13px;}
.screening_group.active .screening_group_count {color: var(--primary-color-3, #2563eb);}
.screening_group_actions {display: none; align-items: center; gap: 8px; padding-inline-start: 4px; font-size: 13px; color: var(--gray-color-5, #9ca3af);}
.screening_group:hover .screening_group_actions {display: flex;}
.screening_group_actions i {cursor: pointer;}
.screening_group_actions i:hover {color: var(--primary-color-3, #2563eb);}
.screening_group_new {margin-top: 16px;}
.screening_group_job {margin-top: 14px;}
.screening_add_groups {margin-top: 16px;}
.screening_add_groups_label {margin-bottom: 8px; font-size: 13px; font-weight: 600; color: var(--gray-color-2, #374151);}
.screening_add_groups_list {display: flex; flex-direction: column; gap: 6px; max-height: 140px; overflow-y: auto;}
/* stacked layout: the group list becomes a scrollable strip of chips above the table (same pattern as the
   profile jobs menu). :hover never fires on touch, so rename/delete live on the selected chip instead. */
@media only screen and (max-width: 1024px) {
    .screening_groups_sidebar {min-height: 0; margin-bottom: 14px; padding: 0; border: none; border-radius: 0; background: none;}
    .screening_groups_sidebar > .sidebar_title {display: none;}
    .screening_groups {
        flex-direction: row; flex-wrap: nowrap; gap: 8px; padding: 2px 20px; margin-inline: -20px;
        overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch;
    }
    .screening_groups::-webkit-scrollbar {display: none;}
    .screening_group {
        flex: 0 0 auto; height: 38px; margin-top: 0; padding: 0 14px; border-radius: 19px; font-size: 14px;
        border: 1px solid var(--gray-color-12); background: var(--white-color); white-space: nowrap;
    }
    .screening_group:first-of-type {margin-top: 0;}
    .screening_group:hover {background: var(--white-color);}
    .screening_group_icon {font-size: 15px;}
    .screening_group_name {max-width: 190px;}
    .screening_group_count {min-width: 0; padding: 0 0 0 8px; color: var(--gray-color-5); font-size: 13px;}
    .screening_group.active {border-color: var(--primary-color-3); background: var(--primary-color-3); color: var(--white-color);}
    .screening_group.active .screening_group_icon, .screening_group.active .screening_group_count {color: var(--white-color);}
    .screening_group_actions, .screening_group:hover .screening_group_actions {display: none;}
    .screening_group.active .screening_group_actions {
        display: flex; gap: 14px; padding-inline-start: 12px; margin-inline-start: 2px; font-size: 15px;
        border-inline-start: 1px solid var(--white-color-30);
    }
    .screening_group.active .screening_group_actions i {color: var(--white-color-80);}
    .btn_primary.screening_group_new {
        flex: 0 0 auto; width: auto; min-width: 0; height: 38px; margin-top: 0; padding: 0 16px; border-radius: 19px;
        font-size: 14px;
    }
    .screening_group_new > i {padding-inline-end: 8px; font-size: 13px;}
}

/* ------------------------------- SCREENING LANDING ------------------------------- */

.scr_land {width: 100%; background-color: var(--white-color);}

#scr_land_hero {
    display: flex; align-items: center; padding: 60px 0;
    background: url('/images/hero_bg.png'), linear-gradient(180deg, var(--primary-color-1) 0%, var(--primary-color-2) 50%,
    var(--primary-color-3) 100%); background-size: cover;
}
#scr_land_hero > .home_wrap {width: 100%;}

.scr_land_facts {display: flex; flex-direction: column; gap: 10px; margin-top: 26px;}
.scr_land_facts > div {display: flex; align-items: center; gap: 10px; color: var(--white-color-80); font-size: 14px; line-height: 1.4;}
.scr_land_facts > div > i {flex: none; color: var(--primary-color-6); font-size: 12px;}

.scr_land_welcome {
    display: flex; align-items: center; gap: 10px; margin-top: 26px; padding-top: 22px;
    border-top: 1px solid var(--white-color-20); color: var(--white-color-70); font-size: 13px; line-height: 1.5;
}
.scr_land_welcome > i {flex: none; color: var(--white-color); font-size: 14px;}

.scr_land_mini {
    padding: 28px; border-radius: 12px; border: 1px solid var(--white-color-30); background-color: var(--white-color-10);
}
.scr_land_mini_head {display: flex; align-items: center; gap: 14px;}
.scr_land_mini_avatar {
    flex: none; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%;
    background-color: var(--white-color-20); color: var(--white-color); font-size: 22px;
}
.scr_land_mini_name {color: var(--white-color); font-size: 16px; line-height: 1.4;}
.scr_land_mini_head .home_caption {color: var(--white-color-60); padding-top: 4px;}
.scr_land_mini_tier {
    flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px;
    margin-inline-start: auto; border-radius: 10px; background-color: var(--white-color); color: var(--primary-color-1);
    font-size: 20px;
}
.scr_land_mini_bars {display: flex; flex-direction: column; gap: 14px; margin-top: 26px;}
.scr_land_mini_bar {
    display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 12px; color: var(--white-color); font-size: 13px;
}
.scr_land_mini_bar > b {
    display: block; height: 8px; border-radius: 6px; background-color: var(--white-color-20); font-weight: 400;
}
.scr_land_mini_bar > b > i {display: block; height: 100%; border-radius: 6px; background-color: var(--white-color-90);}
.scr_land_mini_foot {
    display: flex; align-items: center; gap: 8px; margin-top: 26px; padding-top: 18px;
    border-top: 1px solid var(--white-color-20); color: var(--white-color-80); font-size: 13px; line-height: 1.5;
}
.scr_land_mini_foot > i {flex: none; color: var(--primary-color-6);}

#scr_land_gap, #scr_land_how, #scr_land_report, #scr_land_inside, #scr_land_values, #scr_land_levels, #scr_land_faq {
    margin-top: 100px;
}
#scr_land_gap .home_grid, #scr_land_how .home_grid {padding-top: 0;}

.scr_land_gap_items {margin-top: 40px;}
.scr_land_gap_head {display: flex; padding-bottom: 12px;}
.scr_land_gap_head > div {width: 50%; color: var(--gray-color-5);}
.scr_land_gap_head > div:nth-child(2) {color: var(--primary-color-4); padding-inline-start: 20px;}
.scr_land_gap_items > .home_row:nth-of-type(1) {border-top: 1px solid var(--gray-color-13);}
.scr_land_gap_item > div:nth-of-type(1) {color: var(--gray-color-3);}
.scr_land_gap_item > div:nth-of-type(2) {color: var(--primary-color-1); padding-inline-start: 20px;}

.scr_land_cost {padding: 32px;}
.scr_land_cost > .home_caption {color: var(--white-color-60);}
.scr_land_cost > .home_bullet {font-size: 15px; line-height: 1.5;}

.scr_land_steps {margin-top: 40px;}
.scr_land_step {display: flex; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--gray-color-13);}
.scr_land_step:first-child {border-top: 1px solid var(--gray-color-13);}
.scr_land_step > div:nth-of-type(1) {flex: none; width: 44px; color: var(--primary-color-4); font-size: 20px; line-height: 1.2;}
.scr_land_step > div:nth-of-type(2) > div:nth-of-type(1) {color: var(--primary-color-1); font-size: 17px; line-height: 1.4;}
.scr_land_step > div:nth-of-type(2) > div:nth-of-type(2) {
    color: var(--gray-color-3); font-size: 14px; line-height: 1.6; padding-top: 6px;
}
.scr_land_step > div:nth-of-type(2) > .home_caption {color: var(--primary-color-4); padding-top: 10px;}

.scr_land_need {padding: 28px;}
.scr_land_need_title {color: var(--white-color-60); padding-bottom: 8px;}
.scr_land_need_item {
    display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--white-color-20);
    color: var(--white-color-80); font-size: 14px; line-height: 1.5;
}
.scr_land_need_item:last-child {padding-bottom: 0; border-bottom: none;}
.scr_land_need_item > b {
    flex: none; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px;
    background-color: var(--white-color-20); color: var(--white-color); font-size: 15px;
}
.scr_land_need_item > span {padding-top: 2px;}

.scr_land_secure {
    display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; color: var(--gray-color-3); font-size: 13px;
    line-height: 1.6;
}
.scr_land_secure > i {position: relative; top: 3px; flex: none; color: var(--primary-color-4); font-size: 13px;}

.scr_land_report {margin-top: 40px; padding: 28px; border: 1px solid var(--gray-color-13); border-radius: 8px;}
.scr_land_report_head {
    display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 22px;
    border-bottom: 1px solid var(--gray-color-13);
}
.scr_land_report_name {color: var(--primary-color-1); font-size: 22px; line-height: 1.3;}
.scr_land_report_sub {color: var(--gray-color-5); font-size: 13px; line-height: 1.4; padding-top: 6px;}
.scr_land_report_tier {flex: none; text-align: center;}
.scr_land_report_tier > .home_caption {color: var(--gray-color-5);}
.scr_land_report_tier_value {color: var(--primary-color-4); font-size: 34px; line-height: 1; padding-top: 8px;}
.scr_land_report_grid {display: flex; gap: 48px; padding-top: 24px;}
.scr_land_report_col {width: 50%;}
.scr_land_report_col_title {color: var(--gray-color-5); padding-top: 26px;}
.scr_land_report_col > .scr_land_report_col_title:first-child {padding-top: 0;}
.scr_land_tags {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px;}
.scr_land_tags > span {
    padding: 6px 14px; border: 1px solid var(--gray-color-13); border-radius: 16px; color: var(--primary-color-1);
    font-size: 13px; line-height: 1.4;
}
.scr_land_claims {display: flex; flex-direction: column; gap: 12px; margin-top: 14px;}
.scr_land_claim {display: flex; align-items: flex-start; gap: 10px; color: var(--gray-color-3); font-size: 14px; line-height: 1.5;}
.scr_land_claim > i {position: relative; top: 3px; flex: none; font-size: 13px;}
.scr_land_claim.ok > i {color: var(--green-color-1);}
.scr_land_claim.warn > i {color: var(--yellow-color-1);}
.scr_land_artifacts {display: flex; flex-wrap: wrap; gap: 32px; margin-top: 16px;}
.scr_land_artifacts > div {display: flex; flex-direction: column;}
.scr_land_artifacts b {color: var(--primary-color-1); font-size: 28px; font-weight: 400; line-height: 1;}
.scr_land_artifacts span {color: var(--gray-color-3); font-size: 13px; line-height: 1.4; padding-top: 6px;}
.scr_land_report_bars {display: flex; flex-direction: column; gap: 14px; margin-top: 28px;}
.scr_land_report_bar {
    display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 12px; color: var(--gray-color-3); font-size: 13px;
}
.scr_land_report_bar > b {display: block; height: 8px; border-radius: 6px; background-color: var(--gray-color-14); font-weight: 400;}
.scr_land_report_bar > b > i {display: block; height: 100%; border-radius: 6px; background-color: var(--primary-color-4);}
.scr_land_report_note {
    display: flex; align-items: center; gap: 10px; margin-top: 26px; padding-top: 18px;
    border-top: 1px solid var(--gray-color-13); color: var(--gray-color-3); font-size: 13px; line-height: 1.5;
}
.scr_land_report_note > i {flex: none; color: var(--primary-color-4);}

.scr_land_cards {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px;}
.scr_land_card {padding: 28px; border: 1px solid var(--gray-color-13); border-radius: 8px; transition: all 0.2s ease-out;}
.scr_land_card:hover {border-color: var(--primary-color-4);}
.scr_land_card_icon, .scr_land_value_icon {
    display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px;
    background-color: var(--primary-color-1); color: var(--white-color); font-size: 18px;
}
.scr_land_card_title, .scr_land_value_title {color: var(--primary-color-1); font-size: 17px; line-height: 1.4; padding-top: 20px;}
.scr_land_card_desc, .scr_land_value_desc {color: var(--gray-color-3); font-size: 14px; line-height: 1.6; padding-top: 10px;}

.scr_land_values {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px;}
.scr_land_value {padding: 28px; border: 1px solid var(--gray-color-13); border-radius: 8px; transition: all 0.2s ease-out;}
.scr_land_value:hover {border-color: var(--primary-color-4);}

.scr_land_levels {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px;}
.scr_land_level {
    position: relative; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--gray-color-13);
    border-radius: 8px;
}
.scr_land_level.active {border-color: var(--primary-color-1); background-color: var(--primary-color-1);}
.scr_land_level_badge {
    position: absolute; top: -12px; inset-inline-start: 28px; padding: 5px 12px; border-radius: 12px;
    background-color: var(--primary-color-4); color: var(--white-color); font-size: 11px; letter-spacing: 0.36px;
    text-transform: uppercase;
}
.scr_land_level_title {color: var(--gray-color-5);}
.scr_land_level.active .scr_land_level_title {color: var(--white-color-60);}
.scr_land_level_price {color: var(--primary-color-1); font-size: 44px; line-height: 1; padding-top: 16px;}
.scr_land_level_price > span {color: var(--gray-color-5); font-size: 14px; padding-inline-start: 8px;}
.scr_land_level.active .scr_land_level_price {color: var(--white-color);}
.scr_land_level.active .scr_land_level_price > span {color: var(--white-color-60);}
.scr_land_level_credits {color: var(--primary-color-4); font-size: 13px; line-height: 1.4; padding-top: 12px;}
.scr_land_level.active .scr_land_level_credits {color: var(--white-color);}
.scr_land_level_desc {flex: 1; color: var(--gray-color-3); font-size: 14px; line-height: 1.6; padding-top: 14px;}
.scr_land_level.active .scr_land_level_desc {color: var(--white-color-80);}
.scr_land_level_btn {width: 100%; margin-top: 24px;}
.scr_land_level.active .scr_land_level_btn {
    background-color: var(--white-color); border-color: var(--white-color); color: var(--primary-color-1);
}
.scr_land_level.active .scr_land_level_btn:hover {background-color: var(--gray-color-15); border-color: var(--gray-color-15);}
.scr_land_levels_notes {display: flex; flex-direction: column; gap: 10px; margin-top: 26px;}
.scr_land_levels_notes > div {
    display: flex; align-items: flex-start; gap: 10px; color: var(--gray-color-3); font-size: 13px; line-height: 1.6;
}
.scr_land_levels_notes > div > i {position: relative; top: 3px; flex: none; color: var(--primary-color-4); font-size: 12px;}

.scr_land_faq {margin-top: 40px;}
.scr_land_faq_item {padding: 22px 0; border-bottom: 1px solid var(--gray-color-13); cursor: pointer;}
.scr_land_faq_item:first-child {border-top: 1px solid var(--gray-color-13);}
.scr_land_faq_q {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--primary-color-1);
    font-size: 17px; line-height: 1.4; transition: all 0.2s ease-out;
}
.scr_land_faq_item:hover .scr_land_faq_q {color: var(--primary-color-4);}
.scr_land_faq_chev {
    flex: none; width: 9px; height: 9px; margin-inline-end: 4px; border-inline-end: 1px solid var(--gray-color-5);
    border-bottom: 1px solid var(--gray-color-5); transform: rotate(45deg); transition: transform 0.2s ease-out;
}
.scr_land_faq_item.open .scr_land_faq_chev {transform: rotate(-135deg);}
.scr_land_faq_a {
    display: grid; grid-template-rows: 0fr; overflow: hidden; color: var(--gray-color-3); font-size: 15px; line-height: 1.6;
    transition: grid-template-rows 0.3s ease-out, padding-top 0.3s ease-out, opacity 0.3s ease-out; opacity: 0;
}
.scr_land_faq_a > div {min-height: 0; overflow: hidden;}
.scr_land_faq_item.open .scr_land_faq_a {grid-template-rows: 1fr; padding-top: 16px; opacity: 1;}

#scr_land_final {
    padding: 90px 0; margin-top: 100px; text-align: center;
    background: url('/images/hero_bg.png'), linear-gradient(180deg, var(--primary-color-3) 0%, var(--primary-color-2) 50%,
    var(--primary-color-1) 100%); background-size: cover;
}
.scr_land_final_title {color: var(--white-color); font-size: 54px; font-weight: 500; line-height: 1.1; letter-spacing: -1.5px;}
.scr_land_final_desc {
    max-width: 620px; margin: 20px auto 0; color: var(--white-color-90); font-size: 18px; line-height: 1.5;
}
.scr_land_final_ctas {display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 34px;}
.scr_land_final_facts {display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 24px; margin-top: 34px;}
.scr_land_final_facts > div {display: flex; align-items: center; gap: 8px; color: var(--white-color-70); font-size: 13px; line-height: 1.4;}
.scr_land_final_facts > div > i {flex: none; color: var(--primary-color-6); font-size: 12px;}

@media only screen and (max-width: 1024px) {
    #scr_land_hero {padding: 56px 0 64px;}
    .scr_land_mini {padding: 24px;}
    #scr_land_gap, #scr_land_how, #scr_land_report, #scr_land_inside, #scr_land_values, #scr_land_levels, #scr_land_faq {
        margin-top: 72px;
    }
    .scr_land_gap_items, .scr_land_steps, .scr_land_report, .scr_land_cards, .scr_land_values, .scr_land_faq {margin-top: 32px;}
    .scr_land_levels {margin-top: 40px;}
    .scr_land_report_grid {flex-direction: column; gap: 28px; padding-top: 20px;}
    .scr_land_report_col {width: 100%;}
    .scr_land_cards {grid-template-columns: repeat(2, 1fr);}
    .scr_land_values, .scr_land_levels {grid-template-columns: 1fr;}
    .scr_land_level_badge {inset-inline-start: 24px;}
    #scr_land_final {padding: 64px 0; margin-top: 72px;}
    .scr_land_final_title {font-size: 42px; letter-spacing: -1.2px;}
    .scr_land_final_desc {font-size: 17px;}
}

@media only screen and (max-width: 768px) {
    #scr_land_hero {padding: 40px 0 48px;}
    .scr_land_facts > div, .scr_land_welcome, .scr_land_mini_foot {font-size: 14px;}
    .scr_land_mini {padding: 20px;}
    .scr_land_mini_bar, .scr_land_report_bar {grid-template-columns: 80px 1fr; gap: 10px;}
    #scr_land_gap, #scr_land_how, #scr_land_report, #scr_land_inside, #scr_land_values, #scr_land_levels, #scr_land_faq {
        margin-top: 56px;
    }
    .scr_land_gap_head {display: none;}
    .scr_land_gap_item {flex-wrap: wrap; gap: 6px;}
    .scr_land_gap_item > div:nth-of-type(1), .scr_land_gap_item > div:nth-of-type(2) {width: 100%; padding-inline-start: 0;}
    .scr_land_cost, .scr_land_need, .scr_land_card, .scr_land_value, .scr_land_level, .scr_land_report {padding: 22px;}
    .scr_land_step {gap: 16px;}
    .scr_land_step > div:nth-of-type(1) {width: 34px; font-size: 17px;}
    .scr_land_cards {grid-template-columns: 1fr;}
    .scr_land_artifacts {gap: 22px;}
    .scr_land_level_price {font-size: 38px;}
    .scr_land_faq_q {font-size: 16px;}
    #scr_land_final {padding: 48px 0; margin-top: 56px;}
    .scr_land_final_title {font-size: 34px; letter-spacing: -1px;}
    .scr_land_final_ctas {flex-direction: column; align-items: stretch; gap: 12px;}
    .scr_land_final_ctas > .home_btn, .scr_land_final_ctas > .home_hero_ctas_link {width: 100%; justify-content: center;}
    .scr_land_final_facts {flex-direction: column; align-items: center; gap: 12px;}
}

/* ------------------------------- CONSENT & ERRORS ------------------------------- */

.screening_consent {margin-top: 12px; align-items: flex-start; font-size: 13px; color: var(--gray-color-3, #4b5563);}
.screening_error {color: var(--red-color-1);}
.screening_refunded {
    display: inline-flex; align-items: center; margin-inline-start: 6px; padding: 0 8px; height: 20px; border-radius: 6px;
    background: var(--primary-color-9, #eff4ff); color: var(--primary-color-3, #2563eb); font-size: 11px; font-weight: 500;
}

/* ------------------------------- PROMO ------------------------------- */

.screening_promo_sidebar {margin-top: 14px;}
.screening_promo_hint {color: var(--gray-color-3); font-size: 13px; line-height: 1.5; padding-top: 6px; padding-bottom: 12px;}
.screening_promo_row {display: flex; align-items: stretch; gap: 8px;}
.screening_promo_input {
    flex: 1; width: 100%; height: 32px; padding: 0 12px; border: 1px solid var(--gray-color-13); border-radius: 8px;
    color: var(--black-color); font-size: 14px; text-transform: uppercase; transition: border-color 0.2s ease-out;
}
.screening_promo_input:focus {border-color: var(--primary-color-4);}
.screening_promo_input.error {border-color: var(--red-color-1);}
.screening_promo_input::placeholder {text-transform: none; color: var(--gray-color-5);}
.screening_promo_error {display: none; color: var(--red-color-1); font-size: 12px; line-height: 1.4; padding-top: 8px;}
.screening_promo_error.show {display: block;}
.screening_promo_applied {
    display: none; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--primary-color-4); border-radius: 8px;
    background-color: var(--primary-color-9, #eff4ff); color: var(--primary-color-3, #2563eb); font-size: 13px; line-height: 1.4;
    margin-bottom: 12px;
}
.screening_promo_applied.show {display: flex;}
.screening_promo_applied > i {flex: none; font-size: 15px;}
@media only screen and (max-width: 1024px) {
    .screening_promo_sidebar {min-height: 0; margin-top: 4px;}
}
@media only screen and (max-width: 768px) {
    /* the promo box sits below the list, so it needs its own separator instead of the sidebar card */
    .screening_promo_sidebar {margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--gray-color-13);}
    .screening_promo_hint {font-size: 14px; padding-bottom: 14px;}
    .screening_promo_row {gap: 10px;}
    .screening_promo_input {height: 44px; border-radius: 10px; font-size: 16px;}
    .screening_promo_row > .btn_primary {min-width: 110px;}
    .screening_promo_error {font-size: 13px;}
    .screening_promo_applied {font-size: 14px; border-radius: 10px;}
}

/* ------------------------------- INSIGHTS (brief, flags, questions) ------------------------------- */

.screening_cand_brief {margin-top: 3px; color: var(--gray-color-2, #374151); font-size: 12px; line-height: 1.4;}
.smd_subject_brief {margin-top: 2px; color: var(--gray-color-2, #374151); font-size: 13px; line-height: 1.45;}
.smd_signals {display: flex; flex-direction: column; gap: 8px;}
.smd_signal_item {
    display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 10px;
    border: 1px solid transparent; font-size: 13px; line-height: 1.45; color: var(--gray-color-2, #374151);
}
.smd_signal_dot {
    display: flex; align-items: center; justify-content: center; flex: none; width: 22px; height: 22px; border-radius: 7px;
    background: var(--white-color, #fff); font-size: 11px;
}
.smd_signal_item.green {background: var(--scr-green-bg, #ecfdf5);}
.smd_signal_item.green .smd_signal_dot {color: var(--scr-green-fg, #059669);}
.smd_signal_item.warning {background: var(--scr-amber-bg, #fffbeb);}
.smd_signal_item.warning .smd_signal_dot {color: var(--scr-amber-fg, #d97706);}
.smd_signal_item.critical {background: var(--scr-red-bg, #fef2f2);}
.smd_signal_item.critical .smd_signal_dot {color: var(--scr-red-fg, #dc2626);}
.smd_questions {list-style: none; counter-reset: smq; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0;}
.smd_question {
    counter-increment: smq; position: relative; padding: 14px; padding-inline-start: 50px;
    border: 1px solid var(--gray-color-13); border-radius: 12px; background: var(--white-color, #fff);
}
.smd_question::before {
    content: counter(smq); position: absolute; inset-inline-start: 12px; top: 13px;
    display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px;
    background: var(--primary-color-9, #eff4ff); color: var(--primary-color-3, #2563eb); font-size: 13px; font-weight: 600;
}
.smd_q_text {font-size: 14px; line-height: 1.5; color: var(--black-color, #111827);}
.smd_q_reason {
    display: flex; align-items: flex-start; gap: 6px; margin-top: 6px; font-size: 12px; line-height: 1.45; color: var(--gray-color-4);
}
.smd_q_reason > i {position: relative; top: 2px; flex: none; font-size: 11px; color: var(--primary-color-4, #3b82f6);}
.smd_qempty {
    display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; border-radius: 10px;
    background: var(--gray-color-13, #f9fafb); font-size: 13px; color: var(--gray-color-3);
}
.smd_upsell {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 12px 14px;
    border: 1px dashed var(--gray-color-11, #e5e7eb); border-radius: 10px; background: var(--gray-color-13, #f9fafb);
}
.smd_upsell_text {display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gray-color-3);}
.smd_upsell_text > i {flex: none; font-size: 13px; color: var(--gray-color-5);}
.smd_upsell .btn_primary.small {flex: none; width: auto; height: 34px; padding: 0 14px; font-size: 13px;}

/* report: signals (green/red flags) */

.user_signals {display: flex; flex-direction: column; gap: 10px; margin-top: 20px;}
.user_signal_item {
    display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 12px;
    border: 1px solid transparent; font-size: 14px; line-height: 1.5; color: var(--gray-color-2, #374151);
}
.user_signal_dot {
    display: flex; align-items: center; justify-content: center; flex: none; width: 26px; height: 26px; border-radius: 8px;
    background: var(--white-color, #fff); font-size: 12px;
}
.user_signal_item.green {background: var(--scr-green-bg, #ecfdf5);}
.user_signal_item.green .user_signal_dot {color: var(--scr-green-fg, #059669);}
.user_signal_item.warning {background: var(--scr-amber-bg, #fffbeb);}
.user_signal_item.warning .user_signal_dot {color: var(--scr-amber-fg, #d97706);}
.user_signal_item.critical {background: var(--scr-red-bg, #fef2f2);}
.user_signal_item.critical .user_signal_dot {color: var(--scr-red-fg, #dc2626);}

/* report: interview questions */

.user_questions {list-style: none; counter-reset: uq; display: flex; flex-direction: column; margin: 20px 0 0; padding: 0;}
.user_question {
    counter-increment: uq; position: relative; padding-block: 18px; padding-inline-start: 40px; padding-inline-end: 4px;
    border-bottom: 1px solid var(--gray-color-13);
}
.user_question:last-child {border-bottom: 0; padding-bottom: 4px;}
.user_question::before {
    content: counter(uq); position: absolute; inset-inline-start: 0; top: 18px;
    display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px;
    background: var(--primary-color-9, #eff4ff); color: var(--primary-color-3, #2563eb); font-size: 13px; font-weight: 600;
}
.user_q_text {font-size: 15px; line-height: 1.55; color: var(--black-color, #111827);}
.user_q_reason {margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--gray-color-4);}

/* report: verdict & job fit */

.user_verdict {margin-top: 20px; max-width: 720px;}
.user_verdict .smd_rec2 {position: relative;}
.user_verdict_badge {
    display: inline-flex; align-items: center; flex: none; margin-inline-start: auto; padding: 0 12px; height: 26px;
    border-radius: 20px; font-size: 12px; font-weight: 600; background: var(--gray-color-13, #f9fafb); color: var(--gray-color-2);
}
.user_verdict_badge.verdict_shortlist {background: var(--scr-green-bg, #ecfdf5); color: var(--scr-green-fg, #059669);}
.user_verdict_badge.verdict_maybe {background: var(--scr-amber-bg, #fffbeb); color: var(--scr-amber-fg, #d97706);}
.user_verdict_badge.verdict_rejected {background: var(--scr-red-bg, #fef2f2); color: var(--scr-red-fg, #dc2626);}
.user_verdict_actions {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px;}
.user_verdict_actions .btn_primary {flex: none; width: auto; padding: 0 18px;}

/* ------------------------------- SWITCH FORECAST (list & match details) ------------------------------- */

.screening_move_row {display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px;}
.screening_move_badge {
    display: inline-flex; align-items: center; gap: 6px; padding: 0 8px; height: 20px; border-radius: 6px;
    font-size: 11px; font-weight: 500; background: var(--scr-amber-bg); color: var(--scr-amber-fg);
}
.screening_move_badge.move_high {background: var(--scr-red-bg); color: var(--scr-red-fg);}
.screening_move_badge > i {font-size: 11px;}

html.dark .screening_move_badge {background: var(--gray-color-13); color: var(--gray-color-2);}

/* ------------------------------- SHARE MODAL ------------------------------- */

.share_hint {margin: 0 0 16px; color: var(--gray-color-4); font-size: 13px; line-height: 1.5;}
