/* Enterprise Bootstrap Theme | MIT License | (c) 2026 Priya Vijai Kalyan */
@keyframes progressmodal-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes progressmodal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progressmodal-log-entry-in{0%{opacity:0}to{opacity:1}}.progressmodal-backdrop{background-color:rgba(var(--theme-text-primary-rgb),.5);z-index:1054}.progressmodal,.progressmodal-backdrop{animation:progressmodal-fade-in .15s ease;height:100%;left:0;position:fixed;top:0;width:100%}.progressmodal{align-items:center;display:flex;justify-content:center;outline:none;z-index:1055}.progressmodal-dialog{margin:.75rem;max-width:500px;width:100%}.progressmodal-wide .progressmodal-dialog{max-width:800px}.progressmodal-content{background-color:var(--theme-surface-bg);border:1px solid var(--theme-border-color);box-shadow:var(--theme-shadow-xl);color:var(--theme-text-primary);display:flex;flex-direction:column}.progressmodal-header{align-items:center;border-bottom:1px solid var(--theme-border-color);display:flex;justify-content:space-between;padding:.75rem 1rem}.progressmodal-title{color:var(--theme-text-primary);font-size:1rem;font-weight:600;line-height:1.4;margin:0}.progressmodal-close-btn{flex-shrink:0}.progressmodal-body{padding:1rem}.progressmodal-spinner{align-items:center;display:flex;justify-content:center;padding:.75rem 0}.progressmodal-spinner-ring{animation:progressmodal-spin 1s linear infinite;border:.25rem solid var(--theme-border-color);border-top:.25rem solid #1c7ed6;height:3rem;width:3rem}.progressmodal-progress-section{padding:.25rem 0}.progressmodal-step-counter{color:var(--theme-text-secondary);font-size:.8rem;font-weight:600;margin-bottom:.25rem}.progressmodal-bar-container{background-color:var(--theme-surface-sunken-bg);height:.75rem}.progressmodal-bar{background-color:#1c7ed6;transition:width .3s ease,background-color .5s ease}.progressmodal-bar-success{background-color:#52b788}.progressmodal-percentage{color:var(--theme-text-secondary);font-size:.8rem;font-weight:600;margin-top:.25rem;text-align:right}.progressmodal-status{color:var(--theme-text-secondary);font-size:.875rem;min-height:1.5em;padding:.375rem 0}.progressmodal-status-success{color:#52b788;font-weight:600}.progressmodal-status-error{color:#dc2626;font-weight:600}.progressmodal-log-container{background-color:var(--theme-surface-bg);border:1px solid var(--theme-border-color);margin-top:.375rem;position:relative}.progressmodal-log{max-height:200px;overflow-y:auto;padding:.25rem}.progressmodal-log-entry{align-items:flex-start;animation:progressmodal-log-entry-in .2s ease;display:flex;font-size:.8rem;gap:.5rem;line-height:1.4;padding:.25rem .5rem}.progressmodal-log-entry:nth-child(2n){background-color:var(--theme-surface-bg)}.progressmodal-log-timestamp{color:var(--theme-text-muted);flex-shrink:0;font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.8rem;white-space:nowrap}.progressmodal-log-icon{flex-shrink:0;line-height:1.4;text-align:center;width:1rem}.progressmodal-log-message{color:var(--theme-text-primary);word-break:break-word}.progressmodal-log-info .progressmodal-log-icon{color:#2196f3}.progressmodal-log-success .progressmodal-log-icon{color:#52b788}.progressmodal-log-error .progressmodal-log-icon{color:#dc2626}.progressmodal-log-warning .progressmodal-log-icon{color:#f59e0b}.progressmodal-log-progress .progressmodal-log-icon{color:#1c7ed6}.progressmodal-log-spinner{animation:progressmodal-spin 1s linear infinite;border:2px solid var(--theme-border-color);border-top:2px solid #1c7ed6;display:inline-block;height:12px;width:12px}.progressmodal-copy-log-btn{background:var(--theme-surface-bg);border:1px solid var(--theme-border-color);color:var(--theme-text-secondary);cursor:pointer;font-size:.8rem;line-height:1;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem;z-index:1}.progressmodal-copy-log-btn:hover{border-color:#1c7ed6;color:#1c7ed6}.progressmodal-copy-log-btn:focus{box-shadow:0 0 0 .15rem rgba(28,126,214,.25);outline:none}.progressmodal-footer{border-top:1px solid var(--theme-border-color);display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem}