.ap-backdrop,.ap-backdrop *{box-sizing:border-box}
.ap-backdrop{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:24px;background:#09142cb8;overflow:hidden}
.ap-dialog{width:min(550px,100%);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;border-radius:18px;background:#fff;box-shadow:0 24px 80px #07132c66;color:#172033}
.ap-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid #e0e7f0}
.ap-heading h2{margin:0;font-size:23px;line-height:1.3;font-weight:750}
.ap-backdrop button{font:inherit;cursor:pointer;min-height:44px;border-radius:9px;line-height:1.4}
.ap-close{width:44px;flex:none;border:0;background:#eef2f8;color:#344055;font-size:28px!important}
.ap-body{padding:18px 24px 2px}
.ap-body>p:first-child{margin:0 0 20px;color:#475c7c;font-size:14px;line-height:1.7}
.ap-field{display:block;margin:16px 0 8px;color:#263c5c;font-size:14px;font-weight:700;line-height:1.5}
.ap-field input,.ap-password-row input{display:block;min-width:0;width:100%;min-height:48px;padding:11px 12px;border:1px solid #b8c8df;border-radius:9px;background:#fff;color:#132c50;font-size:16px;font-weight:500;line-height:1.5}
.ap-field input{margin-top:8px}
.ap-field input[readonly]{background:#f3f6fa;color:#3c5273}
.ap-password-row{display:flex;align-items:stretch;gap:8px}
.ap-password-row input{flex:1}
.ap-toggle{flex:none;padding:8px 13px;border:1px solid #b8c8df;background:#f4f7fc;color:#1e4d94;font-weight:700!important}
.ap-hint{margin:8px 0 16px;color:#5e6e84;font-size:12px;line-height:1.65}
.ap-notice{margin:22px 0 16px;padding:12px 14px;border:1px solid #f2d39b;border-radius:9px;background:#fff7e9;color:#72511b;font-size:13px;line-height:1.7}
.ap-message{margin:12px 0;min-height:24px;color:#325885;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.ap-message:empty{min-height:0;margin:0}
.ap-error{color:#a62132;font-weight:600}
.ap-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px 22px;background:#fff}
.ap-cancel{padding:10px 18px;border:1px solid #cad6e5;background:#fff;color:#344b6a}
.ap-save{padding:10px 18px;border:1px solid #245fe6;background:#245fe6;color:#fff;font-weight:700!important}
.ap-backdrop button:disabled,.ap-backdrop input:disabled{opacity:.65;cursor:wait}
.ap-backdrop button:focus-visible,.ap-backdrop input:focus-visible{outline:3px solid #89b5ff;outline-offset:2px}
@media(max-width:620px){
  .ap-backdrop{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);align-items:stretch}
  .ap-dialog{width:100%;max-height:100%;border-radius:0}
  .ap-dialog form{min-height:100%;display:flex;flex-direction:column}
  .ap-heading{padding:16px 18px 14px;flex:none}
  .ap-heading h2{font-size:21px}
  .ap-body{padding:12px 18px 6px;flex:1}
  .ap-footer{padding:16px 18px 20px;flex-wrap:wrap}
  .ap-save{flex:1}
  .ap-backdrop input{font-size:16px}
}
@media print{.ap-backdrop{display:none!important}}
