.appointment-overlay{position:fixed;inset:0;z-index:100;background:rgba(9,19,15,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:.25s}.appointment-overlay.open{opacity:1;visibility:visible}.appointment-panel{width:min(920px,100%);max-height:92vh;overflow:auto;background:var(--sand);border-radius:28px;box-shadow:0 34px 90px rgba(0,0,0,.34);transform:translateY(18px);transition:.25s}.appointment-overlay.open .appointment-panel{transform:none}.appointment-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:22px 26px;background:rgba(238,233,227,.96);border-bottom:1px solid rgba(31,58,52,.1);backdrop-filter:blur(12px)}.appointment-head h2{font-size:1.35rem}.appointment-close{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--deep);font-size:1.5rem;cursor:pointer}.appointment-body{padding:28px}.professional-lock{display:flex;align-items:center;gap:15px;padding:18px;border-radius:18px;background:linear-gradient(135deg,var(--moss),var(--deep));color:#fff;margin-bottom:22px}.professional-lock img{width:48px;height:48px;object-fit:contain;filter:brightness(0) invert(1)}.professional-lock small{display:block;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.11em}.professional-lock strong{font-size:1.05rem}.appointment-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:700;color:var(--moss)}.field input,.field select,.field textarea{width:100%;border:1px solid #D9D4CD;border-radius:13px;background:#fff;padding:13px 14px;color:var(--deep);outline:0}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,162,106,.13)}.consent{display:flex!important;align-items:flex-start;gap:10px;background:#fff;padding:15px;border-radius:13px}.consent input{width:18px;height:18px;margin-top:2px}.form-error{display:none;color:#991B1B;background:#FEF2F2;border:1px solid #FECACA;padding:12px 14px;border-radius:12px;margin-bottom:14px;font-size:.84rem}.form-error.show{display:block}.submit-appointment{width:100%;border:0;margin-top:18px;cursor:pointer}.cep-note{font-size:.7rem;color:var(--sage)}@media(max-width:650px){.appointment-overlay{padding:0}.appointment-panel{max-height:100vh;height:100%;border-radius:0}.appointment-body{padding:20px}.appointment-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
