.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--gray-800);display:flex}.field__optional{font-weight:var(--weight-regular);font-size:var(--text-xs);color:var(--text-muted)}.field__hint{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-secondary)}.field__error{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--danger-700);align-items:flex-start;gap:6px;display:flex}.field__error svg{flex:none;margin-top:2px}.input-wrap{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease);align-items:stretch;display:flex;position:relative}.input-wrap:focus-within{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-100)}.field--error .input-wrap{border-color:var(--danger-600)}.field--error .input-wrap:focus-within{box-shadow:0 0 0 3px var(--danger-50)}.input-wrap__affix{padding-inline:var(--space-3) 0;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;align-items:center;display:flex}.input-wrap__affix--end{padding-inline:0 var(--space-3)}.input{min-width:0;min-height:44px;padding:10px var(--space-3);font-size:var(--text-md);line-height:var(--leading-md);background:0 0;border:0;flex:1}.input:focus,.input:focus-visible{box-shadow:none;outline:none}.input::placeholder{color:var(--gray-400)}.input:disabled{color:var(--text-muted);cursor:not-allowed}.textarea{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);min-height:96px}.textarea:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-100)}.select{appearance:none;cursor:pointer;padding-inline-end:40px}.input-wrap--select:after{content:"";inset-inline-end:16px;border-right:2px solid var(--gray-500);border-bottom:2px solid var(--gray-500);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-70%)rotate(45deg)}.checkbox__row{align-items:flex-start;gap:var(--space-3);display:flex}.checkbox__input{width:20px;height:20px;accent-color:var(--brand-600);cursor:pointer;flex:none;margin:2px 0 0}.checkbox__label{font-size:var(--text-sm);line-height:var(--leading-md);color:var(--gray-700);cursor:pointer}.checkbox--error .checkbox__input{outline:2px solid var(--danger-600);outline-offset:1px}.checkbox .field__error{margin-top:var(--space-1);padding-inline-start:32px}.choice-group{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.choice{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease), background-color var(--duration-fast) var(--ease);display:flex;position:relative}.choice:hover{border-color:var(--gray-400)}.choice--checked{border-color:var(--brand-600);background:var(--brand-25);box-shadow:inset 0 0 0 1px var(--brand-600)}.choice--disabled{opacity:.55;cursor:not-allowed}.choice__input{width:20px;height:20px;accent-color:var(--brand-600);flex:none;margin:0}.choice:has(.choice__input:focus-visible){box-shadow:var(--focus-ring)}.choice__media{flex:none}.choice__body{flex-direction:column;flex:1;min-width:0;display:flex}.choice__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--gray-900)}.choice__desc{font-size:var(--text-sm);color:var(--text-secondary)}.choice__aside{font-size:var(--text-sm);color:var(--text-secondary);flex:none}.qty{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);align-items:stretch;display:inline-flex;overflow:hidden}.qty__btn{width:44px;color:var(--gray-700);background:0 0;border:0;place-items:center;display:grid}.qty__btn:hover:not(:disabled){background:var(--gray-100)}.qty__btn:disabled{color:var(--gray-300);cursor:not-allowed}.qty__input{border:0;border-inline:1px solid var(--border);text-align:center;width:48px;min-height:44px;font-weight:var(--weight-semibold);appearance:textfield}.qty__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty--sm .qty__btn{width:36px}.qty--sm .qty__input{width:40px;min-height:36px;font-size:var(--text-sm)}
