.scrim { position:fixed; inset:0; background:var(--scrim); animation:pa-fade-in .18s ease both; z-index:40; }
.scrim[hidden] { display:none; }
.pa .scrim.clear { background:transparent; z-index:50; }
body.mdl-lock { overflow:hidden; }
html:has(body.mdl-lock) { overflow:hidden; }
.mdl { position:fixed; inset:0; z-index:45; display:flex; align-items:center; justify-content:center; padding:24px; }
.mdl[hidden] { display:none; }
.mdl .card { box-shadow:inset 0 0 0 1px var(--border); }
.mdl .btn:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.mdl .icon-btn:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.mdl .row-btn:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.mdl .sel:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.mdl .input:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.mdl .form .sel.lg { width:100%; }
#stash[hidden] { display:none; }
.mdl-scrim { position:absolute; inset:0; background:var(--scrim); animation:pa-fade-in .18s ease both; }
.mdl-box {
  position:relative; width:min(720px, 100%); max-height:min(86vh, 820px); display:flex; flex-direction:column;
  background:var(--surface); color:var(--text); border-radius:16px;
  box-shadow:var(--shadow-lg), inset 0 0 0 1px var(--border); overflow:hidden; animation:pa-fade-in .2s ease both;
}
.mdl-box:focus { outline:none; }
.mdl-head {
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 12px 12px 24px;
  box-shadow:0 1px 0 var(--border); flex:none;
}
.mdl-t { margin:0; font-size:18px; line-height:1.3; font-weight:700; text-wrap:balance; }
.mdl-t:focus { outline:none; }
.mdl-t:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.mdl-body {
  overflow:auto; overscroll-behavior:contain; padding:20px 24px 28px; min-height:0; flex:1 1 auto; display:flex;
  flex-direction:column; gap:18px;
}
@media (max-width:719px) {
  .mdl { padding:0; align-items:stretch; }
  .mdl-box { width:100%; max-height:none; height:100dvh; border-radius:0; box-shadow:none; }
  .mdl-head { padding:8px 8px 8px 16px; }
  .mdl-body { padding:16px 16px 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .mdl-scrim { animation:none; }
  .mdl-box { animation:none; }
}
