/* NEXs TOOLS · Concursos em Psicologia (complementa /tools/nexs/tools.css). */
.cp{padding-bottom:48px}
.cp .tool-hero{padding:36px 0 8px}
.cp-stats{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.cp-stats li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:14px;color:var(--muted)}
.cp-stats b{color:var(--navy);font-size:18px;margin-right:4px}
.cp-block{margin-top:40px;scroll-margin-top:90px}
.cp-filter{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.cp-filter button{min-height:40px;padding:0 16px;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--ink);font:700 14px Lato,system-ui,sans-serif;cursor:pointer}
.cp-filter button[aria-pressed=true]{border-color:var(--blue);color:var(--accent-text)}
.cp-radar{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.cp-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}
.cp-card h3{margin:6px 0 10px}
.cp-card dl{margin:0;display:grid;gap:4px}
.cp-card dl div{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:8px;font-size:14px}
.cp-card dt{color:var(--muted)}.cp-card dd{margin:0;font-weight:700}
.cp-sum{font-size:14px;color:var(--muted);margin:10px 0 0}
.cp-links{font-size:13px;margin:10px 0 0;overflow-wrap:anywhere}
.cp-links a{color:var(--accent-text)}
.cp-badge{display:inline-block;margin:0;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:900;background:var(--soft-blue);color:var(--accent-text)}
.cp-badge.cp-edital-aberto{background:#DDF5E6;color:#0B6B33}
@media (prefers-color-scheme:dark){.cp-badge.cp-edital-aberto{background:#0E3F25;color:#8CE3AF}}
.cp-setup{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:16px 0}
.cp-setup label,.cp-alert label{display:grid;gap:4px;font-size:14px;font-weight:700;color:var(--muted)}
.cp-setup select,.cp-alert input[type=text],.cp-alert input:not([type]),.cp-alert input[type=email],.cp-alert input[type=tel]{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:0 12px;font:16px Lato,system-ui,sans-serif;min-width:0}
.cp-q{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin-top:8px}
.cp-progress,.cp-origin{font-size:13px;color:var(--muted);margin:0 0 6px}
.cp-origin{font-weight:700;color:var(--accent-text)}
.cp-stem{font-size:17px;margin:8px 0 14px}
.cp-q fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.cp-alt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.cp-alt input{margin-top:5px}
.cp-alt.is-right{border-color:#1E9E55;background:rgba(30,158,85,.1)}
.cp-alt.is-wrong{border-color:#D13A3A;background:rgba(209,58,58,.1)}
.cp-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cp-result{font-weight:900;font-size:18px;margin:14px 0 6px}
.cp-result.ok{color:#178046}.cp-result.no{color:#B42323}
@media (prefers-color-scheme:dark){.cp-result.ok{color:#7CDCA4}.cp-result.no{color:#FF9A9A}}
.cp-src{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.cp-src a{color:var(--accent-text)}
.cp-warn{color:#B42323;font-weight:700}
.cp-alert{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.cp-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}
.cp-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;margin:6px 0 14px}
.cp-consent input{margin-top:5px}
.cp-status{min-height:1.4em;font-weight:700;color:var(--accent-text)}
.hp{position:absolute;left:-100vw}
button.link{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.cp-setup select:disabled{opacity:.55}
.cp-count{flex-basis:100%;margin:0;font-weight:700;color:var(--accent-text);min-height:1.4em}
.cp-ce{grid-template-columns:repeat(2,minmax(0,160px))}
@media (max-width:520px){.cp-setup label{flex:1 1 140px}}
.cp-byarea{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:4px;max-width:420px}
.cp-byarea li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:4px 0;font-size:14px}
