/* Combined frontend styles for AMS */

@import url('style.css');
@import url('icon.css');
@import url('bootstrap-icons/bootstrap-icons.min.css');
@import url('calendar-js/calendarJS.css');
@import url('fancygrid/fancy.min.css');

/* Consolidated module styles: campus, career portal, leaderboard */

#group-container,
.ams-campus-page {
    --ams-campus-surface: #fff;
    --ams-campus-border: var(--bb-content-border-color, #d6d9dd);
    --ams-campus-muted: #5b6673;
    --ams-campus-soft: #eef2f5;
    --ams-campus-accent: #003756;
}

.ams-campus-page {
    margin: 0;
}

.ams-campus-page__shell {
    display: block;
}

.ams-campus-page__header {
    margin-bottom: 16px;
}

.ams-campus-page__title {
    margin: 0 0 6px;
    font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem);
    line-height: 1.2;
}

.ams-campus-page__description {
    margin: 0;
    color: var(--ams-campus-muted);
}

.ams-campus-page__body {
    display: block;
}

.ams-campus-page__body.has-aside {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}

.ams-campus-page__content,
.ams-campus-page__aside {
    display: block;
}

.ams-campus-page__content--full {
    grid-column: 1 / -1;
}

.ams-campus-panel {
    border: 0;
    background: transparent;
}

.ams-campus-panel__header {
    margin-bottom: 10px;
}

.ams-campus-panel__title {
    margin: 0;
    font-size: 1.05rem;
}

.ams-campus-panel__description {
    margin: 4px 0 0;
    color: var(--ams-campus-muted);
    font-size: 0.95rem;
}

.ams-campus-panel__body {
    padding: 0;
}

.ams-campus-note-list {
    margin: 0;
    padding-left: 1rem;
}

.ams-campus-note-list li + li {
    margin-top: 10px;
}

.ams-campus-empty {
    padding: 20px;
    border: 1px dashed var(--ams-campus-border);
    background: #fafbfc;
    color: var(--ams-campus-muted);
}

.ams-campus-panel--note-block {
    margin-top: 0;
}

#student-search {
    position: relative;
}

header.entry-header {
    margin: 0;
}

.campus-row {
    display: none;
}

.year-row {
    cursor: pointer;
    font-weight: bold;
    background: #f3f3f3;
}

.year-row:hover {
    background: #e8e8e8;
}

#student-results a {
    color: blue;
}

.al_reg {
    padding: 20px;
    border: solid 2px;
    margin-bottom: 20px;
    background-color: #f2f2f2;
}
@media only screen and (min-width: 800px) {
    .al_reg {
        background-image: url(https://my.ateb.us/wp-content/uploads/sites/2/2024/06/Degree-Verification-jpg.webp);
        background-size: contain;
        background-repeat: no-repeat;
        background-position-x: right;
    }
}

.ams-ui-loader,
.loading-indicator {
    position: absolute;
    background: rgb(0 0 0 / 50%);
    inset: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 22px;
}

.invalid input,
.invalid select,
.invalid textarea {
    border: 1px red solid;
}
#student-search-roll.invalid {
    border: solid 1px red;
}

#student-search-roll::placeholder,
#student-search-roll::-webkit-input-placeholder,
#student-search-roll:-moz-placeholder,
#student-search-roll:-ms-input-placeholder {
  color: black;
}
#roll_finder {
    font-size: 16px;
}

[style="height: 35px; visibility: hidden;"] {
    display: none;
}

.ams-campus-page table th,
.ams-campus-page table td,
#student-search table th,
#student-search table td,
#student-results table th,
#student-results table td,
#group-container table th,
#group-container table td,
.roll-results table th,
.roll-results table td {
    padding: 5px;
}

.ams-campus-page table,
#student-search table,
#student-results table,
#group-container table,
.roll-results table {
    border: solid 1px;
}

.ams-campus-page thead,
.ams-campus-page tfoot,
#student-search thead,
#student-search tfoot,
#student-results thead,
#student-results tfoot,
#group-container thead,
#group-container tfoot,
.roll-results thead,
.roll-results tfoot {
    background: #cdd2d5;
}  

.ams-ui-hidden,
.d-none {
    display: none;
}

#student-note {
    border: 1px solid;
    padding: 15px;
    background: #cdd2d5;
} 

#student-info {
    position: relative;
}

#student-info-report {
    position: absolute;
    top: 0;
    right: 0;
    font-weight: bold;
}

div#student-results h4 {
    margin-bottom: 2px;
}

.roll-results table {
    margin-bottom: 0;
}

.roll-results .desc {
    margin-top: 10px;
    line-height: 1.2;
}

.roll-result {
    cursor: pointer;
}

#field_remark_bug {
    min-height: 150px;
}

.ams-ui-span-12,
.span-12 {
    -ms-grid-column-span: 12;
    grid-column: span 12;
}

div#grid-container {
    width: 100%;
}

.ams-campus-group,
.group-cover {
    margin-top: -30px;
    margin-bottom: -35px;
    background-color: hsl(0deg 0% 100% / 69%);
    background-image: var(--ams-campus-cover-image);
    background-size: cover;
    background-blend-mode: soft-light;
}

.group-title {
    font-size: calc(12px + 1.5vw);
    font-weight: 500;
    line-height: 2rem;
}

.group-body {
    padding: 20px 10px 56px;
}

.group-head {
    margin-bottom: 15px;
}

.group-desc {
    margin-top: -10px;
    margin-bottom: 10px;
}

.group-content {
    display: flex;
    justify-content: space-between;
    gap: 5px;
}

.group-info {
    width: max-content;
    padding: 10px;
    background: #00000091;
    color: white;
}

.group-div {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.group-members {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
    max-height: 120px;
    overflow-y: auto;
}

.group-data {
    position: relative;
    margin-top: 15px;
    background: #00000045;
    color: white;
}

.group-tabs-content > div:not(.active) {
    display: none;
}

.add-items {
    position: absolute;
    top: 5px;
    right: 5px;
    background: black;
    cursor: pointer;
    font-size: 27px;
}

.group-tabs {
    display: flex;
    margin: 0;
    list-style: none;
}

.group-tabs li {
    padding: 5px 10px;
    cursor: pointer;
    font-weight: 600;
}

.group-tabs li.active {
    background: black;
}

@media (max-width: 900px) {
    .ams-campus-page__body.has-aside {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .group-content {
        flex-direction: column;
    }

    .group-info {
        width: 100%;
    }
}

/* ---- AMS Career Portal ---- */

/* ==========================================================
   AMS Career Portal — styles.css
   Site-matched design: Jost font, #385DFF primary, #003756 navy
   0 border-radius (matches theme), sharp corners throughout
   ========================================================== */

header.entry-header { display: none; }

/* ----------------------------------------------------------
   Tokens — inherit BuddyBoss vars, fall back to site values
   ---------------------------------------------------------- */
.ams-career-portal {
    --cp-blue:     var(--bb-primary-button-background-regular, #385DFF);
    --cp-blue-hv:  #1E42DD;
    --cp-navy:     #003756;
    --cp-green:    #14B550;
    --cp-green-hv: #0e9940;
    --cp-text:     var(--bb-body-text-color, #5A5A5A);
    --cp-head:     var(--bb-headings-color, #1E2132);
    --cp-muted:    #9B9C9F;
    --cp-bg:       var(--bb-content-background-color, #FFFFFF);
    --cp-bg-alt:   var(--bb-content-alternate-background-color, #F2F4F5);
    --cp-border:   var(--bb-content-border-color, #D6D9DD);
    --cp-radius:   0;
    --cp-row-h:    46px;
    font-family: 'Jost', arial, sans-serif;
    font-size: 14px;
    color: var(--cp-text);
}

/* ----------------------------------------------------------
   Tabs
   ---------------------------------------------------------- */
.cp-tabs {
    display: flex;
    border: 2px solid var(--cp-border);
    background: var(--cp-bg);
}

button.cp-tab.is-active {
    background: #f5dbdb;
}

.cp-tab {
    padding: 11px 22px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-family: inherit;
    font-size: .875rem;
    font-weight: 600;
    color: var(--cp-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 7px;
    transition: color .15s, border-color .15s;
    letter-spacing: .01em;
}

.cp-tab:hover { color: var(--cp-head); }

.cp-tab--cv.is-active {
    color: var(--cp-blue);
    border-bottom-color: var(--cp-blue);
}

.cp-tab--jobs.is-active {
    color: var(--cp-green);
    border-bottom-color: var(--cp-green);
}

.cp-tab__count {
    font-size: .75rem;
    font-weight: 700;
    padding: 1px 7px;
    background: var(--cp-bg-alt);
    color: var(--cp-text);
    line-height: 1.6;
}

.cp-tab--cv.is-active   .cp-tab__count { background: var(--cp-blue);  color: #fff; }
.cp-tab--jobs.is-active .cp-tab__count { background: var(--cp-green); color: #fff; }

/* ----------------------------------------------------------
   Stats strip — single compact bar, no duplication
   ---------------------------------------------------------- */
.cp-stats-strip {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 8px 0;
    border-bottom: 1px solid var(--cp-border);
    background: var(--cp-bg);
    flex-wrap: wrap;
}

.cp-stat {
    font-size: .8125rem;
    color: var(--cp-muted);
}

.cp-stat strong {
    font-weight: 700;
    color: var(--cp-head);
    margin-right: 2px;
}

.cp-stat--sep {
    width: 1px;
    height: 14px;
    background: var(--cp-border);
    align-self: center;
    flex-shrink: 0;
}

/* ----------------------------------------------------------
   Sections
   ---------------------------------------------------------- */
.cp-section { display: none; }
.cp-section.is-active { display: block; }

/* ----------------------------------------------------------
   Section header
   ---------------------------------------------------------- */
.cp-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0 10px;
    border-bottom: 1px solid var(--cp-border);
    margin-bottom: 10px;
    gap: 10px;
    flex-wrap: wrap;
}

.cp-section-head__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--cp-head);
    letter-spacing: .01em;
}

.cp-section-head__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ----------------------------------------------------------
   Directory head — BB members style (search + sort + filter + actions)
   ---------------------------------------------------------- */
.cp-dir-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 0 8px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--cp-border);
    margin-bottom: 6px;
}

.cp-dir-search { flex: 1; min-width: 200px; }

.cp-search-input {
    width: 100%;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    font-family: inherit;
    font-size: .875rem;
    background: var(--cp-bg);
    color: var(--cp-text);
    box-sizing: border-box;
    transition: border-color .13s;
}

.cp-search-input:focus {
    outline: none;
    border-color: var(--cp-blue);
}

.cp-section--jobs .cp-search-input:focus { border-color: var(--cp-green); }

.cp-dir-filters {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

/* Sort select (BB inline style) */
.cp-select-wrap { position: relative; }

.cp-sort-select {
    height: 36px;
    padding: 0 28px 0 10px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    font-family: inherit;
    font-size: .8125rem;
    background: var(--cp-bg);
    color: var(--cp-text);
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239B9C9F'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.cp-sort-select:focus { outline: none; border-color: var(--cp-blue); }

/* Action buttons (Update Profile, My Profile, Post Job, My CV) */
.cp-dir-action {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 36px;
    padding: 0 13px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    font-family: inherit;
    font-size: .8125rem;
    font-weight: 500;
    color: var(--cp-text);
    background: var(--cp-bg);
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .13s, color .13s;
}

.cp-dir-action:hover { border-color: var(--cp-head); color: var(--cp-head); }
.cp-dir-action--cv:hover   { border-color: var(--cp-blue);  color: var(--cp-blue);  }
.cp-dir-action--jobs:hover { border-color: var(--cp-green); color: var(--cp-green); }

.cp-dir-action--primary {
    background: var(--cp-green);
    border-color: var(--cp-green);
    color: #fff;
}

.cp-dir-action--primary:hover { background: var(--cp-green-hv); border-color: var(--cp-green-hv); color: #fff; }

/* ----------------------------------------------------------
   Filter toggle button (matches BB member directory style)
   ---------------------------------------------------------- */
.cp-filter-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 14px;
    background: var(--cp-bg);
    border: 1px solid var(--cp-border);
    font-family: inherit;
    font-size: .875rem;
    font-weight: 500;
    color: var(--cp-text);
    cursor: pointer;
    transition: border-color .13s, color .13s, background .13s;
}

.cp-filter-toggle-btn:hover,
.cp-filter-toggle-btn.is-active {
    border-color: var(--cp-blue);
    color: var(--cp-blue);
    background: #EEF2FF;
}

.cp-filter-active-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--cp-blue);
    color: #fff;
    font-size: .6875rem;
    font-weight: 700;
    line-height: 1;
}

/* ----------------------------------------------------------
   Filter panel (inline collapsible — BB member directory style)
   ---------------------------------------------------------- */
.cp-filter-panel {
    border-top: 1px solid var(--cp-border);
    border-bottom: 1px solid var(--cp-border);
    background: var(--cp-bg);
    padding: 4px 0 14px;
    margin-bottom: 4px;
}

.cp-filter-panel[hidden] { display: none; }

.cp-filter-panel .career-filter-form { margin: 0; }

.cp-filter-panel .career-filter-grid { padding-top: 12px; }

/* Checkbox group (multi-select, member directory style — kept for compat) */
.cp-check-group {
    border: none;
    padding: 0;
    margin: 0;
}

.cp-check-group__legend {
    font-size: .75rem;
    font-weight: 600;
    color: var(--cp-muted);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 6px;
    display: block;
}

.cp-check-group__items {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    max-height: 160px;
    overflow-y: auto;
}

.cp-check-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .875rem;
    color: var(--cp-text);
    cursor: pointer;
    padding: 2px 0;
    white-space: nowrap;
}

.cp-check-label input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: var(--cp-blue);
    cursor: pointer;
    flex-shrink: 0;
}

/* Filter grid (rendered by PHP forms) */
.career-filter-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: flex-end;
    padding: 10px 0 6px;
}

.career-filter-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 150px;
}

.career-filter-field.career-filter-field--full  { flex-basis: 100%; }
.career-filter-field.career-filter-field--half  { min-width: 156px; }

.career-filter-field label {
    font-size: .75rem;
    font-weight: 600;
    color: var(--cp-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.career-filter-input,
.career-filter-field input,
.career-filter-field select {
    height: 32px;
    padding: 0 9px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    font-family: inherit;
    font-size: .8125rem;
    background: var(--cp-bg);
    color: var(--cp-text);
    width: 100%;
    box-sizing: border-box;
    appearance: auto;
}

.career-filter-field input:focus,
.career-filter-field select:focus {
    outline: none;
    border-color: var(--cp-blue);
}

.career-filter-actions {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    padding-top: 2px;
    flex-shrink: 0;
}

/* ----------------------------------------------------------
   Toolbar (count + filter chips in one line)
   ---------------------------------------------------------- */
.cp-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0 4px;
    flex-wrap: wrap;
    min-height: 32px;
}

.cp-toolbar__count {
    font-size: .8125rem;
    color: var(--cp-muted);
    white-space: nowrap;
}

.cp-toolbar__count strong {
    font-weight: 700;
    color: var(--cp-head);
}

/* Active filter chips */
.cp-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 9px;
    font-family: inherit;
    font-size: .75rem;
    font-weight: 500;
    color: #fff;
    border: none;
    cursor: pointer;
    line-height: 1.6;
}

.filter-tag.cv   { background: var(--cp-blue);  }
.filter-tag.jobs { background: var(--cp-green); }
.filter-tag span { opacity: .75; margin-left: 2px; }

.clear-filters {
    font-size: .75rem;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    padding: 2px 6px;
    line-height: 1.6;
    text-decoration: underline;
}

.clear-filters.cv   { color: var(--cp-blue);  }
.clear-filters.jobs { color: var(--cp-green); }

/* ----------------------------------------------------------
   Skeleton loading — animated shimmer rows
   ---------------------------------------------------------- */
.cp-loading {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: var(--cp-border);
    border: 1px solid var(--cp-border);
}
.cp-loading[hidden] { display: none !important; }

.cp-skeleton {
    height: var(--cp-row-h);
    background: linear-gradient(90deg, var(--cp-bg) 25%, var(--cp-bg-alt) 50%, var(--cp-bg) 75%);
    background-size: 200% 100%;
    animation: cp-shimmer 1.4s infinite;
}

@keyframes cp-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ----------------------------------------------------------
   Results list — compact rows
   ---------------------------------------------------------- */
.cp-results {
    display: flex;
    flex-direction: column;
    background: var(--cp-bg);
    border: 1px solid var(--cp-border);
    border-bottom: none;
}

.cp-results:empty {
    background: none;
    border: none;
}

/* Row layout */
.ams-career-row,
.item-card {
    display: grid;
    grid-template-columns: 22px 34px minmax(156px,1.2fr) minmax(120px,2fr) auto;
    align-items: center;
    gap: 0 12px;
    min-height: 0;
    padding: 10px 16px;
    background: var(--cp-bg);
    cursor: default;
    transition: background .1s;
    border: none;
    border-radius: 0;
    box-shadow: none;
    position: relative;
}

.ams-career-row:hover,
.item-card:hover { background: var(--cp-bg-alt); }
.ams-career-row.is-selected,
.item-card.is-selected { background: #EEF2FF; }
.ams-career-row.ams-career-row--jobs.is-selected,
.item-card.jobs-row.is-selected { background: #ECFDF5; }
/* Jobs: no checkbox column */
.ams-career-row--jobs {
    grid-template-columns: 56px minmax(160px,1.4fr) minmax(120px,2fr) auto;
    align-items: center;
    padding: 10px 16px;
    gap: 0 12px;
}

.ams-career-row.ams-career-row--featured,
.item-card.row-featured { border-left: 3px solid #ED9615; padding-left: 11px; }

/* Checkbox */
.cp-row-check {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cp-row-check input[type="checkbox"] {
    width: 14px;
    height: 14px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
}

/* Avatar */
.cp-row-avatar {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .02em;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--cp-bg-alt);
    border: 1px solid var(--cp-border);
}

.cp-row-avatar.cp-av--cv   { background: #EEF2FF; color: var(--cp-blue);  border-color: #c7d2fe; }
.cp-row-avatar.cp-av--jobs { background: #ECFDF5; color: var(--cp-green); border-color: #a7f3d0; }

.cp-row-avatar img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    display: block;
}

/* Identity */
.cp-row-id {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.cp-row-name {
    font-size: .875rem;
    font-weight: 600;
    color: var(--cp-head);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
    min-width: 0;
}

.cp-row-sub {
    font-size: .75rem;
    color: var(--cp-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Context: meta + tags */
.cp-row-ctx {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    overflow: hidden;
}

.cp-row-meta {
    font-size: .75rem;
    color: var(--cp-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cp-row-tags {
    display: flex;
    gap: 4px;
    overflow: hidden;
    flex-wrap: nowrap;
}

.tag {
    display: inline-block;
    padding: 0 5px;
    font-size: .625rem;
    font-weight: 500;
    line-height: 1.65;
    white-space: nowrap;
    background: var(--cp-bg-alt);
    color: var(--cp-muted);
    border: 1px solid var(--cp-border);
}

.tag.tag-primary.cv   { background: var(--cp-blue);  color: #fff; border-color: var(--cp-blue); }
.tag.tag-primary.jobs { background: var(--cp-green); color: #fff; border-color: var(--cp-green); }

/* End: score / salary / date / action */
.cp-row-end {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 5px;
    flex-shrink: 0;
    justify-content: center;
}

/* Job end sub-rows */
.cp-row-end__top {
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: flex-end;
}

.cp-row-end__btns {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}

.cp-row-score {
    font-size: .6875rem;
    font-weight: 700;
    padding: 1px 7px;
    color: #fff;
    white-space: nowrap;
    line-height: 1.6;
}

.cp-row-score.cv   { background: var(--cp-blue);  }
.cp-row-score.jobs { background: var(--cp-green); }

.cp-row-salary {
    font-size: .8125rem;
    font-weight: 700;
    white-space: nowrap;
    color: var(--cp-green);
}

.cp-row-date {
    font-size: .75rem;
    color: var(--cp-muted);
    white-space: nowrap;
}

/* Badges */
.cp-badge {
    font-size: .6rem;
    font-weight: 700;
    padding: 1px 5px;
    letter-spacing: .05em;
    line-height: 1.7;
    vertical-align: middle;
    text-transform: uppercase;
}

.cp-badge--featured { background: #ED9615; color: #fff; }
.cp-badge--urgent   { background: #DB222A; color: #fff; }

/* ----------------------------------------------------------
   Buttons
   ---------------------------------------------------------- */
.cp-btn--primary.cp-btn--cv   { background: var(--cp-blue);  color: #fff; border-color: var(--cp-blue); }
.cp-btn--primary.cp-btn--jobs { background: var(--cp-green); color: #fff; border-color: var(--cp-green); }
.cp-btn--outline.cp-btn--cv   { background: transparent; color: var(--cp-blue);  border-color: var(--cp-blue); }
.cp-btn--outline.cp-btn--jobs { background: transparent; color: var(--cp-green); border-color: var(--cp-green); }

.cp-btn, .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 5px 13px;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: inherit;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.5;
    transition: background .13s, border-color .13s, color .13s;
}

.btn-sm, .cp-btn--sm { padding: 4px 10px; font-size: .75rem; }
.btn-xs, .cp-btn--xs { padding: 3px 9px;  font-size: .75rem; }

.btn-primary.cv { background: var(--cp-blue);  color: #fff; border-color: var(--cp-blue);  }
.btn-primary.cv:hover { background: var(--cp-blue-hv); border-color: var(--cp-blue-hv); }

.btn-primary.jobs { background: var(--cp-green); color: #fff; border-color: var(--cp-green); }
.btn-primary.jobs:hover { background: var(--cp-green-hv); border-color: var(--cp-green-hv); }

.btn-outline.cv { background: transparent; color: var(--cp-blue); border-color: var(--cp-blue); }
.btn-outline.cv:hover { background: var(--cp-blue); color: #fff; }

.btn-outline.jobs { background: transparent; color: var(--cp-green); border-color: var(--cp-green); }
.btn-outline.jobs:hover { background: var(--cp-green); color: #fff; }

/* Apply/submit button in filter panel uses navy */
.career-filter-actions .btn-primary.cv  { background: var(--cp-navy); border-color: var(--cp-navy); }
.career-filter-actions .btn-primary.cv:hover { background: var(--cp-blue); border-color: var(--cp-blue); }

/* ----------------------------------------------------------
   Sticky bulk action bar
   ---------------------------------------------------------- */
.cp-bulkbar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--cp-navy);
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 24px;
    box-shadow: 0 -3px 14px rgba(0,0,0,.22);
    flex-wrap: wrap;
}

.cp-bulkbar__meta {
    font-size: .875rem;
    font-weight: 600;
    white-space: nowrap;
    margin-right: 4px;
}

.cp-bulkbar__meta strong {
    font-size: 1.0625rem;
    margin-right: 2px;
}

.cp-bulkbar__actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-left: auto;
}

.cp-bulkbar .btn-outline.cv,
.cp-bulkbar .btn-outline.jobs,
.cp-bulkbar .btn-sm {
    color: #fff;
    border-color: rgba(255,255,255,.4);
    background: transparent;
}

.cp-bulkbar .btn-outline:hover,
.cp-bulkbar .btn-sm:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.8);
    color: #fff;
}

.cp-bulkbar .btn-primary.cv,
.cp-bulkbar .btn-primary.jobs {
    background: rgba(255,255,255,.15);
    border-color: #fff;
    color: #fff;
}

.cp-bulkbar .btn-primary.cv:hover,
.cp-bulkbar .btn-primary.jobs:hover {
    background: rgba(255,255,255,.28);
}

/* ----------------------------------------------------------
   Pagination
   ---------------------------------------------------------- */
.cp-pagination {
    display: flex;
    justify-content: center;
    gap: 3px;
    padding: 12px 0 4px;
    flex-wrap: wrap;
}

.ams-career-page-btn,
.page-btn {
    min-width: 32px;
    height: 30px;
    padding: 0 9px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    background: var(--cp-bg);
    font-family: inherit;
    font-size: .8125rem;
    color: var(--cp-text);
    cursor: pointer;
    transition: background .12s, color .12s;
}

.ams-career-page-btn:hover:not(.active),
.page-btn:hover:not(.active) { background: var(--cp-bg-alt); }
.ams-career-page-btn.cv.active,
.page-btn.cv.active { background: var(--cp-blue);  border-color: var(--cp-blue);  color: #fff; }
.ams-career-page-btn.jobs.active,
.page-btn.jobs.active { background: var(--cp-green); border-color: var(--cp-green); color: #fff; }

/* ----------------------------------------------------------
   Empty state
   ---------------------------------------------------------- */
.ams-ui-empty,
.empty-state {
    padding: 36px 24px;
    text-align: center;
    color: var(--cp-muted);
    background: var(--cp-bg);
    border: 1px solid var(--cp-border);
    font-size: .9375rem;
}

/* ----------------------------------------------------------
   Career Modal — uses BB site-default modal structure
   ---------------------------------------------------------- */

/* Center the container within the full-screen mask */
#career-detail-modal .modal-mask {
    justify-content: center;
    padding: 20px;
    align-items: flex-start;
    padding-top: 5vh;
}

/* Widen the container for career content */
#career-detail-modal .modal-container.cp-modal-container {
    width: 100%;
    max-width: 860px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

/* bb-model-content fills container */
#career-detail-modal .bb-model-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
    padding: 0;
}

/* Header: title + scope badge aligned in BB model-header */
#career-detail-modal .bb-model-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px 12px;
    flex-shrink: 0;
}

.cp-modal__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--cp-head);
    margin: 0;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cp-modal__scope-badge {
    font-size: .6875rem;
    font-weight: 700;
    padding: 2px 8px;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
    flex-shrink: 0;
}

.cp-modal__scope-badge.cv   { background: #D6DEFF; color: var(--cp-blue);  }
.cp-modal__scope-badge.jobs { background: #D1FAE5; color: var(--cp-green); }

/* Scrollable body */
.cp-modal__body {
    overflow-y: auto;
    padding: 20px;
    flex: 1;
    overscroll-behavior: contain;
}

/* Modal tabs */
.cp-modal-tabs { display: flex; border-bottom: 1px solid var(--cp-border); margin-bottom: 16px; }

.cp-modal-tab {
    padding: 8px 16px;
    font-size: .875rem;
    font-weight: 500;
    color: var(--cp-muted);
    cursor: pointer;
    border: none;
    background: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    font-family: inherit;
}

.cp-modal-tab.is-active { color: var(--cp-head); border-bottom-color: var(--cp-head); }
.cp-modal-tab-pane { display: none; }
.cp-modal-tab-pane.is-active { display: block; }

/* ----------------------------------------------------------
   Application tracking (admin view in modal)
   ---------------------------------------------------------- */
.cp-app-badge {
    display: inline-flex;
    align-items: center;
    font-size: .6875rem;
    font-weight: 700;
    padding: 1px 7px;
    background: var(--cp-bg-alt);
    border: 1px solid var(--cp-border);
    color: var(--cp-muted);
    cursor: pointer;
    transition: border-color .13s, color .13s;
    white-space: nowrap;
}

.cp-app-badge:hover { border-color: var(--cp-blue); color: var(--cp-blue); }

.cp-applied-tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: .5625rem;
    font-weight: 700;
    padding: 1px 6px;
    background: #D1FAE5;
    color: var(--cp-green);
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* BB icon sizing inside compact row contexts */
.cp-rr-loc i[class*="bb-icon"],
.cp-rr-exp i[class*="bb-icon"],
.cp-rr-edu i[class*="bb-icon"],
.cp-rr-notice i[class*="bb-icon"],
.cp-rr-salary i[class*="bb-icon"],
.cp-rr-report i[class*="bb-icon"],
.cp-rr-foot .cp-row-score i[class*="bb-icon"],
.cp-av-btn i[class*="bb-icon"],
.cp-applied-tag i[class*="bb-icon"] {
    font-size: .75em;
    vertical-align: middle;
    line-height: 1;
}

.cp-rr-job i[class*="bb-icon"] {
    font-size: .8em;
    vertical-align: middle;
    opacity: .6;
}

.cp-row-icon-btn {
    background: none;
    border: none;
    padding: 2px 5px;
    cursor: pointer;
    font-size: .875rem;
    color: var(--cp-muted);
    font-family: inherit;
    transition: color .12s;
}

.cp-row-icon-btn:hover { color: var(--cp-head); }
.cp-row-icon-btn--danger:hover { color: #DB222A; }

/* Application list inside modal */
.cp-app-list__header {
    font-size: .8125rem;
    color: var(--cp-muted);
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--cp-border);
}

.cp-app-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--cp-border);
}

.cp-app-item:last-child { border-bottom: none; }

.cp-app-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--cp-bg-alt);
    border: 1px solid var(--cp-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .6875rem;
    font-weight: 700;
    color: var(--cp-muted);
}

.cp-app-avatar img { width: 36px; height: 36px; object-fit: cover; display: block; }

.cp-app-info { flex: 1; min-width: 0; }

.cp-app-name {
    font-size: .875rem;
    font-weight: 600;
    color: var(--cp-head);
    text-decoration: none;
    display: block;
}

.cp-app-name:hover { color: var(--cp-blue); }

.cp-app-meta { font-size: .75rem; color: var(--cp-muted); }

.cp-app-note {
    font-size: .8125rem;
    color: var(--cp-text);
    margin: 5px 0 0;
    background: var(--cp-bg-alt);
    padding: 6px 10px;
    border-left: 3px solid var(--cp-border);
}

.cp-app-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}

.cp-app-status-select {
    font-size: .75rem;
    padding: 3px 7px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    font-family: inherit;
    background: var(--cp-bg);
    color: var(--cp-text);
    cursor: pointer;
}

/* Status pills */
.cp-status-pill {
    display: inline-block;
    font-size: .6875rem;
    font-weight: 700;
    padding: 2px 8px;
    text-transform: capitalize;
    line-height: 1.6;
}

.cp-status-pill--applied    { background: #EEF2FF; color: var(--cp-blue);  }
.cp-status-pill--reviewed   { background: #FEF3C7; color: #92400e; }
.cp-status-pill--shortlisted { background: #D1FAE5; color: var(--cp-green); }
.cp-status-pill--rejected   { background: #FEE2E2; color: #DC2626; }

/* ----------------------------------------------------------
   Apply panel (inside job detail modal)
   ---------------------------------------------------------- */
.cp-apply-panel {
    margin-top: 16px;
    padding: 16px;
    background: var(--cp-bg-alt);
    border: 1px solid var(--cp-border);
}

.cp-apply-panel h4 {
    font-size: .875rem;
    font-weight: 700;
    color: var(--cp-head);
    margin: 0 0 8px;
}

.cp-apply-note {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    font-family: inherit;
    font-size: .875rem;
    background: var(--cp-bg);
    color: var(--cp-text);
    box-sizing: border-box;
    resize: vertical;
}

.cp-apply-note:focus { outline: none; border-color: var(--cp-green); }

/* ----------------------------------------------------------
   CV template selector grid
   ---------------------------------------------------------- */
.cp-cv-templates {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 8px;
}

.cp-cv-tpl {
    border: 2px solid var(--cp-border);
    padding: 14px 12px;
    text-align: center;
    cursor: pointer;
    transition: border-color .13s;
}

.cp-cv-tpl:hover  { border-color: var(--cp-blue); }
.cp-cv-tpl.is-active { border-color: var(--cp-blue); background: #EEF2FF; }

.cp-cv-tpl__icon { font-size: 1.75rem; margin-bottom: 6px; }

.cp-cv-tpl__name {
    font-size: .8125rem;
    font-weight: 700;
    color: var(--cp-head);
    margin-bottom: 3px;
}

.cp-cv-tpl__desc {
    font-size: .75rem;
    color: var(--cp-muted);
}

/* Job description content */
.cp-job-desc { font-size: .9375rem; line-height: 1.7; color: var(--cp-text); }
.cp-job-desc p  { margin: 0 0 10px; }
.cp-job-desc ul { margin: 0 0 10px; padding-left: 20px; }

.cp-loading-inline { padding: 20px; text-align: center; color: var(--cp-muted); font-size: .875rem; }

/* Modal detail view */
.detail-header {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--cp-border);
}

.detail-avatar {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    overflow: hidden;
}

.detail-avatar.cv   { background: var(--cp-blue);  }
.detail-avatar.jobs { background: var(--cp-green); }

.detail-avatar img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    display: block;
}

.detail-info { flex: 1; min-width: 0; }

.detail-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--cp-head);
    margin-bottom: 2px;
    line-height: 1.3;
}

.detail-subtitle {
    font-size: .875rem;
    color: var(--cp-muted);
    margin-bottom: 8px;
}

.detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

.detail-meta-item {
    font-size: .8125rem;
    color: var(--cp-text);
}

.detail-meta-item + .detail-meta-item::before {
    content: ' · ';
    color: var(--cp-border);
}

.detail-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.detail-section {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--cp-border);
}

.detail-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.detail-section h3 {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--cp-muted);
    margin: 0 0 8px;
}

.item-tags { display: flex; flex-wrap: wrap; gap: 5px; }

.ams-ui-empty__actions,
.ams-career-empty-actions,
.career-empty-actions { margin-top: 10px; }

/* Override career.css wide-screen 50% card width */
@media (min-width: 1100px) {
    .ams-career-row,
    .item-card { width: 100%; }
}

/* ----------------------------------------------------------
   Job form (inside modal)
   ---------------------------------------------------------- */
.cp-job-form { display: flex; flex-direction: column; gap: 0; }

.cp-job-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
    margin-bottom: 12px;
}

.cp-job-form__full { grid-column: 1 / -1; }

.cp-job-form__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cp-job-form__label {
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--cp-muted);
}

.cp-job-form__input,
.cp-job-form__select,
.cp-job-form__textarea {
    padding: 6px 9px;
    border: 1px solid var(--cp-border);
    border-radius: 0;
    font-family: inherit;
    font-size: .875rem;
    background: var(--cp-bg);
    color: var(--cp-text);
    width: 100%;
    box-sizing: border-box;
    transition: border-color .13s;
}

.cp-job-form__input:focus,
.cp-job-form__select:focus,
.cp-job-form__textarea:focus {
    outline: none;
    border-color: var(--cp-green);
}

.cp-job-form__textarea { resize: vertical; min-height: 80px; }

.cp-job-form__checks {
    display: flex;
    gap: 20px;
    align-items: center;
    padding: 8px 0;
}

.cp-job-form__check-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .875rem;
    cursor: pointer;
}

.cp-job-form__actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding-top: 12px;
    border-top: 1px solid var(--cp-border);
    margin-top: 4px;
}

.cp-job-form__msg {
    font-size: .8125rem;
    padding: 6px 10px;
    margin-top: 8px;
    display: none;
}

.cp-job-form__msg.is-success { background: #DCFCE7; color: #15803d; display: block; }
.cp-job-form__msg.is-error   { background: #FEE2E2; color: #dc2626; display: block; }

/* Delete button on job rows */
.cp-row-delete {
    background: none;
    border: none;
    color: #DB222A;
    font-size: .75rem;
    cursor: pointer;
    padding: 2px 5px;
    opacity: .55;
    transition: opacity .13s;
    font-family: inherit;
}

.cp-row-delete:hover { opacity: 1; }

/* ----------------------------------------------------------
   Resume row — [cb] [avatar] [body] [aside]
   ---------------------------------------------------------- */

.cp-rr {
    display: grid;
    grid-template-columns: 14px 36px 1fr auto;
    gap: 0 10px;
    padding: 8px 14px 8px 12px;
    background: var(--cp-bg);
    border-bottom: 1px solid var(--cp-border);
    align-items: center;
    transition: background .1s;
    position: relative;
}
.cp-rr:hover { background: var(--cp-bg-alt); }
.cp-rr.is-selected { background: #EEF2FF; }
.cp-rr--open { border-left: 3px solid var(--cp-green); padding-left: 9px; }

/* Checkbox */
.cp-rr-check { display: flex; align-items: center; }
.cp-rr-check input[type="checkbox"] {
    width: 12px;
    height: 12px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: var(--cp-blue);
}

/* Avatar */
.cp-rr-av { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.cp-rr-avatar {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    background: #EEF2FF;
    color: var(--cp-blue);
    border: 1px solid #c7d2fe;
    font-size: .5625rem;
    font-weight: 700;
    letter-spacing: .04em;
}
.cp-rr-avatar img { width: 36px; height: 36px; object-fit: cover; display: block; }

.cp-rr-score {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    font-size: .5625rem;
    font-weight: 700;
    padding: 1px 4px;
    background: var(--cp-blue);
    color: #fff;
    width: 100%;
    justify-content: center;
    white-space: nowrap;
    line-height: 1.6;
}

/* Body */
.cp-rr-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.cp-rr-name-line {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    line-height: 1.25;
}
.cp-rr-name { font-size: .875rem; font-weight: 700; color: var(--cp-head); }

.cp-rr-sector {
    font-size: .5625rem;
    font-weight: 600;
    padding: 0 5px;
    background: #EEF2FF;
    color: var(--cp-blue);
    white-space: nowrap;
    line-height: 1.7;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.cp-rr-headline {
    font-size: .8125rem;
    color: var(--cp-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cp-fresher { font-style: normal; color: var(--cp-muted); font-weight: 400; }

.cp-rr-attrs { display: flex; flex-wrap: wrap; gap: 0 10px; align-items: center; }
.cp-rr-attr {
    font-size: .75rem;
    color: var(--cp-muted);
    display: inline-flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}
.cp-rr-attr i[class*="bb-icon"] { font-size: .8em; opacity: .55; flex-shrink: 0; }

.cp-rr-skills { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 2px; }

/* Aside */
.cp-rr-aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
    min-width: 110px;
}
.cp-rr-salary { font-size: .8125rem; font-weight: 700; color: var(--cp-green); white-space: nowrap; }
.cp-rr-notice {
    font-size: .6875rem;
    color: var(--cp-muted);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 2px;
}
.cp-rr-notice i[class*="bb-icon"] { font-size: .8em; opacity: .55; }
.cp-rr-date { font-size: .6875rem; color: var(--cp-muted); white-space: nowrap; }

.cp-rr-actions {
    display: flex;
    align-items: center;
    gap: 1px;
    flex-wrap: nowrap;
    justify-content: flex-end;
    margin-top: 3px;
}

/* CTA buttons */
.cp-rr-cta {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: inherit;
    font-size: .75rem;
    font-weight: 600;
    padding: 4px 10px;
    border: 1px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    line-height: 1.4;
    transition: background .12s, color .12s, border-color .12s;
}
.cp-rr-cta--dl { background: var(--cp-blue); color: #fff; border-color: var(--cp-blue); }
.cp-rr-cta--dl:hover { background: var(--cp-navy); border-color: var(--cp-navy); color: #fff; }
.cp-rr-cta--view { background: transparent; color: var(--cp-blue); border-color: var(--cp-blue); }
.cp-rr-cta--view:hover { background: var(--cp-blue); color: #fff; }

/* Connect button wrapper */
.cp-rr-connect { display: inline-flex; align-items: center; }
.cp-rr-connect .generic-button a,
.cp-rr-connect button { font-size: .7rem !important; padding: 3px 7px !important; }

/* Icon-only action buttons */
.cp-rr-icon-btn {
    background: none;
    border: none;
    padding: 4px 5px;
    cursor: pointer;
    color: var(--cp-muted);
    font-size: .875rem;
    transition: color .12s;
    display: inline-flex;
    align-items: center;
    line-height: 1;
}
.cp-rr-icon-btn:hover { color: var(--cp-head); }
.cp-rr-icon-btn.is-active { color: var(--cp-blue); }

/* "Open to work" pill */
.cp-open-pill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: .5rem;
    font-weight: 700;
    color: #15803d;
    background: #dcfce7;
    padding: 1px 5px;
    text-transform: uppercase;
    letter-spacing: .3px;
    vertical-align: middle;
    white-space: nowrap;
}
.cp-open-pill::before {
    content: '';
    width: 4px;
    height: 4px;
    background: #16a34a;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ----------------------------------------------------------
   Job row — [logo] [body] [aside]
   ---------------------------------------------------------- */

.cp-jr {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 0 10px;
    padding: 8px 14px 8px 12px;
    background: var(--cp-bg);
    border-bottom: 1px solid var(--cp-border);
    align-items: center;
    transition: background .1s;
    position: relative;
}
.cp-jr:hover { background: var(--cp-bg-alt); }
.cp-jr.is-selected { background: #ECFDF5; }
.cp-jr--featured { border-left: 3px solid #ED9615; padding-left: 9px; }

/* Company logo/initials */
.cp-jr-logo {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .5625rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    flex-shrink: 0;
    overflow: hidden;
    background: #ECFDF5;
    color: var(--cp-green);
    border: 1px solid #a7f3d0;
}

/* Job body */
.cp-jr-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.cp-jr-title-line { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; line-height: 1.25; }
.cp-jr-title { font-size: .875rem; font-weight: 700; color: var(--cp-head); }

.cp-jr-company {
    font-size: .8125rem;
    color: var(--cp-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cp-jr-attrs { display: flex; flex-wrap: wrap; gap: 0 8px; align-items: center; }
.cp-jr-attr {
    font-size: .75rem;
    color: var(--cp-muted);
    display: inline-flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}
.cp-jr-attr:not(:last-child)::after {
    content: '·';
    margin-left: 8px;
    color: var(--cp-border);
}
.cp-jr-attr i[class*="bb-icon"] { font-size: .8em; opacity: .55; flex-shrink: 0; }

.cp-jr-tags { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 2px; }

/* Job aside */
.cp-jr-aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
    min-width: 110px;
}
.cp-jr-salary { font-size: .8125rem; font-weight: 700; color: var(--cp-green); white-space: nowrap; }
.cp-jr-date { font-size: .6875rem; color: var(--cp-muted); white-space: nowrap; }

.cp-jr-actions {
    display: flex;
    align-items: center;
    gap: 1px;
    flex-wrap: nowrap;
    justify-content: flex-end;
    margin-top: 3px;
}

/* View button */
.cp-jr-view {
    display: inline-flex;
    align-items: center;
    font-family: inherit;
    font-size: .75rem;
    font-weight: 600;
    padding: 4px 10px;
    background: var(--cp-blue);
    color: #fff;
    border: 1px solid var(--cp-blue);
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.4;
    transition: background .12s, border-color .12s;
}
.cp-jr-view:hover { background: var(--cp-navy); border-color: var(--cp-navy); }

/* App count badge */
.cp-jr-apps {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: .6875rem;
    font-weight: 700;
    padding: 3px 7px;
    background: var(--cp-bg-alt);
    border: 1px solid var(--cp-border);
    color: var(--cp-muted);
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .12s, color .12s;
}
.cp-jr-apps:hover { border-color: var(--cp-blue); color: var(--cp-blue); }
.cp-jr-apps span { font-weight: 400; }

/* Icon buttons (edit/delete) */
.cp-jr-icon-btn {
    background: none;
    border: none;
    padding: 4px 5px;
    cursor: pointer;
    color: var(--cp-muted);
    font-size: .875rem;
    transition: color .12s;
    display: inline-flex;
    align-items: center;
    line-height: 1;
}
.cp-jr-icon-btn:hover { color: var(--cp-head); }
.cp-jr-icon-btn--danger:hover { color: #DB222A; }

/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */
@media (max-width: 860px) {
    .cp-rr { grid-template-columns: 14px 32px 1fr auto; gap: 0 8px; padding: 7px 10px 7px 10px; }
    .cp-rr-aside { min-width: 90px; }
    .cp-rr-avatar { width: 32px; height: 32px; }
    .cp-rr-avatar img { width: 32px; height: 32px; }
    .cp-jr { grid-template-columns: 32px 1fr auto; gap: 0 8px; padding: 7px 10px 7px 10px; }
    .cp-jr-logo { width: 32px; height: 32px; }
    .cp-jr-aside { min-width: 90px; }
    .cp-jr-tags { display: none; }
}

@media (max-width: 560px) {
    .cp-stats-strip { gap: 10px; }
    .cp-tab { padding: 10px 14px; font-size: .8125rem; }

    #career-detail-modal .modal-container.cp-modal-container { max-height: 95vh; }
    .cp-bulkbar { padding: 8px 12px; }
    .cp-bulkbar__actions { margin-left: 0; }

    /* Resume: hide avatar on very small */
    .cp-rr { grid-template-columns: 14px 1fr auto; }
    .cp-rr-av { display: none; }
    .cp-rr-attrs { display: none; }

    /* Jobs: hide logo on very small */
    .cp-jr { grid-template-columns: 1fr auto; }
    .cp-jr-logo { display: none; }
    .cp-jr-attrs { display: none; }
}

/* ----------------------------------------------------------
   Individual job page
   ---------------------------------------------------------- */
.cp-job-single { max-width: 800px; margin: 0 auto; padding: 0 0 56px; }

.cp-job-single__back { margin-bottom: 16px; }
.cp-job-single__back-link {
    font-size: .875rem;
    color: var(--cp-blue);
    text-decoration: none;
}
.cp-job-single__back-link:hover { text-decoration: underline; }

.cp-job-single__header {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 24px;
    background: #fff;
    border: 1px solid var(--cp-border);
    margin-bottom: 16px;
}

.cp-job-single__logo {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    background: var(--cp-navy);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 800;
    flex-shrink: 0;
}

.cp-job-single__title {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--cp-navy);
    margin: 0 0 4px;
}

.cp-job-single__company {
    font-size: 1rem;
    color: var(--cp-muted);
    margin-bottom: 10px;
}

.cp-job-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.cp-job-single__meta span {
    font-size: .8125rem;
    color: #4b5563;
    background: #f3f4f6;
    padding: 3px 10px;
}

.cp-job-single__apply-bar {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--cp-border);
    margin-bottom: 16px;
}

.cp-apply-actions { display: flex; gap: 10px; margin-top: 12px; }

.cp-job-single__body {
    background: #fff;
    border: 1px solid var(--cp-border);
    padding: 24px;
}

.cp-job-single__section { margin-bottom: 24px; }
.cp-job-single__section:last-child { margin-bottom: 0; }
.cp-job-single__section h2 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--cp-navy);
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--cp-border);
}

/* ---- AMS Members Leaderboard ---- */


.ams-ui-page,
.block-page {
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    margin: 0 auto;
}

.ams-ui-page__body,
.section-body {
    display: flex;
    gap: 20px;
}

.ams-ui-page__sidebar,
.section-sidebar {
    flex: 0 0 200px;
}

.ams-ui-page__content,
.section-content {
    flex: 1;
}

.batch-tabs, .alumni-tabs {
    display: flex;
    margin-bottom: 5px;
    margin-top: 15px;
    border-bottom: 1px solid;
}

.batch-tab, .alumni-tab {
    padding: 5px 10px;
    background: #f0f0f0;
    border: none;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.3s ease;
    color: black;
}

.batch-tab.active, .alumni-tab.active {
    background: #4CAF50;
    color: white;
}

.batch-tab:hover:not(.active), .alumni-tab:hover:not(.active) {
    background: #e0e0e0;
}

.batch-container, .alumni-container {
    max-width: 100%;
    font-family: Arial, sans-serif;
    margin: 20px 0;
    position: relative;
}

.bar-container {
    height: 10px;
    background-color: #f0f0f0;
    overflow: hidden;
    margin-bottom: 5px;
}

.bar-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.bar-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
}

.bar-rank {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-align: left;
    width: 30px;
}

.bar-thumb {
    height: 50px;
    object-fit: cover;
    border: 1px solid #ddd;
}

.bar-content {
    flex: 1;
    position: relative;
}

.bar-label {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #333;
}

.bar-value {
    color: #555;
    font-weight: normal;
}

.bar-container {
    width: 100%;
    overflow: hidden;
}

.bar-fill {
    display: flex;
    height: 100%;
    background: #6b996b;
    animation: slide-in 1s ease-out forwards;
}

@keyframes slide-in {
    from {
        width: 0%;
    }
    to {
        width: var(--final-width);
    }
}

.bar-fill.animated {
    animation: slide-in 1s ease-out forwards;
}

.bar-segment {
    height: 100%;
}

.bar-segment:hover::after {
    content: attr(title);
    position: absolute;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 5px;
    font-size: 12px;
    z-index: 10;
}

.load-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 20px auto;
    padding: 5px 18px;
    background-color: #4CAF50;
    color: white;
    border: none;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.load-more-btn:hover:not(:disabled) {
    background-color: #45a049;
}

.load-more-btn:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

.load-more-icon {
    display: inline-block;
}

.bar-label .desc {
    font-weight: 400;
}

.tab-desc {
    font-size: 14px;
    color: #555;
    margin-bottom: 10px;
}

.structure-title {
    margin-top: 20px;
}

.total-bar .bar-label {
    font-weight: bold;
    font-size: 16px;
    color: #000;
}

.bar-label .vote,
.login-vote {
    position: absolute;
    right: 0;
    top: 0;
    padding-left: 20px;
    padding-bottom: 100%;
}

.bar-label .vote i {
    font-size: 16px;
}
