.app-modal{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #34345f;border-radius:22px;background:#111127;color:#f4f3fb;padding:0;box-shadow:0 28px 90px #000b}.app-modal::backdrop{background:#050510d9;backdrop-filter:blur(8px)}.modal-head{display:flex;justify-content:space-between;gap:24px;padding:24px 28px 18px;border-bottom:1px solid #2a2a52}.modal-head h2{margin:3px 0 5px}.modal-head p{margin:0;color:#9c9aba}.modal-close{width:38px;height:38px;border:1px solid #34345f;border-radius:12px;background:#191938;color:#fff;font-size:24px;cursor:pointer}.app-modal>form{padding:24px 28px 28px}.input-action{display:grid;grid-template-columns:1fr auto;gap:10px}.equipment-complete-form{gap:20px}.defect-editor{border-top:1px solid #2a2a52;border-bottom:1px solid #2a2a52;padding:24px 0}.defect-editor fieldset{border:1px solid #30305a;border-radius:16px;padding:16px;margin:16px 0 0}.defect-editor legend{padding:0 8px;color:#bab8d3;font-weight:700}.defect-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 16px}.defect-check-grid label{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border-radius:10px;background:#181834;color:#c6c4d8;font-weight:500}.defect-check-grid input{margin-top:3px;accent-color:#9b30ff}.defect-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.defect-summary span{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid #34345f;border-radius:12px;background:#171731}.defect-summary small{color:#8f8dad}.lot-attachments{margin-top:20px}.attachment-list{display:grid;gap:10px}.attachment-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid #30305a;border-radius:13px}.attachment-list a{display:flex;flex-direction:column;gap:4px;color:#f3f2fb;text-decoration:none}.attachment-list a span{color:#8f8dad;font-size:12px}.admin-user-table{width:100%;border-collapse:collapse}.admin-user-table th,.admin-user-table td{padding:14px 12px;border-bottom:1px solid #292950;text-align:left;vertical-align:middle}.admin-user-table td small{display:block;color:#8f8dad;margin-top:4px}.user-actions form{display:flex;flex-wrap:wrap;gap:6px}.login-recovery-link{display:block;text-align:center;color:#aba9c7;margin-top:4px}.android-install-prompt{display:flex;align-items:center;justify-content:center;gap:22px;padding:13px 22px;background:linear-gradient(90deg,#252263,#3a1c68);border-bottom:1px solid #7358bc;color:#fff}.android-install-prompt>div{display:flex;flex-direction:column;gap:2px}.android-install-prompt span{color:#d7d3ed;font-size:12px}.android-install-prompt>button{border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.android-install-prompt[hidden]{display:none}.native-android-app .android-install-prompt,.native-android-app .footer-download{display:none!important}footer{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;padding:22px 24px!important}footer .footer-download{color:#777599;font-size:11px;text-decoration:none;border-left:1px solid #34345f;padding-left:28px}footer .footer-download:hover{color:#b8b6cf}.reset-invalid{color:#ff7b8d}.login-card{margin-top:18px}.login-brand{display:none!important}
.equipment-search-panel{display:grid;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #30305a;border-radius:18px;background:linear-gradient(145deg,#171735d9,#0e0e22e8);box-shadow:0 15px 40px #0004}.equipment-search-bar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px}.equipment-search-bar .search-field input{width:100%;min-height:48px}.filter-toggle{display:flex;align-items:center;justify-content:center;gap:7px}.filter-toggle.active{border-color:#9c55ef;background:#8239d824;color:#fff}.equipment-filter-fields{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:13px;padding-top:16px;border-top:1px solid #ffffff14}.equipment-filter-fields[hidden]{display:none}.equipment-filter-fields label{display:grid;gap:7px;color:#9b99b6;font-size:11px}.filter-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px}.result-count{padding:8px 11px;border-radius:999px;background:#8d45e51f;color:#cfadfa;font-size:11px}.equipment-results{padding:20px}.equipment-results .section-head p{margin:5px 0 0;color:#8f8dab;font-size:12px}.equipment-table tbody tr{cursor:pointer;transition:background .18s ease,transform .18s ease}.equipment-table tbody tr:hover,.equipment-table tbody tr:focus-visible{background:#ffffff08;outline:1px solid #9854e477;transform:translateY(-1px)}.equipment-table td small{display:block;margin-top:4px;color:#8583a1;font-size:10px}.equipment-table td{vertical-align:middle}.photo-lightbox{width:min(1180px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;overflow:hidden;border:1px solid #ffffff25;border-radius:24px;background:#090914;color:#fff;box-shadow:0 35px 110px #000d}.photo-lightbox::backdrop{background:#020207e8;backdrop-filter:blur(12px)}.photo-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid #ffffff18;background:#111124}.photo-lightbox-head div{display:flex;flex-direction:column;gap:4px}.photo-lightbox-head button{width:40px;height:40px;padding:0;border-radius:12px;font-size:25px}.photo-lightbox-stage{position:relative;display:grid;place-items:center;height:min(72dvh,760px);overflow:auto;background:radial-gradient(circle,#202043,#05050a 68%)}.photo-lightbox-stage img{display:block;max-width:calc(100% - 110px);max-height:calc(100% - 28px);object-fit:contain;cursor:zoom-in;transition:width .2s ease}.photo-lightbox-stage img.zoomed{width:180%;max-width:none;max-height:none;cursor:zoom-out}.photo-nav{position:sticky;z-index:2;top:50%;display:grid;place-items:center;width:46px;height:60px;padding:0;border-radius:16px;background:#111124d9;font-size:38px}.photo-nav.previous{position:absolute;left:16px}.photo-nav.next{position:absolute;right:16px}.photo-lightbox-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid #ffffff18;background:#111124}.photo-lightbox-actions>span{margin-right:auto;color:#9d9bb8}.processor-field .field-note a{color:#c79bff}.production-editor{padding:22px;border:1px solid #34345f;border-radius:18px;background:linear-gradient(145deg,#15152f,#101025);transition:border-color .2s ease,box-shadow .2s ease}.production-editor.production-active{border-color:#7c52c9;box-shadow:0 0 0 1px #8e52e522,0 18px 46px #0003}.production-editor .section-head{align-items:flex-end;margin-bottom:18px}.production-editor .section-head h2{margin:5px 0}.production-editor .section-head p{margin:0;color:#9290ad}.production-status{min-width:190px}.production-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.production-facts span{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid #30305a;border-radius:13px;background:#171731}.production-facts small{color:#8f8dad;text-transform:uppercase;letter-spacing:.07em;font-size:10px}.daily-report-head{display:flex;justify-content:space-between;margin:22px 0 10px;padding-top:18px;border-top:1px solid #ffffff14}.daily-report-head div{display:flex;flex-direction:column;gap:4px}.daily-report-head span{color:#84839f;font-size:12px}.daily-report-grid{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:8px}.daily-report-grid a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px 6px;border:1px solid #ffffff14;border-radius:12px;background:#0b0c1c;color:#aaa9c4;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.daily-report-grid a:hover{transform:translateY(-2px);border-color:#9b58ff88}.daily-report-grid b{color:#fff;font-size:20px}.daily-report-grid small{font-size:9px}.daily-report-preview{padding:18px;overflow:auto}.daily-report-preview img{display:block;width:100%;min-width:760px;height:auto;border-radius:18px}[data-daily-report-download][aria-busy=true]{opacity:.65;pointer-events:none}
@media(max-width:900px){.equipment-filter-fields{grid-template-columns:1fr 1fr}.equipment-results{padding:14px}.equipment-table tr{grid-template-columns:1fr auto!important}.equipment-table td:nth-child(1){grid-column:1!important;grid-row:auto!important}.equipment-table td:nth-child(2){grid-column:1!important;grid-row:auto!important}.equipment-table td:nth-child(3){grid-column:2!important;grid-row:1/3!important;display:block!important;align-self:start}.equipment-table td:nth-child(3):before{display:none!important}.equipment-table td:nth-child(n+4){grid-column:1/-1!important;grid-row:auto!important;display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;align-items:start!important}.equipment-table td:nth-child(n+4):before{margin:0!important}.photo-lightbox{border-radius:18px}.photo-lightbox-stage{height:68dvh}.photo-lightbox-stage img{max-width:calc(100% - 70px)}.photo-nav{width:38px;height:52px}.photo-nav.previous{left:7px}.photo-nav.next{right:7px}}
@media(max-width:820px){.app-modal{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:18px}.modal-head,.app-modal>form{padding:20px}.defect-check-grid,.defect-summary{grid-template-columns:1fr 1fr}.admin-user-table thead{display:none}.admin-user-table,.admin-user-table tbody,.admin-user-table tr,.admin-user-table td{display:block}.admin-user-table tr{padding:12px 0;border-bottom:1px solid #34345f}.admin-user-table td{border:0;padding:7px 2px}.admin-user-table td::before{content:attr(data-label);display:block;color:#777599;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.android-install-prompt{align-items:flex-start;gap:10px;padding:12px 14px}.android-install-prompt .button{white-space:nowrap;padding:8px 10px}footer{gap:10px;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}footer .footer-download{border-left:0;padding-left:0;width:100%;text-align:center}.production-facts{grid-template-columns:1fr 1fr}.daily-report-grid{grid-template-columns:repeat(4,1fr)}.production-editor .section-head{align-items:stretch;flex-direction:column}.production-status{min-width:0}.equipment-search-bar{grid-template-columns:1fr auto}.equipment-search-bar .search-submit{grid-column:1/-1}.photo-lightbox-actions{flex-wrap:wrap}.photo-lightbox-actions>span{width:100%;margin:0}}
@media(max-width:520px){.defect-check-grid,.defect-summary,.production-facts{grid-template-columns:1fr}.input-action{grid-template-columns:1fr}.input-action .button{width:100%}.attachment-list article{align-items:flex-start;flex-direction:column}.form-two,.form-three{grid-template-columns:1fr!important}.production-editor{padding:17px}.daily-report-grid{grid-template-columns:repeat(2,1fr)}.equipment-filter-fields{grid-template-columns:1fr}.filter-actions>*{flex:1}.photo-lightbox-head{padding:12px}.photo-lightbox-stage{height:62dvh}.photo-lightbox-actions .button{flex:1}.photo-lightbox-stage img.zoomed{width:230%}}

/* Navegação espaçada e estoque serializado com operações ERP */
@media(min-width:901px){.topbar .brand{min-width:275px;margin-right:30px}.topbar nav{gap:10px}}
.inventory-kpis{margin-bottom:18px}.inventory-stock,.inventory-ledger{margin-top:18px}.inventory-filters{display:grid;grid-template-columns:minmax(240px,1fr) 260px auto auto;gap:10px;margin-bottom:18px}.inventory-ledger .section-head form{min-width:230px}.inventory-ledger td{white-space:nowrap}.inventory-ledger td:nth-child(2),.inventory-ledger td:nth-child(3){white-space:normal;min-width:160px}.location-list{display:grid;gap:8px;max-height:300px;overflow:auto;padding:0 24px 24px}.location-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;border:1px solid #ffffff18;border-radius:12px;background:#0d0d20}.location-list article div{display:flex;flex-direction:column;gap:4px}.location-list article span{color:var(--muted);font-size:11px}.location-list form{margin:0}
@media(max-width:900px){.inventory-filters{grid-template-columns:1fr 1fr}.inventory-kpis{grid-template-columns:1fr 1fr}.inventory-ledger .section-head{align-items:stretch;flex-direction:column;gap:12px}.inventory-ledger .section-head form{min-width:0}.inventory-ledger table{min-width:980px}.location-list{padding:0 20px 20px}.location-list article{grid-template-columns:1fr auto}.location-list form{grid-column:1/-1}.location-list form button{width:100%}}
@media(max-width:520px){.inventory-filters{grid-template-columns:1fr}.inventory-kpis{grid-template-columns:1fr 1fr}.inventory-kpis article{padding:14px}.inventory-kpis b{font-size:27px}}
.battery-health-panel{margin:0 0 18px}.battery-health-value{font-size:38px;color:var(--ok)}
.battery-production-fields{display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(2,minmax(150px,1fr));gap:12px;align-items:end;margin:18px 0;padding:16px;border:1px solid #3b4768;border-radius:14px;background:#101b2b}.battery-production-fields[hidden]{display:none}.battery-production-fields>div{display:flex;flex-direction:column;gap:5px}.battery-production-fields>div small{color:#918faa}.battery-production-fields label{display:grid;gap:7px}
.recovery-model-summary{margin:0 0 20px}.recovery-model-summary td b.green{font-size:22px}.recovery-model-summary td small{display:block;margin-top:4px;color:var(--muted)}

/* Estados de interação consistentes no site e no WebView do APK. */
a,button,.button,summary,[role="button"],[data-equipment-row]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button,.button,.topbar,.topbar nav,.topbar nav a,.nav-icon,.admin-user-table,.badge{-webkit-user-select:none;user-select:none}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text}
tbody tr{cursor:default}
tbody tr:hover{background:transparent}
.equipment-table tbody tr[data-equipment-row]{cursor:pointer}
.equipment-table tbody tr[data-equipment-row]:hover,.equipment-table tbody tr[data-equipment-row]:focus-visible{background:#ffffff08;outline:1px solid #9854e477;transform:translateY(-1px)}
.admin-user-table tbody tr:hover{background:transparent}
.topbar nav a>span{pointer-events:none}
.topbar nav a:focus:not(:focus-visible),button:focus:not(:focus-visible),.button:focus:not(:focus-visible){outline:none}
.topbar nav a:focus-visible,button:focus-visible,.button:focus-visible{outline:2px solid #a85cff;outline-offset:2px}

@media(max-width:900px){
  .topbar nav{align-items:stretch}
  .topbar nav a,.topbar nav .download-nav{width:100%;height:58px;min-height:58px;align-self:center;padding:5px 2px;border-color:transparent;background:transparent;box-shadow:none;color:#aaaac6;transform:none;-webkit-tap-highlight-color:transparent}
  .topbar nav a:hover,.topbar nav a:active{border-color:transparent;background:transparent;box-shadow:none;color:#aaaac6;transform:none}
  .topbar nav a.active,.topbar nav a.active:hover,.topbar nav a.active:active{border-color:#ffffff24;background:#292944;box-shadow:inset 0 1px 0 #ffffff24;color:#fff;transform:none}
  .topbar nav a .nav-icon,.topbar nav a:hover .nav-icon,.topbar nav a:active .nav-icon{background:#ffffff08;color:#b4b2ce;box-shadow:inset 0 1px 0 #ffffff0e;transform:none}
  .topbar nav a.active .nav-icon,.topbar nav a.active:hover .nav-icon,.topbar nav a.active:active .nav-icon{background:#7c3fe5;color:#fff;box-shadow:0 5px 14px #5c27b866,inset 0 1px 0 #ffffff42;transform:none}
  .topbar nav a>span:last-child{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;text-align:center}
  .admin-user-table tr{cursor:default}
  .admin-user-table td,.admin-user-table td::before{text-align:left}
  .user-actions form{align-items:center;justify-content:flex-start}
}

@media(max-width:900px) and (hover:hover) and (pointer:fine){
  .topbar nav a:not(.active):hover{background:#ffffff0b;border-color:#ffffff12;color:#d5d3e6}
}

/* Entrada serializada de monitores e impressão patrimonial em lote. */
.monitor-bulk-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:18px;align-items:start}.monitor-bulk-form{gap:18px}.monitor-bulk-form .section-head{margin:0 0 2px}.monitor-input-options{margin:0;padding:14px 16px;border:1px solid #34345f;border-radius:14px}.monitor-input-options legend{padding:0 8px;color:#aaa8c7;font-size:11px;font-weight:700}.monitor-input-options>div{display:flex;flex-wrap:wrap;gap:8px}.monitor-input-options label{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #393961;border-radius:999px;background:#171731;color:#d0cee1;cursor:pointer}.monitor-input-options input{width:auto;margin:0;accent-color:#9850ef}.monitor-bulk-guide{position:sticky;top:90px}.monitor-bulk-guide h2{margin:6px 0 18px}.monitor-bulk-guide ol{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:monitor-steps}.monitor-bulk-guide li{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 14px 14px 52px;border:1px solid #34345f;border-radius:14px;background:#15152f;counter-increment:monitor-steps}.monitor-bulk-guide li:before{content:counter(monitor-steps);position:absolute;left:14px;top:14px;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:linear-gradient(145deg,#595fe9,#a03af0);color:#fff;font-weight:800}.monitor-bulk-guide li span,.monitor-bulk-guide>p{color:#9694b0;font-size:12px;line-height:1.5}.monitor-bulk-guide>p{margin:18px 0 0;padding-top:16px;border-top:1px solid #ffffff14}.monitor-bulk-result{margin-bottom:18px;border-color:#3d7968;background:linear-gradient(145deg,#142f31,#12142d)}.monitor-bulk-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;align-items:start}.monitor-bulk-table{width:100%;border-collapse:collapse}.monitor-bulk-table th,.monitor-bulk-table td{padding:10px 12px;border-bottom:1px solid #ffffff13;text-align:left;white-space:nowrap}.monitor-bulk-table th{color:#8f8dab;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.monitor-bulk-table a{color:#d9b8ff}.monitor-bulk-print{display:grid;gap:13px;padding:17px;border:1px solid #456a66;border-radius:15px;background:#101e27}.monitor-bulk-print label{display:grid;gap:8px;color:#aaa8c7;font-size:11px}.monitor-agent-offline{display:flex;flex-direction:column;gap:5px}.monitor-agent-offline span{color:#9492ac;font-size:12px;line-height:1.45}
@media(max-width:980px){.monitor-bulk-layout,.monitor-bulk-summary{grid-template-columns:1fr}.monitor-bulk-guide{position:static}.monitor-bulk-print{grid-template-columns:minmax(0,1fr) auto;align-items:end}.monitor-agent-offline{grid-column:1/-1}}
@media(max-width:620px){.monitor-bulk-form{grid-template-columns:1fr!important}.monitor-bulk-form .wide{grid-column:auto!important}.monitor-bulk-print{grid-template-columns:1fr}.monitor-bulk-result{padding:16px}.monitor-bulk-table{min-width:680px}.page-title .title-actions{width:100%}.page-title .title-actions .button{flex:1;text-align:center}}
