@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(-10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay{background:var(--md-sys-color-scrim);z-index:200;justify-content:center;align-items:center;padding:24px;animation:.15s modal-overlay-in;display:flex;position:fixed;inset:0}.modal{background:var(--md-sys-color-surface);border-radius:var(--md-comp-dialog-container-shape);box-shadow:var(--md-sys-elevation-level3);width:100%;max-width:var(--modal-max-w,440px);max-height:var(--modal-max-h,85vh);flex-direction:column;animation:.18s modal-in;display:flex;overflow:hidden}.modal-overlay--fullscreen{padding:16px}.modal--fullscreen{width:100%;max-width:none;height:100%;max-height:none}@media (width<=599px){.modal-overlay{padding:var(--spacing-md)}.modal-overlay--fullscreen{padding:0}.modal--fullscreen{border-radius:0}}.modal__header{border-bottom:1px solid var(--md-sys-color-outline);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal__header-left{align-items:center;gap:10px;min-width:0;display:flex}.modal__icon{color:var(--md-sys-color-primary);flex-shrink:0;display:flex}.modal__title-block{flex-direction:column;gap:1px;min-width:0;display:flex}.modal__title{font:var(--md-sys-typescale-title-large);color:var(--md-sys-color-on-surface-strong);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.modal__subtitle{font-size:var(--font-size-sm);color:var(--md-sys-color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.modal__header-actions{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.modal__close{cursor:pointer;color:var(--md-sys-color-on-surface-variant);border-radius:var(--md-sys-shape-corner-small);transition:background var(--md-sys-motion-duration-short4), color var(--md-sys-motion-duration-short4);background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.modal__close:not(:disabled):hover{background:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-strong)}.modal__close:disabled{color:color-mix(in srgb, var(--md-sys-color-on-surface-strong) 38%, transparent);cursor:not-allowed}.modal__body{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.modal__body--no-padding{gap:0;padding:0}.modal__footer{border-top:1px solid var(--md-sys-color-outline);flex-shrink:0;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}
