/* Shared form geometry. Keep screen CSS free of field spacing overrides. */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea,.in){box-sizing:border-box;min-width:0;min-height:44px;padding:11px 14px;border:1.5px solid var(--input-border);border-radius:10px;font:14px/1.5 var(--f);background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s;outline:none;outline-offset:0}
html body textarea{min-height:80px!important;resize:vertical}
html body :is(input,select,textarea):hover{border-color:var(--input-hover)}
html body :is(input,select,textarea):focus{outline:none;border-color:var(--royal);box-shadow:var(--focus-ring)}
html body :is(input,select,textarea):is(.bad,[aria-invalid=true],:user-invalid){border-color:var(--red);box-shadow:var(--error-ring)}
html body :is(input,textarea)::placeholder{color:var(--placeholder)}
html body label:has(> :is(input:not([type=checkbox]):not([type=radio]),select,textarea)){display:flex;flex-direction:column;gap:8px;font:700 12.5px/1.3 var(--f);color:var(--muted);margin:20px 0 0}
html body label:has(> :is(input,select,textarea)):first-child{margin-top:0}
html body .form-grid{gap:20px 16px}
html body .form-grid>label{margin:0}
html body label:has(>input:is([type=checkbox],[type=radio])){display:flex;flex-direction:row;align-items:center;gap:8px;font:500 12.5px/1.5 var(--f);color:var(--muted)}
html body input:is([type=checkbox],[type=radio]){width:18px;height:18px;min-height:18px;flex:none;accent-color:var(--royal);padding:0}
.field{display:flex;flex-direction:column}.field+.field{margin-top:20px}
.password-control{position:relative;width:100%}
html body .password-control input{width:100%;padding-right:60px}
html body .field>label,html body .login-form label{font:700 12.5px/1.3 var(--f);color:var(--muted);margin-bottom:8px}
.field .req,.form-label-text .req{color:var(--red);margin-left:4px}
html body :is(.wk-error,.field .err,.cd-error){margin-top:6px;font-size:12.5px;color:var(--red-ink)}
html body :is(.wk-error,.field .err,.cd-error):empty{display:none}
html body :is(.wk-chips,.field .chips){margin:10px 0;gap:8px}
html body .wk-chips+label{margin-top:0}
html body .wk-block{padding:18px;border-radius:14px}
.row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 16px}
@media(max-width:640px){.row-2{grid-template-columns:minmax(0,1fr)}}

/* Chat composer grows from one line to five; shared input metrics still apply. */
html body textarea.chat-input{min-height:44px!important;max-height:140px;resize:none;border-radius:22px}
