/* TalentoPro — identidade visual premium sobre Bootstrap 5 */
:root {
    --brand-50: #eef4ff;
    --brand-100: #d9e6ff;
    --brand-500: #2456f5;
    --brand-600: #173fc9;
    --brand-700: #122f9c;
    --brand-900: #0b1c5c;
    --ink-900: #0b1220;
    --ink-800: #131b2e;
    --ink-700: #1c2740;
    --bg-app: #f4f6fb;
    --border-soft: #e7eaf3;
    --shadow-premium: 0 20px 45px -20px rgba(15, 38, 121, .35);
    --radius-lg: 16px;
    --radius-md: 10px;
}

body {
    background-color: var(--bg-app);
    color: var(--ink-900);
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

a { text-decoration: none; }

.navbar-tp {
    background: rgba(255, 255, 255, .85);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(28, 39, 64, .05);
    position: sticky;
    top: 0;
    z-index: 1030;
}

.brand-mark {
    width: 34px; height: 34px; border-radius: 10px;
    background: linear-gradient(135deg, var(--brand-500), var(--brand-700));
    color: #fff; display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: .85rem;
}

.hero-tp {
    background: radial-gradient(circle at top left, var(--brand-900), var(--ink-900) 60%);
    color: #fff;
}

.card-tp {
    background: #fff;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.card-tp:hover.card-tp-link { box-shadow: var(--shadow-premium); transition: box-shadow .2s ease; }

.btn-tp-primary {
    background: linear-gradient(135deg, var(--brand-500), var(--brand-600));
    border: none; color: #fff; font-weight: 600; border-radius: var(--radius-md);
    padding: .55rem 1.2rem;
}
.btn-tp-primary:hover { opacity: .92; color: #fff; }
.btn-tp-secondary {
    background: #fff; border: 1px solid var(--border-soft); color: var(--ink-800);
    font-weight: 600; border-radius: var(--radius-md); padding: .55rem 1.2rem;
}
.btn-tp-secondary:hover { background: var(--bg-app); }
.btn-tp-danger { color: #b91c1c; border-color: #fecaca; }

.form-control, .form-select {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    padding: .55rem .75rem;
    font-size: .9rem;
}
.form-control:focus, .form-select:focus {
    border-color: var(--brand-500);
    box-shadow: 0 0 0 3px rgba(36, 86, 245, .12);
}

.badge-tp { border-radius: 999px; font-weight: 600; font-size: .72rem; padding: .3rem .65rem; }
.badge-brand { background: var(--brand-50); color: var(--brand-700); }
.badge-neutral { background: rgba(11,18,32,.05); color: var(--ink-700); }
.badge-success { background: #ecfdf5; color: #047857; }
.badge-warning { background: #fffbeb; color: #b45309; }
.badge-danger { background: #fef2f2; color: #b91c1c; }

.company-logo {
    border-radius: 10px; background: var(--brand-50); color: var(--brand-700);
    display: flex; align-items: center; justify-content: center; font-weight: 700;
    overflow: hidden; flex-shrink: 0;
}
.company-logo img { width: 100%; height: 100%; object-fit: cover; }

.skill-tag {
    display: inline-flex; align-items: center; gap: .35rem;
    background: var(--brand-50); color: var(--brand-700); border-radius: 999px;
    padding: .25rem .65rem; font-size: .78rem; font-weight: 600;
}
.skill-tag .remove { cursor: pointer; font-weight: 700; }

.stat-card { border-radius: var(--radius-lg); }
.stat-card .stat-value { font-size: 1.75rem; font-weight: 700; }

.auth-shell { max-width: 440px; margin: 4rem auto; }

.empty-state { text-align: center; padding: 2.5rem 1rem; color: rgba(28,39,64,.55); }

.skeleton { background: linear-gradient(90deg, #eef1f8 25%, #f6f8fc 37%, #eef1f8 63%); background-size: 400% 100%; animation: skeleton-loading 1.4s ease infinite; border-radius: 8px; }
@keyframes skeleton-loading { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

footer.footer-tp { border-top: 1px solid var(--border-soft); background: #fff; }

/* ===== TalentoPro 2.0 — experiência separada para candidatos e empresas ===== */
.py-lg-6 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.eyebrow { display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-600); }
.brand-link { display:flex; align-items:center; gap:.65rem; color:var(--ink-900); font-weight:800; font-size:1.08rem; }
.nav-link-tp { color:#596176; font-size:.87rem; font-weight:650; transition:.2s ease; }
.nav-link-tp:hover { color:var(--brand-600); }
.user-chip { display:flex; align-items:center; gap:.55rem; padding:.3rem .55rem; background:#f7f8fc; border:1px solid var(--border-soft); border-radius:999px; }
.user-chip-avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--brand-100); color:var(--brand-700); font-size:.72rem; font-weight:800; }
.user-chip div { display:flex; flex-direction:column; line-height:1.1; }
.user-chip strong { font-size:.75rem; }
.user-chip small { font-size:.63rem; color:#7c8497; }

.hero-modern { position:relative; overflow:hidden; background:linear-gradient(135deg,#071535 0%,#0b2868 55%,#2356ef 140%); }
.hero-modern::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-180px; top:-260px; background:rgba(86,145,255,.22); filter:blur(4px); }
.hero-modern::after { content:""; position:absolute; width:340px; height:340px; border-radius:50%; left:-180px; bottom:-230px; background:rgba(42,220,190,.11); }
.hero-modern .container { position:relative; z-index:1; }
.hero-kicker { display:inline-flex; align-items:center; gap:.5rem; padding:.45rem .8rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#dce7ff; font-size:.78rem; font-weight:700; }
.hero-title { font-size:clamp(2.45rem,5vw,4.4rem); line-height:1.03; letter-spacing:-.045em; max-width:840px; }
.hero-copy { color:rgba(255,255,255,.73); font-size:1.08rem; line-height:1.75; max-width:690px; }
.btn-hero-outline { display:inline-flex; justify-content:center; align-items:center; color:#fff; border:1px solid rgba(255,255,255,.3); border-radius:var(--radius-md); padding:.75rem 1.35rem; font-weight:700; background:rgba(255,255,255,.06); }
.btn-hero-outline:hover { background:rgba(255,255,255,.13); color:#fff; }
.hero-stats { display:flex; flex-wrap:wrap; gap:2.5rem; }
.hero-stats div { display:flex; flex-direction:column; }
.hero-stats strong { font-size:1.6rem; color:#fff; }
.hero-stats span { color:rgba(255,255,255,.58); font-size:.76rem; }
.hero-search-card { background:#fff; border-radius:26px; padding:2rem; box-shadow:0 35px 80px -30px rgba(0,0,0,.55); }
.divider-label { display:flex; align-items:center; gap:.75rem; color:#9aa1b1; font-size:.72rem; margin:1rem 0; }
.divider-label::before,.divider-label::after { content:""; height:1px; background:var(--border-soft); flex:1; }
.section-heading h2 { letter-spacing:-.035em; }
.section-link { color:var(--brand-600); font-weight:750; font-size:.86rem; }
.section-muted { background:#eef2f8; }

.candidate-card { display:block; background:#fff; border:1px solid var(--border-soft); border-radius:22px; overflow:hidden; color:var(--ink-900); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.candidate-card:hover { transform:translateY(-5px); box-shadow:0 25px 55px -28px rgba(13,39,111,.42); border-color:#cdd9ff; color:var(--ink-900); }
.candidate-photo-wrap { height:235px; position:relative; overflow:hidden; background:linear-gradient(135deg,#e9efff,#d8e4ff); display:grid; place-items:center; font-size:3rem; color:var(--brand-700); font-weight:800; }
.candidate-photo-wrap img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .35s ease; }
.candidate-card:hover .candidate-photo-wrap img { transform:scale(1.035); }
.availability-dot { position:absolute; right:16px; bottom:16px; width:15px; height:15px; border-radius:50%; background:#16b981; border:3px solid #fff; box-shadow:0 2px 10px rgba(0,0,0,.15); }
.candidate-card-body { padding:1.4rem; }
.candidate-card-body h3 { font-size:1.05rem; font-weight:800; margin:0 0 .3rem; }
.candidate-headline { color:var(--brand-700); font-size:.86rem; font-weight:700; margin-bottom:.4rem; }
.candidate-location { color:#737b8d; font-size:.77rem; margin-bottom:0; }
.candidate-card-link { display:block; margin-top:1.1rem; font-size:.77rem; font-weight:750; color:var(--brand-600); }
.job-card-modern { display:flex; align-items:flex-start; gap:1rem; background:#fff; border:1px solid var(--border-soft); border-radius:18px; padding:1.35rem; color:var(--ink-900); transition:.2s ease; }
.job-card-modern:hover { transform:translateY(-3px); box-shadow:var(--shadow-premium); color:var(--ink-900); }
.job-card-modern h3 { font-size:1rem; font-weight:800; margin:0 0 .3rem; }
.job-card-modern p { margin:0; color:#71798b; font-size:.8rem; }
.job-card-arrow { margin-left:auto; color:var(--brand-600); font-size:1.25rem; }
.split-cta { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:26px; background:#0a1a43; color:#fff; }
.split-cta>div { padding:3rem; }
.split-cta>div+div { background:linear-gradient(135deg,#173fc9,#2456f5); }
.split-cta h2 { font-size:1.85rem; font-weight:800; margin:.6rem 0; }
.split-cta p { color:rgba(255,255,255,.68); max-width:460px; }
.btn-light-premium { display:inline-block; background:#fff; color:var(--brand-700); padding:.7rem 1.1rem; border-radius:10px; font-weight:750; }

.page-hero { background:linear-gradient(180deg,#f8faff 0%,#f1f5ff 100%); border-bottom:1px solid #e6ebf6; }
.page-hero.compact h1 { letter-spacing:-.04em; }
.dashboard-hero { background:linear-gradient(180deg,#f9fbff,#f2f5fb); border-bottom:1px solid var(--border-soft); }
.filter-panel { background:#fff; padding:1.5rem; border:1px solid var(--border-soft); border-radius:20px; box-shadow:0 15px 45px -35px rgba(13,39,111,.45); }

.profile-hero-card { display:flex; align-items:center; gap:1.6rem; background:linear-gradient(135deg,#fff,#f5f8ff); border:1px solid #dfe7fa; border-radius:24px; padding:2rem; }
.profile-photo-large { width:150px; height:150px; border-radius:22px; overflow:hidden; flex-shrink:0; box-shadow:0 14px 30px -18px rgba(0,0,0,.45); }
.profile-photo-large img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.profile-hero-card h1 { font-size:2rem; font-weight:850; letter-spacing:-.035em; margin:0 0 .25rem; }
.profile-headline { color:var(--brand-700); font-size:1.05rem; font-weight:700; margin-bottom:.35rem; }
.profile-meta { color:#737b8d; font-size:.88rem; }
.profile-text { color:#4e586d; font-size:.95rem; line-height:1.85; }
.profile-details { margin:0; }
.profile-details>div { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--border-soft); padding:.75rem 0; }
.profile-details dt { color:#7a8293; font-size:.76rem; font-weight:600; }
.profile-details dd { margin:0; font-size:.8rem; font-weight:750; text-align:right; }
.timeline-item { position:relative; padding:0 0 1.5rem 1.5rem; border-left:2px solid #e1e7f5; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-dot { position:absolute; width:11px; height:11px; border-radius:50%; left:-6.5px; top:.3rem; background:var(--brand-500); border:2px solid #fff; box-shadow:0 0 0 3px #dbe5ff; }
.timeline-item h3 { font-size:.95rem; font-weight:800; margin:0; }
.timeline-item p,.timeline-item small { color:#657085; font-size:.8rem; }

.auth-wide-shell { min-height:78vh; }
.auth-intro { max-width:690px; }
.account-type-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.account-type-card { cursor:pointer; position:relative; display:flex; flex-direction:column; padding:1.2rem; border:2px solid var(--border-soft); border-radius:18px; transition:.2s ease; background:#fff; }
.account-type-card input { position:absolute; opacity:0; pointer-events:none; }
.account-type-card.is-active { border-color:var(--brand-500); background:var(--brand-50); box-shadow:0 0 0 4px rgba(36,86,245,.08); }
.account-type-card strong { font-size:.92rem; margin:.5rem 0 .25rem; }
.account-type-card small { color:#70798b; font-size:.75rem; line-height:1.5; }
.account-type-icon { font-size:1.5rem; }
.soft-panel { background:#f7f9fd; border:1px solid #e7ebf4; border-radius:14px; }

.candidate-photo-editor { width:150px; height:150px; border-radius:24px; overflow:hidden; background:linear-gradient(135deg,#dbe7ff,#edf2ff); color:var(--brand-700); display:grid; place-items:center; font-size:2.5rem; font-weight:850; }
.candidate-photo-editor img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.company-logo-editor { width:150px!important; height:150px!important; margin-left:auto; margin-right:auto; font-size:2.2rem; border-radius:24px; }
.profile-progress-card,.onboarding-alert { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; background:#fff8e8; border:1px solid #f6d98b; border-radius:18px; padding:1.25rem 1.4rem; color:#704d08; }
.profile-progress-card p,.onboarding-alert p { color:#8a6a2c; font-size:.8rem; }
.pending-chip { display:inline-flex; background:#fff; color:#8a5b00; border:1px solid #efd089; border-radius:999px; padding:.25rem .6rem; font-size:.68rem; font-weight:700; }
.choice-grid { display:flex; flex-wrap:wrap; gap:.5rem; }
.choice-pill { display:inline-flex; cursor:pointer; }
.choice-pill input { position:absolute; opacity:0; }
.choice-pill span { display:inline-flex; padding:.48rem .7rem; border:1px solid var(--border-soft); border-radius:10px; background:#fff; font-size:.75rem; font-weight:700; color:#606a7d; }
.choice-pill input:checked+span { border-color:var(--brand-500); background:var(--brand-50); color:var(--brand-700); }
.choice-switch { display:flex; align-items:center; gap:.75rem; padding:.8rem; border:1px solid var(--border-soft); border-radius:12px; }
.choice-switch>span { display:flex; flex-direction:column; }
.choice-switch strong { font-size:.8rem; }
.choice-switch small { font-size:.7rem; color:#7c8496; }
.upload-panel { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border:1px dashed #c7d3ec; border-radius:14px; background:#f9fbff; }
.save-bar { position:sticky; bottom:1rem; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:1rem; background:rgba(10,26,67,.95); backdrop-filter:blur(10px); color:#fff; padding:1rem 1.2rem; border-radius:16px; box-shadow:0 20px 50px -20px rgba(0,0,0,.55); }
.save-bar div { display:flex; flex-direction:column; }
.save-bar small { color:rgba(255,255,255,.62); }

.metric-card { background:#fff; border:1px solid var(--border-soft); border-radius:18px; padding:1.35rem; display:flex; flex-direction:column; }
.metric-card span { color:#7d8495; font-size:.72rem; font-weight:700; }
.metric-card strong { font-size:2rem; line-height:1.1; margin:.3rem 0; }
.metric-card small { color:#9aa1af; font-size:.68rem; }
.profile-completion-card { display:flex; align-items:center; gap:1.5rem; background:#fff; border:1px solid var(--border-soft); border-radius:20px; padding:1.5rem; }
.completion-ring { --p:calc(var(--progress)*1%); width:115px; height:115px; border-radius:50%; flex-shrink:0; display:grid; place-items:center; background:conic-gradient(var(--brand-500) var(--p),#e9edf5 0); position:relative; }
.completion-ring::after { content:""; position:absolute; inset:10px; background:#fff; border-radius:50%; }
.completion-ring span { position:relative; z-index:1; font-weight:850; }
.dashboard-list-item { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; color:var(--ink-900); border-bottom:1px solid var(--border-soft); }
.dashboard-list-item:last-child { border-bottom:none; }
.dashboard-list-item div { display:flex; flex-direction:column; }
.dashboard-list-item strong { font-size:.85rem; }
.dashboard-list-item span { color:#7d8495; font-size:.72rem; }
.table-modern th { color:#81899a; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; border-bottom-color:var(--border-soft); }
.table-modern td { padding:1rem .5rem; border-bottom-color:var(--border-soft); }
.table-modern td:first-child { display:flex; flex-direction:column; }
.table-modern td small { color:#7d8495; font-size:.7rem; }

@media (max-width:991.98px) {
  .split-cta { grid-template-columns:1fr; }
  .profile-hero-card { align-items:flex-start; flex-wrap:wrap; }
  .save-bar { bottom:.5rem; }
}
@media (max-width:767.98px) {
  .hero-title { font-size:2.55rem; }
  .hero-stats { gap:1.3rem; }
  .hero-search-card { padding:1.4rem; }
  .account-type-grid { grid-template-columns:1fr; }
  .candidate-photo-wrap { height:280px; }
  .profile-hero-card { padding:1.3rem; }
  .profile-photo-large { width:110px; height:110px; }
  .profile-hero-card h1 { font-size:1.5rem; }
  .profile-progress-card,.onboarding-alert,.save-bar { align-items:flex-start; flex-direction:column; }
  .save-bar .btn-tp-primary { width:100%; }
  .split-cta>div { padding:2rem; }
}

.hero-visual-card { position:relative; border-radius:28px; overflow:hidden; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); box-shadow:0 35px 80px -35px rgba(4,15,44,.75); padding:1rem; }
.hero-visual-image { display:block; width:100%; height:420px; object-fit:cover; border-radius:22px; }
.hero-visual-badges { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.hero-pill { display:inline-flex; align-items:center; padding:.75rem 1rem; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.18); font-size:.82rem; font-weight:700; }
.cookie-banner { position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:1050; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; background:rgba(8,16,38,.96); color:#fff; border-radius:22px; box-shadow:0 24px 55px -25px rgba(0,0,0,.7); }
.cookie-banner a { color:#fff; text-decoration:underline; }
.cookie-banner__text { max-width:780px; }
.cookie-banner__text strong { display:block; font-size:1rem; margin-bottom:.35rem; }
.cookie-banner__text p { margin:0; color:rgba(255,255,255,.78); font-size:.88rem; }
.cookie-banner__actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.whatsapp-float { position:fixed; right:1rem; bottom:6.3rem; z-index:1040; display:inline-flex; align-items:center; justify-content:center; min-width:60px; height:60px; padding:0 1rem; border-radius:999px; background:linear-gradient(135deg,#20c05c,#12a150); color:#fff; font-weight:800; box-shadow:0 24px 45px -22px rgba(18,161,80,.75); }
.whatsapp-float:hover { color:#fff; transform:translateY(-2px); }
.footer-tp a:hover { color:var(--brand-500) !important; }
@media (max-width: 991.98px) {
  .hero-visual-image { height:360px; }
}
@media (max-width: 767.98px) {
  .hero-visual-image { height:300px; }
  .cookie-banner { left:.75rem; right:.75rem; bottom:.75rem; }
  .cookie-banner__actions { width:100%; }
  .cookie-banner__actions .btn-tp-primary,
  .cookie-banner__actions .btn-tp-secondary { flex:1 1 auto; justify-content:center; }
  .whatsapp-float { bottom:7.25rem; right:.75rem; }
}


/* =====================================================================
   Clube da Pedrinha RS — Layout 2.2
   Implementação visual baseada no layout aprovado pelo cliente.
   ===================================================================== */
:root {
    --club-navy-950:#020f22;
    --club-navy-900:#03162f;
    --club-navy-850:#061d3d;
    --club-blue:#1768ff;
    --club-blue-500:#2d7cff;
    --club-blue-100:#eaf2ff;
    --club-text:#071226;
    --club-muted:#657084;
    --club-line:#e6ebf3;
    --club-surface:#ffffff;
    --club-page:#f8faff;
    --club-green:#1fbe73;
    --club-shadow:0 16px 44px rgba(15,34,67,.09);
}
html { scroll-behavior:smooth; }
body {
    background:#fff;
    color:var(--club-text);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
main { min-height:55vh; }

/* Header público */
.club-navbar {
    position:sticky;
    top:0;
    z-index:1030;
    background:var(--club-navy-950);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.public-home .club-navbar {
    position:absolute;
    left:0;
    right:0;
    background:transparent;
    border-bottom:1px solid rgba(255,255,255,.1);
}
.club-navbar__inner {
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
}
.club-brand {
    width:190px;
    height:58px;
    display:flex;
    align-items:center;
    flex-shrink:0;
}
.club-brand img {
    display:block;
    width:auto;
    max-width:100%;
    max-height:55px;
    object-fit:contain;
    filter:brightness(1.55) saturate(1.08);
}
.club-navbar__links {
    align-items:center;
    justify-content:center;
    gap:1.9rem;
    margin-left:auto;
    margin-right:auto;
}
.club-navbar__links a {
    color:#fff;
    font-size:.78rem;
    font-weight:700;
    padding:27px 0 23px;
    position:relative;
    transition:.18s ease;
}
.club-navbar__links a::after {
    content:"";
    position:absolute;
    height:2px;
    left:50%;
    right:50%;
    bottom:14px;
    background:var(--club-blue);
    transition:.2s ease;
}
.club-navbar__links a:hover,
.club-navbar__links a.is-active { color:#fff; }
.club-navbar__links a:hover::after,
.club-navbar__links a.is-active::after { left:0; right:0; }
.club-navbar__actions { align-items:center; gap:.7rem; flex-shrink:0; }
.club-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    border-radius:7px;
    padding:.58rem 1rem;
    border:1px solid transparent;
    font-size:.75rem;
    font-weight:750;
    line-height:1;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.club-btn:hover { transform:translateY(-1px); }
.club-btn--primary {
    color:#fff;
    background:linear-gradient(135deg,#1066ff,#2c73ff);
    box-shadow:0 8px 22px rgba(28,104,255,.22);
}
.club-btn--primary:hover { color:#fff; box-shadow:0 10px 28px rgba(28,104,255,.34); }
.club-btn--nav-outline {
    color:#fff;
    border-color:rgba(255,255,255,.38);
    background:rgba(255,255,255,.02);
}
.club-btn--nav-outline:hover { color:#fff; background:rgba(255,255,255,.08); }
.club-mobile-toggle {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    background:rgba(255,255,255,.06);
    border-radius:9px;
}
.club-mobile-toggle svg { width:22px; fill:none; stroke:currentColor; stroke-width:2; }
.club-mobile-menu {
    padding:1rem max(1rem,calc((100vw - 1140px)/2));
    background:var(--club-navy-950);
    border-top:1px solid rgba(255,255,255,.08);
}
.club-mobile-menu a,
.club-mobile-menu button {
    display:block;
    width:100%;
    padding:.75rem .3rem;
    border:0;
    background:transparent;
    color:#fff;
    text-align:left;
    font-size:.88rem;
    font-weight:650;
}
.club-mobile-menu__cta {
    margin-top:.5rem;
    text-align:center!important;
    background:var(--club-blue)!important;
    border-radius:8px;
}

/* Hero */
.club-hero {
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 73% 42%,rgba(17,95,255,.22),transparent 35%),
        linear-gradient(102deg,#020f22 0%,#04152e 48%,#06224b 100%);
    color:#fff;
    padding-top:76px;
    min-height:505px;
}
.club-hero__inner {
    position:relative;
    min-height:430px;
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);
    align-items:center;
}
.club-hero__copy {
    position:relative;
    z-index:3;
    padding:38px 0 62px;
}
.club-hero__copy h1 {
    margin:0;
    max-width:560px;
    color:#fff;
    font-size:clamp(2.25rem,3.25vw,3.6rem);
    line-height:1.12;
    letter-spacing:-.042em;
    font-weight:800;
}
.club-hero__copy h1 span { color:#3983ff; }
.club-hero__copy>p {
    max-width:485px;
    margin:1.05rem 0 0;
    color:rgba(255,255,255,.76);
    font-size:.98rem;
    line-height:1.65;
}
.club-hero__actions {
    display:flex;
    align-items:center;
    gap:.8rem;
    margin-top:1.4rem;
}
.club-btn--outline {
    color:#fff;
    border-color:rgba(255,255,255,.45);
    background:transparent;
}
.club-btn--outline:hover { color:#fff; background:rgba(255,255,255,.08); }
.club-hero__stats {
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:1.9rem;
}
.club-stat {
    display:flex;
    align-items:center;
    gap:.7rem;
    min-width:122px;
}
.club-stat__icon {
    width:39px;
    height:39px;
    border-radius:8px;
    display:grid;
    place-items:center;
    background:rgba(38,112,255,.12);
    color:#4e92ff;
    border:1px solid rgba(67,135,255,.16);
}
.club-stat__icon svg {
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.club-stat div { display:flex; flex-direction:column; line-height:1.15; }
.club-stat strong { color:#3e8cff; font-size:1.05rem; font-weight:850; }
.club-stat span { margin-top:.22rem; color:rgba(255,255,255,.72); font-size:.68rem; }
.club-hero__visual {
    position:absolute;
    z-index:2;
    right:-35px;
    bottom:7px;
    width:min(64vw,750px);
    height:438px;
    overflow:visible;
    pointer-events:none;
}
.club-hero__visual::before { display:none; }
.club-hero__visual img {
    position:absolute;
    z-index:1;
    right:-4px;
    bottom:-2px;
    width:690px;
    max-width:none;
    height:452px;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 20px 22px rgba(0,0,0,.18));
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 91%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 91%,transparent 100%);
}
.club-hero__curve {
    position:absolute;
    z-index:4;
    left:-2%;
    right:-2%;
    bottom:-42px;
    height:88px;
    border-radius:50% 50% 0 0 / 52% 52% 0 0;
    background:#fff;
}

/* Blocos home */
.club-section { padding:42px 0 12px; background:#fff; }
.club-section--talents { position:relative; z-index:5; padding-top:30px; }
.club-section--jobs { padding-top:18px; padding-bottom:34px; background:#fff; }
.club-section__heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:17px;
}
.club-section__heading h2 {
    margin:0;
    font-size:1.38rem;
    line-height:1.2;
    font-weight:820;
    letter-spacing:-.025em;
}
.club-section__heading p {
    margin:.3rem 0 0;
    color:var(--club-muted);
    font-size:.73rem;
}
.club-section__heading>a {
    color:#075eff;
    font-size:.74rem;
    font-weight:750;
    white-space:nowrap;
}
.club-section__heading>a span { margin-left:.25rem; }
.club-grid { display:grid; gap:12px; }
.club-grid--candidates,
.club-grid--jobs { grid-template-columns:repeat(4,minmax(0,1fr)); }
.club-candidate-card,
.club-job-card {
    min-width:0;
    background:#fff;
    border:1px solid var(--club-line);
    border-radius:11px;
    box-shadow:0 5px 18px rgba(23,45,82,.035);
    transition:.2s ease;
}
.club-candidate-card:hover,
.club-job-card:hover {
    transform:translateY(-3px);
    border-color:#cddbf5;
    box-shadow:0 14px 32px rgba(22,46,88,.09);
}
.club-candidate-card { padding:13px 12px 12px; }
.club-candidate-card__top {
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.club-candidate-card__avatar {
    width:48px;
    height:48px;
    flex:0 0 48px;
    overflow:hidden;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#e8efff;
    color:#0e4cc7;
    font-size:.82rem;
    font-weight:850;
}
.club-candidate-card__avatar img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.club-candidate-card__identity {
    min-width:0;
    padding-right:22px;
}
.club-candidate-card__identity h3 {
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.78rem;
    font-weight:820;
}
.club-candidate-card__identity p {
    margin:.18rem 0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#647087;
    font-size:.66rem;
}
.club-candidate-card__identity small,
.club-job-card__location {
    display:flex;
    align-items:center;
    gap:.25rem;
    color:#7b8494;
    font-size:.6rem;
}
.club-candidate-card__identity svg,
.club-job-card__location svg {
    width:11px;
    height:11px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}
.club-bookmark {
    position:absolute;
    right:0;
    top:0;
    color:#7e899b;
}
.club-bookmark svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
.club-card-tags {
    display:flex;
    gap:5px;
    flex-wrap:wrap;
    min-height:22px;
    margin:11px 0 9px;
}
.club-card-tags span {
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:4px 7px;
    border-radius:5px;
    color:#315486;
    background:#eef4ff;
    font-size:.55rem;
    font-weight:680;
}
.club-card-button {
    display:flex;
    align-items:center;
    justify-content:center;
    height:30px;
    border:1px solid #dce3ed;
    border-radius:6px;
    color:#172132;
    font-size:.63rem;
    font-weight:750;
}
.club-card-button:hover { color:#075eff; border-color:#9fbeff; background:#f8fbff; }

.club-job-card {
    position:relative;
    padding:14px 13px 12px;
}
.club-job-card__header {
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.club-job-card__logo {
    width:42px;
    height:42px;
    border-radius:9px;
    display:grid;
    place-items:center;
    overflow:hidden;
}
.club-job-card__logo .company-logo { width:42px!important; height:42px!important; border-radius:9px; }
.club-job-card__logo--1 { background:linear-gradient(135deg,#4016d4,#7427f8); }
.club-job-card__logo--2 { background:#031527; }
.club-job-card__logo--3 { background:linear-gradient(135deg,#4b17d7,#8a3dff); }
.club-job-card__logo--4 { background:#eef1f5; }
.club-job-card h3 {
    margin:10px 0 0;
    font-size:.78rem;
    font-weight:830;
}
.club-job-card h3 a { color:#0b1629; }
.club-job-card__company {
    margin:.2rem 0 0;
    color:#6c7689;
    font-size:.62rem;
}
.club-job-card__location { margin:.35rem 0 0; }
.club-card-tags--jobs { margin:10px 0; min-height:auto; }
.club-card-tags--jobs span { background:#f2f4f8; color:#4c596d; }
.club-card-tags--jobs .is-green { color:#28734c; background:#e7f8ee; }
.club-job-card__footer {
    display:flex;
    justify-content:space-between;
    gap:.5rem;
    align-items:flex-end;
    margin-top:6px;
}
.club-job-card__footer strong {
    max-width:72%;
    color:#4d5a6d;
    font-size:.66rem;
    font-weight:700;
    line-height:1.35;
}
.club-job-card__footer small { color:#8a92a0; font-size:.57rem; white-space:nowrap; }
.club-empty-card {
    grid-column:1/-1;
    padding:28px;
    border:1px dashed #cbd6e8;
    border-radius:12px;
    color:#6d7889;
    text-align:center;
    background:#fbfcff;
}
.club-trust-strip {
    margin-top:28px;
    padding:30px 0;
    color:#fff;
    background:linear-gradient(110deg,#06172f,#0b2d61);
}
.club-trust-strip .container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
}
.club-trust-strip strong { display:block; font-size:1.08rem; }
.club-trust-strip span { display:block; margin-top:.3rem; color:rgba(255,255,255,.7); font-size:.75rem; }
.club-trust-strip__actions { display:flex; gap:.7rem; flex-shrink:0; }
.club-btn--light { background:#fff; color:#0a2a5f; }
.club-btn--outline-light { color:#fff; border-color:rgba(255,255,255,.4); }

/* Footer */
.club-footer {
    color:#fff;
    background:linear-gradient(110deg,#031229,#061d3d);
    padding:38px 0 18px;
}
.club-footer__grid {
    display:grid;
    grid-template-columns:1.4fr .75fr .8fr .9fr 1.25fr;
    gap:38px;
}
.club-footer__brand img {
    display:block;
    width:155px;
    height:68px;
    object-fit:contain;
    object-position:left center;
    filter:brightness(1.55) saturate(1.08);
}
.club-footer p {
    max-width:240px;
    margin:.75rem 0 0;
    color:rgba(255,255,255,.66);
    font-size:.67rem;
    line-height:1.75;
}
.club-footer h3 {
    margin:5px 0 13px;
    color:#fff;
    font-size:.75rem;
    font-weight:800;
}
.club-footer__grid>div:not(.club-footer__brand) { display:flex; flex-direction:column; }
.club-footer__grid a {
    width:max-content;
    max-width:100%;
    margin:.27rem 0;
    color:rgba(255,255,255,.66);
    font-size:.65rem;
}
.club-footer__grid a:hover { color:#fff; }
.club-socials { display:flex; gap:7px; margin-top:12px; }
.club-socials a,
.club-socials span {
    width:28px!important;
    height:28px;
    margin:0!important;
    border-radius:6px;
    display:grid;
    place-items:center;
    color:#fff!important;
    background:rgba(255,255,255,.09);
    font-size:.65rem!important;
    font-weight:800;
}
.club-footer__newsletter p { max-width:260px; }
.club-footer__cta {
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    width:100%!important;
    max-width:260px!important;
    margin-top:12px!important;
    padding:.65rem .8rem;
    border:1px solid rgba(255,255,255,.15);
    border-radius:7px;
    background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(28,105,255,.9));
    color:#fff!important;
}
.club-footer__bottom {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    margin-top:30px;
    padding-top:15px;
    color:rgba(255,255,255,.45);
    border-top:1px solid rgba(255,255,255,.08);
    font-size:.58rem;
}

/* Cookies e WhatsApp */
.cookie-banner {
    position:fixed;
    z-index:1060;
    left:50%;
    bottom:16px;
    transform:translateX(-50%);
    width:min(960px,calc(100% - 28px));
    display:grid;
    grid-template-columns:62px minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    padding:18px 20px;
    color:#10192b;
    background:rgba(255,255,255,.985);
    border:1px solid #dfe5ef;
    border-radius:14px;
    box-shadow:0 18px 50px rgba(8,25,55,.2);
}
.cookie-banner__icon { font-size:2.5rem; text-align:center; }
.cookie-banner__text strong { font-size:1.05rem; font-weight:850; }
.cookie-banner__text p {
    max-width:520px;
    margin:.35rem 0 .55rem;
    color:#536075;
    font-size:.68rem;
    line-height:1.6;
}
.cookie-banner__links { display:flex; flex-wrap:wrap; gap:18px; }
.cookie-banner__links a { color:#075eff!important; font-size:.58rem; text-decoration:none; font-weight:700; }
.cookie-banner__actions { display:flex; gap:8px; }
.club-btn--cookie-outline { color:#121c2f; border-color:#aab7ca; background:#fff; }
.club-btn--cookie-secondary { color:#075eff; border-color:#075eff; background:#fff; }
.whatsapp-float {
    position:fixed;
    z-index:1050;
    right:18px;
    bottom:18px;
    width:54px;
    min-width:54px;
    height:54px;
    padding:0;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    background:#1fbe61;
    box-shadow:0 12px 28px rgba(31,190,97,.34);
}
.whatsapp-float svg { width:32px; height:32px; fill:currentColor; }

/* Dashboard igual ao layout aprovado */
.dashboard-page { overflow-x:hidden; background:#f5f7fb; }
.dashboard-page main { min-height:100vh; }
.dashboard-sidebar {
    position:fixed;
    z-index:1040;
    left:0;
    top:0;
    bottom:0;
    width:218px;
    padding:17px 10px 18px;
    display:flex;
    flex-direction:column;
    color:#fff;
    background:linear-gradient(180deg,#031329,#061d3d 62%,#031329);
    box-shadow:10px 0 30px rgba(5,19,43,.06);
}
.dashboard-sidebar__brand {
    height:68px;
    display:flex;
    align-items:center;
    padding:0 9px 8px;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.dashboard-sidebar__brand img { width:145px; max-height:58px; object-fit:contain; object-position:left center; filter:brightness(1.55) saturate(1.08); }
.dashboard-sidebar nav {
    display:flex;
    flex-direction:column;
    gap:4px;
    padding-top:14px;
}
.dashboard-sidebar nav a,
.dashboard-sidebar__bottom a,
.dashboard-sidebar__bottom button {
    display:flex;
    align-items:center;
    gap:10px;
    min-height:39px;
    padding:0 12px;
    border:0;
    border-radius:6px;
    color:rgba(255,255,255,.78);
    background:transparent;
    font-size:.68rem;
    font-weight:650;
    text-align:left;
}
.dashboard-sidebar nav a:hover,
.dashboard-sidebar nav a.is-active,
.dashboard-sidebar__bottom a:hover,
.dashboard-sidebar__bottom button:hover {
    color:#fff;
    background:rgba(33,108,241,.24);
}
.dashboard-sidebar svg {
    width:16px;
    height:16px;
    flex:0 0 16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.dashboard-sidebar__bottom {
    margin-top:auto;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.08);
}
.dashboard-sidebar__bottom form { margin:0; }
.dashboard-sidebar__bottom button { width:100%; }
.dashboard-main {
    min-height:100vh;
    margin-left:218px;
    background:#f7f9fc;
}
.dashboard-topbar {
    height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 24px;
    background:#031329;
    color:#fff;
}
.dashboard-topbar h1 {
    margin:0;
    font-size:1rem;
    font-weight:800;
}
.dashboard-topbar p {
    margin:.22rem 0 0;
    color:rgba(255,255,255,.55);
    font-size:.6rem;
}
.dashboard-user {
    display:flex;
    align-items:center;
    gap:9px;
    color:#fff;
}
.dashboard-user>div { display:flex; flex-direction:column; text-align:right; }
.dashboard-user strong { font-size:.65rem; }
.dashboard-user small { color:rgba(255,255,255,.55); font-size:.55rem; }
.dashboard-user>span {
    width:34px;
    height:34px;
    overflow:hidden;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#cddbf4;
    color:#0d3268;
    font-size:.62rem;
    font-weight:850;
}
.dashboard-user img { width:100%; height:100%; object-fit:cover; }
.dashboard-content { padding:18px 20px 36px; }
.dashboard-welcome {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
    gap:18px;
    padding:20px;
    background:#fff;
    border:1px solid #e6eaf1;
    border-radius:8px;
    box-shadow:0 4px 18px rgba(22,43,76,.035);
}
.dashboard-welcome>div:first-child { padding:2px 0; }
.dashboard-kicker { font-size:.72rem; font-weight:850; }
.dashboard-welcome p {
    margin:.45rem 0 0;
    color:#687287;
    font-size:.63rem;
}
.dashboard-progress {
    max-width:360px;
    display:flex;
    align-items:center;
    gap:10px;
    margin:10px 0 12px;
}
.dashboard-progress>div {
    flex:1;
    height:6px;
    overflow:hidden;
    border-radius:999px;
    background:#e8ecf3;
}
.dashboard-progress>div span { display:block; height:100%; border-radius:inherit; background:#24b66e; }
.dashboard-progress strong { color:#263246; font-size:.62rem; }
.dashboard-primary-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 13px;
    border-radius:5px;
    color:#fff;
    background:#1768ff;
    font-size:.61rem;
    font-weight:750;
}
.dashboard-primary-button:hover { color:#fff; background:#0e5ae6; }
.dashboard-metrics {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}
.dashboard-metrics article {
    min-width:0;
    padding:13px 12px;
    border:1px solid #e6eaf1;
    border-radius:7px;
    background:#fff;
}
.dashboard-metrics article span {
    display:block;
    min-height:22px;
    color:#7a8495;
    font-size:.56rem;
}
.dashboard-metrics article strong {
    display:block;
    margin:2px 0;
    font-size:1.45rem;
    line-height:1;
    font-weight:850;
}
.dashboard-metrics article small { color:#8992a2; font-size:.53rem; }
.dashboard-pending,
.dashboard-alert {
    margin-top:12px;
    padding:12px 14px;
    border-radius:7px;
    border:1px solid #f1d999;
    color:#6e510a;
    background:#fff9e9;
    font-size:.62rem;
}
.dashboard-pending>div { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.dashboard-pending span { padding:3px 6px; border-radius:4px; background:#fff; border:1px solid #efdba7; }
.dashboard-alert--danger { color:#8a1f2d; border-color:#fac8cf; background:#fff3f4; }
.dashboard-company-note { margin:10px 0; color:#875b07; font-size:.6rem; }
.dashboard-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:14px;
}
.dashboard-panel {
    overflow:hidden;
    background:#fff;
    border:1px solid #e6eaf1;
    border-radius:8px;
    box-shadow:0 4px 18px rgba(22,43,76,.035);
}
.dashboard-panel__heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:15px 16px 11px;
}
.dashboard-panel__heading h2 { margin:0; font-size:.73rem; font-weight:850; }
.dashboard-panel__heading a { color:#075eff; font-size:.55rem; font-weight:750; }
.dashboard-list { padding:0 16px; }
.dashboard-list__item {
    display:grid;
    grid-template-columns:35px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:54px;
    color:#142037;
    border-top:1px solid #eef1f5;
}
.dashboard-list__item:hover { color:#075eff; }
.dashboard-item-icon,
.dashboard-item-avatar {
    width:30px;
    height:30px;
    overflow:hidden;
    border-radius:7px;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:.72rem;
    font-weight:800;
}
.dashboard-item-icon--blue { background:linear-gradient(135deg,#0b5be8,#3284ff); }
.dashboard-item-avatar { background:#eef3fb; }
.dashboard-item-avatar .company-logo { width:30px!important; height:30px!important; border-radius:7px; }
.dashboard-item-avatar--person { border-radius:50%; color:#0e4eab; background:#dce8fb; }
.dashboard-item-avatar--person img { width:100%; height:100%; object-fit:cover; }
.dashboard-list__item>div {
    min-width:0;
    display:flex;
    flex-direction:column;
}
.dashboard-list__item strong {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#152139;
    font-size:.64rem;
    font-weight:800;
}
.dashboard-list__item small {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    margin-top:2px;
    color:#7e8797;
    font-size:.53rem;
}
.dashboard-list__meta { color:#808a9b; font-size:.5rem; white-space:nowrap; }
.dashboard-status {
    padding:3px 6px;
    border-radius:4px;
    background:#eaf7ef;
    color:#248254;
    font-size:.49rem;
    font-weight:750;
    white-space:nowrap;
}
.dashboard-status--entrevista { color:#815aa8; background:#f3e9ff; }
.dashboard-status--em_analise { color:#a36b10; background:#fff3d8; }
.dashboard-status--reprovado { color:#a93c4c; background:#ffe9ec; }
.dashboard-status--job-ativa { color:#248254; background:#e8f7ee; }
.dashboard-status--job-pendente { color:#a36b10; background:#fff3d8; }
.dashboard-status--job-encerrada { color:#687287; background:#eef1f5; }
.dashboard-panel__footer {
    display:block;
    padding:10px;
    color:#075eff;
    border-top:1px solid #eef1f5;
    text-align:center;
    font-size:.54rem;
    font-weight:750;
}
.dashboard-empty { padding:28px 10px; color:#7e8797; text-align:center; font-size:.62rem; }
.dashboard-flash { margin-left:218px; padding:12px 20px 0; }
.dashboard-mobile-toggle { display:none; }

@media (max-width:1199.98px) {
    .club-navbar__links { gap:1rem; }
    .club-navbar__links a { font-size:.7rem; }
    .club-hero__inner { grid-template-columns:minmax(0,1fr) minmax(430px,.9fr); }
    .club-hero__visual { right:-110px; }
    .club-footer__grid { grid-template-columns:1.25fr repeat(3,.75fr) 1.1fr; gap:24px; }
}
@media (max-width:991.98px) {
    .public-home .club-navbar { position:relative; background:var(--club-navy-950); }
    .club-navbar__inner { min-height:68px; }
    .club-brand { width:165px; height:54px; }
    .club-hero { padding-top:0; }
    .club-hero__inner {
        min-height:690px;
        grid-template-columns:1fr;
        align-items:start;
    }
    .club-hero__copy { padding:55px 0 0; }
    .club-hero__visual {
        position:absolute;
        width:620px;
        height:380px;
        right:50%;
        transform:translateX(50%);
        bottom:0;
    }
    .club-hero__visual img { width:610px; height:405px; }
    .club-hero__visual::before { width:350px; height:350px; right:115px; top:25px; }
    .club-grid--candidates,
    .club-grid--jobs { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .club-footer__grid { grid-template-columns:1.3fr 1fr 1fr; }
    .club-footer__newsletter { grid-column:2/4; }
    .cookie-banner { grid-template-columns:48px 1fr; }
    .cookie-banner__actions { grid-column:1/-1; justify-content:flex-end; }
    .dashboard-welcome { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
    .club-hero { min-height:720px; }
    .club-hero__copy { padding-top:38px; }
    .club-hero__copy h1 { font-size:2.45rem; }
    .club-hero__copy>p { font-size:.86rem; }
    .club-hero__actions { align-items:stretch; flex-direction:column; max-width:260px; }
    .club-hero__stats { gap:.75rem; }
    .club-stat { min-width:100px; }
    .club-hero__visual { width:520px; height:330px; }
    .club-hero__visual img { width:520px; height:345px; }
    .club-hero__visual::before { width:300px; height:300px; right:95px; }
    .club-section__heading { align-items:flex-start; flex-direction:column; }
    .club-grid--candidates,
    .club-grid--jobs { grid-template-columns:1fr; }
    .club-candidate-card,
    .club-job-card { max-width:520px; width:100%; margin:0 auto; }
    .club-trust-strip .container { align-items:flex-start; flex-direction:column; }
    .club-footer__grid { grid-template-columns:1fr 1fr; }
    .club-footer__brand,
    .club-footer__newsletter { grid-column:1/-1; }
    .club-footer__bottom { align-items:flex-start; flex-direction:column; }
    .cookie-banner {
        grid-template-columns:1fr;
        max-height:calc(100vh - 24px);
        overflow:auto;
        text-align:left;
    }
    .cookie-banner__icon { display:none; }
    .cookie-banner__actions { display:grid; grid-template-columns:1fr; }
    .whatsapp-float { bottom:14px; right:14px; }

    .dashboard-sidebar {
        transform:translateX(-105%);
        transition:transform .2s ease;
    }
    .dashboard-sidebar.is-open { transform:translateX(0); }
    .dashboard-main { margin-left:0; }
    .dashboard-flash { margin-left:0; }
    .dashboard-mobile-toggle {
        position:fixed;
        z-index:1050;
        left:12px;
        top:17px;
        width:38px;
        height:38px;
        display:grid;
        place-items:center;
        color:#fff;
        background:rgba(255,255,255,.1);
        border:1px solid rgba(255,255,255,.18);
        border-radius:7px;
    }
    .dashboard-mobile-toggle svg { width:20px; fill:none; stroke:currentColor; stroke-width:2; }
    .dashboard-topbar { padding-left:62px; }
    .dashboard-topbar p { display:none; }
    .dashboard-content { padding:12px; }
    .dashboard-welcome { padding:15px; }
    .dashboard-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .dashboard-metrics article { padding:10px 8px; }
    .dashboard-metrics article strong { font-size:1.2rem; }
    .dashboard-columns { grid-template-columns:1fr; }
}
@media (max-width:479.98px) {
    .club-brand { width:145px; }
    .club-hero__copy h1 { font-size:2.05rem; }
    .club-hero__stats { display:grid; grid-template-columns:1fr 1fr; }
    .club-stat:last-child { grid-column:1/-1; }
    .club-hero__visual { width:460px; right:47%; }
    .club-hero__visual img { width:460px; height:318px; }
    .club-footer__grid { grid-template-columns:1fr; }
    .club-footer__brand,
    .club-footer__newsletter { grid-column:auto; }
    .dashboard-topbar h1 { font-size:.82rem; }
    .dashboard-user>div { display:none; }
    .dashboard-welcome { padding:13px; }
    .dashboard-metrics { gap:5px; }
    .dashboard-metrics article span { font-size:.49rem; }
}


/* Gestão de exclusões e superadmin — versão 2.3 */
.dashboard-list__item--managed { display:block; padding:0; overflow:hidden; }
.dashboard-list__main { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; padding:12px; color:inherit; }
.dashboard-list__main:hover { color:inherit; background:#f9fbff; }
.dashboard-list__actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; padding:8px 12px; border-top:1px solid #edf1f7; background:#fbfcff; }
.dashboard-list__actions form { margin:0; }
.dashboard-mini-action { display:inline-flex; align-items:center; justify-content:center; min-height:29px; padding:0 10px; border:1px solid #d9e1ee; border-radius:6px; color:#315486; background:#fff; font-size:.58rem; font-weight:760; }
button.dashboard-mini-action { cursor:pointer; }
.dashboard-mini-action:hover { color:#075eff; border-color:#9fbeff; }
.dashboard-mini-action--danger { color:#b42318; border-color:#fecaca; background:#fff7f7; }
.dashboard-mini-action--danger:hover { color:#991b1b; border-color:#fca5a5; background:#fff1f1; }
.curriculum-danger-zone { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-color:#fecaca; background:linear-gradient(135deg,#fff,#fff7f7); }
.eyebrow--danger { color:#b42318; }
.superadmin-shell { max-width:1120px; }
.superadmin-list { display:flex; flex-direction:column; }
.superadmin-row { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:15px 0; border-bottom:1px solid #e9edf4; }
.superadmin-row:last-child { border-bottom:0; }
.superadmin-row__main { min-width:0; display:flex; flex-direction:column; gap:3px; }
.superadmin-row__main strong { color:#111c2f; font-size:.88rem; }
.superadmin-row__main span { color:#536075; font-size:.72rem; }
.superadmin-row__main small { color:#8791a2; font-size:.64rem; }
.superadmin-row__actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.superadmin-row__actions form { margin:0; }
@media (max-width:767px) {
  .curriculum-danger-zone { align-items:stretch; flex-direction:column; }
  .curriculum-danger-zone form,.curriculum-danger-zone button { width:100%; }
  .superadmin-row { align-items:flex-start; flex-direction:column; }
  .superadmin-row__actions { justify-content:flex-start; width:100%; }
  .dashboard-list__main { grid-template-columns:auto minmax(0,1fr); }
  .dashboard-list__main .dashboard-status { grid-column:2; justify-self:start; }
}

.company-jobs-panel { padding:8px 20px 20px; }
.company-job-table { display:flex; flex-direction:column; }
.company-job-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid #e9edf4; }
.company-job-row:last-child { border-bottom:0; }
.company-job-row__icon { width:38px; height:38px; display:grid; place-items:center; border-radius:8px; color:#1465dc; background:#eaf2ff; font-weight:800; }
.company-job-row__content { min-width:0; display:flex; flex-direction:column; gap:3px; }
.company-job-row__content strong { color:#111c2f; font-size:.84rem; }
.company-job-row__content span { color:#566175; font-size:.66rem; }
.company-job-row__content small { color:#8b94a3; font-size:.6rem; }
.company-job-row__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.company-job-row__actions form { margin:0; }
@media (max-width:900px) {
  .company-job-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .company-job-row__actions { grid-column:2/-1; justify-content:flex-start; }
}
@media (max-width:560px) {
  .company-job-row { grid-template-columns:auto minmax(0,1fr); }
  .company-job-row>.dashboard-status { grid-column:2; justify-self:start; }
  .company-job-row__actions { grid-column:1/-1; }
}

/* ================================================================
   Super administração 3.2 — central de gestão exclusiva
   ================================================================ */
.sa-page {
  width:min(1320px, calc(100% - 32px));
  margin:0 auto;
  padding:34px 0 64px;
  color:#12213a;
}
.sa-page--edit { width:min(1180px, calc(100% - 32px)); }
.sa-hero {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:190px;
  padding:34px 38px;
  margin-bottom:18px;
  overflow:hidden;
  border:1px solid rgba(95,136,213,.22);
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(63,122,255,.42), transparent 30%),
    linear-gradient(135deg,#04162e 0%,#0b2c61 62%,#114dc0 100%);
  box-shadow:0 24px 60px rgba(4,22,46,.16);
}
.sa-hero::after {
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-100px;
  bottom:-220px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.025);
}
.sa-hero__copy,.sa-hero__actions { position:relative; z-index:1; }
.sa-hero__copy { max-width:720px; }
.sa-kicker {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#86adff;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.sa-kicker::before { content:""; width:16px; height:2px; border-radius:999px; background:currentColor; }
.sa-kicker--dark { color:#2158ca; }
.sa-hero h1,.sa-edit-hero h1 { margin:10px 0 8px; font-size:clamp(2rem,4vw,3.2rem); line-height:1; font-weight:850; letter-spacing:-.045em; }
.sa-hero p { max-width:690px; margin:0; color:#c9d8f4; font-size:.96rem; line-height:1.65; }
.sa-hero__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.sa-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid transparent;
  border-radius:10px;
  font-size:.75rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.sa-btn:hover { transform:translateY(-1px); }
.sa-btn--primary { color:#fff; background:linear-gradient(135deg,#1166f4,#244bd8); box-shadow:0 10px 22px rgba(25,91,226,.2); }
.sa-btn--primary:hover { color:#fff; box-shadow:0 13px 28px rgba(25,91,226,.28); }
.sa-btn--light { color:#0f3882; background:#fff; border-color:rgba(255,255,255,.8); box-shadow:0 10px 24px rgba(0,0,0,.13); }
.sa-btn--light:hover { color:#0f3882; }
.sa-btn--secondary { color:#27456f; background:#fff; border-color:#dbe4f2; }
.sa-btn--secondary:hover { color:#0d5be1; border-color:#9bbbf3; background:#f8fbff; }
.sa-btn--ghost { color:#51627d; background:#f7f9fc; border-color:#e1e7f0; }
.sa-btn--ghost:hover { color:#1c4f9e; background:#eef4ff; }
.sa-btn--success { color:#087443; background:#ecfbf4; border-color:#bcebd3; }
.sa-btn--danger-soft { color:#c12f32; background:#fff8f8; border-color:#f2c4c5; }
.sa-btn--danger-soft:hover { color:#a51f24; background:#fff0f0; border-color:#eda3a6; }
.sa-tabs {
  position:sticky;
  top:8px;
  z-index:15;
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px;
  margin-bottom:20px;
  overflow-x:auto;
  border:1px solid #e3e9f2;
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 30px rgba(22,49,88,.08);
  backdrop-filter:blur(12px);
}
.sa-tab {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 15px;
  border-radius:10px;
  color:#5c6980;
  font-size:.73rem;
  font-weight:780;
  white-space:nowrap;
}
.sa-tab:hover { color:#164fb7; background:#f4f7fc; }
.sa-tab.is-active { color:#fff; background:linear-gradient(135deg,#0c5eea,#244bd6); box-shadow:0 7px 18px rgba(30,86,207,.22); }
.sa-tab b { display:grid; min-width:22px; height:22px; place-items:center; padding:0 6px; border-radius:999px; color:inherit; background:rgba(108,128,160,.11); font-size:.62rem; }
.sa-tab.is-active b { background:rgba(255,255,255,.18); }
.sa-tab__icon { font-size:.9rem; }
.sa-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.sa-metric {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:118px;
  padding:22px;
  border:1px solid #e1e7f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(25,50,86,.06);
}
.sa-metric__icon { display:grid; flex:0 0 44px; width:44px; height:44px; place-items:center; border-radius:12px; font-size:1rem; font-weight:900; }
.sa-metric__icon--blue { color:#155cdf; background:#eaf2ff; }
.sa-metric__icon--cyan { color:#087f94; background:#e6f8fb; }
.sa-metric__icon--violet { color:#6d3ce5; background:#f0ebff; }
.sa-metric__icon--green { color:#0c8751; background:#e9f9f1; }
.sa-metric div { min-width:0; display:flex; flex-direction:column; }
.sa-metric small { color:#68758a; font-size:.67rem; font-weight:700; }
.sa-metric strong { margin:2px 0; color:#10203b; font-size:1.7rem; line-height:1; letter-spacing:-.03em; }
.sa-metric em { color:#94a0b2; font-size:.58rem; font-style:normal; }
.sa-panel {
  padding:26px;
  border:1px solid #e1e7f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(25,50,86,.06);
}
.sa-panel__header,.sa-section-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.sa-panel__header h2,.sa-section-heading h2 { margin:5px 0 0; color:#14223a; font-size:1.15rem; font-weight:840; letter-spacing:-.02em; }
.sa-section-heading p { max-width:670px; margin:6px 0 0; color:#758096; font-size:.75rem; line-height:1.55; }
.sa-section-heading--compact { margin-bottom:22px; }
.sa-overview-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr); gap:18px; margin-bottom:18px; }
.sa-overview-grid--equal { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sa-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.sa-action-card {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:82px;
  padding:14px;
  border:1px solid #e5eaf2;
  border-radius:13px;
  color:#1c2b43;
  background:#fbfcfe;
}
.sa-action-card:hover { color:#1557c9; border-color:#b9cff4; background:#f6f9ff; box-shadow:0 8px 20px rgba(24,78,173,.08); }
.sa-action-card>span { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; color:#1a5fd5; background:#eaf2ff; font-weight:900; }
.sa-action-card div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.sa-action-card strong { font-size:.73rem; }
.sa-action-card small { color:#7a8799; font-size:.59rem; line-height:1.4; }
.sa-action-card>b { color:#97a5b9; }
.sa-health-list { display:flex; flex-direction:column; }
.sa-health-list div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid #edf0f5; }
.sa-health-list div:last-child { border-bottom:0; }
.sa-health-list span { color:#69768a; font-size:.69rem; }
.sa-health-list strong { color:#17243a; font-size:.88rem; }
.sa-inline-link { color:#145bd6; font-size:.68rem; font-weight:800; }
.sa-inline-link:hover { color:#0f46a4; }
.sa-compact-list { display:flex; flex-direction:column; }
.sa-compact-row {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:12px 0;
  border-bottom:1px solid #edf0f5;
  color:inherit;
}
.sa-compact-row:last-child { border-bottom:0; }
.sa-compact-row:hover { color:inherit; }
.sa-compact-row__main { display:flex; flex-direction:column; min-width:0; }
.sa-compact-row__main strong { overflow:hidden; color:#17243a; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.sa-compact-row__main small { overflow:hidden; color:#8490a2; font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.sa-avatar {
  display:grid;
  flex:0 0 38px;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:11px;
  color:#164fb4;
  background:linear-gradient(135deg,#e9f2ff,#dce9ff);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.03em;
}
.sa-avatar--job { color:#6c3fe1; background:#f1ecff; }
.sa-avatar--company { color:#0a7890; background:#e8f8fa; }
.sa-avatar--large { width:46px; height:46px; flex-basis:46px; border-radius:13px; font-size:.72rem; }
.sa-avatar--xl { width:70px; height:70px; flex-basis:70px; border-radius:18px; color:#fff; background:linear-gradient(135deg,#176af2,#1f48c5); font-size:1rem; box-shadow:0 12px 24px rgba(24,83,200,.28); }
.sa-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:0 9px;
  border-radius:999px;
  font-size:.56rem;
  font-weight:850;
  white-space:nowrap;
}
.sa-badge--violet { color:#6a39ce; background:#f0eaff; }
.sa-badge--blue { color:#1655c4; background:#e9f1ff; }
.sa-badge--cyan { color:#087b91; background:#e5f7fa; }
.sa-badge--gray { color:#59667a; background:#eef1f5; }
.sa-badge--green { color:#087847; background:#e7f8ef; }
.sa-badge--amber { color:#9d6205; background:#fff4d9; }
.sa-badge--red { color:#b4232a; background:#ffeaeb; }
.sa-filter-bar {
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(150px,200px) minmax(160px,210px) auto auto;
  gap:10px;
  padding:14px;
  margin-bottom:14px;
  border:1px solid #e4e9f1;
  border-radius:14px;
  background:#f8fafd;
}
.sa-filter-bar select,.sa-search-field {
  min-height:44px;
  border:1px solid #dfe5ee;
  border-radius:10px;
  background:#fff;
}
.sa-filter-bar select { padding:0 12px; color:#46566f; font-size:.72rem; outline:none; }
.sa-search-field { display:flex; align-items:center; gap:9px; padding:0 12px; }
.sa-search-field span { color:#7b899d; font-size:.9rem; }
.sa-search-field input { width:100%; min-width:0; border:0; outline:0; color:#1b2940; background:transparent; font-size:.73rem; }
.sa-search-field input::placeholder { color:#98a3b3; }
.sa-result-summary { margin:8px 0 4px; color:#7b8798; font-size:.65rem; }
.sa-result-summary strong { color:#1c2b43; }
.sa-user-list,.sa-job-list { display:flex; flex-direction:column; }
.sa-user-row {
  display:grid;
  grid-template-columns:minmax(250px,1.25fr) minmax(210px,1fr) auto auto;
  align-items:center;
  gap:16px;
  padding:17px 0;
  border-bottom:1px solid #e9edf3;
}
.sa-user-row:last-child { border-bottom:0; }
.sa-user-row__identity { display:flex; align-items:center; gap:12px; min-width:0; }
.sa-user-row__identity>div,.sa-user-row__profile { display:flex; flex-direction:column; min-width:0; }
.sa-user-row__identity strong,.sa-user-row__profile strong { overflow:hidden; color:#16233a; font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.sa-user-row__identity a,.sa-user-row__profile small { overflow:hidden; color:#7a879a; font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.sa-user-row__status,.sa-user-row__actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.sa-icon-btn { display:grid; width:38px; height:38px; place-items:center; border:1px solid #dce4ef; border-radius:10px; color:#37567f; background:#fff; font-weight:900; }
.sa-icon-btn:hover { color:#155bda; border-color:#a8c1ef; background:#f7faff; }
.sa-company-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sa-company-card { padding:18px; border:1px solid #e3e8f0; border-radius:14px; background:#fff; }
.sa-company-card__top { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; }
.sa-company-card__top>div { display:flex; flex-direction:column; min-width:0; }
.sa-company-card__top strong,.sa-company-card__top small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sa-company-card__top strong { color:#15233a; font-size:.75rem; }
.sa-company-card__top small { color:#8792a2; font-size:.59rem; }
.sa-company-card__meta { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; padding:14px 0; margin:12px 0 0; border-top:1px solid #edf0f4; }
.sa-company-card__meta div { min-width:0; }
.sa-company-card__meta dt { color:#98a2b1; font-size:.52rem; text-transform:uppercase; letter-spacing:.06em; }
.sa-company-card__meta dd { overflow:hidden; margin:2px 0 0; color:#46536a; font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.sa-company-card__actions { display:flex; flex-wrap:wrap; gap:7px; padding-top:13px; border-top:1px solid #edf0f4; }
.sa-job-row { display:grid; grid-template-columns:auto minmax(260px,1fr) auto auto; align-items:center; gap:14px; padding:17px 0; border-bottom:1px solid #e9edf3; }
.sa-job-row:last-child { border-bottom:0; }
.sa-job-row__main { display:flex; flex-direction:column; min-width:0; gap:2px; }
.sa-job-row__main strong { color:#16233a; font-size:.76rem; }
.sa-job-row__main span { color:#66748a; font-size:.61rem; }
.sa-job-row__main small { color:#98a2b1; font-size:.55rem; }
.sa-job-row__actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.sa-job-row__actions form { margin:0; }
.sa-pagination { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-top:18px; margin-top:12px; border-top:1px solid #e9edf3; color:#79869a; font-size:.64rem; }
.sa-page-btn { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 13px; border:1px solid #dfe5ee; border-radius:9px; color:#3d5375; background:#fff; font-weight:800; }
.sa-page-btn:hover { color:#155ad3; border-color:#aac1ea; }
.sa-page-btn.is-disabled { opacity:.42; pointer-events:none; }
.sa-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:220px; padding:35px; text-align:center; }
.sa-empty--full { grid-column:1/-1; }
.sa-empty>span { display:grid; width:50px; height:50px; place-items:center; margin-bottom:12px; border-radius:14px; color:#3564ad; background:#eef4ff; font-size:1.15rem; }
.sa-empty strong { color:#26344a; font-size:.85rem; }
.sa-empty p { margin:4px 0 0; color:#8792a3; font-size:.65rem; }
.sa-create-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr); gap:18px; }
.sa-form { display:flex; flex-direction:column; gap:22px; }
.sa-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sa-form-grid label,.sa-form-grid__wide,.sa-form-grid__full { display:flex; flex-direction:column; gap:6px; }
.sa-form-grid label>span { color:#37455b; font-size:.66rem; font-weight:760; }
.sa-form-grid label>small { color:#8994a5; font-size:.56rem; line-height:1.45; }
.sa-form-grid__wide { grid-column:span 2; }
.sa-form-grid__full { grid-column:1/-1; }
.sa-form .form-control,.sa-form .form-select,.sa-edit-form .form-control,.sa-edit-form .form-select {
  min-height:46px;
  border-color:#dce3ed;
  border-radius:10px;
  color:#1f2d43;
  font-size:.73rem;
  box-shadow:none;
}
.sa-form textarea.form-control,.sa-edit-form textarea.form-control { min-height:130px; padding-top:12px; resize:vertical; }
.sa-form .form-control:focus,.sa-form .form-select:focus,.sa-edit-form .form-control:focus,.sa-edit-form .form-select:focus { border-color:#70a0f2; box-shadow:0 0 0 3px rgba(34,103,224,.1); }
.sa-form-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; padding-top:18px; border-top:1px solid #e9edf3; }
.sa-guidance { align-self:start; color:#fff; border-color:#0d3677; background:linear-gradient(145deg,#061a36,#0d3b7f); }
.sa-guidance__icon { display:grid; width:48px; height:48px; place-items:center; border-radius:14px; color:#1047a4; background:#fff; font-weight:900; }
.sa-guidance h3 { margin:18px 0 8px; font-size:1.15rem; font-weight:840; }
.sa-guidance p,.sa-guidance li { color:#c8d8f3; font-size:.68rem; line-height:1.65; }
.sa-guidance ul { padding-left:18px; margin:18px 0 0; }
.sa-guidance li { margin-bottom:9px; }
.sa-guidance strong { color:#fff; }
.sa-edit-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; color:#8994a5; font-size:.62rem; }
.sa-back-link { color:#28579d; font-size:.68rem; font-weight:800; }
.sa-edit-hero { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:26px 28px; margin-bottom:18px; border-radius:18px; color:#fff; background:linear-gradient(135deg,#061a36,#0c3a7c); box-shadow:0 20px 45px rgba(5,28,61,.15); }
.sa-edit-identity { display:flex; align-items:center; gap:17px; min-width:0; }
.sa-edit-identity>div { min-width:0; }
.sa-edit-hero h1 { overflow:hidden; margin:7px 0 4px; font-size:2rem; text-overflow:ellipsis; white-space:nowrap; }
.sa-edit-hero p { overflow:hidden; margin:0; color:#c5d6f1; font-size:.73rem; text-overflow:ellipsis; white-space:nowrap; }
.sa-edit-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.sa-edit-form { display:flex; flex-direction:column; gap:16px; }
.sa-edit-section { padding:28px; }
.sa-check-row,.sa-check-card { display:flex!important; flex-direction:row!important; align-items:flex-start; gap:10px!important; padding:13px; border:1px solid #dfe5ee; border-radius:11px; background:#f9fbfd; cursor:pointer; }
.sa-check-row { max-width:460px; margin-top:18px; }
.sa-check-row input,.sa-check-card input { margin-top:3px; }
.sa-check-row span,.sa-check-card span { display:flex; flex-direction:column; gap:2px; }
.sa-check-row strong,.sa-check-card strong { color:#2d3b50; font-size:.66rem; }
.sa-check-row small,.sa-check-card small { color:#8a95a6; font-size:.55rem; line-height:1.45; }
.sa-savebar { position:sticky; bottom:12px; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; border:1px solid #dbe3ee; border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 16px 38px rgba(22,48,87,.14); backdrop-filter:blur(12px); }
.sa-savebar>div { display:flex; flex-direction:column; }
.sa-savebar>div:last-child { flex-direction:row; gap:8px; }
.sa-savebar strong { color:#26354b; font-size:.72rem; }
.sa-savebar small { color:#8c97a7; font-size:.56rem; }

@media (max-width:1100px) {
  .sa-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sa-overview-grid,.sa-create-layout { grid-template-columns:1fr; }
  .sa-guidance { order:-1; }
  .sa-user-row { grid-template-columns:minmax(240px,1.2fr) minmax(180px,1fr) auto; }
  .sa-user-row__actions { grid-column:2/-1; }
  .sa-job-row { grid-template-columns:auto minmax(220px,1fr) auto; }
  .sa-job-row__actions { grid-column:2/-1; }
  .sa-filter-bar { grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,190px)); }
  .sa-filter-bar .sa-btn { min-width:110px; }
}
@media (max-width:820px) {
  .sa-page,.sa-page--edit { width:min(100% - 20px,1320px); padding-top:20px; }
  .sa-hero,.sa-edit-hero { align-items:flex-start; flex-direction:column; padding:25px; }
  .sa-hero__actions { justify-content:flex-start; }
  .sa-tabs { top:4px; justify-content:flex-start; }
  .sa-overview-grid--equal,.sa-company-grid { grid-template-columns:1fr; }
  .sa-filter-bar { grid-template-columns:1fr 1fr; }
  .sa-search-field { grid-column:1/-1; }
  .sa-user-row { grid-template-columns:1fr auto; }
  .sa-user-row__profile { grid-column:1; padding-left:58px; }
  .sa-user-row__status { grid-column:2; grid-row:1; }
  .sa-user-row__actions { grid-column:1/-1; justify-content:flex-start; padding-left:58px; }
  .sa-form-grid { grid-template-columns:1fr; }
  .sa-form-grid__wide,.sa-form-grid__full { grid-column:auto; }
}
@media (max-width:560px) {
  .sa-hero h1 { font-size:2.15rem; }
  .sa-hero__actions,.sa-hero__actions .sa-btn { width:100%; }
  .sa-metrics { grid-template-columns:1fr; }
  .sa-action-grid { grid-template-columns:1fr; }
  .sa-panel { padding:19px; border-radius:15px; }
  .sa-filter-bar { grid-template-columns:1fr; }
  .sa-search-field { grid-column:auto; }
  .sa-filter-bar .sa-btn { width:100%; }
  .sa-user-row { grid-template-columns:1fr; gap:9px; }
  .sa-user-row__status,.sa-user-row__actions,.sa-user-row__profile { grid-column:1; grid-row:auto; justify-content:flex-start; padding-left:58px; }
  .sa-company-card__meta { grid-template-columns:1fr 1fr; }
  .sa-job-row { grid-template-columns:auto 1fr; }
  .sa-job-row>.sa-badge { grid-column:2; justify-self:start; }
  .sa-job-row__actions { grid-column:1/-1; padding-left:0; }
  .sa-pagination { align-items:stretch; flex-direction:column; }
  .sa-page-btn { width:100%; }
  .sa-edit-topbar { align-items:flex-start; flex-direction:column; }
  .sa-edit-hero h1 { font-size:1.55rem; }
  .sa-savebar { position:static; align-items:stretch; flex-direction:column; }
  .sa-savebar>div:last-child { width:100%; }
  .sa-savebar .sa-btn { flex:1; }
}
