.adv-field{
display:flex;
flex-direction:column;
gap:var(--space-2);
margin-bottom:var(--space-5);
}
.adv-field:last-child{margin-bottom:0}

.adv-field__label{
display:inline-flex;
align-items:center;
gap:var(--space-2);
font-size:var(--font-size-base);
font-weight:var(--weight-semibold);
color:var(--color-ink);
line-height:1.3;
}
.adv-field__label .required,
.adv-field__required{
color:var(--color-danger);
font-weight:var(--weight-regular);
font-size:var(--font-size-sm);
}

.adv-field__optional{
color:var(--color-muted);
font-size:var(--font-size-sm);
font-weight:var(--weight-regular);
}

.adv-field__hint{
font-size:var(--font-size-sm);
color:var(--color-muted);
line-height:var(--line-normal);
margin:0;
}

.adv-field__error{
font-size:var(--font-size-sm);
color:var(--color-danger);
font-weight:var(--weight-medium);
display:flex;
align-items:flex-start;
gap:var(--space-2);
line-height:var(--line-normal);
}
.adv-field__error svg{flex-shrink:0;margin-top:2px}

.adv-field input[type="text"],
.adv-field input[type="email"],
.adv-field input[type="tel"],
.adv-field input[type="url"],
.adv-field input[type="number"],
.adv-field input[type="date"],
.adv-field input[type="search"],
.adv-field input[type="password"],
.adv-field select,
.adv-field textarea{
width:100%;
padding:.65em .8em;
font-size:var(--font-size-md);
line-height:1.4;
border-radius:var(--radius-sm);
border:1px solid var(--color-line-strong);
background:var(--color-bg);
color:var(--color-ink);
transition:var(--transition-base);
min-height:42px;
}
.adv-field textarea{min-height:120px;resize:vertical;line-height:var(--line-normal)}
.adv-field select{
appearance:none;
background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
background-repeat:no-repeat;
background-position:right .7em center;
padding-right:2.4em;
}

.adv-field input:hover,
.adv-field select:hover,
.adv-field textarea:hover{border-color:var(--color-muted-soft)}

.adv-field input:focus,
.adv-field select:focus,
.adv-field textarea:focus{
outline:none;
border-color:var(--color-accent);
box-shadow:0 0 0 3px var(--color-accent-soft);
}

.adv-field[data-invalid="true"] input,
.adv-field[data-invalid="true"] select,
.adv-field[data-invalid="true"] textarea{
border-color:var(--color-danger);
}
.adv-field[data-invalid="true"] input:focus,
.adv-field[data-invalid="true"] select:focus,
.adv-field[data-invalid="true"] textarea:focus{
box-shadow:0 0 0 3px var(--color-danger-soft);
}

.adv-field[data-disabled="true"]{opacity:var(--opacity-muted)}

.adv-fieldset{
border:0;
padding:0;
margin:0 0 var(--space-8);
}
.adv-fieldset:last-child{margin-bottom:0}
.adv-fieldset__legend{
font-size:var(--font-size-lg);
font-weight:var(--weight-bold);
color:var(--color-ink);
margin-bottom:var(--space-5);
padding:0;
}

.adv-check,
.adv-radio{
display:flex;
align-items:flex-start;
gap:var(--space-3);
padding:var(--space-3) 0;
cursor:pointer;
line-height:1.4;
}
.adv-check input,
.adv-radio input{
width:18px;
height:18px;
flex-shrink:0;
margin-top:2px;
accent-color:var(--color-primary);
cursor:pointer;
}
.adv-check__body,
.adv-radio__body{flex:1 1 auto;min-width:0}
.adv-check__label,
.adv-radio__label{
font-size:var(--font-size-base);
color:var(--color-ink);
font-weight:var(--weight-medium);
}
.adv-check__hint,
.adv-radio__hint{
font-size:var(--font-size-sm);
color:var(--color-muted);
margin:.15em 0 0;
}

.adv-switch{
display:inline-flex;
align-items:center;
gap:var(--space-3);
cursor:pointer;
}
.adv-switch input{
position:absolute;
opacity:0;
width:0;
height:0;
}
.adv-switch__track{
position:relative;
width:38px;
height:22px;
background:var(--color-line-strong);
border-radius:var(--radius-pill);
transition:background-color var(--duration-fast) var(--ease-standard);
flex-shrink:0;
}
.adv-switch__track::after{
content:"";
position:absolute;
top:2px;
left:2px;
width:18px;
height:18px;
border-radius:var(--radius-circle);
background:#ffffff;
box-shadow:var(--shadow-xs);
transition:transform var(--duration-fast) var(--ease-standard);
}
.adv-switch input:checked + .adv-switch__track{background:var(--color-accent)}
.adv-switch input:checked + .adv-switch__track::after{transform:translateX(16px)}
.adv-switch input:focus-visible + .adv-switch__track{outline:2px solid var(--color-focus);outline-offset:2px}
.adv-switch__label{font-size:var(--font-size-base);color:var(--color-ink)}

.adv-search-input{
position:relative;
display:flex;
align-items:center;
}
.adv-search-input svg{
position:absolute;
left:.8em;
color:var(--color-muted);
pointer-events:none;
}
.adv-search-input input{
padding-left:2.4em;
}

.adv-input-group{
display:flex;
align-items:stretch;
gap:0;
}
.adv-input-group input{
flex:1 1 auto;
border-top-right-radius:0;
border-bottom-right-radius:0;
}
.adv-input-group button,
.adv-input-group .adv-btn{
border-top-left-radius:0;
border-bottom-left-radius:0;
border-left:1px solid transparent;
}

.adv-form-error-summary{
padding:var(--space-5);
border-radius:var(--radius-md);
border:1px solid var(--color-danger);
background:var(--color-danger-soft);
color:var(--color-danger);
margin-bottom:var(--space-6);
}
.adv-form-error-summary__title{
font-weight:var(--weight-bold);
margin:0 0 var(--space-3);
}
.adv-form-error-summary ul{
list-style:disc;
padding-left:1.25em;
margin:0;
}
.adv-form-error-summary a{color:inherit;text-decoration:underline}

@media (prefers-reduced-motion: reduce){
.adv-switch__track,
.adv-switch__track::after{transition:none}
}