/* Site-wide responsive pass - loaded LAST so it wins the cascade. Same
   breakpoints as the estate: 900 / 768 / 600 / 380. The nav becomes an
   off-canvas drawer at 768 (ui.mobile-nav.js toggles body.nav-open). */
@media (max-width: 900px) {
    .form-grid > .span-3, .form-grid > .span-4 { grid-column: span 6; }
    .site-main { padding: var(--net-spacing-md); }
}
@media (max-width: 768px) {
    .nav-toggle { display: inline-block; }
    .site-body { display: block; }
    .site-nav {
        position: fixed; top: var(--net-header-height); bottom: 0; left: 0; width: min(80vw, 280px);
        transform: translateX(-100%); transition: transform 0.25s ease; z-index: var(--net-z-nav);
        overflow-y: auto; box-shadow: var(--net-shadow-lg);
    }
    body.nav-open .site-nav { transform: none; }
    .nav-scrim { display: block; position: fixed; inset: var(--net-header-height) 0 0 0; background: rgba(0,0,0,0.35); opacity: 0; pointer-events: none; transition: opacity 0.2s ease; z-index: calc(var(--net-z-nav) - 1); }
    body.nav-open .nav-scrim { opacity: 1; pointer-events: auto; }
    .site-claim { display: none; }
    .page-head { flex-direction: column; align-items: stretch; }
    .toolbar .ctrl-wrapper { flex: 1 1 100%; }
    .stat-tiles { grid-template-columns: repeat(2, 1fr); }
    .thumb-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
    .thumb img, .thumb .noimg { height: 100px; }
    table.data th, table.data td { padding: 0.45rem 0.5rem; }
    .btn { min-height: 40px; }
}
@media (max-width: 600px) {
    .form-grid > .span-3, .form-grid > .span-4, .form-grid > .span-6, .form-grid > .span-8 { grid-column: span 12; }
    .site-header { padding: 0 var(--net-spacing-md); gap: var(--net-spacing-sm); }
    .site-user .name { display: none; }
    .stat-tiles { grid-template-columns: 1fr 1fr; }
    .cards { grid-template-columns: 1fr; }
    .deploy-toolbar-tray { max-width: 100%; }
}
@media (max-width: 380px) {
    .stat-tiles { grid-template-columns: 1fr; }
    .thumb-grid { grid-template-columns: repeat(2, 1fr); }
}
