.form-field{margin-bottom:1.5rem}.form-field__label{font-family:var(--font-family);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:.5rem;font-size:.875rem;display:block}.form-field__required{color:var(--color-coral);margin-left:.25rem}.form-field__hint{color:var(--color-text-muted);margin-top:.375rem;margin-bottom:0;font-size:.75rem}.form-field__error{color:var(--color-coral);margin-top:.375rem;margin-bottom:0;font-size:.75rem}.form-input{width:100%;font-family:var(--font-family);color:var(--color-text);background-color:var(--color-white);border:2px solid var(--color-border);box-sizing:border-box;border-radius:4px;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--color-cobalt);outline:none;box-shadow:0 0 0 3px #2700f21a}.form-input::placeholder{color:var(--color-text-muted)}.form-input--error{border-color:var(--color-coral)}.form-input--error:focus{box-shadow:0 0 0 3px #ff6e521a}.form-input:disabled{background-color:var(--color-lavender);cursor:not-allowed}.form-input--compact{border-width:1px;padding:.375rem .5rem;font-size:.8125rem}.form-select{width:100%;font-family:var(--font-family);color:var(--color-text);background-color:var(--color-white);border:2px solid var(--color-border);cursor:pointer;appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23020030' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border-radius:4px;padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-select:focus{border-color:var(--color-cobalt);outline:none;box-shadow:0 0 0 3px #2700f21a}.form-select--error{border-color:var(--color-coral)}.form-select--compact{background-position:right .5rem center;border-width:1px;padding:.375rem 1.75rem .375rem .5rem;font-size:.8125rem}.radio-group{flex-direction:column;gap:.75rem;display:flex}.radio-option{background-color:var(--color-white);border:2px solid var(--color-border);cursor:pointer;border-radius:4px;align-items:flex-start;padding:1rem;transition:border-color .2s,background-color .2s;display:flex}.radio-option:hover{border-color:var(--color-cobalt)}.radio-option--selected{border-color:var(--color-cobalt);background-color:#2700f20d}.radio-option__input{width:1.25rem;height:1.25rem;accent-color:var(--color-cobalt);flex-shrink:0;margin:0 .75rem 0 0}.radio-option__content{flex-direction:column;gap:.25rem;display:flex}.radio-option__label{font-weight:var(--font-weight-bold);color:var(--color-text)}.radio-option__description{color:var(--color-text-muted);font-size:.875rem}.form-checkbox{width:16px;height:16px;accent-color:var(--color-cobalt);cursor:pointer;flex-shrink:0;margin:0}.form-checkbox:disabled{cursor:default}.btn{font-family:var(--font-family);font-weight:var(--font-weight-bold);cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;transition:all .2s;display:inline-flex}.btn:focus{outline:none;box-shadow:0 0 0 3px #2700f233}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--xs{padding:.2rem .6rem;font-size:.75rem}.btn--small{padding:.5rem 1rem;font-size:.875rem}.btn--medium{padding:.75rem 1.5rem;font-size:1rem}.btn--large{padding:1rem 2rem;font-size:1.125rem}.btn--primary{background-color:var(--color-cobalt);color:var(--color-white);border-color:var(--color-cobalt)}.btn--primary:hover:not(:disabled){background-color:var(--color-midnight-blue);border-color:var(--color-midnight-blue)}.btn--secondary{background-color:var(--color-teal);color:var(--color-midnight-blue);border-color:var(--color-teal)}.btn--secondary:hover:not(:disabled){background-color:#52c7b9;border-color:#52c7b9}.btn--outline{color:var(--color-cobalt);border-color:var(--color-cobalt);background-color:#0000}.btn--outline:hover:not(:disabled){background-color:var(--color-cobalt);color:var(--color-white)}.btn--ghost{color:var(--color-cobalt);background-color:#0000;border-color:#0000}.btn--ghost:hover:not(:disabled){background-color:var(--color-lavender)}.btn--danger{background-color:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background-color:var(--color-danger-fg);border-color:var(--color-danger-fg)}.btn--full-width{width:100%}.btn--loading{position:relative}.btn__spinner{justify-content:center;align-items:center;display:flex;position:absolute}.btn__spinner svg{width:1.25rem;height:1.25rem;animation:1s linear infinite spin}.btn__spinner circle{stroke:currentColor;stroke-dasharray:50;stroke-dashoffset:20px;stroke-linecap:round}.btn__content--hidden{visibility:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-group{gap:1rem;margin-top:2rem;display:flex}.btn-group--left{justify-content:flex-start}.btn-group--center{justify-content:center}.btn-group--right{justify-content:flex-end}.btn-group--space-between{justify-content:space-between}.progress{width:100%}.progress__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.progress__label{font-size:.875rem;font-weight:var(--font-weight-bold);color:var(--color-text)}.progress__percentage{font-size:.875rem;font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.progress__track{background-color:var(--color-lavender);border-radius:9999px;width:100%;overflow:hidden}.progress--small .progress__track{height:4px}.progress--medium .progress__track{height:8px}.progress--large .progress__track{height:12px}.progress__fill{border-radius:9999px;height:100%;transition:width .3s}.progress--default .progress__fill{background-color:var(--color-cobalt)}.progress--success .progress__fill{background-color:var(--color-teal)}.progress--error .progress__fill{background-color:var(--color-coral)}.step-progress{width:100%;padding:1rem 0}.step-progress__track{align-items:flex-start;display:flex}.step-progress__step{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.step-progress__indicator{width:2.5rem;height:2.5rem;font-weight:var(--font-weight-bold);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.step-progress__step--pending .step-progress__indicator{background-color:var(--color-lavender);color:var(--color-text-muted);border:2px solid var(--color-border)}.step-progress__step--active .step-progress__indicator{background-color:var(--color-cobalt);color:var(--color-white);border:2px solid var(--color-cobalt)}.step-progress__step--completed .step-progress__indicator{background-color:var(--color-teal);color:var(--color-white);border:2px solid var(--color-teal)}.step-progress__indicator svg{width:1rem;height:1rem}.step-progress__content{text-align:center;flex-direction:column;align-items:center;max-width:100px;margin-top:.5rem;display:flex}.step-progress__title{font-size:.75rem;font-weight:var(--font-weight-bold);color:var(--color-text)}.step-progress__step--pending .step-progress__title{color:var(--color-text-muted)}.step-progress__description{color:var(--color-text-muted);margin-top:.25rem;font-size:.625rem}.step-progress__connector{background-color:var(--color-border);flex:1;min-width:2rem;height:2px;margin:1.25rem .5rem 0}.step-progress__connector--completed{background-color:var(--color-teal)}@media (width<=640px){.step-progress__content{display:none}.step-progress__connector{margin-top:1.25rem}}
