.modal-overlay{z-index:var(--z-modal);overscroll-behavior:contain;background:var(--scrim);align-items:end;display:grid;position:fixed;inset:0;overflow:hidden auto}.modal-panel{gap:var(--gap-lg);width:100%;max-height:calc(100dvh - 2 * var(--pad-container));border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:max(var(--pad-card), var(--safe-bottom));box-shadow:var(--elev-3);flex-direction:column;display:flex}.modal-header,.modal-actions{flex:none}.modal-header{gap:var(--gap-xs);display:grid}.modal-header h2{margin:0}.modal-header p{color:var(--on-surface-variant);font-size:var(--text-body-sm);margin:0}.modal-body{align-content:start;gap:var(--gap-md);flex:auto;min-height:0;display:grid;overflow-y:auto}.modal-body label{gap:var(--gap-xs);font-size:var(--text-label-md);font-weight:600;display:grid}.modal-body label small{color:var(--on-surface-variant);font-size:var(--text-body-sm);font-weight:400}.modal-body input:not([type=radio],[type=checkbox],[type=color]),.modal-body select,.modal-body textarea{min-height:var(--input-height);padding:0 var(--gap-md);color:var(--on-surface);background:var(--surface);border:var(--border-width) solid var(--outline);border-radius:var(--r);font:inherit}.modal-body textarea{padding-block:var(--gap-md);resize:vertical}.modal-body input:not([type=radio],[type=checkbox],[type=color]):focus-visible,.modal-body select:focus-visible,.modal-body textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.modal-note{padding:var(--gap-md);color:var(--on-surface);background:var(--surface-container-high);border-radius:var(--r);font-size:var(--text-body-sm);line-height:var(--line-body-sm)}.modal-danger .modal-note{color:var(--error);background:var(--error-container)}.modal-error{padding:var(--gap-md);color:var(--error);background:var(--error-container);border-radius:var(--r);font-size:var(--text-body-sm)}.modal-result{gap:var(--gap-xs);padding:var(--gap-md);background:var(--surface-container-high);border-radius:var(--r);display:grid}.modal-result code{font-family:var(--font-mono);font-size:var(--text-body-md);word-break:break-all}.modal-actions{justify-content:flex-end;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.modal-open,.modal-open body,.modal-open .admin-page{overflow:hidden}@media (width>=768px){.modal-overlay{padding:var(--pad-container);place-items:center}.modal-panel{width:min(100%, var(--modal-width));border-radius:var(--r-lg);padding-bottom:var(--pad-card)}.modal-panel-wide{width:min(100%, var(--modal-width-wide))}}
