/* Bolsa de Empleo Suite - public interface */
.bes-shell,
.bes-shell * { box-sizing: border-box; }
.bes-shell {
    width: 100%;
    max-width: var(--bes-max-width, 1440px);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 56px) clamp(16px, 3vw, 36px);
    color: var(--bes-text, #0f172a);
    font-family: var(--bes-font, inherit);
    font-size: var(--bes-base-size, 16px);
    line-height: 1.6;
}
.bes-shell h1,.bes-shell h2,.bes-shell h3,.bes-shell p { margin-top: 0; }
.bes-shell h1,.bes-shell h2,.bes-shell h3 { color: var(--bes-secondary, #0f172a); line-height: 1.12; font-family: inherit; }
.bes-shell h1 { font-size: clamp(2rem, 4vw, var(--bes-heading-size, 32px)); letter-spacing: -.035em; }
.bes-shell h2 { font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.025em; }
.bes-shell h3 { font-size: 1.18rem; letter-spacing: -.015em; }
.bes-shell a { color: inherit; }
.bes-muted { color: var(--bes-muted, #64748b); }
.bes-eyebrow { display:inline-block; margin-bottom:8px; font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--bes-primary,#1f6feb); }
.bes-panel,.bes-card,.bes-search-panel,.bes-empty,.bes-stat { background:var(--bes-card,#fff); border:1px solid var(--bes-border,#e2e8f0); border-radius:var(--bes-card-radius,18px); box-shadow:0 14px 40px rgba(15,23,42,.06); }
.bes-panel { padding:clamp(20px,3vw,34px); }
.bes-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 18px; border:1px solid transparent; border-radius:var(--bes-button-radius,12px); text-decoration:none!important; font:inherit; font-weight:750; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.bes-btn:hover { transform:translateY(-1px); }
.bes-btn-primary { color:#fff!important; background:var(--bes-primary,#1f6feb); box-shadow:0 10px 24px color-mix(in srgb,var(--bes-primary,#1f6feb) 24%,transparent); }
.bes-btn-ghost { color:var(--bes-text,#0f172a)!important; border-color:var(--bes-border,#e2e8f0); background:var(--bes-card,#fff); }
.bes-btn-danger { color:#b91c1c!important; border-color:#fecaca; background:#fff7f7; }
.bes-btn-small { min-height:36px; padding:6px 12px; font-size:.875rem; }
.bes-btn-block { width:100%; }
.bes-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.bes-directory { max-width:none; background:linear-gradient(180deg,color-mix(in srgb,var(--bes-bg,#f8fafc) 90%,#fff),var(--bes-bg,#f8fafc)); }
.bes-directory-hero,.bes-dashboard-head,.bes-section-head,.bes-job-hero,.bes-profile-hero { display:flex; justify-content:space-between; gap:24px; align-items:center; }
.bes-directory-hero { padding:clamp(6px,2vw,18px) 0 clamp(24px,4vw,42px); }
.bes-directory-hero p { max-width:760px; color:var(--bes-muted,#64748b); font-size:1.05rem; }
.bes-search-panel { padding:18px; margin-bottom:28px; }
.bes-search-main { display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) auto; gap:12px; align-items:end; }
.bes-filter-row { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)); gap:12px; padding-top:14px; margin-top:14px; border-top:1px solid var(--bes-border,#e2e8f0); }
.bes-search-panel label,.bes-form label { display:flex; flex-direction:column; gap:6px; font-weight:700; color:var(--bes-secondary,#0f172a); font-size:.9rem; }
.bes-search-panel label>span,.bes-form label>span { font-weight:700; }
.bes-search-panel input,.bes-search-panel select,.bes-form input,.bes-form select,.bes-form textarea,.bes-inline-form select { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--bes-border,#e2e8f0); border-radius:calc(var(--bes-button-radius,12px) - 2px); background:#fff; color:var(--bes-text,#0f172a); font:inherit; box-shadow:none; }
.bes-form textarea { min-height:120px; resize:vertical; }
.bes-search-panel input:focus,.bes-search-panel select:focus,.bes-form input:focus,.bes-form select:focus,.bes-form textarea:focus { outline:3px solid color-mix(in srgb,var(--bes-primary,#1f6feb) 16%,transparent); border-color:var(--bes-primary,#1f6feb); }
.bes-results-head { display:flex; justify-content:space-between; align-items:center; margin:22px 0 14px; }
.bes-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.bes-card { position:relative; padding:22px; min-width:0; overflow:hidden; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.bes-card:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--bes-primary,#1f6feb) 28%,var(--bes-border,#e2e8f0)); box-shadow:0 20px 44px rgba(15,23,42,.1); }
.bes-card-link { position:absolute; inset:0; z-index:1; }
.bes-card>*:not(.bes-card-link) { position:relative; z-index:2; pointer-events:none; }
.bes-card a:not(.bes-card-link),.bes-card button { pointer-events:auto; }
.bes-candidate-top,.bes-company-top,.bes-job-company { display:flex; gap:14px; align-items:center; }
.bes-avatar,.bes-company-logo,.bes-job-logo,.bes-job-hero-logo,.bes-company-profile-logo,.bes-profile-avatar { display:block; object-fit:cover; flex:0 0 auto; background:linear-gradient(135deg,color-mix(in srgb,var(--bes-primary,#1f6feb) 18%,#fff),color-mix(in srgb,var(--bes-accent,#16a34a) 18%,#fff)); color:var(--bes-secondary,#0f172a); font-weight:850; text-align:center; }
.bes-avatar,.bes-company-logo { width:66px; height:66px; border-radius:16px; }
.bes-job-logo { width:38px; height:38px; border-radius:10px; }
.bes-job-hero-logo,.bes-company-profile-logo,.bes-profile-avatar { width:104px; height:104px; border-radius:24px; }
.bes-initials { display:flex; align-items:center; justify-content:center; }
.bes-card h3 { margin:18px 0 8px; }
.bes-candidate-top h3,.bes-company-top h3 { margin:0 0 4px; }
.bes-card-subtitle { margin:0; color:var(--bes-muted,#64748b); }
.bes-card-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin:14px 0; color:var(--bes-muted,#64748b); font-size:.9rem; }
.bes-card-meta span { display:inline-flex; gap:5px; align-items:center; }
.bes-card-meta .dashicons { width:17px; height:17px; font-size:17px; color:var(--bes-primary,#1f6feb); }
.bes-card-footer { display:flex; justify-content:space-between; gap:12px; align-items:center; padding-top:15px; margin-top:16px; border-top:1px solid var(--bes-border,#e2e8f0); font-size:.9rem; font-weight:750; color:var(--bes-primary,#1f6feb); }
.bes-job-company { font-size:.85rem; font-weight:750; color:var(--bes-muted,#64748b); }
.bes-job-salary { margin-top:10px; font-weight:850; color:var(--bes-accent,#16a34a); }
.bes-empty { text-align:center; padding:clamp(36px,8vw,76px) 22px; }
.bes-empty p { color:var(--bes-muted,#64748b); }
.bes-pagination { margin-top:30px; }
.bes-pagination ul { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; padding:0; margin:0; list-style:none; }
.bes-pagination a,.bes-pagination span { display:flex; min-width:42px; height:42px; align-items:center; justify-content:center; border:1px solid var(--bes-border,#e2e8f0); border-radius:10px; background:#fff; text-decoration:none; }
.bes-pagination .current { background:var(--bes-primary,#1f6feb); border-color:var(--bes-primary,#1f6feb); color:#fff; }
.bes-single { padding-top:clamp(28px,5vw,64px); padding-bottom:clamp(48px,7vw,90px); }
.bes-profile-hero,.bes-job-hero { margin-bottom:22px; }
.bes-profile-identity,.bes-job-hero-main { display:flex; align-items:center; gap:20px; min-width:0; }
.bes-profile-identity h1,.bes-profile-identity h2,.bes-job-hero h1 { margin-bottom:6px; }
.bes-profile-identity p { margin:0; color:var(--bes-muted,#64748b); }
.bes-profile-summary { flex:1; }
.bes-profile-summary.is-compact .bes-profile-avatar { width:78px; height:78px; border-radius:18px; }
.bes-meta-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }
.bes-meta-grid>div,.bes-detail-list>div { padding:12px 14px; background:var(--bes-bg,#f8fafc); border:1px solid var(--bes-border,#e2e8f0); border-radius:12px; }
.bes-meta-grid span,.bes-detail-list span { display:block; margin-bottom:3px; color:var(--bes-muted,#64748b); font-size:.78rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.bes-meta-grid strong,.bes-detail-list strong { display:block; font-size:.95rem; }
.bes-single-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,.8fr); gap:22px; align-items:start; }
.bes-rich-content { min-width:0; }
.bes-rich-content img { max-width:100%; height:auto; }
.bes-tags { display:flex; flex-wrap:wrap; gap:8px; }
.bes-tags span,.bes-badge { display:inline-flex; align-items:center; min-height:30px; padding:5px 10px; border-radius:999px; background:color-mix(in srgb,var(--bes-primary,#1f6feb) 9%,#fff); color:var(--bes-primary,#1f6feb); border:1px solid color-mix(in srgb,var(--bes-primary,#1f6feb) 18%,transparent); font-size:.82rem; font-weight:750; }
.bes-contact-list { display:flex; flex-direction:column; gap:10px; }
.bes-contact-list a { display:flex; align-items:center; gap:9px; text-decoration:none; overflow-wrap:anywhere; }
.bes-detail-list { display:grid; gap:10px; margin-bottom:20px; }
.bes-related-section { margin-top:36px; }
.bes-related-section .bes-directory { padding:0; background:none; }
.bes-related-section .bes-directory-hero,.bes-related-section .bes-results-head { display:none; }
.bes-apply-panel { margin-top:22px; }
.bes-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.bes-span-2 { grid-column:span 2; }
.bes-check { flex-direction:row!important; align-items:flex-start!important; font-weight:500!important; }
.bes-check input { width:auto!important; min-height:0!important; margin-top:5px; }
.bes-notice { margin:0 0 18px; padding:13px 16px; border-radius:12px; border:1px solid; }
.bes-notice-success { color:#166534; background:#f0fdf4; border-color:#bbf7d0; }
.bes-notice-error { color:#991b1b; background:#fef2f2; border-color:#fecaca; }
.bes-auth-shell { padding-top:50px; padding-bottom:50px; }
.bes-auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:1060px; margin:0 auto; }
.bes-auth-card .bes-form { display:grid; gap:14px; }
.bes-account-welcome { max-width:720px; margin:0 auto; text-align:center; }
.bes-account-welcome .bes-actions { justify-content:center; }
.bes-dashboard { max-width:none; }
.bes-dashboard-head { margin-bottom:24px; }
.bes-dashboard-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:24px; align-items:start; }
.bes-dashboard-nav { position:sticky; top:28px; display:grid; gap:6px; padding:10px; background:var(--bes-card,#fff); border:1px solid var(--bes-border,#e2e8f0); border-radius:var(--bes-card-radius,18px); }
.bes-dashboard-nav-link { display:flex; gap:10px; align-items:center; padding:11px 12px; border-radius:11px; text-decoration:none!important; color:var(--bes-muted,#64748b)!important; font-weight:750; }
.bes-dashboard-nav-link:hover,.bes-dashboard-nav-link.is-active { background:color-mix(in srgb,var(--bes-primary,#1f6feb) 9%,#fff); color:var(--bes-primary,#1f6feb)!important; }
.bes-dashboard-content { min-width:0; }
.bes-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.bes-stat { padding:22px; }
.bes-stat span { display:block; color:var(--bes-muted,#64748b); font-weight:700; }
.bes-stat strong { display:block; margin-top:6px; font-size:2rem; line-height:1; }
.bes-list-table { display:grid; gap:10px; }
.bes-list-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; align-items:center; padding:16px; background:var(--bes-card,#fff); border:1px solid var(--bes-border,#e2e8f0); border-radius:14px; }
.bes-application-list { display:grid; gap:16px; }
.bes-application-card h3 { margin-bottom:4px; }
.bes-inline-form { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:18px; padding-top:16px; border-top:1px solid var(--bes-border,#e2e8f0); }
.bes-inline-form select { width:auto; min-width:180px; }

@media (max-width: 1100px) {
    .bes-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bes-filter-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bes-dashboard-layout { grid-template-columns:210px minmax(0,1fr); }
}
@media (max-width: 820px) {
    .bes-search-main,.bes-single-grid,.bes-auth-grid,.bes-dashboard-layout { grid-template-columns:1fr; }
    .bes-dashboard-nav { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bes-directory-hero,.bes-dashboard-head,.bes-section-head,.bes-job-hero,.bes-profile-hero { align-items:flex-start; flex-direction:column; }
    .bes-meta-grid,.bes-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bes-job-hero .bes-btn { width:100%; }
}
@media (max-width: 600px) {
    .bes-shell { padding-left:14px; padding-right:14px; }
    .bes-card-grid,.bes-filter-row,.bes-form-grid,.bes-meta-grid,.bes-stat-grid { grid-template-columns:1fr; }
    .bes-span-2 { grid-column:auto; }
    .bes-profile-identity,.bes-job-hero-main { align-items:flex-start; }
    .bes-job-hero-logo,.bes-company-profile-logo,.bes-profile-avatar { width:78px; height:78px; border-radius:18px; }
    .bes-list-row { grid-template-columns:1fr; }
    .bes-dashboard-nav { grid-template-columns:1fr; }
    .bes-actions .bes-btn { width:100%; }
}

.bes-profile-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end; }
.bes-cv-hero-btn { min-height:50px; padding:12px 20px; }
.bes-cv-hero-btn .dashicons,.bes-cv-actions .dashicons { width:18px; height:18px; font-size:18px; }
.bes-profile-sidebar { display:grid; gap:22px; min-width:0; }
.bes-profile-section { margin-top:30px; padding-top:24px; border-top:1px solid var(--bes-border,#e2e8f0); }
.bes-profile-section h3 { margin-top:0; }
.bes-cv-inline-note p { margin-bottom:0; color:var(--bes-muted,#64748b); }
.bes-cv-card { position:relative; overflow:hidden; padding:26px; background:linear-gradient(145deg,color-mix(in srgb,var(--bes-primary,#1f6feb) 7%,var(--bes-card,#fff)),var(--bes-card,#fff) 62%); }
.bes-cv-card.has-cv { border-color:color-mix(in srgb,var(--bes-primary,#1f6feb) 28%,var(--bes-border,#e2e8f0)); box-shadow:0 18px 42px color-mix(in srgb,var(--bes-primary,#1f6feb) 9%,transparent); }
.bes-cv-card h3 { margin:7px 0 8px; font-size:clamp(1.25rem,2vw,1.55rem); }
.bes-cv-card p { margin:0 0 20px; line-height:1.65; }
.bes-cv-icon { display:flex; align-items:center; justify-content:center; width:54px; height:54px; margin-bottom:18px; border-radius:16px; color:#fff; background:var(--bes-primary,#1f6feb); box-shadow:0 12px 26px color-mix(in srgb,var(--bes-primary,#1f6feb) 28%,transparent); }
.bes-cv-icon .dashicons { width:26px; height:26px; font-size:26px; }
.bes-cv-actions { display:grid; gap:10px; margin-top:18px; }
.bes-cv-card .bes-muted .dashicons { vertical-align:middle; margin-right:4px; }

@media (max-width: 820px) {
    .bes-profile-actions { justify-content:flex-start; width:100%; }
    .bes-profile-actions .bes-btn { flex:1 1 180px; }
}
@media (max-width: 600px) {
    .bes-profile-actions .bes-btn { width:100%; flex-basis:100%; }
    .bes-cv-card { padding:22px; }
}

/* Complete candidate profile - v1.2 */
.bes-candidate-profile-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,360px); gap:22px; align-items:start; }
.bes-candidate-profile-main { display:grid; gap:22px; min-width:0; }
.bes-candidate-section { margin:0; }
.bes-candidate-section-head { margin-bottom:22px; }
.bes-candidate-section-head h2 { margin-bottom:6px; }
.bes-candidate-section-head p { margin:0; color:var(--bes-muted,#64748b); }
.bes-profile-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bes-profile-field { min-width:0; padding:15px 16px; border:1px solid var(--bes-border,#e2e8f0); border-radius:13px; background:var(--bes-bg,#f8fafc); }
.bes-profile-field>span { display:block; margin-bottom:5px; color:var(--bes-muted,#64748b); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.bes-profile-field>strong { display:block; overflow-wrap:anywhere; white-space:normal; font-size:.96rem; font-weight:700; line-height:1.55; }
.bes-profile-subsection + .bes-profile-subsection { margin-top:24px; padding-top:22px; border-top:1px solid var(--bes-border,#e2e8f0); }
.bes-profile-subsection h3 { margin-bottom:12px; }
.bes-profile-subsection p { margin-bottom:0; }
.bes-profile-long-value { padding:16px; margin-bottom:14px; border:1px solid var(--bes-border,#e2e8f0); border-radius:13px; background:var(--bes-bg,#f8fafc); white-space:normal; overflow-wrap:anywhere; }
.bes-extra-field-grid { margin-top:14px; }
.bes-admin-profile-note { border-style:dashed; }
.bes-admin-profile-note .bes-detail-list { margin-bottom:0; }
@media (max-width: 900px) {
    .bes-candidate-profile-layout { grid-template-columns:1fr; }
    .bes-profile-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
    .bes-profile-field-grid,.bes-profile-sidebar { grid-template-columns:1fr; }
}


/* Responsive refinement - v1.2.1
 * Visual-only overrides. No backend or data behavior changes.
 */
@media (max-width: 820px) {
    .bes-shell {
        padding-top: clamp(20px, 4vw, 34px);
        padding-bottom: clamp(36px, 7vw, 56px);
    }

    .bes-profile-hero,
    .bes-job-hero,
    .bes-dashboard-head,
    .bes-directory-hero {
        gap: 16px;
    }

    .bes-profile-summary,
    .bes-profile-actions,
    .bes-job-hero-main,
    .bes-job-hero > .bes-btn {
        width: 100%;
    }

    .bes-profile-identity,
    .bes-job-hero-main,
    .bes-candidate-top,
    .bes-company-top {
        min-width: 0;
    }

    .bes-profile-identity > div,
    .bes-job-hero-main > div,
    .bes-candidate-top > div,
    .bes-company-top > div {
        min-width: 0;
    }

    .bes-profile-identity h1,
    .bes-profile-identity h2,
    .bes-job-hero h1,
    .bes-card h3,
    .bes-card-subtitle {
        overflow-wrap: anywhere;
    }

    .bes-results-head {
        gap: 12px;
        flex-wrap: wrap;
    }

    .bes-list-row {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 650px) {
    /* Small informational tiles stay compact in a two-column rhythm. */
    .bes-profile-field-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .bes-shell {
        padding-left: 12px;
        padding-right: 12px;
    }

    .bes-panel {
        padding: 17px;
        border-radius: min(var(--bes-card-radius, 18px), 16px);
    }

    .bes-card,
    .bes-search-panel,
    .bes-stat {
        border-radius: min(var(--bes-card-radius, 18px), 16px);
    }

    .bes-card {
        padding: 17px;
    }

    .bes-search-panel {
        padding: 14px;
        margin-bottom: 20px;
    }

    .bes-directory-hero {
        padding-bottom: 24px;
    }

    .bes-directory-hero p {
        font-size: .98rem;
        line-height: 1.55;
    }

    /* Compact candidate/company/job facts remain two-by-two on phones. */
    .bes-meta-grid,
    .bes-profile-field-grid,
    .bes-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .bes-meta-grid {
        margin-top: 18px;
    }

    .bes-meta-grid > div,
    .bes-profile-field,
    .bes-stat {
        min-width: 0;
        padding: 11px 12px;
        border-radius: 11px;
    }

    .bes-meta-grid span,
    .bes-profile-field > span,
    .bes-detail-list span {
        margin-bottom: 3px;
        font-size: .69rem;
        line-height: 1.25;
        letter-spacing: .035em;
    }

    .bes-meta-grid strong,
    .bes-profile-field > strong {
        font-size: .88rem;
        line-height: 1.38;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .bes-stat strong {
        font-size: 1.55rem;
    }

    .bes-candidate-section-head {
        margin-bottom: 16px;
    }

    .bes-candidate-section-head h2 {
        font-size: clamp(1.3rem, 6vw, 1.65rem);
    }

    .bes-candidate-section-head p {
        font-size: .9rem;
        line-height: 1.5;
    }

    .bes-candidate-profile-main,
    .bes-profile-sidebar {
        gap: 16px;
    }

    .bes-candidate-profile-layout {
        gap: 16px;
    }

    .bes-profile-section {
        margin-top: 22px;
        padding-top: 18px;
    }

    .bes-profile-subsection + .bes-profile-subsection {
        margin-top: 18px;
        padding-top: 18px;
    }

    .bes-profile-long-value {
        padding: 13px;
        margin-bottom: 11px;
    }

    .bes-job-hero-logo,
    .bes-company-profile-logo,
    .bes-profile-avatar {
        width: 68px;
        height: 68px;
        border-radius: 16px;
    }

    .bes-profile-identity,
    .bes-job-hero-main {
        gap: 13px;
    }

    .bes-profile-identity h2,
    .bes-job-hero h1 {
        font-size: clamp(1.45rem, 7vw, 1.9rem);
    }

    .bes-eyebrow {
        margin-bottom: 5px;
        font-size: .68rem;
        letter-spacing: .1em;
    }

    .bes-profile-actions {
        gap: 8px;
    }

    .bes-profile-actions .bes-btn,
    .bes-actions .bes-btn {
        min-height: 44px;
    }

    .bes-cv-card {
        padding: 18px;
    }

    .bes-cv-icon {
        width: 46px;
        height: 46px;
        margin-bottom: 14px;
        border-radius: 14px;
    }

    .bes-cv-card p {
        margin-bottom: 16px;
    }

    /* Search and editing forms need comfortable touch targets, not cramped columns. */
    .bes-filter-row,
    .bes-form-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .bes-search-main {
        gap: 11px;
    }

    .bes-search-panel input,
    .bes-search-panel select,
    .bes-form input,
    .bes-form select,
    .bes-form textarea,
    .bes-inline-form select {
        min-height: 46px;
        font-size: 16px;
    }

    .bes-inline-form {
        align-items: stretch;
    }

    .bes-inline-form select,
    .bes-inline-form .bes-btn {
        width: 100%;
        min-width: 0;
    }

    /* Keep dashboard navigation compact rather than creating a very tall menu. */
    .bes-dashboard-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 8px;
    }

    .bes-dashboard-nav-link {
        min-width: 0;
        padding: 10px;
        font-size: .88rem;
        line-height: 1.3;
    }

    .bes-list-row {
        gap: 10px;
        padding: 13px;
    }

    .bes-card-meta {
        gap: 7px 11px;
        margin: 11px 0;
        font-size: .84rem;
    }

    .bes-card-footer {
        margin-top: 13px;
        padding-top: 12px;
    }

    .bes-auth-shell {
        padding-top: 28px;
        padding-bottom: 34px;
    }
}

@media (max-width: 370px) {
    .bes-shell {
        padding-left: 10px;
        padding-right: 10px;
    }

    .bes-meta-grid,
    .bes-profile-field-grid,
    .bes-stat-grid {
        gap: 7px;
    }

    .bes-meta-grid > div,
    .bes-profile-field,
    .bes-stat {
        padding: 10px;
    }

    .bes-meta-grid strong,
    .bes-profile-field > strong {
        font-size: .84rem;
    }

    .bes-dashboard-nav {
        grid-template-columns: 1fr;
    }
}

/* Employer onboarding and company approval - v1.3.0 */
.bes-auth-grid.is-single,
.bes-employer-auth-grid.is-single { grid-template-columns:minmax(0,620px); justify-content:center; }
.bes-employer-access-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1060px; margin:22px auto 0; background:linear-gradient(135deg,color-mix(in srgb,var(--bes-primary,#1f6feb) 7%,var(--bes-card,#fff)),var(--bes-card,#fff)); }
.bes-employer-access-cta h2 { margin-bottom:8px; }
.bes-employer-access-cta p { margin-bottom:0; color:var(--bes-muted,#64748b); max-width:720px; }
.bes-employer-auth-shell { max-width:1280px; }
.bes-employer-auth-intro { max-width:820px; margin:0 auto 28px; text-align:center; }
.bes-employer-auth-intro p { margin:0; color:var(--bes-muted,#64748b); font-size:1.05rem; }
.bes-employer-auth-grid { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.45fr); gap:22px; align-items:start; }
.bes-employer-login-card { position:sticky; top:24px; }
.bes-employer-register-card { padding:clamp(22px,3vw,36px); }
.bes-employer-register-head { margin-bottom:22px; }
.bes-employer-register-head h2 { margin-bottom:8px; }
.bes-info-strip { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; margin:16px 0 20px; border:1px solid color-mix(in srgb,var(--bes-primary,#1f6feb) 24%,var(--bes-border,#e2e8f0)); border-radius:12px; background:color-mix(in srgb,var(--bes-primary,#1f6feb) 7%,#fff); color:var(--bes-text,#0f172a); }
.bes-info-strip .dashicons { flex:0 0 auto; margin-top:2px; color:var(--bes-primary,#1f6feb); }
.bes-form-section-title { display:flex; flex-direction:column; gap:3px; padding:5px 0 11px; margin-top:6px; border-bottom:1px solid var(--bes-border,#e2e8f0); }
.bes-form-section-title strong { font-size:1.08rem; color:var(--bes-secondary,#0f172a); }
.bes-form-section-title span { color:var(--bes-muted,#64748b); font-size:.9rem; }
.bes-registration-consent { padding:13px 14px; border:1px solid var(--bes-border,#e2e8f0); border-radius:12px; background:var(--bes-bg,#f8fafc); }
.bes-honeypot { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.bes-notice-warning { color:#854d0e; background:#fffbeb; border-color:#fde68a; }
.bes-approval-badge { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:6px 10px; border:1px solid var(--bes-border,#e2e8f0); border-radius:999px; background:var(--bes-bg,#f8fafc); color:var(--bes-muted,#64748b); font-size:.82rem; font-weight:800; }
.bes-approval-badge.is-approved { color:#166534; border-color:#bbf7d0; background:#f0fdf4; }
.bes-approval-badge.is-pending { color:#854d0e; border-color:#fde68a; background:#fffbeb; }
.bes-approval-badge .dashicons { width:16px; height:16px; font-size:16px; }
.bes-company-status-row,
.bes-company-form-status { margin:12px 0 16px; }
.bes-company-dashboard-card > .bes-company-card { box-shadow:none; }
.bes-company-dashboard-card > .bes-company-card:hover { transform:none; box-shadow:none; }

@media (max-width: 900px) {
    .bes-employer-auth-grid { grid-template-columns:1fr; }
    .bes-employer-login-card { position:static; }
    .bes-employer-access-cta { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 600px) {
    .bes-employer-auth-intro { margin-bottom:20px; text-align:left; }
    .bes-employer-auth-intro p { font-size:.96rem; }
    .bes-employer-register-card { padding:17px; }
    .bes-employer-access-cta { gap:16px; }
    .bes-employer-access-cta .bes-btn { width:100%; }
    .bes-form-section-title { grid-column:1; }
    .bes-registration-consent { padding:11px 12px; }
}

/* Frontend company and job editors - v1.4.0 */
.bes-editor-shell {
    max-width: min(var(--bes-max-width, 1440px), 1180px);
    padding-top: clamp(28px, 4vw, 54px);
    padding-bottom: clamp(46px, 7vw, 86px);
}
.bes-editor-hero {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}
.bes-editor-hero > div { min-width:0; }
.bes-editor-hero h1 { margin-bottom:8px; }
.bes-editor-hero p { max-width:720px; margin-bottom:0; color:var(--bes-muted,#64748b); font-size:1.02rem; }
.bes-editor-card { padding:0; overflow:hidden; }
.bes-editor-card > .bes-section-head,
.bes-editor-card > .bes-company-form-status,
.bes-editor-card > .bes-info-strip { margin-left:clamp(20px,3vw,34px); margin-right:clamp(20px,3vw,34px); }
.bes-editor-card > .bes-section-head { padding-top:clamp(20px,3vw,34px); }
.bes-editor-form { display:block; }
.bes-editor-section {
    display:grid;
    grid-template-columns:minmax(190px, .72fr) minmax(0, 1.8fr);
    gap:clamp(24px,4vw,52px);
    padding:clamp(26px,4vw,44px);
    border-top:1px solid var(--bes-border,#e2e8f0);
}
.bes-editor-card > .bes-editor-form > .bes-editor-section:first-child { border-top:0; }
.bes-editor-section-copy { align-self:start; }
.bes-editor-section-copy h2 { margin:7px 0 9px; font-size:clamp(1.22rem,2.2vw,1.55rem); }
.bes-editor-section-copy p { margin:0; color:var(--bes-muted,#64748b); font-size:.92rem; line-height:1.62; }
.bes-editor-step {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:26px;
    padding:0 9px;
    border-radius:999px;
    background:color-mix(in srgb,var(--bes-primary,#1f6feb) 10%,#fff);
    border:1px solid color-mix(in srgb,var(--bes-primary,#1f6feb) 18%,transparent);
    color:var(--bes-primary,#1f6feb);
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.06em;
}
.bes-editor-fields { min-width:0; }
.bes-editor-fields label > span:first-child { display:block; }
.bes-editor-fields small { color:var(--bes-muted,#64748b); font-size:.8rem; font-weight:500; line-height:1.45; }
.bes-editor-fields textarea { min-height:190px; }
.bes-file-field input[type="file"] { padding:8px; background:var(--bes-bg,#f8fafc); }
.bes-current-upload {
    display:flex!important;
    align-items:center;
    gap:12px;
    margin:2px 0 7px;
    padding:11px;
    border:1px solid var(--bes-border,#e2e8f0);
    border-radius:12px;
    background:var(--bes-bg,#f8fafc);
    font-weight:500!important;
}
.bes-editor-logo-preview { width:58px; height:58px; border-radius:13px; object-fit:cover; flex:0 0 auto; }
.bes-editor-card > .bes-info-strip {
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:13px 15px;
    margin-top:18px;
    margin-bottom:2px;
    border:1px solid color-mix(in srgb,#d97706 28%,var(--bes-border,#e2e8f0));
    border-radius:12px;
    background:#fffbeb;
    color:#92400e;
    font-size:.9rem;
}
.bes-editor-card > .bes-info-strip .dashicons { flex:0 0 auto; margin-top:1px; color:#92400e; }
.bes-choice-toggle {
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:12px!important;
    padding:14px 15px;
    border:1px solid var(--bes-border,#e2e8f0);
    border-radius:12px;
    background:var(--bes-bg,#f8fafc);
}
.bes-choice-toggle input { margin-top:3px!important; }
.bes-choice-toggle span { display:grid!important; gap:2px; }
.bes-choice-toggle strong { font-size:.92rem; }
.bes-choice-toggle small { font-weight:500; }
.bes-publish-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bes-publish-option {
    position:relative;
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:11px!important;
    min-height:100%;
    padding:15px;
    border:1px solid var(--bes-border,#e2e8f0);
    border-radius:13px;
    background:var(--bes-card,#fff);
    cursor:pointer;
}
.bes-publish-option:has(input:checked) {
    border-color:color-mix(in srgb,var(--bes-primary,#1f6feb) 55%,var(--bes-border,#e2e8f0));
    background:color-mix(in srgb,var(--bes-primary,#1f6feb) 6%,#fff);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--bes-primary,#1f6feb) 9%,transparent);
}
.bes-publish-option input { width:auto!important; min-height:0!important; margin-top:4px; }
.bes-publish-option > span { display:grid!important; gap:4px; }
.bes-publish-option strong { font-size:.94rem; }
.bes-publish-option small { color:var(--bes-muted,#64748b); font-weight:500; line-height:1.45; }
.bes-editor-actions-bar {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    padding:18px clamp(26px,4vw,44px);
    border-top:1px solid var(--bes-border,#e2e8f0);
    background:color-mix(in srgb,var(--bes-bg,#f8fafc) 72%,#fff);
}
.bes-editor-submit { min-width:170px; }
.bes-editor-submit .dashicons { width:18px; height:18px; font-size:18px; }
.bes-editor-empty { margin:clamp(20px,3vw,34px); box-shadow:none; }
.bes-editor-empty > .dashicons { width:42px; height:42px; margin-bottom:8px; font-size:42px; color:var(--bes-primary,#1f6feb); }
.bes-company-setup-panel {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--bes-primary,#1f6feb) 6%,var(--bes-card,#fff)),var(--bes-card,#fff));
}
.bes-company-setup-panel h2 { margin-bottom:7px; }
.bes-company-setup-panel p { max-width:700px; margin-bottom:12px; }
.bes-single-company-actions { margin-top:18px; }

@media (max-width: 820px) {
    .bes-editor-hero,
    .bes-company-setup-panel { flex-direction:column; align-items:stretch; }
    .bes-editor-hero .bes-btn { align-self:flex-start; }
    .bes-editor-section { grid-template-columns:1fr; gap:18px; }
    .bes-editor-section-copy { max-width:720px; }
}

@media (max-width: 600px) {
    .bes-editor-shell { padding-top:22px; }
    .bes-editor-hero { gap:16px; margin-bottom:17px; }
    .bes-editor-hero .bes-btn { width:100%; }
    .bes-editor-card { border-radius:min(var(--bes-card-radius,18px),16px); }
    .bes-editor-section { padding:20px 17px; }
    .bes-editor-section-copy h2 { margin-bottom:6px; }
    .bes-editor-fields textarea { min-height:170px; }
    .bes-publish-options { grid-template-columns:1fr; }
    .bes-editor-actions-bar { position:sticky; bottom:0; z-index:4; padding:12px 14px; box-shadow:0 -10px 28px rgba(15,23,42,.07); }
    .bes-editor-actions-bar .bes-btn { flex:1 1 0; min-width:0; }
    .bes-company-setup-panel .bes-actions { width:100%; }
}
