/* FireGuardian Pro — theme */

        /* ===== CSS REFORÇADO - CORES MAIS VIBRANTES ===== */
        :root {
            --primary: #d32f2f;
            --primary-dark: #b71c1c;
            --primary-light: #ff6659;
            --primary-mid: #e53935;
            --secondary: #37474f;
            --bg: #f0f2f5;
            --card: #ffffff;
            --text-main: #1a2332;
            --text-sub: #546e7a;
            --ok: #2e7d32;
            --warn: #e65100;
            --danger: #b71c1c;
            --border: #dde3ea;
            --radius: 14px;
            --radius-sm: 8px;
            --shadow: 0 2px 12px rgba(0,0,0,0.07),0 1px 3px rgba(0,0,0,0.05);
            --shadow-hover: 0 8px 30px rgba(0,0,0,0.13);
            --shadow-card: 0 4px 20px rgba(0,0,0,0.08);
            --info: #1565c0;
            --success: #2e7d32;
            --marker-color: #ff6f00;
        }
        *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;outline:none;}
        html{width:100%;height:100%;-webkit-text-size-adjust:100%;}
        body{font-family:'Inter','Segoe UI',sans-serif;background:var(--bg);color:var(--text-main);padding-bottom:90px;overflow-x:hidden;min-height:100vh;width:100%;max-width:100%;margin:0;position:relative;-webkit-overflow-scrolling:touch;}
        /* Centralização e estabilidade no WebView Android */
        #app-root, .app-shell{width:100%;max-width:100%;margin:0 auto;}
        .main-nav-wrap,.app-header{width:100%;max-width:100%;box-sizing:border-box;}
        ::-webkit-scrollbar{width:6px;height:6px;}
        ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px;}
        ::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px;}
        .app-header{background:linear-gradient(135deg,#8e0000 0%,#c62828 45%,#d32f2f 70%,#b71c1c 100%);color:#fff;padding:22px 20px 28px;text-align:center;border-radius:0 0 28px 28px;box-shadow:0 8px 30px rgba(140,0,0,0.35);position:relative;overflow:hidden;z-index:10;}
        .app-header::before{content:'';position:absolute;top:-60%;right:-30%;width:70%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,0.08) 0%,transparent 70%);pointer-events:none;}
        .app-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);}
        .app-header h1{font-family:'Rajdhani',sans-serif;font-size:2rem;font-weight:700;letter-spacing:1px;display:flex;justify-content:center;align-items:center;gap:12px;position:relative;z-index:1;}
        .app-header p{margin:6px 0 0;font-size:0.88rem;color:#fff;letter-spacing:0.5px;position:relative;z-index:1;font-weight:400;}
        .app-version{display:inline-block;margin-top:8px;font-size:0.72rem;background:rgba(255,255,255,0.15);padding:3px 12px;border-radius:20px;color:#fff;letter-spacing:0.5px;position:relative;z-index:1;border:1px solid rgba(255,255,255,0.2);}
        .main-nav-wrap{background:#fff;padding:0 12px;box-shadow:0 2px 12px rgba(0,0,0,0.07);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);}
        .main-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:8px 0;}
        .main-nav::-webkit-scrollbar{display:none;}
        .nav-btn{flex:0 0 auto;padding:10px 14px;border:none;background:transparent;border-radius:10px;color:var(--text-sub);font-weight:600;font-size:0.78rem;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;align-items:center;gap:5px;min-width:72px;position:relative;font-family:'Inter',sans-serif;}
        .nav-btn i{font-size:1.6rem;}
        .nav-btn.active{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 14px rgba(198,40,40,0.35);}
        .nav-btn:not(.active):hover{background:#fce4ec;color:var(--primary);}
        .container{max-width:1200px;width:100%;margin-left:auto;margin-right:auto;padding:18px 14px 10px;box-sizing:border-box;}
        .card{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-card);margin-bottom:18px;border:1px solid rgba(0,0,0,0.04);animation:fadeInUp 0.35s ease;}
        @keyframes fadeInUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
        .tab-content{display:none;}
        .tab-content.active{display:block;animation:fadeIn 0.3s ease;}
        @keyframes fadeIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
        .section-title{font-family:'Rajdhani',sans-serif;font-size:1.25rem;font-weight:700;color:var(--primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #ffcdd2;display:flex;align-items:center;gap:10px;letter-spacing:0.3px;}
        .section-title i{font-size:1.1rem;}
        .dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:22px;}
        .stat-card{padding:18px 14px;border-radius:12px;color:#fff;text-align:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;min-height:110px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 4px 14px rgba(0,0,0,0.12);}
        .stat-card::after{content:'';position:absolute;top:-40%;right:-20%;width:80%;height:120%;background:radial-gradient(ellipse,rgba(255,255,255,0.12) 0%,transparent 70%);pointer-events:none;}
        .stat-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 28px rgba(0,0,0,0.18);}
        .stat-card strong{font-size:2.2rem;font-weight:700;display:block;margin-bottom:4px;font-family:'Rajdhani',sans-serif;}
        .stat-card span{font-size:0.82rem;opacity:0.95;}
        .stat-card i{font-size:1.1rem;margin-bottom:6px;}
        .bg-blue{background:linear-gradient(135deg,#1a73e8,#0d47a1);}
        .bg-green{background:linear-gradient(135deg,#2e7d32,#1b5e20);}
        .bg-orange{background:linear-gradient(135deg,#f57c00,#bf360c);}
        .bg-red{background:linear-gradient(135deg,#d32f2f,#8e0000);}
        .bg-grey{background:linear-gradient(135deg,#546e7a,#37474f);}
        .bg-purple{background:linear-gradient(135deg,#7b1fa2,#4a148c);}
        .bg-marker{background:linear-gradient(135deg,#ff8f00,#e65100);animation:pulseMarker 2s ease-in-out infinite;}
        .bg-fotos{background:linear-gradient(135deg,#00838f,#004d40);}
        @keyframes pulseMarker{0%,100%{box-shadow:0 4px 14px rgba(255,111,0,0.35);}50%{box-shadow:0 4px 24px rgba(255,111,0,0.6);}}
        /* Barra progresso backup */
        #progresso-backup-container{width:100%;background:#f8fafc;border-radius:10px;margin:10px 0;display:none;padding:12px 14px;border:1px solid var(--border);}
        #progresso-backup-fase{font-size:0.82rem;font-weight:600;color:var(--text-main);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
        #progresso-backup-fase i{color:var(--primary);}
        #progresso-backup-track{width:100%;height:18px;background:#e8ecef;border-radius:20px;overflow:hidden;}
        #barra-progresso-backup{width:0%;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));text-align:center;color:#fff;border-radius:20px;font-size:11px;line-height:18px;font-weight:700;transition:width 0.25s ease;white-space:nowrap;}
        #progresso-backup-sub{font-size:0.74rem;color:var(--text-sub);margin-top:6px;text-align:right;}
        /* Demais estilos */
        .alert-pending-card{background:linear-gradient(135deg,#fff8e1,#fff3e0);border:2px solid #ff9800;border-radius:12px;padding:14px 18px;margin-bottom:14px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all 0.3s;animation:pulseAlert 2.5s ease-in-out infinite;}
        .alert-pending-card.danger{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#e53935;animation:pulseAlertDanger 2s ease-in-out infinite;}
        .alert-pending-card.marker{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff6f00;animation:pulseAlertMarker 1.5s ease-in-out infinite;}
        @keyframes pulseAlert{0%,100%{box-shadow:0 0 0 0 rgba(255,152,0,0.25);}50%{box-shadow:0 0 0 10px rgba(255,152,0,0);}}
        @keyframes pulseAlertDanger{0%,100%{box-shadow:0 0 0 0 rgba(229,57,53,0.3);}50%{box-shadow:0 0 0 12px rgba(229,57,53,0);}}
        @keyframes pulseAlertMarker{0%,100%{box-shadow:0 0 0 0 rgba(255,111,0,0.35);}50%{box-shadow:0 0 0 12px rgba(255,111,0,0);}}
        .alert-pending-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
        .alert-pending-icon.warn{background:#fff3e0;color:#ff9800;}
        .alert-pending-icon.danger{background:#ffebee;color:#e53935;}
        .alert-pending-icon.marker{background:#fff3e0;color:#ff6f00;animation:pulseMarkerIcon 1.2s ease-in-out infinite;}
        @keyframes pulseMarkerIcon{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
        .alert-pending-info{flex:1;}
        .alert-pending-info strong{display:block;font-size:0.9rem;color:var(--text-main);font-weight:700;}
        .alert-pending-info span{font-size:0.78rem;color:var(--text-sub);}
        .alert-pending-arrow{color:var(--text-sub);font-size:1rem;flex-shrink:0;}
        .progress-container{margin:16px 0;padding:18px;background:#f8fafc;border-radius:10px;border:1px solid var(--border);}
        .progress-item{margin-bottom:16px;}
        .progress-item:last-child{margin-bottom:0;}
        .progress-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:0.88rem;font-weight:600;}
        .progress-bar-bg{height:10px;background:#e8ecef;border-radius:20px;overflow:hidden;}
        .progress-bar{height:100%;border-radius:20px;transition:width 1s ease;position:relative;overflow:hidden;}
        .progress-bar::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.35),transparent);animation:shimmer 2s infinite;}
        @keyframes shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
        .chart-container{position:relative;height:240px;margin:16px 0;padding:14px;background:#fff;border-radius:10px;border:1px solid var(--border);}
        .field-group{margin-bottom:16px;}
        label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:0.88rem;margin-bottom:7px;color:var(--text-main);}
        label i{color:var(--primary);font-size:0.9rem;}
        input,select,textarea{width:100%;padding:11px 14px;border:2px solid var(--border);border-radius:10px;font-size:0.95rem;transition:all 0.25s;background:#fff;color:var(--text-main);font-family:'Inter',sans-serif;}
        input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(198,40,40,0.1);transform:translateY(-1px);}
        input:disabled,select:disabled,textarea:disabled{background:#f4f6f8;cursor:not-allowed;}
        .form-type-selector{display:flex;gap:8px;margin-bottom:18px;background:#f0f2f5;padding:5px;border-radius:12px;}
        .type-btn{flex:1;padding:11px;border:none;background:transparent;border-radius:9px;font-weight:600;font-size:0.88rem;color:var(--text-sub);cursor:pointer;transition:all 0.25s;display:flex;align-items:center;justify-content:center;gap:7px;font-family:'Inter',sans-serif;user-select:none;}
        .type-btn.active{background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(0,0,0,0.12);}
        .status-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;}
        .status-btn{flex:1;min-width:115px;padding:11px;border:2px solid transparent;border-radius:10px;font-weight:600;font-size:0.82rem;cursor:pointer;transition:all 0.25s;display:flex;flex-direction:column;align-items:center;gap:5px;background:#f4f6f8;color:var(--text-main);font-family:'Inter',sans-serif;}
        .status-btn i{font-size:1.2rem;}
        .status-btn small{font-size:0.68rem;font-weight:400;opacity:0.8;text-align:center;}
        .status-btn.aprovado{background:#e8f5e9;color:#2e7d32;border-color:#2e7d32;}
        .status-btn.reprovado{background:#ffebee;color:#c62828;border-color:#c62828;}
        .status-btn.ressalvas{background:#fff8e1;color:#e65100;border-color:#ff9800;}
        .status-btn.active{transform:scale(1.02);filter:brightness(0.85);border-width:3px;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
        /* Cores mais escuras quando ativo — contraste adequado */
        .status-btn.aprovado.active{background:#1b5e20;color:#fff;border-color:#1b5e20;}
        .status-btn.reprovado.active{background:#8e0000;color:#fff;border-color:#8e0000;}
        .status-btn.ressalvas.active{background:#bf360c;color:#fff;border-color:#bf360c;}
        .optional-pill{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.4px;background:#eceff1;color:var(--text-sub);padding:3px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:4px;}
        .btn-save{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:10px;transition:all 0.25s;box-shadow:0 4px 14px rgba(198,40,40,0.28);font-family:'Inter',sans-serif;letter-spacing:0.3px;}
        .btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(198,40,40,0.38);}
        .btn-save:active{transform:translateY(0);}
        .btn-save:disabled{opacity:0.55;cursor:not-allowed;transform:none;}
        .item-list{display:flex;flex-direction:column;gap:10px;}
        .item-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all 0.25s;position:relative;overflow:hidden;}
        .item-card::before{content:'';position:absolute;left:0;top:0;height:100%;width:4px;background:var(--secondary);transition:width 0.25s;}
        .item-card:hover{transform:translateX(5px);box-shadow:var(--shadow-hover);border-color:#ccc;}
        .item-card:hover::before{width:6px;}
        .item-card.expired::before{background:linear-gradient(135deg,var(--danger),#d32f2f);}
        .item-card.warning::before{background:linear-gradient(135deg,var(--warn),#f57c00);}
        .item-card.ok::before{background:linear-gradient(135deg,var(--ok),#388e3c);}
        .item-card.nodata::before{background:linear-gradient(135deg,var(--secondary),#546e7a);}
        .item-card.marcado{border:2px dashed #ff6f00!important;background:#fff8ee;box-shadow:0 0 12px rgba(255,111,0,0.22);animation:pulseCardMarker 2.2s ease-in-out infinite;}
        .item-card.marcado::before{background:linear-gradient(135deg,#ff6f00,#b71c1c)!important;width:6px!important;}
        @keyframes pulseCardMarker{0%,100%{box-shadow:0 0 6px rgba(255,111,0,0.22);}50%{box-shadow:0 0 16px rgba(255,111,0,0.45);}}
        .item-info h4{margin:0 0 7px;color:var(--text-main);font-size:1rem;font-weight:600;}
        .item-info p{margin:0 0 5px;font-size:0.84rem;color:var(--text-sub);display:flex;align-items:center;gap:5px;}
        .badge{font-size:0.72rem;padding:3px 9px;border-radius:20px;color:#fff;display:inline-flex;align-items:center;gap:4px;margin-top:7px;font-weight:600;}
        .badge-marcador{background:#ff6f00;animation:pulseBadge 1.8s ease-in-out infinite;}
        @keyframes pulseBadge{0%,100%{opacity:1;}50%{opacity:0.65;}}
        .actions{display:flex;gap:7px;flex-wrap:wrap;}
        .btn-icon{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.88rem;transition:all 0.25s;box-shadow:0 2px 5px rgba(0,0,0,0.08);}
        .btn-icon:hover{transform:scale(1.14);box-shadow:0 4px 10px rgba(0,0,0,0.16);}
        .btn-edit{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;}
        .btn-edit:hover{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;}
        .btn-del{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:var(--danger);}
        .btn-del:hover{background:linear-gradient(135deg,var(--danger),#8e0000);color:#fff;}
        .btn-marker{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#ff6f00;}
        .btn-marker:hover{background:linear-gradient(135deg,#ff8f00,#e65100);color:#fff;}
        .btn-marker.active-marker{background:#ff6f00;color:#fff;box-shadow:0 0 10px rgba(255,111,0,0.55);}
        .equipamentos-recentes{background:#f8fafc;border-radius:12px;padding:14px;max-height:620px;overflow-y:auto;border:1px solid var(--border);}
        .equipamentos-recentes h4{margin:0 0 13px;color:var(--text-main);font-size:0.95rem;display:flex;align-items:center;gap:8px;font-weight:700;}
        .mini-item-card{background:#fff;padding:10px 12px;border-radius:8px;margin-bottom:7px;border-left:4px solid var(--primary);cursor:pointer;transition:all 0.2s;font-size:0.82rem;box-shadow:0 1px 4px rgba(0,0,0,0.05);}
        .mini-item-card:hover{transform:translateX(4px);box-shadow:0 2px 8px rgba(0,0,0,0.1);}
        .mini-item-card.marcado{border-left-color:#ff6f00;background:#fff8ee;}
        .mini-item-card strong{color:var(--primary);}
        .cadastro-split{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0;}
        .cadastro-split > form,
        .cadastro-split > .equipamentos-recentes{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
        #cadastro .card{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;}
        #cadastro{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;}
        #form-equipamento{width:100%;max-width:100%;box-sizing:border-box;}
        #form-equipamento input,
        #form-equipamento select,
        #form-equipamento textarea{max-width:100%;box-sizing:border-box;}
        @media(min-width:768px){
            .cadastro-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
        }
        @media(max-width:767px){
            .cadastro-split{grid-template-columns:minmax(0,1fr) !important;}
            .equipamentos-recentes{max-height:420px;}
        }
        .modelo-existente-box{background:linear-gradient(135deg,#eef2ff,#e8eaf6);border:1.5px solid #9fa8da;border-radius:12px;padding:14px 16px;margin-bottom:16px;position:relative;}
        .modelo-existente-box h5{margin:0 0 10px;color:#3949ab;font-size:0.9rem;display:flex;align-items:center;gap:8px;font-weight:700;}
        .modelo-dd-wrap{position:relative;}
        .modelo-dd-trigger{width:100%;padding:11px 40px 11px 14px;border:2px solid #9fa8da;border-radius:10px;font-size:0.9rem;background:#fff;color:var(--text-main);cursor:pointer;text-align:left;font-family:'Inter',sans-serif;transition:border-color 0.2s,box-shadow 0.2s;display:flex;align-items:center;gap:8px;min-height:44px;position:relative;}
        .modelo-dd-trigger:hover,.modelo-dd-trigger.open{border-color:#3f51b5;box-shadow:0 0 0 3px rgba(63,81,181,0.12);}
        .modelo-dd-trigger .dd-placeholder{color:#90a4ae;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
        .modelo-dd-trigger .dd-value{color:var(--text-main);font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
        .modelo-dd-trigger .dd-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#5c6bc0;transition:transform 0.25s;pointer-events:none;}
        .modelo-dd-trigger.open .dd-chevron{transform:translateY(-50%) rotate(180deg);}
        .modelo-dd-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1.5px solid #9fa8da;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,0.18);z-index:200;overflow:hidden;animation:fadeIn 0.2s ease;}
        .modelo-dd-panel.open{display:block;}
        .modelo-dd-search{padding:10px 12px;border-bottom:1px solid #e8ecef;background:#f8fafc;position:relative;}
        .modelo-dd-search input{width:100%;padding:9px 12px 9px 36px;border:1.5px solid var(--border);border-radius:8px;font-size:0.88rem;background:#fff;font-family:'Inter',sans-serif;}
        .modelo-dd-search i{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:#90a4ae;font-size:0.85rem;pointer-events:none;}
        .modelo-dd-list{max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
        .modelo-dd-item{padding:11px 14px;cursor:pointer;border-bottom:1px solid #f0f2f5;transition:background 0.15s;display:flex;flex-direction:column;gap:2px;}
        .modelo-dd-item:last-child{border-bottom:none;}
        .modelo-dd-item:hover,.modelo-dd-item:active{background:#eef2ff;}
        .modelo-dd-item strong{font-size:0.88rem;color:var(--text-main);}
        .modelo-dd-item span{font-size:0.75rem;color:var(--text-sub);}
        .modelo-dd-empty{padding:20px 14px;text-align:center;color:var(--text-sub);font-size:0.85rem;}
        /* ===== AUTOCOMPLETE DE ÁREA (substitui o <datalist> nativo, que sobrepõe/quebra no WebView) ===== */
        .area-ac-wrap{position:relative;}
        .area-ac-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1.5px solid var(--primary-light);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,0.18);z-index:150;overflow:hidden;max-height:230px;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fadeIn 0.18s ease;}
        .area-ac-panel.open{display:block;}
        .area-ac-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid #f0f2f5;transition:background 0.15s;display:flex;align-items:center;gap:9px;font-size:0.88rem;color:var(--text-main);}
        .area-ac-item:last-child{border-bottom:none;}
        .area-ac-item:hover,.area-ac-item:active,.area-ac-item.highlighted{background:#ffebee;}
        .area-ac-item i{color:var(--primary);font-size:0.8rem;flex-shrink:0;}
        .area-ac-item b{font-weight:700;color:var(--primary);}
        .area-ac-item .area-ac-count{margin-left:auto;font-size:0.7rem;color:var(--text-sub);background:#f0f2f5;padding:2px 8px;border-radius:20px;flex-shrink:0;}
        .area-ac-new{padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:9px;font-size:0.85rem;color:#2e7d32;background:#f4faf5;border-top:1px dashed #c8e6c9;}
        .area-ac-new:hover,.area-ac-new:active{background:#e8f5e9;}
        .modelo-existente-hint{font-size:0.74rem;color:#5c6bc0;margin-top:8px;display:flex;align-items:center;gap:5px;}
        #progresso-pdf-container{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);width:min(420px,90vw);background:#fff;border-radius:12px;margin:0;display:none!important;padding:14px 16px;border:1.5px solid var(--border);box-shadow:0 10px 40px rgba(0,0,0,0.2);z-index:12000;pointer-events:none;}
        #progresso-pdf-container.ativo{display:block!important;pointer-events:auto;}
        #progresso-pdf-fase{font-size:0.82rem;font-weight:600;color:var(--text-main);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
        #progresso-pdf-fase i{color:var(--primary);}
        #progresso-pdf-track{width:100%;height:18px;background:#e8ecef;border-radius:20px;overflow:hidden;}
        #barra-progresso-pdf{width:0%;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));text-align:center;color:#fff;border-radius:20px;font-size:11px;line-height:18px;font-weight:700;transition:width 0.25s ease;white-space:nowrap;}
        #progresso-pdf-sub{font-size:0.74rem;color:var(--text-sub);margin-top:6px;text-align:right;}
        .cad-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
        @media(max-width:480px){.cad-row{grid-template-columns:1fr;}}
        .inspecao-mensal-box{background:linear-gradient(135deg,#e0f7fa,#b2ebf2);border:2px dashed #00acc1;border-radius:12px;padding:14px 16px;margin-bottom:16px;}
        .inspecao-mensal-box h5{margin:0 0 10px;color:#006064;font-size:0.9rem;display:flex;align-items:center;gap:8px;}
        .inspecao-mensal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
        @media(max-width:480px){.inspecao-mensal-grid{grid-template-columns:1fr;}}
        .inspecao-mensal-readonly{background:rgba(255,255,255,0.7)!important;border-color:#80deea!important;color:#006064!important;font-weight:600!important;}
        .area-section{margin-bottom:12px;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color 0.25s, box-shadow 0.25s;contain:layout style;}
        .area-section:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(0,0,0,0.08);}
        .area-header{background:linear-gradient(135deg,#f8f9fa,#edf0f3);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;font-weight:700;cursor:pointer;transition:background 0.2s;font-size:0.9rem;user-select:none;-webkit-tap-highlight-color:transparent;}
        .area-header:hover{background:linear-gradient(135deg,#edf0f3,#e3e8ec);}
        .area-chevron{transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);display:inline-block;flex-shrink:0;}
        .area-header.open .area-chevron{transform:rotate(90deg);}
        .area-content-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.28s cubic-bezier(0.4,0,0.2,1);opacity:1;}
        .area-content-wrapper.open{grid-template-rows:1fr;}
        .area-content-inner{overflow:hidden;min-height:0;}
        .area-content{padding:10px;border-top:1px solid var(--border);}
        .area-actions{display:flex;gap:8px;padding:12px 14px;background:#f8fafc;border-top:1.5px solid var(--border);flex-wrap:wrap;}
        .area-action-btn{flex:1;min-width:110px;padding:9px 11px;border:none;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all 0.25s;color:#fff;font-size:0.8rem;font-family:'Inter',sans-serif;}
        .area-action-btn:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,0.14);}
        .area-action-btn.mensal{background:linear-gradient(135deg,#1976d2,#1565c0);}
        .area-action-btn.recarga{background:linear-gradient(135deg,#2e7d32,#1b5e20);}
        .area-action-btn.semestral{background:linear-gradient(135deg,#e65100,#bf360c);}
        .area-action-btn.excluir{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828;border:1.5px solid #c62828;}
        .area-action-btn.excluir:hover{background:linear-gradient(135deg,#c62828,#8e0000);color:#fff;}
        /* ===== ABA ANUAL — INSPEÇÃO ANUAL / MANUTENÇÃO DE 12 MESES ===== */
        .anual-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px;}
        .anual-stats-row .stat-card{min-height:90px;padding:14px 10px;}
        .anual-acoes-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
        .anual-acao-btn{flex:1;min-width:150px;padding:11px 12px;border:none;border-radius:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all 0.25s;color:#fff;font-size:0.82rem;font-family:'Inter',sans-serif;box-shadow:0 3px 10px rgba(0,0,0,0.1);}
        .anual-acao-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.16);}
        .anual-acao-btn.marcar{background:linear-gradient(135deg,#5e35b1,#4527a0);}
        .anual-acao-btn.desmarcar{background:linear-gradient(135deg,#78909c,#546e7a);}
        .anual-acao-btn.pdf{background:linear-gradient(135deg,#c62828,#8e0000);}
        .anual-mes-header{background:linear-gradient(135deg,#ede7f6,#d1c4e9);color:#4527a0;padding:11px 16px;border-radius:10px;font-weight:700;font-size:0.85rem;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 10px;text-transform:capitalize;}
        .anual-mes-header:first-child{margin-top:0;}
        .anual-mes-header .badge{background:#5e35b1;}
        .anual-item-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:8px;transition:all 0.2s;}
        .anual-item-card:hover{border-color:#9575cd;box-shadow:0 3px 10px rgba(94,53,177,0.1);}
        .anual-item-card.selecionado{border:2px solid #5e35b1;background:#f5f2fc;}
        .anual-item-check{flex-shrink:0;width:26px;height:26px;border-radius:7px;border:2px solid #b0a4d6;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.85rem;transition:all 0.2s;}
        .anual-item-check.checked{background:#5e35b1;border-color:#5e35b1;}
        .anual-item-info{flex:1;min-width:0;cursor:pointer;}
        .anual-item-info h4{font-size:0.9rem;margin-bottom:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
        .anual-item-info p{font-size:0.78rem;color:var(--text-sub);margin:1px 0;}
        .anual-vencimento-pill{font-size:0.7rem;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0;white-space:nowrap;}
        .search-box{position:relative;margin-bottom:16px;}
        .search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-sub);font-size:1rem;}
        .search-box input{padding-left:42px;font-size:0.98rem;border-radius:12px;background:#f8fafc;}
        .search-box input:focus{background:#fff;}
        .busca-header{background:linear-gradient(135deg,#c62828,#8e0000);border-radius:12px;padding:16px 20px;margin-bottom:16px;color:#fff;display:flex;align-items:center;gap:12px;}
        .busca-header i{font-size:1.6rem;opacity:0.9;}
        .busca-header h3{font-family:'Rajdhani',sans-serif;font-size:1.2rem;font-weight:700;margin-bottom:2px;}
        .busca-header p{font-size:0.8rem;opacity:0.85;}
        .busca-avancada-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-bottom:14px;padding:14px;background:#f8fafc;border-radius:10px;border:1.5px solid var(--border);}
        .busca-avancada-filtros select{padding:9px 12px;border-radius:8px;border:1.5px solid var(--border);font-size:0.86rem;background:#fff;}
        .search-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;}
        .filter-chip{padding:7px 13px;background:#fff;border:1.5px solid var(--border);border-radius:20px;cursor:pointer;font-size:0.8rem;font-weight:600;transition:all 0.25s;display:flex;align-items:center;gap:5px;user-select:none;}
        .filter-chip:hover{border-color:var(--primary);transform:translateY(-1px);}
        .filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);}
        .filter-chip.marcador-chip{border-color:#ff6f00;color:#ff6f00;}
        .filter-chip.marcador-chip.active{background:#ff6f00;color:#fff;border-color:#ff6f00;}
        .busca-stats-bar{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;background:#f0f2f5;border-radius:10px;margin-bottom:14px;align-items:center;}
        .busca-stat-item{display:flex;align-items:center;gap:5px;font-size:0.8rem;font-weight:600;padding:4px 10px;border-radius:14px;background:#fff;border:1px solid var(--border);}
        .sub-tabs{display:flex;gap:8px;margin-bottom:18px;background:#f0f2f5;padding:5px;border-radius:12px;justify-content:center;}
        .sub-tab{flex:1;max-width:220px;padding:11px;border:none;background:transparent;border-radius:9px;font-weight:600;font-size:0.88rem;color:var(--text-sub);cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;justify-content:center;gap:7px;font-family:'Inter',sans-serif;user-select:none;-webkit-tap-highlight-color:transparent;}
        .sub-tab.active{background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(0,0,0,0.12);}
        .lista-container{transition:opacity 0.22s ease, transform 0.22s ease;}
        .lista-container.hiding{opacity:0;transform:translateY(6px);pointer-events:none;}
        .lista-container.d-none{display:none!important;}
        .export-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:20px;}
        .export-filter-group{background:#f8fafc;padding:18px;border-radius:12px;border:1.5px solid var(--border);transition:all 0.25s;}
        .export-filter-group:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-card);}
        .export-filter-group h4{margin:0 0 13px;color:var(--text-main);display:flex;align-items:center;gap:8px;font-size:0.95rem;}
        .filter-options{display:flex;flex-direction:column;gap:8px;}
        .filter-option{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff;border-radius:8px;cursor:pointer;transition:background 0.18s, border-color 0.18s;border:1.5px solid transparent;will-change:border-color;}
        .filter-option:hover{border-color:var(--primary-light);background:#fff5f5;}
        .filter-option input[type="checkbox"]{width:18px;height:18px;min-width:18px;cursor:pointer;accent-color:var(--primary);pointer-events:none;flex-shrink:0;}
        .filter-option label{margin:0;cursor:pointer;flex:1;font-weight:500;font-size:0.86rem;pointer-events:none;}
        .export-preview{background:#f8fafc;border-radius:12px;padding:18px;margin-top:18px;border:2px dashed #ccd;}
        .export-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:16px;}
        .export-stat{text-align:center;padding:14px;background:#fff;border-radius:10px;box-shadow:0 2px 7px rgba(0,0,0,0.07);}
        .export-stat strong{display:block;font-size:1.9rem;color:var(--primary);margin-bottom:4px;font-family:'Rajdhani',sans-serif;font-weight:700;}
        .export-stat span{font-size:0.78rem;color:var(--text-sub);}
        .export-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;}
        .btn-export{padding:13px 18px;border:none;border-radius:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:all 0.25s;font-size:0.95rem;font-family:'Inter',sans-serif;}
        .btn-export-pdf{background:linear-gradient(135deg,#c62828,#8e0000);color:#fff;box-shadow:0 4px 14px rgba(198,40,40,0.28);}
        .btn-export-pdf:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(198,40,40,0.38);}
        .btn-export:disabled{opacity:0.5;cursor:not-allowed;transform:none!important;}
        .backup-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:20px;}
        .backup-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:26px 20px 22px;text-align:center;transition:all 0.28s cubic-bezier(0.4,0,0.2,1);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,0.04);}
        .backup-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-light));opacity:0;transition:opacity 0.25s;}
        .backup-card:hover{border-color:rgba(198,40,40,0.35);transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,0.12);}
        .backup-card:hover::before{opacity:1;}
        .backup-card .bc-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.7rem;}
        .backup-card .bc-icon.zip{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100;}
        .backup-card .bc-icon.json{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;}
        .backup-card .bc-icon.restore{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32;}
        .backup-card h4{margin:0 0 8px;color:var(--text-main);font-size:1.02rem;font-weight:700;}
        .backup-card p{font-size:0.84rem;color:var(--text-sub);line-height:1.45;margin:0 0 4px;}
        .backup-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:4px;}
        .backup-info-item{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:14px 12px;text-align:center;}
        .backup-info-item strong{display:block;font-size:1.15rem;color:var(--primary);font-family:'Rajdhani',sans-serif;margin-bottom:2px;}
        .backup-info-item span{font-size:0.76rem;color:var(--text-sub);}
        #progresso-backup-container{width:100%;background:#fff;border-radius:12px;margin:10px 0 18px;display:none;padding:14px 16px;border:1.5px solid var(--border);box-shadow:0 2px 10px rgba(0,0,0,0.05);}
        .campos-especiais-box{padding:14px 16px;border-radius:12px;margin-bottom:14px;}
        .campos-especiais-box h5{margin:0 0 12px;font-size:0.88rem;display:flex;align-items:center;gap:7px;}
        .box-hidrante{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px dashed #fb8c00;}
        .box-hidrante h5{color:#e65100;}
        .box-ensaio{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px dashed #1976d2;}
        .box-ensaio h5{color:#0d47a1;}
        .box-extintor{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px dashed #2e7d32;}
        .box-extintor h5{color:#2e7d32;}
        .mangueira-indicator{display:inline-flex;align-items:center;gap:4px;font-size:0.72rem;padding:2px 7px;background:#e3f2fd;color:#1565c0;border-radius:10px;margin-left:4px;}
        .marcador-indicator{display:inline-flex;align-items:center;gap:4px;font-size:0.72rem;padding:2px 7px;background:#fff3e0;color:#ff6f00;border-radius:10px;margin-left:4px;animation:pulseBadge 1.8s ease-in-out infinite;}
        .toast-container{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none;align-items:center;}
        .toast-msg{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:12px;color:#fff;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-weight:500;font-size:0.875rem;letter-spacing:0.01em;line-height:1.4;box-shadow:0 6px 22px rgba(0,0,0,0.28);animation:slideUpToast 0.45s cubic-bezier(0.4,0,0.2,1),fadeOutToast 0.35s 2.65s ease forwards;pointer-events:auto;max-width:min(420px,92vw);white-space:normal;text-align:left;}
        .toast-msg i{flex-shrink:0;font-size:1rem;}
        .toast-success{background:linear-gradient(135deg,#43a047,#2e7d32);}
        .toast-warning{background:linear-gradient(135deg,#ff9800,#f57c00);}
        .toast-error{background:linear-gradient(135deg,#e53935,#c62828);}
        .toast-info{background:linear-gradient(135deg,#1976d2,#1565c0);}
        .toast-backup{background:linear-gradient(135deg,#8e24aa,#6a1b9a);}
        .toast-marker{background:linear-gradient(135deg,#ff8f00,#e65100);}
        @keyframes slideUpToast{from{transform:translateY(35px);opacity:0;scale:0.9;}to{transform:translateY(0);opacity:1;scale:1;}}
        @keyframes fadeOutToast{to{opacity:0;transform:translateY(-18px);scale:0.9;}}
        .connection-indicator{position:fixed;bottom:18px;right:16px;width:10px;height:10px;border-radius:50%;background:#4caf50;box-shadow:0 0 8px #4caf50;z-index:999;transition:all 0.3s;cursor:help;}
        .connection-indicator.offline{background:#f44336;box-shadow:0 0 8px #f44336;}
        /* Sino de notificações */
        .notif-bell{position:absolute;top:20px;right:16px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;z-index:5;transition:all 0.2s;}
        .notif-bell:active{transform:scale(0.92);}
        .notif-badge{position:absolute;top:-4px;right:-4px;background:#ffca28;color:#3e2723;font-size:0.62rem;font-weight:800;min-width:16px;height:16px;border-radius:9px;display:none;align-items:center;justify-content:center;padding:0 4px;border:2px solid #b71c1c;}
        .notif-badge.show{display:flex;}
        .notif-panel{position:fixed;top:0;right:0;width:min(360px,88vw);height:100%;background:#fff;z-index:1000;box-shadow:-6px 0 30px rgba(0,0,0,0.25);transform:translateX(100%);transition:transform 0.28s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;}
        .notif-panel.open{transform:translateX(0);}
        .notif-panel-header{padding:18px;background:linear-gradient(135deg,#8e0000,#c62828);color:#fff;display:flex;justify-content:space-between;align-items:center;}
        .notif-panel-header h3{font-family:'Rajdhani',sans-serif;font-size:1.1rem;display:flex;align-items:center;gap:8px;}
        .notif-panel-close{background:rgba(255,255,255,0.15);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;}
        .notif-panel-actions{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;gap:8px;}
        .notif-panel-actions button{flex:1;padding:8px;border:none;border-radius:8px;background:#f0f2f5;color:var(--text-sub);font-size:0.76rem;font-weight:600;cursor:pointer;}
        .notif-panel-list{flex:1;overflow-y:auto;padding:10px;}
        .notif-item{padding:12px;border-radius:10px;background:#f8fafc;border:1px solid var(--border);margin-bottom:8px;display:flex;gap:10px;cursor:pointer;}
        .notif-item.unread{background:#fff3e0;border-color:#ffcc80;}
        .notif-item i{font-size:1rem;margin-top:2px;flex-shrink:0;}
        .notif-item .ni-title{font-size:0.85rem;font-weight:700;color:var(--text-main);}
        .notif-item .ni-msg{font-size:0.78rem;color:var(--text-sub);margin-top:2px;}
        .notif-item .ni-time{font-size:0.68rem;color:#90a4ae;margin-top:4px;}
        .notif-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:999;display:none;}
        .notif-overlay.open{display:block;}
        .notif-empty{padding:40px 20px;text-align:center;color:var(--text-sub);}
        .notif-empty i{font-size:2.2rem;margin-bottom:10px;opacity:0.4;display:block;}
        .modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.82);display:none;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px);}
        .modal-overlay.active{display:flex;}
        .modal-content{background:#fff;width:92%;max-width:460px;margin:auto;border-radius:18px;max-height:87%;overflow-y:auto;position:relative;box-shadow:0 12px 45px rgba(0,0,0,0.45);display:flex;flex-direction:column;}
        .modal-header{padding:18px 20px;border-bottom:1.5px solid #eee;background:#fff;position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;border-radius:18px 18px 0 0;}
        .modal-header h3{margin:0;color:var(--primary);font-size:1.3rem;display:flex;align-items:center;gap:9px;font-family:'Rajdhani',sans-serif;font-weight:700;}
        .modal-close{background:#f4f6f8;border:none;font-size:1.7rem;cursor:pointer;color:var(--text-sub);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.25s;}
        .modal-close:hover{background:var(--primary);color:#fff;transform:rotate(90deg);}
        #modal-body{padding:18px;color:#333;overflow-y:auto;}
        .login-screen{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;min-height:100dvh;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 40%,#0f3460 70%,#8e0000 100%);display:flex;justify-content:center;align-items:center;z-index:2147483000;padding:20px;overflow:hidden!important;overscroll-behavior:none;touch-action:none;-webkit-overflow-scrolling:auto;isolation:isolate;}
        body.fg-login-open,html.fg-login-open{overflow:hidden!important;height:100%!important;position:fixed!important;width:100%!important;touch-action:none;scrollbar-width:none!important;}
        body.fg-login-open::-webkit-scrollbar,html.fg-login-open::-webkit-scrollbar{display:none!important;width:0!important;}
        body.fg-login-open .app-header,body.fg-login-open .main-nav-wrap,body.fg-login-open .container,body.fg-login-open #app-root,body.fg-login-open .toast-container{visibility:hidden!important;pointer-events:none!important;}
        .login-screen .login-box{max-height:min(92dvh,640px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none!important;}
        
        /* Remove barra vertical vermelha na tela de login */
        html.fg-login-open, body.fg-login-open {
          overflow: hidden !important;
          scrollbar-gutter: auto !important;
        }
        html.fg-login-open::-webkit-scrollbar,
        body.fg-login-open::-webkit-scrollbar,
        .login-screen::-webkit-scrollbar,
        .login-screen *::-webkit-scrollbar {
          width: 0 !important;
          height: 0 !important;
          display: none !important;
          background: transparent !important;
        }
        html.fg-login-open::-webkit-scrollbar-thumb,
        body.fg-login-open::-webkit-scrollbar-thumb,
        .login-screen::-webkit-scrollbar-thumb,
        .login-screen *::-webkit-scrollbar-thumb {
          background: transparent !important;
        }

        
        /* Garante zero scrollbar vermelha no login */
        html.fg-login-open, body.fg-login-open {
          overflow: hidden !important;
          margin-right: 0 !important;
          padding-right: 0 !important;
        }
        html.fg-login-open::-webkit-scrollbar-thumb,
        body.fg-login-open::-webkit-scrollbar-thumb {
          background: transparent !important;
          border: none !important;
        }

        /* Login: sem barra de rolagem vermelha */
        .login-screen, .login-screen *{scrollbar-width:none!important;}
        .login-screen::-webkit-scrollbar,
        .login-screen *::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;background:transparent!important;}
        .login-screen .login-box{scrollbar-width:none!important;}

        .login-box{background:rgba(255,255,255,0.06);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,0.14);border-radius:24px;max-width:400px;width:100%;box-shadow:0 25px 70px rgba(0,0,0,0.5),inset 0 0 0 1px rgba(255,255,255,0.08);animation:slideInLogin 0.5s cubic-bezier(0.4,0,0.2,1);overflow:hidden;}
        @keyframes slideInLogin{from{opacity:0;transform:translateY(-35px) scale(0.94);}to{opacity:1;transform:translateY(0) scale(1);}}
        .login-header{background:linear-gradient(135deg,var(--primary),var(--primary-dark));padding:32px 28px 26px;text-align:center;position:relative;overflow:hidden;}
        .login-icon-wrap{width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;margin:0 auto 13px;box-shadow:0 8px 28px rgba(0,0,0,0.2),0 0 0 3px rgba(255,255,255,0.1);animation:iconPulse 2.5s ease-in-out infinite;}
        @keyframes iconPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
        .login-icon-wrap i{font-size:2.1rem;color:#fff;}
        .login-header h1{margin:0 0 5px;font-size:1.7rem;color:#fff;font-family:'Rajdhani',sans-serif;font-weight:700;}
        .login-header p{color:#fff;font-size:0.83rem;opacity:0.88;}
        .login-version{display:inline-block;margin-top:7px;font-size:0.7rem;background:rgba(255,255,255,0.15);padding:3px 10px;border-radius:20px;color:#fff;}
        .login-body{padding:26px;}
        .login-body label{display:flex;align-items:center;gap:7px;font-weight:600;font-size:0.86rem;color:rgba(255,255,255,0.82);margin-bottom:7px;}
        .login-input-wrap{position:relative;}
        .login-input-wrap input{width:100%;padding:13px 42px 13px 15px;background:rgba(255,255,255,0.08);border:2px solid rgba(255,255,255,0.14);border-radius:12px;font-size:1rem;color:#fff;transition:all 0.25s;font-family:'Inter',sans-serif;}
        .login-input-wrap input::placeholder{color:rgba(255,255,255,0.4);}
        .login-input-wrap input:focus{border-color:rgba(255,102,89,0.7);background:rgba(255,255,255,0.11);box-shadow:0 0 0 3px rgba(255,102,89,0.18);transform:none;}
        .login-input-wrap .toggle-senha{position:absolute;right:13px;top:50%;transform:translateY(-50%);cursor:pointer;color:rgba(255,255,255,0.45);}
        .login-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:all 0.25s;margin-top:7px;box-shadow:0 6px 20px rgba(142,0,0,0.4);font-family:'Inter',sans-serif;}
        .login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(142,0,0,0.5);}
        .login-error-msg{background:rgba(198,40,40,0.18);border:1px solid rgba(198,40,40,0.4);color:#ff8a80;border-radius:8px;padding:9px 14px;font-size:0.86rem;margin-top:11px;text-align:center;display:none;}
