.op-hero{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--radius-md);margin-bottom:20px;color:#fff;box-shadow:var(--shadow-md)}.op-hero-purple{background:var(--primary-gradient)}.op-hero-green{background:linear-gradient(135deg,#10b981,#059669)}.op-hero-icon{width:52px;height:52px;min-width:52px;border-radius:14px;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;font-size:26px}.op-hero-text{flex:1}.op-hero-text h2{font-size:19px;font-weight:700;margin:0}.op-hero-text p{font-size:13px;opacity:0.9;margin:2px 0 0}.op-hero-count{text-align:center;background:rgba(255,255,255,0.18);border-radius:12px;padding:8px 16px;min-width:74px}.op-hero-count span{display:block;font-size:24px;font-weight:800;line-height:1}.op-hero-count small{font-size:10px;opacity:0.9;text-transform:uppercase;letter-spacing:0.5px}.op-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.op-form-card{margin-bottom:0}.op-form-card .form-group label{display:flex;align-items:center;gap:6px}.op-form-card .form-group label i{color:var(--primary);font-size:15px}.op-hero-green~.op-layout .op-form-card .form-group label i,.op-layout .op-form-card #form-devolucao .form-group label i{color:var(--green)}.op-form-actions{display:flex;gap:8px;margin-top:16px}.op-list-card{margin-bottom:0}.op-list-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--border-color)}.op-list-header strong{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-main)}.op-list-header strong i{color:var(--primary)}@media (max-width:900px){.op-layout{grid-template-columns:1fr}.op-hero{padding:16px}.op-hero-text h2{font-size:17px}}.theme-toggle{width:40px;height:40px;border-radius:11px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:19px;transition:all var(--transition)}.theme-toggle:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.theme-toggle:active{transform:scale(0.94)}.theme-toggle .ph-moon{display:inline-block}.theme-toggle .ph-sun{display:none}[data-theme="dark"] .theme-toggle .ph-moon{display:none}[data-theme="dark"] .theme-toggle .ph-sun{display:inline-block}.toast-notification{border-radius:14px !important;backdrop-filter:blur(8px);animation:toastIn 0.4s cubic-bezier(0.34,1.56,0.64,1) !important}@keyframes toastIn{from{opacity:0;transform:translateY(-20px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flashUpdate{0%{background:rgba(var(--primary-rgb),0.12)}100%{background:transparent}}.row-updated{animation:flashUpdate 1.2s ease}.stat-number{transition:color var(--transition)}.skeleton{background:linear-gradient(90deg,var(--hover-bg) 25%,var(--active-bg) 50%,var(--hover-bg) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.btn{transition:transform var(--transition),box-shadow var(--transition),background var(--transition) !important}.btn:active{transform:scale(0.97)}.badge{border-radius:999px;font-weight:600;letter-spacing:0.2px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state .empty-icon{font-size:44px;opacity:0.4;margin-bottom:10px;display:block}.empty-state .empty-title{font-size:15px;font-weight:600;color:var(--text-main);margin-bottom:4px}.empty-state .empty-sub{font-size:13px}body,.custom-card,.stat-card,.sidebar,.form-group input,.form-group select,.form-group textarea,.bottom-nav{transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.custom-card{border:1.5px solid var(--border-color);box-shadow:0 1px 3px rgba(26,35,50,0.06),0 3px 10px rgba(26,35,50,0.06);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}[data-theme="dark"] .custom-card{box-shadow:0 1px 2px rgba(0,0,0,0.3),0 2px 12px rgba(0,0,0,0.25)}.custom-card:hover{box-shadow:0 8px 28px rgba(26,35,50,0.12);border-color:var(--border-strong)}.card-header-mobile{padding:16px 20px;font-size:15px;font-weight:700;letter-spacing:-0.2px;border-bottom:1px solid var(--border-color);background:linear-gradient(to bottom,rgba(var(--primary-rgb),0.03),transparent)}.card-header-mobile strong{display:flex;align-items:center;gap:9px}.card-header-mobile i{color:var(--primary);font-size:18px}.sidebar-header{padding:22px 22px;letter-spacing:-0.3px}.sidebar-header h2{display:flex;align-items:center;gap:10px}.menu-item{padding:11px 14px;border-radius:11px;font-weight:500;position:relative}.menu-item i{font-size:19px}.menu-item.active{box-shadow:0 4px 14px rgba(var(--primary-rgb),0.35)}.menu-item.active::before{content:'';position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:22px;background:var(--primary);border-radius:0 4px 4px 0}.form-section{padding:22px}.form-group{margin-bottom:18px;position:relative}.form-group label{font-size:12.5px;font-weight:600;color:var(--text-main);margin-bottom:7px;display:flex;align-items:center;gap:6px;letter-spacing:0.1px}.form-group label i{color:var(--primary);font-size:15px}.form-group input,.form-group select,.form-group textarea{padding:12px 15px;border:1.5px solid var(--border-color);border-radius:12px;font-size:14.5px;background:var(--input-bg);color:var(--text-main);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:rgba(var(--primary-rgb),0.4)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.12);background:var(--card-bg)}.form-section .btn,.op-form-actions .btn{padding:12px 18px;border-radius:12px;font-weight:600;font-size:14px}.btn{position:relative;overflow:hidden}.btn-purple::after,.btn-blue::after,.btn-green::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);transition:left 0.5s}.btn-purple:hover::after,.btn-blue:hover::after,.btn-green:hover::after{left:100%}.stat-card{animation:statPop 0.5s cubic-bezier(0.16,1,0.3,1) backwards}.stat-card:nth-child(1){animation-delay:0.02s}.stat-card:nth-child(2){animation-delay:0.08s}.stat-card:nth-child(3){animation-delay:0.14s}.stat-card:nth-child(4){animation-delay:0.20s}@keyframes statPop{from{opacity:0;transform:translateY(10px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-table tbody tr{transition:background var(--transition)}.custom-table td{padding:12px 14px}.custom-table tbody tr:not(:last-child){border-bottom:1px solid var(--border-color)}.badge{padding:4px 12px;font-size:11px;display:inline-flex;align-items:center;gap:5px}.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0.9}.badge-green{background:var(--green-light);color:var(--green)}.badge-yellow{background:var(--yellow-light);color:var(--yellow)}.badge-red{background:var(--red-light);color:var(--red)}.badge-blue{background:var(--blue-light);color:var(--blue)}.badge-purple{background:var(--primary-light);color:var(--primary)}.content-header{margin-bottom:4px}.title-group h1{letter-spacing:-0.5px}.fab-clear{transition:transform var(--transition),box-shadow var(--transition)}.fab-clear:hover{transform:scale(1.08) rotate(-8deg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.aviso-permissao{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin-bottom:18px;background:var(--blue-light);border:1px solid var(--blue);border-radius:12px;color:var(--text-main);font-size:13px;line-height:1.5;animation:avisoEntra 0.5s cubic-bezier(0.16,1,0.3,1)}.aviso-permissao>i{font-size:22px;color:var(--blue);flex-shrink:0;margin-top:1px}.aviso-permissao strong{color:var(--blue);font-weight:700}.aviso-permissao>div{flex:1}.aviso-permissao button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:0;flex-shrink:0;transition:color var(--transition)}.aviso-permissao button:hover{color:var(--text-main)}@keyframes avisoEntra{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.view-toggle{display:inline-flex;border:1.5px solid var(--border-color);border-radius:10px;overflow:hidden;background:var(--card-bg)}.view-toggle-btn{padding:8px 12px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:18px;display:flex;align-items:center;transition:all var(--transition)}.view-toggle-btn.active{background:var(--primary);color:#fff}.view-toggle-btn:not(.active):hover{background:var(--hover-bg);color:var(--primary)}.kanban-board{display:flex;gap:16px;overflow-x:auto;padding:4px 4px 16px;-webkit-overflow-scrolling:touch}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:8px}.kanban-col{flex:0 0 300px;max-width:300px;background:var(--topbar-bg);border:1.5px solid var(--border-color);border-radius:14px;display:flex;flex-direction:column;max-height:70vh;animation:statPop 0.4s cubic-bezier(0.16,1,0.3,1) backwards}.kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px}.kanban-col-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-main)}.kanban-col-title i{color:var(--primary);font-size:18px}.kanban-col-count{background:var(--primary);color:#fff;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}.kanban-col-sub{padding:0 16px 12px;font-size:11px;color:var(--text-muted);border-bottom:1.5px solid var(--border-color)}.kanban-col-body{padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.kanban-card{background:var(--card-bg);border:1px solid var(--border-color);border-left:3px solid var(--text-muted);border-radius:8px;padding:10px 12px;transition:transform var(--transition),box-shadow var(--transition)}.kanban-card:hover{transform:translateX(2px);box-shadow:var(--shadow-sm)}.kanban-card.kb-disp{border-left-color:var(--green)}.kanban-card.kb-emp{border-left-color:var(--yellow)}.kanban-card.kb-man{border-left-color:var(--red)}.kanban-card-nome{font-size:13px;font-weight:600;color:var(--text-main)}.kanban-card-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.kanban-card-status{font-size:11px;font-weight:600;margin-top:4px}.kanban-card-status.kb-disp{color:var(--green)}.kanban-card-status.kb-emp{color:var(--yellow)}.kanban-card-status.kb-man{color:var(--red)}.kanban-loading{padding:40px;text-align:center;color:var(--text-muted)}.modal-confirm{max-width:400px !important;text-align:center;padding:28px 24px 24px !important;border-radius:var(--radius-xl) !important}.confirm-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px}.confirm-icon.confirm-primary{background:var(--primary-light);color:var(--primary)}.confirm-icon.confirm-danger{background:var(--red-light);color:var(--red)}.modal-confirm h2{font-size:19px;margin-bottom:8px;color:var(--text-main)}.modal-confirm p{font-size:14px;color:var(--text-muted);line-height:1.5;margin-bottom:22px}.confirm-actions{display:flex;gap:10px;justify-content:center}.confirm-actions .btn{flex:1;justify-content:center;padding:11px}.btn-red{background:var(--red);color:#fff;border:none}.btn-red:hover{background:#9f1239}.confirm-icon.confirm-bloqueio{background:var(--yellow-light);color:var(--yellow)}.manutencao-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.manutencao-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;background:var(--topbar-bg);border:1.5px solid var(--border-color);border-radius:12px;cursor:pointer;text-align:left;transition:all var(--transition)}.manutencao-btn:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.manutencao-btn>i{font-size:24px;color:var(--primary);margin-bottom:4px}.manutencao-titulo{font-size:14px;font-weight:600;color:var(--text-main)}.manutencao-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.btn-instalar-pwa{position:fixed;bottom:calc(16px + var(--safe-bottom));left:50%;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--primary-gradient);color:#fff;border:none;border-radius:999px;font-size:14px;font-weight:600;box-shadow:var(--shadow-primary);cursor:pointer;animation:instalarPop 0.5s cubic-bezier(0.34,1.56,0.64,1)}.btn-instalar-pwa i{font-size:18px}@keyframes instalarPop{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (min-width:900px){.btn-instalar-pwa{left:auto;right:24px;transform:none}@keyframes instalarPop{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:768px){.btn{min-height:42px}.menu-item{padding:13px 14px}.kanban-col{flex:0 0 82vw;max-width:82vw}.stat-card{padding:14px}.stat-card .stat-number{font-size:22px}.modal-confirm{max-width:calc(100% - 32px) !important}.form-group input,.form-group select,.form-group textarea{font-size:16px}.manutencao-grid{grid-template-columns:1fr}}#modal-qr-consulta{align-items:center !important;justify-content:center;padding:16px}#modal-qr-consulta .modal-content{max-width:460px !important;width:100%;border-radius:var(--radius-xl) !important;padding:0 !important;overflow:hidden;animation:modalPop 0.35s cubic-bezier(0.16,1,0.3,1)}#modal-qr-consulta .modal-header{background:var(--primary-gradient);color:#fff;padding:18px 20px;margin:0;border:none}#modal-qr-consulta .modal-header h2{color:#fff;display:flex;align-items:center;gap:9px;font-size:17px}#modal-qr-consulta .modal-header h2 i{font-size:20px}#modal-qr-consulta .modal-close{color:rgba(255,255,255,0.9)}#modal-qr-consulta .modal-close:hover{background:rgba(255,255,255,0.15);color:#fff}.qr-resultado{padding:20px}.qr-loading{text-align:center;padding:30px;color:var(--text-muted);font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.qr-loading i{font-size:20px;animation:spin 1s linear infinite}.qr-item-header{display:flex;flex-direction:column;gap:6px;padding-bottom:16px;margin-bottom:16px;border-bottom:1.5px solid var(--border-color)}.qr-item-nome{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:17px;font-weight:700;color:var(--text-main)}.qr-item-nome>i{color:var(--green);font-size:20px}.qr-item-cod{font-size:12px;color:var(--text-muted);font-family:monospace;background:var(--hover-bg);padding:3px 10px;border-radius:6px;align-self:flex-start}.qr-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.qr-item-grid>div{background:var(--topbar-bg);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600;color:var(--text-main);display:flex;flex-direction:column;gap:3px}.qr-lbl{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-muted)}.qr-acoes{display:flex;gap:8px;flex-wrap:wrap}.qr-acoes .btn{flex:1;justify-content:center;min-width:90px}.qr-vazio{text-align:center;padding:24px 16px}.qr-vazio>i{font-size:44px;color:var(--red);margin-bottom:10px;display:block}.qr-vazio-titulo{font-size:16px;font-weight:700;color:var(--text-main);margin-bottom:4px}.qr-vazio-sub{font-size:13px;color:var(--text-muted);margin-bottom:16px}.switch{position:relative;display:inline-block;width:52px;height:30px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background:var(--border-strong);border-radius:30px;transition:0.3s}.switch-slider::before{content:'';position:absolute;height:22px;width:22px;left:4px;bottom:4px;background:#fff;border-radius:50%;transition:0.3s}.switch input:checked + .switch-slider{background:var(--red)}.switch input:checked + .switch-slider::before{transform:translateX(22px)}.manutencao-modo-box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--topbar-bg);border:1.5px solid var(--border-color);border-radius:12px}.manutencao-modo-titulo{font-size:14px;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:7px}.manutencao-modo-titulo i{color:var(--red)}.manutencao-modo-desc{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}.overlay-manutencao{position:fixed;inset:0;z-index:99999;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeInOverlay 0.4s ease}@keyframes fadeInOverlay{from{opacity:0}to{opacity:1}}.manutencao-conteudo{text-align:center;color:#fff;max-width:440px}.manutencao-icone{font-size:72px;margin-bottom:20px;display:inline-block;animation:girarEngrenagem 4s linear infinite}@keyframes girarEngrenagem{from{transform:rotate(0)}to{transform:rotate(360deg)}}.manutencao-conteudo h1{font-size:26px;font-weight:800;letter-spacing:1px;margin-bottom:14px;animation:pulsarTexto 2s ease-in-out infinite}@keyframes pulsarTexto{0%,100%{opacity:1}50%{opacity:0.6}}.manutencao-conteudo p{font-size:15px;opacity:0.95;margin-bottom:6px}.manutencao-conteudo .manutencao-sub{font-size:13px;opacity:0.8;margin-top:8px}.manutencao-dots{display:flex;gap:8px;justify-content:center;margin-top:24px}.manutencao-dots span{width:10px;height:10px;border-radius:50%;background:#fff;animation:pularDot 1.4s ease-in-out infinite}.manutencao-dots span:nth-child(2){animation-delay:0.2s}.manutencao-dots span:nth-child(3){animation-delay:0.4s}@keyframes pularDot{0%,60%,100%{transform:translateY(0);opacity:0.5}30%{transform:translateY(-10px);opacity:1}}@media (max-width:1024px){.main-content,.content-header,.content-body{margin-left:0 !important}.stats-grid{grid-template-columns:repeat(2,1fr) !important}.graficos-grid{grid-template-columns:1fr !important}.content-body{padding:0 16px 80px !important}.op-layout{grid-template-columns:1fr !important}.title-group h1{font-size:20px !important;line-height:1.2}.header-actions{flex-wrap:wrap;gap:6px}}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr) !important;gap:10px !important}.content-header{padding:12px 16px !important}.header-mobile{flex-wrap:wrap}.btn-logout span{display:none}.kanban-col{flex:0 0 85vw;max-width:85vw}.qr-item-grid{grid-template-columns:1fr 1fr}.manutencao-modo-box{flex-direction:column;align-items:flex-start}.bottom-nav{display:flex !important}}@media (display-mode:standalone){.content-header{padding-top:calc(12px + env(safe-area-inset-top))}.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}.modal-content.modal-form{padding:0 !important;max-width:620px !important;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.modal-header-color{background:var(--primary-gradient);color:#fff;padding:18px 22px !important;margin:0 !important;border:none !important;flex-shrink:0}.modal-header-color h2{color:#fff;display:flex;align-items:center;gap:10px;font-size:18px;margin:0}.modal-header-color h2 i{font-size:22px}.modal-header-color .modal-close{color:rgba(255,255,255,0.9)}.modal-header-color .modal-close:hover{background:rgba(255,255,255,0.18);color:#fff}.modal-body-scroll{padding:22px;overflow-y:auto;flex:1}.form-secao{padding:16px;background:var(--topbar-bg);border:1.5px solid var(--border-color);border-radius:12px;margin-bottom:16px}.form-secao-titulo{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.6px;color:var(--primary);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.form-secao-titulo i{font-size:16px}.form-secao .form-group:last-child{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.input-group{display:flex;gap:6px}.input-group input{flex:1}.btn-append{padding:0 14px;background:var(--primary);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:16px;display:flex;align-items:center;transition:background var(--transition)}.btn-append:hover{background:var(--primary-hover)}.qr-display{text-align:center;padding:16px;background:var(--card-bg);border:1.5px dashed var(--border-color);border-radius:12px;margin-top:12px}.qr-display .qr-label{display:block;margin-top:8px;font-size:11px;color:var(--text-muted);font-family:monospace}.modal-footer-actions{display:flex;gap:10px;padding-top:4px}.modal-footer-actions .btn{justify-content:center;padding:12px}.kanban-card-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.kanban-card-info{flex:1;min-width:0}.kanban-card-acoes{display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.kanban-card:hover .kanban-card-acoes{opacity:1}.kb-btn{width:26px;height:26px;border:1px solid var(--border-color);background:var(--card-bg);border-radius:6px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:13px;transition:all var(--transition)}.kb-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.kb-btn-danger:hover{background:var(--red);border-color:var(--red)}@media (max-width:768px){.kanban-card-acoes{opacity:1}}.epi-alertas{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.epi-alerta{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1.5px solid;animation:avisoEntra 0.4s cubic-bezier(0.16,1,0.3,1)}.epi-alerta>i{font-size:22px;flex-shrink:0;margin-top:1px}.epi-alerta>div{display:flex;flex-direction:column;gap:2px}.epi-alerta strong{font-size:14px;font-weight:700}.epi-alerta span{font-size:12.5px;opacity:0.9}.epi-alerta-danger{background:var(--red-light);border-color:var(--red);color:var(--red)}.epi-alerta-warn{background:var(--yellow-light);border-color:var(--yellow);color:var(--yellow)}.epi-alerta-info{background:var(--blue-light);border-color:var(--blue);color:var(--blue)}.epi-alerta-ok{background:var(--green-light);border-color:var(--green);color:var(--green)}.epi-alerta-danger span,.epi-alerta-warn span,.epi-alerta-info span,.epi-alerta-ok span{color:var(--text-main)}.check-ciente{display:flex;align-items:center;gap:9px;padding:11px 13px;background:var(--topbar-bg);border:1.5px solid var(--border-color);border-radius:10px;font-size:13px;color:var(--text-main);cursor:pointer;margin-bottom:8px}.check-ciente input{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.form-hint{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--text-muted);line-height:1.45;margin-top:8px}.form-hint i{font-size:14px;color:var(--primary);flex-shrink:0;margin-top:1px}.td-vazio{text-align:center;color:var(--text-muted);padding:22px}.td-sub{color:var(--text-muted);font-size:11px}.linha-alerta{background:var(--yellow-light) !important}.stat-card.stat-red .stat-icon{background:var(--red-light);color:var(--red)}@media (max-width:1024px){.content-header{position:sticky;top:0;z-index:900;background:var(--bg-color);backdrop-filter:blur(10px);box-shadow:0 2px 10px rgba(26,35,50,0.06)}.btn-hamburger{position:fixed !important;top:12px;left:12px;z-index:1200;width:44px;height:44px;border-radius:12px;background:var(--card-bg);border:1.5px solid var(--border-color);box-shadow:var(--shadow-md);display:flex !important;align-items:center;justify-content:center;font-size:22px;color:var(--primary)}.btn-hamburger:active{transform:scale(0.94)}.header-mobile{padding-left:52px}.sidebar{z-index:1300}.sidebar-overlay{z-index:1250}}@media (max-width:560px){.header-mobile{flex-wrap:wrap;padding-left:52px}.header-logo-wrapper{flex:1 1 100%}.header-actions{flex:1 1 100%;justify-content:flex-end;margin-top:6px}.header-logo-img{max-height:34px}.title-group h1{font-size:17px !important}.title-group p{display:none}}.menu-item.menu-bloqueado{opacity:0.45;position:relative}.menu-item.menu-bloqueado:hover{background:var(--hover-bg);cursor:not-allowed}.menu-item.menu-bloqueado:hover i:first-child{color:var(--text-muted)}.menu-cadeado{margin-left:auto;font-size:14px !important;color:var(--text-muted) !important;flex-shrink:0}.btn-header-icone{width:40px;height:40px;border-radius:11px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:19px;transition:all var(--transition);position:relative;flex-shrink:0}.btn-header-icone:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.btn-header-icone.tem-alerta{color:var(--red);border-color:var(--red)}.btn-header-icone.tem-alerta i{animation:sinoTocando 2.5s ease-in-out infinite}@keyframes sinoTocando{0%,88%,100%{transform:rotate(0)}90%{transform:rotate(12deg)}93%{transform:rotate(-10deg)}96%{transform:rotate(6deg)}}.alerta-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-color);animation:statPop 0.4s cubic-bezier(0.34,1.56,0.64,1)}.alerta-grupo{border:1.5px solid var(--border-color);border-radius:12px;margin-bottom:14px;overflow:hidden;animation:avisoEntra 0.4s cubic-bezier(0.16,1,0.3,1) backwards}.alerta-grupo:nth-child(2){animation-delay:0.06s}.alerta-grupo:nth-child(3){animation-delay:0.12s}.alerta-grupo:nth-child(4){animation-delay:0.18s}.alerta-cabecalho{display:flex;align-items:flex-start;gap:12px;padding:14px 16px}.alerta-cabecalho>i{font-size:24px;flex-shrink:0}.alerta-cabecalho>div{display:flex;flex-direction:column;gap:2px}.alerta-cabecalho strong{font-size:14px;font-weight:700}.alerta-cabecalho span{font-size:12.5px;color:var(--text-muted)}.alerta-danger{border-color:var(--red)}.alerta-danger .alerta-cabecalho{background:var(--red-light)}.alerta-danger .alerta-cabecalho>i,.alerta-danger .alerta-cabecalho strong{color:var(--red)}.alerta-warn{border-color:var(--yellow)}.alerta-warn .alerta-cabecalho{background:var(--yellow-light)}.alerta-warn .alerta-cabecalho>i,.alerta-warn .alerta-cabecalho strong{color:var(--yellow)}.alerta-info{border-color:var(--blue)}.alerta-info .alerta-cabecalho{background:var(--blue-light)}.alerta-info .alerta-cabecalho>i,.alerta-info .alerta-cabecalho strong{color:var(--blue)}.alerta-itens{background:var(--card-bg)}.alerta-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;border-top:1px solid var(--border-color)}.alerta-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.alerta-item-nome{font-size:13.5px;font-weight:600;color:var(--text-main)}.alerta-item-detalhe{font-size:12px;color:var(--text-muted)}.alertas-vazio{text-align:center;padding:40px 20px}.alertas-vazio>i{font-size:52px;color:var(--green);margin-bottom:12px;display:block}.alertas-vazio-titulo{font-size:16px;font-weight:700;color:var(--text-main);margin-bottom:4px}.alertas-vazio-sub{font-size:13px;color:var(--text-muted)}.hist-cabecalho{padding-bottom:14px;margin-bottom:14px;border-bottom:1.5px solid var(--border-color)}.hist-nome{font-size:17px;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:4px}.hist-meta{font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:4px;flex-wrap:wrap}.hist-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.hist-stat{background:var(--topbar-bg);border:1.5px solid var(--border-color);border-radius:10px;padding:12px 8px;text-align:center}.hist-stat span{display:block;font-size:20px;font-weight:700;color:var(--primary);line-height:1}.hist-stat small{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.3px}.hist-timeline{position:relative;padding-left:8px}.hist-evento{display:flex;gap:12px;padding-bottom:16px;position:relative}.hist-evento::before{content:'';position:absolute;left:15px;top:34px;bottom:0;width:2px;background:var(--border-color)}.hist-evento:last-child::before{display:none}.hist-evento-icone{width:32px;height:32px;min-width:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;z-index:1;background:var(--hover-bg);color:var(--text-muted);border:2px solid var(--card-bg)}.tl-emp .hist-evento-icone{background:var(--yellow-light);color:var(--yellow)}.tl-dev .hist-evento-icone{background:var(--green-light);color:var(--green)}.tl-mov .hist-evento-icone{background:var(--blue-light);color:var(--blue)}.tl-sai .hist-evento-icone{background:var(--red-light);color:var(--red)}.hist-evento-corpo{flex:1;min-width:0;padding-top:3px}.hist-evento-topo{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.hist-evento-topo strong{font-size:13.5px;color:var(--text-main)}.hist-evento-data{font-size:11.5px;color:var(--text-muted)}.hist-evento-detalhe{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-top:3px}.hist-evento-obs{font-size:12px;color:var(--text-main);background:var(--hover-bg);padding:7px 10px;border-radius:7px;margin-top:6px}#modal-busca{align-items:flex-start !important;padding-top:8vh}.modal-content.modal-busca{max-width:620px !important;width:100%;padding:0 !important;border-radius:16px !important;overflow:hidden;max-height:75vh;display:flex;flex-direction:column;animation:modalPop 0.28s cubic-bezier(0.16,1,0.3,1)}.busca-campo{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1.5px solid var(--border-color);flex-shrink:0}.busca-campo>i{font-size:22px;color:var(--primary);flex-shrink:0}.busca-campo input{flex:1;border:none;outline:none;background:transparent;font-size:16px;color:var(--text-main)}.busca-campo input::placeholder{color:var(--text-muted)}.busca-resultados{overflow-y:auto;padding:10px;flex:1}.busca-dica{text-align:center;padding:42px 20px;color:var(--text-muted);font-size:13.5px;display:flex;flex-direction:column;align-items:center;gap:10px}.busca-dica i{font-size:38px;opacity:0.4}.busca-grupo{margin-bottom:10px}.busca-grupo-titulo{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.7px;color:var(--text-muted);padding:8px 10px 6px;display:flex;align-items:center;gap:6px}.busca-grupo-titulo span{background:var(--hover-bg);padding:1px 7px;border-radius:999px;font-size:10px}.busca-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background var(--transition)}.busca-item:hover{background:var(--hover-bg)}.busca-item-icone{width:36px;height:36px;min-width:36px;border-radius:9px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px}.busca-item-corpo{flex:1;min-width:0}.busca-item-titulo{font-size:14px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.busca-item-sub{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:600px){.hist-resumo{grid-template-columns:repeat(2,1fr)}#modal-busca{padding-top:0;align-items:flex-start !important}.modal-content.modal-busca{max-height:100vh;border-radius:0 !important}}.foto-upload{display:block;position:relative;border:2px dashed var(--border-color);border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color var(--transition),background var(--transition);background:var(--card-bg);min-height:140px}.foto-upload:hover{border-color:var(--primary);background:var(--hover-bg)}.foto-upload img{width:100%;display:block;max-height:260px;object-fit:cover}.foto-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:30px 16px;text-align:center;color:var(--text-muted)}.foto-placeholder i{font-size:34px;color:var(--primary)}.foto-placeholder span{font-size:13.5px;font-weight:600;color:var(--text-main)}.foto-placeholder small{font-size:11.5px}.foto-placeholder .spin{animation:spin 1s linear infinite}.foto-remover{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:none;background:rgba(190,18,60,0.92);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px}.foto-info{position:absolute;bottom:8px;left:8px;background:rgba(26,35,50,0.82);color:#fff;font-size:11px;padding:3px 9px;border-radius:6px}.manut-lista{padding:14px;display:flex;flex-direction:column;gap:12px}.manut-card{display:flex;gap:12px;border:1.5px solid var(--border-color);border-left:4px solid var(--red);border-radius:12px;overflow:hidden;background:var(--card-bg);transition:box-shadow var(--transition)}.manut-card:hover{box-shadow:var(--shadow-md)}.manut-card-foto{width:110px;min-width:110px;position:relative;cursor:pointer;background:var(--hover-bg)}.manut-card-foto img{width:100%;height:100%;object-fit:cover;display:block}.manut-lupa{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(26,35,50,0.35);color:#fff;font-size:22px;opacity:0;transition:opacity var(--transition)}.manut-card-foto:hover .manut-lupa{opacity:1}.manut-sem-foto{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:28px;cursor:default}.manut-card-corpo{flex:1;padding:12px 14px;min-width:0}.manut-card-nome{font-size:14.5px;font-weight:700;color:var(--text-main)}.manut-card-meta{font-size:11.5px;color:var(--text-muted);margin-bottom:6px}.manut-card-motivo{font-size:13px;color:var(--text-main);background:var(--red-light);padding:7px 10px;border-radius:8px;margin-bottom:10px}.manut-card-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.manut-dias{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:5px}.manut-dias-alerta{color:var(--red);font-weight:700}.kb-btn-warn:hover{background:var(--yellow);border-color:var(--yellow);color:#fff}.kb-btn-ok:hover{background:var(--green);border-color:var(--green);color:#fff}#modal-foto{align-items:center !important;padding:20px}.modal-foto-wrapper{position:relative;max-width:92vw;max-height:88vh}.modal-foto-wrapper img{max-width:100%;max-height:88vh;border-radius:12px;display:block;box-shadow:0 20px 60px rgba(0,0,0,0.5)}.foto-fechar{position:absolute;top:-14px;right:-14px;width:38px;height:38px;border-radius:50%;background:var(--card-bg) !important;color:var(--text-main) !important;box-shadow:var(--shadow-md);font-size:22px;display:flex;align-items:center;justify-content:center}.aud-acao{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--primary-light);color:var(--primary);white-space:nowrap}.select-mini{padding:6px 10px;border:1.5px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-main);font-size:12.5px;cursor:pointer;outline:none}@media (max-width:600px){.manut-card{flex-direction:column}.manut-card-foto{width:100%;min-width:0;height:160px}}.periodo-seletor{display:inline-flex;border:1.5px solid var(--border-color);border-radius:10px;overflow:hidden;background:var(--card-bg)}.periodo-btn{padding:6px 13px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12.5px;font-weight:600;transition:all var(--transition);white-space:nowrap}.periodo-btn:not(:last-child){border-right:1px solid var(--border-color)}.periodo-btn.active{background:var(--primary);color:#fff}.periodo-btn:not(.active):hover{background:var(--hover-bg);color:var(--primary)}.etq-limite{display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--yellow-light);border:1.5px solid var(--yellow);border-radius:10px;color:var(--yellow);font-size:13px;font-weight:600;margin-bottom:10px}.import-modelo-box{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--card-bg);border:1.5px dashed var(--border-color);border-radius:10px;margin-top:10px}.import-modelo-box span{font-size:11.5px;color:var(--text-muted);font-weight:600}.import-modelo-box code{font-size:11.5px;color:var(--primary);background:var(--hover-bg);padding:8px 10px;border-radius:7px;word-break:break-all;font-family:monospace}.import-modelo-box .btn{align-self:flex-start}.import-previa{border:1.5px solid var(--green);border-radius:12px;padding:14px;background:var(--card-bg)}.import-resumo{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--green);margin-bottom:12px}.import-resumo i{font-size:22px}.import-resumo strong{font-size:17px}.import-avisos{background:var(--yellow-light);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--text-main);margin-bottom:12px}.import-avisos ul{margin:6px 0 0 16px;padding:0}.import-avisos li{margin-bottom:3px}.import-lista{display:flex;flex-direction:column;gap:5px;max-height:200px;overflow-y:auto}.import-item{display:flex;justify-content:space-between;gap:10px;padding:8px 11px;background:var(--hover-bg);border-radius:7px;font-size:13px;color:var(--text-main)}.import-item span{color:var(--text-muted);font-size:11.5px;font-family:monospace}.import-mais{justify-content:center;color:var(--text-muted);font-style:italic}.import-erro{padding:14px;background:var(--red-light);border:1.5px solid var(--red);border-radius:10px;color:var(--red);font-size:13px;text-align:center}@media (max-width:600px){.periodo-seletor{width:100%}.periodo-btn{flex:1;padding:8px 6px;font-size:12px}}.kanban-card-destino{font-size:11px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:4px;padding-top:4px;border-top:1px dashed var(--border-color)}.kanban-card-destino i{font-size:12px;color:var(--primary)}.manut-card-local{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-bottom:8px}.manut-card-local i{color:var(--primary);font-size:13px}.kanban-col{flex:0 0 320px;max-width:320px}.kanban-col-body{max-height:60vh}.kanban-board{gap:18px;padding:6px 4px 20px;align-items:flex-start}.kanban-col{flex:0 0 340px;max-width:340px;border-radius:16px;box-shadow:0 1px 3px rgba(26,35,50,0.05)}.kanban-col-header{padding:16px 18px 8px}.kanban-col-title{font-size:14.5px;letter-spacing:-0.2px;min-width:0}.kanban-col-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-col-sub{padding:0 18px 14px}.kanban-col-body{padding:14px;gap:10px;max-height:62vh}.kanban-card{padding:12px 14px;border-radius:10px;border-left-width:4px}.kanban-card-nome{font-size:13.5px;font-weight:700;line-height:1.35;word-break:normal;overflow-wrap:anywhere;margin-bottom:3px}.kanban-card-meta{font-size:11.5px;line-height:1.4;margin-bottom:5px}.kanban-card-status{font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:5px}.kanban-card-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.kanban-card-acoes{opacity:1;gap:3px;flex-shrink:0}.kb-btn{width:24px;height:24px;font-size:12px;border-radius:6px}.kanban-card:not(:hover) .kb-btn{background:transparent;border-color:transparent;color:var(--text-muted);opacity:0.55}.kanban-card:hover .kb-btn{background:var(--card-bg);border-color:var(--border-color);opacity:1}.kanban-col-count{font-size:11.5px;padding:3px 11px;flex-shrink:0}@media (max-width:768px){.kanban-col{flex:0 0 86vw;max-width:86vw}}.kanban-board{display:flex;flex-direction:column;gap:20px;overflow-x:visible;padding:4px 0 20px}.kanban-col{flex:1 1 auto;max-width:100%;width:100%;max-height:none;border-radius:16px}.kanban-col-header{padding:16px 20px 8px}.kanban-col-title{font-size:15px}.kanban-col-sub{padding:0 20px 14px}.kanban-col-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;padding:16px;max-height:none;overflow:visible}.kanban-card{display:flex;flex-direction:column;min-height:92px}.kanban-card-topo{flex:1}.kanban-card-acoes{opacity:1 !important;gap:4px}.kb-btn{width:27px;height:27px;font-size:13px;border-radius:7px;background:var(--hover-bg) !important;border:1px solid var(--border-color) !important;color:var(--text-main) !important;opacity:1 !important}.kanban-card:not(:hover) .kb-btn{background:var(--hover-bg) !important;border-color:var(--border-color) !important;color:var(--text-muted) !important;opacity:1 !important}.kb-btn:hover{background:var(--primary) !important;border-color:var(--primary) !important;color:#fff !important;transform:translateY(-1px)}.kb-btn-danger:hover{background:var(--red) !important;border-color:var(--red) !important}.kb-btn-warn:hover{background:var(--yellow) !important;border-color:var(--yellow) !important}.kb-btn-ok:hover{background:var(--green) !important;border-color:var(--green) !important}@media (max-width:900px){.kanban-col-body{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:620px){.kanban-col-body{grid-template-columns:1fr}}.btn-header-icone,.theme-toggle{background:var(--card-bg);border:1.5px solid var(--border-strong);color:var(--text-main);box-shadow:var(--shadow-sm)}.btn-header-icone:hover,.theme-toggle:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-header-icone i,.theme-toggle i{font-size:20px}.btn-header-icone.tem-alerta{background:var(--red-light);border-color:var(--red);color:var(--red)}.btn-header-icone.tem-alerta:hover{background:var(--red);color:#fff}.btn-logout{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:11px;border:1.5px solid var(--border-strong);background:var(--card-bg);color:var(--text-muted);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}.btn-logout i{font-size:17px}.btn-logout:hover{background:#1a2332;border-color:#1a2332;color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}[data-theme="dark"] .btn-logout:hover{background:#e4e9f0;border-color:#e4e9f0;color:#0d1420}.btn-logout:active{transform:scale(0.96)}@media (max-width:1024px){.content-header{padding:16px 16px 14px;background:var(--card-bg);border-bottom:1.5px solid var(--border-color);box-shadow:0 2px 12px rgba(26,35,50,0.08)}.header-mobile{padding-top:6px;padding-left:54px;align-items:flex-start}.header-logo-img{max-height:42px}.btn-hamburger{top:16px;left:14px;background:var(--primary) !important;border-color:var(--primary) !important;color:#fff !important;box-shadow:0 4px 14px rgba(var(--primary-rgb),0.35) !important}.header-actions{gap:8px;margin-top:10px;width:100%;justify-content:flex-end}.btn-header-icone,.theme-toggle{width:42px;height:42px}.btn-logout{padding:10px 14px}}.bottom-nav{background:var(--card-bg);border-top:1.5px solid var(--border-color);box-shadow:0 -3px 16px rgba(26,35,50,0.08)}.bottom-nav-item{color:var(--text-muted);transition:color var(--transition)}.bottom-nav-item.active{color:var(--primary);font-weight:600}.bottom-nav-item.active i{transform:translateY(-1px)}.grafico-vazio{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:13px}.grafico-vazio i{font-size:34px;opacity:0.35}.kanban-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:20px;overflow-x:visible;padding:4px 0 20px;align-items:start}.kanban-col{width:100%;max-width:100%;display:flex;flex-direction:column}.kanban-col-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;padding:14px;max-height:none;overflow:visible}.kanban-paginacao{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px 14px;border-top:1px solid var(--border-color)}.kanban-pag-info{font-size:11.5px;color:var(--text-muted)}.kanban-pag-botoes{display:flex;gap:5px;align-items:center}.kanban-paginacao .pagination-btn{min-width:30px;height:30px;padding:0 9px;font-size:12.5px}.kanban-card{padding:11px 12px;min-height:auto}.kanban-card-nome{font-size:12.5px;line-height:1.3}.kanban-card-meta{font-size:10.5px}.kanban-card-status{font-size:10.5px}.kanban-card-acoes{gap:2px}.kb-btn{width:22px;height:22px;font-size:11px;border-radius:5px}@media (max-width:940px){.kanban-board{grid-template-columns:1fr}.kanban-col-body{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:560px){.kanban-col-body{grid-template-columns:1fr}.kb-btn{width:26px;height:26px;font-size:13px}}#paginacao-auditoria .pagination-wrapper{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border-color)}#paginacao-auditoria .pagination-btn{min-width:32px;height:32px;padding:0 10px;font-size:13px;border-radius:8px}#paginacao-auditoria .pagination-info{font-size:12px}.pagination-btn{min-width:32px;height:32px;padding:0 10px;font-size:13px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-color);background:var(--card-bg);color:var(--text-main);cursor:pointer;transition:all var(--transition)}.pagination-btn:hover:not(:disabled):not(.active){background:var(--hover-bg);border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;cursor:default;font-weight:600}.pagination-btn:disabled{opacity:0.4;cursor:not-allowed}.pagination-wrapper{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.pagination-buttons{display:flex;gap:6px;align-items:center}.pagination-info{font-size:12px;color:var(--text-muted)}.uni-tam{display:inline-block;min-width:34px;text-align:center;padding:3px 8px;background:var(--primary-light);color:var(--primary);border-radius:6px;font-size:12.5px;font-weight:700}.acoes-epi{display:flex;gap:5px;align-items:center}.acoes-epi .btn-sm{padding:5px 10px;font-size:11.5px}.badge-purple{background:var(--primary-light);color:var(--primary)}.btn-relatorio{padding:10px 18px;font-size:13.5px;border-radius:10px;justify-content:center;align-self:flex-start;min-width:190px}@media (max-width:600px){.btn-relatorio{width:100%}}#rel-mes{max-width:240px}.btn-header-icone{border-width:1.5px;box-shadow:var(--shadow-sm)}.btn-busca{background:var(--blue-light);border-color:var(--blue);color:var(--blue)}.btn-busca:hover{background:var(--blue);color:#fff}#btn-alertas{background:var(--yellow-light);border-color:var(--yellow);color:var(--yellow)}#btn-alertas:hover{background:var(--yellow);color:#fff}#btn-alertas.tem-alerta{background:var(--red-light);border-color:var(--red);color:var(--red)}#btn-alertas.tem-alerta:hover{background:var(--red);color:#fff}.theme-toggle{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.theme-toggle:hover{background:var(--primary);color:#fff}.btn-logout{background:var(--red-light);border-color:var(--red);color:var(--red)}.btn-logout:hover{background:var(--red);border-color:var(--red);color:#fff}[data-theme="dark"] .btn-logout:hover{background:var(--red);color:#fff}.overlay-saudacao{position:fixed;inset:0;z-index:99998;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;padding:24px;animation:saudacaoEntra 0.5s cubic-bezier(0.16,1,0.3,1)}.overlay-saudacao.saindo{animation:saudacaoSai 0.5s cubic-bezier(0.4,0,1,1) forwards}.overlay-despedida{background:linear-gradient(135deg,#1a2332,#2c5282)}@keyframes saudacaoEntra{from{opacity:0}to{opacity:1}}@keyframes saudacaoSai{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.saudacao-conteudo{text-align:center;color:#fff;max-width:480px;animation:saudacaoSobe 0.7s cubic-bezier(0.16,1,0.3,1)}@keyframes saudacaoSobe{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.saudacao-icone{font-size:60px;margin-bottom:16px;display:inline-block;animation:acenar 1.6s ease-in-out infinite;transform-origin:70% 70%}@keyframes acenar{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.saudacao-titulo{font-size:20px;font-weight:400;opacity:0.92;letter-spacing:0.3px}.saudacao-nome{font-size:38px;font-weight:800;letter-spacing:-0.5px;line-height:1.1;margin:4px 0 14px}.saudacao-sub{font-size:15px;opacity:0.9;margin-bottom:6px}.saudacao-empresa{font-size:11px;opacity:0.65;letter-spacing:1.4px;font-weight:600}.saudacao-barra{width:180px;height:3px;background:rgba(255,255,255,0.22);border-radius:99px;margin:26px auto 0;overflow:hidden}.saudacao-barra span{display:block;height:100%;width:0;background:#fff;border-radius:99px;animation:preencherBarra 2.1s linear forwards}@keyframes preencherBarra{from{width:0}to{width:100%}}@media (max-width:600px){.saudacao-nome{font-size:30px}.saudacao-icone{font-size:50px}}.info-fixa{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;background:var(--blue-light);border:1.5px solid var(--blue);border-radius:11px;margin-bottom:16px}.info-fixa>i{font-size:22px;color:var(--blue);flex-shrink:0}.info-fixa>div{display:flex;flex-direction:column;gap:2px}.info-fixa strong{font-size:13.5px;color:var(--blue)}.info-fixa span{font-size:12.5px;color:var(--text-main)}.escolha-resultado{display:flex;flex-direction:column;gap:10px}.opcao-resultado{display:grid;grid-template-columns:auto auto 1fr;grid-template-areas:"radio icone titulo" ". . desc";align-items:center;gap:4px 11px;padding:14px 16px;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all var(--transition);background:var(--card-bg)}.opcao-resultado input{grid-area:radio;width:18px;height:18px;cursor:pointer}.opcao-resultado>i{grid-area:icone;font-size:22px}.opcao-titulo{grid-area:titulo;font-size:14px;font-weight:700;color:var(--text-main)}.opcao-desc{grid-area:desc;font-size:12px;color:var(--text-muted);line-height:1.4}.opcao-ok>i{color:var(--green)}.opcao-ok input{accent-color:var(--green)}.opcao-ok:has(input:checked){border-color:var(--green);background:var(--green-light)}.opcao-nao>i{color:var(--red)}.opcao-nao input{accent-color:var(--red)}.opcao-nao:has(input:checked){border-color:var(--red);background:var(--red-light)}.opcao-resultado:hover{border-color:var(--primary)}.btn-defeito{border-color:var(--yellow) !important;color:var(--yellow) !important}.btn-defeito:hover{background:var(--yellow) !important;color:#fff !important}.kb-semconserto{border-left-color:#64748b !important}.kanban-card-status.kb-semconserto{color:#64748b}.badge-cinza{background:#e2e8f0;color:#475569}[data-theme="dark"] .badge-cinza{background:#334155;color:#cbd5e1}.modal-assinatura{max-width:560px !important}.assinatura-sub{font-size:13.5px;color:var(--text-muted);text-align:center;margin-bottom:16px;line-height:1.5}.assinatura-area{position:relative;background:#fff;border:2px dashed var(--border-strong);border-radius:12px;height:190px;overflow:hidden;touch-action:none}[data-theme="dark"] .assinatura-area{background:#f8fafc}#canvas-assinatura{width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.assinatura-linha{position:absolute;left:8%;right:8%;bottom:34px;height:1.5px;background:#cbd5e1;pointer-events:none}.assinatura-dica{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#94a3b8;font-size:13.5px;pointer-events:none}.assinatura-dica i{font-size:20px}.assinatura-acoes{display:flex;justify-content:flex-end;margin-top:10px}.indicador-offline{position:fixed;bottom:calc(72px + var(--safe-bottom));left:16px;z-index:9500;display:flex;align-items:center;gap:11px;padding:11px 16px;border-radius:12px;box-shadow:var(--shadow-lg);font-size:13px;animation:instalarPop 0.45s cubic-bezier(0.34,1.56,0.64,1);max-width:calc(100% - 32px)}.indicador-offline>i{font-size:22px;flex-shrink:0}.indicador-offline>div{display:flex;flex-direction:column;line-height:1.35}.indicador-offline strong{font-size:13px;font-weight:700}.indicador-offline span{font-size:11.5px;opacity:0.9}.indicador-offline.offline{background:#475569;color:#fff}.indicador-offline.pendente{background:var(--yellow);color:#fff;cursor:pointer}.indicador-offline.pendente:hover{transform:translateY(-2px)}.indicador-offline.pendente i{animation:subirNuvem 1.8s ease-in-out infinite}@keyframes subirNuvem{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (min-width:900px){.indicador-offline{bottom:24px;left:24px}}.banner-offline{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:20px;border-radius:14px;background:linear-gradient(135deg,#334155,#1e293b);color:#fff;overflow:hidden;box-shadow:0 6px 24px rgba(30,41,59,0.3);animation:avisoEntra 0.5s cubic-bezier(0.16,1,0.3,1)}.banner-offline-icone{width:52px;height:52px;min-width:52px;border-radius:14px;background:rgba(255,255,255,0.14);display:flex;align-items:center;justify-content:center;font-size:26px;position:relative;z-index:1}.banner-offline-texto{display:flex;flex-direction:column;gap:3px;flex:1;z-index:1}.banner-offline-texto strong{font-size:14px;font-weight:800;letter-spacing:1.4px}.banner-offline-texto span{font-size:12.5px;opacity:0.88;line-height:1.45}.banner-offline-fila{display:inline-flex !important;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;background:rgba(217,119,6,0.9);border-radius:999px;font-size:11.5px !important;font-weight:600;opacity:1 !important;align-self:flex-start}.banner-offline-pulso{position:absolute;right:-30px;top:50%;transform:translateY(-50%);width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.07) 0%,transparent 70%);animation:pulsarOffline 2.6s ease-in-out infinite}@keyframes pulsarOffline{0%,100%{transform:translateY(-50%) scale(1);opacity:0.6}50%{transform:translateY(-50%) scale(1.15);opacity:1}}@media (max-width:600px){.banner-offline{flex-direction:column;text-align:center;align-items:center}.banner-offline-texto{align-items:center}.banner-offline-fila{align-self:center}}.auditoria-filtros{display:flex;align-items:flex-end;gap:12px;padding:16px 18px;background:var(--topbar-bg);border-bottom:1.5px solid var(--border-color);flex-wrap:wrap}.filtro-campo{display:flex;flex-direction:column;gap:5px}.filtro-campo label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-muted)}.filtro-campo .select-mini{min-width:140px;padding:8px 11px}.filtro-atalhos{display:flex;gap:6px;margin-left:auto}.atalho-periodo{padding:8px 13px;border:1.5px solid var(--border-color);border-radius:9px;background:var(--card-bg);color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap}.atalho-periodo:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.atalho-limpar{color:var(--red)}.atalho-limpar:hover{border-color:var(--red);color:#fff;background:var(--red)}.card-relatorio{overflow:hidden}.rel-hero{display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--primary-gradient);color:#fff}.rel-hero-icone{width:52px;height:52px;min-width:52px;border-radius:14px;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;font-size:27px}.rel-hero-texto h3{font-size:17px;font-weight:700;margin:0 0 3px}.rel-hero-texto p{font-size:12.5px;opacity:0.9;margin:0;line-height:1.45}.rel-corpo{padding:20px 22px}.rel-mes-seletor{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--topbar-bg);border:1.5px solid var(--border-color);border-radius:12px;margin-bottom:16px}.rel-mes-seletor label{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--text-main)}.rel-mes-seletor label i{color:var(--primary);font-size:16px}.rel-mes-seletor input[type="month"]{padding:11px 14px;border:1.5px solid var(--border-color);border-radius:10px;background:var(--input-bg);color:var(--text-main);font-size:14.5px;font-weight:600;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.rel-mes-seletor input[type="month"]:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.12)}.rel-mes-atalhos{display:flex;gap:7px}.rel-conteudo-lista{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:18px}.rel-conteudo-lista span{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-muted)}.rel-conteudo-lista i{color:var(--green);font-size:15px;flex-shrink:0}.rel-botao{width:100%;justify-content:center;padding:13px;font-size:14px;border-radius:11px}@media (max-width:600px){.auditoria-filtros{flex-direction:column;align-items:stretch}.filtro-atalhos{margin-left:0;flex-wrap:wrap}.filtro-campo .select-mini{width:100%}.rel-conteudo-lista{grid-template-columns:1fr}}.kanban-board{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start;overflow-x:auto;padding:4px 2px 20px}.kanban-col-body{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;padding:12px}.kb-card{position:relative;display:flex;flex-direction:column;gap:7px;padding:10px 11px 9px 15px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.kb-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(26,35,50,0.12);border-color:var(--border-strong)}.kb-pulso{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:10px 0 0 10px}.kb-pulso::after{content:'';position:absolute;top:9px;left:9px;width:7px;height:7px;border-radius:50%}.kb-card.kb-disp .kb-pulso{background:var(--green)}.kb-card.kb-disp .kb-pulso::after{background:var(--green);animation:pulsoStatus 2s ease-in-out infinite}.kb-card.kb-emp .kb-pulso{background:var(--yellow)}.kb-card.kb-emp .kb-pulso::after{background:var(--yellow);animation:pulsoStatus 2s ease-in-out infinite;animation-delay:0.4s}.kb-card.kb-man .kb-pulso{background:var(--red)}.kb-card.kb-man .kb-pulso::after{background:var(--red);animation:pulsoStatus 1.4s ease-in-out infinite}.kb-card.kb-semconserto .kb-pulso{background:#94a3b8}.kb-card.kb-semconserto .kb-pulso::after{background:#94a3b8;opacity:0.5}.kb-card.kb-semconserto{opacity:0.72}@keyframes pulsoStatus{0%,100%{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 4px transparent;opacity:0.55}}.kb-corpo{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.kb-nome{font-size:12px;font-weight:700;color:var(--text-main);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-sku{font-size:10.5px;color:var(--text-muted);font-family:monospace;letter-spacing:0.2px}.kb-contexto{font-size:10.5px;font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-card.kb-emp .kb-contexto{color:var(--yellow)}.kb-card.kb-man .kb-contexto{color:var(--red)}.kb-card.kb-semconserto .kb-contexto{color:#94a3b8}.kb-card{padding:9px 10px 9px 14px;gap:4px;flex-direction:row;align-items:center}.kb-menu-btn{flex-shrink:0;width:30px;height:30px;border:none;border-radius:8px;background:var(--hover-bg);color:var(--text-muted);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.kb-card{cursor:pointer}.kb-seta{color:var(--text-muted);font-size:16px;flex-shrink:0;transition:transform var(--transition),color var(--transition)}.kb-card:hover .kb-seta{color:var(--primary);transform:translateX(2px)}.card-modal-cab{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-bottom:16px;margin-bottom:14px;border-bottom:1px solid var(--border-color)}.card-modal-nome{font-size:17px;font-weight:800;color:var(--text-main);line-height:1.25}.card-modal-sku{font-size:12px;color:var(--text-muted);font-family:ui-monospace,monospace}.card-modal-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;margin-top:2px}.card-modal-contexto{font-size:13px;color:var(--text-muted);font-weight:600}.card-modal-acoes{display:flex;flex-direction:column;gap:6px}.card-op-btn{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border:1px solid var(--border-color);background:var(--card-bg);border-radius:11px;font-size:13.5px;font-weight:650;color:var(--text-main);cursor:pointer;text-align:left;transition:background var(--transition),border-color var(--transition)}.card-op-btn i:first-child{font-size:19px;min-width:20px}.card-op-seta{margin-left:auto;color:var(--text-muted);font-size:15px}.card-op-btn:hover{background:var(--hover-bg);border-color:var(--border-strong)}.card-op-btn-del{color:var(--red)}.card-op-btn-del i{color:var(--red) !important}.card-op-btn-del:hover{background:var(--red-light);border-color:var(--red)}@media (max-width:768px){.kanban-board{grid-template-columns:repeat(2,minmax(190px,1fr));gap:10px}.kanban-col-body{grid-template-columns:1fr;padding:9px;gap:8px}.kanban-col-header{padding:12px 12px 5px}.kanban-col-title{font-size:12.5px}.kanban-col-title i{font-size:15px}.kanban-col-sub{padding:0 12px 10px;font-size:10px}.kanban-col-count{font-size:10.5px;padding:2px 8px}.kb-nome{font-size:11.5px}.kanban-paginacao{padding:8px 10px 11px;flex-direction:column;gap:7px}.kanban-pag-info{font-size:10.5px}}@media (max-width:420px){.kanban-board{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory}.kanban-col{flex:0 0 78vw;scroll-snap-align:start}}body.tv-modo-ativo{overflow:hidden}.modo-tv{position:fixed;inset:0;z-index:99999;background:linear-gradient(160deg,#0d1420 0%,#16233a 55%,#1e3a5f 100%);color:#fff;display:flex;flex-direction:column;font-family:'Inter',system-ui,sans-serif;animation:fadeInOverlay 0.5s ease}.tv-cabecalho{display:flex;align-items:center;justify-content:space-between;padding:2vh 3vw;border-bottom:1px solid rgba(255,255,255,0.08)}.tv-marca{display:flex;align-items:center;gap:1.2vw}.tv-logo{width:3.6vw;height:3.6vw;min-width:44px;min-height:44px;border-radius:14px;background:rgba(91,139,199,0.22);display:flex;align-items:center;justify-content:center;font-size:1.9vw;color:#7ba3d4}.tv-marca-texto{display:flex;flex-direction:column}.tv-marca-texto strong{font-size:1.5vw;font-weight:800;letter-spacing:1.5px}.tv-marca-texto span{font-size:0.85vw;opacity:0.55;letter-spacing:2px}.tv-relogio{text-align:right}.tv-hora{font-size:3.2vw;font-weight:800;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}.tv-data{font-size:0.95vw;opacity:0.6;margin-top:4px}.tv-sair{position:absolute;top:1.5vh;right:1.5vw;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);cursor:pointer;font-size:17px;opacity:0;transition:opacity 0.3s}.modo-tv:hover .tv-sair{opacity:1}.tv-sair:hover{background:rgba(255,255,255,0.2);color:#fff}.tv-conteudo{flex:1;padding:3vh 3vw;overflow:hidden}.tv-entrada{animation:tvEntra 0.7s cubic-bezier(0.16,1,0.3,1)}@keyframes tvEntra{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.tv-slide{height:100%;display:flex;flex-direction:column}.tv-slide-duplo{display:grid;grid-template-columns:1fr 1fr;gap:3vw}.tv-coluna{display:flex;flex-direction:column;min-height:0}.tv-titulo{font-size:1.8vw;font-weight:700;margin:0 0 2.5vh;display:flex;align-items:center;gap:0.9vw;opacity:0.9}.tv-titulo i{color:#7ba3d4}.tv-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6vw;margin-bottom:4vh}.tv-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:18px;padding:2.4vh 1.6vw;text-align:center;animation:tvEntra 0.6s cubic-bezier(0.16,1,0.3,1) backwards}.tv-card:nth-child(2){animation-delay:0.08s}.tv-card:nth-child(3){animation-delay:0.16s}.tv-card:nth-child(4){animation-delay:0.24s}.tv-card>i{font-size:2.2vw;margin-bottom:1vh;display:block}.tv-card-valor{font-size:4.4vw;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.tv-card-rotulo{font-size:0.85vw;opacity:0.6;letter-spacing:1.8px;margin-top:0.8vh}.tv-verde>i,.tv-verde .tv-card-valor,.tv-verde-txt{color:#34d399}.tv-laranja>i,.tv-laranja .tv-card-valor,.tv-laranja-txt{color:#fbbf24}.tv-vermelho>i,.tv-vermelho .tv-card-valor{color:#fb7185}.tv-azul>i,.tv-azul .tv-card-valor{color:#7ba3d4}.tv-barra-bloco{background:rgba(255,255,255,0.04);border-radius:16px;padding:2.4vh 2vw}.tv-barra-topo{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.4vh}.tv-barra-topo span{font-size:1vw;opacity:0.7}.tv-barra-topo strong{font-size:2vw;font-weight:800;color:#34d399}.tv-barra{display:flex;height:2.2vh;min-height:16px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,0.07)}.tv-barra-seg{transition:width 1s cubic-bezier(0.16,1,0.3,1)}.tv-seg-verde{background:#34d399}.tv-seg-laranja{background:#fbbf24}.tv-seg-vermelho{background:#fb7185}.tv-legenda{display:flex;gap:2vw;margin-top:1.6vh;font-size:0.95vw;opacity:0.75}.tv-legenda span{display:flex;align-items:center;gap:0.6vw}.tv-bola{width:10px;height:10px;border-radius:50%;display:inline-block}.tv-bola.tv-verde{background:#34d399}.tv-bola.tv-laranja{background:#fbbf24}.tv-bola.tv-vermelho{background:#fb7185}.tv-almox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2vw;flex:1}.tv-almox{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:18px;padding:3vh 2vw;display:flex;flex-direction:column;animation:tvEntra 0.6s cubic-bezier(0.16,1,0.3,1) backwards}.tv-almox:nth-child(2){animation-delay:0.1s}.tv-almox-nome{font-size:1.3vw;font-weight:700;display:flex;align-items:center;gap:0.7vw;margin-bottom:2vh}.tv-almox-nome i{color:#7ba3d4}.tv-almox-total{font-size:5vw;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.tv-almox-sub{font-size:0.9vw;opacity:0.5;letter-spacing:1.4px;margin-bottom:2.4vh}.tv-almox-barra{display:flex;height:1.6vh;min-height:12px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,0.08);margin-bottom:1.4vh}.tv-almox-nums{display:flex;justify-content:space-between;font-size:1vw;font-weight:600}.tv-alertas{display:flex;flex-direction:column;gap:1.4vh}.tv-alerta{display:flex;align-items:flex-start;gap:1.2vw;padding:2vh 1.6vw;border-radius:14px;border-left:5px solid;background:rgba(255,255,255,0.05)}.tv-alerta>i{font-size:1.9vw;flex-shrink:0}.tv-alerta div{display:flex;flex-direction:column;gap:3px}.tv-alerta strong{font-size:1.15vw}.tv-alerta span{font-size:0.9vw;opacity:0.7}.tv-alerta-danger{border-color:#fb7185}.tv-alerta-danger>i,.tv-alerta-danger strong{color:#fb7185}.tv-alerta-warn{border-color:#fbbf24}.tv-alerta-warn>i,.tv-alerta-warn strong{color:#fbbf24}.tv-alerta-info{border-color:#7ba3d4}.tv-alerta-info>i,.tv-alerta-info strong{color:#7ba3d4}.tv-alerta-ok{border-color:#34d399}.tv-alerta-ok>i,.tv-alerta-ok strong{color:#34d399}.tv-tudo-ok{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1vh;color:#34d399}.tv-tudo-ok i{font-size:5vw}.tv-tudo-ok strong{font-size:1.7vw;letter-spacing:2px}.tv-tudo-ok span{font-size:1vw;opacity:0.6;color:#fff}.tv-movs{display:flex;flex-direction:column;gap:1vh}.tv-mov{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2vw;padding:1.4vh 1.4vw;background:rgba(255,255,255,0.04);border-radius:11px}.tv-mov-tipo{font-size:0.75vw;font-weight:700;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,0.09);white-space:nowrap}.tv-mov-item{font-size:1.05vw;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-mov-quem{font-size:0.9vw;opacity:0.55;white-space:nowrap}.tv-vazio,.tv-carregando{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.2vw;opacity:0.4}.tv-carregando i{animation:spin 1s linear infinite}.tv-rodape{display:flex;align-items:center;justify-content:space-between;padding:1.6vh 3vw;border-top:1px solid rgba(255,255,255,0.07)}.tv-slides{display:flex;gap:8px}.tv-ponto{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.18);transition:all 0.4s}.tv-ponto.ativo{background:#7ba3d4;width:26px;border-radius:99px}.tv-atualizado{font-size:0.85vw;opacity:0.4;display:flex;align-items:center;gap:7px}@media (max-width:900px){.tv-cards{grid-template-columns:repeat(2,1fr)}.tv-slide-duplo{grid-template-columns:1fr}.tv-hora{font-size:8vw}.tv-card-valor{font-size:10vw}.tv-titulo{font-size:5vw}.tv-marca-texto strong{font-size:4vw}.tv-marca-texto span{font-size:2.4vw}}.backup-aviso{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:11px;border:1.5px solid;margin-bottom:14px}.backup-aviso>i{font-size:24px;flex-shrink:0}.backup-aviso div{display:flex;flex-direction:column;gap:2px}.backup-aviso strong{font-size:13.5px}.backup-aviso span{font-size:12.5px;color:var(--text-muted)}.backup-ok{background:var(--green-light);border-color:var(--green)}.backup-ok>i,.backup-ok strong{color:var(--green)}.backup-alerta{background:var(--yellow-light);border-color:var(--yellow)}.backup-alerta>i,.backup-alerta strong{color:var(--yellow)}.backup-erro{background:var(--red-light);border-color:var(--red)}.backup-erro>i,.backup-erro strong{color:var(--red)}.backup-lista{display:flex;flex-direction:column;gap:7px;max-height:260px;overflow-y:auto}.backup-item{display:flex;align-items:center;gap:11px;padding:10px 13px;background:var(--topbar-bg);border:1px solid var(--border-color);border-radius:10px}.backup-item>i{font-size:20px;color:var(--primary)}.backup-info{flex:1;display:flex;flex-direction:column}.backup-info strong{font-size:13px;color:var(--text-main)}.backup-info span{font-size:11.5px;color:var(--text-muted)}.backup-ajuda{margin-top:16px;border:1.5px dashed var(--border-color);border-radius:11px;padding:12px 14px}.backup-ajuda summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:7px}.backup-ajuda-corpo{padding-top:12px;font-size:12.5px;color:var(--text-muted);line-height:1.6}.backup-ajuda-corpo p{margin:0 0 9px}.backup-ajuda-corpo code{display:block;padding:10px 12px;background:var(--hover-bg);border-radius:8px;font-size:11.5px;color:var(--primary);word-break:break-all;margin-bottom:9px}.aviso-versao{position:fixed;bottom:16px;right:16px;z-index:9400;display:flex;align-items:center;gap:11px;max-width:380px;padding:13px 15px;background:var(--yellow);color:#fff;border-radius:12px;box-shadow:var(--shadow-lg);animation:instalarPop 0.5s cubic-bezier(0.34,1.56,0.64,1)}.aviso-versao>i{font-size:22px;flex-shrink:0}.aviso-versao div{display:flex;flex-direction:column;gap:2px;flex:1}.aviso-versao strong{font-size:13px}.aviso-versao span{font-size:11.5px;opacity:0.92;line-height:1.4}.aviso-versao button{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;opacity:0.8;padding:0}.sol-abas{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}.sol-aba{display:flex;align-items:center;gap:7px;padding:10px 16px;border:1.5px solid var(--border-color);border-radius:11px;background:var(--card-bg);color:var(--text-muted);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--transition)}.sol-aba:hover{border-color:var(--primary);color:var(--primary)}.sol-aba.ativa{background:var(--primary);border-color:var(--primary);color:#fff}.sol-lista{display:flex;flex-direction:column;gap:14px}.sol-card{background:var(--card-bg);border:1px solid var(--border-color);border-left:4px solid var(--border-strong);border-radius:11px;overflow:hidden;transition:box-shadow var(--transition);animation:avisoEntra 0.4s cubic-bezier(0.16,1,0.3,1) backwards}.sol-card:hover{box-shadow:var(--shadow-md)}.sol-pendente{border-left-color:var(--yellow)}.sol-urgente{border-left-color:var(--red);box-shadow:0 0 0 1px rgba(190,18,60,0.12)}.sol-ok{border-left-color:var(--green)}.sol-recusada{border-left-color:var(--red);opacity:0.75}.sol-cancelada{border-left-color:#94a3b8;opacity:0.6}.sol-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--topbar-bg);border-bottom:1px solid var(--border-color)}.sol-nome{font-size:13.5px;font-weight:700}.sol-sku{font-size:11px;color:var(--text-muted);font-family:monospace;font-weight:400}.sol-topo-dir{display:flex;align-items:center;gap:6px;flex-shrink:0}.sol-direcao{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:3px 7px;border-radius:999px}.sol-dir-enviei{background:var(--primary-light);color:var(--primary)}.sol-dir-recebi{background:var(--yellow-light);color:var(--yellow)}.sol-status{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.7px;display:flex;align-items:center;gap:8px}.sol-pendente .sol-status{color:var(--yellow)}.sol-urgente .sol-status{color:var(--red)}.sol-ok .sol-status{color:var(--green)}.sol-recusada .sol-status{color:var(--red)}.sol-cancelada .sol-status{color:#94a3b8}.sol-urgencia{background:var(--red);color:#fff;font-size:10px;padding:2px 8px;border-radius:999px;letter-spacing:1px;animation:pulsarTexto 1.6s ease-in-out infinite}.sol-data{font-size:11.5px;color:var(--text-muted)}.sol-corpo{padding:16px 18px}.sol-ferramenta{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;color:var(--text-main);margin-bottom:10px}.sol-ferramenta i{color:var(--primary)}.sol-sku{font-size:12px;color:var(--text-muted);font-family:monospace;font-weight:400}.sol-rota{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;background:var(--hover-bg);border-radius:999px;font-size:11.5px;font-weight:600;margin:10px 12px 0}.sol-rota i{color:var(--primary)}.sol-de{color:var(--text-muted)}.sol-para{color:var(--primary)}.sol-quem{font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.sol-quem strong{color:var(--text-main)}.sol-espera{color:var(--yellow);font-weight:600}.sol-motivo{margin:8px 12px 0;padding:8px 11px;background:var(--hover-bg);border-radius:8px;font-size:12px;color:var(--text-main);line-height:1.4}.sol-resposta{margin-top:10px;padding:10px 13px;background:var(--topbar-bg);border-left:3px solid var(--primary);border-radius:0 9px 9px 0;font-size:12.5px;color:var(--text-muted)}.sol-meta{display:flex;flex-wrap:wrap;gap:10px;margin:8px 12px 10px;font-size:11px;color:var(--text-muted)}.sol-meta span{display:inline-flex;align-items:center;gap:4px}.sol-atrasado{color:var(--red);font-weight:700}.sol-acoes{display:flex;align-items:center;gap:7px;padding:9px 12px;border-top:1px solid var(--border-color);background:var(--topbar-bg);flex-wrap:wrap}.sol-aguardando{flex:1;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--yellow);font-weight:600}.menu-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;animation:statPop 0.4s cubic-bezier(0.34,1.56,0.64,1)}.kb-ico-solicitar{background:var(--blue-light);color:var(--blue)}.kb-ico-solicitar:hover{background:var(--blue);color:#fff}.op-novo{display:flex;gap:9px;margin-bottom:16px;flex-wrap:wrap}.op-novo input{flex:1;min-width:140px;padding:11px 14px;border:1.5px solid var(--border-color);border-radius:10px;background:var(--input-bg);color:var(--text-main);font-size:14px;outline:none}.op-novo input:focus{border-color:var(--primary)}.op-lista{display:flex;flex-direction:column;gap:7px;max-height:320px;overflow-y:auto}.op-item{display:flex;align-items:center;gap:11px;padding:11px 14px;background:var(--topbar-bg);border:1px solid var(--border-color);border-radius:10px}.op-item>i{font-size:19px;color:var(--primary)}.op-info{flex:1;display:flex;flex-direction:column}.op-info strong{font-size:13.5px;color:var(--text-main)}.op-info span{font-size:11.5px;color:var(--text-muted)}body.qk-ativo{overflow:hidden}body.qk-ativo .modal-overlay{z-index:100010 !important}body.qk-ativo .toast-notification{z-index:100020 !important}.quiosque{--qk-radius:22px;--qk-shadow:0 24px 60px -18px rgba(15,26,45,0.35);position:fixed;inset:0;z-index:99999;color:var(--text-main);background:radial-gradient(1200px 600px at 82% -10%,rgba(var(--primary-rgb),0.16),transparent 60%),radial-gradient(900px 500px at -5% 108%,rgba(4,120,87,0.12),transparent 55%),linear-gradient(168deg,#f4f8fd 0%,#e7eef7 100%);display:flex;flex-direction:column;animation:fadeInOverlay 0.4s ease;-webkit-tap-highlight-color:transparent}[data-theme="dark"] .quiosque{background:radial-gradient(1200px 600px at 82% -10%,rgba(91,139,199,0.20),transparent 60%),radial-gradient(900px 500px at -5% 108%,rgba(52,211,153,0.10),transparent 55%),linear-gradient(168deg,#0c131f 0%,#131d2e 100%)}.qk-topo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 26px;background:var(--card-bg);background:var(--card-bg);
    background:color-mix(in srgb,var(--card-bg) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-color);flex-shrink:0}.qk-marca{display:flex;align-items:center;gap:14px;min-width:0}.qk-marca-ico{width:46px;height:46px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;background:var(--primary-gradient);box-shadow:0 8px 18px -6px rgba(var(--primary-rgb),0.55)}.qk-marca-txt{display:flex;flex-direction:column;line-height:1.28;min-width:0}.qk-marca-txt strong{font-size:16.5px;font-weight:800;letter-spacing:0.2px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qk-marca-txt span{font-size:12.5px;font-weight:600;color:var(--primary)}.qk-topo-dir{display:flex;align-items:center;gap:14px;flex-shrink:0}.qk-relogio{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:0.5px;color:var(--text-main);padding:6px 14px;border-radius:12px;background:var(--hover-bg);border:1px solid var(--border-color)}.qk-sair{width:44px;height:44px;border-radius:13px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-muted);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.qk-sair:hover{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(90deg)}.qk-corpo{flex:1;overflow-y:auto;padding:34px 24px 46px;display:flex;justify-content:center}.qk-tela{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center;animation:qkEntra 0.5s cubic-bezier(0.16,1,0.3,1)}@keyframes qkEntra{from{opacity:0;transform:translateY(22px) scale(0.985)}to{opacity:1;transform:translateY(0) scale(1)}}.qk-instrucao{text-align:center;margin:0 0 26px}.qk-passo{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;color:var(--primary);background:var(--primary-light);padding:7px 16px;border-radius:999px;margin-bottom:18px}.qk-passo::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.18)}.qk-instrucao h1{font-size:clamp(26px,4.5vw,36px);font-weight:850;letter-spacing:-0.5px;line-height:1.12;color:var(--text-main);margin:0 0 10px}.qk-instrucao p{font-size:16px;font-weight:500;color:var(--text-muted);max-width:460px;margin:0 auto;line-height:1.45}.qk-camera{position:relative;width:100%;max-width:400px;aspect-ratio:1;border-radius:26px;overflow:hidden;background:#0a1017;margin-bottom:22px;box-shadow:var(--qk-shadow),inset 0 0 0 1px rgba(255,255,255,0.06)}#qk-reader{width:100%;height:100%}#qk-reader video{width:100% !important;height:100% !important;object-fit:cover}#reader video{transform:none !important;-webkit-transform:none !important}#qk-reader video,.qk-foto-camera video{transform:scaleX(-1) !important;-webkit-transform:scaleX(-1) !important}#qk-reader__dashboard,#qk-reader__header_message{display:none !important}#qk-reader__scan_region img{display:none !important}.qk-mira{position:absolute;inset:15%;border-radius:16px;pointer-events:none;box-shadow:0 0 0 9999px rgba(6,12,20,0.5)}.qk-mira::before,.qk-mira::after{content:'';position:absolute;width:40px;height:40px;border:4px solid #fff;border-radius:6px}.qk-mira::before{top:-2px;left:-2px;border-right:none;border-bottom:none}.qk-mira::after{bottom:-2px;right:-2px;border-left:none;border-top:none}.qk-camera::after{content:'';position:absolute;left:15%;right:15%;height:3px;top:15%;background:linear-gradient(90deg,transparent,var(--primary),transparent);box-shadow:0 0 14px 2px rgba(var(--primary-rgb),0.8);border-radius:3px;animation:qkScan 2.6s ease-in-out infinite;pointer-events:none}@keyframes qkScan{0%,100%{top:15%;opacity:0.25}50%{top:82%;opacity:1}}.qk-foto-camera{position:relative;width:100%;max-width:320px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#0a1017;margin-bottom:24px;box-shadow:var(--qk-shadow)}.qk-foto-camera video{width:100%;height:100%;object-fit:cover}.qk-foto-anel{position:absolute;inset:8px;border-radius:50%;border:4px solid rgba(255,255,255,0.9);box-shadow:0 0 0 3px rgba(var(--primary-rgb),0.5);pointer-events:none;animation:qkPulseFoto 2.4s ease-in-out infinite}@keyframes qkPulseFoto{0%,100%{box-shadow:0 0 0 3px rgba(var(--primary-rgb),0.4)}50%{box-shadow:0 0 0 8px rgba(var(--primary-rgb),0.15)}}.qk-foto-aviso{position:absolute;inset:auto 10px 14px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:rgba(180,83,9,0.92);color:#fff;border-radius:12px;font-size:12.5px;font-weight:650;text-align:center}.qk-manual{display:flex;gap:10px;width:100%;max-width:480px;margin-top:4px}#qk-codigo,.qk-input-nome{flex:1;padding:17px 22px;font-size:16px;font-weight:600;border:2px solid var(--border-color);border-radius:15px;background:var(--card-bg);color:var(--text-main);outline:none;text-align:center;transition:border-color var(--transition),box-shadow var(--transition)}#qk-codigo::placeholder,.qk-input-nome::placeholder{font-weight:500}#qk-codigo:focus,.qk-input-nome:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.14)}.qk-input-nome{max-width:480px;margin-bottom:22px}.qk-ferramenta{width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 26px;margin-bottom:24px;border-radius:var(--qk-radius);background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--qk-shadow);position:relative;overflow:hidden}.qk-ferramenta::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:var(--text-muted)}.qk-ferramenta.qk-verde::before{background:linear-gradient(90deg,var(--green),#34d399)}.qk-ferramenta.qk-laranja::before{background:linear-gradient(90deg,var(--yellow),#f59e0b)}.qk-ferramenta.qk-vermelho::before{background:linear-gradient(90deg,var(--red),#fb7185)}.qk-fer-icone{width:82px;height:82px;border-radius:22px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:40px;margin-bottom:18px}.qk-verde .qk-fer-icone{background:var(--green-light);color:var(--green)}.qk-laranja .qk-fer-icone{background:var(--yellow-light);color:var(--yellow)}.qk-vermelho .qk-fer-icone{background:var(--red-light);color:var(--red)}.qk-fer-nome{font-size:26px;font-weight:850;letter-spacing:-0.4px;color:var(--text-main);line-height:1.2;margin-bottom:6px}.qk-fer-sku{font-size:13.5px;color:var(--text-muted);font-family:ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:0.6px;margin-bottom:14px}.qk-fer-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;letter-spacing:0.4px;text-transform:uppercase;padding:8px 18px;border-radius:999px}.qk-fer-status::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}.qk-fer-status.qk-verde{color:var(--green);background:var(--green-light)}.qk-fer-status.qk-laranja{color:var(--yellow);background:var(--yellow-light)}.qk-fer-status.qk-vermelho{color:var(--red);background:var(--red-light)}.qk-fer-com{font-size:14px;font-weight:700;color:var(--yellow);background:var(--yellow-light);padding:8px 16px;border-radius:12px;margin-top:14px}.qk-nomes{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:12px;width:100%;margin-bottom:24px}.qk-nome-btn{padding:22px 14px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;font-size:15px;font-weight:750;color:var(--text-main);cursor:pointer;transition:transform 0.16s cubic-bezier(0.4,0,0.2,1),border-color 0.16s,background 0.16s,box-shadow 0.16s;text-align:center;line-height:1.35}.qk-nome-btn:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 10px 24px -8px rgba(var(--primary-rgb),0.3)}.qk-nome-btn:active{transform:translateY(0) scale(0.98)}.qk-nome-btn.ativo{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 10px 26px -8px rgba(var(--primary-rgb),0.5)}.qk-destino-bloco{width:100%;max-width:520px;margin-bottom:24px}.qk-destino-bloco>label{display:block;font-size:14px;font-weight:700;color:var(--text-muted);margin-bottom:12px;text-align:center}.qk-destinos{display:grid;grid-template-columns:1fr 1fr;gap:11px;width:100%}.qk-destino-btn{display:flex;align-items:center;justify-content:center;gap:9px;padding:18px 14px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:15px;font-size:14px;font-weight:750;color:var(--text-main);cursor:pointer;transition:all 0.16s;text-align:center}.qk-destino-btn:hover{border-color:var(--primary);transform:translateY(-2px)}.qk-destino-btn.ativo,.qk-destino-btn.selecionado{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 8px 20px -6px rgba(var(--primary-rgb),0.45)}.qk-resumo{width:100%;max-width:520px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;padding:8px 24px;margin-bottom:8px;box-shadow:var(--shadow-md)}.qk-resumo-linha{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;font-size:15px;border-bottom:1px solid var(--border-color)}.qk-resumo-linha:last-child{border-bottom:none}.qk-resumo-linha strong{color:var(--text-main);font-weight:800;text-align:right}.qk-resumo-linha span{color:var(--text-muted);font-weight:600}.qk-acoes{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.qk-btn{width:100%;padding:19px 24px;border-radius:16px;border:none;font-size:16.5px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:11px;transition:transform 0.14s,box-shadow 0.14s,background 0.14s,filter 0.14s;letter-spacing:0.2px}.qk-btn i{font-size:21px}.qk-btn:active{transform:scale(0.975)}.qk-btn:disabled{opacity:0.55;cursor:wait}.qk-btn-grande{padding:24px;font-size:19px;border-radius:18px}.qk-btn-primario,.qk-btn-verde{color:#fff;background:linear-gradient(135deg,var(--green),#059669);box-shadow:0 14px 30px -10px rgba(5,150,105,0.6)}.qk-btn-primario:hover,.qk-btn-verde:hover{filter:brightness(1.05);box-shadow:0 18px 34px -10px rgba(5,150,105,0.7)}.qk-btn-azul{color:#fff;background:var(--primary-gradient);box-shadow:0 14px 30px -10px rgba(var(--primary-rgb),0.6)}.qk-btn-azul:hover{filter:brightness(1.06)}.qk-btn-secundario{background:transparent;color:var(--text-muted);border:2px solid var(--border-color);font-size:15px;padding:15px 24px}.qk-btn-secundario:hover{background:var(--hover-bg);color:var(--text-main)}.qk-resultado{padding-top:12px}.qk-resultado-icone{width:118px;height:118px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:62px;color:#fff;margin-bottom:20px;animation:qkPop 0.55s cubic-bezier(0.34,1.56,0.64,1)}@keyframes qkPop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.qk-sucesso .qk-resultado-icone,.resp-ok,.qk-resultado-icone.sucesso{background:linear-gradient(135deg,var(--green),#059669);box-shadow:0 0 0 12px var(--green-light),0 18px 40px -10px rgba(5,150,105,0.55)}.qk-erro .qk-resultado-icone,.resp-nao,.qk-resultado-icone.erro{background:linear-gradient(135deg,var(--red),#e11d48);box-shadow:0 0 0 12px var(--red-light),0 18px 40px -10px rgba(190,18,60,0.5)}.qk-resultado h1{font-size:clamp(28px,5vw,40px);font-weight:850;letter-spacing:-0.6px;color:var(--text-main);margin:0 0 6px;text-align:center}.qk-resultado-sub{font-size:16px;font-weight:650;color:var(--text-muted);margin:0 0 22px;text-align:center}.qk-contagem{font-size:14px;font-weight:600;color:var(--text-muted);margin-top:20px;display:flex;align-items:center;gap:7px}.qk-contagem span,.qk-contagem strong{color:var(--primary);font-weight:800;font-size:16px}.qk-erro-msg{display:flex;align-items:center;gap:11px;padding:16px 22px;background:var(--red-light);border:1.5px solid var(--red);color:var(--red);border-radius:15px;font-size:15px;font-weight:650;text-align:center;margin-bottom:22px;max-width:520px}.qk-bloqueado{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 24px;background:var(--yellow-light);border:1.5px solid var(--yellow);color:var(--text-main);border-radius:16px;text-align:center;margin-bottom:12px;width:100%;max-width:520px}.qk-bloqueado i{font-size:30px;color:var(--yellow)}.qk-bloqueado strong{font-size:17px}.qk-bloqueado span{font-size:14px;color:var(--text-muted)}.qk-offline{display:flex;align-items:center;gap:9px;padding:11px 18px;background:#475569;color:#fff;border-radius:999px;font-size:13px;font-weight:650;margin-bottom:18px}.qk-carregando{justify-content:center;padding-top:70px;color:var(--text-muted);font-size:16px;font-weight:600;gap:14px}.qk-carregando i{font-size:38px;color:var(--primary);animation:spin 1s linear infinite;margin-bottom:10px}@media (prefers-reduced-motion:reduce){.quiosque,.qk-tela,.qk-resultado-icone{animation:none !important}.qk-camera::after{animation:none;opacity:0.6}}@media (max-width:640px){.qk-topo{padding:14px 16px}.qk-relogio{font-size:17px;padding:5px 11px}.qk-instrucao h1{font-size:24px}.qk-destinos{grid-template-columns:1fr}.qk-nomes{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.qk-btn-grande{padding:20px;font-size:17px}.qk-fer-nome{font-size:22px}.qk-corpo{padding:24px 16px 34px}.qk-marca-txt span{display:none}}.linha-outro-almox{opacity:0.72}.linha-outro-almox td:first-child::after{content:' · outro almox.';font-size:10px;color:var(--blue);font-weight:600}.sol-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.sol-card{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-left:none;border-radius:12px;overflow:hidden;padding:11px 13px 11px 16px;display:flex;flex-direction:column;gap:7px;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);animation:avisoEntra .35s cubic-bezier(.16,1,.3,1) backwards}
.sol-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-strong)}
.sol-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(26,35,50,.10);border-color:var(--border-strong)}
.sol-card.sol-pendente::before{background:var(--yellow)}
.sol-card.sol-urgente::before{background:var(--red)}
.sol-card.sol-ok::before{background:var(--green)}
.sol-card.sol-recusada::before{background:var(--red)}
.sol-card.sol-cancelada::before{background:#94a3b8}
.sol-card.sol-recusada,.sol-card.sol-cancelada{opacity:.68}
.sol-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.sol-ident{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
.sol-nome{font-size:13px;font-weight:750;color:var(--text-main);line-height:1.25;letter-spacing:-.1px}
.sol-fogo{color:var(--red);font-size:13px;display:inline-flex;animation:pulsarTexto 1.6s ease-in-out infinite}
.sol-sku{flex-basis:100%;font-size:10.5px;color:var(--text-muted);font-family:ui-monospace,monospace;letter-spacing:.2px}
.sol-chip{flex-shrink:0;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:999px;background:var(--hover-bg);color:var(--text-muted);white-space:nowrap}
.sol-pendente .sol-chip{background:var(--yellow-light);color:var(--yellow)}
.sol-urgente .sol-chip{background:var(--red-light);color:var(--red)}
.sol-ok .sol-chip{background:var(--green-light);color:var(--green)}
.sol-recusada .sol-chip{background:var(--red-light);color:var(--red)}
.sol-rota{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;font-weight:600;color:var(--text-main);margin:0}
.sol-rota>i{font-size:12px;color:var(--text-muted)}
.sol-rota .sol-seta{color:var(--primary);font-size:12px}
.sol-dir{margin-left:auto;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:999px}
.sol-dir-enviei{background:var(--primary-light);color:var(--primary)}
.sol-dir-recebi{background:var(--blue-light);color:var(--blue)}
.sol-motivo{margin:0;padding:6px 9px;background:var(--hover-bg);border-radius:7px;font-size:11.5px;line-height:1.4;color:var(--text-main);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sol-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:10.5px;color:var(--text-muted)}
.sol-meta span{display:inline-flex;align-items:center;gap:4px}
.sol-meta i{font-size:12px}
.sol-atrasado{color:var(--red);font-weight:700}
.sol-resposta{margin:0;padding:7px 10px;background:var(--topbar-bg);border-left:2px solid var(--primary);border-radius:0 7px 7px 0;font-size:11.5px;line-height:1.4;color:var(--text-muted)}
.sol-acoes{display:flex;gap:6px;padding:0;margin-top:1px;border:none;background:none}
.sol-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border-radius:9px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);font-size:12px;font-weight:700;cursor:pointer;transition:all var(--transition)}
.sol-btn i{font-size:14px}
.sol-btn:active{transform:scale(.97)}
.sol-btn-sim{background:var(--green);border-color:var(--green);color:#fff}
.sol-btn-sim:hover{filter:brightness(1.06);box-shadow:0 5px 14px -4px rgba(5,150,105,.5)}
.sol-btn-nao{color:var(--red);border-color:var(--red-light)}
.sol-btn-nao:hover{background:var(--red);border-color:var(--red);color:#fff}
.sol-btn-neutro{color:var(--text-muted)}
.sol-btn-neutro:hover{background:var(--hover-bg);color:var(--text-main)}
@media (max-width:560px){.sol-lista{grid-template-columns:1fr;gap:9px}.sol-card{padding:10px 12px 10px 15px}}
.folha-overlay{position:fixed;inset:0;z-index:11000;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;display:flex;align-items:flex-end}
.folha-overlay.ativa{opacity:1;visibility:visible}
.folha{width:100%;max-height:78vh;overflow-y:auto;background:var(--card-bg);border-radius:20px 20px 0 0;padding:8px 16px calc(20px + var(--safe-bottom));transform:translateY(100%);transition:transform .26s cubic-bezier(.16,1,.3,1);box-shadow:0 -8px 34px rgba(15,23,42,.22)}
.folha-overlay.ativa .folha{transform:translateY(0)}
.folha-alca{width:38px;height:4px;border-radius:99px;background:var(--border-strong);margin:6px auto 12px}
.folha-titulo{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);padding:0 4px 12px}
.folha-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.folha-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px;border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg);cursor:pointer;transition:all var(--transition)}
.folha-item:active{transform:scale(.96)}
.folha-item:hover{border-color:var(--primary);background:var(--hover-bg)}
.folha-ico{width:42px;height:42px;border-radius:13px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:21px}
.folha-rot{font-size:11px;font-weight:650;color:var(--text-main);text-align:center;line-height:1.25}
.folha-vazio{padding:26px;text-align:center;color:var(--text-muted);font-size:13px}
@media (min-width:1025px){.folha-overlay{align-items:center;justify-content:center;padding:20px}.folha{max-width:460px;border-radius:18px;transform:scale(.96);padding-bottom:20px}.folha-overlay.ativa .folha{transform:scale(1)}.folha-alca{display:none}}
.linha-comprovante{cursor:pointer}
.linha-comprovante:hover{background:var(--hover-bg)}
.btn-comprovante{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:7px;vertical-align:middle;border:1px solid var(--primary);border-radius:8px;background:var(--primary-light);color:var(--primary);font-size:15px;cursor:pointer;transition:all var(--transition);flex-shrink:0}
.btn-comprovante:hover{background:var(--primary);color:#fff}
.btn-comprovante:active{transform:scale(.92)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtSai .18s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vtEntra .26s cubic-bezier(.16,1,.3,1) both}
@keyframes vtSai{to{opacity:0;transform:translateY(-6px)}}
@keyframes vtEntra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.entra-escalonado{animation:cardEntra .34s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--atraso,0ms)}
@keyframes cardEntra{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:reduce){
.entra-escalonado{animation:none!important}
::view-transition-old(root),::view-transition-new(root){animation:none!important}
.sol-card,.kb-card,.custom-card,.stat-card,.folha,.folha-item{animation:none!important;transition:none!important}
.kb-card:hover,.sol-card:hover{transform:none!important}
}

/* ============================================================
   PADRONIZAÇÃO VISUAL v67 — tipografia, botões e formatos
   ============================================================ */
/* Botões: altura, fonte e raio unificados */
.btn{min-height:40px;padding:9px 16px;font-size:13px;font-weight:600;border-radius:11px;letter-spacing:0.1px}
.btn i{font-size:16px}
.btn-sm{min-height:32px;padding:5px 12px;font-size:12px;border-radius:9px}
.btn-sm i{font-size:14px}
.btn-login{min-height:48px;font-size:15.5px;border-radius:12px}
.qk-btn{border-radius:16px}
/* Títulos e textos */
.title-group h1{font-size:22px;font-weight:700;letter-spacing:-0.4px}
.title-group p{font-size:11.5px}
.box-title{font-size:11px;font-weight:700;letter-spacing:0.6px}
.card-header-mobile{font-size:15px;font-weight:700}
.modal-header h2,.modal-header-color h2{font-size:18px}
/* Formulários */
.form-group label{font-size:12.5px;font-weight:600}
.form-group input,.form-group select,.form-group textarea{font-size:14.5px;border-radius:11px;padding:11px 14px}
/* Tabelas e badges */
.custom-table{font-size:13px}
.custom-table th{font-size:10.5px;letter-spacing:0.5px}
.badge{font-size:11px;padding:4px 12px;font-weight:600}
/* Exceções mobile (toque e anti-zoom iOS) */
@media (max-width:768px){.btn{min-height:44px}}
@media (max-width:480px){.title-group h1{font-size:17px}.form-group input,.form-group select,.form-group textarea{font-size:16px}}

/* ============================================================
   RODAPÉ DO SISTEMA
   ============================================================ */
.rodape-sistema{margin-top:auto;padding:16px 20px calc(16px + var(--safe-bottom));text-align:center;font-size:11.5px;color:var(--text-muted);border-top:1px solid var(--border-color);background:var(--bg-color)}
.rodape-sistema strong{color:var(--primary);font-weight:700}
@media (max-width:768px){.rodape-sistema{padding-bottom:calc(78px + var(--safe-bottom))}}

/* ============================================================
   ETIQUETA PATRIMÔNIO — nome centralizado na base
   ============================================================ */
.label-mockup-h{padding:6px 14px 20px}
.label-mockup-h .lmh-nome{position:absolute;left:12px;right:12px;bottom:5px;font-size:9px;font-weight:800;color:#334155;text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0.3px}
.label-mockup-h .lmh-logo img{max-width:150px;max-height:64px}

/* ============================================================
   v72 — Header e bottom-nav FLUTUANTES estilo app nativo
   ============================================================ */

/* Header no topo com efeito glass, flutuante, com auto-hide */
.content-header{
    position:sticky;
    top:max(10px, env(safe-area-inset-top));
    margin:10px 14px 14px;
    padding:11px 18px !important;
    background:var(--card-bg);
    background:color-mix(in srgb, var(--card-bg) 78%, transparent);
    -webkit-backdrop-filter:blur(22px) saturate(180%);
    backdrop-filter:blur(22px) saturate(180%);
    border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);
    border-radius:20px;
    box-shadow:
        0 1px 2px rgba(15,23,42,0.05),
        0 10px 28px -6px rgba(15,23,42,0.14),
        inset 0 1px 0 rgba(255,255,255,0.5);
    z-index:900;
    transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), box-shadow 0.25s ease;
}
.content-header.rolado{
    box-shadow:
        0 1px 3px rgba(15,23,42,0.08),
        0 16px 44px -8px rgba(15,23,42,0.20),
        inset 0 1px 0 rgba(255,255,255,0.5);
}
.content-header.header-oculto{
    transform:translateY(calc(-100% - 20px));
}
[data-theme="dark"] .content-header{
    background:var(--card-bg);
    background:color-mix(in srgb, var(--card-bg) 82%, transparent);
    border-color:color-mix(in srgb, var(--border-color) 40%, transparent);
    box-shadow:
        0 1px 2px rgba(0,0,0,0.35),
        0 12px 34px -6px rgba(0,0,0,0.55),
        inset 0 1px 0 rgba(255,255,255,0.06);
}
[data-theme="dark"] .content-header.rolado{
    box-shadow:
        0 1px 3px rgba(0,0,0,0.45),
        0 18px 48px -8px rgba(0,0,0,0.6),
        inset 0 1px 0 rgba(255,255,255,0.06);
}

/* Bottom-nav também flutuante no mobile (pill floating) */
.bottom-nav{
    left:12px !important;
    right:12px !important;
    bottom:calc(10px + var(--safe-bottom)) !important;
    border-radius:22px !important;
    border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent) !important;
    background:var(--card-bg) !important;
    background:color-mix(in srgb, var(--card-bg) 82%, transparent) !important;
    -webkit-backdrop-filter:blur(22px) saturate(180%);
    backdrop-filter:blur(22px) saturate(180%);
    padding:6px 6px !important;
    box-shadow:
        0 1px 2px rgba(15,23,42,0.06),
        0 14px 40px -6px rgba(15,23,42,0.22),
        inset 0 1px 0 rgba(255,255,255,0.5) !important;
    z-index:100;
}
[data-theme="dark"] .bottom-nav{
    box-shadow:
        0 1px 2px rgba(0,0,0,0.4),
        0 16px 46px -8px rgba(0,0,0,0.65),
        inset 0 1px 0 rgba(255,255,255,0.05) !important;
}
.bottom-nav-item{
    border-radius:14px !important;
    padding:8px 10px !important;
    transition:background 0.2s, transform 0.15s ease !important;
}
.bottom-nav-item.active{
    background:var(--primary-light);
    background:color-mix(in srgb, var(--primary) 12%, transparent);
}
.bottom-nav-item.active::after{
    display:none !important;
}
.bottom-nav-item:active{
    transform:scale(0.92);
}

/* Ajusta padding do conteúdo pra sobrar espaço pra bottom-nav flutuante */
@media (max-width:768px){
    .main-content{padding-bottom:calc(88px + var(--safe-bottom)) !important;}
    .rodape-sistema{padding-bottom:calc(96px + var(--safe-bottom))}
    .content-header{
        margin:8px 10px 12px;
        padding:9px 12px !important;
    }
    .header-actions{gap:6px !important; margin-top:0 !important;}
    .btn-header-icone, .theme-toggle{width:38px !important; height:38px !important; font-size:17px}
    .btn-logout{padding:0 !important; width:38px; height:38px; justify-content:center}
    .btn-logout span{display:none}
    .header-logo-img{max-height:34px !important}
    .title-group h1{font-size:16px !important; line-height:1.15}
    .title-group p{font-size:10.5px !important}
}

/* Botão hamburguer também flutuante e discreto */
@media (max-width:1024px){
    .btn-hamburger{
        position:static !important;
        width:38px !important; height:38px !important;
        background:transparent !important;
        border:none !important;
        box-shadow:none !important;
        color:var(--primary) !important;
        font-size:22px !important;
    }
    .header-mobile{padding-left:0 !important}
    .header-mobile{padding-top:0 !important}
}

/* ============================================================
   v73 — Sidebar redesenhada estilo app nativo (iOS Settings)
   ============================================================ */

/* Sidebar como drawer moderno com cantos arredondados na direita */
.sidebar{
    width:296px !important;
    background:var(--card-bg) !important;
    border-right:none !important;
    border-radius:0 24px 24px 0;
    box-shadow:6px 0 40px -8px rgba(15,23,42,0.18) !important;
    padding:0 !important;
}

/* Header da sidebar: gradient com logo e mais respiro */
.sidebar-header{
    padding:26px 22px 22px !important;
    background:var(--primary-gradient) !important;
    color:#fff !important;
    border-radius:0 24px 0 0;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px;
    position:relative;
    overflow:hidden;
}
.sidebar-header::after{
    content:'';
    position:absolute;
    top:-30px; right:-30px;
    width:140px; height:140px;
    background:radial-gradient(circle, rgba(255,255,255,0.14) 0%, transparent 70%);
    pointer-events:none;
}
.sidebar-header h2{
    display:flex; align-items:center; gap:11px;
    font-size:19px !important;
    font-weight:800 !important;
    letter-spacing:-0.2px;
    z-index:1; position:relative;
}
.sidebar-header h2 i{
    background:rgba(255,255,255,0.22);
    width:38px; height:38px;
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    font-size:20px;
    backdrop-filter:blur(10px);
}
.btn-mobile-close{
    z-index:1; position:relative;
    width:36px !important; height:36px !important;
    border-radius:11px !important;
    background:rgba(255,255,255,0.15) !important;
    color:#fff !important;
    display:flex; align-items:center; justify-content:center;
    transition:background 0.2s;
    font-size:18px !important;
    padding:0 !important;
}
.btn-mobile-close:hover{
    background:rgba(255,255,255,0.28) !important;
}

/* Menu com respiro maior e itens estilo iOS Settings */
.sidebar-menu{
    padding:14px 12px 20px !important;
    gap:3px !important;
}

/* Cada item vira uma linha estilo iOS: ícone colorido + texto */
.menu-item{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    padding:9px 12px !important;
    border-radius:12px !important;
    font-size:14.5px !important;
    font-weight:600 !important;
    color:var(--text-main) !important;
    letter-spacing:-0.1px;
    transition:background 0.18s ease, transform 0.15s ease !important;
}
.menu-item i{
    width:34px !important; height:34px !important;
    min-width:34px !important;
    border-radius:9px !important;
    background:var(--primary-light);
    color:var(--primary) !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    font-size:18px !important;
    transition:transform 0.15s ease;
}
.menu-item span{
    flex:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
/* Chevron ">" à direita como no iOS */
.menu-item::after{
    content:'\e13c';
    font-family:'Phosphor';
    font-size:16px;
    color:var(--text-muted);
    opacity:0.35;
    margin-left:auto;
    transition:transform 0.15s ease, opacity 0.15s ease;
}
.menu-item:hover{
    background:var(--hover-bg) !important;
    color:var(--text-main) !important;
    transform:translateX(2px);
}
.menu-item:hover i{
    transform:scale(1.05);
}
.menu-item:hover::after{
    opacity:0.6;
    transform:translateX(3px);
}
.menu-item.active{
    background:var(--primary-gradient) !important;
    color:#fff !important;
    box-shadow:0 6px 18px -4px rgba(var(--primary-rgb),0.45) !important;
}
.menu-item.active i{
    background:rgba(255,255,255,0.22) !important;
    color:#fff !important;
}
.menu-item.active::after{
    color:#fff;
    opacity:0.8;
}
.menu-item.active::before{
    display:none !important;
}

/* Cores diferentes por categoria (estilo iOS Settings) */
.menu-item[onclick*="dashboard"] i{background:rgba(79,70,229,0.12); color:#4f46e5}
.menu-item[onclick*="ferramentas"] i{background:rgba(14,165,233,0.12); color:#0ea5e9}
.menu-item[onclick*="consumiveis"] i{background:rgba(217,119,6,0.12); color:#d97706}
.menu-item[onclick*="localizacoes"] i{background:rgba(220,38,38,0.12); color:#dc2626}
.menu-item[onclick*="emprestimo"] i{background:rgba(5,150,105,0.12); color:#059669}
.menu-item[onclick*="devolucao"] i{background:rgba(2,132,199,0.12); color:#0284c7}
.menu-item[onclick*="mover"] i{background:rgba(139,92,246,0.12); color:#8b5cf6}
.menu-item[onclick*="transacoes"] i{background:rgba(100,116,139,0.12); color:#64748b}
.menu-item[onclick*="consulta-qr"] i{background:rgba(15,118,110,0.12); color:#0f766e}
.menu-item[onclick*="etiquetas"] i{background:rgba(190,24,93,0.12); color:#be185d}
.menu-item[onclick*="solicitacoes"] i{background:rgba(202,138,4,0.12); color:#ca8a04}
.menu-item[onclick*="manutencao"] i{background:rgba(220,38,38,0.12); color:#dc2626}
.menu-item[onclick*="relatorios"] i{background:rgba(30,64,175,0.12); color:#1e40af}
.menu-item[onclick*="epi"] i{background:rgba(21,128,61,0.12); color:#15803d}
.menu-item[onclick*="configuracoes"] i{background:rgba(75,85,99,0.12); color:#4b5563}
.menu-item[onclick*="Quiosque"] i{background:rgba(15,118,110,0.12); color:#0f766e}
.menu-item[onclick*="Tv"] i{background:rgba(126,34,206,0.12); color:#7e22ce}

/* Em modo ativo, ignora cores individuais */
.menu-item.active i{background:rgba(255,255,255,0.22) !important; color:#fff !important}

/* Grupo/section header estilo iOS */
.menu-grupo{
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:1.4px !important;
    text-transform:uppercase !important;
    color:var(--text-muted) !important;
    padding:22px 16px 6px !important;
    margin-top:8px !important;
    border-top:none !important;
    position:relative;
}
.menu-grupo::before{
    content:'';
    position:absolute;
    top:12px; left:16px; right:16px;
    height:1px;
    background:var(--border-color);
    opacity:0.6;
}

/* Overlay do sidebar mobile: blur mais forte para bloquear visualmente */
.sidebar-overlay{
    background:rgba(15,23,42,0.42) !important;
    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;
}

/* Modo escuro: ajusta cores dos ícones para manter contraste */
[data-theme="dark"] .sidebar{
    box-shadow:6px 0 40px -8px rgba(0,0,0,0.55) !important;
}
[data-theme="dark"] .menu-item:not(.active) i{
    filter:brightness(1.3);
}

/* Bloqueado */
.menu-item.menu-bloqueado i{
    background:var(--hover-bg) !important;
    color:var(--text-muted) !important;
}

@media (max-width:1024px){
    .sidebar{
        border-radius:0 24px 24px 0;
    }
}
@media (min-width:769px){
    .sidebar{
        box-shadow:2px 0 20px -6px rgba(15,23,42,0.08) !important;
        border-radius:0 !important;
    }
    .sidebar-header{
        border-radius:0 !important;
    }
}

/* ============================================================
   v74 — BOTTOM SHEET (mobile): sidebar sobe de baixo estilo iOS
   ============================================================ */

/* Drag handle (a "pílula" cinza no topo do bottom sheet) */
.sidebar-handle{display:none}

@media (max-width:768px){
    /* Sidebar vira bottom sheet: sobe de baixo em vez de vir da esquerda */
    .sidebar{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        top:auto !important;
        width:100% !important;
        max-height:86vh;
        border-radius:26px 26px 0 0 !important;
        transform:translateY(100%) !important;
        transition:transform 0.4s cubic-bezier(0.32,0.72,0,1) !important;
        box-shadow:0 -8px 40px -10px rgba(15,23,42,0.35) !important;
        display:flex !important;
        flex-direction:column;
        overflow:hidden;
    }
    .sidebar.open{
        transform:translateY(0) !important;
    }

    /* Drag handle no topo — indica que é bottom sheet arrastável */
    .sidebar-handle{
        display:block;
        width:44px;
        height:5px;
        border-radius:99px;
        background:var(--border-strong);
        margin:8px auto 0;
        opacity:0.6;
        cursor:grab;
        flex-shrink:0;
        transition:opacity 0.2s;
    }
    .sidebar-handle:active{
        cursor:grabbing;
        opacity:1;
    }

    /* Header adaptado — sem cantos arredondados no topo (o wrapper já tem) */
    .sidebar-header{
        border-radius:0 !important;
        padding:16px 22px !important;
        flex-shrink:0;
    }

    /* Menu com scroll interno + espaço extra pra safe area */
    .sidebar-menu{
        flex:1;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:calc(20px + var(--safe-bottom)) !important;
    }

    /* Overlay: blur mais forte, cobre tudo até em baixo */
    .sidebar-overlay{
        background:rgba(15,23,42,0.5) !important;
        backdrop-filter:blur(8px) !important;
        -webkit-backdrop-filter:blur(8px) !important;
        opacity:0;
        transition:opacity 0.35s ease;
        display:block !important;
        pointer-events:none;
    }
    .sidebar-overlay.active{
        opacity:1;
        pointer-events:auto;
    }

    /* Botão X grande e fácil de tocar */
    .btn-mobile-close{
        width:38px !important;
        height:38px !important;
    }

    /* Chevron > desnecessário no bottom sheet — remove pra visual mais limpo */
    .menu-item::after{display:none !important}
    .menu-item{padding:11px 12px !important}

    /* Grupo com menos margem no topo */
    .menu-grupo{padding:16px 16px 4px !important; margin-top:4px !important}
}

/* Modo escuro */
[data-theme="dark"] .sidebar-handle{
    background:rgba(255,255,255,0.28);
}

/* Suporte a safe-area em iPhones com notch (no bottom sheet) */
@media (max-width:768px) and (display-mode:standalone){
    .sidebar{
        padding-bottom:env(safe-area-inset-bottom);
    }
}

/* ============================================================
   v75 — CORREÇÃO FINAL do cabeçalho flutuante mobile
   Problemas resolvidos:
   - "Sair" com texto cortado ("Sai")
   - Cabeçalho ocupando 3 linhas
   - Badges de usuário/almoxarifado empurrando o layout
   ============================================================ */

@media (max-width:768px){
    /* Layout em UMA linha só: hamburguer + logo/título + ações */
    .content-header{
        padding:8px 12px !important;
        margin:8px 10px 12px !important;
    }
    .header-mobile{
        flex-wrap:nowrap !important;
        align-items:center !important;
        gap:8px !important;
        padding:0 !important;
    }
    .header-mobile .header-logo-wrapper{
        flex:1 1 auto !important;
        min-width:0 !important;
        overflow:hidden !important;
    }
    .header-mobile .header-actions{
        flex:0 0 auto !important;
        margin-top:0 !important;
        width:auto !important;
        gap:5px !important;
        flex-wrap:nowrap !important;
    }
    .header-mobile .logo-container{
        gap:8px !important;
        min-width:0;
    }
    .header-logo-img{max-height:32px !important; flex-shrink:0}
    .logo-divider{display:none !important}
    .title-group h1{
        font-size:15px !important;
        line-height:1.15 !important;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .title-group p{display:none !important}

    /* Esconde badges de usuário/almoxarifado no mobile
       (informação redundante — o usuário sabe quem é) */
    #usuario-nome{display:none !important}
    #almoxarifado-info{display:none !important}

    /* Botão "Sair" só com ícone — a palavra "Sair" não está em span,
       então zera o font-size do botão e restaura só no ícone */
    .btn-logout{
        width:36px !important;
        height:36px !important;
        min-height:36px !important;
        padding:0 !important;
        justify-content:center !important;
        font-size:0 !important;
        border-radius:11px !important;
    }
    .btn-logout i{font-size:17px !important}

    /* Botões de ícone (buscar/alertas/tema) compactos */
    .btn-header-icone, .theme-toggle{
        width:36px !important;
        height:36px !important;
        font-size:16px !important;
        border-radius:11px !important;
        border-width:1.5px !important;
    }
    .btn-header-icone i, .theme-toggle i{font-size:17px !important}

    /* Botão de refresh separado — mostra só ícone, compacto */
    .header-actions .btn.btn-outline.btn-sm{
        width:36px !important;
        height:36px !important;
        min-height:36px !important;
        padding:0 !important;
        justify-content:center;
        border-radius:11px !important;
        font-size:0 !important;
    }
    .header-actions .btn.btn-outline.btn-sm i{font-size:16px !important}
}

/* Em telas muito estreitas (<380px), esconde busca e refresh */
@media (max-width:380px){
    .btn-busca{display:none !important}
    .header-actions .btn.btn-outline.btn-sm{display:none !important}
}

/* ============================================================
   v77 — PACOTE APP NATIVO COMPLETO
   ============================================================ */

/* ---------- 1. CORREÇÃO: espaço gigante abaixo do copyright ----------
   Causa: padding-bottom acumulado em 3 camadas (content-body 80px +
   main-content 88px + rodapé 96px). Agora só o rodapé carrega a folga
   da bottom-nav — camada única. */
@media (max-width:768px){
    .main-content{padding-bottom:0 !important}
    .content-body{padding-bottom:20px !important}
    .rodape-sistema{
        margin-top:auto;
        padding:14px 16px calc(84px + var(--safe-bottom)) !important;
        border-top:none !important;
    }
}
@media (min-width:769px){
    .rodape-sistema{padding:16px 20px !important}
}

/* ---------- 2. TOAST estilo snackbar nativo ---------- */
.toast-app{
    position:fixed;
    left:50%;
    bottom:calc(96px + var(--safe-bottom));
    transform:translateX(-50%) translateY(24px) scale(0.95);
    display:flex;
    align-items:center;
    gap:10px;
    max-width:min(92vw, 420px);
    padding:13px 20px;
    border-radius:16px;
    background:#161f2e;
    background:color-mix(in srgb, #0f172a 88%, transparent);
    -webkit-backdrop-filter:blur(16px) saturate(160%);
    backdrop-filter:blur(16px) saturate(160%);
    color:#fff;
    font-size:14px;
    font-weight:600;
    letter-spacing:-0.1px;
    box-shadow:0 12px 40px -8px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.08);
    z-index:99999;
    opacity:0;
    pointer-events:auto;
    cursor:pointer;
    transition:transform 0.38s cubic-bezier(0.32,0.72,0,1), opacity 0.3s ease;
    user-select:none;
    -webkit-user-select:none;
}
.toast-app.visivel{
    opacity:1;
    transform:translateX(-50%) translateY(0) scale(1);
}
.toast-app i{font-size:21px; flex-shrink:0}
.toast-app span{line-height:1.35}
.toast-success i{color:#34d399}
.toast-error i{color:#fb7185}
.toast-warning i{color:#fbbf24}
.toast-info i{color:#60a5fa}
@media (min-width:769px){
    .toast-app{bottom:28px}
}

/* ---------- 3. MODAIS como bottom sheet real (pílula no topo) ---------- */
@media (max-width:768px){
    .modal-content::before{
        content:'';
        display:block;
        width:44px;
        height:5px;
        border-radius:99px;
        background:var(--border-color);
        opacity:0.85;
        margin:-6px auto 14px;
    }
}

/* ---------- 4. Toques nativos globais ---------- */
*{-webkit-tap-highlight-color:transparent}
.btn, .menu-item, .bottom-nav-item, .stat-card, .pagination-btn,
.action-icons i, .btn-header-icone, .theme-toggle{
    user-select:none;
    -webkit-user-select:none;
}
.main-content{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
}
.stat-card:active{transform:scale(0.97) !important; transition:transform 0.12s !important}
.custom-card{border-radius:18px !important}
.search-input{border-radius:12px !important; border-width:1.5px !important}
.pagination-btn{border-radius:10px !important; min-width:38px; min-height:36px}

/* Tabelas: remove hover de desktop no touch, adiciona press */
@media (hover:none){
    .custom-table tr:hover{background:transparent}
    .ferramenta-row:active{background:var(--active-bg) !important}
    .menu-item:hover{transform:none}
    .btn-purple:hover, .btn-green:hover, .btn-blue:hover,
    .btn-danger:hover, .btn-logout:hover{transform:none; box-shadow:none}
}

/* Scrollbar invisível no mobile (como app) */
@media (max-width:768px){
    .main-content::-webkit-scrollbar{display:none}
    .main-content{scrollbar-width:none}
    .sidebar-menu::-webkit-scrollbar{display:none}
}

/* Stat-cards mobile: mais compactos e com número maior (estilo widget) */
@media (max-width:480px){
    .stat-card{padding:14px 12px; gap:8px; border-radius:18px}
    .stat-card .stat-icon{width:36px; height:36px; border-radius:11px; font-size:18px}
    .stat-card .stat-number{font-size:22px; font-weight:800}
}

/* Empty states e cards internos mais suaves */
.box-panel{border-radius:16px !important}
.preview-box{border-radius:12px !important}

/* ============================================================
   v78 — Login estilo app + saudação padronizada + pull-to-refresh
   ============================================================ */

/* ---------- Indicador do pull-to-refresh ---------- */
.ptr-indicador{
    position:fixed;
    top:calc(6px + env(safe-area-inset-top));
    left:50%;
    transform:translateX(-50%) translateY(-70px);
    width:44px; height:44px;
    border-radius:50%;
    background:var(--card-bg);
    border:1px solid var(--border-color);
    box-shadow:0 8px 24px -4px rgba(15,23,42,0.25);
    display:flex; align-items:center; justify-content:center;
    z-index:9800;
    opacity:0;
    transition:transform 0.25s cubic-bezier(0.32,0.72,0,1), opacity 0.2s;
    pointer-events:none;
}
.ptr-indicador i{font-size:21px; color:var(--primary); transition:transform 0.1s linear}
.ptr-indicador.ptr-pronto{border-color:var(--primary)}
.ptr-indicador.ptr-girando i{animation:spin 0.8s linear infinite}

/* ---------- Saudação: tamanhos padronizados + logo ---------- */
.saudacao-titulo{
    font-size:16px !important;
    font-weight:500 !important;
    opacity:0.85;
    letter-spacing:0.3px;
}
.saudacao-nome{
    font-size:clamp(26px, 7vw, 34px) !important;
    font-weight:800 !important;
    letter-spacing:-0.5px;
    margin:4px 0 18px !important;
}
.saudacao-sub{
    font-size:13.5px !important;
    font-weight:500;
    opacity:0.85;
    margin-bottom:5px !important;
}
.saudacao-empresa{
    font-size:10.5px !important;
    letter-spacing:2px !important;
    opacity:0.6 !important;
    font-weight:700 !important;
}
.saudacao-barra{margin-top:30px !important; width:150px !important}

/* ---------- Login estilo app ---------- */
#tela-login{
    background:
        radial-gradient(900px 500px at 85% -8%, rgba(122,162,214,0.35), transparent 55%),
        radial-gradient(700px 450px at -10% 110%, rgba(30,58,95,0.55), transparent 55%),
        linear-gradient(160deg, #16243a 0%, #1e3a5f 45%, #2c5282 100%) !important;
}
.login-decoracao{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}
.login-dec-1{
    width:340px; height:340px;
    top:-120px; right:-110px;
    background:radial-gradient(circle, rgba(255,255,255,0.09) 0%, transparent 65%);
}
.login-dec-2{
    width:280px; height:280px;
    bottom:-90px; left:-90px;
    background:radial-gradient(circle, rgba(255,255,255,0.07) 0%, transparent 65%);
}
.login-card{
    background:rgba(255,255,255,0.97) !important;
    border-radius:28px !important;
    padding:36px 28px 26px !important;
    max-width:400px !important;
    box-shadow:0 34px 90px -18px rgba(10,18,32,0.55) !important;
    animation:loginEntra 0.55s cubic-bezier(0.16,1,0.3,1) !important;
}
@keyframes loginEntra{
    from{opacity:0; transform:translateY(28px) scale(0.97)}
    to{opacity:1; transform:translateY(0) scale(1)}
}
.login-topo{text-align:center; margin-bottom:26px}
#logo-login{min-height:auto !important; margin-bottom:18px !important}
#logo-login img{max-height:88px !important; max-width:240px !important}
.login-title{
    font-size:21px !important;
    font-weight:800 !important;
    letter-spacing:-0.4px;
    margin-bottom:4px !important;
}
.login-subtitle{font-size:13.5px !important}

/* Campos com ícone embutido (estilo app) */
.login-campo{position:relative; margin-bottom:14px !important}
.login-campo>i{
    position:absolute;
    left:16px; top:50%;
    transform:translateY(-50%);
    font-size:20px;
    color:var(--text-muted);
    pointer-events:none;
    transition:color 0.2s;
}
.login-campo input{
    padding:15px 48px 15px 46px !important;
    border-radius:15px !important;
    font-size:15.5px !important;
    background:#f1f5f9 !important;
    border:1.5px solid transparent !important;
}
.login-campo input:focus{
    background:#fff !important;
    border-color:var(--primary) !important;
    box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.12) !important;
}
.login-campo input:focus~i, .login-campo:focus-within>i{color:var(--primary)}
.login-olho{
    position:absolute;
    right:8px; top:50%;
    transform:translateY(-50%);
    width:38px; height:38px;
    border:none; background:none;
    color:var(--text-muted);
    font-size:20px;
    cursor:pointer;
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
}
.login-olho:active{background:var(--hover-bg)}
.btn-login{
    border-radius:15px !important;
    min-height:52px !important;
    font-size:16px !important;
    font-weight:700 !important;
    gap:9px !important;
    margin-top:6px !important;
    box-shadow:0 12px 30px -8px rgba(var(--primary-rgb),0.55);
}
.btn-login:active{transform:scale(0.97) !important}
.login-rodape{
    text-align:center;
    margin-top:22px;
    font-size:11.5px;
    color:var(--text-muted);
}
.login-rodape strong{color:var(--primary)}
@media (max-width:420px){
    .login-card{
        padding:30px 22px 22px !important;
        border-radius:24px !important;
        margin:0 4px;
    }
    #logo-login img{max-height:72px !important}
}

/* ============================================================
   v79 — HEADER FIXO DEFINITIVO (mobile) + DASHBOARD MODERNO
   ============================================================ */

/* Header position:fixed no mobile: NUNCA some, sem bugs de sticky */
@media (max-width:1024px){
    .content-header{
        position:fixed !important;
        top:calc(8px + env(safe-area-inset-top, 0px)) !important;
        left:10px !important;
        right:10px !important;
        margin:0 !important;
        z-index:950 !important;
    }
    /* Compensa a altura do header fixo */
    .tela{padding-top:calc(74px + env(safe-area-inset-top, 0px))}
    .tela .content-header + .content-body{padding-top:0 !important}
}

/* ---------- Stat cards estilo widget nativo ---------- */
.stat-card{
    display:grid !important;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto auto;
    column-gap:14px;
    row-gap:1px;
    align-items:center;
    padding:16px 18px !important;
    border-radius:20px !important;
}
.stat-card .stat-icon{
    grid-row:1 / span 2;
    width:46px !important;
    height:46px !important;
    border-radius:14px !important;
    font-size:22px !important;
}
.stat-card .stat-number{
    align-self:end;
    font-size:26px !important;
    font-weight:800 !important;
    letter-spacing:-0.5px;
    line-height:1.05 !important;
}
.stat-card .stat-label{
    align-self:start;
    font-size:12px !important;
    font-weight:600 !important;
}
@media (max-width:480px){
    .stat-card{padding:13px 14px !important; column-gap:11px}
    .stat-card .stat-icon{width:40px !important; height:40px !important; font-size:19px !important}
    .stat-card .stat-number{font-size:22px !important}
    .stat-card .stat-label{font-size:10.5px !important}
}

/* ---------- Cards de gráfico ---------- */
.graficos-grid .custom-card{border-radius:20px !important}
#grafico-status,#grafico-movimentacoes{max-height:230px}

/* ============================================================
   v80 — Atividade recente + skeletons
   ============================================================ */
.atividade-lista{display:flex;flex-direction:column}
.atividade-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 2px;
    border-bottom:1px solid var(--border-color);
}
.atividade-item:last-child{border-bottom:none}
.atividade-icone{
    width:36px;height:36px;min-width:36px;
    border-radius:11px;
    display:flex;align-items:center;justify-content:center;
    font-size:17px;
}
.atv-emp{background:var(--yellow-light);color:var(--yellow)}
.atv-dev{background:var(--green-light);color:var(--green)}
.atv-mov{background:var(--blue-light);color:var(--blue)}
.atv-sai{background:var(--red-light);color:var(--red)}
.atividade-corpo{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.atividade-titulo{
    font-size:13.5px;font-weight:650;color:var(--text-main);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.atividade-meta{
    font-size:11.5px;color:var(--text-muted);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.atividade-quando{
    font-size:11px;font-weight:700;color:var(--text-muted);
    background:var(--hover-bg);
    padding:3px 9px;border-radius:999px;
    flex-shrink:0;
}
.atividade-vazia{
    display:flex;flex-direction:column;align-items:center;gap:8px;
    padding:26px;color:var(--text-muted);font-size:13px;
}
.atividade-vazia i{font-size:32px;opacity:0.4}

/* Skeleton para números dos stat-cards */
.skeleton-num{display:inline-block;width:44px;height:24px;border-radius:7px}
.skeleton-row td{padding:12px 14px !important}

/* ============================================================
   v85 — Menu reorganizado + alterar senha
   ============================================================ */

/* Cores dos ícones dos novos itens de menu (padrão iOS Settings) */
.menu-item[onclick*="tela-emprestimo"] i{background:rgba(139,92,246,0.12); color:#8b5cf6}
.menu-item[onclick*="tela-transacoes"] i{background:rgba(100,116,139,0.12); color:#64748b}
.menu-item[onclick*="abrirModosApresentacao"] i{background:rgba(126,34,206,0.12); color:#7e22ce}
.menu-item[onclick*="abrirModalSenha"] i{background:rgba(2,132,199,0.12); color:#0284c7}
.menu-item.active i{background:rgba(255,255,255,0.22) !important; color:#fff !important}

/* Grupos do menu: mais compactos, agora que há mais seções */
.menu-grupo{
    padding:16px 16px 5px !important;
    margin-top:4px !important;
    font-size:10px !important;
    letter-spacing:1.3px !important;
}
.menu-grupo:first-of-type{margin-top:2px !important}
.menu-grupo::before{top:9px !important}

/* Barra de força da senha */
.senha-forca{
    height:5px;
    background:var(--hover-bg);
    border-radius:99px;
    overflow:hidden;
    margin-top:7px;
}
.senha-forca span{
    display:block;
    height:100%;
    width:0;
    border-radius:99px;
    background:var(--border-strong);
    transition:width 0.28s ease, background 0.28s ease;
}
.senha-forca.forca-fraca span{background:var(--red)}
.senha-forca.forca-media span{background:var(--yellow)}
.senha-forca.forca-boa span{background:#0ea5e9}
.senha-forca.forca-forte span{background:var(--green)}

/* Abas de movimentação: ocupar largura no mobile */
@media (max-width:600px){
    .sol-abas{width:100%}
    .sol-abas .sol-aba{flex:1; justify-content:center; padding:10px 8px; font-size:12.5px}
    .sol-abas .sol-aba i{font-size:15px}
}
