.odo-button{min-width:var(--odo-touch-target-min);min-height:var(--odo-touch-target-min);justify-content:center;align-items:center;gap:var(--odo-space-2);border-radius:var(--odo-radius-sm);background:var(--odo-color-ink);color:#fff;cursor:pointer;transition:background var(--odo-motion-fast), border-color var(--odo-motion-fast), opacity var(--odo-motion-fast);overflow-wrap:anywhere;border:1px solid #0000;padding:.8125rem 1.125rem;font-weight:600;line-height:1.1;display:inline-flex}.odo-button:hover:not(:disabled){background:#2a2e34}.odo-button--accent,.odo-button--destructive{background:var(--odo-color-accent)}.odo-button--accent:hover:not(:disabled),.odo-button--destructive:hover:not(:disabled){background:var(--odo-color-accent-hover)}.odo-button--secondary{border-color:var(--odo-color-border);background:var(--odo-color-surface);color:var(--odo-color-ink)}.odo-button--secondary:hover:not(:disabled),.odo-button--quiet:hover:not(:disabled){background:var(--odo-color-surface-muted)}.odo-button--quiet{color:var(--odo-color-ink-soft);background:0 0}.odo-button:disabled{cursor:not-allowed;opacity:.52}.odo-button__spinner{width:1rem;height:1rem;animation:.8s linear infinite odo-spin}@keyframes odo-spin{to{transform:rotate(360deg)}}.odo-dialog-mask{z-index:1000;padding:max(var(--odo-space-5), var(--odo-safe-top)) max(var(--odo-space-5), var(--odo-safe-right)) max(var(--odo-space-5), var(--odo-safe-bottom)) max(var(--odo-space-5), var(--odo-safe-left));background:#14161a7a;place-items:center;display:grid;position:fixed;inset:0}.odo-dialog{border-radius:var(--odo-radius-xl);background:var(--odo-color-surface);width:min(100%,30rem);max-height:100%;box-shadow:var(--odo-elevation-dialog);overflow:auto}.odo-dialog__header{justify-content:space-between;align-items:center;gap:var(--odo-space-4);padding:var(--odo-space-5) var(--odo-space-5) var(--odo-space-3);display:flex}.odo-dialog__title{font-size:var(--odo-font-size-lg);font-weight:600;line-height:var(--odo-line-tight)}.odo-dialog__close{min-width:var(--odo-touch-target-min);min-height:var(--odo-touch-target-min);background:var(--odo-color-surface-muted);color:var(--odo-color-ink);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.odo-dialog__content{padding:var(--odo-space-3) var(--odo-space-5) var(--odo-space-5);color:var(--odo-color-ink-soft)}.odo-dialog__footer{justify-content:flex-end;gap:var(--odo-space-3);padding:0 var(--odo-space-5) var(--odo-space-5);display:flex}.odo-form-error-summary[data-v-ec3b6b60]{justify-content:center;align-items:flex-start;gap:var(--odo-space-2);margin:calc(var(--odo-space-2) * -1) 0 0;color:var(--odo-color-accent);text-align:center;font-size:.8125rem;font-weight:500;line-height:1.3;display:flex}.odo-form-error-summary__icon[data-v-ec3b6b60]{border:.1rem solid;border-radius:50%;flex:none;place-items:center;width:.9375rem;height:.9375rem;margin-top:.0625rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-grid}.odo-message{gap:var(--odo-space-3);min-width:0;padding:var(--odo-space-4);border:1px solid var(--odo-color-border);border-radius:var(--odo-radius-md);background:var(--odo-color-surface);color:var(--odo-color-ink-soft);display:flex}.odo-message--success{background:var(--odo-color-success-soft);color:#245f45;border-color:#c8e0d5}.odo-message--warn{background:var(--odo-color-warning-soft);color:var(--odo-color-warning-ink);border-color:#e8d9ae}.odo-message--error{border-color:var(--odo-color-error-border);background:var(--odo-color-error-soft);color:var(--odo-color-error-ink)}.odo-message__icon{flex:none;margin-top:.1875rem}.odo-message__content{min-width:0;line-height:var(--odo-line-body);overflow-wrap:anywhere}.odo-message__content a{min-height:var(--odo-touch-target-min);align-items:center;display:inline-flex}.odo-password[data-v-0b3eab77]{gap:.4375rem;min-width:0;display:grid}.odo-password__label[data-v-0b3eab77]{color:var(--odo-color-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem;font-weight:600;line-height:1.2}.odo-password__control-wrap[data-v-0b3eab77]{position:relative}[data-v-0b3eab77] .odo-password__control{width:100%;min-height:var(--odo-touch-target-min);border:1px solid var(--odo-color-border);background:var(--odo-color-surface);color:var(--odo-color-ink);border-radius:.8125rem;padding:.875rem 4.5rem .875rem .9375rem;font-size:1rem}[data-v-0b3eab77] .odo-password__control:focus{border-color:var(--odo-color-ink);box-shadow:0 0 0 1px var(--odo-color-ink);outline:none}.odo-password__toggle[data-v-0b3eab77]{min-width:3.75rem;min-height:var(--odo-touch-target-min);color:var(--odo-color-muted);cursor:pointer;font-size:var(--odo-font-size-sm);background:0 0;border:0;padding:0 .6rem;font-weight:600;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.odo-password--error[data-v-0b3eab77] .odo-password__control{border-width:.09375rem;border-color:var(--odo-color-accent)}.odo-password__help[data-v-0b3eab77]{color:var(--odo-color-muted);font-size:var(--odo-font-size-xs);margin:0;line-height:1.4}.odo-password__help--error[data-v-0b3eab77]{align-items:flex-start;gap:var(--odo-space-2);color:var(--odo-color-accent);font-weight:500;display:flex}.odo-password__error-icon[data-v-0b3eab77]{border:.1rem solid;border-radius:50%;flex:none;place-items:center;width:.9375rem;height:.9375rem;margin-top:.0625rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-grid}.odo-field[data-v-0ede8475]{gap:.4375rem;min-width:0;display:grid}.odo-field__label[data-v-0ede8475]{color:var(--odo-color-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem;font-weight:600;line-height:1.2}[data-v-0ede8475] .odo-field__control{width:100%;min-height:var(--odo-touch-target-min);border:1px solid var(--odo-color-border);background:var(--odo-color-surface);color:var(--odo-color-ink);transition:border-color var(--odo-motion-fast), box-shadow var(--odo-motion-fast);border-radius:.8125rem;padding:.875rem .9375rem;font-size:1rem;line-height:1.2}[data-v-0ede8475] .odo-field__control:focus{border-color:var(--odo-color-ink);box-shadow:0 0 0 1px var(--odo-color-ink);outline:none}.odo-field--error[data-v-0ede8475] .odo-field__control{border-width:.09375rem;border-color:var(--odo-color-accent)}.odo-field__help[data-v-0ede8475]{color:var(--odo-color-muted);font-size:var(--odo-font-size-xs);margin:0;line-height:1.4}.odo-field__help--error[data-v-0ede8475]{align-items:flex-start;gap:var(--odo-space-2);color:var(--odo-color-accent);font-weight:500;display:flex}.odo-field__error-icon[data-v-0ede8475]{border:.1rem solid;border-radius:50%;flex:none;place-items:center;width:.9375rem;height:.9375rem;margin-top:.0625rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-grid}.odo-toggle-row[data-v-82a155a2]{min-width:0;min-height:var(--odo-touch-target-min);justify-content:space-between;align-items:center;gap:var(--odo-space-4);display:flex}.odo-toggle-row__copy[data-v-82a155a2]{gap:var(--odo-space-1);min-width:0;display:grid}.odo-toggle-row__label[data-v-82a155a2]{color:var(--odo-color-ink);font-weight:500}.odo-toggle-row__description[data-v-82a155a2]{color:var(--odo-color-muted);font-size:var(--odo-font-size-xs);overflow-wrap:anywhere}[data-v-82a155a2] .odo-toggle{width:3.25rem;min-width:var(--odo-touch-target-min);min-height:var(--odo-touch-target-min);cursor:pointer;align-items:center;display:inline-flex;position:relative}[data-v-82a155a2] .odo-toggle__input{opacity:0;width:100%;height:100%;margin:0;position:absolute}[data-v-82a155a2] .odo-toggle__slider{border-radius:var(--odo-radius-pill);width:2.75rem;height:1.625rem;transition:background var(--odo-motion-fast);background:#c3c7cb;position:relative}[data-v-82a155a2] .odo-toggle__input:focus-visible+.odo-toggle__slider{outline:.1875rem solid var(--odo-color-ink);outline-offset:.1875rem}[data-v-82a155a2] .odo-toggle__slider:after{width:1.25rem;height:1.25rem;box-shadow:var(--odo-elevation-low);content:"";transition:transform var(--odo-motion-fast);background:#fff;border-radius:50%;position:absolute;top:.1875rem;left:.1875rem}[data-v-82a155a2] .odo-toggle[data-p-checked=true] .odo-toggle__slider{background:var(--odo-color-accent)}[data-v-82a155a2] .odo-toggle[data-p-checked=true] .odo-toggle__slider:after{transform:translate(1.125rem)}
