base-dialog{display:block}.dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .2s ease}.dialog-backdrop.open{opacity:1;pointer-events:all}.dialog-container{background:var(--md-sys-color-surface-container);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:90vh;overflow:hidden;transform:scale(.9);transition:transform .2s ease}.dialog-backdrop.open .dialog-container{transform:scale(1)}.dialog-container.small{width:400px;max-width:90vw}.dialog-container.medium{width:600px;max-width:90vw}.dialog-container.large{width:800px;max-width:90vw}.dialog-container.fullscreen{width:95vw;height:95vh;max-height:95vh}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--md-sys-color-outline-variant);flex-shrink:0}.dialog-title{font-size:20px;font-weight:500;margin:0;color:var(--md-sys-color-on-surface)}.dialog-close-btn{background:0 0;border:0;padding:8px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface-variant);transition:background .2s ease}.dialog-close-btn:hover{background:var(--md-sys-color-surface-container-highest)}.dialog-content{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden}.dialog-content::-webkit-scrollbar{width:8px}.dialog-content::-webkit-scrollbar-track{background:0 0}.dialog-content::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:4px}.dialog-content::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--md-sys-color-outline-variant);flex-shrink:0}.dialog-btn{padding:10px 24px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;border:0;transition:background .2s ease,transform .1s ease}.dialog-btn:active{transform:scale(.98)}.dialog-btn.primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.dialog-btn.primary:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.dialog-btn.secondary{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.dialog-btn.secondary:hover{background:var(--md-sys-color-surface-container-highest)}.dialog-btn.danger{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.dialog-btn.danger:hover{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.dialog-btn:disabled{opacity:.5;cursor:not-allowed}.dialog-field{margin-bottom:16px}.dialog-field label{display:block;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface);margin-bottom:8px}.dialog-field input,.dialog-field select,.dialog-field textarea{width:100%;padding:12px 16px;border:1px solid var(--md-sys-color-outline);border-radius:8px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:14px;font-family:inherit;transition:border-color .2s ease}.dialog-field input:focus,.dialog-field select:focus,.dialog-field textarea:focus{outline:0;border-color:var(--md-sys-color-primary)}.dialog-field textarea{resize:vertical;min-height:80px}.dialog-field-error,.dialog-field-hint{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-top:4px}.dialog-field-error{color:var(--md-sys-color-error)}