/* Shared intrinsic sizing. Reflow content; never scale the page or hide overflow. */
:root[data-theme] body #app :is(.workspace>section,.form-grid>*,.signup-layout>*,.service-detail-grid>*,.places-directory-layout>*,.place-detail-layout>*,.case-grid>*,.coverage-layout>*,.role-shortcuts>*,.service-directory-grid>*){min-width:0;max-width:100%;box-sizing:border-box}
:root[data-theme] body #app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
:root[data-theme] body #app :is(.card,.role-card,.place-card,.directory-card,.actual-order) :is(h1,h2,h3,p){overflow-wrap:anywhere}
:root[data-theme] body #app :is(.form-actions,.hero-actions,.place-card-actions){flex-wrap:wrap}
@media(min-width:601px){
 :root[data-theme] body #app .role-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}
 :root[data-theme] body #app .service-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:601px) and (max-width:1099px){
 :root[data-theme] body #app .service-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 :root[data-theme] body #app .service-directory-grid{grid-template-columns:minmax(0,1fr)}
}

/* Service catalogue owns its 3/2/1 grid; account record grouping is separate. */
:root[data-theme] body #app .service-directory-grid{display:grid;align-items:stretch;min-width:0}
:root[data-theme] body #app .service-directory-grid>.directory-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;max-width:100%;height:auto;box-sizing:border-box;padding:24px;gap:16px}
:root[data-theme] body #app .service-directory-grid>.directory-card>:is(h2,p,span){min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
:root[data-theme] body #app .service-directory-grid>.directory-card>img{flex-shrink:0;align-self:flex-start}
:root[data-theme] body #app .service-directory-grid>.directory-card>p{min-height:0}
:root[data-theme] body #app .service-directory-grid>.directory-card>span:last-child{margin-top:auto;padding-top:16px}
@media(max-width:600px){:root[data-theme] body #app .service-directory-grid>.directory-card{padding:20px;gap:14px}}
