/* Adaptação das rotas reais: os componentes e tokens vêm da V4 aprovada. */
:root { --c-accent:#652cf2; --c-accent-soft:#f2ecff; --c-primary:#652cf2; --c-primary-2:#4400a5; --c-ink:#211833; --c-text:#211833; --c-muted:#6c6579; --c-faint:#81768f; --c-line:#e8e3ef; --c-line-soft:#f5f1fa; --c-bg:#f7f6fa; --c-page:#f7f6fa; --c-white:#fff; --c-success:#187f7b; --c-success-bg:#e7f8f7; --c-danger:#b42336; --sh-md:0 10px 34px rgba(29,16,54,.055); --sh-lg:var(--sh-md); --sh-xl:var(--sh-md); }
body.portal-v4 { padding-top:0!important; background:#f7f6fa; color:#211833; font-family:Inter,system-ui,-apple-system,sans-serif; }
body.portal-v4 #workspace { min-height:100dvh; }
body.portal-v4 #workspace .ux-side { top:0; height:100dvh; }
body.portal-v4 #workspace .ux-stage-head { top:0; }
body.portal-v4 .skip-link:focus { top:8px; }
body.portal-v4 .ux-nav-link[href] { text-decoration:none; display:flex; }
body.portal-v4 .ux-side-bottom a { color:#dfd4ef; }
body.portal-v4 .ux-page { min-width:0; }
body.portal-v4 .ux-stage,body.portal-v4 .ux-stage-main { min-width:0; }
body.portal-v4 .ux-head-right .ux-badge { white-space:nowrap; }
.ux-alert[role=alert] { margin-bottom:18px; }
.ux-loading { padding:22px; color:#6c6579; }
.ux-dialog-open { overflow:hidden; }
.portal-v4 .msg { margin-top:16px; padding:14px; border:1px solid #e8e3ef; border-radius:12px; font-size:13px; line-height:1.6; }
.portal-v4 .msg-err { background:#fff2f3; color:#9c2435; }
.portal-v4 .msg-ok { background:#e7f8f7; color:#187f7b; }
.portal-v4 .ux-account b { overflow-wrap:anywhere; max-width:220px; }
.portal-v4 .ux-form-section { min-width:0; }
.portal-v4 .ux-card a { overflow-wrap:anywhere; }
.portal-v4 .ux-job-actions { flex-wrap:wrap; }
.portal-v4 .ux-talent-card { min-width:0; }
.portal-v4 .ux-result-summary { gap:10px; flex-wrap:wrap; }
.portal-v4 .ux-simple-table-wrap { max-width:100%; }
.portal-v4-legacy { width:100%; min-width:0; }
.portal-v4-legacy > .container { max-width:none; width:100%; padding:0; margin:0; }
.portal-v4-legacy h1,.portal-v4-legacy h2,.portal-v4-legacy h3,.portal-v4-legacy h4 { font-family:Inter,system-ui,sans-serif; color:#211833; }
.portal-v4-legacy .card { background:#fff; border:1px solid #e8e3ef; border-radius:18px; box-shadow:var(--sh-md); }
.portal-v4-legacy .hero,.portal-v4-legacy .hero-card { background:linear-gradient(120deg,#652cf2,#4400a5); border-radius:20px; color:#fff; }
.portal-v4-legacy .hero h1,.portal-v4-legacy .hero-card h1 { color:#fff; }
.portal-v4-legacy button,.portal-v4-legacy input,.portal-v4-legacy select,.portal-v4-legacy textarea { font-family:inherit; }
.portal-v4-legacy .btn,.portal-v4-legacy .btn-submit,.portal-v4-legacy .btn-primary { background:#652cf2; color:#fff; border-radius:10px; border:1px solid #652cf2; }
.portal-v4-legacy input,.portal-v4-legacy select,.portal-v4-legacy textarea { max-width:100%; }
.portal-v4-legacy .footer { margin-top:24px; }
@media(max-width:800px) {
  body.portal-v4 #workspace .ux-side { top:0; }
  body.portal-v4 #workspace .ux-stage-head { top:0; }
  body.portal-v4 #workspace .ux-stage-main { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
  body.portal-v4 .ux-grid-2 { grid-template-columns:1fr!important; }
  body.portal-v4 .ux-account { max-width:180px; }
  body.portal-v4 .ux-bread { min-width:0; }
  body.portal-v4 .ux-bread span { font-size:10px; }
  body.portal-v4 .ux-bread b { font-size:12px; }
  body.portal-v4 .ux-mini-avatar { flex-shrink:0; }
  .portal-v4-legacy .form-row,.portal-v4-legacy .cards-grid,.portal-v4-legacy .grid-2 { grid-template-columns:1fr; }
  .portal-v4-legacy .table-wrap,.portal-v4-legacy .kanban { max-width:100%; overflow:auto; }
}

/* Shells de autenticação são independentes da navegação de áreas logadas. */
.ux-auth-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px clamp(18px,5vw,64px); background:#21113d; color:white; }
.ux-auth-header img { display:block; width:154px; max-height:46px; object-fit:contain; }
.ux-auth-header a { color:white; font-size:13px; font-weight:700; text-decoration:none; }
.ux-auth-main { width:min(100% - 32px,1120px); margin:0 auto; padding:36px 0 56px; }
.ux-auth-main .ux-page { padding:0; }
.portal-v4-legacy > .nav,.portal-v4-legacy > .scoras-nav { display:none!important; }
.portal-v4-legacy > .container > .hero { margin-bottom:24px; padding:28px 30px; }
.portal-v4-legacy > .container { display:grid; gap:18px; }
.portal-v4-legacy .company-card { padding:20px; }
.portal-v4-legacy .card-actions { gap:12px; }
.portal-v4-legacy .card-actions .btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.portal-v4-legacy .status-badge { display:inline-flex; background:#e3f8f6; color:#126b69; }
.portal-v4-legacy .empty-state { text-align:center; padding:34px 22px; border:1px dashed #d9cfeb; border-radius:14px; background:#faf8fd; }
.portal-v4-legacy .empty-state h3 { margin:0 0 8px; }
.portal-v4-legacy .empty-state a { display:inline-flex; min-height:44px; align-items:center; margin-top:14px; padding:0 18px; border-radius:10px; background:#652cf2; color:white; font-weight:750; }
.ux-badge.positive { background:#e4f7eb; color:#17663a; border:1px solid #b8e3c6; }
.ux-badge.neutral { background:#f1f0f4; color:#625c69; border:1px solid #ddd9e2; }
@media(max-width:600px){.ux-auth-header{min-height:64px;padding:10px 16px}.ux-auth-header img{width:126px}.ux-auth-header a{font-size:11px}.ux-auth-main{padding:22px 0 36px}.portal-v4-legacy > .container > .hero{padding:22px 18px}.portal-v4-legacy .card-actions{display:grid;grid-template-columns:1fr;}}
.ux-avatar-image{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.ux-city-options{position:absolute;z-index:50;max-height:240px;overflow:auto;width:min(100%,420px);margin-top:3px;padding:5px;background:white;border:1px solid #ded5ee;border-radius:12px;box-shadow:0 12px 36px rgba(30,15,50,.17)}.ux-city-options button{display:block;width:100%;min-height:42px;text-align:left;padding:9px 12px;border:0;border-radius:8px;background:white;color:#211833;cursor:pointer}.ux-city-options button:hover,.ux-city-options button:focus{background:#f3effb;outline:2px solid #652cf2}.ux-field:has(.ux-city-options){position:relative}.portal-v4-legacy .empty-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 5px;border-radius:50%;background:#efe8fc;color:#652cf2;font-size:28px}
.ux-photo-crop{display:grid;gap:9px;margin-top:12px;padding:14px;border:1px solid #e8e3ef;border-radius:14px;background:#faf8fd}.ux-photo-crop img{width:112px;height:112px;border-radius:50%;object-fit:cover;object-position:center 50%;margin:0 auto 5px}.ux-photo-crop label{font-size:12px;font-weight:750}.ux-photo-crop input[type=range]{width:100%}
.portal-v4-legacy .hero h2,.portal-v4-legacy .hero p {color:#fff}
.ux-talent-detail-avatar{width:76px;height:76px;object-fit:cover;border-radius:50%;border:3px solid #eee7f8;margin:0 0 10px}
.portal-v4-legacy .empty-state-glass{background:#fff;border:1px solid #e8e3ef;border-radius:18px;box-shadow:var(--sh-md);color:#625c69;padding:32px 22px}.portal-v4-legacy .empty-state-glass h3{color:#211833!important}.portal-v4-legacy .empty-state-glass p{color:#6c6579}
.portal-v4-legacy .stat-grid{gap:14px}.portal-v4-legacy .stat{background:#fff;color:#211833;border:1px solid #e8e3ef;box-shadow:var(--sh-md);padding:18px;border-radius:15px}.portal-v4-legacy .stat strong{font-family:Inter,system-ui,sans-serif;color:#211833}.portal-v4-legacy .stat span{color:#6c6579}
.portal-v4-legacy .company-card .card-head{align-items:center}.portal-v4-legacy .company-card .card-info h3{overflow-wrap:anywhere}.portal-v4-legacy .company-card .card-desc{min-height:64px;color:#625c69}.portal-v4-legacy .company-card .badge-success{background:#e4f7eb;color:#17663a;border:1px solid #b8e3c6}
.portal-v4-legacy .header{align-items:center;gap:20px;margin-bottom:24px}.portal-v4-legacy .header-info{min-width:0;flex:1}.portal-v4-legacy .header-info h2{overflow-wrap:anywhere}.portal-v4-legacy .logo-big{flex:0 0 96px}.portal-v4-legacy .section{margin-bottom:18px}.portal-v4-legacy .job-card{gap:14px}.portal-v4-legacy .job-card .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
@media(max-width:700px){.portal-v4-legacy .header{align-items:flex-start;flex-direction:column;padding:22px}.portal-v4-legacy .logo-big{width:80px;height:80px;flex-basis:80px}.portal-v4-legacy .header-info h2{font-size:1.45rem}.portal-v4-legacy .job-card{align-items:stretch;flex-direction:column}.portal-v4-legacy .job-card .btn{width:100%}}
body[data-v4-guest="true"]{padding-top:0!important}

/* Descoberta de talentos e histórico com dados reais. */
.ux-saved-search-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0 24px}
.ux-saved-search-bar .ux-field{flex:1;min-width:200px;margin:0}
.application-timeline{display:flex;gap:16px;flex-wrap:wrap;list-style:none;margin:16px 0;padding:0}
.application-timeline li{border-left:3px solid var(--c-accent);padding:4px 0 4px 10px;display:flex;flex-direction:column;gap:4px;min-width:120px}
.application-timeline time{font-size:.8rem;color:var(--c-muted)}
@media(max-width:640px){.ux-saved-search-bar{align-items:stretch}.ux-saved-search-bar .ux-field,.ux-saved-search-bar button{width:100%}.application-timeline{display:grid;gap:12px}}

.ux-evidence-card{padding:16px;border:1px solid var(--c-line);border-radius:12px;margin:12px 0}.ux-evidence-card h4{margin:0 0 8px}.ux-evidence-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;margin:8px 0 12px}

/* Aviso de cookies (mesmo componente compacto e discreto da página pública). */
.sc-privacy-banner{position:fixed;z-index:1300;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));max-width:min(420px,calc(100vw - 24px));display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e6e0f0;border-radius:10px;box-shadow:0 4px 16px rgba(23,11,47,.10);padding:8px 10px 8px 14px;color:#4a4256}
.sc-privacy-banner[hidden]{display:none}
.sc-privacy-banner p{margin:0;font-size:12px;line-height:1.4}
.sc-privacy-banner p a{color:#652cf2;text-decoration:underline;text-underline-offset:2px}
.sc-privacy-actions{display:flex;gap:6px;flex-shrink:0}
.sc-privacy-actions button{cursor:pointer;padding:5px 10px;border-radius:7px;border:1px solid #e0d9ec;font-size:12px;font-weight:600;background:#fff;color:#4a4256}
.sc-privacy-actions button[data-privacy-action="accept"]{background:#652cf2;color:#fff;border-color:#652cf2}
