@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);body,html{margin:0;padding:0;background-color:#f9fafb;min-height:100vh}:root{--primary:#46c8bb;--primary-dark:#3ab5a8;--primary-light:#5ed4c8;--primary-bg:rgba(70,200,187,.1);--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-on-primary:#fff;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-hover:#f7f8fa;--border-light:#e5e7eb;--border-medium:#d1d5db;--border-focus:var(--primary);--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 2px 4px -1px rgba(0,0,0,.06),0 1px 2px -1px rgba(0,0,0,.03);--shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.03);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.03);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.03);--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em}*{box-sizing:border-box}body{margin:0;padding:0;background-color:var(--bg-secondary)}.app{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--font-size-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;max-width:1000px;padding:var(--space-md);overflow-x:hidden;min-height:100vh}.app,.card{margin:0 auto;box-sizing:border-box;width:100%}.card{max-width:800px;box-shadow:var(--shadow-lg)}.card,.email-journey-notice{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-lg)}.email-journey-notice{margin-bottom:var(--space-xl);text-align:center;box-shadow:var(--shadow-md)}.email-journey-notice h3{font-size:var(--font-size-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-md) 0}.email-journey-notice p{font-size:var(--font-size-lg);font-weight:var(--font-medium);color:var(--text-secondary);margin:0;line-height:var(--leading-relaxed)}.toast-notification{position:fixed;bottom:var(--space-md);left:50%;transform:translateX(-50%);background:var(--bg-primary);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-medium);animation:slideUp .3s ease-out;border:2px solid transparent;transition:all var(--transition-base);z-index:1000;max-width:420px;min-width:auto}.toast-notification.success{background:var(--success);color:#fff;border-color:var(--success)}.toast-notification.info{background:var(--info);color:#fff;border-color:var(--info)}.toast-icon{font-size:var(--font-size-lg);display:inline-flex;align-items:center}.toast-message{flex:1}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(100%)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.timeline-container{padding:var(--space-sm)}.timeline{position:relative;max-width:650px;margin:0 auto}.timeline:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--border-light);z-index:0}.timeline-marker{position:absolute;left:5px;top:.7rem;width:16px;height:16px;border-radius:var(--radius-full);background:var(--primary);border:2px solid var(--bg-primary);z-index:2;transition:background-color var(--transition-slow),box-shadow var(--transition-slow);box-shadow:0 0 0 2px var(--primary-bg);transform:translateX(0) translateY(0)}.timeline-step{position:relative;padding-left:32px;margin-bottom:var(--space-md);cursor:pointer}.timeline-content,.timeline-step{transition:all var(--transition-slow)}.timeline-content{background:var(--bg-primary);padding:var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.timeline-content h2{font-size:var(--font-size-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-xs);color:var(--text-primary);transition:all var(--transition-base);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.step-description{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:var(--font-size-sm);line-height:var(--leading-relaxed);transition:all var(--transition-base);letter-spacing:var(--tracking-normal)}.timeline-step.active .timeline-marker{background:var(--primary);box-shadow:0 0 0 4px var(--primary-bg);animation:pulse 1.5s cubic-bezier(.4,0,.2,1) infinite;left:5px}@keyframes pulse{0%,to{box-shadow:0 0 0 4px var(--primary-bg)}50%{box-shadow:0 0 0 8px rgba(70,200,187,.1)}}.timeline-step.active .timeline-content{box-shadow:var(--shadow-md);transform:translateX(4px);border-color:var(--primary);background:var(--bg-primary);border-width:2px}.timeline-step.active h2{color:var(--text-primary);font-weight:var(--font-semibold)}.timeline-step.active .step-description{color:var(--text-secondary)}.timeline-step.upcoming .timeline-content{opacity:.6;transform:translateX(0) scale(.98);background:var(--bg-secondary);filter:grayscale(.1)}.timeline-step.upcoming .timeline-marker{background:var(--border-medium);box-shadow:none;left:5px}.timeline-step.upcoming .step-description,.timeline-step.upcoming h2{color:var(--text-tertiary);font-weight:var(--font-normal)}.timeline-step.completed .timeline-marker{background:var(--success);left:5px;transform:translateX(0) translateY(0)}.timeline-step.completed .timeline-marker:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--bg-primary);border-radius:var(--radius-full)}.timeline-step.completed .timeline-content{opacity:.9;background:var(--bg-primary);transition:all var(--transition-base)}.timeline-step.completed:hover .timeline-content{opacity:1;transform:translateX(2px);box-shadow:var(--shadow-sm)}.input-group{margin:var(--space-sm) 0}.button-group,.input-group{transition:all var(--transition-base)}.button-group{margin-top:var(--space-md);display:flex;gap:var(--space-sm);justify-content:flex-end}input{height:44px;font-size:var(--font-size-base);padding:0 var(--space-md);margin-bottom:var(--space-sm);transition:all var(--transition-base);border:2px solid var(--border-light);border-radius:var(--radius-md);letter-spacing:var(--tracking-normal);width:100%;box-sizing:border-box;font-family:inherit;color:var(--text-primary);background:var(--bg-primary);font-weight:var(--font-medium);box-shadow:var(--shadow-xs)}input::-moz-placeholder{font-size:var(--font-size-sm);color:var(--text-tertiary);font-weight:var(--font-normal);letter-spacing:var(--tracking-normal)}input::placeholder{font-size:var(--font-size-sm);color:var(--text-tertiary);font-weight:var(--font-normal);letter-spacing:var(--tracking-normal)}input:focus{border-color:var(--primary);background:var(--bg-primary);box-shadow:0 0 0 3px var(--primary-bg),var(--shadow-md);outline:none;transform:translateY(-1px)}button{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);min-width:100px;border-radius:var(--radius-lg);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);border:none;font-family:inherit;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;box-shadow:var(--shadow-sm)}button,button:not(:disabled){transition:all var(--transition-base)}button:not(:disabled){background:var(--primary);color:var(--text-on-primary);transform:translateY(0)}button:not(:disabled):before{content:"";position:absolute;inset:0;background:radial-gradient(circle,hsla(0,0%,100%,.15) 0,transparent 70%);opacity:0;transform:scale(0);transition:opacity .5s,transform .5s}button:not(:disabled):active:before{opacity:1;transform:scale(1);transition:0s}button:not(:disabled):hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}button:not(:disabled):active{transform:translateY(0);box-shadow:var(--shadow-sm)}button.secondary{background:var(--bg-secondary);color:var(--text-secondary);box-shadow:none}button.secondary:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-md)}button:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none;opacity:.6}.business-type-toggle{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-xs);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.business-type-toggle button{flex:1;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-medium);box-shadow:none}.business-type-toggle button.active{background:var(--bg-primary);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:var(--font-semibold)}.business-type-toggle button:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.search-results{max-height:280px;transition:all var(--transition-base);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-top:var(--space-xs);position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);z-index:1000;overflow-y:auto;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-result-item{padding:var(--space-md);transition:all var(--transition-base);border-bottom:1px solid var(--border-light);cursor:pointer}.search-result-item:hover{transform:translateX(4px);background-color:var(--bg-hover)}.company-name{font-size:var(--font-size-base);font-weight:var(--font-semibold);margin-bottom:var(--space-xs);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.company-details,.company-name{transition:all var(--transition-base)}.company-details{font-size:var(--font-size-sm);letter-spacing:var(--tracking-normal);color:var(--text-secondary)}.company-address{margin-bottom:var(--space-xs);line-height:var(--leading-relaxed)}.company-number{color:var(--text-tertiary);margin-bottom:var(--space-xs)}.company-number,.company-status{font-size:var(--font-size-xs);font-weight:var(--font-medium)}.company-status{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);margin-top:var(--space-xs);background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.search-loading{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);font-size:var(--font-size-sm);color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-sm)}.search-loading:after{content:"";width:1rem;height:1rem;border:2px solid var(--border-light);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.search-error{padding:var(--space-sm);background-color:rgba(239,68,68,.1)}.error-message,.search-error{font-size:var(--font-size-sm);color:var(--error);margin-top:var(--space-sm);border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.2)}.error-message{padding:var(--space-sm) var(--space-md);background:rgba(239,68,68,.1);white-space:pre-line;animation:shake .3s ease-in-out;box-shadow:var(--shadow-sm);font-weight:var(--font-medium);text-align:center;max-width:400px;margin-left:auto;margin-right:auto}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media (max-width:768px){.timeline{max-width:100%}.timeline-container{padding:var(--space-xs)}.timeline:before{left:8px}.timeline-step{padding-left:28px}.timeline-marker{left:0}.timeline-content{padding:var(--space-sm) var(--space-md)}.timeline-content h2{font-size:var(--font-size-base)}.step-description{font-size:var(--font-size-xs)}button,input{font-size:var(--font-size-sm)}input{height:40px}button{padding:var(--space-xs) var(--space-md)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.timeline-step{animation:fadeIn .4s ease forwards;animation-delay:calc(var(--step-index, 0)*.1s)}.timeline-content{animation:slideIn .4s ease forwards;animation-delay:calc(var(--step-index, 0)*.1s)}.timeline-step.upcoming:not(.has-url-params) button,.timeline-step.upcoming:not(.has-url-params) input{opacity:.6;pointer-events:none;background:var(--bg-tertiary)}.timeline-step.completed input{opacity:1;background-color:var(--bg-primary)}.timeline-step.has-url-params.completed .timeline-content{background:rgba(70,200,187,.02);border-left:3px solid var(--primary)}.timeline-step.has-url-params.completed .timeline-content:before{content:"✓ Securely pre-filled from Commercial Experts";display:block;font-size:var(--font-size-xs);color:var(--primary);font-weight:var(--font-medium);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.tfli-header{background:var(--bg-primary);border-bottom:1px solid var(--border-light);position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:var(--shadow-sm)}.header-content{max-width:800px;margin:0 auto;padding:var(--space-md);display:flex;justify-content:flex-start;align-items:center}.logo-container{gap:var(--space-lg);flex-wrap:wrap}.logo,.logo-container{display:flex;align-items:center}.logo img{height:32px;width:auto;filter:brightness(.95);transition:all var(--transition-base)}.logo img:hover{filter:brightness(1.05);transform:scale(1.02)}.logo a{display:inline-block;text-decoration:none}.swoop-logo img,.tfli-logo img{height:32px}.logo-separator{display:flex;align-items:center;margin:0 var(--space-sm)}.partnership-text{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide);white-space:nowrap}@media (max-width:768px){.logo-container{gap:var(--space-md);justify-content:center;width:100%}.partnership-text{font-size:var(--font-size-xs)}.swoop-logo img,.tfli-logo img{height:24px}.tfli-logo img{height:22px}.toast-notification{bottom:var(--space-sm);max-width:calc(100% - var(--space-md));font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm)}.toast-icon{font-size:var(--font-size-base)}}main{margin-top:72px;animation:fadeIn .5s ease}.trust-indicator{text-align:center;margin-top:var(--space-xl);padding:var(--space-md);animation:fadeIn .8s ease}.trust-indicator p{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-medium);margin:0;letter-spacing:var(--tracking-normal)}.company-search{position:relative;margin-bottom:1rem;width:100%}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-input-wrapper input{padding-right:calc(var(--space-xl)*2);margin-bottom:0}.toggle-password{position:absolute;right:var(--space-sm);background:none;border:none;cursor:pointer;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);color:var(--text-tertiary);transition:all var(--transition-base);border-radius:var(--radius-sm);height:auto;min-width:auto;box-shadow:none}.toggle-password:hover{background:var(--bg-hover);color:var(--primary)}.name-inputs{display:flex;gap:var(--space-md);width:100%;box-sizing:border-box;flex-wrap:wrap}.name-inputs input{flex:1;min-width:150px;margin-bottom:0}.timeline-step.has-error .timeline-marker{background:var(--error);box-shadow:0 0 0 4px rgba(239,68,68,.15)}.timeline-step.has-error .timeline-content{border-color:var(--error)}.timeline-step.completed.has-error .timeline-marker{background:var(--primary);box-shadow:0 0 0 4px var(--primary-bg)}.timeline-step.completed.has-error .timeline-content{border-color:var(--primary)}input.error{border-color:var(--error);background-color:rgba(239,68,68,.05);animation:shake .3s ease-in-out}input.error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.15),var(--shadow-sm)}.button-loading{display:flex;align-items:center;gap:var(--space-sm);justify-content:center}.spinner{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}button:disabled .spinner{border-color:rgba(0,0,0,.1);border-top-color:var(--text-tertiary)}