/* Shared responsive layer. Browser assets stay local; PDF/print layouts are unchanged. */
@media screen {
    .dash-sidebar-close, .dash-backdrop { display: none; }
    .brand-text, .footer-brand h2, .dash-main, .dash-heading > div, .panel-title > div,
    .monitor-hero > div, .authority-card, .report-filters > div, .media-editor-layout > *,
    .resource-layout > *, .featured-resource > *, .department-portal-card > div { min-width: 0; }
    .brand-text, .dash-heading h1, .panel-title h2, .monitor-section-heading h2,
    .one-pager-heading h2, .media-current-preview, .department-portal-card { overflow-wrap: anywhere; }
    .topbar .language-switch a { color: #ffecd5; }
    .topbar .language-switch a.active { color: #ffd08a; }
    #main-content > main { max-width: 1180px; margin-inline: auto; padding: 40px 21px; }
    .monitor-table-scroll, .media-table-wrapper { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; scrollbar-color: #b86529 #fff0db; }
    .monitor-table-scroll:focus-visible, .media-table-wrapper:focus-visible { outline: 3px solid #d78b32; outline-offset: -3px; }
    .responsive-table-hint { margin: 0; padding: 10px 16px; color: #81491f; background: #fff5e6; border-bottom: 1px solid #ead6bd; font-size: .8rem; }
    .responsive-detail-table { table-layout: fixed; width: 100%; min-width: 0; }
    .responsive-detail-table th, .responsive-detail-table td { overflow-wrap: anywhere; white-space: normal; }
    .login-modal { padding: 0; }
    .login-modal-body { min-height: 0; padding: 36px; max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow-y: auto; overscroll-behavior: contain; }
    .login-modal > .btn-close { top: 10px; right: 10px; width: 24px; height: 24px; padding: 10px; background-size: 16px; background-color: #fff; border-radius: 50%; }
    .login-title { padding-right: 30px; }
    .login-title > span { flex: 0 0 50px; }
    .login-title > div { min-width: 0; }
    .login-modal [hidden], .dash-backdrop[hidden] { display: none !important; }
}

@media screen and (max-width: 1199.98px) {
    .resource-layout { grid-template-columns: minmax(0, 1fr); }
    .resource-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .resource-stack article, .resource-stack article > div { min-width: 0; }
    .main-nav .nav-link { min-height: 44px; white-space: normal; text-align: start; }
    .main-nav .dropdown-item { white-space: normal; min-height: 44px; }
    .main-nav .navbar-toggler { min-height: 44px; }
    .hero-actions, .hero-proof { flex-wrap: wrap; }
}

@media screen and (max-width: 800px) {
    body.workspace-menu-open { overflow: hidden; }
    .dash-sidebar { z-index: 40; width: min(288px, calc(100vw - 44px)); height: 100vh; height: 100dvh; min-height: 0; visibility: hidden; }
    .dash-sidebar.open { visibility: visible; }
    .dash-sidebar nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
    .dash-sidebar nav a { min-height: 44px; }
    .dash-sidebar .dash-brand { flex: 0 0 auto; padding: 18px 54px 18px 16px; gap: 10px; }
    .workspace-access, .dash-help { flex: 0 0 auto; }
    .dash-sidebar-close { position: absolute; z-index: 1; top: 10px; right: 8px; display: grid; place-items: center; width: 40px; height: 44px; color: #fff; background: transparent; border: 1px solid #e8b98a; font-size: 1.1rem; cursor: pointer; }
    .dash-backdrop { position: fixed; z-index: 35; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(48, 22, 8, .55); cursor: pointer; }
    .dash-menu { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #ead6bd; }
    .dash-topbar { min-height: 64px; height: auto; padding: 8px 12px; gap: 8px; }
    .dash-topbar .language-switch { display: inline-flex; align-items: center; flex: 0 0 auto; }
    .dash-topbar .language-switch a { min-height: 44px; display: inline-flex; align-items: center; padding-inline: 7px; }
    .dash-top-actions { flex: 0 0 auto; margin-left: 0; gap: 6px; }
    .dash-top-actions form { margin: 0; }
    .logout-button { width: 44px; height: 44px; padding: 0; }
    .workspace-public-link { min-width: 44px; min-height: 44px; justify-content: center; }
    .dash-user { padding: 0; }
}

@media screen and (max-width: 650px) {
    .dash-main { padding: 20px 12px 36px; }
    .dash-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .dash-heading h1 { font-size: clamp(1.25rem, 5.3vw, 1.65rem); }
    .workspace-role-pill { white-space: normal; }
    .panel-title { flex-wrap: wrap; align-items: flex-start; gap: 12px; padding: 14px; }
    .monitor-button, .media-primary, .parakh-report-tabs a, .parakh-pagination button { min-height: 44px; white-space: normal; }
    .parakh-actions, .monitor-form-actions, .media-form-actions { flex-wrap: wrap; }
    .report-filters { padding: 15px; gap: 12px; }
    .report-filters > div { flex: 1 1 100%; }
    .report-filters select, .report-filters input, .monitor-field input:not([type=checkbox]),
    .monitor-field select, .monitor-field textarea, .media-editor input:not([type=checkbox]),
    .media-editor select, .media-editor textarea, .parakh-list-tools input, .parakh-list-tools select { font-size: 16px; min-height: 44px; min-width: 0; max-width: 100%; }
    .parakh-list-tools { padding: 14px; align-items: stretch; }
    .parakh-list-tools label { width: 100%; min-width: 0; }
    .parakh-list-tools input { width: 100%; flex: 1 1 120px; }
    .parakh-pagination { padding: 14px; }
    .authority-card { display: block; padding: 20px; }
    .authority-card h3, .authority-card p { margin: 10px 0; }
    .authority-card > div { flex-direction: row; padding-top: 12px; border-top: 1px solid #eee3d5; }
    .parakh-inspection-meta > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
    .one-pager-heading { align-items: flex-start; flex-wrap: wrap; }
    .one-pager, .parakh-category { min-width: 0; }
    .parakh-category { padding: 12px; }
    .parakh-module > summary { overflow-wrap: anywhere; padding: 13px; }
    .one-pager .monitor-table:not(.responsive-detail-table) { min-width: 560px; }
    .one-pager .responsive-detail-table { min-width: 0; }
    .ios-photo-grid { grid-template-columns: minmax(0, 1fr); }
    .media-toolbar { flex-wrap: wrap; }
    .monitor-hero { padding: 24px 20px; }
}

@media screen and (max-width: 575.98px) {
    .resource-stack { grid-template-columns: minmax(0, 1fr); }
    .portal-brand { width: 100%; }
    .brand-actions { display: none; }
    .brand-inner { padding-block: 12px; }
    .brand-text { flex: 1; }
    .topbar-actions { height: auto; min-height: 40px; flex-wrap: wrap; gap: 2px; }
    .topbar button, .topbar a { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; }
    .topbar .admin-link { height: auto; min-height: 40px; padding-inline: 8px; }
    .hero-kicker { letter-spacing: .08em; font-size: .7rem; }
    .hero-content h1, .hero-content h2 { overflow-wrap: anywhere; }
    .hero-actions { width: auto; max-width: 100%; align-items: flex-start; }
    .hero-actions a, .hero-actions button { max-width: 100%; white-space: normal; min-height: 46px; padding-block: 9px; }
    .hero-proof { gap: 10px 16px; }
    .hero-proof span { flex-wrap: wrap; }
    .text-link, .social-links a, .btn-gold, .btn-glass { min-height: 44px; display: inline-flex; align-items: center; }
    .social-links a { min-width: 44px; justify-content: center; }
    .contact-cta a { white-space: normal; max-width: 100%; }
    .notice-list article { grid-template-columns: 44px minmax(0, 1fr) 28px; gap: 10px; }
    .notice-list h3, .resource-stack h3, .footer-brand h2 { overflow-wrap: anywhere; }
    .leader-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .leader-photo { height: clamp(155px, 50vw, 220px); }
    .leader-grid h3 { margin-inline: 0; }
    .department-portal-card { padding: 20px 16px; gap: 12px; }
    .login-modal-body { padding: 26px 18px 22px; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
    .login-title { gap: 10px; margin-bottom: 22px; }
    .login-title h2 { font-size: 1.2rem; overflow-wrap: anywhere; }
    .login-title > span { flex-basis: 42px; width: 42px; height: 44px; }
    #loginForm .form-control, .otp-form .form-control, .otp-form .otp-identity .form-control,
    .otp-form .otp-password-confirm .form-control { font-size: 16px; min-height: 44px; }
    .login-row { flex-wrap: wrap; gap: 6px; }
    .otp-identity { padding: 10px; }
    .otp-link { min-height: 44px; font-size: .85rem; }
}

@media screen and (max-width: 480px) {
    .workspace-public-link span, .dash-user { display: none; }
    .dash-topbar .language-switch { font-size: .8rem; }
    .dash-topbar { padding-inline: 10px; }
    .parakh-pagination > div { gap: 8px; flex-wrap: wrap; }
}

@media screen and (max-height: 500px) {
    .login-modal-body { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); padding-top: 24px; }
    .login-modal input { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) { .dash-sidebar { transition: none; } }
@media print { .dash-sidebar-close, .dash-backdrop, .responsive-table-hint { display: none !important; } }
