.popup-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.popup-content,.popup-dialog{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow:auto;box-shadow:0 4px 20px #0000004d}.popup-content.large,.popup-dialog.large{max-width:1200px}.popup-content.document-form,.popup-dialog.document-form{max-width:700px}.popup-title{font-size:var(--font-size-large);color:var(--color-text);margin:0}.popup-close{color:var(--color-text-light);cursor:pointer;border-radius:var(--border-radius);width:32px;height:32px;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:28px;display:flex}.popup-close:hover{background:var(--color-bg);color:var(--color-text)}.popup-header{padding:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.popup-header h2{font-size:var(--font-size-large);color:var(--color-text);margin:0}.close-btn{color:var(--color-text-light);cursor:pointer;border-radius:var(--border-radius);width:32px;height:32px;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:28px;display:flex}.close-btn:hover{background:var(--color-bg);color:var(--color-text)}.popup-body{padding:var(--spacing-lg)}.popup-footer{padding:var(--spacing-lg);justify-content:flex-end;gap:var(--spacing-md);display:flex}.popup-footer button{padding:var(--button-padding-vertical) var(--button-padding-horizontal);border-radius:var(--border-radius);font-size:var(--font-size-base);cursor:pointer;transition:var(--transition);border:none;flex:none;width:auto;font-weight:500}.popup-footer .btn-primary{background:var(--color-primary);color:#fff}.popup-footer .btn-primary:hover{background:var(--color-primary-hover)}.popup-footer .btn-secondary{background:var(--color-secondary);color:#fff}.popup-footer .btn-secondary:hover{background:var(--color-secondary-hover)}.popup-footer .btn-primary:disabled,.popup-footer .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.popup-dialog button.btn-popup-action{padding:var(--button-padding-vertical) var(--button-padding-horizontal);border-radius:var(--border-radius);font-size:var(--font-size-base);cursor:pointer;transition:var(--transition);background:var(--color-primary);color:#fff;border:none;width:auto;font-weight:500}.popup-dialog button.btn-popup-action:hover{background:var(--color-primary-hover)}.popup-dialog button.btn-popup-action:disabled{opacity:.5;cursor:not-allowed}.upload-area{border:2px dashed var(--color-border);text-align:center;cursor:pointer;transition:var(--transition);background:var(--color-bg-stripe);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:60px 20px;display:flex}.upload-area:hover{background:var(--color-bg-subtle);border-color:var(--color-text-lighter)}.upload-area.drag-active{background:var(--color-info-bg);border-color:var(--color-info-solid);transform:scale(1.02)}.upload-area.uploading{cursor:wait;border-color:var(--color-primary);background:var(--color-bg-hover)}.upload-icon{margin-bottom:var(--spacing-md);font-size:48px}.upload-text{color:var(--color-text-light);margin-bottom:var(--spacing-sm);font-size:16px;font-weight:500}.upload-subtext{font-size:var(--font-size-base);color:var(--color-text-lighter);margin-bottom:var(--spacing-sm)}.upload-formats{font-size:var(--font-size-small);color:var(--color-text-lighter)}.upload-status{align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.spinner{border:4px solid var(--color-bg);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-detail{font-size:var(--font-size-small);color:var(--color-text-light)}.error-message{padding:var(--spacing-md);background:var(--color-error-bg);color:var(--color-error);border-left:4px solid var(--color-error-solid);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.warning-list{margin:var(--spacing-md) 0;padding-left:20px}.warning-list li{margin-bottom:var(--spacing-sm);color:var(--color-warning)}
