/* Otel Backhouse signing page ([hgi_sign]) */
.hgi-esign{--ink:#14151A;--red:#A6192E;--teal:#1F7A8C;--line:#E4E3E1;--bg:#F6F5F3;--card:#fff;--mut:#5b5d66;font-family:Inter,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);padding:16px 12px 150px;box-sizing:border-box}
.hgi-esign *{box-sizing:border-box}
.es-wrap{max-width:640px;margin:0 auto}.es-wrap.es-wide{max-width:920px}
.es-logo{display:block;width:170px;max-width:60%;height:auto;margin:0 0 14px}
.es-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 22px;box-shadow:0 10px 30px rgba(20,21,26,.06)}
.hgi-esign h1{font-size:22px;line-height:1.25;margin:0 0 4px;font-weight:800;color:var(--ink)}
.hgi-esign h2{font-size:19px;margin:0 0 12px;font-weight:800;color:var(--ink)}
.es-sub{margin:0 0 12px;color:var(--mut);font-size:15px;line-height:1.5}
.es-small{color:var(--mut);font-size:13px;margin:10px 0}
.es-load{text-align:center;color:var(--mut)}
.es-mark{width:54px;height:54px;border-radius:50%;background:var(--teal);color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 0 12px}
.es-mark.bad{background:#B3453B}
.es-msg{background:#E6F3F5;border-left:4px solid var(--teal);padding:10px 12px;border-radius:8px;margin:0 0 12px;font-size:14.5px;white-space:pre-wrap}
.es-err{background:#FDECEA;color:#8A1C14;border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:14px}
.es-pages{display:flex;flex-direction:column;gap:14px;align-items:center}
.es-page{position:relative;max-width:100%;background:#fff;box-shadow:0 2px 14px rgba(20,21,26,.16);border-radius:4px;overflow:hidden}
.es-page canvas{display:block}
.es-fld{position:absolute;margin:0;padding:0;border:2px dashed var(--red);background:rgba(166,25,46,.1);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;font:inherit;color:#8d1527;font-weight:700;font-size:clamp(9px,1.9vw,14px);line-height:1}
.es-fld.es-date{cursor:default}
.es-fld.done{border:2px solid var(--teal);background:rgba(31,122,140,.1);color:#14151A}
.es-fld img{max-width:100%;max-height:100%;object-fit:contain}
.es-fld .es-val{padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.es-fld .es-chk{font-size:clamp(12px,2.6vw,20px);font-weight:800}
.es-fld.pulse{animation:es-p .5s ease 3}
@keyframes es-p{50%{box-shadow:0 0 0 8px rgba(166,25,46,.28)}}
.es-bar{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(20,21,26,.12);z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.es-barin{max-width:920px;margin:0 auto}
.es-consent{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--ink);margin:0 0 8px}
.es-consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}
.es-barrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.es-prog{font-weight:700;font-size:14px;color:var(--teal);margin-right:auto}
.es-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:0;border-radius:10px;background:var(--red);color:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.es-btn:disabled{opacity:.45;cursor:not-allowed}.es-btn:not(:disabled):hover{background:#8d1527}
.es-danger{min-height:46px;padding:0 18px;border:0;border-radius:10px;background:#B3453B;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.es-link{background:none;border:0;padding:10px 6px;color:var(--ink);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.es-ov{position:fixed;inset:0;background:rgba(20,21,26,.55);z-index:100;display:flex;align-items:center;justify-content:center;padding:14px}
.es-dlg{background:var(--card,#fff);color:var(--ink,#14151A);border-radius:16px;padding:20px;width:100%;max-width:520px;max-height:92vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.35);font-family:Inter,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.es-dlg input[type=text],.es-dlg textarea{display:block;width:100%;padding:11px 12px;border:1px solid #cfcdc9;border-radius:10px;font:inherit;font-size:16px;color:inherit;background:transparent}
.es-dlg input:focus,.es-dlg textarea:focus{outline:none;border-color:var(--teal,#1F7A8C);box-shadow:0 0 0 3px rgba(31,122,140,.2)}
.es-dact{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:14px}
.es-tabs{display:flex;gap:6px;margin:0 0 12px}.es-tabs button{flex:1;min-height:42px;border:1px solid #cfcdc9;border-radius:10px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.es-tabs button.on{background:#1F7A8C;border-color:#1F7A8C;color:#fff}
.es-prev{margin-top:10px;min-height:90px;border:1px dashed #cfcdc9;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff;padding:8px}
.es-prev img{max-width:100%;max-height:100px}
#es-pad{width:100%;height:auto;aspect-ratio:900/260;border:1px dashed #cfcdc9;border-radius:10px;background:#fff;touch-action:none;display:block}
@media (prefers-color-scheme:dark){
  .hgi-esign{--ink:#ECEDEF;--line:#33353C;--bg:#14161a;--card:#1D1F24;--mut:#A9ADB7}
  .es-card{box-shadow:none}.es-logo{background:#fff;border-radius:10px;padding:6px 10px}
  .es-msg{background:#12333A}.es-err{background:#4D1A15;color:#FFC2BA}
  .es-dlg{background:#1D1F24;color:#ECEDEF}.es-dlg input[type=text],.es-dlg textarea{border-color:#3A3D45}
  .es-tabs button{border-color:#3A3D45}
}
@media (max-width:560px){.es-card{padding:22px 16px}.es-barrow .es-btn{flex:1 1 100%}}

.es-code{display:block;width:100%;max-width:260px;padding:12px;border:1px solid #cfcdc9;border-radius:10px;font:inherit;font-size:28px;letter-spacing:8px;text-align:center;color:inherit;background:transparent;margin:6px 0 10px}
.es-code:focus{outline:none;border-color:#1F7A8C;box-shadow:0 0 0 3px rgba(31,122,140,.2)}
