*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#eef2f7;color:#101828}button,input,select{font:inherit}.login-page{min-height:100vh;background:linear-gradient(135deg,#1d4ed8,#0f172a 55%,#020617)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,440px);background:#fff;padding:36px;border-radius:24px;box-shadow:0 28px 80px #0006}.brand-mark{width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-weight:900;font-size:32px;display:grid;place-items:center;margin:0 auto 18px}.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:22px;margin:0}.eyebrow,.step{font-size:12px;font-weight:900;letter-spacing:.14em;color:#2563eb;margin:0 0 6px}.login-card h1{text-align:center;margin:0}.center{text-align:center}.muted{color:#667085}.form-stack{display:grid;gap:18px;margin-top:26px}label{display:grid;gap:8px;font-size:13px;font-weight:800;color:#344054}input,select{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:12px;outline:none;background:#fff}input:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.password-wrap{position:relative}.password-wrap input{padding-right:46px}.icon-button{position:absolute;right:5px;top:5px;border:0;background:transparent;padding:8px}.btn{border:0;border-radius:10px;padding:12px 18px;font-weight:900;cursor:pointer}.btn-primary{background:#2563eb;color:#fff}.btn-full{width:100%}.btn-secondary{background:#334155;color:#fff}.btn-ghost{background:#fff;color:#344054;border:1px solid #d0d5dd}.btn-success{background:#16a34a;color:#fff}.btn-danger{background:#dc2626;color:#fff}.btn-warning{background:#f59e0b;color:#111827}.login-note{font-size:12px;color:#667085;text-align:center}.hidden{display:none}.topbar{height:72px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:10}.brand-inline,.top-actions{display:flex;align-items:center;gap:12px}.brand-inline span{display:block;color:#94a3b8;font-size:12px}.user-chip{background:#1e293b;padding:9px 12px;border-radius:999px;font-size:13px}.container{max-width:1240px;margin:auto;padding:26px 20px 50px}.hero,.card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;box-shadow:0 12px 32px #0f172a14}.hero{padding:28px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hero h1{margin:0 0 8px}.hero p:last-child{margin:0;color:#667085}.status-pill{display:flex;align-items:center;gap:9px;background:#ecfdf3;color:#166534;padding:10px 14px;border-radius:999px;font-weight:800}.dot{width:10px;height:10px;border-radius:50%;background:#22c55e}.grid{display:grid;gap:20px}.dashboard-grid{grid-template-columns:repeat(12,1fr)}.span-4{grid-column:span 4}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.card{padding:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-heading h2{margin:0}.small-btn{padding:9px 12px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.counter{min-width:34px;height:34px;border-radius:10px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;font-weight:900}.vacancy-list{display:grid;gap:10px;max-height:520px;overflow:auto}.empty-state{min-height:170px;place-items:center;text-align:center;color:#667085;border:1px dashed #cbd5e1;border-radius:12px;padding:18px}.vacancy-item{border:1px solid #e2e8f0;border-radius:12px;padding:13px;background:#f8fafc}.vacancy-top{display:flex;justify-content:space-between;gap:12px}.vacancy-item p{font-size:12px;color:#667085;line-height:1.5}.remove-btn{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:7px 9px;font-weight:900}.inline-actions{display:flex;gap:8px;margin-top:14px}.inline-actions .btn{flex:1;font-size:12px}.schedule-card{border-top:5px solid #fde047}.schedule-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#fef08a;padding:14px;border-radius:14px}.preset{border:1px solid #e5c600;background:#fffbea;border-radius:12px;padding:15px;text-align:left;cursor:pointer}.preset strong,.preset span{display:block}.preset span{font-size:12px;color:#6b7280;margin-top:5px}.preset.active{outline:3px solid #2563eb33;border-color:#2563eb;background:#eff6ff}.preset-dark{background:#111827;color:#fff;border-color:#111827}.preset-dark span{color:#cbd5e1}.time-panel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;align-items:end;margin-top:18px}.clock-box{background:#0f172a;color:#fff;padding:12px 15px;border-radius:12px}.clock-box span,.clock-box strong{display:block}.clock-box span{font-size:11px;color:#94a3b8}.clock-box strong{font-size:25px}.command-row{display:flex;justify-content:center;gap:12px;margin-top:20px}.command-row .btn{min-width:140px}.badge{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.metric{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:14px}.metric span,.metric strong{display:block}.metric span{font-size:11px;color:#667085;text-transform:uppercase}.metric strong{margin-top:6px}.logs-shell{background:#020617;border-radius:14px;margin-top:18px;overflow:hidden}.logs-title{background:#0f172a;color:#e2e8f0;padding:12px 15px}.logs{height:230px;overflow:auto;padding:14px;color:#cbd5e1;font-family:Consolas,monospace;font-size:12px}.log-line{padding:4px 0;border-bottom:1px solid #94a3b814}.log-time{color:#60a5fa}.log-ok{color:#86efac}.log-warn{color:#fcd34d}.log-error{color:#fca5a5}footer{display:flex;justify-content:space-between;color:#667085;font-size:12px;padding-top:22px}@media(max-width:960px){.span-8,.span-4{grid-column:span 12}.form-grid{grid-template-columns:repeat(2,1fr)}.schedule-presets{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.topbar{height:auto;padding:12px 16px}.brand-inline span,.user-chip{display:none}.container{padding:16px 12px}.hero{padding:20px;flex-direction:column;align-items:flex-start;gap:16px}.card{padding:16px}.form-grid,.schedule-presets,.time-panel{grid-template-columns:1fr}.span-2,.span-all{grid-column:span 1}.command-row{display:grid}.command-row .btn{width:100%}.metrics{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;gap:5px}}
.heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.api-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid transparent}
.api-status.loading{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.api-status.success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}
.api-status.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}
select:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}
@media(max-width:640px){
  .heading-actions{width:100%;justify-content:flex-start}
  .section-heading{flex-wrap:wrap}
}

.heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.api-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid transparent}
.api-status.loading{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.api-status.success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}
.api-status.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.api-diagnostic{margin:-6px 0 18px;padding:14px;border-radius:12px;background:#fff1f2;border:1px solid #fecdd3;color:#881337;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.api-diagnostic a{color:#1d4ed8;font-weight:800}
select:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}
@media(max-width:640px){.heading-actions{width:100%;justify-content:flex-start}.section-heading{flex-wrap:wrap}}


/* ETAPA 6 — situação real das vagas */
.vacancy-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.vacancy-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em;border:1px solid transparent}
.vacancy-badge.status-pendente{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.vacancy-badge.status-marcada{background:#ecfdf3;color:#166534;border-color:#86efac}
.vacancy-badge.status-nao_encontrada{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.vacancy-badge.status-erro{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.vacancy-status-marcada{border-left:5px solid #22c55e}
.vacancy-status-nao_encontrada{border-left:5px solid #94a3b8}
.vacancy-status-pendente{border-left:5px solid #f59e0b}
.vacancy-detail{display:inline-block;margin-top:5px;font-weight:700}
