.terms-modal-overlay{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.18);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}
body.terms-modal-lock{overflow:hidden}
.terms-modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease}
.terms-modal-dialog{position:relative;display:flex;flex-direction:column;width:min(680px,calc(100vw - 40px));height:min(560px,calc(100vh - 72px));background:#fff;border:none;border-radius:6px;box-shadow:0 28px 86px rgba(15,23,42,.18);overflow:hidden}
.terms-modal-head{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 58px;border-bottom:1px solid #edf0f3;background:#fff}
.terms-modal-title{margin:0;padding:0 58px;color:#333333;font-size:18px;font-weight:600;line-height:1.2;text-align:center}
.terms-modal-body{flex:1 1 auto;min-height:0;padding:18px;background:#fff}
.terms-modal-content-panel{width:100%;height:100%;overflow:hidden;border:1px solid #e5e7eb;background:#f8fafc}
.terms-modal-frame{display:block;width:100%;height:100%;border:0;background:#f8fafc}
.terms-modal-foot{display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0 18px 20px;background:#fff}
.terms-modal-confirm{display:inline-flex;align-items:center;justify-content:center;min-width:170px;height:42px;padding:0 28px;border:none;border-radius:999px;background:#4abc99;color:#fff;font-size:15px;font-weight:600;line-height:1;cursor:pointer;box-shadow:none;transition:background .16s ease,transform .16s ease}
.terms-modal-confirm:hover{background:#3cae8d}
.terms-modal-confirm:active{transform:scale(.98)}
.terms-modal-confirm:focus-visible{outline:3px solid rgba(74,188,153,.28);outline-offset:3px}
@media (max-width:640px){
    .terms-modal-overlay{padding:18px}
    .terms-modal-dialog{width:calc(100vw - 36px);height:min(520px,calc(100vh - 120px))}
    .terms-modal-head{flex-basis:52px}
    .terms-modal-title{font-size:16px}
    .terms-modal-body{padding:12px}
    .terms-modal-foot{padding:0 12px 16px}
    .terms-modal-confirm{min-width:148px;height:38px;padding:0 22px;font-size:14px}
}
