.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:var(--text-base);line-height:1;padding:var(--space-3) var(--space-5);border:var(--border-width) solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:focus-visible{outline:var(--focus-ring-width) solid var(--accent-strong);outline-offset:var(--focus-ring-offset)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent-strong);color:var(--accent-contrast);box-shadow:var(--shadow-md)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--accent-hover)}@media (hover: hover) and (pointer: fine){.btn--primary:hover:not(:disabled){background:var(--accent-strong-hover)}.btn--secondary:hover:not(:disabled){background:var(--bg-muted)}.btn--ghost:hover:not(:disabled){background:var(--accent-subtle)}.btn:active:not(:disabled){transform:scale(.97)}}.btn__spinner{width:.9em;height:.9em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin var(--dur-spin) linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn{transition:background-color var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:none}.btn__spinner{animation-duration:1.2s}}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--text);line-height:1.3}.field__required{color:var(--error)}.field__hint{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-subtle);margin:0;line-height:1.4}.field__error{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--error);margin:0;line-height:1.4;animation:field-error-in var(--dur-fast) var(--ease-out)}@keyframes field-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.input{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--surface);border:1.5px solid #e2e5ea;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;box-sizing:border-box;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.input::placeholder{color:var(--text-subtle)}.input:focus-visible{outline:2px solid transparent;border-color:#a6d2ca;box-shadow:0 0 0 3px #00786b1f}.input[aria-invalid=true]{border-color:var(--error)}.input[aria-invalid=true]:focus-visible{outline-color:var(--error)}.input:disabled{opacity:.55;cursor:not-allowed;background:var(--bg-muted)}:root{--chevron-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='black' stroke-width='1.5' fill='none'/%3E%3C/svg%3E")}.select-wrap{position:relative;display:block}.select-wrap:after{content:"";position:absolute;right:var(--space-3);top:50%;width:.7rem;height:.7rem;transform:translateY(-50%);background-color:var(--text-muted);-webkit-mask:var(--chevron-mask) center / contain no-repeat;mask:var(--chevron-mask) center / contain no-repeat;pointer-events:none}.select-wrap select.input{appearance:none;padding-right:var(--space-8);cursor:pointer}textarea.input{min-height:7rem;resize:vertical}.seg{display:flex;flex-wrap:wrap;gap:var(--space-2)}.seg__btn{flex:1 1 auto;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);background:var(--surface);border:1.5px solid #e7e9ee;border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media (hover: hover) and (pointer: fine){.seg__btn:hover{border-color:var(--accent-strong);color:var(--text)}}.seg__btn.is-active{border-color:var(--accent-strong);background:var(--accent-subtle);color:var(--accent-hover)}.seg__btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px #00786b1f}@media (prefers-reduced-motion: reduce){.field__error{animation:none}.input,.seg__btn{transition:none}}.stepper{display:flex;align-items:flex-start;gap:0;list-style:none;margin:0;padding:0;position:relative}.stepper__item{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;gap:var(--space-2)}.stepper__item:not(:last-child):after{content:"";position:absolute;top:.875rem;left:50%;width:100%;height:var(--border-width);background:var(--border-strong);transition:background-color var(--dur-mid) var(--ease-out)}.stepper__item--complete:not(:last-child):after,.stepper__item--active:not(:last-child):after{background:var(--accent-strong)}.stepper__indicator{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-pill);border:var(--border-width) solid var(--border-strong);background:var(--surface);color:var(--text-subtle);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);position:relative;z-index:1;transition:background-color var(--dur-mid) var(--ease-out),border-color var(--dur-mid) var(--ease-out),color var(--dur-mid) var(--ease-out),transform var(--dur-mid) var(--ease-out)}.stepper__item--active .stepper__indicator{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-contrast);transform:scale(1.1)}.stepper__item--complete .stepper__indicator{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-contrast)}.stepper__number{line-height:1}.stepper__label{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-subtle);text-align:center;transition:color var(--dur-mid) var(--ease-out);line-height:1.3}.stepper__item--active .stepper__label{color:var(--accent-strong);font-weight:var(--font-weight-semibold)}.stepper__item--complete .stepper__label{color:var(--text-muted)}@media (prefers-reduced-motion: reduce){.stepper__indicator{transition:background-color var(--dur-mid) var(--ease-out),border-color var(--dur-mid) var(--ease-out),color var(--dur-mid) var(--ease-out)}.stepper__item--active .stepper__indicator{transform:none}.stepper__item:not(:last-child):after{transition:none}.stepper__label{transition:none}}@keyframes dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-content-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.dialog-overlay{position:fixed;inset:0;z-index:50;background:#0f2a2073;animation:dialog-overlay-in var(--dur-mid) var(--ease-out) both}.dialog-content{position:fixed;left:50%;top:50%;z-index:51;transform:translate(-50%,-50%);transform-origin:center;width:clamp(280px,90vw,480px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);outline:none}.dialog-content[data-state=open]{animation:dialog-content-in var(--dur-mid) var(--ease-out) both}.dialog-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--text);margin:0 0 var(--space-2)}.dialog-description{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-muted, var(--text));margin:0 0 var(--space-4)}.dialog-content:focus-visible{outline:var(--focus-ring-width) solid var(--accent-strong);outline-offset:var(--focus-ring-offset)}@keyframes popover-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.popover-content{z-index:40;transform-origin:var(--radix-popover-content-transform-origin);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);min-width:180px;outline:none}.popover-content[data-state=open]{animation:popover-in var(--dur-mid) var(--ease-out) both}.popover-content:focus-visible{outline:var(--focus-ring-width) solid var(--accent-strong);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion: reduce){.dialog-content[data-state=open],.popover-content[data-state=open],.dialog-overlay{animation:none;opacity:1}}
