.apt-overlay{
  position:fixed;inset:0;z-index:99999;
  background:rgba(10,30,45,.55);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  opacity:0;visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
}
.apt-overlay.is-open{opacity:1;visibility:visible}
.apt-modal{
  position:relative;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;
  background:#fff;border-radius:18px;padding:34px 34px 30px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  transform:translateY(24px) scale(.97);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
  font-family:'Mulish','Poppins',system-ui,sans-serif;
}
.apt-overlay.is-open .apt-modal{transform:none}
.apt-close{
  position:absolute;top:14px;right:16px;width:36px;height:36px;border:0;border-radius:50%;
  background:#eef3f6;color:#0b3550;font-size:24px;line-height:1;cursor:pointer;
}
.apt-close:hover{background:#dde7ed}
.apt-head h2{margin:0 0 6px;font-size:28px;color:#0b3550;font-weight:800}
.apt-head p{margin:0 0 22px;color:#6b7c88;font-size:15px}
.apt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.apt-full{grid-column:1/-1}
.apt-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:700;color:#0b3550}
.apt-opt{font-weight:400;color:#8a98a3}
.apt-field input,.apt-field select,.apt-field textarea{
  width:100%;box-sizing:border-box;padding:13px 14px;font:inherit;font-size:15px;color:#0b3550;
  background:#fff;border:1.5px solid #d6e0e6;border-radius:10px;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.apt-field textarea{resize:vertical}
.apt-field input:focus,.apt-field select:focus,.apt-field textarea:focus{
  border-color:#0b5ed7;box-shadow:0 0 0 3px rgba(11,94,215,.18);
}
.apt-field.has-error input,.apt-field.has-error select{border-color:#d93025}
.apt-err{display:none;margin-top:5px;color:#d93025;font-size:13px}
.apt-field.has-error .apt-err{display:block}
.apt-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.apt-status{display:none;margin-top:16px;padding:12px 14px;border-radius:10px;font-size:14.5px}
.apt-status.ok{display:block;background:#e7f6e5;color:#1d6b13}
.apt-status.fail{display:block;background:#fdeaea;color:#a5211a}
.apt-submit{
  margin-top:20px;width:100%;padding:15px 20px;border:0;border-radius:10px;cursor:pointer;
  background:#0b5ed7;color:#fff;font:inherit;font-size:16px;font-weight:800;
  transition:background .2s;
}
.apt-submit:hover{background:#094db0}
.apt-submit:disabled{opacity:.7;cursor:wait}
body.apt-lock{overflow:hidden}
@media (max-width:600px){
  .apt-modal{padding:26px 20px}
  .apt-grid{grid-template-columns:1fr}
  .apt-head h2{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  .apt-overlay,.apt-modal{transition:none}
}
