/* Ágil Connect — laranja principal; logotipo oficial, sem recriação. */
:root{
  --brand-orange:#ff6900;--orange-dark:#e45700;--orange-light:#fff1e6;
  --brand-green:#00a651;--graphite:#1f2937;--graphite-dark:#111827;
  --bg:#f7f8fa;--white:#fff;--text:#1f2937;--muted:#64748b;
  --border:#e5e7eb;--radius:20px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}
h1,h2,h3,p{margin-top:0}.hidden{display:none!important}
.shell{max-width:1180px;margin:auto;padding:20px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin:5px 0 27px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:122px;height:54px;object-fit:contain;flex:none}
.brand-caption{border-left:1px solid #e5e7eb;padding-left:13px;display:flex;flex-direction:column;gap:3px}
.brand-caption strong{font-size:18px;letter-spacing:2px;color:var(--brand-orange);font-weight:850}
.brand-caption small{color:var(--muted);font-size:11px}
.topactions{display:flex;gap:12px;align-items:center}
.demo{font-size:12px;color:#704500;background:#fff0cb;border:1px solid #f8db8b;padding:7px 11px;border-radius:12px}
.iconbutton{border:0;background:#fff1e6;color:var(--brand-orange);padding:9px 16px;border-radius:11px;font-weight:700}
.notice{background:#fff3e5;border:1px solid #ffd3a8;padding:12px 16px;border-radius:12px;margin:12px 0}
.panel,.card{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 7px 28px #1118270a}
.auth{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;min-height:580px}
.auth-copy{background:radial-gradient(circle at 85% 15%,#ffad6e 0%,transparent 34%),linear-gradient(142deg,var(--brand-orange),var(--orange-dark));color:white;padding:55px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-copy:after{content:"";position:absolute;width:320px;height:320px;border:50px solid #ffffff08;border-radius:50%;bottom:-155px;left:-150px;pointer-events:none}
.auth-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:30px;z-index:1}
.auth-brand img{width:190px;height:95px;object-fit:contain;background:white;border-radius:17px;padding:10px 13px;box-shadow:0 12px 30px #0002}
.auth-brand span{font-size:11px;font-weight:800;letter-spacing:2.2px;color:#fff5ed}
.auth-copy h1{font-size:clamp(30px,4.5vw,48px);line-height:1.14;letter-spacing:-1.8px;position:relative}
.auth-copy p{opacity:.87;font-size:17px;line-height:1.7;position:relative}
.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:800;color:#fff5ed}
.benefits{display:flex;flex-direction:column;gap:18px;margin-top:30px;font-size:14px;position:relative}
.benefits span::first-letter{color:#75e6a8}
.auth-form{padding:36px 45px;align-self:center;width:100%}
.switcher{background:#fff2e8;display:flex;border-radius:12px;padding:5px;margin-bottom:28px}
.switcher button{flex:1;padding:12px 5px;border:0;background:transparent;border-radius:9px;color:#5e6370;font-weight:700}
.switcher .active{background:white;color:var(--brand-orange);box-shadow:0 2px 10px #11182715}
.form{display:flex;flex-direction:column;gap:13px}
.form label,.contract-control label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}
.form input,.form select,.form textarea,.chat-form input,.contract-control select{border:1px solid #d1d5db;padding:12px 13px;border-radius:10px;min-width:0;outline:none;background:white;color:var(--text)}
.form input:focus,.form select:focus,.form textarea:focus,.chat-form input:focus,.contract-control select:focus{border-color:var(--brand-orange);box-shadow:0 0 0 3px #ff690022}
.double{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.primary,.secondary{padding:13px 18px;border-radius:11px;font-weight:750;border:1px solid var(--brand-orange);transition:background .16s ease,transform .16s ease}
.primary{background:var(--brand-orange);color:white}
.primary:hover{background:var(--orange-dark)}
.secondary{background:white;color:var(--brand-orange);border-color:var(--brand-orange)}
.secondary:hover{background:var(--orange-light)}
button:focus-visible,a:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px}
button:disabled{opacity:.6;cursor:not-allowed}
.muted,.auth-form .muted{color:var(--muted);font-size:13px;line-height:1.6}
.demohelp{font-size:12px;background:#fff2e8;padding:10px;border-radius:10px}
.welcome{display:flex;justify-content:space-between;align-items:center;margin:16px 0 23px}
.welcome h1{font-size:30px;margin:7px 0}.welcome p{color:var(--muted);margin:0}
.pill,.status{padding:9px 13px;border-radius:30px;background:#e3f8eb;color:#086b37;font-size:12px;font-weight:800;white-space:nowrap}
.nav{display:flex;gap:6px;border-bottom:1px solid var(--border);overflow-x:auto}
.nav button{background:none;border:0;color:var(--muted);padding:14px 14px;font-weight:700;white-space:nowrap}
.nav button:hover{color:var(--brand-orange)}
.nav button.selected{border-bottom:3px solid var(--brand-orange);color:var(--brand-orange)}
.content{margin:20px 0 45px}
.contract-control{display:flex;justify-content:flex-end;margin-bottom:14px}.contract-control select{min-width:180px}
.hero{background:linear-gradient(118deg,var(--brand-orange),var(--orange-dark));color:white;padding:36px;display:grid;grid-template-columns:2fr 1fr;gap:20px;position:relative;overflow:hidden}
.hero:after{content:"";width:210px;height:210px;border:33px solid #ffffff0b;position:absolute;right:-85px;bottom:-100px;border-radius:50%;pointer-events:none}
.hero .muted{color:#fff2ea;letter-spacing:1.7px;font-size:11px;font-weight:700}
.hero h2{font-size:31px;margin:14px 0}.hero .status{background:var(--brand-green);color:white;display:inline-block}.hero small{color:#fff2ea}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:18px 0}
.shortcut{text-align:left;display:flex;flex-direction:column;gap:13px;padding:26px;border:1px solid var(--border);color:var(--text)}
.shortcut:hover{border-color:#ffb174;box-shadow:0 10px 28px #ff690016}
.shortcuticon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff2e8;color:var(--brand-orange);font-size:24px}
.shortcut strong{font-size:19px}.shortcut small{color:var(--muted)}.shortcut b{color:var(--brand-orange);font-size:13px}
.section{padding:30px;max-width:900px}.section h2{font-size:25px}.section p{color:var(--muted);line-height:1.6}
.results{margin-top:22px;display:grid;gap:12px}
.data-row{border:1px solid var(--border);background:#f9fafb;padding:13px 15px;border-radius:11px;display:flex;justify-content:space-between;gap:18px}
.data-row strong{text-align:right}
.chat{min-height:210px;max-height:360px;overflow-y:auto;background:#fff8f2;padding:17px;border-radius:14px;display:flex;gap:12px;flex-direction:column}
.bubble{max-width:86%;padding:11px 15px;border-radius:15px;line-height:1.6;font-size:14px}
.bot{background:white;align-self:flex-start;border:1px solid #f5dcc7}.human{background:#e3f8eb;align-self:flex-end}
.chat-form{display:flex;gap:9px;margin:14px 0}.chat-form input{flex:1}
.check{display:flex;gap:12px;align-items:center;padding:18px 0;accent-color:var(--brand-orange)}
footer{text-align:center;color:#6b7280;font-size:12px;padding:25px}
@media(max-width:780px){
  .shell{padding:12px}.topbar{margin:5px 0 18px}.brand-logo{width:93px;height:45px}.brand-caption{padding-left:9px}.brand-caption strong{font-size:14px}.brand-caption small{font-size:9px}
  .auth{grid-template-columns:1fr}.auth-copy{padding:25px;min-height:180px}.auth-brand{margin-bottom:15px}.auth-brand img{width:140px;height:64px}
  .auth-copy h1{font-size:28px;margin-bottom:10px}.auth-copy p{font-size:13px}.benefits{display:none}
  .auth-form{padding:25px 20px}.welcome h1{font-size:23px}.welcome .pill{display:none}
  .hero{grid-template-columns:1fr;padding:24px}.hero h2{font-size:24px}.cards{grid-template-columns:1fr}.shortcut{padding:18px}
  .section{padding:19px}.demo{font-size:10px}.double{grid-template-columns:1fr}.chat-form{flex-wrap:wrap}.chat-form input{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Public banners and notices managed from /admin */
.published-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:13px;margin:16px 0}
.public-promo{padding:20px;background:#fff9f3;border:1px solid #ffd4b6;border-radius:16px}
.public-promo h3{color:#af4100;font-size:18px;margin:0 0 7px}.public-promo p{font-size:14px;color:#444}
.promo-cta{color:#d15300;font-weight:700;text-decoration:none}

/* Layout aprovado: logo oficial única e centralizada na entrada; nenhuma alteração de slogans. */
.auth-brand{align-items:center;text-align:center;width:100%;margin-bottom:30px}
.auth-brand img{width:220px;height:110px;max-width:100%;object-fit:contain}
.auth-copy>.eyebrow,.auth-copy>h1{text-align:center}
@media(max-width:780px){.auth-brand{align-items:center}.auth-brand img{width:170px;height:82px}.auth-copy>.eyebrow,.auth-copy>h1{text-align:center}}
/* Formulário de adesão: sidebar equilibrada, não acompanha a altura inteira do cadastro */
.auth.lead-mode {
  grid-template-columns:minmax(290px,36%) minmax(0,64%);
  align-items:start;
  overflow:visible;
  min-height:0;
}
.auth.lead-mode .auth-copy{
  position:sticky;
  top:18px;
  min-height:min(680px,calc(100vh - 36px));
  height:auto;
  justify-content:center;
  align-self:start;
  padding:clamp(24px,3vw,44px) clamp(18px,3vw,36px);
  border-radius:19px 0 0 19px;
}
.auth.lead-mode .auth-copy h1{font-size:clamp(28px,3vw,41px);letter-spacing:-1.3px;}
.auth.lead-mode .auth-copy .benefits{margin-top:22px;gap:13px}
.auth.lead-mode .auth-copy .auth-brand{margin-bottom:24px}
.auth.lead-mode .auth-copy .auth-brand img{width:190px;height:94px}
.auth.lead-mode .auth-form{align-self:start;padding:28px clamp(22px,3.1vw,46px) 38px;}
.auth.lead-mode .form{gap:16px}
.auth.lead-mode .form label{font-size:13px;gap:6px}
.auth.lead-mode .form input,.auth.lead-mode .form select,.auth.lead-mode .form textarea{
  width:100%;min-height:46px;
}
.auth.lead-mode #lead-form h2{margin-bottom:4px;font-size:23px}
.auth.lead-mode .person-fields{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.auth.lead-mode .address-city{grid-template-columns:minmax(0,3fr) minmax(75px,1fr)}
.cep-search{display:flex;align-items:end;gap:12px}
.cep-search label{flex:1}
.cep-search button{min-height:46px;white-space:nowrap}
.field-feedback{display:block;font-size:12px;font-weight:500;color:#64748b;line-height:1.45;min-height:17px}
.field-feedback.is-error{color:#ae2424}
.field-feedback.is-success{color:#17693c}
.field-note{font-size:12px;line-height:1.5;color:#64748b;margin:-2px 0 5px}
.auth.lead-mode .check{display:flex;flex-direction:row!important;align-items:start;gap:10px;padding:9px 0;font-weight:500;line-height:1.55}
.auth.lead-mode .check input[type="checkbox"]{width:19px;min-width:19px;height:19px;min-height:19px;margin:2px 0;accent-color:var(--brand-orange)}
.auth.lead-mode #lead-plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.auth.lead-mode #lead-plan-cards .plan-choice{
  padding:12px;border:1px solid #f0c9ad;border-radius:12px;background:#fffbf7;
  color:#6a3416;box-shadow:none;text-align:left;font-size:13px;font-weight:700;min-height:46px;
}
.auth.lead-mode #lead-plan-cards .plan-choice.selected{
  border:2px solid var(--brand-orange);background:#fff1e6;color:#9d3700;
}
.auth.lead-mode .switcher{margin-bottom:18px}
@media (max-width:960px) and (min-width:781px){
 .auth.lead-mode{grid-template-columns:minmax(230px,35%) minmax(0,65%)}
 .auth.lead-mode .auth-copy{padding:22px}
 .auth.lead-mode .auth-copy h1{font-size:29px}
 .auth.lead-mode .auth-form{padding:24px 20px}
}
@media(max-width:780px){
 .auth.lead-mode{grid-template-columns:minmax(0,1fr);overflow:hidden}
 .auth.lead-mode .auth-copy{position:relative;top:auto;min-height:155px;padding:19px 20px;border-radius:19px 19px 0 0}
 .auth.lead-mode .auth-brand{margin-bottom:10px}
 .auth.lead-mode .auth-brand img{width:132px;height:66px}
 .auth.lead-mode .auth-copy h1{font-size:22px;letter-spacing:-.6px}
 .auth.lead-mode .auth-copy .benefits,.auth.lead-mode .auth-copy p{display:none}
 .auth.lead-mode .auth-form{padding:20px 16px 26px}
 .auth.lead-mode .person-fields,.auth.lead-mode .address-city{grid-template-columns:1fr}
 .auth.lead-mode #lead-plan-cards{grid-template-columns:1fr 1fr}
 .cep-search{align-items:stretch;flex-direction:column;gap:9px}
}
@media(max-width:390px){
 .auth.lead-mode #lead-plan-cards{grid-template-columns:1fr}
}


/* Escolha de plano: um único seletor em destaque e resumo após seleção */
.plan-selector-block{padding:16px 18px 18px;border:1px solid #f1c7a4;
  border-radius:17px;background:linear-gradient(125deg,#fff7ee 0%,#fffdfa 88%);
  box-shadow:0 8px 25px #c85c0010;display:flex;flex-direction:column;gap:10px}
.plan-selector-title{display:block;font-size:17px!important;font-weight:850!important;
  letter-spacing:-.25px;color:#813100}
.plan-select-shell{position:relative}
.plan-select-shell:after{content:"";position:absolute;right:19px;top:50%;pointer-events:none;
  width:10px;height:10px;border-right:2px solid #f26b06;border-bottom:2px solid #f26b06;
  transform:translateY(-66%) rotate(45deg)}
#lead-plan-select{
  appearance:none;-webkit-appearance:none;width:100%;border:2px solid #fa750f!important;
  background:#fff!important;min-height:62px!important;border-radius:13px!important;
  padding:16px 55px 16px 18px!important;font-size:17px!important;font-weight:760!important;
  color:#273345;box-shadow:0 4px 14px #fa750014!important;cursor:pointer}
#lead-plan-select:focus{outline:3px solid #f99a504a;outline-offset:2px}
#lead-plan-select.chosen{color:#9c3f03}
.plan-helper{color:#805942;font-size:12px;line-height:1.5;margin:0}
.plan-summary{display:grid;grid-template-columns:1fr auto;align-items:center;
  gap:4px 14px;background:#fff;border:1px solid #ffd3ad;border-radius:12px;
  padding:13px 16px}
.plan-summary[hidden]{display:none!important}
.plan-summary>span:first-child{grid-column:1 / -1;color:#7e5f4a;font-size:10px;
  font-weight:850;letter-spacing:1px}
.plan-summary strong{font-size:17px;color:#743000}
#selected-plan-price{font-size:16px;font-weight:800;color:#ce5100;white-space:nowrap}
#person-lookup-note a{color:#b64700;font-weight:750;text-decoration:underline}
@media(max-width:780px){
  .plan-selector-block{padding:13px;gap:9px}
  #lead-plan-select{min-height:55px!important;font-size:15px!important}
  .plan-summary{grid-template-columns:1fr}
}

/* CEP automático, sem botão visível; cidade/UF só se a busca precisar de ajuste manual */
#lead-city-region[hidden],#lookup-cep[hidden]{display:none!important}
#lead-form .cep-search{display:block}
#lead-form .cep-search>label{width:100%}


/* Feedback do pré-cadastro no contexto do formulário, não no topo da página. */
.lead-confirmation{
  width:100%;max-width:540px;margin:4px auto 22px;padding:clamp(22px,3vw,36px);
  background:#fff;border:1px solid #bde9cc;border-radius:20px;
  box-shadow:0 16px 50px #153e2514;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:13px;overflow-wrap:anywhere;
}
.lead-confirmation.hidden{display:none!important}
.lead-confirmation:focus{outline:none}
.lead-success-icon{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;
  background:#e5f8ec;color:#14733d;font-size:36px;font-weight:850}
.lead-success-eyebrow{font-size:11px;font-weight:850;letter-spacing:1.5px;color:#187442}
.lead-confirmation h2{font-size:clamp(23px,2.4vw,30px);line-height:1.17;margin:0;color:#143d27}
.lead-success-description{line-height:1.65;color:#475569;margin:0;font-size:15px}
.lead-protocol{width:100%;border-radius:15px;border:1px dashed #93c7a6;background:#f5fbf7;
  padding:17px 12px;display:flex;flex-direction:column;align-items:center;gap:10px}
.lead-protocol>span{font-size:11px;font-weight:850;letter-spacing:1.2px;color:#3b6f4c}
.lead-protocol strong{font-size:clamp(18px,2vw,24px);letter-spacing:.7px;color:#204a31;
  font-variant-numeric:tabular-nums;user-select:all;overflow-wrap:anywhere}
.lead-copy-button{background:#fff;border:1px solid #91bea1;border-radius:10px;
  padding:10px 17px;color:#215b36;font-weight:750;cursor:pointer}
.lead-copy-button:hover{background:#e7f5ec}
#lead-copy-feedback{font-size:12px;color:#176337;min-height:16px}
.lead-keep-protocol{font-size:13px;line-height:1.5;color:#64748b;margin:0}
#lead-new-request{width:100%;max-width:300px;margin-top:3px}
.lead-submit-error{border:1px solid #f5b4b4;border-radius:12px;padding:13px 15px;
  color:#9f2222;background:#fff0f0;font-size:14px;line-height:1.5}
@media(max-width:780px){
 .lead-confirmation{padding:22px 17px;margin-bottom:8px}
 .lead-success-description{font-size:14px}
}
