:root{--color-brand-primary:#3e6a9f;--color-brand-primary-hover:#355d8a;--color-brand-primary-active:#2c4a6b;--color-surface-canvas:#f5f5f5;--color-surface-card:#fff;--color-surface-card-glass:hsla(0,0%,100%,.98);--color-surface-subtle:#f8f9fa;--color-surface-subtle2:#f1f1f1;--color-text-primary:#1a1a1a;--color-text-secondary:#6b7280;--color-text-muted:#637381;--color-text-inverse:#fff;--color-border-default:#e0e0e0;--color-border-subtle:#f3f4f6;--color-border-interactive:#d1d5db;--color-border-focus:#3e6a9f;--color-semantic-success:#52c41a;--color-semantic-danger:#dc3545;--gradient-brand-primary:linear-gradient(135deg,#3e6a9f,#5a8fd9);--gradient-brand-primary-soft:linear-gradient(135deg,rgba(62,106,159,.06),rgba(90,143,217,.04));--gradient-surface-glass:linear-gradient(135deg,hsla(0,0%,98%,.9),hsla(0,0%,100%,.95));--gradient-success-soft:linear-gradient(135deg,rgba(82,196,26,.1),rgba(82,196,26,.05));--shadow-sm:0 2px 8px rgba(0,0,0,.08);--shadow-md:0 4px 24px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);--shadow-lg:0 8px 32px rgba(0,0,0,.12),0 4px 16px rgba(0,0,0,.08);--shadow-button-primary:0 4px 12px rgba(62,106,159,.25);--shadow-dropzone-hover:0 4px 16px rgba(62,106,159,.12);--focus-ring:0 0 0 3px rgba(62,106,159,.1);--spacing-0:0;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-7:32px;--spacing-8:40px;--spacing-9:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--duration-fast:150ms;--duration-base:300ms;--easing-standard:cubic-bezier(0.4,0,0.2,1)}.cv-upload-card{background:var(--color-surface-card);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);font-family:var(--font-family);max-width:800px;width:100%;margin:0;overflow:hidden;transition:box-shadow var(--duration-base) var(--easing-standard)}.cv-upload-card-header{padding:var(--spacing-5) var(--spacing-6);text-align:center}.cv-upload-card-title{font-size:24px;font-weight:var(--font-weight-bold);line-height:1.3;letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0}.cv-upload-card-subtitle{font-size:13px;font-weight:var(--font-weight-regular);line-height:1.5;color:var(--color-text-secondary);margin:0}.cv-upload-card-divider{height:1px;background-color:var(--color-border-subtle);margin:0}.cv-upload-card-body{padding:var(--spacing-6)}.cv-upload-dropzone{border:2px dashed var(--color-border-interactive);border-radius:var(--radius-lg);background:var(--gradient-surface-glass);padding:var(--spacing-9) var(--spacing-6);text-align:center;cursor:pointer;transition:all var(--duration-base) var(--easing-standard);outline:none}.cv-upload-dropzone:focus-visible,.cv-upload-dropzone:hover{border-color:var(--color-brand-primary);background:var(--gradient-brand-primary-soft);box-shadow:var(--shadow-dropzone-hover);transform:translateY(-1px)}.cv-upload-dropzone:focus-visible{box-shadow:var(--shadow-dropzone-hover),var(--focus-ring)}.cv-upload-dropzone-active{border-color:var(--color-brand-primary);background:var(--gradient-brand-primary-soft)}.cv-upload-dropzone-primary-text{font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.6;color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0}.cv-upload-dropzone-hint-text{font-size:12px;font-weight:var(--font-weight-regular);line-height:1.4;color:var(--color-text-secondary);margin:0}.cv-upload-file-info{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-surface-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.cv-upload-file-info-icon{font-size:24px;color:var(--color-brand-primary);flex-shrink:0}.cv-upload-file-info-details{flex:1 1;min-width:0}.cv-upload-file-info-name{font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.6;color:var(--color-text-primary);margin:0 0 var(--spacing-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-upload-file-info-size{font-size:12px;font-weight:var(--font-weight-regular);line-height:1.4;color:var(--color-text-secondary);margin:0}.cv-upload-file-info-remove{background:none;border:none;font-size:20px;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-1);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--easing-standard);flex-shrink:0}.cv-upload-file-info-remove:hover{color:var(--color-semantic-danger);background:rgba(220,53,69,.08)}.cv-upload-file-info-remove:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cv-upload-status-panel{text-align:center;padding:var(--spacing-6)}.cv-upload-status-title{font-size:24px;font-weight:var(--font-weight-bold);line-height:1.3;letter-spacing:-.02em;margin:0 0 var(--spacing-2) 0}.cv-upload-status-subtitle{font-size:14px;font-weight:var(--font-weight-regular);line-height:1.6;color:var(--color-text-secondary);margin:0 0 var(--spacing-6) 0}.cv-upload-spinner{animation:spin 1.2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cv-upload-status-success{background:var(--gradient-success-soft);border:1px solid rgba(82,196,26,.3);border-radius:var(--radius-lg)}.cv-upload-status-success .cv-upload-status-title{color:var(--color-text-primary)}.cv-upload-status-error{border:2px dashed var(--color-border-interactive);border-radius:var(--radius-lg)}.cv-upload-status-error .cv-upload-status-title{color:var(--color-text-primary)}.cv-upload-progress-wrapper{margin-top:var(--spacing-6)}.cv-upload-progress-bar{height:8px;background-color:var(--color-surface-subtle2);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:var(--spacing-2)}.cv-upload-progress-fill{height:100%;background:var(--gradient-brand-primary);border-radius:var(--radius-pill);transition:width var(--duration-base) var(--easing-standard)}.cv-upload-progress-labels{display:flex;justify-content:space-between;align-items:center}.cv-upload-progress-label-left,.cv-upload-progress-label-right{font-size:12px;font-weight:var(--font-weight-regular);line-height:1.4;color:var(--color-text-secondary)}.cv-upload-card-footer{padding:var(--spacing-5) var(--spacing-6);text-align:center}.cv-upload-button-tooltip-wrapper{display:inline-block}.cv-upload-button{height:48px;padding:0 var(--spacing-9);border-radius:var(--radius-lg);font-family:var(--font-family);font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.6;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);transition:all var(--duration-base) var(--easing-standard);outline:none;min-width:160px}.cv-upload-button:focus-visible{box-shadow:var(--focus-ring)}.cv-upload-button-primary{background:var(--gradient-brand-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-button-primary)}.cv-upload-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px rgba(62,106,159,.3)}.cv-upload-button-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.cv-upload-button-primary:disabled{background:#d1d5db;color:#fff;box-shadow:none;cursor:not-allowed;opacity:.6}.cv-upload-button-secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-default);box-shadow:none}.cv-upload-button-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.cv-upload-button-secondary:active:not(:disabled){transform:translateY(0) scale(.98)}@media (max-width:768px){.cv-upload-card{border-radius:var(--radius-lg)}.cv-upload-card-header{padding:var(--spacing-4) var(--spacing-4)}.cv-upload-card-title{font-size:20px}.cv-upload-card-body{padding:var(--spacing-4)}.cv-upload-dropzone{padding:var(--spacing-7) var(--spacing-4)}.cv-upload-dropzone-icon{font-size:40px}.cv-upload-card-footer{padding:var(--spacing-4)}.cv-upload-button{width:100%}}