.geo-appointment-code { display:flex; gap:12px; align-items:center; }
.geo-appointment-code input { flex:1; min-width:0; }
.geo-appointment-code button { flex-shrink:0; font-size:13px; padding:14px 18px; }
#frm-appointment .geo-appointment-code button { width:auto; flex:0 0 auto; }
.geo-appointment-status { margin:0; min-height:1.6em; color:#934227; font-size:14px; }
#frm-appointment button:disabled { opacity:.55; cursor:wait; }
.geo-appointment-success { max-width:520px; width:calc(100% - 40px); padding:42px 32px; border:1px solid #d8cabc; border-radius:12px; background:#fffaf4; color:#28201c; box-shadow:0 24px 90px #0005; text-align:center; }
.geo-appointment-success::backdrop { background:#17110ccc; }
.geo-appointment-success h2 { font-size:28px; margin:0 0 20px; }
.geo-appointment-success p { line-height:1.8; }
.geo-appointment-success small { display:block; margin:16px 0 24px; color:#716458; }
.geo-appointment-success a:focus-visible { outline:3px solid #9a7048; outline-offset:5px; }
@media(max-width:480px) { .geo-appointment-code { gap:8px; } .geo-appointment-code button { padding:12px; } .geo-appointment-success { padding:32px 22px; } }
