.erp-scroll-locked{overflow:hidden}.erp-overlay-backdrop{position:fixed;z-index:var(--erp-z-modal);inset:0;background:var(--erp-overlay)}.erp-overlay-surface{position:fixed;z-index:calc(var(--erp-z-modal) + 1);top:var(--erp-overlay-top,50%);left:var(--erp-overlay-left,50%);outline:0}.erp-overlay-anchor,.erp-tooltip-anchor,.erp-context-anchor{display:inline-flex}.erp-tooltip{z-index:var(--erp-z-tooltip);max-width:min(280px,calc(100vw - 16px));padding:var(--erp-space-3) var(--erp-space-4);border-radius:var(--erp-radius-sm);background:var(--erp-text-primary);color:var(--erp-surface-primary);box-shadow:var(--erp-shadow-md);font:var(--erp-font-caption);pointer-events:none}.erp-popover-panel,.erp-context-panel{z-index:var(--erp-z-dropdown);min-width:220px;max-width:min(420px,calc(100vw - 16px));border:1px solid var(--erp-border-default);border-radius:var(--erp-radius-lg);background:var(--erp-surface-elevated);box-shadow:var(--erp-shadow-lg)}.erp-popover-content>header,.erp-popover-content>footer{display:flex;align-items:center;justify-content:space-between;gap:var(--erp-space-4);padding:var(--erp-space-4);border-bottom:1px solid var(--erp-border-subtle)}.erp-popover-content>div{padding:var(--erp-space-4)}.erp-popover-content>footer{border-top:1px solid var(--erp-border-subtle);border-bottom:0}.erp-dropdown{min-width:var(--erp-dropdown-min);max-width:var(--erp-dropdown-max)}.erp-menu{display:grid;padding:var(--erp-space-3)}.erp-menu button{display:flex;align-items:center;gap:var(--erp-space-4);min-height:36px;padding:0 var(--erp-space-4);border:0;border-radius:var(--erp-radius-sm);background:transparent;color:var(--erp-text-primary);text-align:start}.erp-menu button span{flex:1}.erp-menu button:hover,.erp-menu button:focus{background:var(--erp-surface-hover);outline:0}.erp-menu button.is-danger{color:var(--erp-text-danger)}.erp-menu button:disabled{color:var(--erp-text-disabled)}.erp-menu kbd{direction:ltr;color:var(--erp-text-tertiary)}.erp-menu hr{width:100%;border:0;border-top:1px solid var(--erp-border-subtle)}.erp-dialog-wrap{inset:0;display:grid;place-items:center;padding:var(--erp-space-6);transform:none}.erp-dialog{display:flex;max-height:calc(100vh - 48px);flex-direction:column;width:min(560px,100%);border:1px solid var(--erp-border-default);border-radius:var(--erp-radius-xl);background:var(--erp-surface-elevated);box-shadow:var(--erp-shadow-overlay);overflow:hidden}.erp-dialog--small{width:min(420px,100%)}.erp-dialog--large{width:min(820px,100%)}.erp-dialog--extralarge{width:min(1120px,100%)}.erp-dialog>header,.erp-dialog>footer{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--erp-space-5);padding:var(--erp-space-5) var(--erp-space-6);border-bottom:1px solid var(--erp-border-subtle)}.erp-dialog h2{margin:0;font:var(--erp-font-section-title)}.erp-dialog header p{margin:var(--erp-space-2) 0 0;color:var(--erp-text-secondary)}.erp-dialog__body{overflow:auto;padding:var(--erp-space-6)}.erp-dialog>footer{align-items:center;justify-content:flex-end;border-top:1px solid var(--erp-border-subtle);border-bottom:0}.erp-confirm{display:flex;align-items:flex-start;gap:var(--erp-space-4)}.erp-confirm p{margin:0}
@media(max-width:600px){.erp-dialog-wrap{align-items:end;padding:0}.erp-dialog{width:100%;max-height:92vh;border-radius:var(--erp-radius-xl) var(--erp-radius-xl) 0 0}.erp-popover-panel,.erp-context-panel{max-width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){.erp-overlay-surface{animation:none!important}}
.erp-dialog-wrap{inset:auto;top:50%;left:50%;width:min(560px,calc(100vw - 48px));padding:0;transform:translate(-50%,-50%)}.erp-dialog-wrap>.erp-dialog{width:100%}@media(max-width:600px){.erp-dialog-wrap{top:auto;bottom:0;left:0;width:100%;transform:none}}

.erp-overlay-backdrop{background:var(--erp-background-backdrop)}
.erp-popover-panel,.erp-context-panel{border-color:var(--erp-border-glass);border-radius:var(--erp-radius-card);background:var(--erp-glass-popover);box-shadow:var(--erp-shadow-glass);-webkit-backdrop-filter:blur(var(--erp-blur-default)) saturate(116%);backdrop-filter:blur(var(--erp-blur-default)) saturate(116%)}
.erp-dialog{border-color:var(--erp-border-glass);border-radius:var(--erp-radius-dialog);background:var(--erp-glass-dialog);box-shadow:var(--erp-shadow-dialog);-webkit-backdrop-filter:blur(var(--erp-blur-strong)) saturate(120%);backdrop-filter:blur(var(--erp-blur-strong)) saturate(120%)}
.erp-dialog>header,.erp-dialog>footer{background:var(--erp-glass-toolbar)}
.erp-menu button:focus-visible {
    outline: 2px solid var(--erp-border-focus);
    outline-offset: -2px;
    box-shadow: var(--erp-shadow-focus);
}
