:root{
  --mp-sr-brand:#2cafe5;
  --mp-sr-text:#111;
  --mp-sr-muted:#6b7280;
  --mp-sr-border:#dcdfe4;
  --mp-sr-bg:#ffffff;
  --mp-sr-backdrop:rgba(0,0,0,.45);
  --mp-sr-radius:.9rem;
  --mp-sr-shadow:0 20px 60px rgba(0,0,0,.25);
}
body.mp-sr-no-scroll{ overflow:hidden; touch-action:none; }


.mp-sr-btn{
  padding:.75rem 1.1rem;border-radius:.6rem;background:#111;color:#fff;border:none;cursor:pointer
}
.mp-sr-btn:hover{opacity:.9}

/* Modal */
.mp-sr-modal[hidden]{display:none}
.mp-sr-backdrop{position:fixed;inset:0;background:var(--mp-sr-backdrop);z-index:100000}
.mp-sr-dialog{
	max-height:92dvh; 
	overflow-y:auto;
  position:fixed;left:50%;top:8%;transform:translateX(-50%);
  width:92%;max-width:760px;background:var(--mp-sr-bg);color:var(--mp-sr-text);
  border-radius:var(--mp-sr-radius);box-shadow:var(--mp-sr-shadow);
  padding:1.25rem 1.25rem 1rem;z-index:100001;box-sizing:border-box
}

#mp-sr-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:700}

.mp-sr-close{
  position:absolute;right:.6rem;top:.6rem;border:none;background:#f1f3f5;color:#111;
  width:32px;height:32px;border-radius:.5rem;cursor:pointer;font-size:18px;line-height:1
}
.mp-sr-close:hover{background:#e9ecef}

/* Form */
.mp-sr-form{margin:0; overflow:auto;  -webkit-overflow-scrolling:touch;  /* smooth iOS scrolling */
  overscroll-behavior:contain;}
.mp-sr-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media (max-width:640px){.mp-sr-grid{grid-template-columns:1fr}}

.mp-sr-grid label{display:flex;flex-direction:column;gap:.4rem;font-size:.92rem;color:var(--mp-sr-text)}
.mp-sr-grid input,.mp-sr-grid select{
  appearance:none;padding:.62rem .7rem;border:1px solid var(--mp-sr-border);
  border-radius:.55rem;background:#fff;color:var(--mp-sr-text);width:100%;box-sizing:border-box;outline:none
}
.mp-sr-grid input::placeholder{color:#9aa1a9}
.mp-sr-grid input:focus,.mp-sr-grid select:focus{
  border-color:var(--mp-sr-brand);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--mp-sr-brand) 25%, transparent)
}

/* Actions */
.mp-sr-actions{display:flex;align-items:center;gap:.75rem;margin-top:.9rem}
.mp-sr-submit{padding:.62rem 1.05rem;background:var(--mp-sr-brand);border:none;color:#fff;border-radius:.55rem;cursor:pointer;font-weight:600}
.mp-sr-submit:hover{filter:brightness(0.95)}
.mp-sr-msg{font-size:.92rem;color:var(--mp-sr-muted)}
