/* Shared legacy screens. No desktop or print geometry is changed. */
.zart-rm-navigation { display: none; }
@media screen and (max-width:1100px) {
    body.zart-responsive { width: auto; min-width: 0; }
    .zart-responsive-root { box-sizing: border-box; min-width: 0; max-width: 100%; }
    .zart-responsive .main-content { box-sizing: border-box; width: 100%; padding: 22px; }
    .zart-mobile-box { box-sizing: border-box; min-width: 0 !important; max-width: 100%; overflow-wrap: anywhere; }
    .zart-mobile-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)) !important; }
    .zart-mobile-grid > * { min-width: 0; max-width: 100%; grid-column: auto !important; }
    .zart-mobile-flow { flex-wrap: wrap !important; gap: 12px; }
    .zart-mobile-flow > * { min-width: 0; max-width: 100%; }
    .zart-responsive-root :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
        box-sizing: border-box; min-width: 0 !important; max-width: 100% !important; min-height: 44px; font-size: 16px !important;
    }
    .zart-responsive-root :where(input[type=checkbox],input[type=radio]) { min-height: 20px; min-width: 20px; accent-color: var(--gold,#d4af37); }
    .zart-responsive-root :where(button,.btn,.btn-gold,.btn-secondary,.bip-btn,[role=button]) { min-height: 44px; box-sizing: border-box; white-space: normal; }
    .zart-responsive-root a[class*="btn"] { box-sizing: border-box; max-width: 100%; min-height: 44px; }
    .zart-responsive-root :where(h1,h2,h3,label,p) { overflow-wrap: anywhere; }
    .zart-responsive-root h1 { font-size: clamp(22px,3vw,30px); letter-spacing: 1px; line-height: 1.35; }
    .zart-responsive-root :where(button,a,input,select,textarea):focus-visible { outline: 2px solid var(--gold,#d4af37); outline-offset: 3px; }
    .zart-responsive-root :where(img,video,canvas):not(.leaflet-tile) { max-width: 100%; }
    .zart-scroll-table { display: block !important; width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
    .zart-scroll-table :where(th,td) { min-width: 100px; overflow-wrap: anywhere; }
    .zart-scroll-table :where(td,th) :where(button,a) { white-space: nowrap; }
    .zart-mobile-overlay { box-sizing: border-box; max-width: 100vw; max-height: 100dvh; padding: 12px !important; overflow-y: auto; overscroll-behavior: contain; }
    .zart-mobile-dialog, .zart-responsive dialog { box-sizing: border-box; width: 100% !important; max-width: 720px !important; max-height: calc(100dvh - 24px) !important; margin: auto !important; overflow-y: auto !important; }
    .zart-responsive-root .calendar { max-width: 100%; overflow-x: auto; }
    .zart-responsive-root .calendar :where(.week,.weekdays,.days-header) { min-width: 700px; }
    .zart-responsive-root :where(.af-preview,.preview-container) { max-width: 100%; overflow-x: auto; }
    .zart-responsive-root :where(.bip-ctrl,.bip-ctrl .grupo) { flex-wrap: wrap; }
    .zart-responsive-root .bip-ctrl .sep { display: none; }
    .zart-responsive-root :where(#mapaLogistica,#mapaRastreamento,#map) { min-width: 0; max-width: 100%; }
    .zart-responsive-root .camera-header { flex-wrap: wrap; }
    .zart-responsive-root :where(.camera-card,.video-wrapper) { min-width: 0; }
    /* RM Finance keeps its private navigation and offline transaction handlers. */
    .zart-responsive.app-body .app { min-width: 0; }
    .zart-responsive.app-body :where(.main,.page-head,.panel,.form,.tx-search) { min-width: 0; max-width: 100%; box-sizing: border-box; }
    .zart-responsive.app-body .tx { flex-wrap: wrap; }
    .zart-responsive.app-body .tx > div { min-width: 0; overflow-wrap: anywhere; }
    body.zart-monitor-screen { height: auto; min-height: 100dvh; overflow-y: auto; }
    .zart-monitor-screen .header-monitor { height: auto; min-height: 70px; padding: 14px; flex-wrap: wrap; }
    .zart-monitor-screen :where(.main-container,.main-content,.dashboard-container,.dashboard-grid) { height: auto !important; min-height: 0; overflow: visible; }
    .zart-monitor-screen .monitor-container { height: auto; min-height: 0; overflow: visible; padding: 16px; }
    .zart-monitor-screen .header-monitor { position: static; }
    .zart-monitor-screen :where(#paginas-container,.pagina-projetos) { height: auto; grid-template-rows: auto; }
}
@media screen and (max-width:900px) {
    .zart-rm-navigation { display: block; padding: 14px 16px; border-bottom: 1px solid var(--line,#333); background: var(--panel,#11171d); }
    .zart-rm-navigation summary { min-height: 44px; padding: 12px; box-sizing: border-box; color: var(--gold,#d4af37); cursor: pointer; }
    .zart-rm-navigation nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 10px 0; }
    .zart-rm-navigation a { padding: 14px 10px; background: #ffffff08; border-radius: 10px; color: inherit; font-size: 13px; }
}
@media screen and (max-width:650px) {
    .zart-responsive { padding: 0; }
    .zart-responsive .main-content { padding: 18px 14px; }
    .zart-responsive-root:not(.main-content):not(body) { padding: 16px !important; }
    body.zart-responsive > :where(.container,.container-fluid,.wrapper,.page,.wrap,.card) { box-sizing: border-box; width: 100%; padding: 16px !important; margin: 0 auto; }
    .zart-mobile-grid { grid-template-columns: minmax(0,1fr) !important; }
    .zart-mobile-grid > * { grid-row: auto !important; }
    .zart-responsive-root :where(.card,.panel,.section,.form-section,.form-card) { padding: 16px !important; border-radius: 14px; }
    .zart-responsive-root > .zart-mobile-flow { align-items: stretch !important; }
    .zart-responsive-root > .zart-mobile-flow > h1 { flex-basis: 100%; margin-bottom: 0; }
    .zart-responsive-root :where(form,.filter-group,.form-group,.field,.input-group) { min-width: 0; max-width: 100%; }
    .zart-responsive-root :where(label,.field-label) { line-height: 1.5; }
    .zart-responsive-root :where(.form-actions,.actions,.filters,.filter-bar,.header-actions) { flex-wrap: wrap; }
    .zart-responsive-root :where(.form-actions,.header-actions) > :where(a,button) { flex: 1 1 130px; text-align: center; }
    .zart-responsive-root :where(.summary-big,.summary-total-final,.total-value) { font-size: 26px !important; overflow-wrap: anywhere; }
    .zart-responsive-root :where(.modal-content,.modal-box,.modal-card) { box-sizing: border-box; padding: 16px !important; max-width: 100%; }
    .zart-responsive-root .logistica-nav { flex-wrap: wrap; }
    .zart-responsive-root .zart-scroll-table[data-mobile-cards] { overflow: visible; }
    .zart-responsive-root table[data-mobile-cards] > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .zart-responsive-root table[data-mobile-cards] > tbody { display: block; }
    .zart-responsive-root .zart-card-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 14px; margin-bottom: 14px; border: 1px solid var(--border,#333); border-radius: 14px; background: var(--card-bg,#1a1a1a); }
    .zart-responsive-root .zart-card-row > td { display: block !important; min-width: 0; padding: 0 !important; border: 0; text-align: left !important; }
    .zart-responsive-root .zart-card-row > td::before { content: attr(data-mobile-label); display: block; font: 600 10px/1.5 'Montserrat',sans-serif; letter-spacing: .5px; color: var(--text-muted,#aaa); margin-bottom: 5px; }
    .zart-responsive-root .zart-card-row > td:nth-child(2), .zart-responsive-root .zart-card-row > td:last-child { grid-column: 1 / -1; }
    .zart-responsive-root .zart-card-row > td:last-child :where(a,button) { display: inline-flex; align-items: center; justify-content: center; margin: 3px 2px; }
    .zart-responsive.app-body .main { padding: 16px; }
    .zart-responsive.app-body .page-head { align-items: stretch; gap: 14px; }
    .zart-responsive.app-body .page-head form { width: 100%; }
    .zart-responsive.app-body .future-bars > div { grid-template-columns: 64px minmax(20px,1fr) auto; gap: 8px; }
    .zart-responsive.auth-page { padding: 12px; }
    .zart-responsive.auth-page :where(.auth-card,.auth-visual) { padding: 24px; }
    .zart-messages-screen .sidebar { display: block; width: 100%; max-height: 240px; overflow-y: auto; }
}
/* Document previews may reflow on screen; their A4 / label print CSS is untouched. */
@media screen and (max-width:650px) {
    body.zart-document-view { padding: 12px; }
    .zart-document-view .documento { padding: 20px 16px; }
    .zart-document-view .documento :where(p,div,li) { overflow-wrap: anywhere; }
    .zart-document-view :where(.linha-assinatura,.logo-box) { max-width: 100%; box-sizing: border-box; }
    .zart-document-view .logo-box { padding: 14px 20px; }
    .zart-document-view .logo-box img { max-width: 100%; height: auto; }
    .zart-document-view .assinaturas { grid-template-columns: minmax(0,1fr); gap: 44px; }
    .zart-document-view .toolbar { flex-wrap: wrap; }
    .zart-document-view .toolbar button { min-height: 44px; }
    .zart-document-view .documento h1 { font-size: 20px; }
    .zart-document-view .documento table { display: block; max-width: 100%; overflow-x: auto; }
    .zart-document-view :where(.info-box,.section-content) { grid-template-columns: minmax(0,1fr); }
    .zart-document-view .header-container { flex-wrap: wrap; gap: 12px; }
}
