:root{
  --bg:#0f172a; --panel:#1e293b; --panel2:#273449; --line:#334155;
  --txt:#e2e8f0; --muted:#94a3b8; --accent:#38bdf8; --accent2:#22c55e;
  --h2a:#0ea5e9; --h2b:#f59e0b; --danger:#f87171; --gold:#fbbf24;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:14px}
header{padding:12px 18px;background:linear-gradient(90deg,#0b1220,#1e293b);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
header h1{font-size:17px;margin:0;margin-right:auto}
header .meta{color:var(--muted);font-size:12px}
.tabs{display:flex;gap:6px}
.tabs button{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.tabs button.on{background:var(--accent);color:#04202e;border-color:var(--accent)}
.wrap{padding:14px 18px}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}
label.lbl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}
input[type=text],input[type=number],input[type=email],input[type=tel],select,textarea{width:100%;padding:7px 8px;background:var(--panel2);border:1px solid var(--line);border-radius:7px;color:var(--txt);font-size:13px;font-family:inherit}
textarea{resize:vertical;min-height:70px}
.chk{display:flex;align-items:center;gap:7px;margin-top:18px}
.chk input{width:16px;height:16px}
.chk label{margin:0;color:var(--txt);font-size:13px}
.msel{position:relative}
.msel .box{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:34px;padding:4px 6px;background:var(--panel2);border:1px solid var(--line);border-radius:7px;cursor:text}
.msel .box .ph{color:var(--muted);font-size:13px}
.chip{display:inline-flex;align-items:center;gap:4px;background:rgba(56,189,248,.18);color:#7dd3fc;border-radius:20px;padding:1px 6px 1px 8px;font-size:12px}
.chip b{cursor:pointer}
.msel .drop{display:none;position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px;max-height:280px;overflow:auto;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.msel.open .drop{display:block}
.msel .search{margin-bottom:6px}
.msel .quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.msel .quick button{padding:3px 8px;font-size:11px;background:var(--panel2);color:var(--accent);border:1px solid var(--line)}
.stgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:2px 10px}
.stgrid label{display:flex;align-items:center;gap:5px;font-size:12px;padding:2px}
.stgrid label:hover{background:var(--panel2);border-radius:5px}
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.count{font-weight:600}.count b{color:var(--accent)}
button{cursor:pointer;background:var(--accent);color:#04202e;border:none;border-radius:7px;padding:8px 12px;font-weight:600;font-size:13px}
button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
button.mini{padding:4px 9px;font-size:12px}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px;max-height:64vh}
table{border-collapse:collapse;width:100%;min-width:1000px}
th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top}
th{position:sticky;top:0;background:#0b1220;cursor:pointer;user-select:none;font-size:12px;z-index:2}
th .arr{color:var(--accent);font-size:10px}
tbody tr:hover{background:#182234}
tbody tr.sel{background:#1d2c40}
td.wage{color:var(--accent2);font-weight:600}
.tag{display:inline-block;padding:1px 7px;border-radius:20px;font-size:11px;font-weight:600}
.tag.h2a{background:rgba(14,165,233,.18);color:#7dd3fc}.tag.h2b{background:rgba(245,158,11,.18);color:#fcd34d}
.yes{color:var(--accent2)}.no{color:var(--muted)}
.title{white-space:normal;max-width:280px}
.star{cursor:pointer;font-size:16px;color:#475569}.star.on{color:var(--gold)}
.stat{font-size:11px;border-radius:20px;padding:1px 7px}
.stat.contatado{background:rgba(251,191,36,.15);color:var(--gold)}
.stat.candidatei{background:rgba(34,197,94,.15);color:var(--accent2)}
.detail{background:#0b1220;border-top:1px dashed var(--line)}.detail td{white-space:normal}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px}
.card h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;color:var(--accent);letter-spacing:.04em}
.kv{display:flex;gap:6px;margin:3px 0;font-size:13px}.kv .k{color:var(--muted);min-width:90px}
a{color:var(--accent)}
.copy{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:5px;padding:1px 6px;font-size:11px;margin-left:6px}
.act{display:inline-flex;align-items:center;gap:5px;text-decoration:none;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600;margin:2px 4px 2px 0}
.act.mail{background:#2563eb;color:#fff}.act.wa{background:#25d366;color:#04321a}.act.sms{background:#8b5cf6;color:#fff}.act.tel{background:#334155;color:#e2e8f0}
.duties{white-space:pre-wrap;font-size:12px;color:#cbd5e1;max-height:220px;overflow:auto;background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:8px}
.empty{padding:30px;text-align:center;color:var(--muted)}
.pill{font-size:11px;color:var(--muted)}
.page{display:none}.page.on{display:block}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}
.tpl{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px}
.tpl .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.note{background:rgba(56,189,248,.08);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;padding:10px;font-size:12px;color:#cbd5e1;margin:10px 0}
.out-item{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:10px}
.out-item .top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.msgprev{white-space:pre-wrap;background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:8px;font-size:12px;margin-top:8px;color:#cbd5e1}
.warn{color:var(--danger)}
.msg{margin:8px 0;display:flex}
.msg .bubble{max-width:80%;padding:9px 12px;border-radius:12px;white-space:pre-wrap;font-size:13px;line-height:1.45}
.msg.user{justify-content:flex-end}
.msg.user .bubble{background:var(--accent);color:#04202e}
.msg.ai .bubble{background:var(--panel2);border:1px solid var(--line)}
.msg.ai .bubble a{color:var(--accent)}
.typing{color:var(--muted);font-size:12px;padding:4px 2px}
.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}

/* Mobile */
@media(max-width:768px){
  header{flex-direction:column;align-items:flex-start}.tabs{overflow-x:auto;width:100%;padding-bottom:4px}.tabs button{flex-shrink:0}
  .wrap{padding:8px 10px}
  .filters{grid-template-columns:1fr}
  .tablewrap{display:none}.cards-view{display:block}
  .job-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.job-card:hover{background:#182234}
  .job-card .jc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
  .job-card .jc-info{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:12px}
  .job-card .jc-info .val{font-weight:600}.job-card .jc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
  .profile-grid{grid-template-columns:1fr}.tpl .row{grid-template-columns:1fr}
  .out-item .top{flex-direction:column;align-items:flex-start}
}
@media(min-width:769px){.cards-view{display:none}.tablewrap{display:block}}
