:root{--tinta:#14202B;--papel:#EEF1F4;--folha:#fff;--lacre:#7A1F2B;--latao:#B08D3C;--ok:#2F7D5B;--alerta:#C2410C;--cinza:#5B6875;--linha:#D5DCE3;
  --display:'Young Serif',Georgia,serif;--texto:'Familjen Grotesk','Segoe UI',sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--tinta);font:16px/1.55 var(--texto)}
:focus-visible{outline:3px solid var(--latao);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding:36px 20px 60px;display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start}
.lado{background:var(--tinta);color:#E7ECF1;padding:28px 26px;position:sticky;top:20px}
.lado small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--latao)}
.lado h1{font:400 30px/1.15 var(--display);margin:10px 0 14px;color:#fff}
.lado ul{list-style:none;padding:0;margin:18px 0 0;font-size:15px}
.lado li{padding:9px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:10px}
.lado li b{color:#fff;font-weight:600}
.lado .escolha{margin-top:18px;padding:14px;background:rgba(255,255,255,.07);border-left:3px solid var(--latao);min-height:52px}
.form{background:var(--folha);border:1px solid var(--linha);padding:30px 32px}
fieldset{border:0;margin:0 0 26px;padding:0}
legend{font:400 22px var(--display);margin-bottom:12px;padding:0}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 5px}
label span{font-weight:400;color:var(--cinza)}
input,select,textarea{width:100%;font:16px var(--texto);padding:11px 13px;border:1px solid #b9c3cd;border-radius:6px;background:#fff;color:var(--tinta)}
input:focus,select:focus,textarea:focus{border-color:var(--tinta);outline:2px solid rgba(20,32,43,.15)}
textarea{min-height:120px;resize:vertical}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.dica{font-size:13px;color:var(--cinza);margin-top:4px}
.dica.ruim{color:var(--alerta)}.dica.boa{color:var(--ok)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}
.cal .sem{font-size:12px;color:var(--cinza);text-align:center;padding-bottom:2px}
.cal button{aspect-ratio:1;border:1px solid var(--linha);background:#f7f9fb;border-radius:6px;font:600 15px var(--texto);color:#a3adb8;cursor:not-allowed}
.cal button.livre{background:#fff;color:var(--tinta);border-color:#b9c3cd;cursor:pointer}
.cal button.livre:hover{border-color:var(--tinta)}
.cal button.sel{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.horas{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.horas button{border:1px solid #b9c3cd;background:#fff;border-radius:6px;padding:9px 14px;font:600 15px var(--texto);cursor:pointer;color:var(--tinta)}
.horas button.sel{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.vazio{color:var(--cinza);font-size:14px;margin-top:10px}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:0 0 18px}
.consent input{width:auto;margin-top:4px}
.enviar{width:100%;background:var(--lacre);color:#fff;border:0;border-radius:6px;padding:15px;font:600 17px var(--texto);cursor:pointer}
.enviar:disabled{opacity:.55;cursor:not-allowed}
.erros{border-left:4px solid var(--alerta);background:#fff4ed;padding:12px 16px;margin-bottom:18px}
.erros p{margin:4px 0}
.hp{position:absolute;left:-5000px}
.ok{max-width:640px;margin:50px auto;background:var(--folha);border:1px solid var(--linha);border-top:6px solid var(--ok);padding:34px}
.ok.espera{border-top-color:var(--latao)}
.ok.ruim{border-top-color:var(--alerta)}
.ok h1{font:400 30px var(--display);margin:0 0 10px}
.ok table{margin:14px 0;border-collapse:collapse}
.ok td{padding:4px 14px 4px 0}
.ok td:first-child{color:var(--cinza)}
.ok .meet{display:block;margin:18px 0;padding:14px 16px;background:#e8f0fe;border-radius:8px;color:#1a56c4;font-weight:600;word-break:break-all;text-decoration:none}
.ok .acoes a{display:inline-block;margin:6px 8px 0 0;padding:10px 16px;border:1px solid var(--tinta);border-radius:6px;color:var(--tinta);text-decoration:none;font-weight:600}
@media (max-width:820px){.wrap{grid-template-columns:1fr}.lado{position:static}.duas{grid-template-columns:1fr}.form{padding:22px 18px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
