/* Ajustes de layout. Mantém o gesto de zoom manual do navegador. */
html,body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
.shell,.shell main,#content,#result,.panel,.library-grid,.library-card,.management-page{min-width:0;max-width:100%}
img,video,svg,canvas{max-width:100%;height:auto}
.table-wrap,.report-table-wrap,.worship-panel{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.shell main>header{position:sticky;top:0;z-index:30;min-width:0}
.shell main>header>div{min-width:0}
.shell main>header h1{overflow-wrap:anywhere}
.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr))}
.library-card{min-width:0;grid-template-columns:110px minmax(0,1fr)}
.library-card .library-cover{width:110px;height:158px;max-width:100%}
#result .library-card .library-cover img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:1024px){
 .management-form,.report-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-grid,.demographics-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:850px){
 .shell{display:block;width:100%;max-width:100%}
 .shell main{width:100%;max-width:100%;min-width:0;overflow:visible;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
 .shell main>header{top:0;z-index:30;background:#041b3e;box-shadow:0 5px 14px #0004}
 #menuToggle{min-width:44px;min-height:44px;flex:none}
 body.menu-open{overflow:hidden}
 .menu-open #sidebar{height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .management-form,.report-form,.dashboard-filters,.settings-section,.platform-card{min-width:0;max-width:100%}
 input,select,textarea{font-size:16px}
}
@media(max-width:600px){
 .management-form,.report-form{grid-template-columns:minmax(0,1fr)}
 .management-form>button,.report-form>button{width:100%}
 .library-grid{grid-template-columns:minmax(0,1fr)}
 .management-card,.platform-card{flex-direction:column;align-items:stretch}
 .management-actions{min-width:0}
 .management-actions button,.management-actions .button-link{max-width:100%;white-space:normal}
}
@media(max-width:380px){
 .library-card{grid-template-columns:86px minmax(0,1fr);gap:10px;padding:12px}
 .library-card .library-cover{width:86px;height:126px}
 .shell main>header h1{font-size:1rem}
}
