.smi-wrap{max-width:1100px;margin:24px auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.smi-hero{padding:28px;border-radius:16px;background:#f4f6f8;margin-bottom:20px}.smi-grid,.smi-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.smi-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin:14px 0;box-shadow:0 4px 18px rgba(0,0,0,.04)}.smi-card h3,.smi-card h4{margin-top:0}.smi-card input,.smi-card textarea,.smi-card select,.smi-toolbar input{width:100%;box-sizing:border-box;margin:6px 0 14px;padding:10px;border:1px solid #ccd2d8;border-radius:8px}.smi-card label{font-weight:600}.smi-primary,.smi-button,.smi-card button,.smi-toolbar button{display:inline-block;padding:10px 15px;border:0;border-radius:8px;background:#1f4e79;color:#fff;text-decoration:none;cursor:pointer}.smi-meta{color:#667085}.smi-table{width:100%;border-collapse:collapse;font-size:14px}.smi-table th,.smi-table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.smi-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.smi-inline select,.smi-inline input{width:auto;margin:0}.smi-notice{padding:12px 14px;border-radius:8px;background:#eef7ee;border:1px solid #b6d7b9;margin:12px 0}.smi-job-block{padding:10px 0;border-bottom:1px solid #eee}.smi-toolbar form{display:flex;gap:8px}.smi-toolbar input{margin:0}@media(max-width:700px){.smi-table{display:block;overflow-x:auto}.smi-toolbar form{display:block}.smi-toolbar button{margin-top:8px}}

/* Sidebar text visibility fix */
.widget-area a,
.widget-area li,
.widget-area .widget a,
.widget-area .widget li {
    color: #333 !important;
}

.widget-area a:hover {
    color: #1e5b8f !important;
}

/* Fix Tutor theme sidebar text visibility */
#sidebar .widget ul li,
#sidebar .widget ul li a,
#sidebar #archives a,
#sidebar #meta a {
    color: #333333 !important;
    opacity: 1 !important;
}

#sidebar .widget ul li a:hover,
#sidebar #archives a:hover,
#sidebar #meta a:hover {
    color: #1e5b8f !important;
}

/* Member profile checkbox selection UI */
.smi-option-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px;
    margin:8px 0 14px;
}

.smi-option-chip{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border:1px solid #d7dde3;
    border-radius:9px;
    background:#f8fafc;
    cursor:pointer;
    font-weight:500 !important;
    transition:.15s ease;
}

.smi-option-chip:hover{
    border-color:#1f4e79;
    background:#f1f6fa;
}

.smi-option-chip input[type="checkbox"]{
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
}

.smi-option-chip:has(input:checked){
    border-color:#1f4e79;
    background:#eaf3fb;
}

@media(max-width:700px){
    .smi-option-grid{
        grid-template-columns:1fr 1fr;
    }
}

/* Stronger Member skill/role checkbox chip layout */
.smi-card .smi-option-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin:10px 0 14px !important;
}

.smi-card .smi-option-grid .smi-option-chip{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:9px !important;
    width:auto !important;
    margin:0 !important;
    padding:11px 12px !important;
    border:1px solid #d6dde5 !important;
    border-radius:10px !important;
    background:#f8fafc !important;
    cursor:pointer !important;
    font-weight:500 !important;
    line-height:1.3 !important;
}

.smi-card .smi-option-grid .smi-option-chip input[type="checkbox"]{
    appearance:auto !important;
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 16px !important;
}

.smi-card .smi-option-grid .smi-option-chip span{
    display:inline-block !important;
    margin:0 !important;
}

.smi-card .smi-option-grid .smi-option-chip:has(input:checked){
    border-color:#1f4e79 !important;
    background:#eaf3fb !important;
}

.smi-card .smi-option-grid .smi-option-chip:hover{
    border-color:#1f4e79 !important;
}

@media(max-width:700px){
    .smi-card .smi-option-grid{
        grid-template-columns:1fr !important;
    }
}

/* Employer Candidate Pipeline - Card UI */
.smi-candidate-list{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:14px;
}

.smi-candidate-card{
    background:#ffffff;
    border:1px solid #dfe5eb;
    border-radius:12px;
    padding:16px;
    box-shadow:0 3px 10px rgba(0,0,0,.035);
}

.smi-candidate-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.smi-candidate-head h4{
    margin:0 0 6px !important;
    font-size:17px;
}

.smi-status-badge{
    display:inline-block;
    padding:5px 9px;
    border-radius:999px;
    background:#eef4fb;
    color:#1f4e79;
    font-size:12px;
    font-weight:600;
}

.smi-cv-button{
    white-space:nowrap;
}

.smi-candidate-summary{
    background:#f8fafc;
    border:1px solid #e6ebf0;
    border-radius:9px;
    padding:12px 14px;
    margin-bottom:14px;
}

.smi-candidate-summary strong{
    display:block;
    margin-bottom:6px;
}

.smi-candidate-summary p{
    margin:0;
    line-height:1.55;
}

.smi-candidate-action{
    display:grid;
    grid-template-columns:minmax(150px, .8fr) minmax(220px, 1.4fr);
    gap:12px;
    align-items:end;
}

.smi-action-field{
    display:flex;
    flex-direction:column;
}

.smi-action-field label{
    margin-bottom:5px;
}

.smi-action-field select,
.smi-action-field input{
    width:100% !important;
    margin:0 !important;
}

.smi-action-button{
    grid-column:1 / -1;
}

.smi-action-button .smi-primary{
    width:auto;
}

@media(max-width:700px){
    .smi-candidate-head{
        flex-direction:column;
    }

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

    .smi-action-button{
        grid-column:auto;
    }

    .smi-cv-button{
        width:100%;
        text-align:center;
    }

    .smi-action-button .smi-primary{
        width:100%;
    }
}

/* Recruiter candidate cards */
.smi-candidate-count {
    margin: 22px 0 12px;
}

.smi-candidate-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 12px;
}

.smi-candidate-card {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 18px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0,0,0,.04);
}

.smi-candidate-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #eef0f2;
}

.smi-candidate-header h4 {
    margin: 0 0 5px;
    font-size: 18px;
}

.smi-candidate-role {
    margin: 0;
    color: #667085;
    font-size: 14px;
}

.smi-availability-badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef7ee;
    border: 1px solid #c8dfca;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.smi-candidate-details {
    display: grid;
    gap: 12px;
}

.smi-candidate-field strong {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
}

.smi-candidate-field p {
    margin: 0;
    line-height: 1.5;
    color: #475467;
}

.smi-empty-state {
    margin-top: 18px;
    padding: 22px;
    text-align: center;
    border: 1px dashed #ccd2d8;
    border-radius: 12px;
}

@media (max-width: 700px) {
    .smi-candidate-grid {
        grid-template-columns: 1fr;
    }

    .smi-candidate-header {
        flex-direction: column;
    }
}

/* =========================================================
   Belle Member Portal UI - MyCareersFuture inspired structure
   ========================================================= */

.smi-member-portal{
    max-width:1180px;
    margin:24px auto;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

.smi-member-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    padding:26px 28px;
    margin-bottom:18px;
    background:#f5f2fb;
    border:1px solid #ebe7f3;
    border-radius:16px;
}

.smi-member-header h2{
    margin:2px 0 6px;
    font-size:30px;
}

.smi-member-kicker{
    margin:0;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#667085;
}

.smi-member-nav{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.smi-member-nav a{
    display:inline-block;
    padding:9px 12px;
    border-radius:8px;
    color:#263238;
    text-decoration:none;
    font-weight:600;
}

.smi-member-nav a:hover{
    background:#fff;
    color:#1f4e79;
}

.smi-member-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.smi-stat-card{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:20px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 3px 12px rgba(0,0,0,.035);
}

.smi-stat-card strong{
    font-size:28px;
    line-height:1;
    color:#1f4e79;
}

.smi-stat-card span{
    margin-top:5px;
    color:#667085;
    font-weight:600;
}

.smi-member-portal .smi-dashboard{
    grid-template-columns:minmax(320px,.9fr) minmax(420px,1.35fr);
    align-items:start;
}

.smi-member-profile-card,
.smi-member-applications-card{
    margin-top:0;
}

.smi-member-applications-card{
    overflow:hidden;
}

.smi-member-applications-card .smi-table{
    margin-top:12px;
}

.smi-job-link{
    color:#1f4e79;
    font-weight:700;
    text-decoration:none;
}

.smi-job-link:hover{
    text-decoration:underline;
}

@media(max-width:900px){
    .smi-member-header{
        flex-direction:column;
    }

    .smi-member-portal .smi-dashboard{
        grid-template-columns:1fr;
    }

    .smi-member-stats{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    .smi-member-header{
        padding:20px;
    }

    .smi-member-nav{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .smi-member-nav a{
        background:#fff;
    }
}

/* Belle Search Jobs UI */

.smi-jobs-page{
    max-width:1180px;
}

.smi-jobs-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:18px;
}

.smi-jobs-header h2{
    margin:2px 0 6px;
    font-size:30px;
}

.smi-job-search-panel{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:12px;
    align-items:end;
    padding:18px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 3px 12px rgba(0,0,0,.035);
    margin-bottom:18px;
}

.smi-search-field{
    display:flex;
    flex-direction:column;
}

.smi-search-field label{
    margin-bottom:6px;
    font-weight:600;
}

.smi-search-field input,
.smi-search-field select{
    width:100%;
    box-sizing:border-box;
    margin:0;
    padding:10px;
    border:1px solid #ccd2d8;
    border-radius:8px;
}

.smi-search-actions{
    grid-column:1 / -1;
    display:flex;
    gap:8px;
}

.smi-secondary-button{
    background:#eef3f7;
    color:#1f4e79;
}

.smi-results-heading{
    margin:16px 0 12px;
}

.smi-job-results{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.smi-job-card{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:20px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 3px 12px rgba(0,0,0,.035);
}

.smi-job-card-main{
    flex:1;
}

.smi-job-company{
    margin:0 0 5px;
    font-size:13px;
    font-weight:700;
    color:#667085;
    text-transform:uppercase;
}

.smi-job-card h3{
    margin:0 0 10px;
}

.smi-job-card h3 a{
    color:#1f4e79;
    text-decoration:none;
}

.smi-job-card h3 a:hover{
    text-decoration:underline;
}

.smi-job-meta-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-bottom:12px;
    color:#667085;
    font-size:14px;
}

.smi-job-summary{
    line-height:1.55;
}

.smi-job-card-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:130px;
}

.smi-job-card-actions form{
    margin:0;
}

.smi-job-card-actions button,
.smi-job-card-actions .smi-button{
    width:100%;
    text-align:center;
    box-sizing:border-box;
}

@media(max-width:900px){
    .smi-job-search-panel{
        grid-template-columns:1fr 1fr;
    }

    .smi-job-card{
        flex-direction:column;
    }

    .smi-job-card-actions{
        flex-direction:row;
    }
}

@media(max-width:600px){
    .smi-job-search-panel{
        grid-template-columns:1fr;
    }

    .smi-jobs-header{
        flex-direction:column;
    }

    .smi-job-card-actions{
        flex-direction:column;
    }
}

/* Belle Job Details Page */

.smi-single-job{
    max-width:1050px;
    margin:24px auto;
}

.smi-single-job-top{
    margin-bottom:14px;
}

.smi-back-link{
    color:#1f4e79;
    text-decoration:none;
    font-weight:600;
}

.smi-back-link:hover{
    text-decoration:underline;
}

.smi-job-detail-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:26px;
    box-shadow:0 4px 18px rgba(0,0,0,.04);
}

.smi-job-detail-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    padding-bottom:20px;
    border-bottom:1px solid #e5e7eb;
}

.smi-job-detail-header h1{
    margin:4px 0 0;
    font-size:30px;
    line-height:1.25;
}

.smi-job-detail-actions form{
    margin:0;
}

.smi-job-detail-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:20px 0;
    border-bottom:1px solid #e5e7eb;
}

.smi-job-detail-meta > div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.smi-job-detail-meta strong{
    font-size:13px;
    color:#667085;
}

.smi-job-detail-meta span{
    font-weight:600;
}

.smi-job-description{
    padding-top:22px;
    line-height:1.7;
}

.smi-job-description h3{
    margin-top:0;
}

.smi-applied-badge{
    display:inline-block;
    padding:10px 14px;
    border-radius:8px;
    background:#eef7ee;
    color:#27632a;
    font-weight:700;
    border:1px solid #b6d7b9;
}

@media(max-width:760px){
    .smi-job-detail-header{
        flex-direction:column;
    }

    .smi-job-detail-meta{
        grid-template-columns:1fr;
    }

    .smi-job-detail-actions,
    .smi-job-detail-actions form,
    .smi-job-detail-actions button{
        width:100%;
    }
}

/* Hide theme comment metadata on SMI Job pages */
.single-smi_job .comments-link,
.single-smi_job .entry-comments,
.single-smi_job .comments,
.single-smi_job .post-comments,
.single-smi_job .comment-link,
.single-smi_job .entry-meta .comments-link {
    display: none !important;
}


/* SMI Job single page - remove theme post metadata */
body.single-smi_job .post-info {
    display: none !important;
}


/* SMI Job single page - remove theme post metadata */
body.single-smi_job .post-info {
    display: none !important;
}


/* Employer company logo preview */
.smi-company-logo-preview{
    margin:4px 0 16px;
}

.smi-company-logo-preview img{
    display:block;
    width:110px;
    height:110px;
    object-fit:contain;
    padding:8px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
}

/* Employer MyCareersFuture-style job pipeline */

.smi-employer-job-block{
    padding:16px 0;
}

.smi-employer-job-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
}

.smi-employer-job-head h4{
    margin:0 0 8px;
}

.smi-employer-job-head h4 a{
    color:#1f4e79;
    text-decoration:none;
}

.smi-employer-job-head h4 a:hover{
    text-decoration:underline;
}

.smi-job-applicant-total{
    font-weight:700;
    color:#667085;
}

.smi-pipeline-tabs{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    margin:14px 0;
}

.smi-pipeline-stage{
    padding:12px 8px;
    text-align:center;
    border:1px solid #e1e5ea;
    border-radius:10px;
    background:#f8fafc;
}

.smi-pipeline-stage strong{
    display:block;
    font-size:20px;
    color:#1f4e79;
}

.smi-pipeline-stage span{
    display:block;
    margin-top:3px;
    font-size:12px;
}

.smi-selected-job-info{
    padding:12px 14px;
    margin:12px 0;
    border-radius:10px;
    background:#f5f2fb;
}

.smi-candidate-details summary{
    cursor:pointer;
    list-style:none;
}

.smi-candidate-details summary::-webkit-details-marker{
    display:none;
}

.smi-view-profile-label{
    color:#1f4e79;
    font-weight:700;
}

.smi-candidate-profile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:14px 0;
}

.smi-candidate-profile-grid > div{
    padding:12px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:9px;
}

.smi-candidate-profile-grid p{
    margin:6px 0 0;
}

@media(max-width:760px){
    .smi-pipeline-tabs{
        grid-template-columns:1fr 1fr;
    }

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

    .smi-employer-job-head{
        flex-direction:column;
    }
}

/* Employer dashboard job tabs */
.smi-job-tabs{
    display:flex !important;
    gap:8px !important;
    margin:12px 0 18px !important;
    flex-wrap:wrap !important;
}

.smi-job-tab{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:105px !important;
    padding:10px 14px !important;
    border:1px solid #ccd6e0 !important;
    border-radius:8px !important;
    background:#ffffff !important;
    color:#1f2937 !important;
    text-decoration:none !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.smi-job-tab:hover{
    border-color:#1f4e79 !important;
    color:#1f4e79 !important;
}

.smi-job-tab.active{
    background:#eaf3fb !important;
    border-color:#1f4e79 !important;
    color:#1f4e79 !important;
}

/* Employer job action buttons */
.smi-job-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:14px;
    align-items:center;
}

.smi-job-actions form{
    margin:0 !important;
}

.smi-job-actions .smi-button,
.smi-job-actions button{
    margin:0 !important;
    white-space:nowrap;
}

.smi-secondary-button{
    background:#eef3f7 !important;
    color:#1f4e79 !important;
    border:1px solid #cfd8e3 !important;
}

.smi-close-job-button{
    background:#fff4f4 !important;
    color:#9b1c1c !important;
    border:1px solid #efb5b5 !important;
}

/* Employer job search */
.smi-employer-job-search{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
    margin:0 0 18px;
}

.smi-employer-job-search input[type="search"]{
    flex:1 1 220px;
    min-width:180px;
    margin:0 !important;
}

.smi-employer-job-search button,
.smi-employer-job-search .smi-button{
    margin:0 !important;
}

/* Employer job dates */
.smi-job-dates{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-top:7px;
    font-size:12px;
    line-height:1.4;
    color:#6b7280;
}

.smi-job-dates span{
    display:block;
}

/* Member application updates */
.smi-member-updates-card{
    margin:0 0 18px;
}

.smi-member-section-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
}

.smi-member-section-head h3{
    margin-bottom:4px;
}

.smi-application-update-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:14px;
}

.smi-application-update-item{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:12px 0;
    border-bottom:1px solid #e5e7eb;
}

.smi-application-update-item:last-child{
    border-bottom:0;
}

.smi-application-update-meta{
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:5px;
    white-space:nowrap;
}

@media(max-width:700px){
    .smi-member-section-head,
    .smi-application-update-item{
        flex-direction:column;
        align-items:flex-start;
    }

    .smi-application-update-meta{
        align-items:flex-start;
    }
}

/* Member profile UX polish */
.smi-member-main-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
}

.smi-member-profile-card,
.smi-member-applications-card {
    width: 100% !important;
    max-width: none !important;
}

.smi-profile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    cursor: pointer;
    list-style: none;
}

.smi-profile-summary::-webkit-details-marker {
    display: none;
}

.smi-profile-summary > span:first-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.smi-profile-summary strong {
    font-size: 18px;
}

.smi-profile-summary small {
    color: #6b7280;
    line-height: 1.4;
}

.smi-profile-edit-label {
    font-size: 14px;
    font-weight: 600;
    padding: 8px 12px;
    border: 1px solid #d7e1eb;
    border-radius: 8px;
    white-space: nowrap;
}

.smi-profile-form-body {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #e7edf3;
}

.smi-profile-form-body form > label {
    display: block;
    font-weight: 600;
    margin-top: 18px;
    margin-bottom: 8px;
}

.smi-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 10px 0 18px;
}

.smi-choice-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid #d7e1eb;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

.smi-choice-chip:hover {
    border-color: #8fb4d6;
    background: #f8fbfe;
}

.smi-choice-chip input {
    width: 17px;
    height: 17px;
    margin: 0;
    flex: 0 0 auto;
}

.smi-choice-chip:has(input:checked) {
    border-color: #1f5d8f;
    background: #eef6fc;
}

.smi-choice-chip span {
    line-height: 1.3;
}

.smi-profile-form-body textarea,
.smi-profile-form-body select,
.smi-profile-form-body input[type="file"] {
    width: 100%;
    box-sizing: border-box;
}

.smi-member-applications-card .smi-table {
    width: 100%;
}

@media (max-width: 700px) {
    .smi-choice-grid {
        grid-template-columns: 1fr;
    }

    .smi-profile-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Application tracking */
.smi-application-tracking-list {
    display: grid;
    gap: 18px;
    margin-top: 20px;
}

.smi-application-track-card {
    border: 1px solid #e1e8ef;
    border-radius: 14px;
    padding: 22px;
    background: #fff;
}

.smi-application-track-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.smi-application-track-head h4 {
    margin: 4px 0 0;
    font-size: 19px;
}

.smi-application-company {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
}

.smi-application-job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 14px;
    color: #64748b;
    font-size: 13px;
}

.smi-application-progress {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 28px 0;
}

.smi-progress-step {
    position: relative;
    text-align: center;
    color: #94a3b8;
}

.smi-progress-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    width: 100%;
    height: 3px;
    background: #e2e8f0;
    z-index: 0;
}

.smi-progress-dot {
    position: relative;
    z-index: 1;
    display: block;
    width: 18px;
    height: 18px;
    margin: 0 auto 9px;
    border-radius: 50%;
    background: #e2e8f0;
    border: 4px solid #fff;
    box-shadow: 0 0 0 2px #e2e8f0;
}

.smi-progress-step.is-complete .smi-progress-dot,
.smi-progress-step.is-current .smi-progress-dot {
    background: #185789;
    box-shadow: 0 0 0 2px #185789;
}

.smi-progress-step.is-complete:not(:last-child)::after {
    background: #185789;
}

.smi-progress-step.is-complete,
.smi-progress-step.is-current {
    color: #174d78;
    font-weight: 600;
}

.smi-application-track-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    padding-top: 18px;
    border-top: 1px solid #edf1f5;
}

.smi-application-track-footer p {
    margin: 5px 0 0;
}

.smi-application-result {
    margin: 22px 0;
    padding: 14px 16px;
    border-radius: 10px;
}

.smi-application-result strong,
.smi-application-result span {
    display: block;
}

.smi-result-unsuccessful {
    background: #fff5f5;
    border: 1px solid #fecaca;
}

@media (max-width: 700px) {
    .smi-application-track-head,
    .smi-application-track-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .smi-application-progress {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .smi-progress-step {
        text-align: left;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .smi-progress-step:not(:last-child)::after {
        display: none;
    }

    .smi-progress-dot {
        margin: 0;
        flex: 0 0 auto;
    }
}

/* Recommended Jobs */
.smi-recommended-jobs-card {
    margin-top: 24px;
}

.smi-recommended-job-list {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.smi-recommended-job {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    background: #fff;
}

.smi-recommended-job-main {
    min-width: 0;
    flex: 1;
}

.smi-recommended-job h4 {
    margin: 4px 0 8px;
    font-size: 18px;
}

.smi-recommended-job h4 a {
    text-decoration: none;
}

.smi-recommended-job .smi-job-company {
    margin: 0;
}

.smi-recommended-job .smi-job-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0;
}

.smi-recommended-job .smi-job-meta-row span {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f4f7fa;
    font-size: 12px;
}

.smi-recommended-job-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.smi-recommended-job-actions form {
    margin: 0;
}

@media (max-width: 760px) {
    .smi-recommended-job {
        flex-direction: column;
        align-items: stretch;
    }

    .smi-recommended-job-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* Job Search: Role Category + Required Skills */
.smi-job-role-row {
    margin: 8px 0 10px;
}

.smi-job-role-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef5fb;
    border: 1px solid #d8e5f0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.smi-job-skills-preview {
    margin-top: 14px;
}

.smi-job-skills-preview > strong {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
}

.smi-job-skill-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.smi-job-skill-chip {
    display: inline-block;
    padding: 6px 9px;
    border-radius: 999px;
    border: 1px solid #dfe6ee;
    background: #f7f9fb;
    font-size: 12px;
    line-height: 1.2;
}

.smi-job-skill-more {
    font-weight: 600;
}

@media (max-width: 760px) {
    .smi-job-role-badge,
    .smi-job-skill-chip {
        white-space: normal;
    }
}

/* =========================================================
   Search Jobs - Advanced Filter Layout
   ========================================================= */

.smi-job-search-panel {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(160px, 1fr));
    gap: 16px;
    align-items: end;
    margin: 20px 0 24px;
}

.smi-job-search-panel .smi-search-field {
    min-width: 0;
}

.smi-job-search-panel .smi-search-field label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 600;
}

.smi-job-search-panel input,
.smi-job-search-panel select {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
}

.smi-job-search-panel .smi-search-main {
    grid-column: span 2;
}

.smi-job-search-panel .smi-search-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.smi-job-search-panel .smi-search-actions .smi-primary,
.smi-job-search-panel .smi-search-actions .smi-button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Tablet */
@media (max-width: 1050px) {
    .smi-job-search-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .smi-job-search-panel .smi-search-main {
        grid-column: span 2;
    }
}

/* Mobile */
@media (max-width: 650px) {
    .smi-job-search-panel {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .smi-job-search-panel .smi-search-main {
        grid-column: auto;
    }

    .smi-job-search-panel .smi-search-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .smi-job-search-panel .smi-search-actions .smi-primary,
    .smi-job-search-panel .smi-search-actions .smi-button {
        width: 100%;
    }
}


/* Employer candidate card overflow fix */
.smi-candidate-list,
.smi-candidate-list details,
.smi-candidate-list .smi-candidate-profile-grid,
.smi-candidate-action {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

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

.smi-candidate-profile-grid > div {
    min-width: 0;
    overflow-wrap: anywhere;
}

.smi-candidate-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.smi-candidate-action .smi-action-field,
.smi-candidate-action .smi-remarks-field {
    min-width: 0;
}

.smi-candidate-action select,
.smi-candidate-action input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.smi-candidate-action .smi-action-button {
    grid-column: 1 / -1;
}

.smi-candidate-action .smi-action-button button {
    max-width: 100%;
}

@media (max-width: 700px) {
    .smi-candidate-profile-grid,
    .smi-candidate-action {
        grid-template-columns: 1fr;
    }

    .smi-candidate-action .smi-action-button {
        grid-column: auto;
    }
}

/* Employer Post Opportunity UI polish */
.smi-dashboard > .smi-card:first-child form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
}

.smi-dashboard > .smi-card:first-child form > label {
    margin-top: 8px;
    font-weight: 600;
}

.smi-dashboard > .smi-card:first-child form > input,
.smi-dashboard > .smi-card:first-child form > select,
.smi-dashboard > .smi-card:first-child form > textarea,
.smi-dashboard > .smi-card:first-child form > .smi-choice-grid,
.smi-dashboard > .smi-card:first-child form > .smi-meta {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Keep labels with their controls readable */
.smi-dashboard > .smi-card:first-child form > label,
.smi-dashboard > .smi-card:first-child form > input,
.smi-dashboard > .smi-card:first-child form > select {
    min-width: 0;
}

/* Skills, description and submit use full width */
.smi-dashboard > .smi-card:first-child form > .smi-choice-grid,
.smi-dashboard > .smi-card:first-child form > textarea,
.smi-dashboard > .smi-card:first-child form > button,
.smi-dashboard > .smi-card:first-child form > .smi-meta {
    grid-column: 1 / -1;
}

.smi-dashboard > .smi-card:first-child form textarea {
    min-height: 160px;
    resize: vertical;
}

.smi-dashboard > .smi-card:first-child form .smi-choice-grid {
    margin: 4px 0 12px;
}

.smi-dashboard > .smi-card:first-child form > button {
    width: fit-content;
    min-width: 210px;
    margin-top: 10px;
}

/* Prevent employer form overflow */
.smi-dashboard,
.smi-dashboard .smi-card,
.smi-dashboard form {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 760px) {
    .smi-dashboard > .smi-card:first-child form {
        grid-template-columns: 1fr;
    }

    .smi-dashboard > .smi-card:first-child form > * {
        grid-column: 1 !important;
    }

    .smi-dashboard > .smi-card:first-child form > button {
        width: 100%;
    }
}

/* Employer dashboard summary cards */
.smi-employer-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 18px;
}

.smi-summary-card {
    background: #fff;
    border: 1px solid #dde5ee;
    border-radius: 12px;
    padding: 18px;
    min-width: 0;
    box-sizing: border-box;
}

.smi-summary-card strong {
    display: block;
    font-size: 28px;
    line-height: 1.1;
    margin-bottom: 6px;
}

.smi-summary-card span {
    font-size: 14px;
    font-weight: 600;
}

@media (max-width: 900px) {
    .smi-employer-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .smi-employer-summary {
        grid-template-columns: 1fr;
    }
}

/* Employer Talent Search role/skill chips */
.smi-talent-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.smi-talent-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 5px 9px;
    border: 1px solid #dbe5ef;
    border-radius: 999px;
    background: #f6f9fc;
    font-size: 12px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

/* Portal dashboard - remove theme sidebar and use full width */
body.page-id-0 .widget-area {
    display: none;
}

/* Employer dashboard page */
body:has(.smi-employer-summary) .widget-area,
body:has(.smi-employer-summary) #secondary {
    display: none !important;
}

body:has(.smi-employer-summary) #primary,
body:has(.smi-employer-summary) .content-area,
body:has(.smi-employer-summary) .site-main {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* Better summary cards on medium screens */
@media (max-width: 800px) {
    .smi-employer-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Employer dashboard horizontal overflow fix */
body:has(.smi-employer-summary),
body:has(.smi-employer-summary) #page,
body:has(.smi-employer-summary) .site,
body:has(.smi-employer-summary) .site-content,
body:has(.smi-employer-summary) .content-area,
body:has(.smi-employer-summary) .site-main {
    overflow-x: hidden !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body:has(.smi-employer-summary) .site-content {
    width: 100% !important;
}

.smi-employer-summary {
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.smi-summary-card {
    width: 100%;
    min-width: 0;
}

.smi-card,
.smi-dashboard,
.smi-employer-talent-search {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

@media (max-width: 850px) {
    .smi-employer-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .smi-employer-summary {
        grid-template-columns: 1fr;
    }
}

/* Post Opportunity form sections */
.smi-job-form-section-title {
    grid-column: 1 / -1;
    margin: 20px 0 6px;
    padding: 14px 16px;
    border-left: 4px solid #1d5b8f;
    background: #f7f9fc;
    border-radius: 8px;
    box-sizing: border-box;
}

.smi-job-form-section-title:first-of-type {
    margin-top: 6px;
}

.smi-job-form-section-title h4 {
    margin: 0 0 4px;
    font-size: 16px;
}

.smi-job-form-section-title p {
    margin: 0;
    font-size: 13px;
    opacity: .75;
}

@media (max-width: 760px) {
    .smi-job-form-section-title {
        grid-column: 1 !important;
    }
}

/* Post Opportunity form sections */
.smi-job-form-section-title {
    grid-column: 1 / -1;
    margin: 20px 0 6px;
    padding: 14px 16px;
    border-left: 4px solid #1d5b8f;
    background: #f7f9fc;
    border-radius: 8px;
    box-sizing: border-box;
}

.smi-job-form-section-title:first-of-type {
    margin-top: 6px;
}

.smi-job-form-section-title h4 {
    margin: 0 0 4px;
    font-size: 16px;
}

.smi-job-form-section-title p {
    margin: 0;
    font-size: 13px;
    opacity: .75;
}

@media (max-width: 760px) {
    .smi-job-form-section-title {
        grid-column: 1 !important;
    }
}

/* Force centered employer dashboard width */
body:has(.smi-employer-summary) .site-content,
body:has(.smi-employer-summary) #content,
body:has(.smi-employer-summary) .site-main,
body:has(.smi-employer-summary) #primary,
body:has(.smi-employer-summary) .content-area {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    float: none !important;
    box-sizing: border-box !important;
}

body:has(.smi-employer-summary) .smi-employer-summary,
body:has(.smi-employer-summary) .smi-card,
body:has(.smi-employer-summary) .smi-dashboard,
body:has(.smi-employer-summary) .smi-employer-talent-search {
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body:has(.smi-employer-summary) #secondary,
body:has(.smi-employer-summary) .widget-area {
    display: none !important;
}

/* Employer dashboard final page layout */
.smi-employer-page-active #secondary,
.smi-employer-page-active .widget-area {
    display: none !important;
}

.smi-employer-page-active #primary,
.smi-employer-page-active .content-area {
    float: none !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.smi-employer-page-active .site-content {
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* Employer Dashboard - hide Tutor theme sidebar */
body.smi-employer-page-active #sidebar {
    display: none !important;
}

/* Remove theme's reserved sidebar space */
body.smi-employer-page-active .middle-align.content_sidebar {
    display: block !important;
}

body.smi-employer-page-active .middle-align.content_sidebar > #primary,
body.smi-employer-page-active .middle-align.content_sidebar > .content-area,
body.smi-employer-page-active .middle-align.content_sidebar > main {
    float: none !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Employer Company Profile collapsible card */
.smi-employer-profile-card {
    padding: 0 !important;
    overflow: hidden;
}

.smi-employer-profile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.smi-employer-profile-summary::-webkit-details-marker {
    display: none;
}

.smi-employer-profile-summary > span:first-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.smi-employer-profile-summary strong {
    font-size: 18px;
}

.smi-employer-profile-summary small {
    font-size: 13px;
    font-weight: 400;
    opacity: .7;
}

.smi-profile-edit-label {
    font-size: 13px;
    font-weight: 600;
    padding: 7px 11px;
    border: 1px solid #d5e0ea;
    border-radius: 8px;
    background: #f7f9fc;
}

.smi-employer-profile-body {
    padding: 0 20px 20px;
    border-top: 1px solid #edf1f5;
}

.smi-employer-profile-card[open] .smi-profile-edit-label::after {
    content: " ?";
}

.smi-employer-profile-card:not([open]) .smi-profile-edit-label::after {
    content: " ?";
}

/* Fix Company Profile expand arrow */
.smi-profile-edit-label::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s ease;
}

.smi-employer-profile-card[open] .smi-profile-edit-label::after {
    transform: rotate(225deg) translate(-2px, -1px);
}

/* Final Company Profile chevron fix */
.smi-employer-profile-card[open] .smi-profile-edit-label::after,
.smi-employer-profile-card:not([open]) .smi-profile-edit-label::after {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    margin-left: 8px !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    vertical-align: 2px;
}

.smi-employer-profile-card:not([open]) .smi-profile-edit-label::after {
    transform: rotate(45deg) !important;
}

.smi-employer-profile-card[open] .smi-profile-edit-label::after {
    transform: rotate(225deg) !important;
}

/* Post Opportunity form UX polish */
.smi-card form {
    row-gap: 14px;
}

.smi-card form > label {
    align-self: center;
    font-weight: 600;
}

.smi-card form > input,
.smi-card form > select,
.smi-card form > textarea {
    width: 100%;
    box-sizing: border-box;
}

.smi-card form > .smi-meta {
    grid-column: 1 / -1;
    margin: -4px 0 4px;
}

.smi-job-form-section-title {
    margin-top: 22px;
}

.smi-job-form-section-title + label {
    margin-top: 4px;
}

.smi-skills-grid {
    grid-column: 1 / -1;
    margin-bottom: 4px;
}

.smi-skills-grid .smi-choice-chip {
    min-height: 38px;
}

@media (max-width: 760px) {
    .smi-card form > .smi-meta,
    .smi-skills-grid {
        grid-column: 1 !important;
    }
}

/* My Jobs & Candidate Pipeline polish */
.smi-job-item,
.smi-employer-job-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    background: #fff;
}

.smi-job-item:last-child,
.smi-employer-job-card:last-child {
    margin-bottom: 0;
}

.smi-job-item h4,
.smi-employer-job-card h4 {
    margin: 0;
    font-size: 16px;
}

.smi-job-item .smi-meta,
.smi-employer-job-card .smi-meta {
    font-size: 12px;
    line-height: 1.55;
}

.smi-job-item .smi-status,
.smi-employer-job-card .smi-status {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef5fb;
    font-size: 11px;
    font-weight: 600;
}

.smi-job-item .smi-pipeline,
.smi-employer-job-card .smi-pipeline {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.smi-job-item .smi-pipeline > div,
.smi-employer-job-card .smi-pipeline > div {
    min-width: 0;
    padding: 10px 6px;
    text-align: center;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    background: #fafcff;
}

.smi-job-item .smi-pipeline strong,
.smi-employer-job-card .smi-pipeline strong {
    display: block;
    font-size: 17px;
    line-height: 1.1;
    margin-bottom: 4px;
}

.smi-job-item .smi-pipeline span,
.smi-employer-job-card .smi-pipeline span {
    font-size: 10px;
}

.smi-job-actions,
.smi-employer-job-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.smi-job-actions a,
.smi-job-actions button,
.smi-employer-job-actions a,
.smi-employer-job-actions button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 760px) {
    .smi-job-item .smi-pipeline,
    .smi-employer-job-card .smi-pipeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Post Opportunity collapsible card */
.smi-post-opportunity-card {
    padding: 0 !important;
    overflow: hidden;
}

.smi-post-opportunity-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.smi-post-opportunity-summary::-webkit-details-marker {
    display: none;
}

.smi-post-opportunity-summary > span:first-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.smi-post-opportunity-summary strong {
    font-size: 18px;
}

.smi-post-opportunity-summary small {
    font-size: 13px;
    font-weight: 400;
    opacity: .7;
}

.smi-post-opportunity-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border: 1px solid #d5e0ea;
    border-radius: 8px;
    background: #f7f9fc;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.smi-post-opportunity-toggle::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.smi-post-opportunity-card[open] .smi-post-opportunity-toggle::after {
    transform: rotate(225deg);
}

.smi-post-opportunity-body {
    padding: 0 20px 20px;
    border-top: 1px solid #edf1f5;
}

@media (max-width: 700px) {
    .smi-post-opportunity-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .smi-post-opportunity-toggle {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}

/* Better layout when Post Opportunity is expanded */
.smi-dashboard {
    align-items: start;
}

.smi-post-opportunity-card[open] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

.smi-post-opportunity-card[open] + .smi-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

.smi-post-opportunity-card[open] .smi-post-opportunity-body {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px;
}

.smi-post-opportunity-card[open] form {
    width: 100%;
}

.smi-post-opportunity-card[open] form > input,
.smi-post-opportunity-card[open] form > select,
.smi-post-opportunity-card[open] form > textarea {
    min-width: 0;
}

@media (min-width: 900px) {
    .smi-post-opportunity-card[open] form {
        grid-template-columns: 190px minmax(0, 1fr);
        column-gap: 24px;
        row-gap: 16px;
    }
}

/* Post Opportunity expanded visual polish */
.smi-post-opportunity-card[open] .smi-post-opportunity-body {
    padding-top: 24px;
}

.smi-post-opportunity-card[open] .smi-job-form-section-title {
    position: relative;
    padding: 18px 18px 18px 20px;
    background: #f7f9fc;
    border: 1px solid #e6edf4;
    border-left: 4px solid #1d5b8f;
}

.smi-post-opportunity-card[open] .smi-job-form-section-title h4 {
    font-size: 17px;
    margin-bottom: 5px;
}

.smi-post-opportunity-card[open] .smi-job-form-section-title p {
    font-size: 13px;
}

.smi-post-opportunity-card[open] form > label {
    font-size: 14px;
    font-weight: 600;
}

.smi-post-opportunity-card[open] form > input,
.smi-post-opportunity-card[open] form > select,
.smi-post-opportunity-card[open] form > textarea {
    min-height: 44px;
}

.smi-post-opportunity-card[open] form > textarea {
    min-height: 150px;
}

.smi-post-opportunity-card[open] form > button.smi-primary {
    grid-column: 1 / -1;
    justify-self: end;
    min-width: 210px;
    margin-top: 10px;
}

.smi-post-opportunity-card[open] .smi-skills-grid {
    grid-column: 1 / -1;
}

.smi-post-opportunity-card[open] .smi-meta {
    grid-column: 1 / -1;
}

/* Employer job cards - final professional layout */
.smi-employer-job-block {
    padding: 18px !important;
    margin: 16px 0 !important;
    border: 1px solid #e1e8ef !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-sizing: border-box;
}

.smi-employer-job-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
}

.smi-employer-job-head h4 {
    margin: 0 0 9px !important;
    font-size: 16px;
    line-height: 1.3;
}

.smi-employer-job-head h4 a {
    text-decoration: none;
}

.smi-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef6fc;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.smi-job-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
    margin-top: 8px;
}

.smi-job-dates span {
    font-size: 11px;
    opacity: .7;
}

.smi-job-applicant-total {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 8px;
    background: #f6f9fc;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

/* Candidate pipeline */
.smi-pipeline-tabs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
}

.smi-pipeline-stage {
    min-width: 0;
    padding: 11px 5px !important;
    text-align: center;
    border: 1px solid #dfe7ef !important;
    border-radius: 9px !important;
    background: #fafcff !important;
    box-sizing: border-box;
}

.smi-pipeline-stage strong {
    display: block;
    margin-bottom: 4px;
    font-size: 18px;
    line-height: 1;
}

.smi-pipeline-stage span {
    display: block;
    font-size: 10px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

/* Separate jobs clearly */
.smi-employer-job-block + .smi-employer-job-block {
    margin-top: 18px !important;
}

/* Search area */
.smi-employer-job-search {
    display: flex !important;
    gap: 8px !important;
    align-items: center;
    margin-bottom: 18px !important;
}

.smi-employer-job-search input[type="search"] {
    flex: 1;
    min-width: 0;
}

/* Mobile */
@media (max-width: 760px) {
    .smi-employer-job-head {
        flex-direction: column;
        gap: 10px;
    }

    .smi-job-applicant-total {
        align-self: flex-start;
    }

    .smi-pipeline-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .smi-employer-job-search {
        flex-wrap: wrap;
    }

    .smi-employer-job-search input[type="search"] {
        flex-basis: 100%;
    }
}

/* Employer job action buttons - keep one clean row */
.smi-employer-job-block .smi-job-actions,
.smi-employer-job-block .smi-job-buttons,
.smi-employer-job-block .smi-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    align-items: center;
}

.smi-employer-job-block a.smi-button,
.smi-employer-job-block button {
    white-space: nowrap;
}

@media (max-width: 760px) {
    .smi-employer-job-block .smi-job-actions,
    .smi-employer-job-block .smi-job-buttons,
    .smi-employer-job-block .smi-actions {
        flex-wrap: wrap !important;
    }
}

/* Compact employer job action buttons */
.smi-employer-job-block a.smi-button,
.smi-employer-job-block .smi-primary,
.smi-employer-job-block .smi-secondary-button,
.smi-employer-job-block button {
    min-height: 32px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    border-radius: 7px !important;
}

.smi-employer-job-block .smi-job-actions,
.smi-employer-job-block .smi-job-buttons,
.smi-employer-job-block .smi-actions {
    gap: 6px !important;
}

/* Employer Talent Search candidate match UI */
.smi-candidate-match-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 16px;
    padding: 10px 12px;
    border: 1px solid #e3eaf1;
    border-radius: 9px;
    background: #fafcff;
}

.smi-match-score {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eaf4fb;
    font-size: 12px;
    font-weight: 700;
}

.smi-match-recommended {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #edf7ef;
    font-size: 12px;
    font-weight: 700;
}

.smi-match-skills {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    width: 100%;
    margin-top: 2px;
}

.smi-match-label {
    font-size: 12px;
    font-weight: 600;
    opacity: .75;
}

.smi-match-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid #dbe5ef;
    border-radius: 999px;
    background: #fff;
    font-size: 11px;
    line-height: 1.2;
}

@media (max-width: 600px) {
    .smi-candidate-match-bar {
        align-items: flex-start;
    }
}

/* Employer Talent Search - match levels */
.smi-match-level {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.smi-match-strong {
    background: #e8f6ec;
    border: 1px solid #b9dfc3;
}

.smi-match-recommended {
    background: #eef5fb;
    border: 1px solid #cbddeb;
}

.smi-match-partial {
    background: #fff7e6;
    border: 1px solid #ead7a4;
}

.smi-match-none {
    background: #f4f5f6;
    border: 1px solid #dfe3e7;
}

/* Member Job Invitations - unread state */
.smi-invitation-new-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff3cd;
    border: 1px solid #ead28a;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .04em;
    vertical-align: middle;
}

.smi-invitation-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.smi-invitation-actions form {
    margin: 0;
}

.smi-invitation-actions .smi-button,
.smi-invitation-actions .smi-primary {
    white-space: nowrap;
}

.smi-stat-card small {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    opacity: .7;
}

@media (max-width: 640px) {
    .smi-invitation-actions {
        justify-content: flex-start;
        margin-top: 10px;
    }
}


/* Employer invitation tracking */
.smi-employer-invite-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.smi-employer-invite-status small {
    font-size: 11px;
    opacity: .72;
}

.smi-invite-read-state,
.smi-invite-pending-state {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

.smi-invite-read-state {
    background: #e8f6ec;
    border: 1px solid #b9dfc3;
}

.smi-invite-pending-state {
    background: #fff7e6;
    border: 1px solid #ead7a4;
}


/* Recruiter candidate cards */
.smi-recruiter-candidate-card {
    border: 1px solid #dfe6ee;
    border-radius: 14px;
    padding: 20px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.03);
    box-sizing: border-box;
}

.smi-recruiter-candidate-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}

.smi-recruiter-candidate-head h4 {
    margin: 0 0 4px;
    font-size: 17px;
}

.smi-recruiter-availability {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid #cbddeb;
    border-radius: 999px;
    background: #eef5fb;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

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

.smi-recruiter-value,
.smi-recruiter-empty-value {
    margin: 6px 0 0;
}

.smi-recruiter-empty-value {
    opacity: .65;
}

.smi-recruiter-candidate-footer {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #edf1f5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.smi-recruiter-contact-hidden {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid #dfe3e7;
    background: #f4f5f6;
    font-size: 11px;
    font-weight: 600;
}

@media (max-width: 640px) {
    .smi-recruiter-candidate-grid {
        grid-template-columns: 1fr;
    }

    .smi-recruiter-candidate-head {
        flex-direction: column;
    }

    .smi-recruiter-candidate-footer {
        align-items: flex-start;
    }
}


/* Recruiter collapsible agency profile */
.smi-recruiter-profile-card {
    padding: 0;
    overflow: hidden;
}

.smi-recruiter-profile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.smi-recruiter-profile-summary::-webkit-details-marker {
    display: none;
}

.smi-recruiter-profile-title {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.smi-recruiter-profile-title strong {
    font-size: 16px;
}

.smi-recruiter-profile-title small {
    font-size: 12px;
    opacity: .7;
    overflow-wrap: anywhere;
}

.smi-recruiter-profile-edit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.smi-recruiter-profile-edit::after {
    content: "?";
    font-size: 13px;
    transition: transform .2s ease;
}

.smi-recruiter-profile-card[open]
.smi-recruiter-profile-edit::after {
    transform: rotate(180deg);
}

.smi-recruiter-profile-body {
    padding: 0 20px 20px;
    border-top: 1px solid #edf1f5;
}

.smi-recruiter-profile-body form {
    padding-top: 18px;
}

@media (max-width: 640px) {
    .smi-recruiter-profile-summary {
        align-items: flex-start;
    }

    .smi-recruiter-profile-edit {
        font-size: 11px;
    }
}


/* Recruiter dashboard summary */
.smi-recruiter-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
    margin: 0 0 18px;
}

@media (max-width: 900px) {
    .smi-recruiter-summary {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .smi-recruiter-summary {
        grid-template-columns: 1fr;
    }
}


/* Recruiter candidate filters */
.smi-recruiter-candidates-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.smi-recruiter-candidates-heading h3 {
    margin: 0 0 5px;
}

.smi-recruiter-candidates-heading p {
    margin: 0;
}

.smi-recruiter-filter-count {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid #cbddeb;
    border-radius: 999px;
    background: #eef5fb;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.smi-recruiter-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
}

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

.smi-recruiter-filter-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.smi-recruiter-filter-field select {
    width: 100%;
    box-sizing: border-box;
}

.smi-recruiter-filter-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
    padding-top: 2px;
}

@media (max-width: 800px) {
    .smi-recruiter-filter-grid {
        grid-template-columns: 1fr;
    }

    .smi-recruiter-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 520px) {
    .smi-recruiter-candidates-heading {
        flex-direction: column;
    }
}


/* Member past invitations */
.smi-past-invitation-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.smi-past-invitation-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-top: 1px solid #edf1f5;
}

.smi-past-invitation-item:first-child {
    border-top: 0;
}

.smi-past-invitation-info {
    min-width: 0;
}

.smi-past-invitation-info p {
    margin: 4px 0 2px;
}

.smi-past-invitation-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 640px) {
    .smi-past-invitation-item {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* Member Past Invitations - collapsible history */
.smi-past-invitations {
    padding: 0;
    overflow: hidden;
}

.smi-past-invitations-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.smi-past-invitations-summary::-webkit-details-marker {
    display: none;
}

.smi-past-invitations-title {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.smi-past-invitations-title strong {
    font-size: 17px;
}

.smi-past-invitations-title small {
    opacity: .7;
    font-size: 12px;
}

.smi-past-invitations-summary-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.smi-past-invitations-toggle {
    font-size: 12px;
    font-weight: 600;
    opacity: .75;
}

.smi-past-invitations[open] .smi-past-invitations-toggle::after {
    content: " ?";
}

.smi-past-invitations:not([open]) .smi-past-invitations-toggle::after {
    content: " ?";
}

.smi-past-invitations .smi-past-invitation-list {
    padding: 0 20px 18px;
    border-top: 1px solid #edf1f5;
}

@media (max-width: 640px) {
    .smi-past-invitations-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .smi-past-invitations-summary-right {
        width: 100%;
        justify-content: space-between;
    }
}


/* Employer invitation restored state */
.smi-invite-restored-state {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef5fb;
    border: 1px solid #cbddeb;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}



/* Recruiter saved candidate action */
.smi-recruiter-save-form {
    margin: 0;
}

.smi-recruiter-save-form button {
    white-space: nowrap;
}


/* Recruiter candidate view tabs */
.smi-recruiter-view-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.smi-recruiter-view-tab {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid #d9e1e8;
    border-radius: 999px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.smi-recruiter-view-tab.is-active {
    border-color: currentColor;
    font-weight: 700;
}


/* Recruiter private candidate notes */
.smi-recruiter-note {
    width: 100%;
    margin-top: 8px;
}

.smi-recruiter-note summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
}

.smi-recruiter-note form {
    margin-top: 10px;
}

.smi-recruiter-note textarea {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 8px;
    resize: vertical;
}


/* Recruiter candidate pipeline */
.smi-recruiter-pipeline {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.smi-recruiter-pipeline-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid #d7dee5;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.smi-recruiter-status-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
}

.smi-recruiter-status-form select {
    min-width: 150px;
    margin: 0;
}

.smi-pipeline-shortlisted {
    font-weight: 800;
}

.smi-pipeline-contact_requested {
    font-weight: 800;
}

@media (max-width: 640px) {
    .smi-recruiter-status-form {
        width: 100%;
    }

    .smi-recruiter-status-form select {
        flex: 1;
        min-width: 0;
    }
}


/* Recruiter candidate activity history */
.smi-recruiter-activity {
    width: 100%;
    margin-top: 8px;
}

.smi-recruiter-activity summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
}

.smi-recruiter-activity-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.smi-recruiter-activity-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    border: 1px solid #e1e6eb;
    border-radius: 8px;
}

.smi-recruiter-activity-item strong {
    font-size: 12px;
}

.smi-recruiter-activity-item small {
    font-size: 11px;
    opacity: .72;
}



/* =========================================================
   SMI Talent Portal - final consistency / mobile polish
   ========================================================= */

.smi-recruiter-contact-approved,
.smi-recruiter-contact-hidden {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 9px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.35;
    box-sizing: border-box;
}

.smi-recruiter-contact-approved {
    border: 1px solid #cfded3;
    font-weight: 600;
}

.smi-recruiter-contact-approved a {
    overflow-wrap: anywhere;
}

.smi-recruiter-contact-hidden {
    border: 1px solid #e0e4e8;
    opacity: .82;
}

.smi-recruiter-candidate-footer {
    flex-wrap: wrap;
    gap: 8px;
}

.smi-summary-card {
    min-width: 0;
}

.smi-card input,
.smi-card select,
.smi-card textarea,
.smi-card button {
    max-width: 100%;
    box-sizing: border-box;
}

.smi-card img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {

    .smi-wrap {
        width: 100%;
        box-sizing: border-box;
    }

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

    .smi-recruiter-candidate-footer,
    .smi-recruiter-pipeline,
    .smi-recruiter-status-form {
        align-items: stretch;
    }

    .smi-recruiter-contact-approved,
    .smi-recruiter-contact-hidden {
        width: 100%;
    }
}

@media (max-width: 480px) {

    .smi-summary-grid {
        grid-template-columns: 1fr;
    }

    .smi-card {
        max-width: 100%;
    }

    .smi-recruiter-status-form select,
    .smi-recruiter-status-form button,
    .smi-recruiter-save-form button {
        width: 100%;
    }

    .smi-recruiter-view-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .smi-recruiter-view-tab {
        justify-content: center;
        text-align: center;
    }
}


/* =========================================================
   SMI PORTAL FINAL FULL-WIDTH LAYOUT
   Member + Recruiter + Portal Admin only
   Employer Dashboard intentionally unaffected.
   ========================================================= */

body.smi-portal-fullwidth-page #secondary,
body.smi-portal-fullwidth-page .widget-area,
body.smi-portal-fullwidth-page aside.widget-area,
body.smi-portal-fullwidth-page aside.sidebar,
body.smi-portal-fullwidth-page .site-sidebar,
body.smi-portal-fullwidth-page .right-sidebar,
body.smi-portal-fullwidth-page .sidebar-container {
    display: none !important;
}

body.smi-portal-fullwidth-page #primary,
body.smi-portal-fullwidth-page .content-area,
body.smi-portal-fullwidth-page .site-main,
body.smi-portal-fullwidth-page main.site-main {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.smi-portal-fullwidth-page .site-content,
body.smi-portal-fullwidth-page #content {
    width: 100% !important;
}

body.smi-portal-fullwidth-page .site-content > .container,
body.smi-portal-fullwidth-page .site-content > .ast-container,
body.smi-portal-fullwidth-page #content > .container,
body.smi-portal-fullwidth-page #content > .ast-container {
    max-width: 1180px !important;
    width: calc(100% - 40px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.smi-portal-fullwidth-page article,
body.smi-portal-fullwidth-page .entry-content {
    width: 100% !important;
    max-width: 100% !important;
}

body.smi-portal-fullwidth-page .entry-content > .smi-dashboard,
body.smi-portal-fullwidth-page .entry-content > .smi-card {
    width: 100%;
}

/* Recruiter profile header */
body.smi-recruiter-dashboard-page
.smi-recruiter-profile-summary {
    align-items: center;
}

body.smi-recruiter-dashboard-page
.smi-recruiter-profile-summary .smi-profile-edit-label {
    white-space: nowrap;
}

/* Portal tables remain usable on smaller screens */
body.smi-portal-fullwidth-page .smi-card {
    box-sizing: border-box;
}

body.smi-portal-fullwidth-page .smi-card table {
    max-width: 100%;
}

@media (max-width: 768px) {
    body.smi-portal-fullwidth-page
    .site-content > .container,
    body.smi-portal-fullwidth-page
    .site-content > .ast-container,
    body.smi-portal-fullwidth-page
    #content > .container,
    body.smi-portal-fullwidth-page
    #content > .ast-container {
        width: calc(100% - 24px) !important;
    }

    body.smi-portal-fullwidth-page .smi-card {
        width: 100%;
        max-width: 100%;
    }
}


/* =========================================================
   SMI MEMBER DASHBOARD - FINAL UI POLISH
   Scoped only to Member Dashboard
   ========================================================= */

/* Remove Tutor theme sidebar / widget column */
body.smi-member-dashboard-page #secondary,
body.smi-member-dashboard-page #sidebar,
body.smi-member-dashboard-page .widget-area,
body.smi-member-dashboard-page aside.sidebar,
body.smi-member-dashboard-page .sidebar,
body.smi-member-dashboard-page .right-sidebar,
body.smi-member-dashboard-page .sidebar-container,
body.smi-member-dashboard-page .content_sidebar > aside,
body.smi-member-dashboard-page .middle-align.content_sidebar > aside {
    display: none !important;
}

/* Remove theme reserved sidebar space */
body.smi-member-dashboard-page .middle-align.content_sidebar,
body.smi-member-dashboard-page .content_sidebar {
    display: block !important;
    width: 100% !important;
}

/* Main content: centered, readable dashboard width */
body.smi-member-dashboard-page #primary,
body.smi-member-dashboard-page .content-area,
body.smi-member-dashboard-page .site-main,
body.smi-member-dashboard-page main.site-main {
    float: none !important;
    width: 100% !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Keep dashboard itself centered */
body.smi-member-dashboard-page .smi-dashboard,
body.smi-member-dashboard-page .smi-wrap {
    width: 100%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Consistent section spacing */
body.smi-member-dashboard-page .smi-card {
    margin-top: 18px;
    border-radius: 12px;
    box-sizing: border-box;
}

/* Recommended Jobs section */
body.smi-member-dashboard-page .smi-recommended-jobs-card {
    margin-top: 18px;
}

/* Job cards: less empty horizontal space */
body.smi-member-dashboard-page .smi-recommended-job {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 18px 20px;
    min-height: 0;
}

/* Keep job information compact */
body.smi-member-dashboard-page .smi-recommended-job-main {
    min-width: 0;
    max-width: 680px;
}

/* Job company/title/meta spacing */
body.smi-member-dashboard-page
.smi-recommended-job .smi-job-company {
    margin: 0 0 5px;
}

body.smi-member-dashboard-page
.smi-recommended-job h4 {
    margin: 0 0 8px;
    line-height: 1.35;
}

/* Actions stay together */
body.smi-member-dashboard-page
.smi-recommended-job-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

body.smi-member-dashboard-page
.smi-recommended-job-actions form {
    margin: 0;
}

/* Make buttons visually consistent */
body.smi-member-dashboard-page
.smi-recommended-job-actions a,
body.smi-member-dashboard-page
.smi-recommended-job-actions button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Profile summary should not feel oversized */
body.smi-member-dashboard-page
.smi-profile-summary {
    min-height: 0;
    padding-top: 2px;
    padding-bottom: 2px;
}

/* Application card readability */
body.smi-member-dashboard-page
.smi-member-applications-card {
    overflow: hidden;
}

body.smi-member-dashboard-page
.smi-member-applications-card .smi-table {
    width: 100%;
}

/* Dashboard section headings */
body.smi-member-dashboard-page
.smi-card > h3:first-child,
body.smi-member-dashboard-page
.smi-card > h2:first-child {
    margin-top: 0;
}

/* Tablet/mobile */
@media (max-width: 760px) {

    body.smi-member-dashboard-page #primary,
    body.smi-member-dashboard-page .content-area,
    body.smi-member-dashboard-page .site-main,
    body.smi-member-dashboard-page main.site-main {
        max-width: 100% !important;
    }

    body.smi-member-dashboard-page .smi-dashboard,
    body.smi-member-dashboard-page .smi-wrap {
        max-width: 100%;
    }

    body.smi-member-dashboard-page .smi-recommended-job {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 16px;
    }

    body.smi-member-dashboard-page
    .smi-recommended-job-main {
        max-width: none;
    }

    body.smi-member-dashboard-page
    .smi-recommended-job-actions {
        justify-content: flex-start;
    }
}

/* Very small screens */
@media (max-width: 520px) {

    body.smi-member-dashboard-page
    .smi-recommended-job-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    body.smi-member-dashboard-page
    .smi-recommended-job-actions a,
    body.smi-member-dashboard-page
    .smi-recommended-job-actions button,
    body.smi-member-dashboard-page
    .smi-recommended-job-actions form {
        width: 100%;
    }
}


/* =========================================================
   MEMBER DASHBOARD - COMPACT RECOMMENDED / SAVED JOB CARDS
   ========================================================= */

body.smi-member-dashboard-page .smi-recommended-job,
body.smi-member-dashboard-page .smi-saved-job,
body.smi-member-dashboard-page .smi-job-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* Force compact horizontal card */
body.smi-member-dashboard-page .smi-recommended-job {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    align-content: center !important;
    gap: 18px !important;

    padding: 14px 16px !important;
    margin: 0 !important;

    min-height: 92px !important;
    height: auto !important;

    box-sizing: border-box !important;
}

/* Remove large internal vertical spacing */
body.smi-member-dashboard-page .smi-recommended-job-main {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    gap: 6px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Company */
body.smi-member-dashboard-page
.smi-recommended-job-main .smi-job-company {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

/* Job title */
body.smi-member-dashboard-page
.smi-recommended-job-main h4 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

/* Role / job metadata */
body.smi-member-dashboard-page
.smi-recommended-job .smi-job-meta-row {
    margin: 2px 0 0 !important;
    padding: 0 !important;
    gap: 6px !important;
}

/* Match badge */
body.smi-member-dashboard-page
.smi-recommended-job .smi-match-score,
body.smi-member-dashboard-page
.smi-recommended-job [class*="smi-match"] {
    margin-top: 0 !important;
}

/* Keep all action buttons together */
body.smi-member-dashboard-page
.smi-recommended-job-actions {
    align-self: center !important;
    justify-self: end !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;

    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;

    min-height: 0 !important;
    height: auto !important;
}

body.smi-member-dashboard-page
.smi-recommended-job-actions form {
    margin: 0 !important;
    padding: 0 !important;
}

/* Slightly smaller buttons inside these cards */
body.smi-member-dashboard-page
.smi-recommended-job-actions a,
body.smi-member-dashboard-page
.smi-recommended-job-actions button {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 13px !important;
    margin: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
    line-height: 1 !important;
}

/* Reduce whitespace around the job list itself */
body.smi-member-dashboard-page
.smi-recommended-job-list {
    gap: 10px !important;
    margin-top: 12px !important;
}

/* Saved / Recommended parent cards slightly tighter */
body.smi-member-dashboard-page
.smi-recommended-jobs-card {
    padding-bottom: 16px !important;
}

@media (max-width: 760px) {

    body.smi-member-dashboard-page .smi-recommended-job {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        gap: 12px !important;
    }

    body.smi-member-dashboard-page
    .smi-recommended-job-actions {
        justify-self: start !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }
}


/* =========================================================
   SMI RECRUITER DASHBOARD - FINAL 3 COLUMN LAYOUT
   ========================================================= */

/* Remove Tutor theme sidebar completely */
body.smi-recruiter-dashboard-page #sidebar,
body.smi-recruiter-dashboard-page #secondary,
body.smi-recruiter-dashboard-page .widget-area,
body.smi-recruiter-dashboard-page aside.sidebar,
body.smi-recruiter-dashboard-page .sidebar,
body.smi-recruiter-dashboard-page .site-sidebar,
body.smi-recruiter-dashboard-page .right-sidebar,
body.smi-recruiter-dashboard-page .sidebar-container,
body.smi-recruiter-dashboard-page .content_sidebar > aside,
body.smi-recruiter-dashboard-page
.middle-align.content_sidebar > aside {
    display: none !important;
}

/* Remove Tutor reserved sidebar space */
body.smi-recruiter-dashboard-page .middle-align.content_sidebar,
body.smi-recruiter-dashboard-page .content_sidebar {
    display: block !important;
    width: 100% !important;
}

/* Center dashboard instead of stretching edge-to-edge */
body.smi-recruiter-dashboard-page #primary,
body.smi-recruiter-dashboard-page .content-area,
body.smi-recruiter-dashboard-page .site-main,
body.smi-recruiter-dashboard-page main.site-main {
    float: none !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Main recruiter content */
body.smi-recruiter-dashboard-page .smi-wrap,
body.smi-recruiter-dashboard-page .smi-dashboard {
    width: 100% !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* SUMMARY: exactly 3 cards per row */
body.smi-recruiter-dashboard-page .smi-recruiter-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
}

/* Compact summary cards */
body.smi-recruiter-dashboard-page
.smi-recruiter-summary .smi-summary-card {
    min-width: 0 !important;
    min-height: 92px !important;
    padding: 17px 18px !important;
    box-sizing: border-box !important;
}

/* Agency profile compact */
body.smi-recruiter-dashboard-page
.smi-recruiter-profile-card {
    margin-bottom: 16px !important;
}

/* Candidate section */
body.smi-recruiter-dashboard-page
.smi-recruiter-candidates-card {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Filters remain 3 columns */
body.smi-recruiter-dashboard-page
.smi-recruiter-filter-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: end !important;
}

/* Make filter controls compact */
body.smi-recruiter-dashboard-page
.smi-recruiter-filter-field select,
body.smi-recruiter-dashboard-page
.smi-recruiter-filter-field input {
    width: 100% !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
}

/* Candidate cards: maximum 3 per row */
body.smi-recruiter-dashboard-page
.smi-recruiter-candidate-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
}

/* Candidate cards compact */
body.smi-recruiter-dashboard-page
.smi-recruiter-candidate-card {
    min-width: 0 !important;
    height: 100% !important;
    padding: 18px !important;
    box-sizing: border-box !important;
}

/* Prevent long data from expanding cards */
body.smi-recruiter-dashboard-page
.smi-recruiter-candidate-card * {
    max-width: 100%;
}

/* Fix the ? glyph shown beside Edit Agency Profile */
body.smi-recruiter-dashboard-page
.smi-recruiter-profile-edit::after {
    content: "?" !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

body.smi-recruiter-dashboard-page
.smi-recruiter-profile-card[open]
.smi-recruiter-profile-edit::after {
    transform: rotate(180deg);
}

/* Tablet: 2 columns */
@media (max-width: 900px) {

    body.smi-recruiter-dashboard-page
    .smi-recruiter-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    body.smi-recruiter-dashboard-page
    .smi-recruiter-candidate-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    body.smi-recruiter-dashboard-page
    .smi-recruiter-filter-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile: single column */
@media (max-width: 640px) {

    body.smi-recruiter-dashboard-page
    .smi-recruiter-summary,
    body.smi-recruiter-dashboard-page
    .smi-recruiter-candidate-grid,
    body.smi-recruiter-dashboard-page
    .smi-recruiter-filter-grid {
        grid-template-columns: 1fr !important;
    }

    body.smi-recruiter-dashboard-page
    .smi-recruiter-filter-actions {
        justify-content: flex-start !important;
    }
}


/* =========================================================
   SMI JOB PORTAL ADMIN - FINAL FULL WIDTH LAYOUT
   ========================================================= */

/* Remove Tutor theme sidebar completely */
body.smi-portal-admin-page #sidebar,
body.smi-portal-admin-page #secondary,
body.smi-portal-admin-page .widget-area,
body.smi-portal-admin-page aside.sidebar,
body.smi-portal-admin-page .sidebar,
body.smi-portal-admin-page .site-sidebar,
body.smi-portal-admin-page .right-sidebar,
body.smi-portal-admin-page .sidebar-container,
body.smi-portal-admin-page .content_sidebar > aside,
body.smi-portal-admin-page
.middle-align.content_sidebar > aside {
    display: none !important;
}

/* Remove space reserved by Tutor sidebar */
body.smi-portal-admin-page .middle-align.content_sidebar,
body.smi-portal-admin-page .content_sidebar {
    display: block !important;
    width: 100% !important;
}

/* Center main page */
body.smi-portal-admin-page #primary,
body.smi-portal-admin-page .content-area,
body.smi-portal-admin-page .site-main,
body.smi-portal-admin-page main.site-main {
    float: none !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Admin dashboard content */
body.smi-portal-admin-page .smi-wrap {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 24px auto !important;
    box-sizing: border-box !important;
}

/* Prevent tables from breaking layout */
body.smi-portal-admin-page .smi-card {
    min-width: 0;
    box-sizing: border-box;
}

body.smi-portal-admin-page .smi-table {
    width: 100%;
}

/* Mobile */
@media (max-width: 760px) {

    body.smi-portal-admin-page #primary,
    body.smi-portal-admin-page .content-area,
    body.smi-portal-admin-page .site-main,
    body.smi-portal-admin-page main.site-main {
        max-width: 100% !important;
    }

    body.smi-portal-admin-page .smi-wrap {
        max-width: 100% !important;
        padding-left: 12px;
        padding-right: 12px;
    }

    body.smi-portal-admin-page .smi-table {
        display: block;
        overflow-x: auto;
    }
}


/* =========================================================
   SMI ADMIN REPORTS - CLEAN CARD UI
   ========================================================= */

body.smi-portal-admin-page .smi-reports-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}

body.smi-portal-admin-page .smi-report-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

body.smi-portal-admin-page .smi-report-card > strong {
    font-size: 16px;
    margin-bottom: 12px;
}

body.smi-portal-admin-page .smi-report-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 14px;
    margin-bottom: 16px;
}

body.smi-portal-admin-page .smi-report-field {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    line-height: 1.3;
    cursor: pointer;
}

body.smi-portal-admin-page .smi-report-field input[type="checkbox"] {
    margin: 0 !important;
    flex: 0 0 auto;
}

body.smi-portal-admin-page .smi-report-card .smi-primary {
    margin-top: auto;
    width: 100%;
    min-height: 42px;
    border-radius: 8px;
}

@media (max-width: 900px) {
    body.smi-portal-admin-page .smi-reports-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.smi-portal-admin-page .smi-reports-grid {
        grid-template-columns: 1fr;
    }

    body.smi-portal-admin-page .smi-report-fields {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   SMI REPORTS - ALIGNMENT FIX
   ========================================================= */

body.smi-portal-admin-page .smi-reports-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body.smi-portal-admin-page .smi-report-card {
    padding: 18px !important;
    min-height: 260px !important;
    overflow: visible !important;
}

body.smi-portal-admin-page .smi-report-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 20px !important;
    width: 100% !important;
    margin: 12px 0 20px !important;
}

body.smi-portal-admin-page .smi-report-field {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 8px !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    white-space: normal !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

body.smi-portal-admin-page
.smi-report-field input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

body.smi-portal-admin-page .smi-report-card > strong {
    display: block !important;
    width: 100% !important;
    margin-bottom: 6px !important;
}

body.smi-portal-admin-page .smi-report-card .smi-primary {
    display: block !important;
    width: 100% !important;
    margin-top: auto !important;
}

@media (max-width: 760px) {
    body.smi-portal-admin-page .smi-reports-grid {
        grid-template-columns: 1fr !important;
    }

    body.smi-portal-admin-page .smi-report-fields {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   PUBLIC JOBS PAGE - FULL WIDTH / NO SIDEBAR
   Page ID: 5266
   ========================================================= */

body.page-id-5266 #sidebar,
body.page-id-5266 #secondary,
body.page-id-5266 .widget-area,
body.page-id-5266 aside.sidebar,
body.page-id-5266 .sidebar,
body.page-id-5266 .site-sidebar,
body.page-id-5266 .right-sidebar,
body.page-id-5266 .sidebar-container,
body.page-id-5266 .content_sidebar > aside,
body.page-id-5266 .middle-align.content_sidebar > aside {
    display: none !important;
}

body.page-id-5266 .middle-align.content_sidebar,
body.page-id-5266 .content_sidebar {
    display: block !important;
    width: 100% !important;
}

body.page-id-5266 #primary,
body.page-id-5266 .content-area,
body.page-id-5266 .site-main,
body.page-id-5266 main.site-main {
    float: none !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.page-id-5266 .smi-wrap {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 24px auto !important;
}

@media (max-width: 760px) {
    body.page-id-5266 #primary,
    body.page-id-5266 .content-area,
    body.page-id-5266 .site-main,
    body.page-id-5266 main.site-main {
        max-width: 100% !important;
    }

    body.page-id-5266 .smi-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}
