:root{--bg:#f8fafc;--surface:#fff;--text:#1e293b;--text-light:#64748b;--text-muted:#94a3b8;--brand:#3b82f6;--brand-light:#eff6ff;--brand-dark:#1d4ed8;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--info:#06b6d4;--info-light:#cffafe;--line:#e2e8f0;--line-dark:#cbd5e1;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--border-radius:8px;--border-radius-lg:12px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:24px}@media (max-width:768px){.container{padding:16px}}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px;align-items:start}@media (max-width:768px){.row{grid-template-columns:1fr;gap:12px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .2s ease}.card-elevated{box-shadow:var(--shadow-md)}.card-outline{border:2px solid var(--line);box-shadow:none}.card-padding-sm{padding:12px}.card-padding-md{padding:20px}.card-padding-lg{padding:32px}.card:hover{border-color:var(--line-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--border-radius);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap;min-height:40px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:12px;min-height:32px}.btn-md{padding:10px 16px;font-size:14px;min-height:40px}.btn-lg{padding:14px 24px;font-size:16px;min-height:48px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-secondary{background:var(--text);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--text-light)}.btn-outline{background:transparent;color:var(--brand);border:2px solid var(--brand)}.btn-outline:hover:not(:disabled){background:var(--brand);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{display:block;font-size:14px;font-weight:500;color:var(--text);margin:0}.input-label .required{color:var(--danger);margin-left:2px}.input-wrapper{position:relative}.input{width:100%;border-radius:var(--border-radius);border:1px solid var(--line);padding:10px 12px;font-size:14px;background:var(--surface);color:var(--text);transition:all .2s ease}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.input:disabled{background:#f1f5f9;color:var(--text-muted);cursor:not-allowed}.input-error,.input-error:focus{border-color:var(--danger)}.input-error:focus{box-shadow:0 0 0 3px var(--danger-light)}.input-loading-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.input-message{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:4px}.input-message-error{color:var(--danger)}.input-message-helper{color:var(--text-muted)}select{width:100%;border-radius:var(--border-radius);border:1px solid var(--line);padding:10px 12px;font-size:14px;background:var(--surface);color:var(--text);cursor:pointer}select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.loading-spinner{border-radius:50%;position:relative}.loading-spinner .spinner-ring{display:block;width:100%;height:100%}.loading-spinner .spinner-ring,.spinner{border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%}.spinner{width:16px;height:16px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.progress-steps{display:flex;flex-direction:column;gap:16px}.progress-step{display:flex;gap:16px;position:relative}.step-indicator{flex-direction:column;flex-shrink:0}.step-circle,.step-indicator{display:flex;align-items:center}.step-circle{width:40px;height:40px;border-radius:50%;justify-content:center;font-weight:600;font-size:14px;transition:all .3s ease}.progress-step.upcoming .step-circle{background:var(--surface);border:2px solid var(--line);color:var(--text-muted)}.progress-step.current .step-circle{background:var(--brand);border:2px solid var(--brand);color:#fff}.progress-step.completed .step-circle{background:var(--success);border:2px solid var(--success);color:#fff}.step-connector{width:2px;height:32px;background:var(--line);position:relative;margin-top:8px}.step-connector.completed{background:var(--success)}.step-content{flex:1 1;padding-top:8px}.step-title{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text)}.step-description{font-size:14px;color:var(--text-light);margin:0}.file-upload{display:flex;flex-direction:column;gap:12px}.dropzone{border:2px dashed var(--line);border-radius:var(--border-radius-lg);padding:32px 24px;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--surface)}.dropzone:hover:not(.dropzone-disabled){border-color:var(--brand);background:var(--brand-light);transform:scale(1.01)}.dropzone-accept{border-color:var(--success);background:var(--success-light)}.dropzone-reject{border-color:var(--danger);background:var(--danger-light)}.dropzone-disabled{opacity:.6;cursor:not-allowed}.dropzone-error{border-color:var(--danger)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.dropzone-icon{color:var(--text-muted)}.dropzone-message{font-size:16px;font-weight:500;margin:0;color:var(--text)}.dropzone-link{color:var(--brand);text-decoration:underline}.dropzone-details{font-size:14px;color:var(--text-muted);margin:0}.upload-error{display:flex;align-items:center;gap:6px;color:var(--danger);font-size:14px}.uploaded-files{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg);border-radius:var(--border-radius)}.uploaded-file{justify-content:space-between;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--border-radius)}.file-info,.uploaded-file{display:flex;align-items:center}.file-info{gap:12px}.file-icon{color:var(--text-muted)}.file-details{display:flex;flex-direction:column;gap:2px}.file-name{font-weight:500;font-size:14px}.file-size{font-size:12px;color:var(--text-muted)}.file-status{display:flex;align-items:center;gap:8px}.file-loading .loading-dot{width:4px;height:4px;background:var(--brand);border-radius:50%}.file-success{color:var(--success)}.file-error{color:var(--danger)}.file-remove{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:all .2s ease}.file-remove:hover{background:var(--danger-light);color:var(--danger)}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:12px;max-width:400px}@media (max-width:768px){.toast-container{right:16px;left:16px;max-width:none}}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);min-width:300px}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-warning{border-left:4px solid var(--warning)}.toast-info{border-left:4px solid var(--info)}.toast-icon{flex-shrink:0;margin-top:2px}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--info)}.toast-content{flex:1 1}.toast-title{font-size:14px;font-weight:600;margin:0 0 4px;color:var(--text)}.toast-message{font-size:14px;color:var(--text-light);margin:0}.toast-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background:var(--bg);color:var(--text)}.pill{display:inline-flex;align-items:center;font-size:12px;font-weight:500;border-radius:999px;padding:6px 12px;background:var(--brand-light);color:var(--brand-dark)}.pill-success{background:var(--success-light);color:var(--success)}.pill-warning{background:var(--warning-light);color:var(--warning)}.pill-danger{background:var(--danger-light);color:var(--danger)}.confidence-high{color:var(--success);font-weight:600}.confidence-mid{color:var(--warning);font-weight:500}.confidence-low{color:var(--danger);font-weight:500}.animate-spin{animation:spin 1s linear infinite}@media (max-width:768px){.progress-step,.progress-steps{gap:12px}.step-circle{width:32px;height:32px;font-size:12px}.step-title{font-size:14px}.step-description{font-size:13px}.dropzone{padding:24px 16px}.dropzone-message{font-size:14px}.dropzone-details{font-size:12px}}