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