:root { --ink:#16261F; --muted:#62756c; --line:rgb(22 38 31 / 14%); --canvas:#fff; --surface:#fff; --accent:#08AB68; --accent-dark:#087A4D; --dark:#16261F; --accent-soft:rgb(8 171 104 / 12%); --danger:#bd3e3e; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:linear-gradient(180deg,#fff 0, rgb(8 171 104 / 4%) 44%, #fff 100%); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button { font:inherit; cursor:pointer; }
.topbar { height:78px; padding:0 max(24px,calc((100% - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; background:rgb(255 255 255 / 94%); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.topbar-actions { display:flex; gap:9px; align-items:center; }
.brand { color:var(--ink); display:block; width:310px; height:64px; overflow:hidden; font-size:19px; font-weight:650; text-decoration:none; letter-spacing:-.5px; }
.brand-logo { display:block; width:320px; max-width:none; height:auto; transform:translate(-20px,-54px); }
.brand strong { color:var(--accent-dark); }.brand-mark { display:grid; place-items:center; width:35px; height:35px; color:white; background:var(--dark); border-radius:10px; font-size:11px; letter-spacing:-1px; }
.page-content { max-width:1180px; margin:auto; padding:70px 24px 90px; }.hero { position:relative; display:flex; justify-content:space-between; align-items:center; gap:64px; padding:58px; margin-bottom:30px; overflow:hidden; background:var(--dark); border-radius:28px; color:#fff; }.hero::after { content:""; position:absolute; width:460px; height:460px; right:-190px; top:-230px; border-radius:50%; background:var(--accent); opacity:.88; }.hero::before { content:""; position:absolute; width:260px; height:260px; right:260px; bottom:-210px; border-radius:50%; border:1px solid rgb(255 255 255 / 19%); }.hero-intro,.integration-panel { position:relative; z-index:1; }.hero-intro { max-width:630px; }.eyebrow { margin:0 0 12px; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:1.5px; }.hero h1,.section-heading h2 { margin:0; letter-spacing:-2px; }.hero h1 { max-width:640px; font-size:clamp(41px,5.4vw,70px); line-height:.98; }.hero h1 span { color:var(--accent); }.hero-copy { max-width:540px; margin:22px 0 0; color:rgb(255 255 255 / 76%); font-size:16px; line-height:1.65; }.hero-highlights { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }.hero-highlights span { padding:7px 10px; border:1px solid rgb(255 255 255 / 19%); border-radius:999px; color:rgb(255 255 255 / 84%); font-size:12px; font-weight:650; }.integration-panel { width:min(360px,100%); padding:22px; background:#fff; border:1px solid rgb(255 255 255 / 25%); border-radius:18px; box-shadow:0 22px 60px rgb(0 0 0 / 22%); color:var(--ink); }.panel-heading { display:flex; align-items:center; gap:11px; margin-bottom:20px; }.panel-heading div { display:grid; gap:3px; }.panel-heading strong { font-size:14px; }.panel-heading small { color:var(--muted); font-size:12px; }.panel-icon { position:relative; display:grid; place-items:center; width:36px; height:36px; border-radius:11px; color:#fff; background:var(--dark); font-size:20px; font-weight:900; line-height:1; }.panel-icon::after { content:""; position:absolute; top:7px; right:7px; width:6px; height:6px; border-radius:50%; background:var(--accent); }.hero-actions { display:grid; gap:9px; }.hero-actions .button { width:100%; }.button { border:0; border-radius:9px; padding:12px 17px; font-weight:750; transition:.18s transform,.18s background,.18s box-shadow; }.button:hover { transform:translateY(-1px); }.button:disabled { opacity:.55; cursor:wait; transform:none; }.button-primary { color:var(--accent-dark); background:var(--accent-soft); }.button-dark { color:white; background:var(--dark); box-shadow:0 7px 18px rgb(22 38 31 / 18%); }.button-secondary { color:var(--ink); background:rgb(8 171 104 / 9%); padding:9px 13px; font-size:14px; }
.integration-status { display:grid; gap:7px; margin-top:17px; padding-top:15px; border-top:1px solid var(--line); font-size:12px; color:var(--accent-dark); }.integration-status p { margin:0; }.integration-status p::before { content:""; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--accent); }.integration-status .warning { color:#89610a; }.integration-status .last-analysis-status { color:var(--muted); }.integration-status .last-analysis-status::before { content:"◷"; width:auto; height:auto; margin-right:6px; background:none; color:var(--accent-dark); font-size:15px; line-height:0; vertical-align:-1px; }.stats { display:grid; grid-template-columns:repeat(3,1fr); background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 14px 35px rgb(22 38 31 / 6%); }.stats article { padding:25px 30px; border-right:1px solid var(--line); }.stats article:last-child { border:0; }.stats span { display:block; margin:6px 0 2px; color:var(--accent); font-size:37px; font-weight:780; letter-spacing:-1.8px; }.stats small { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }.stats em { color:var(--muted); font-size:13px; font-style:normal; }
.vacancies-section { margin-top:62px; }.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:20px; }.section-heading h2 { font-size:32px; }.status-message { color:var(--muted); font-size:14px; margin:0; }.vacancies { display:grid; gap:12px; }.vacancy { min-width:0; background:var(--surface); border:1px solid var(--line); border-radius:15px; padding:22px 24px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; transition:.18s transform,.18s box-shadow; }.vacancy:hover { transform:translateY(-2px); box-shadow:0 13px 28px rgb(22 38 31 / 8%); }.vacancy > div:first-child { min-width:0; }.vacancy h3 { margin:0 0 5px; overflow-wrap:anywhere; font-size:19px; letter-spacing:-.4px; }.company,.details { margin:0; color:var(--muted); font-size:14px; overflow-wrap:anywhere; }.details { margin-top:8px; }.vacancy-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }.badge { display:inline-flex; align-items:center; border-radius:20px; padding:6px 10px; font-size:12px; font-weight:800; white-space:nowrap; }.badge-recebida { color:#89610a; background:#fff4cc; }.badge-analisada { color:var(--accent-dark); background:var(--accent-soft); }.badge-descartada { color:#8d3d3d; background:#fde4e4; }.analyze-button { flex:0 0 auto; border:1px solid var(--line); border-radius:8px; background:white; color:var(--ink); padding:9px 12px; font-size:13px; font-weight:750; }.analyze-button:hover { background:var(--accent-soft); border-color:var(--accent); }.empty-state { padding:66px 20px; text-align:center; background:var(--surface); border:1px dashed rgb(8 171 104 / 42%); border-radius:15px; }.empty-icon { display:grid; place-items:center; width:42px; height:42px; margin:0 auto 13px; border-radius:50%; color:#fff; background:var(--accent); font-size:25px; }.empty-state h3 { margin:0 0 8px; }.empty-state p { max-width:360px; margin:auto; color:var(--muted); line-height:1.5; }
.evaluation-tabs { display:flex; gap:8px; margin:-5px 0 20px; padding:5px; overflow:auto; background:rgb(8 171 104 / 6%); border:1px solid var(--line); border-radius:14px; }.evaluation-tab { display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:1 0 max-content; border:0; border-radius:10px; padding:11px 15px; background:transparent; color:var(--muted); font-weight:750; }.evaluation-tab svg { width:18px; height:18px; flex:none; }.evaluation-tab span { display:inline-grid; min-width:22px; min-height:22px; place-items:center; margin-left:1px; padding:0 6px; border-radius:999px; background:rgb(22 38 31 / 8%); font-size:12px; }.evaluation-tab:hover { background:#fff; color:var(--ink); }.evaluation-tab.is-active { background:#fff; color:var(--accent-dark); box-shadow:0 3px 12px rgb(22 38 31 / 8%); }.evaluation-tab.is-active span { color:white; background:var(--accent); }.evaluation-button { display:inline-grid; width:38px; height:38px; place-items:center; border:1px solid var(--line); border-radius:9px; background:#fff; }.evaluation-button svg { width:19px; height:19px; }.evaluation-button:hover { transform:translateY(-1px); }.evaluation-button.like, .evaluation-button.dislike { color:var(--accent-dark); border-color:rgb(8 171 104 / 45%); background:var(--accent-soft); }.evaluation-dialog { width:min(560px,calc(100% - 32px)); border:0; border-radius:16px; padding:34px; color:var(--ink); box-shadow:0 24px 80px #0c20163f; }.evaluation-dialog::backdrop { background:#0b1711a8; }.evaluation-dialog h2 { margin:0; letter-spacing:-.7px; }.reason-options { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }.reason-options label { display:flex; align-items:center; gap:6px; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:#fff; font-size:14px; font-weight:700; }.reason-options input { accent-color:var(--accent); }.other-reason-field { display:grid; gap:6px; margin-bottom:18px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }.other-reason-field textarea { min-height:82px; resize:vertical; padding:10px; border:1px solid #cdd9cf; border-radius:8px; color:var(--ink); font:inherit; line-height:1.45; text-transform:none; letter-spacing:0; }
.filters { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:11px; padding:15px; margin-bottom:20px; background:rgb(8 171 104 / 6%); border:1px solid var(--line); border-radius:14px; }.filters label { display:grid; gap:5px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }.filters input,.filters select { width:100%; min-width:0; padding:10px; border:1px solid rgb(22 38 31 / 16%); border-radius:8px; background:white; color:var(--ink); font:inherit; font-size:14px; text-transform:none; letter-spacing:0; }.filters input:focus,.filters select:focus,.login-card input:focus,.profile-form textarea:focus { outline:2px solid rgb(8 171 104 / 25%); border-color:var(--accent); }.score-pill { color:var(--accent-dark); background:var(--accent-soft); }.discard-button { border:0; background:none; color:#9a5656; padding:8px; font-size:13px; font-weight:700; }.discard-button:hover { color:#8b2424; text-decoration:underline; }
.pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:24px; }.pagination-summary { min-width:230px; margin:0; color:var(--muted); font-size:13px; text-align:center; }.pagination-button { border:1px solid var(--line); border-radius:8px; padding:9px 13px; background:#fff; color:var(--ink); font-size:13px; font-weight:750; }.pagination-button:hover:not(:disabled) { border-color:var(--accent); background:var(--accent-soft); }.pagination-button:disabled { opacity:.45; cursor:not-allowed; }
.analysis-dialog { width:min(650px,calc(100% - 32px)); border:0; border-radius:16px; padding:34px; color:var(--ink); box-shadow:0 24px 80px #0c20163f; }.analysis-dialog::backdrop { background:#0b1711a8; }.dialog-close { position:absolute; top:12px; right:16px; border:0; background:none; color:var(--muted); font-size:29px; }.score { display:flex; align-items:baseline; gap:8px; margin:0 0 20px; }.score strong { color:var(--accent-dark); font-size:62px; letter-spacing:-3px; }.score span { color:var(--muted); }.analysis-content h2 { margin:0 0 5px; font-size:25px; }.analysis-block { margin-top:19px; }.analysis-block h3 { margin:0 0 6px; color:var(--muted); font-size:12px; letter-spacing:1px; text-transform:uppercase; }.analysis-block p { margin:0; line-height:1.55; white-space:pre-line; }.error { color:var(--danger); }
.profile-dialog { width:min(720px,calc(100% - 32px)); max-height:calc(100% - 32px); border:0; border-radius:16px; padding:34px; color:var(--ink); box-shadow:0 24px 80px #0c20163f; }.profile-dialog::backdrop { background:#0b1711a8; }.profile-dialog h2 { margin:0; letter-spacing:-.7px; }.profile-mode { margin:10px 0 22px; color:var(--muted); font-size:14px; }.profile-form { display:grid; gap:14px; }.profile-form label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }.profile-form textarea { width:100%; min-height:70px; resize:vertical; padding:10px; border:1px solid #cdd9cf; border-radius:8px; color:var(--ink); font:inherit; line-height:1.45; text-transform:none; letter-spacing:0; }.profile-actions { display:flex; justify-content:space-between; gap:10px; padding-top:4px; }.profile-error { min-height:18px; margin:0; color:var(--danger); font-size:14px; }
.login-page { display:grid; min-height:100vh; place-items:center; padding:24px; background:radial-gradient(circle at 13% 8%,rgb(8 171 104 / 18%),transparent 30%),linear-gradient(135deg,#fff,#f5fbf7 55%,rgb(8 171 104 / 11%)); }.login-card { width:min(440px,100%); padding:38px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 20px 60px rgb(22 38 31 / 11%); }.login-card .brand { width:370px; max-width:100%; height:90px; margin-bottom:40px; }.login-card .brand-logo { width:400px; max-width:none; height:auto; transform:translate(-29px,-58px); }.login-card h1 { margin:0; font-size:34px; letter-spacing:-1.3px; }.login-copy { margin:12px 0 25px; color:var(--muted); line-height:1.5; }.login-card form { display:grid; gap:16px; }.login-card label { display:grid; gap:7px; font-size:13px; font-weight:750; }.login-card input { padding:12px; border:1px solid rgb(22 38 31 / 16%); border-radius:8px; font:inherit; }.login-submit { margin-top:5px; }.login-error { margin:0 0 15px; font-size:14px; }
@media (max-width:920px) { .vacancy { grid-template-columns:1fr; }.vacancy-actions { justify-content:flex-start; } }
@media (max-width:720px) { .topbar { height:64px; }.topbar-actions { gap:5px; }.topbar-actions .button { padding:8px 9px; font-size:12px; }.brand { width:250px; height:52px; }.brand-logo { width:260px; transform:translate(-18px,-38px); }.login-card .brand { width:100%; height:78px; }.login-card .brand-logo { width:360px; transform:translate(-25px,-53px); }.page-content { padding-top:30px; }.hero { display:block; padding:36px 24px; border-radius:22px; }.hero h1 { font-size:43px; }.integration-panel { min-width:0; margin-top:30px; }.hero-actions { justify-content:flex-start; }.stats { grid-template-columns:1fr; }.stats article { border-right:0; border-bottom:1px solid var(--line); }.filters { grid-template-columns:1fr 1fr; }.filters label:first-child { grid-column:1/-1; }.vacancy { padding:18px; }.vacancy-actions { justify-content:flex-start; }.section-heading { align-items:flex-start; flex-direction:column; } }

.vacancy-link { flex:0 0 auto; border:1px solid var(--line); border-radius:8px; padding:9px 12px; color:var(--accent-dark); background:white; font-size:13px; font-weight:750; text-decoration:none; }.vacancy-link:hover { background:var(--accent-soft); border-color:var(--accent); }

.vacancy-main { display:flex; align-items:center; gap:14px; min-width:0; }.vacancy-main > div { min-width:0; }.vacancy-icon { display:grid; flex:0 0 auto; place-items:center; width:62px; height:62px; border-radius:11px; color:var(--accent-dark); background:var(--accent-soft); }.vacancy-icon svg { width:30px; height:30px; }
.vacancy-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }.vacancy-tags span { padding:4px 8px; border-radius:999px; background:var(--accent-soft); color:var(--accent-dark); font-size:12px; font-weight:700; }.skill-tags span { background:#eef3ff; color:#36528c; }.vacancy-requirements { margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.4; }.rejection-reasons { margin-top:10px; padding:9px 10px; border-left:3px solid var(--danger); background:rgb(189 62 62 / 6%); border-radius:6px; color:var(--muted); font-size:13px; }.rejection-reasons strong { color:var(--ink); }.rejection-reasons p { margin:4px 0 0; }
