:root {
  --blue:#1a8dc7;
  --blue2:#1278aa;
  --sky:#e8f5fc;
  --orange:#efa12f;
  --orange2:#d98e1f;
  --navy:#1a2e44;
  --muted:#5a6e82;
  --line:#cce5f4;
  --soft:#f0f7fd;
  --card:#fff;
  --danger:#dc2626;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;font-family:'Urbanist',system-ui,sans-serif;}
body{min-height:100vh;background:linear-gradient(150deg,#f7fbfe 0%,#fff 46%,#fff8ed 100%);color:var(--navy);-webkit-font-smoothing:antialiased;}
a{color:inherit;}

.form-topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:14px 40px;background:rgba(255,255,255,.82);border-bottom:1px solid rgba(204,229,244,.75);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;}
.form-brand img{height:50px;width:auto;display:block;}
.back-link{font-size:14px;font-weight:800;color:var(--blue);text-decoration:none;border:1.5px solid var(--line);border-radius:999px;padding:10px 16px;background:#fff;transition:background .18s,border-color .18s,transform .18s;}
.back-link:hover{background:var(--sky);border-color:var(--blue);transform:translateY(-1px);}

.match-shell{max-width:1180px;margin:0 auto;padding:48px 20px 28px;display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:28px;align-items:stretch;}
.match-hero{background:linear-gradient(145deg,var(--blue2),var(--blue));border-radius:18px;padding:34px 30px;color:#fff;position:relative;overflow:hidden;box-shadow:0 20px 54px rgba(26,141,199,.24);min-height:620px;display:flex;flex-direction:column;justify-content:space-between;}
.match-hero::before{content:'';position:absolute;inset:auto -90px -120px auto;width:320px;height:320px;background:radial-gradient(circle,rgba(239,161,47,.42),transparent 68%);pointer-events:none;}
.match-hero::after{content:'';position:absolute;top:-120px;left:-90px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.24),transparent 65%);pointer-events:none;}
.match-kicker{position:relative;z-index:1;display:inline-flex;width:max-content;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:7px 13px;font-size:12px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;}
.match-hero h1{position:relative;z-index:1;font-size:42px;font-weight:900;letter-spacing:-.8px;line-height:1.04;margin-top:28px;max-width:310px;}
.match-hero p{position:relative;z-index:1;font-size:17px;font-weight:500;line-height:1.65;margin-top:18px;opacity:.94;max-width:320px;}
.match-metrics{position:relative;z-index:1;display:grid;gap:12px;margin-top:34px;}
.match-metrics div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);border-radius:14px;padding:14px 16px;}
.match-metrics strong{display:block;font-size:21px;font-weight:900;letter-spacing:-.3px;}
.match-metrics span{display:block;font-size:13px;font-weight:600;opacity:.82;margin-top:2px;}

.chat-panel{background:rgba(255,255,255,.94);border:1.5px solid var(--line);border-radius:18px;box-shadow:0 22px 60px rgba(26,46,68,.12);min-height:620px;display:flex;flex-direction:column;overflow:hidden;}
.session-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid var(--line);background:#fff;}
.agent-chip{display:flex;align-items:center;gap:13px;min-width:0;}
.agent-avatar{width:48px;height:48px;border-radius:14px;background:var(--sky);border:1px solid #b9dff3;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.agent-avatar img{width:34px;height:34px;object-fit:contain;}
.agent-title{font-size:17px;line-height:1.15;white-space:nowrap;}
.agent-title strong{font-weight:900;color:var(--navy);}
.agent-title span{font-weight:700;color:var(--muted);}
.agent-subtitle{font-size:12px;font-weight:800;color:var(--blue);margin-top:5px;text-transform:uppercase;letter-spacing:.7px;}
.session-status{display:inline-flex;align-items:center;gap:7px;border:1px solid #bdebd0;background:#eefcf4;color:#167245;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap;}
.session-status span{width:8px;height:8px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 4px rgba(34,197,94,.14);}
.progress-wrap{height:5px;background:#edf7fc;}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--blue));transition:width .3s ease;}

.chat-window{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);}
.message{display:flex;align-items:flex-start;max-width:82%;animation:messageIn .24s ease both;}
.message.agent{align-self:flex-start;}
.message.user{align-self:flex-end;}
.bubble{border-radius:18px;padding:15px 17px;font-size:17px;font-weight:600;line-height:1.45;box-shadow:0 8px 22px rgba(26,46,68,.07);}
.agent .bubble{background:#fff;border:1px solid var(--line);color:#435569;border-top-left-radius:6px;}
.user .bubble{background:linear-gradient(135deg,var(--blue),#2aa8e0);color:#fff;border-top-right-radius:6px;}
.typing{display:inline-flex;gap:5px;align-items:center;padding:14px 17px;}
.typing span{width:7px;height:7px;background:#8ca3b4;border-radius:50%;animation:bounce 1s infinite ease-in-out;}
.typing span:nth-child(2){animation-delay:.12s;}
.typing span:nth-child(3){animation-delay:.24s;}
@keyframes bounce{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-5px);opacity:1}}
@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.choices{display:flex;flex-wrap:wrap;gap:10px;max-width:86%;}
.choice-btn{border:1.5px solid #b6d8ea;background:#fff;border-radius:12px;color:#123f5c;font-size:15px;font-weight:900;padding:12px 14px;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;}
.choice-btn:hover{background:var(--sky);border-color:var(--blue);transform:translateY(-1px);box-shadow:0 8px 18px rgba(26,141,199,.12);}
.choice-btn.selected{background:var(--blue);border-color:var(--blue);color:#fff;}

.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(720px,100%);}
.field{display:flex;flex-direction:column;gap:5px;}
.field label{font-size:12px;font-weight:900;color:var(--navy);text-transform:uppercase;letter-spacing:.6px;}
.field input{border:1.5px solid #b6d8ea;border-radius:12px;background:#fff;padding:13px 14px;font-size:16px;color:var(--navy);outline:none;}
.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,141,199,.13);}
.field-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important;}
.consent-box{width:min(760px,100%);border:1px solid #cfe2ef;border-radius:14px;background:#f8fcff;padding:14px 16px;font-size:12px;line-height:1.55;color:#596879;}
.consent-box a{font-weight:900;color:var(--blue);}
.consent-check{display:flex;align-items:flex-start;gap:10px;margin-top:12px;font-size:13px;font-weight:900;color:var(--navy);}
.consent-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--blue);}
.pii-submit{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;font-size:16px;font-weight:900;padding:14px 22px;cursor:pointer;box-shadow:0 8px 24px rgba(239,161,47,.35);width:max-content;}

.chat-input-row{margin:0 20px 20px;border:1.5px solid var(--line);border-radius:16px;display:flex;align-items:center;min-height:62px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(26,46,68,.07);}
.chat-input-row.is-disabled{opacity:.42;pointer-events:none;}
#chatInput{flex:1;border:none;outline:none;font-size:18px;font-weight:600;color:#2d3f50;padding:0 18px;min-width:0;}
#chatInput::placeholder{color:#a9b6c8;}
.send-btn{width:58px;height:58px;margin-right:3px;border:none;border-radius:14px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s,transform .18s;}
.send-btn svg{width:25px;height:25px;}
.send-btn:hover{background:var(--orange2);transform:translateY(-1px);}

.trust-disclaimer{max-width:1120px;margin:0 auto 42px;padding:0 20px;display:flex;gap:18px;align-items:flex-start;color:#555;}
.secure-badge{display:flex;align-items:center;gap:10px;min-width:186px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;}
.secure-badge img{width:38px;height:38px;}
.secure-badge strong{display:block;font-size:14px;color:#3f4a56;}
.secure-badge span{font-size:12px;color:#6b7280;}
.trust-disclaimer p{font-size:13px;line-height:1.55;padding-top:4px;}
.trust-disclaimer a{font-weight:900;color:#4b5563;}

@media(max-width:900px){
  .form-topbar{padding:14px 18px;}
  .match-shell{grid-template-columns:1fr;padding:24px 14px 22px;}
  .match-hero{min-height:auto;padding:26px 22px;}
  .match-hero h1{font-size:34px;max-width:none;}
  .match-hero p{max-width:none;}
  .match-metrics{grid-template-columns:repeat(3,1fr);}
  .chat-panel{min-height:620px;}
}

@media(max-width:620px){
  .form-brand img{height:44px;}
  .back-link{font-size:12px;padding:8px 10px;}
  .match-shell{padding-top:16px;}
  .match-hero{border-radius:14px;padding:20px 18px;}
  .match-kicker{font-size:10px;padding:6px 10px;}
  .match-hero h1{font-size:28px;margin-top:18px;}
  .match-hero p{font-size:15px;line-height:1.5;margin-top:12px;}
  .match-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;}
  .match-metrics div{padding:10px 8px;border-radius:11px;}
  .match-metrics strong{font-size:16px;}
  .match-metrics span{font-size:10px;line-height:1.25;}
  .session-top{align-items:flex-start;flex-direction:column;padding:16px;}
  .chat-panel{border-radius:14px;min-height:620px;}
  .chat-window{padding:18px 14px;}
  .message,.choices{max-width:100%;}
  .bubble{font-size:16px;padding:13px 15px;}
  .choice-btn{width:100%;text-align:left;}
  .field-grid{grid-template-columns:1fr;}
  .chat-input-row{margin:0 12px 14px;min-height:56px;}
  #chatInput{font-size:16px;padding:0 14px;}
  .send-btn{width:50px;height:50px;}
  .trust-disclaimer{flex-direction:column;margin-bottom:28px;padding:0 14px;}
}
