body { transition: background-color 0.3s ease, color 0.3s ease; }
        .fade-in { animation: fadeIn 0.4s ease-in-out; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        .no-scrollbar::-webkit-scrollbar { display: none; } 
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
        .modal-active { opacity: 1 !important; transform: scale(1) !important; }
        .ad-banner-real img { width: 100%; height: auto; object-fit: cover; border-radius: 0.75rem; transition: transform 0.2s ease; }
        @keyframes float-rocket { 0%, 100% { transform: translateY(0) rotate(-45deg); } 50% { transform: translateY(-15px) rotate(-45deg); } }
        .animate-float-rocket { animation: float-rocket 2s ease-in-out infinite; }
        
/* Impressão segura do currículo */
@media print {
    body.cv-print-mode { background:#fff!important; }
    body.cv-print-mode > *:not(main),
    body.cv-print-mode main > *:not(#view-cv),
    body.cv-print-mode #view-cv > *:not(.max-w-7xl) { display:none!important; }
    body.cv-print-mode #view-cv { display:block!important; padding:0!important; }
    body.cv-print-mode #view-cv .no-print,
    body.cv-print-mode #view-cv form,
    body.cv-print-mode #view-cv .bg-slate-200 > .no-print { display:none!important; }
    body.cv-print-mode #view-cv .max-w-7xl,
    body.cv-print-mode #view-cv .bg-slate-200,
    body.cv-print-mode .cv-preview-stage { display:block!important; max-width:none!important; padding:0!important; margin:0!important; background:#fff!important; border:0!important; box-shadow:none!important; overflow:visible!important; }
    body.cv-print-mode #cv-preview-container { width:210mm!important; min-height:297mm!important; margin:0!important; box-shadow:none!important; transform:none!important; }
    @page { size:A4; margin:0; }
}



/* Componentes da versão organizada */
.sv-input {
    width: 100%;
    padding: .78rem 1rem;
    border: 1px solid rgb(229 231 235);
    border-radius: .85rem;
    background: rgb(249 250 251);
    color: rgb(17 24 39);
    outline: none;
    transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.sv-input:focus { border-color: rgb(59 130 246); box-shadow: 0 0 0 3px rgb(59 130 246 / .15); background: white; }
.dark .sv-input { background: rgb(17 24 39); border-color: rgb(75 85 99); color: white; }
.dark .sv-input:focus { background: rgb(31 41 55); }
.sv-label { display:block; margin-bottom:.4rem; font-size:.72rem; line-height:1rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; color:rgb(107 114 128); }
.candidate-nav { width:100%; display:flex; align-items:center; text-align:left; padding:.85rem 1rem; border-radius:.85rem; font-size:.9rem; font-weight:700; color:rgb(75 85 99); transition:all .2s ease; }
.candidate-nav:hover { background:rgb(243 244 246); color:rgb(37 99 235); }
.dark .candidate-nav { color:rgb(209 213 219); }
.dark .candidate-nav:hover { background:rgb(55 65 81); }
.candidate-nav-active { background:rgb(239 246 255)!important; color:rgb(29 78 216)!important; box-shadow:0 1px 2px rgb(0 0 0 / .05); }
.dark .candidate-nav-active { background:rgb(30 58 138 / .35)!important; color:rgb(147 197 253)!important; }
.sv-stat-card { padding:1.15rem; border:1px solid rgb(229 231 235); border-radius:1rem; background:white; display:flex; flex-direction:column; }
.dark .sv-stat-card { background:rgb(31 41 55); border-color:rgb(55 65 81); }
.sv-stat-card strong { font-size:1.7rem; line-height:2rem; color:rgb(17 24 39); margin-top:.5rem; }
.dark .sv-stat-card strong { color:white; }
.sv-stat-card small { color:rgb(107 114 128); font-weight:700; margin-top:.15rem; }
.sv-stat-icon { width:2.4rem; height:2.4rem; display:flex; align-items:center; justify-content:center; border-radius:.8rem; }
.master-kpi { padding:1.2rem; background:white; border:1px solid rgb(229 231 235); border-radius:1rem; }
.dark .master-kpi { background:rgb(31 41 55); border-color:rgb(55 65 81); }
.job-bookmark-active { color:rgb(220 38 38)!important; background:rgb(254 242 242)!important; border-color:rgb(254 202 202)!important; }
.dark .job-bookmark-active { background:rgb(127 29 29 / .25)!important; border-color:rgb(153 27 27)!important; }

/* SuperVagas 2.2 — Carreira PRO */
.sv-alert-hero {
    background:
        radial-gradient(circle at 15% 15%, rgb(96 165 250 / .20), transparent 32%),
        radial-gradient(circle at 85% 80%, rgb(139 92 246 / .16), transparent 35%),
        linear-gradient(135deg, rgb(239 246 255), rgb(238 242 255));
}
.dark .sv-alert-hero {
    background:
        radial-gradient(circle at 15% 15%, rgb(37 99 235 / .23), transparent 32%),
        radial-gradient(circle at 85% 80%, rgb(109 40 217 / .18), transparent 35%),
        linear-gradient(135deg, rgb(17 24 39), rgb(15 23 42));
}
.sv-alert-orbit::before,
.sv-alert-orbit::after {
    content: '';
    position: absolute;
    inset: -.55rem;
    border: 1px solid rgb(59 130 246 / .24);
    border-radius: 1.65rem;
    animation: svAlertPulse 2.4s ease-out infinite;
}
.sv-alert-orbit::after { animation-delay: 1.2s; }
@keyframes svAlertPulse {
    0% { opacity: .8; transform: scale(.88); }
    100% { opacity: 0; transform: scale(1.35); }
}
.sv-alert-toggle {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem;
    border-radius:1rem;
    background:white;
    border:1px solid rgb(229 231 235);
    cursor:pointer;
}
.dark .sv-alert-toggle { background:rgb(31 41 55); border-color:rgb(55 65 81); }
.sv-helper { margin-top:.4rem; color:rgb(107 114 128); font-size:.72rem; line-height:1rem; }
.sv-channel-card { position:relative; cursor:pointer; }
.sv-channel-card input { position:absolute; opacity:0; pointer-events:none; }
.sv-channel-card span {
    min-height:6.5rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:.8rem;
    border-radius:1rem;
    border:1px solid rgb(229 231 235);
    background:white;
    color:rgb(75 85 99);
    text-align:center;
    transition:all .2s ease;
}
.dark .sv-channel-card span { background:rgb(31 41 55); border-color:rgb(55 65 81); color:rgb(209 213 219); }
.sv-channel-card i { font-size:1.15rem; color:rgb(59 130 246); margin-bottom:.35rem; }
.sv-channel-card strong { font-size:.78rem; }
.sv-channel-card small { margin-top:.15rem; font-size:.65rem; color:rgb(107 114 128); }
.sv-channel-card input:checked + span {
    border-color:rgb(59 130 246);
    background:rgb(239 246 255);
    color:rgb(29 78 216);
    box-shadow:0 0 0 3px rgb(59 130 246 / .12);
}
.dark .sv-channel-card input:checked + span { background:rgb(30 58 138 / .35); color:rgb(147 197 253); }
.sv-notification-unread { border-color:rgb(147 197 253)!important; background:rgb(239 246 255)!important; }
.dark .sv-notification-unread { border-color:rgb(30 64 175)!important; background:rgb(30 58 138 / .22)!important; }
#notification-center.is-open { opacity:1; }
#notification-center.is-open #notification-panel { transform:translateX(0); }
@media (prefers-reduced-motion: reduce) {
    .sv-alert-orbit::before, .sv-alert-orbit::after { animation:none; }
}


/* SuperVagas 2.2 - Área do Candidato PRO */
.sv-career-health-card {
    display:flex; align-items:center; gap:1.4rem; padding:1.45rem; border:1px solid rgb(219 234 254);
    border-radius:1.5rem; background:linear-gradient(135deg,#fff,#eff6ff); box-shadow:0 12px 30px rgb(37 99 235 / .08);
}
.dark .sv-career-health-card { background:linear-gradient(135deg,rgb(31 41 55),rgb(15 23 42)); border-color:rgb(30 64 175 / .6); }
.sv-score-ring { --score:0; flex:0 0 auto; width:7.2rem; height:7.2rem; border-radius:999px; display:grid; place-items:center; position:relative; background:conic-gradient(rgb(37 99 235) calc(var(--score) * 1%),rgb(219 234 254) 0); }
.sv-score-ring::before { content:''; position:absolute; inset:.62rem; border-radius:inherit; background:#fff; box-shadow:inset 0 0 0 1px rgb(226 232 240); }
.dark .sv-score-ring::before { background:rgb(31 41 55); box-shadow:inset 0 0 0 1px rgb(55 65 81); }
.sv-score-ring > div { position:relative; z-index:1; text-align:center; }
.sv-score-ring strong { display:block; font-size:2rem; line-height:1.8rem; color:rgb(15 23 42); }
.dark .sv-score-ring strong { color:#fff; }
.sv-score-ring small { color:rgb(100 116 139); font-weight:800; font-size:.7rem; }
.sv-radar-overview-card { padding:1.45rem; border-radius:1.5rem; color:white; background:radial-gradient(circle at 90% 10%,rgb(96 165 250 / .35),transparent 34%),linear-gradient(135deg,rgb(15 23 42),rgb(30 64 175)); box-shadow:0 18px 36px rgb(15 23 42 / .24); }
.sv-profile-task { display:flex; align-items:center; gap:.5rem; padding:.52rem .65rem; border-radius:.7rem; font-size:.7rem; font-weight:800; text-align:left; }
.sv-profile-task-missing { color:rgb(180 83 9); background:rgb(255 251 235); border:1px solid rgb(253 230 138); }
.sv-profile-task-done { color:rgb(4 120 87); background:rgb(236 253 245); border:1px solid rgb(167 243 208); }
.dark .sv-profile-task-missing { color:rgb(253 230 138); background:rgb(120 53 15 / .25); border-color:rgb(146 64 14); }
.dark .sv-profile-task-done { color:rgb(167 243 208); background:rgb(6 78 59 / .25); border-color:rgb(6 95 70); }
.sv-profile-section { padding:1.35rem; border-radius:1.35rem; background:rgb(249 250 251); border:1px solid rgb(229 231 235); }
.dark .sv-profile-section { background:rgb(17 24 39 / .58); border-color:rgb(55 65 81); }
.sv-profile-section-title { display:flex; align-items:center; gap:.8rem; margin-bottom:1.25rem; padding-bottom:1rem; border-bottom:1px solid rgb(229 231 235); }
.dark .sv-profile-section-title { border-color:rgb(55 65 81); }
.sv-profile-section-title > span { width:2.7rem; height:2.7rem; display:grid; place-items:center; border-radius:.85rem; flex:none; }
.sv-profile-section-title h4 { font-size:1.05rem; line-height:1.3rem; font-weight:900; color:rgb(17 24 39); }
.dark .sv-profile-section-title h4 { color:white; }
.sv-profile-section-title p { font-size:.72rem; color:rgb(107 114 128); margin-top:.12rem; }
.sv-choice-card,.sv-privacy-card { position:relative; cursor:pointer; }
.sv-choice-card input,.sv-privacy-card input { position:absolute; opacity:0; pointer-events:none; }
.sv-choice-card > span { min-height:4.4rem; display:flex; align-items:center; justify-content:center; gap:.6rem; padding:.8rem; border-radius:1rem; background:#fff; border:1px solid rgb(229 231 235); color:rgb(75 85 99); font-size:.75rem; font-weight:800; text-align:center; transition:.2s ease; }
.dark .sv-choice-card > span { background:rgb(31 41 55); border-color:rgb(75 85 99); color:rgb(209 213 219); }
.sv-choice-card input:checked + span { color:rgb(29 78 216); background:rgb(239 246 255); border-color:rgb(59 130 246); box-shadow:0 0 0 3px rgb(59 130 246 / .12); }
.dark .sv-choice-card input:checked + span { color:rgb(147 197 253); background:rgb(30 58 138 / .35); }
.sv-privacy-card > span { min-height:5rem; display:flex; align-items:center; gap:.8rem; padding:1rem; border-radius:1rem; background:#fff; border:1px solid rgb(229 231 235); transition:.2s ease; }
.dark .sv-privacy-card > span { background:rgb(31 41 55); border-color:rgb(75 85 99); }
.sv-privacy-card i { width:2.5rem; height:2.5rem; display:grid; place-items:center; border-radius:.8rem; background:rgb(243 244 246); color:rgb(75 85 99); flex:none; }
.sv-privacy-card strong { display:block; font-size:.78rem; color:rgb(31 41 55); }
.dark .sv-privacy-card strong { color:#fff; }
.sv-privacy-card small { display:block; color:rgb(107 114 128); font-size:.65rem; margin-top:.2rem; }
.sv-privacy-card input:checked + span { border-color:rgb(16 185 129); background:rgb(236 253 245); box-shadow:0 0 0 3px rgb(16 185 129 / .1); }
.dark .sv-privacy-card input:checked + span { background:rgb(6 78 59 / .24); }
.sv-privacy-card input:checked + span i { background:rgb(16 185 129); color:#fff; }
.sv-candidate-job-card { padding:1.15rem; border-radius:1.15rem; border:1px solid rgb(229 231 235); background:#fff; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.sv-candidate-job-card:hover { transform:translateY(-2px); border-color:rgb(96 165 250); box-shadow:0 12px 25px rgb(37 99 235 / .08); }
.dark .sv-candidate-job-card { background:rgb(31 41 55); border-color:rgb(55 65 81); }
.sv-match-badge { min-width:3.25rem; padding:.42rem .5rem; border-radius:.72rem; font-size:.72rem; line-height:1rem; font-weight:900; text-align:center; }
.sv-match-high { color:rgb(4 120 87); background:rgb(209 250 229); }
.sv-match-medium { color:rgb(29 78 216); background:rgb(219 234 254); }
.sv-match-low { color:rgb(180 83 9); background:rgb(254 243 199); }
.dark .sv-match-high { color:rgb(167 243 208); background:rgb(6 78 59 / .4); }
.dark .sv-match-medium { color:rgb(191 219 254); background:rgb(30 64 175 / .4); }
.dark .sv-match-low { color:rgb(253 230 138); background:rgb(120 53 15 / .4); }
.sv-reason-chip { display:inline-flex; align-items:center; gap:.3rem; padding:.3rem .5rem; border-radius:.55rem; color:rgb(55 65 81); background:rgb(243 244 246); font-size:.62rem; font-weight:800; }
.sv-reason-chip i { color:rgb(16 185 129); font-size:.55rem; }
.dark .sv-reason-chip { color:rgb(209 213 219); background:rgb(55 65 81); }

/* Currículo SuperVagas PRO */
.sv-template-card { position:relative; cursor:pointer; }
.sv-template-card input { position:absolute; opacity:0; pointer-events:none; }
.sv-template-card span { min-height:4.8rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; padding:.65rem; border:1px solid rgb(229 231 235); border-radius:1rem; background:#fff; color:rgb(75 85 99); transition:.2s ease; }
.dark .sv-template-card span { background:rgb(31 41 55); border-color:rgb(75 85 99); color:rgb(209 213 219); }
.sv-template-card i { color:rgb(37 99 235); }
.sv-template-card strong { font-size:.7rem; }
.sv-template-card input:checked + span { color:rgb(29 78 216); border-color:rgb(59 130 246); background:rgb(239 246 255); box-shadow:0 0 0 3px rgb(59 130 246 / .12); }
.cv-preview-stage { display:flex; justify-content:center; min-width:max-content; padding-bottom:2rem; }
.cv-document { width:210mm; min-height:297mm; background:#fff; color:rgb(15 23 42); box-shadow:0 25px 55px rgb(15 23 42 / .25); display:flex; flex-direction:column; font-family:Arial,Helvetica,sans-serif; }
.cv-document-header { padding:18mm 16mm 13mm; border-bottom:4px solid rgb(37 99 235); }
.cv-document-header h1 { font-size:30px; line-height:1; font-weight:900; text-transform:uppercase; letter-spacing:-.04em; }
.cv-document-header h2 { font-size:15px; line-height:1.3; font-weight:800; text-transform:uppercase; color:rgb(100 116 139); margin-top:7px; letter-spacing:.04em; }
.cv-contact-row { display:flex; flex-wrap:wrap; gap:8px 15px; margin-top:15px; color:rgb(71 85 105); font-size:9px; }
.cv-contact-row span { display:flex; align-items:center; gap:5px; }
.cv-contact-row i { color:rgb(37 99 235); }
.cv-contact-row b { font-weight:600; }
.cv-document-body { padding:10mm 16mm 8mm; flex-grow:1; }
.cv-document-section { margin-bottom:13px; }
.cv-document-section h3 { display:flex; align-items:center; gap:8px; font-size:10px; line-height:1.2; font-weight:900; text-transform:uppercase; letter-spacing:.08em; margin-bottom:7px; }
.cv-document-section h3::before { content:''; width:4px; height:14px; background:rgb(37 99 235); }
.cv-document-section p { white-space:pre-wrap; font-size:9.2px; line-height:1.48; color:rgb(30 41 59); }
.cv-section-empty { opacity:.38; }
.cv-skill-list { display:flex; flex-wrap:wrap; gap:6px; }
.cv-skill-list span { padding:4px 7px; border-radius:6px; background:rgb(241 245 249); border:1px solid rgb(226 232 240); font-size:7.5px; font-weight:800; text-transform:uppercase; }
.cv-document footer { margin:0 16mm 8mm; padding-top:6px; border-top:1px solid rgb(226 232 240); color:rgb(100 116 139); font-size:7px; }
.cv-document[data-template="moderno"] .cv-document-header { background:linear-gradient(135deg,rgb(37 99 235),rgb(79 70 229)); color:#fff; border:0; }
.cv-document[data-template="moderno"] .cv-document-header h2,.cv-document[data-template="moderno"] .cv-contact-row { color:rgb(219 234 254); }
.cv-document[data-template="moderno"] .cv-contact-row i { color:#fff; }
.cv-document[data-template="executivo"] .cv-document-header { border-color:rgb(15 50 84); }
.cv-document[data-template="executivo"] .cv-document-section h3::before { background:rgb(15 50 84); }
.cv-document[data-template="ats"] .cv-document-header { border-bottom:1px solid rgb(15 23 42); }
.cv-document[data-template="ats"] .cv-document-section h3::before { display:none; }
.cv-document[data-template="ats"] .cv-skill-list span { padding:0; border:0; background:none; text-transform:none; font-size:8.5px; }
.cv-document[data-template="ats"] .cv-skill-list span:not(:last-child)::after { content:' •'; }
@media (max-width:900px) {
    .sv-career-health-card { align-items:flex-start; flex-direction:column; }
    .sv-score-ring { width:6.3rem; height:6.3rem; }
    .cv-preview-stage { justify-content:flex-start; }
}


/* SuperVagas 2.3 — painel empresarial */
.sv-company-stat {
  display:flex; align-items:center; gap:.9rem; padding:1rem; border:1px solid rgb(229 231 235);
  border-radius:1.25rem; background:rgba(255,255,255,.94); box-shadow:0 8px 25px rgba(15,23,42,.04);
}
.dark .sv-company-stat { background:rgba(31,41,55,.9); border-color:rgb(55 65 81); }
.sv-company-stat-icon { width:2.8rem; height:2.8rem; border-radius:1rem; display:flex; align-items:center; justify-content:center; flex:none; font-size:1rem; }
.sv-company-stat-label { font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; color:rgb(107 114 128); margin-bottom:.1rem; }
.sv-company-stat strong { display:block; font-size:1.35rem; line-height:1.2; font-weight:900; color:rgb(17 24 39); }
.dark .sv-company-stat strong { color:white; }
