.demo-modal[hidden]{display:none}.demo-modal{inset:0;position:fixed;z-index:1000}.demo-modal__backdrop{background:rgba(15,23,42,.55);inset:0;opacity:0;position:absolute;transition:opacity .25s ease}.demo-modal__dialog{background:#fff;border-radius:18px;box-shadow:0 30px 60px rgba(0,0,0,.16);margin:10vh auto;max-width:520px;opacity:0;overflow:hidden;padding:0;position:relative;transform:translateY(14px) scale(.985);transition:transform .26s ease,opacity .26s ease}.demo-modal--open .demo-modal__backdrop{opacity:1}.demo-modal--open .demo-modal__dialog{opacity:1;transform:translateY(0) scale(1)}.demo-modal__close{background:transparent;border:0;color:#fff;cursor:pointer;font-size:28px;line-height:1;position:absolute;right:10px;top:10px;z-index:1}.demo-modal__header{background:linear-gradient(135deg,#695097,#8b6fb8);color:#fff;padding:28px 28px 24px;text-align:center}.demo-modal__title{color:#fff;font-size:1.75rem;font-weight:800;margin:0 0 8px}.demo-modal__subtitle{color:#fff;font-size:1rem;margin:0;opacity:.95}.demo-form{display:grid;gap:16px;padding:28px}.demo-form__row{display:grid;gap:6px}.demo-form__label{color:var(--text-color);font-size:.9rem;font-weight:600}.demo-form__input{border:1px solid rgba(17,24,39,.15);border-radius:8px;font-family:inherit;font-size:1rem;padding:12px 14px}.demo-form__input:focus{border-color:#695097;box-shadow:0 0 0 3px rgba(105,80,151,.1);outline:none}.demo-form__row--checkbox{gap:0}.demo-form__checkbox-label{align-items:center;color:var(--text-color);cursor:pointer;display:flex;font-size:.9rem;gap:8px}.demo-form__checkbox{cursor:pointer;height:16px;margin:0;width:16px}.demo-form__actions{display:flex;justify-content:center;margin-top:8px}.demo-form__success{color:#059669;font-size:1.1rem;font-weight:600;padding:2rem 0;text-align:center}.demo-form .btn{border-radius:8px;font-size:1rem;font-weight:700;padding:14px 32px}@media (max-width:640px){.demo-modal{align-items:center;display:flex;justify-content:center}.demo-modal[hidden]{display:none}.demo-modal__dialog{margin:0 12px;max-width:92vw}.demo-form,.demo-modal__header{padding:20px 18px}}