        /* TABLET - 768px */
        @media(max-width:768px){
            .content-body{padding:12px}
            .content-header{height:auto;padding:8px 14px;flex-wrap:wrap;gap:6px}
            .header-actions{gap:3px;flex-wrap:wrap}
            .page-title{font-size:15px}
            .toolbar{flex-direction:column;align-items:stretch;gap:10px}
            .toolbar-section{flex-wrap:wrap;gap:6px;justify-content:center}
            .toolbar-divider{display:none}
            .cards-grid{grid-template-columns:1fr}
            /* .cards-list .card flex-direction removido — conflitava com display:grid */
            .stats-grid{grid-template-columns:1fr 1fr;gap:10px}
            .form-group{grid-template-columns:1fr}
            .page-title{font-size:18px}
            .page-subtitle{font-size:11px}
            .card{padding:12px}
            .card-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px}
            .card-title{font-size:14px;flex:1}
            .card-subtitle{font-size:11px}
            .action-buttons{flex-shrink:0}
            .action-buttons button{padding:6px 8px}
            .filter-buttons{gap:4px;flex-wrap:wrap;justify-content:center}
            .filter-btn{padding:6px 10px;font-size:11px}
            .view-controls{gap:2px}
            .view-btn{padding:6px 8px;font-size:12px}
            .search-input{width:100%;font-size:14px}
            .info-row{padding:6px 0}
            .info-label{font-size:11px}
            .info-value{font-size:13px}
            .dashboard-section{margin-bottom:20px}
            .section-header-dash{flex-direction:column;align-items:stretch;gap:8px}
            .section-header-dash select{width:100%}
            .section-title-dash{font-size:16px}
            /* Mapa responsivo */
            .mapa-container{flex-direction:column;height:auto;min-height:auto}
            .mapa-sidebar{width:100%;max-height:200px;order:2}
            .mapa-wrapper{height:300px;order:1}
            .mapa-stats{grid-template-columns:repeat(4,1fr);gap:6px;padding:10px}
            .mapa-stats .stat-card{padding:8px}
            .mapa-stats .stat-number{font-size:18px}
            .mapa-stats .stat-label{font-size:9px}
            .mapa-filtros{flex-direction:row;gap:6px;flex-wrap:wrap}
            .mapa-filtros select{flex:1;min-width:120px;font-size:12px;padding:8px}
            .mapa-imovel-item{padding:8px}
            /* Relatórios */
            #relatorios .card{padding:12px}
            .rel-grid{grid-template-columns:1fr}
            #resultadoRelatorio .info-row{flex-direction:row;justify-content:space-between}
            /* Inadimplência */
            #inadimplencia .toolbar{gap:8px}
            /* Pagamentos */
            #pagamentos .toolbar{gap:8px}
            /* Documentos */
            #documentos .toolbar{gap:8px}
            /* Botões */
            button{padding:10px 14px;font-size:13px;min-height:40px}
            button.sm{padding:6px 10px;font-size:11px;min-height:32px}
            .ghost{padding:8px 12px}
            /* Modal */
            .modal{padding:10px}
            .modal-content{padding:16px;margin:0;max-height:95vh;border-radius:12px}
            .modal-header{font-size:16px;padding-right:40px}
            .close-btn{top:12px;right:12px;width:32px;height:32px;font-size:16px}
        }
        
        /* CELULAR - 480px */
        @media(max-width:480px){
            .content-body{padding:10px}
            .content-header{padding:10px}
            .stats-grid{grid-template-columns:1fr 1fr;gap:8px}
            .stat-card{padding:12px}
            .stat-icon{font-size:20px}
            .stat-number{font-size:20px}
            .stat-label{font-size:10px}
            .modal-content{padding:14px;border-radius:10px}
            .login-box{padding:20px 16px;margin:8px}
            .login-box h1{font-size:20px}
            .login-box p{font-size:13px}
            .form-section{padding:10px 12px;font-size:12px}
            .card{padding:10px}
            .card-title{font-size:13px}
            .card-subtitle{font-size:10px}
            .card-content .info-row{padding:4px 0}
            button{padding:10px 12px;font-size:12px;min-height:38px}
            button.sm{padding:5px 8px;font-size:10px;min-height:28px}
            .toast{font-size:12px;padding:10px 14px;max-width:90vw}
            /* Header ultra compacto */
            .page-title{font-size:14px}
            .page-subtitle{display:none}
            .header-actions{gap:2px}
            .global-search-btn{min-width:32px;width:32px;padding:5px 7px}
            .global-search-btn span:nth-child(2){display:none}
            .global-search-kbd{display:none}
            .theme-toggle span{display:none}
            .theme-toggle{padding:5px 7px;min-width:32px;justify-content:center}
            .sync-status span:last-child{display:none}
            .sync-status{padding:5px 7px}
            .btn-logout-topbar span:last-child{display:none}
            .btn-logout-topbar{padding:5px 7px}
            /* Filtros compactos */
            .filter-buttons{gap:3px}
            .filter-btn{padding:5px 8px;font-size:10px;border-radius:6px}
            .view-controls{display:none}
            /* Proprietários múltiplos */
            .proprietario-row{flex-direction:column;gap:8px;padding:10px}
            .proprietario-row select{width:100%;font-size:14px}
            .proprietario-row > div{width:100%;justify-content:space-between}
            /* Toolbar ultra compacta */
            .toolbar{gap:8px}
            .toolbar-section{gap:4px}
            .toolbar select{font-size:12px;padding:8px 10px}
            /* Mapa mobile */
            .mapa-wrapper{height:250px}
            .mapa-stats{grid-template-columns:repeat(2,1fr);gap:6px}
            .mapa-sidebar{max-height:150px}
            /* Relatórios mobile */
            #resultadoRelatorio{font-size:12px}
            #resultadoRelatorio h3{font-size:14px}
            #resultadoRelatorio h4{font-size:13px}
            #resultadoRelatorio table{font-size:10px}
            #resultadoRelatorio th,#resultadoRelatorio td{padding:6px 4px}
            /* Dropdown export */
            .dropdown-menu{min-width:120px!important}
            .dropdown-menu button{padding:10px 12px!important;font-size:13px!important}
            /* Dashboard mobile */
            #dashboard > div:first-child{flex-direction:row;gap:6px;flex-wrap:wrap;justify-content:flex-end}
            #dashboard > div:first-child button{width:auto;padding:8px 12px}
            /* Tabelas scrolláveis */
            .table-container{margin:0 -10px;border-radius:0}
            table{font-size:11px}
            th,td{padding:8px 6px}
            /* Paginação */
            .paginacao{flex-wrap:wrap;gap:4px;justify-content:center}
            .paginacao button{padding:6px 10px;font-size:11px}
            .paginacao span{font-size:11px}
            /* Empty state */
            .empty-state{padding:40px 20px}
            .empty-state-icon{font-size:48px}
            /* Card info compacto */
            .card-info{gap:8px;font-size:11px;flex-wrap:wrap}
            .card-content{padding-top:8px}
            .card-content.collapsed{display:none}
            .card-content.expanded{display:block}
            /* Mini mapa modal */
            #modalMiniMapa .modal-content{height:85vh!important;max-height:none!important}
            #miniMapaContainer{min-height:200px!important}
        }
        
        /* CELULAR PEQUENO - 360px */
        @media(max-width:360px){
            .content-body{padding:8px}
            .stats-grid{grid-template-columns:1fr}
            .stat-card{flex-direction:row;justify-content:space-between;align-items:center;padding:10px 12px}
            .stat-icon{font-size:18px}
            .stat-number{font-size:18px}
            .header-actions button{padding:6px 8px}
            .filter-btn{padding:4px 6px;font-size:9px}
            .card{padding:8px}
            .modal-content{padding:12px}
            .form-section{padding:8px 10px}
            button{font-size:11px;padding:8px 10px}
        }
        
        /* Touch feedback - dispositivos touch */
        @media(hover:none)and(pointer:coarse){
            button,a,.card,.nav-item,.filter-btn,.view-btn{
                -webkit-tap-highlight-color:transparent;
                touch-action:manipulation;
            }
            button:active,.card:active,.nav-item:active,.filter-btn:active{
                transform:scale(0.97);
                opacity:0.9;
            }
            /* Aumentar área de toque */
            button.sm{min-height:36px;min-width:36px}
            .action-buttons button{min-height:38px;min-width:38px}
            .close-btn{min-width:40px;min-height:40px}
            select,input{min-height:44px;font-size:16px!important}
            /* Evitar zoom em inputs no iOS */
            input[type="text"],input[type="email"],input[type="number"],input[type="tel"],select,textarea{
                font-size:16px!important;
            }
        }
        
        /* Safe area para iPhones com notch */
        @supports(padding:max(0px)){
            .content-body{
                padding-left:max(12px,env(safe-area-inset-left));
                padding-right:max(12px,env(safe-area-inset-right));
                padding-bottom:max(12px,env(safe-area-inset-bottom));
            }
            .mobile-menu-btn{
                bottom:max(16px,env(safe-area-inset-bottom));
                right:max(16px,env(safe-area-inset-right));
            }
            .sidebar{
                padding-bottom:max(20px,env(safe-area-inset-bottom));
            }
        }
        
        /* Scrollbar */
        ::-webkit-scrollbar{width:8px;height:8px}
        ::-webkit-scrollbar-track{background:var(--bg-input);border-radius:4px}
        ::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}
        ::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}
        
        /* Mobile Menu Button */
        .mobile-menu-btn{display:none;position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:linear-gradient(135deg,var(--primary),var(--purple));color:#fff;border-radius:50%;align-items:center;justify-content:center;font-size:24px;box-shadow:var(--shadow-lg);z-index:99;border:none;cursor:pointer}
        @media(max-width:480px){
            .mobile-menu-btn{bottom:16px;right:16px;width:50px;height:50px;font-size:20px}
        }
        
        /* Loading Overlay */
        .loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}
        .loading-spinner{width:50px;height:50px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
        @keyframes spin{to{transform:rotate(360deg)}}
        .loading-text{margin-top:16px;color:var(--text-secondary);font-size:14px}
        
        /* Skeleton Loading */
        .skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}
        @keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
        
        /* Pull to Refresh indicator (mobile) */
        .pull-indicator{position:fixed;top:-50px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:8px 16px;border-radius:0 0 12px 12px;font-size:12px;transition:top .3s;z-index:100}
        .pull-indicator.visible{top:0}
        
        /* Botão voltar ao topo mobile */
        .back-to-top{position:fixed;bottom:90px;right:24px;width:44px;height:44px;background:var(--gray-800);color:#fff;border-radius:50%;display:none;align-items:center;justify-content:center;font-size:18px;box-shadow:var(--shadow-lg);z-index:98;border:none;cursor:pointer;opacity:0;transition:opacity .3s}
        .back-to-top.visible{display:flex;opacity:1}
        @media(max-width:480px){
            .back-to-top{bottom:76px;right:16px;width:40px;height:40px}
        }
        
        /* Feedback visual para toque */
        @media(hover:none){
            button:active,.card:active,.nav-item:active{transform:scale(0.98);opacity:0.9}
        }
        
        /* App Container */
        .app-container{display:none}
        
        /* Cards adicionais */
        .card.inactive{opacity:.7;border-left-color:var(--inactive);background:#fafafa}
        .card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px}
        .card-title{font-size:16px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}
        .card-subtitle{font-size:12px;color:var(--text-muted);margin-top:4px}
        .toggle-card{cursor:pointer;font-size:14px;color:var(--gray-400);transition:.2s;padding:4px}
        .toggle-card:hover{color:var(--primary)}
        .toggle-card.collapsed{transform:rotate(-90deg)}
        
        /* Tab Content */
        .tab-content{display:none;animation:fadeIn .3s}
        .tab-content.active{display:block}
        @keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
        
        /* Stat Card ajustes */
        .stat-card .stat-number{color:var(--primary)}
        .stat-card.success .stat-number{color:var(--success)}
        .stat-card.danger .stat-number{color:var(--danger)}
        .stat-card.warning .stat-number{color:var(--warning)}
        .stat-card.purple .stat-number{color:var(--purple)}
        
        /* Valores Ocultos */
        .valores-ocultos .valor-ocultavel{filter:blur(8px);user-select:none}
        
        /* Modal */
        .modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,.7);backdrop-filter:blur(4px);z-index:1000;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 20px}
        .modal.active{display:flex;animation:modalIn .3s}
        @keyframes modalIn{from{opacity:0}to{opacity:1}}
        .modal-content{background:var(--bg-card);padding:32px;border-radius:var(--radius-xl);max-width:800px;width:100%;margin:auto;box-shadow:var(--shadow-xl);position:relative}
        .modal-header{font-size:20px;font-weight:700;margin-bottom:24px;padding-right:48px;color:var(--text-primary)}
        .close-btn{position:absolute;top:24px;right:24px;background:var(--gray-100);width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;font-size:18px;color:var(--text-muted);padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s}
        .close-btn:hover{background:var(--border-color);transform:rotate(90deg);box-shadow:none}
        .error-message{background:rgba(239,68,68,.08);color:var(--danger);padding:14px 18px;border-radius:var(--radius);margin-bottom:20px;border-left:4px solid var(--danger);font-size:13px}
        
        /* Empty State */
        .empty-state{text-align:center;padding:80px 40px;color:var(--text-muted)}
        .empty-state-icon{font-size:64px;margin-bottom:24px;opacity:.5}
        
        /* Action Buttons */
        .action-buttons{display:flex;gap:8px;flex-wrap:wrap}
        .action-buttons button{padding:8px 12px;font-size:12px}
        
        /* Sub-imóveis */
        .subimoveis-container{margin-top:20px;padding:20px;background:var(--gray-50);border-radius:var(--radius)}
        .subimoveis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
        .subimoveis-list{max-height:300px;overflow-y:auto}
        .subimovel-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:8px;border:1px solid var(--border-color)}
        .subimovel-item.inactive{opacity:.5}
        .subimovel-info{flex:1}
        .subimovel-info strong{display:block;margin-bottom:4px;color:var(--text-primary)}
        .subimovel-info small{color:var(--text-muted);font-size:12px}
        
        /* Avaliacoes */
        .avaliacoes-container{margin-top:20px;padding:20px;background:var(--gray-50);border-radius:var(--radius)}
        .avaliacoes-list{max-height:200px;overflow-y:auto}
        .avaliacao-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:8px;border:1px solid var(--border-color);font-size:13px}
        
        /* Section Title for Dashboard */
        .section-title{color:var(--text-primary);font-size:18px;font-weight:700;margin:0}
        .section-title-dash{color:var(--text-primary);font-size:18px;font-weight:700}
        .section-header-dash{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
        .dashboard-section{margin-bottom:32px}
        
        /* Responsive */
        @media(max-width:1024px){
            .sidebar{transform:translateX(-100%);transition:transform .3s}
            .sidebar.open{transform:translateX(0)}
            .main-content{margin-left:0}
            .mobile-menu-btn{display:flex!important}
        }
        @media(max-width:768px){
            .content-body{padding:20px}
            .toolbar{flex-direction:column;align-items:stretch}
            .toolbar-section{flex-wrap:wrap}
            .toolbar-divider{display:none}
            .cards-grid{grid-template-columns:1fr}
            .stats-grid{grid-template-columns:1fr 1fr}
            .form-group{grid-template-columns:1fr}
            .modal-content{padding:20px}
        }
        @media(max-width:480px){
            .stats-grid{grid-template-columns:1fr}
        }
    
        /* ══════════════════════════════════════════
           ACORDOS DE PARCELAMENTO — estilos
        ══════════════════════════════════════════ */
        .badge-em-acordo{background:rgba(99,102,241,.12);color:var(--primary);padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:4px}
        .badge-acordo-ativo{background:rgba(99,102,241,.1);color:var(--primary)}
        .badge-acordo-concluido{background:rgba(16,185,129,.1);color:var(--success)}
        .badge-acordo-rompido{background:rgba(107,114,128,.1);color:var(--text-muted)}
        [data-theme="dark"] .badge-em-acordo{background:rgba(99,102,241,.22);color:#a5b4fc}
        [data-theme="dark"] .badge-acordo-ativo{background:rgba(99,102,241,.2);color:#a5b4fc}
        [data-theme="dark"] .badge-acordo-concluido{background:rgba(16,185,129,.18);color:#6ee7b7}
        [data-theme="dark"] .badge-acordo-rompido{background:rgba(148,163,184,.15);color:#94a3b8}
        [data-theme="dark"] .acordo-step.active .acordo-step-num{background:var(--primary);color:#fff}
        [data-theme="dark"] .acordo-step.done .acordo-step-num{background:var(--success);color:#fff}
        [data-theme="dark"] .acordo-step-num{background:#334155;color:#94a3b8}
        [data-theme="dark"] .acordo-resumo-box{background:#243044;border-color:#334155}
        [data-theme="dark"] .inadim-select-row{border-color:#334155;background:#1e293b}
        [data-theme="dark"] .inadim-select-row.selected{border-color:var(--primary);background:rgba(99,102,241,.12)}
        [data-theme="dark"] .acordos-table th{color:#94a3b8;border-color:#334155}
        [data-theme="dark"] .acordos-table td{border-color:#334155}
        [data-theme="dark"] .desconto-tag-inline{background:rgba(16,185,129,.15);color:#6ee7b7}
        /* Dark mode: Steps 2/3/4 — caixas de informação com rgba fixo ficam escuras demais */
        [data-theme="dark"] #acordoStep2 .form-item,
        [data-theme="dark"] #acordoStep3 .form-item{color:var(--text-primary)}
        [data-theme="dark"] #infoTipoAcordo,
        [data-theme="dark"] #acordoStep3 [style*="rgba(99,102,241,.07)"]{
            background:rgba(99,102,241,.15)!important;border-color:rgba(99,102,241,.35)!important
        }
        [data-theme="dark"] #parcelasEditorAcordo .parcelas-editor-row input{
            background:var(--bg-main);color:var(--text-primary);border-color:var(--border-color)
        }
        [data-theme="dark"] #acordoStep3 [style*="background:var(--bg-main)"]{background:var(--bg-main)!important}
        [data-theme="dark"] #avisoDivergenciaAcordo{color:#f87171}
        [data-theme="dark"] #resumoFinalAcordoHTML [style*="background:rgba(99,102,241,.07)"]{
            background:rgba(99,102,241,.15)!important;border-color:rgba(99,102,241,.35)!important
        }
        /* Remover animação dos cards de acordos — lag visível com 20+ itens */
        #listaAcordos .card{animation:none}
        .badge-parcela-paga{background:rgba(16,185,129,.1);color:var(--success)}
        .badge-parcela-pendente{background:rgba(107,114,128,.08);color:var(--text-muted);border:1px solid var(--border-color)}
        .badge-parcela-vencida{background:rgba(245,158,11,.12);color:var(--warning)}
        .badge-parcela-inadimplente{background:rgba(239,68,68,.15);color:var(--danger);border:1px solid rgba(239,68,68,.2)}
        .acordo-progress-bar{height:6px;background:var(--border-color);border-radius:6px;overflow:hidden;margin:6px 0}
        .acordo-progress-fill{height:100%;border-radius:6px;transition:width .4s}
        .inadim-em-acordo-bloqueado{opacity:.7;pointer-events:none}
        .acordos-steps{display:flex;align-items:center;gap:0;margin-bottom:18px}
        .acordo-step{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted)}
        .acordo-step-num{width:22px;height:22px;border-radius:50%;background:var(--border-color);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0;transition:.2s}
        .acordo-step.active .acordo-step-num{background:var(--primary);color:#fff}
        .acordo-step.done .acordo-step-num{background:var(--success);color:#fff}
        .acordo-step.active{color:var(--primary)}
        .acordo-step-line{flex:1;height:1px;background:var(--border-color);max-width:36px;margin:0 3px}
        .inadim-select-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:.15s;margin-bottom:8px}
        .inadim-select-row:hover{border-color:var(--primary);background:rgba(99,102,241,.04)}
        .inadim-select-row.selected{border-color:var(--primary);background:rgba(99,102,241,.08)}
        .inadim-select-row input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--primary)}
        .acordo-resumo-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 14px}
        .acordo-resumo-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}
        .acordo-resumo-row.total-row{border-top:1px solid var(--border-color);margin-top:6px;padding-top:10px;font-weight:700;font-size:15px}
        .parcelas-editor-row{display:grid;grid-template-columns:36px 1fr 1fr;gap:8px;align-items:center;margin-bottom:8px}
        .acordos-table{width:100%;border-collapse:collapse}
        .acordos-table th{text-align:left;padding:7px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}
        .acordos-table td{padding:9px 12px;border-bottom:1px solid var(--border-color);font-size:13px;vertical-align:middle}
        .acordos-table tr:last-child td{border-bottom:none}
        [data-theme="dark"] .inadim-select-row.selected{background:rgba(99,102,241,.15)}
        [data-theme="dark"] .acordo-resumo-box{background:rgba(255,255,255,.04)}
        /* ── Dark overrides para elementos sem cobertura ── */
        [data-theme="dark"] .user-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
        [data-theme="dark"] .tl-dot.vago{background:rgba(255,255,255,.06);border-color:#475569}
        [data-theme="dark"] .tl-content.vago{border-left-color:#475569}
        [data-theme="dark"] .tl-badge.saiu{background:rgba(255,255,255,.06)}
        [data-theme="dark"] .badge-muted{background:rgba(100,116,139,.2);border-color:rgba(100,116,139,.3)}
        .desconto-tag-inline{display:inline-flex;align-items:center;gap:4px;background:rgba(16,185,129,.1);color:var(--success);font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px}
        #listaAcordos.cards-grid{display:flex;flex-direction:column;gap:12px}