/* Shared responsive layout corrections, loaded after component styles. */
.sidebar{overflow-y:auto;overscroll-behavior:contain}
.sidebar .logo,.sidebar .sidebar-user{flex-shrink:0}
.sidebar .nav{margin:32px 0;flex-shrink:0}
@media(min-width:1025px){body .menu-button{display:none!important}}
body [hidden]{display:none!important}
.table-layout-toggle:has(+.team-layout-table[hidden]){display:none!important}
.content .topbar{gap:16px;min-width:0}
.topbar .kicker{min-width:0;text-align:right;line-height:1.4}
.content :is(.input,.select){min-width:0;max-width:100%;box-sizing:border-box}
.content :is(input[type=date],input[type=time]){min-width:0;width:100%}
.content .btn{overflow-wrap:normal!important;word-break:normal;white-space:normal;line-height:1.3}
.content .section-head{flex-wrap:wrap}
.content:has(.venue-filters) .admin-card>.section-head{justify-content:flex-start;gap:12px;align-items:center}
.content:has(.venue-filters) .admin-card>.section-head>h2{flex:1 0 100%;margin:0 0 4px}
.content:has(.venue-filters) .admin-card>.section-head>.btn{flex:0 1 auto;max-width:100%;font-size:13px;padding:10px 14px;min-height:42px}
.venue-filters{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto}
.venue-filters>*{min-width:0}
.content:has(.venue-filters)>p:has(>.btn){display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.table-wrap{max-width:100%;overscroll-behavior-x:contain;scrollbar-gutter:stable}
.table-wrap :is(th,td){overflow-wrap:anywhere}
.team-view-switch,.pagination{flex-wrap:wrap}
.calendar-nav{min-width:0;gap:8px}
.calendar-nav h2{min-width:0;text-align:center;overflow-wrap:normal;font-size:clamp(22px,3vw,32px)}
dialog{max-height:calc(100dvh - 32px);max-width:calc(100vw - 24px);overscroll-behavior:contain}
.event-form-dialog{max-height:calc(100dvh - 32px)}
.event-form-dialog .section-head{display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;align-items:center}
.event-form-dialog .section-head h2{min-width:0;flex:1;font-size:clamp(20px,3vw,28px);margin:0}
.event-form-dialog .section-head .btn{flex:0 0 auto;min-height:36px;padding:8px 10px;font-size:12px}
@media(max-width:1100px){
 .venue-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .content .filters:not(.event-filter-blocks):not(.greeting-settings-filters){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
 .layout{display:block}
 .sidebar{position:fixed;top:0;bottom:0;left:-300px;width:280px;height:100dvh;max-width:calc(100vw - 40px);z-index:20;transition:left .2s}
 .nav-open .sidebar{left:0}
 .menu-button{display:inline-flex}
 .nav-open .mobile-overlay{display:block;position:fixed;inset:0;background:#0008;z-index:19}
 body.nav-open{overflow:hidden}
 .content{padding:24px 24px 64px}
 .content .page-title{font-size:clamp(44px,7vw,72px);line-height:.98;letter-spacing:-.05em}
 .team-grid,.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .content{padding:18px 16px 48px}
 .topbar{margin-bottom:30px}
 .topbar .kicker{font-size:10px;letter-spacing:.08em}
 .content .page-title{font-size:clamp(36px,10vw,54px);margin-bottom:28px}
 .content>.admin-card,.content .admin-card{padding:16px}
 .content .filters:not(.event-filter-blocks):not(.greeting-settings-filters),.venue-filters,.docs-grid,.team-grid{grid-template-columns:minmax(0,1fr)}
 .content .section-head{gap:12px;align-items:flex-start}
 .content .section-head h2{font-size:26px}
 .content .event-list .event-row{grid-template-columns:88px minmax(0,1fr);gap:12px}
 .content .event-list .event-row>:nth-child(3){grid-column:2}
 .content .event-list .event-title{font-size:18px;line-height:1.2}
 .calendar{grid-template-columns:repeat(7,minmax(145px,1fr))}
 .calendar-day{min-width:0;padding:8px}
 .calendar-event{line-height:1.35}
 .calendar-nav .btn{min-width:44px;padding:8px 12px}
 .event-form-dialog>.admin-card{padding:16px}
 .event-form-dialog .section-head{padding:10px 0}
 .birthday-design{max-height:calc(100dvh - 24px)}
 .venue-gallery{grid-template-columns:minmax(0,1fr)}
 .venue-gallery img{height:auto;max-height:300px;object-fit:contain}
 .generic-layout-table td .btn{min-width:90px}
 .stats{grid-template-columns:1fr}
 .stat{min-width:0}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}.birthday-confetti{display:none}}
