/* TheoForms: only what UIkit does not provide. Colors follow the theme through currentColor. */
.tf-form{--tf-accent:#1e87f0;--tf-border:rgba(128,128,128,.35);--tf-danger:#f0506e}
.tf-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.tf-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.tf-field,.tf-info{grid-column:1/-1}
.tf-field.tf-half{grid-column:auto}
@media (max-width:639px){.tf-field.tf-half{grid-column:1/-1}}
.tf-fields>.tf-field:first-child{margin-top:0}
.tf-step{border:0;padding:0;margin:0 0 40px;min-width:0}
.tf-step-title{outline:none}
.tf-branch-hint{margin-top:-8px}
.tf-js .tf-branch-hint{display:none}
.tf-optional{font-weight:normal;text-transform:none;letter-spacing:0}
.tf-group{border:0;padding:0;margin:0;min-width:0}
.tf-options{display:flex;flex-direction:column;gap:6px}
.tf-option,.tf-consent{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.tf-option input,.tf-consent input{flex:none;margin-top:.2em}
.tf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.tf-card{position:relative;display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--tf-border);border-radius:6px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.tf-card:hover{border-color:currentColor}
.tf-card:has(input:checked){border-color:var(--tf-accent);box-shadow:0 0 0 1px var(--tf-accent)}
.tf-card:has(input:focus-visible){outline:2px solid var(--tf-accent);outline-offset:2px}
.tf-card input{flex:none;margin-top:.2em}
.tf-card-body{display:flex;flex-direction:column;gap:4px}
.tf-card-title{font-weight:600}
.tf-error:empty{display:none}
.tf-error{margin-top:6px}
.tf-has-error .uk-input,.tf-has-error .uk-select,.tf-has-error .uk-textarea{border-color:var(--tf-danger)}
.tf-has-error .tf-card{border-color:var(--tf-danger)}
.tf-progress{margin-bottom:28px}
.tf-progress-bar{height:4px;margin-top:8px;border-radius:2px;background:var(--tf-border);overflow:hidden}
.tf-progress-bar span{display:block;height:100%;width:0;background:var(--tf-accent);transition:width .3s}
.tf-chip{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-bottom:24px;padding:10px 16px;border:1px solid var(--tf-border);border-radius:6px}
.tf-chip[hidden]{display:none}
.tf-nav{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tf-nav [hidden]{display:none}
.tf-status:empty{display:none}
.tf-status{flex-basis:100%}
.tf-review-step{margin:0 0 24px}
.tf-review-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--tf-border);padding-bottom:6px;margin-bottom:8px}
.tf-review-head h4{margin:0}
.tf-review dl{display:grid;grid-template-columns:minmax(120px,2fr) 3fr;gap:6px 16px;margin:0}
.tf-review dt{opacity:.7;font-weight:normal}
.tf-review dd{margin:0;white-space:pre-wrap;word-break:break-word}
@media (max-width:639px){.tf-review dl{grid-template-columns:1fr}.tf-review dd{margin-bottom:8px}}
.tf-resume{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tf-screen{outline:none}
.tf-js .tf-step:not(.tf-current),.tf-js [data-tf-hidden]{display:none!important}
@media (prefers-reduced-motion:no-preference){.tf-js .tf-current{animation:tf-in .25s ease-out}}
@keyframes tf-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
