/* Shared UI contract: single-line controls have one baseline and one height.
   Keep native selects accessible; never impose this height on multiline editors. */
:root{--control-height:44px;--control-radius:10px;--surface:var(--paper);--border:var(--line);--primary:var(--brand);--foreground:var(--ink);--muted-foreground:var(--muted)}
:where(.page,dialog,.auth-card) :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="url"],input[type="tel"],input[type="password"],input[type="number"],input[type="date"],input[type="time"],input[type="datetime-local"],select:not([multiple]):not([size])){box-sizing:border-box;height:var(--control-height);min-height:var(--control-height);max-width:100%;min-width:0;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;color:var(--ink);background-color:var(--input);border:1px solid var(--line);border-radius:var(--control-radius);padding:10px 12px;margin-block:0}
:where(.page,dialog,.auth-card) textarea{box-sizing:border-box;max-width:100%;font-family:inherit;font-size:14px;line-height:1.55;color:var(--ink);background-color:var(--input);border:1px solid var(--line);border-radius:var(--control-radius);padding:12px}
:where(.page,dialog,.auth-card) :is(input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
:where(.page,dialog) :is(.support-filters,.directory-toolbar,.control-filterbar,.toolbar,.fields){gap:16px}
.support-filters{display:grid;grid-template-columns:minmax(200px,1.4fr) repeat(2,minmax(150px,1fr)) auto;align-items:end}
.support-filters label{display:grid;gap:8px;min-width:0;margin:0;font-size:14px;font-weight:500;line-height:1.4}
.support-filters input,.support-filters select{width:100%;height:var(--control-height);min-height:var(--control-height)}
.support-filters>.button{height:var(--control-height);min-height:var(--control-height);margin:0;align-self:end}
#support-meta select,#support-reply select{margin:0;height:var(--control-height);min-height:var(--control-height)}
:where(.page,dialog) :is(.fields,.directory-toolbar,.billing-summary,.overview-grid)>*{min-width:0}
:where(.page,dialog) .field{gap:8px}
:where(.page,dialog) .field>span{font-size:14px;line-height:1.4}
:where(.page,dialog) :is(p,small,label,h1,h2,h3){overflow-wrap:break-word}
:where(.page,dialog) .heading{flex-wrap:wrap;row-gap:16px}
:where(.page,dialog) .heading>div:first-child{flex:1;min-width:min(100%,240px)}
@media(max-width:900px){.support-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.support-filters label:first-child{grid-column:1/-1}}
@media(max-width:600px){.support-filters{grid-template-columns:minmax(0,1fr)}.support-filters>.button{width:100%}:where(.page,dialog,.auth-card) :is(input,select,textarea){font-size:16px}.shared-detail .heading>.button{width:100%}}

@media(max-width:600px){:where(.page,dialog,.auth-card) :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="url"],input[type="tel"],input[type="password"],input[type="number"],input[type="date"],input[type="time"],input[type="datetime-local"],select:not([multiple]):not([size])){font-size:16px}}

/* Responsive control groups: consistent baselines and shrink-safe tracks. */
.page .toolbar{align-items:flex-end;flex-wrap:wrap}
.page :is(.toolbar,.directory-toolbar,.control-filterbar,.fields)>:is(label,.field){min-width:0;margin-bottom:0}
.page .toolbar>label{display:grid;gap:8px;flex:1 1 200px}
.page .toolbar>label :is(input,select){width:100%;max-width:none}
.page .toolbar>.button{min-height:var(--control-height);align-self:flex-end}
.page .fields{align-items:end}
.page .fields>.field:has(textarea){align-self:stretch}
.page :is(.directory-toolbar,.control-filterbar){grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.page :is(.toolbar,.fields,.heading,.dash-head)>.row{flex-wrap:wrap;min-width:0;max-width:100%}
.page :is(.field,label)>:is(input,select,textarea){min-width:0;max-width:100%}
.page .collab-roster-row{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto}
@media(max-width:760px){.page .collab-roster-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.page .fields,.page .fields.two,.page .fields.four{grid-template-columns:minmax(0,1fr)}.page .toolbar>label{flex-basis:100%}.page .directory-toolbar,.page .control-filterbar{grid-template-columns:minmax(0,1fr)}}
