
:root{--wa:#075e54;--wa2:#128c7e;--bg:#efeae2;--ink:#111b21;--muted:#667781;--incoming:#fff;--outgoing:#d9fdd3}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#dfe5e7;color:var(--ink)}
button,input{font:inherit}button{cursor:pointer}
.candidate-stage{min-height:100vh;display:grid;place-items:center;padding:14px}
.wa-shell{width:min(440px,100%);height:min(850px,calc(100vh - 28px));min-height:620px;background:var(--bg);border-radius:16px;box-shadow:0 12px 42px rgba(0,0,0,.18);overflow:hidden;display:flex;flex-direction:column;position:relative}
.wa-header{height:64px;background:var(--wa);color:#fff;display:flex;align-items:center;padding:0 12px;gap:10px;flex:0 0 auto}
.wa-avatar{width:42px;height:42px;border-radius:50%;background:#d9e5e2;color:#075e54;display:grid;place-items:center;font-size:19px;font-weight:800}
.wa-contact{display:flex;flex-direction:column;flex:1}.wa-contact strong{font-size:15px}.wa-contact span{font-size:10px;opacity:.84;margin-top:2px}.wa-icons{display:flex;gap:18px;font-size:20px}
.wa-encryption{font-size:9px;color:#667781;text-align:center;padding:7px 12px;background:#fff7c8;margin:8px auto 0;border-radius:6px;max-width:90%}
.wa-chat{flex:1;overflow:auto;padding:12px 10px 18px;background-color:#efeae2;background-image:radial-gradient(rgba(70,80,70,.045) 1px,transparent 1px);background-size:17px 17px}
.day-label{width:max-content;margin:7px auto 12px;background:#fff;border-radius:7px;padding:5px 9px;font-size:9px;color:#667781;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.msg-row{display:flex;margin:3px 0 8px}.msg-row.out{justify-content:flex-end}
.bubble{max-width:86%;padding:7px 8px 5px;border-radius:8px;box-shadow:0 1px 1px rgba(0,0,0,.08);font-size:12.5px;line-height:1.42;white-space:pre-wrap;position:relative}
.in .bubble{background:#fff;border-top-left-radius:2px}.out .bubble{background:#d9fdd3;border-top-right-radius:2px}
.bubble .meta{float:right;margin:7px 0 -2px 10px;color:#667781;font-size:8px;white-space:nowrap}
.quick-replies{display:flex;flex-wrap:wrap;gap:6px;margin:4px 4px 11px 38px}
.quick-replies button{border:1px solid #a7d8cc;color:#076d5c;background:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:700}
.vac-card{background:#fff;border-left:4px solid #25d366;border-radius:7px;padding:8px 9px;margin:5px 0 7px;white-space:normal}.vac-card strong{display:block;color:#075e54;font-size:12px;margin-bottom:3px}.vac-card span{font-size:10px;color:#5e6870}
.typing{position:absolute;left:13px;bottom:57px;background:#fff;border-radius:10px;padding:10px 12px;display:flex;gap:4px;box-shadow:0 1px 2px rgba(0,0,0,.1)}.typing span{width:5px;height:5px;border-radius:50%;background:#859097;animation:blink 1.1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.hidden{display:none!important}
@keyframes blink{0%,70%,100%{opacity:.25}35%{opacity:1}}
.wa-compose{height:54px;background:#f0f2f5;padding:6px 7px;display:flex;align-items:center;gap:7px;flex:0 0 auto}.round{border:0;background:transparent;font-size:20px;color:#667781}
.input-wrap{height:42px;flex:1;background:#fff;border-radius:22px;display:flex;align-items:center;padding:0 7px 0 13px}.input-wrap input{border:0;outline:0;flex:1;min-width:0;font-size:13px}.clip{font-size:19px;color:#667781;padding:5px;cursor:pointer}.send{width:42px;height:42px;border-radius:50%;border:0;background:var(--wa2);color:#fff;font-size:17px}
.fatal{margin:40px 18px;background:#fff0f0;border:1px solid #efb4b4;padding:16px;border-radius:10px;color:#922}
@media(max-width:600px){.candidate-stage{padding:0}.wa-shell{width:100%;height:100vh;min-height:0;border-radius:0;box-shadow:none}}
