/* Sprint 2.2.2 v1.3.2 accessible form system */
.tpr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tpr-space-5)}
.tpr-form-field{display:grid;gap:var(--tpr-space-2);min-width:0}.tpr-form-field__label{display:flex;gap:.25rem;align-items:baseline;color:var(--tpr-section-ink);font-size:var(--tpr-text-sm);font-weight:800}.tpr-form-field__required{color:#b42318}.tpr-form-field__message{margin:0;color:var(--tpr-muted);font-size:var(--tpr-text-xs);line-height:1.45}.tpr-form-field__message--error{color:#9b211d;font-weight:700}.tpr-form-field__message--success{color:#166534;font-weight:700}
.tpr-control-wrap{position:relative;display:block}.tpr-control-wrap__loader{position:absolute;inset-inline-end:1rem;top:50%;display:flex;transform:translateY(-50%);pointer-events:none}.tpr-form-field.is-loading .tpr-input,.tpr-form-field.is-loading .tpr-textarea{padding-inline-end:3rem}
.tpr-input,.tpr-select,.tpr-textarea{display:block;width:100%;min-height:50px;padding:.78rem 1rem;border:1px solid var(--tpr-line-strong,var(--tpr-line));border-radius:var(--tpr-control-radius);background:var(--tpr-card);color:var(--tpr-text);font:inherit;line-height:1.35;transition:border-color var(--tpr-duration-fast) var(--tpr-ease),box-shadow var(--tpr-duration-fast) var(--tpr-ease),background-color var(--tpr-duration-fast) var(--tpr-ease)}.tpr-textarea{min-height:130px;resize:vertical}.tpr-select{appearance:none;padding-inline-end:2.75rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.tpr-input::placeholder,.tpr-textarea::placeholder{color:var(--tpr-muted);opacity:.8}.tpr-input:hover,.tpr-select:hover,.tpr-textarea:hover{border-color:var(--tpr-section-ink)}.tpr-input:focus-visible,.tpr-select:focus-visible,.tpr-textarea:focus-visible,.tpr-range__input:focus-visible+.tpr-range__output{outline:0;border-color:var(--tpr-accent);box-shadow:var(--tpr-ring)}.tpr-input:disabled,.tpr-select:disabled,.tpr-textarea:disabled,.tpr-input[readonly],.tpr-textarea[readonly]{cursor:not-allowed;background:var(--tpr-paper);color:var(--tpr-muted);opacity:.7}.tpr-form-field.is-error .tpr-input,.tpr-form-field.is-error .tpr-select,.tpr-form-field.is-error .tpr-textarea{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.11)}.tpr-form-field.is-success .tpr-input,.tpr-form-field.is-success .tpr-select,.tpr-form-field.is-success .tpr-textarea{border-color:#16803c;box-shadow:0 0 0 3px rgba(22,128,60,.10)}
.tpr-choice{position:relative;display:flex;gap:var(--tpr-space-3);align-items:flex-start;cursor:pointer}.tpr-choice__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.tpr-choice__control{display:grid;width:1.25rem;height:1.25rem;flex:0 0 auto;place-items:center;margin-top:.15rem;border:1px solid var(--tpr-line-strong,var(--tpr-line));border-radius:.25rem;background:var(--tpr-card);transition:all var(--tpr-duration-fast) var(--tpr-ease)}.tpr-form-field--radio .tpr-choice__control{border-radius:50%}.tpr-choice__input:checked+.tpr-choice__control{border-color:var(--tpr-accent);background:var(--tpr-accent)}.tpr-choice__input:checked+.tpr-choice__control:after{content:"";width:.58rem;height:.32rem;border-inline-start:2px solid var(--tpr-accent-contrast);border-bottom:2px solid var(--tpr-accent-contrast);transform:rotate(-45deg) translateY(-1px)}.tpr-form-field--radio .tpr-choice__input:checked+.tpr-choice__control:after{width:.48rem;height:.48rem;border:0;border-radius:50%;background:var(--tpr-accent-contrast);transform:none}.tpr-choice__input:focus-visible+.tpr-choice__control{box-shadow:var(--tpr-ring)}.tpr-choice__input:disabled+.tpr-choice__control,.tpr-choice__input:disabled~.tpr-choice__content{cursor:not-allowed;opacity:.55}.tpr-choice__content{display:grid;gap:.15rem}.tpr-choice__label{font-size:var(--tpr-text-sm);font-weight:800;color:var(--tpr-section-ink)}.tpr-choice__help{color:var(--tpr-muted);font-size:var(--tpr-text-xs)}
.tpr-toggle__control{position:relative;width:2.7rem;height:1.5rem;flex:0 0 auto;margin-top:.05rem;border:1px solid var(--tpr-line-strong,var(--tpr-line));border-radius:var(--tpr-radius-pill);background:var(--tpr-paper-deep);transition:all var(--tpr-duration-fast) var(--tpr-ease)}.tpr-toggle__control:after{content:"";position:absolute;top:2px;left:2px;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--tpr-card);box-shadow:var(--tpr-shadow-sm);transition:transform var(--tpr-duration-fast) var(--tpr-ease)}.tpr-choice__input:checked+.tpr-toggle__control{border-color:var(--tpr-accent);background:var(--tpr-accent)}.tpr-choice__input:checked+.tpr-toggle__control:after{transform:translateX(1.18rem)}.tpr-choice__input:focus-visible+.tpr-toggle__control{box-shadow:var(--tpr-ring)}
.tpr-range{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--tpr-space-4);align-items:center}.tpr-range__input{width:100%;accent-color:var(--tpr-accent)}.tpr-range__output{min-width:3.5rem;padding:.45rem .6rem;border:1px solid var(--tpr-line);border-radius:var(--tpr-radius-sm);background:var(--tpr-paper);font-size:var(--tpr-text-sm);font-weight:800;text-align:center}
.tpr-fieldset{display:grid;gap:var(--tpr-space-4);min-width:0;padding:0;border:0}.tpr-fieldset__legend{margin-bottom:var(--tpr-space-2);font-weight:900;color:var(--tpr-section-ink)}
@media(max-width:720px){.tpr-form-grid{grid-template-columns:1fr}}
