:root{--bg-top: #f4efe7;--bg-bottom: #dff2ee;--panel: #ffffff;--ink: #18322b;--muted: #5b7269;--line: #c9ddd5;--brand: #0f8c6b;--brand-dark: #09644d;--ghost: #e9f4f0;--warn: #b26908;--ok: #0b8e59;--danger: #b13e3e;font-family:Avenir Next,Futura,Trebuchet MS,sans-serif;color:var(--ink);text-rendering:optimizeLegibility;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(1400px 520px at 120% -10%,rgba(22,154,118,.2),transparent 60%),radial-gradient(900px 420px at -20% 100%,rgba(233,150,98,.2),transparent 58%),linear-gradient(170deg,var(--bg-top),var(--bg-bottom))}h1,h2,h3,p{margin:0}button,input,textarea,select{font:inherit}.screen{min-height:100vh;padding:14px}.screen.centered{display:grid;place-items:center}.shell{max-width:1080px;margin:0 auto;display:grid;gap:12px;animation:rise-in .36s ease both}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fffffff5,#e9f9f3f2);padding:16px;box-shadow:0 16px 42px #1f4c3f1f}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#0f6f56;background:#daf3ea;margin-bottom:8px}h1{font-size:clamp(24px,3.2vw,34px);line-height:1.12}.subtitle{margin-top:8px;color:var(--muted);line-height:1.4}.heroMeta{min-width:170px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#ffffffe0}.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tabs button{border:1px solid var(--line);border-radius:12px;padding:10px 8px;background:#ffffffbf;color:var(--ink);font-weight:700;cursor:pointer}.tabs button.active{border-color:transparent;background:linear-gradient(140deg,var(--brand),#29ab83);color:#fff}.statusLine{border:1px solid #9cd5c5;background:#edf8f4;color:#0e5f4a;border-radius:12px;padding:10px 12px;font-size:14px}.card{border:1px solid var(--line);border-radius:18px;background:#fffffff5;box-shadow:0 10px 30px #133d311a;padding:14px}.card.wide{max-width:700px}.blocked{text-align:center}.reveal{animation:card-fade .24s ease both}@keyframes card-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.sectionHead h2{font-size:clamp(18px,2.1vw,24px)}.switcher{display:inline-flex;gap:6px;background:#eaf4ef;border-radius:11px;padding:4px}.switcher button{border:0;border-radius:9px;padding:7px 10px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.switcher button.active{background:#fff;color:var(--ink);box-shadow:0 4px 12px #193e321f}.candidateCard{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:12px}.photoWrap{position:relative;border-radius:15px;overflow:hidden;border:1px solid var(--line);min-height:270px;background:#dbeee7}.photoWrap img{width:100%;height:100%;object-fit:cover;display:block}.photoFallback{min-height:270px;display:grid;place-items:center;color:#2b5a4d;font-weight:700}.photoNav{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#101c188f;color:#fff;border-radius:11px;padding:5px 8px}.photoNav button{border:0;border-radius:8px;padding:6px 8px;background:#ffffff38;color:#fff;cursor:pointer}.photoNav button:disabled{opacity:.45;cursor:default}.candidateBody{display:grid;align-content:start;gap:10px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{border-radius:999px;border:1px solid var(--line);padding:4px 10px;font-size:13px;background:#f6fcfa}.tags span.highlight{border-color:#89d7be;background:#e4f8f0;color:#0d654d}.matchesList{display:grid;gap:10px}.matchRow{border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;justify-content:space-between;gap:10px;background:#fbfefd}.matchMeta{display:grid;gap:5px}.preview{font-weight:600}.small{font-size:12px;color:var(--muted)}.chatActions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chatBox{max-height:min(56vh,520px);overflow:auto;border:1px solid var(--line);border-radius:14px;padding:10px;background:linear-gradient(180deg,#edfcf5a6,#fffffff2),repeating-linear-gradient(135deg,rgba(15,140,107,.04) 0 8px,transparent 8px 16px);display:grid;gap:8px}.bubble{max-width:min(88%,720px);border-radius:14px;padding:9px 10px;display:grid;gap:5px;border:1px solid transparent}.bubble.mine{margin-left:auto;background:#e0f7ef;border-color:#96d8c2}.bubble.theirs{margin-right:auto;background:#fff;border-color:#d6e7df}.bubble span{font-size:11px;color:var(--muted)}.composer{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:8px}input,textarea,select{width:100%;border:1px solid #bed5cb;border-radius:11px;padding:10px 11px;background:#fff;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid rgba(15,140,107,.25);border-color:#6ec7aa}.profileGrid{display:grid;gap:10px}.profileGrid label{display:grid;gap:6px;font-weight:600}.geoRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:8px;align-items:end}.check{display:flex!important;gap:8px;align-items:center;font-weight:600}.check input{width:auto;margin:0}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.actions.compact{margin-top:0;align-items:center}button{border:1px solid transparent;border-radius:11px;padding:10px 13px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}button:hover{background:var(--brand-dark)}button.ghost{background:var(--ghost);color:var(--ink);border-color:#c5dbd2}button.ghost:hover{background:#d6ece5}button:disabled{opacity:.6;cursor:default}.muted{color:var(--muted)}.ok{color:var(--ok);font-weight:700}.warn{color:var(--warn);font-weight:700}@media(max-width:920px){.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.candidateCard{grid-template-columns:1fr}.hero{flex-direction:column}.heroMeta{width:100%}.geoRow{grid-template-columns:1fr}}@media(max-width:640px){.screen{padding:10px}.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.sectionHead{flex-direction:column;align-items:flex-start}.composer{grid-template-columns:1fr}}
