.phone-number-fields{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,2fr);gap:var(--field-gap);align-items:end}
/* Legacy auth forms use block layout and add margin only above inputs.
   Keep phone forms on one shared label/control grid in every workspace. */
[data-phone-form][data-phone-scope]{display:grid;gap:var(--field-gap);margin-block:var(--section-gap)}
[data-phone-form] .field{display:flex;flex-direction:column;gap:var(--label-gap);margin:0;min-width:0}
[data-phone-form] .field>span{display:block;line-height:1.5}
[data-phone-form] .field>input:not([type=checkbox]),[data-phone-form] .field>select{height:var(--control-height);margin:0;box-sizing:border-box}
[data-phone-form]>p{margin:0}
[data-phone-form] :is(.form-error,[data-phone-status]):empty{display:none}
/* Auth cards already have a support link. A floating duplicate can cover the
   submit/sign-in controls on short mobile windows and at browser zoom. */
body:has(.auth-shell) #support-widget .support-launcher{display:none}
[data-phone-form] :is(input:not([type=checkbox]),select,button),.phone-security summary,.phone-quick-login summary,.phone-recovery summary,.phone-email-registration summary{min-height:var(--control-height);box-sizing:border-box}
[data-phone-form] input:not([type=checkbox]),[data-phone-form] select{width:100%;min-width:0}
[data-phone-form] .choice{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);flex-wrap:wrap}
[data-phone-form] .choice input,.auth-card .choice input{width:20px;flex:none}
.phone-security>details,.phone-security>p,.phone-quick-login,.phone-email-registration,.phone-recovery{margin-block:var(--field-gap)}
.phone-security summary,.phone-quick-login summary,.phone-email-registration summary,.phone-recovery summary{display:flex;align-items:center;cursor:pointer}
.phone-security .small-text{overflow-wrap:anywhere}
.auth-card .choice{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height)}
.auth-card input:not([type=checkbox]),.auth-card button,.auth-recovery input:not([type=checkbox]),.auth-recovery button{min-height:var(--control-height)}
/* The shared text-input selector has three attribute conditions; match that
   specificity so identity forms keep the mobile control size. */
:is(.auth-card,.auth-recovery,[data-phone-form]) input:not([type=checkbox]):not([type=radio]):not([type=range]){min-height:var(--control-height)}
@media(max-width:400px){.phone-number-fields{grid-template-columns:minmax(120px,.8fr) minmax(0,1.8fr)}}
