/* Shared field layout: the label remains a real, clickable label. */
body .floating-field {
    position: relative;
    display: grid;
    min-width: 0;
    width: 100%;
    margin-block: 14px;
    isolation: isolate;
}
body .floating-field > :is(input, select, textarea, .picker-value) {
    grid-area: 1 / 1;
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 58px;
    margin: 0;
    padding: 16px 14px 12px;
    border: 1px solid #a9bbb4;
    border-radius: 9px;
    background-color: #fff;
    color: var(--ink, #17323e);
    font: inherit;
    line-height: 1.4;
    box-sizing: border-box;
}
body .floating-field > label {
    grid-area: 1 / 1;
    z-index: 1;
    align-self: start;
    justify-self: start;
    max-width: calc(100% - 30px);
    margin: 0 10px;
    padding: 0 5px;
    background: #fff;
    transform: translateY(-50%);
    color: var(--muted, #526974);
    font: 600 12px/1.25 'Segoe UI', Arial, sans-serif;
    overflow-wrap: anywhere;
    cursor: text;
    transition: color .15s ease, font-size .15s ease;
}
body .floating-field:has(> :is(select, .picker-value)) > label { max-width: calc(100% - 62px); cursor: pointer; }
body .floating-field:has(> :is(input:not([type=date]):not([type=time]):not([type=datetime-local]), textarea):placeholder-shown):not(:focus-within) > label {
    align-self: center;
    margin-block: 0;
    transform: none;
    background: transparent;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
}
body .floating-field > :is(input, textarea)::placeholder { color: transparent; }
body .floating-field:focus-within > :is(input, textarea)::placeholder { color: #71817d; }
body .floating-field:focus-within > label { color: var(--teal, #086b65); }
body .floating-field > :is(input, select, textarea, .picker-value):focus-visible { outline: 2px solid var(--teal, #086b65); outline-offset: 2px; }
body .floating-field > textarea { min-height: 120px; resize: vertical; }
body .floating-field > :disabled { background-color: #f0f3f1; color: #63716c; }
body .floating-field > input:is(:autofill, :-webkit-autofill) ~ label { align-self: start; }
body .floating-field:has(> input:is(:autofill, :-webkit-autofill)) > label { align-self: start; margin-block: 0; transform: translateY(-50%); background: #fff; font-size: 12px; font-weight: 600; }
/* Replace native arrows so every select has the same comfortable inset. */
body select:not([multiple]):not([size]):not(.picker-validation) {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 46px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23526974' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 18px 18px;
    background-position: right 16px center;
}
body .floating-picker > .picker-value { position: relative; display: flex; text-align: left; padding-right: 46px; }
.floating-picker .select-chevron { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.floating-picker .picker-option-content { min-width: 0; }
.floating-picker .picker-option-content > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.floating-picker .picker-option-content :is(.country-flag, .asset-type-icon) { flex-shrink: 0; }
body :is(.registration-grid, .field-row, .joint-partner-row) .floating-field { margin-block: 0; }
body .floating-field > label .nav-icon { display: none; }
body :is(.shell-language, .language) select { min-height: 40px; min-width: 136px; margin: 0; padding: 8px 46px 8px 12px; background-color: #fff; color: var(--ink, #17323e); border: 1px solid #a9bbb4; border-radius: 8px; }
body .login-form .floating-field > label span { font: inherit; color: inherit; }
body .login-form .floating-field > input { margin: 0; }
@media (max-width: 700px) { body .floating-field > :is(input, select, textarea, .picker-value) { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { body .floating-field > label { transition: none; } }
@media (forced-colors: active) { body select:not([multiple]):not([size]):not(.picker-validation) { appearance: auto; background-image: none; } }


body .floating-field:has(> :disabled) > label { background: linear-gradient(to bottom,#fff 50%,#f0f3f1 50%); }
/* Required markers are shared by native fields, conditional fields and pickers. */
.required-mark{color:#b42318!important;font-weight:700;margin-inline-start:.2em}
