/* STEP 27 responsive corrective layer: shared across public and single-admin layouts. */
:where(.public-app,.admin-app){min-width:0}
:where(.public-app,.admin-app) :where(main,section,article,aside,form,fieldset,.card,.site-shell,.site-header,.header-inner,.grid2,.grid3,.grid4,.split,.field-grid,.jm-layout,.jm-list,.jm-details){min-width:0}
:where(.public-app,.admin-app) :where(img,svg,video,canvas){max-width:100%;height:auto}
:where(.public-app,.admin-app) :where(p,h1,h2,h3,h4,dd,dt,th,td,label,.card,.jm-panel,.meta-row,.copyable){overflow-wrap:anywhere}
:where(.public-app,.admin-app) :where(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;box-sizing:border-box}
:where(.public-app,.admin-app) :where(.table-scroll,.siifi-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
:where(.public-app,.admin-app) :where(.table-scroll,.siifi-table-wrap) :where(table){max-width:none}
:where(.public-app,.admin-app) :where(button,a,input,select,textarea):focus-visible{outline:3px solid #0b7f7a;outline-offset:3px}
:where(.public-app,.admin-app) :where(.field-grid,.grid2,.grid3,.grid4,.split)>*{min-width:0}
:where(.public-app,.admin-app) :where([role=dialog],dialog,.modal){max-width:min(100%,calc(100dvw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
:where(.public-app,.admin-app) :where(.btn,button,input[type=submit],input[type=button]){touch-action:manipulation}
@media(max-width:985px){.site-header.menu-open .header-nav,.site-header.menu-open .header-actions{min-width:0}.site-header.menu-open .header-actions form{min-width:0;max-width:100%}.site-header.menu-open .header-actions button{min-height:44px}.menu-toggle{min-width:44px;min-height:44px}.site-header.menu-open .header-nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:700px){.site-shell{width:min(calc(100% - 28px),var(--site-shell))}.card{max-width:100%}.section-title,.between,.status-line,.meta-row{flex-wrap:wrap}.field-grid,.grid2,.grid3,.grid4,.split{grid-template-columns:minmax(0,1fr)}.field :where(input,select,textarea){font-size:16px}.admin-tools .field{min-width:0}.toast{right:12px;bottom:12px;max-width:calc(100vw - 24px)}.page-intro h1{overflow-wrap:anywhere}.jm-heading,.jm-detail-top{min-width:0;flex-wrap:wrap}.jm-panel :where(input,select,textarea){min-width:0;max-width:100%}.jm-panel :where(.btn,button){white-space:normal}.admin-manager :where(.table-scroll,.siifi-table-wrap){width:100%;max-width:100%}}
@media(max-width:380px){.site-shell{width:calc(100% - 24px)}.card{padding:14px}.brand-mark{min-width:0;max-width:calc(100% - 60px)}.brand-mark strong{font-size:1.07rem}.brand-mark span{font-size:.49rem}.header-inner{gap:8px}.header-actions .btn{white-space:normal}.btn{white-space:normal}.tabs{gap:4px}.tab{max-width:100%;overflow-wrap:anywhere}.jm-details{min-width:0}}
@media(orientation:landscape) and (max-height:500px){:where(.public-app,.admin-app) :where([role=dialog],dialog,.modal){max-height:calc(100dvh - 16px)}.site-header.menu-open .header-nav{max-height:48dvh;overflow-y:auto}}
@media(prefers-reduced-motion:reduce){:where(.public-app,.admin-app){scroll-behavior:auto}}
