.silent-alert{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid #b7791f;border-left-width:4px;border-radius:10px;background-color:#b7791f1f}.silent-alert-critical{border-color:var(--danger);background-color:#f851491f}.silent-alert-head{display:flex;align-items:flex-start;gap:10px}.silent-alert-icon{font-size:1.1rem;line-height:1.3}.silent-alert-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.silent-alert-critical-line{margin:2px 0 0;font-size:.85rem;font-weight:600;color:var(--danger)}.silent-alert-body{margin:0;font-size:.88rem;color:var(--text)}.silent-alert-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.silent-alert-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:6px 10px;border-radius:8px;background-color:#0000002e;font-size:.85rem}.silent-alert-device{font-weight:600;color:var(--text)}.silent-alert-since{color:var(--muted)}.silent-alert-item-critical .silent-alert-since{color:var(--danger);font-weight:600}.silent-alert-snoozed{color:var(--muted);font-weight:400;font-style:italic}.silent-alert-more{color:var(--muted);font-style:italic}.silent-alert-todo{margin:0;font-size:.82rem;color:var(--muted)}.silent-alert-action{align-self:flex-start;padding:8px 14px;border:1px solid var(--accent);border-radius:8px;color:var(--text);background-color:#2f81f726;font-size:.85rem;font-weight:600;text-decoration:none}.silent-alert-action:hover{background-color:#2f81f747}.painel-page{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.painel-page-title{margin:0;font-size:1.15rem}.painel-empty-hint,.painel-loading{margin:0;color:var(--muted);font-size:.9rem;text-align:center;padding:32px 12px}.painel-loading:before{content:"";display:inline-block;flex:0 0 auto;width:18px;height:18px;margin-right:8px;vertical-align:-4px;border:2px solid rgba(47,129,247,.25);border-top-color:var(--accent);border-radius:50%;animation:painel-loading-spin .7s linear infinite}@keyframes painel-loading-spin{to{transform:rotate(360deg)}}.painel-btn.painel-loading:before,.painel-thumb-placeholder.painel-loading:before{width:14px;height:14px;vertical-align:-3px}.painel-loading-pulse{animation:painel-loading-breathe 1.6s ease-in-out infinite alternate}@keyframes painel-loading-breathe{0%{opacity:1}to{opacity:.55}}.painel-loading-inline{padding:0;text-align:inherit}@media (prefers-reduced-motion: reduce){.painel-loading:before{animation:painel-loading-fade 1.8s ease-in-out infinite}.painel-loading-pulse{animation:painel-loading-fade 1.8s ease-in-out infinite}}@keyframes painel-loading-fade{0%,to{opacity:1}50%{opacity:.4}}.painel-alert{background-color:#f851491f;border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:10px 12px;font-size:.86rem;margin:0}.painel-link{color:var(--accent);font-size:.84rem;font-weight:600;text-decoration:none}.painel-link:hover{text-decoration:underline}.painel-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;border:1px dashed var(--border);border-radius:12px;padding:36px 20px}.painel-empty-title{margin:0;font-size:1.05rem;font-weight:700}.painel-empty-desc{margin:0;max-width:42ch;color:var(--muted);font-size:.86rem;line-height:1.5}.painel-btn{background-color:var(--panel);border:1px solid var(--border);border-radius:8px;padding:9px 14px;color:var(--text);font-size:.84rem;font-weight:600;cursor:pointer}.painel-btn:hover:not(:disabled){border-color:var(--accent)}.painel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.painel-btn:disabled{opacity:.55;cursor:not-allowed}.painel-btn-primary{background-color:var(--accent);border-color:var(--accent);color:#fff}.painel-btn-primary:hover:not(:disabled){filter:brightness(1.12)}.painel-btn-danger{background-color:transparent;border-color:var(--danger);color:var(--danger)}.painel-btn-danger:hover:not(:disabled){border-color:var(--danger);background-color:#f851491f}.painel-btn-danger:focus-visible{outline-color:var(--danger)}.painel-btn-ghost{background-color:transparent}.painel-load-more{align-self:center;min-width:160px}.painel-badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap}.painel-badge-nova{background-color:#2f81f729;color:var(--accent)}.painel-badge-notificada{background-color:#d2992229;color:#d29922}.painel-badge-arquivada{background-color:#8b949e29;color:var(--muted)}.painel-badge-quarentena{background-color:#f8514924;color:var(--danger);outline:1px solid rgba(248,81,73,.4)}.painel-badge-suspect{background-color:#f8514924;color:var(--danger);cursor:help}.painel-badge-pinned{background-color:#3fb95024;color:var(--ok, #3fb950);font-weight:600;cursor:help}.painel-badge-device{background-color:#8b949e24;color:var(--muted);font-weight:600;cursor:help}.painel-badge-misread{background-color:#d2992229;color:var(--warn, #d29922);font-weight:600;text-decoration:line-through;cursor:help}.painel-badge-confirmed{background-color:#3fb95029;color:var(--ok, #3fb950);font-weight:600;cursor:help}.painel-badge-conferindo{background-color:#2f81f724;color:var(--accent);cursor:help}.painel-badge-naoconfirmada{background-color:#8b949e29;color:var(--muted);font-weight:600;cursor:help}.painel-badge-ia-ok{background-color:#3fb95029;color:var(--ok, #3fb950);outline:1px solid rgba(63,185,80,.45);font-weight:600;cursor:help}.painel-badge-ia-descartada{background-color:#f851491f;color:var(--danger);outline:1px solid rgba(248,81,73,.35);font-weight:600;cursor:help}.painel-badge-ia-fila{background-color:#2f81f724;color:var(--accent);outline:1px solid rgba(47,129,247,.35);cursor:help}.painel-badge-ia-revertida{background-color:#8b949e24;color:var(--muted);outline:1px solid var(--border);cursor:help}.painel-ia-observacao{margin:10px 0 0;border-left:3px solid var(--border);padding:4px 0 4px 10px;color:var(--muted);font-size:.82rem;line-height:1.5}.painel-ia-observacao strong{color:var(--text)}.painel-ia-observacao-forte{border-left-color:var(--muted);color:var(--text);font-size:.86rem}.painel-hash-box>.painel-ia-observacao{margin-top:0}.painel-medicao-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:.78rem;color:var(--muted)}.painel-medicao-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;padding:2px 9px;white-space:nowrap}.painel-medicao-chip-ok{border-color:var(--success);color:var(--success)}.painel-medicao-chip-warn{border-color:#9e6a03;color:#e3b341}.painel-medicao-chip-cam{color:var(--text)}.painel-limit-banner{background-color:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.88rem;color:var(--muted)}.painel-limit-banner strong{color:var(--text)}.painel-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.painel-card{display:flex;flex-direction:column;gap:4px;background-color:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.painel-card-value{font-size:1.7rem;font-weight:800;line-height:1.1}.painel-card-record .painel-card-value{color:var(--danger)}.painel-card-label{color:var(--muted);font-size:.78rem}.painel-section{display:flex;flex-direction:column;gap:8px}.painel-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.painel-section-title{margin:0;font-size:.95rem}.painel-section-hint{margin:0;color:var(--muted);font-size:.8rem}.painel-hour-chart{display:flex;align-items:flex-end;gap:3px;height:110px;background-color:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 8px 4px}.painel-hour-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.painel-hour-bar{width:100%;max-width:10px;background-color:var(--accent);border-radius:3px 3px 0 0;min-height:2px}.painel-hour-label{font-size:.6rem;color:var(--muted)}.painel-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.painel-recent-item{border:1px solid var(--border);border-radius:10px;overflow:hidden}.painel-recent-link{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;color:var(--text)}.painel-recent-thumb img,.painel-thumb-placeholder{width:56px;height:42px;object-fit:cover;border-radius:6px;background-color:var(--bg)}.painel-thumb-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;font-size:.6rem;color:var(--muted);padding:2px}.painel-recent-info{display:flex;flex-direction:column;gap:2px;min-width:0}.painel-recent-speed{font-weight:700;color:var(--danger);font-size:.92rem}.painel-recent-time{color:var(--muted);font-size:.76rem}.painel-filters{display:flex;flex-direction:column;gap:10px}.painel-chip-row{display:flex;flex-wrap:wrap;gap:6px}.painel-chip{background-color:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 13px;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer}.painel-chip.active{background-color:var(--accent);border-color:var(--accent);color:#fff}.painel-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text);cursor:pointer;width:fit-content}.painel-check{display:flex;align-items:flex-start;gap:8px;margin:10px 0;font-size:.84rem;color:var(--text);cursor:pointer}.painel-check input[type=checkbox]{margin-top:3px;flex:0 0 auto}.painel-check .painel-section-hint{margin:2px 0 0}.painel-infraction-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px}.painel-infraction-card{display:flex;flex-direction:column;background-color:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.painel-infraction-photo-btn{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer}.painel-infraction-photo{width:100%;aspect-ratio:16 / 9;background-color:var(--bg);display:flex;align-items:center;justify-content:center}.painel-infraction-photo img{width:100%;height:100%;object-fit:cover}.painel-infraction-photo .painel-thumb-placeholder{width:100%;height:100%;border-radius:0;font-size:.76rem;padding:10px}.painel-thumb-skeleton{width:100%;height:100%;background:linear-gradient(90deg,var(--bg) 25%,var(--panel) 50%,var(--bg) 75%);background-size:200% 100%;animation:painel-skeleton-pulse 1.4s ease-in-out infinite}@keyframes painel-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.painel-infraction-info{display:flex;flex-direction:column;gap:4px;padding:12px 14px 4px}.painel-infraction-speed{margin:0;font-size:1.6rem;font-weight:800;color:var(--danger);line-height:1.1}.painel-infraction-subspeed{margin:2px 0 0;font-size:.72rem;color:var(--muted)}.painel-infraction-speed.painel-infraction-checking,.painel-detail-speed.painel-infraction-checking{color:var(--muted);font-weight:600}.painel-infraction-meta{margin:0;color:var(--muted);font-size:.8rem}.painel-infraction-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.painel-infraction-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 14px}.painel-infraction-actions .painel-btn{flex:1 1 auto}.painel-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background-color:#0009;display:flex;align-items:flex-end;justify-content:center;padding:0}.painel-modal{position:relative;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;background-color:var(--panel);border:1px solid var(--border);border-radius:16px 16px 0 0;padding:20px;display:flex;flex-direction:column;gap:12px}.painel-modal h3{margin:0}.painel-modal-hint{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.painel-note-textarea{width:100%;resize:vertical;background-color:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px;color:var(--text);font:inherit}.painel-misread-box{border:1px solid var(--border);border-left:3px solid var(--warn, #d29922);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background-color:#d299220f}.painel-misread-toggle{align-items:flex-start}.painel-misread-label{font-weight:600}.painel-misread-hint,.painel-misread-note{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.painel-misread-warn{margin:0;color:var(--warn, #d29922);font-size:.8rem;line-height:1.45}.painel-misread-note{padding-top:8px;border-top:1px solid var(--border)}.painel-notificar-modal{max-width:560px}.painel-notificar-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 480px){.painel-notificar-grid{grid-template-columns:1fr 1fr}}.painel-reinc-box{border-left:3px solid var(--warn, #d29922)}.painel-reinc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.painel-reinc-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg);font-size:.8rem}.painel-reinc-when{font-weight:600}.painel-reinc-meta{color:var(--muted)}.painel-reinc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.painel-reinc-link{margin-top:4px;font-size:.78rem}.painel-badge-reinc{background-color:#d2992229;color:var(--warn, #d29922);border:1px solid rgba(210,153,34,.35)}.painel-veiculo-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.painel-veiculo-chip{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background-color:var(--bg);color:var(--muted);font-size:.72rem;line-height:1.5}.painel-veiculo-chip-ia{font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.painel-modal-actions{display:flex;justify-content:flex-end;gap:8px}.painel-modal-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;z-index:1}.painel-detail-media{display:flex;flex-direction:column;gap:12px}.painel-detail-photo{width:100%;aspect-ratio:16 / 10;border-radius:10px;overflow:hidden;background-color:var(--bg);display:flex;align-items:center;justify-content:center}.painel-detail-photo img{width:100%;height:100%;object-fit:cover}.painel-thumb-placeholder-lg{padding:20px;font-size:.86rem;line-height:1.4;border-radius:0}.painel-photo-gallery{display:flex;gap:8px;margin-top:8px}.painel-photo-thumb{flex:1 1 0;min-width:0;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background-color:var(--bg);cursor:pointer;display:flex;flex-direction:column;align-items:stretch}.painel-photo-thumb.active{border-color:var(--accent, #3ddc97)}.painel-photo-thumb img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.painel-photo-thumb-empty{width:100%;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;color:var(--muted)}.painel-photo-thumb-label{padding:4px 6px;font-size:.72rem;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.painel-photo-thumb.active .painel-photo-thumb-label{color:var(--fg)}.painel-detail-body{display:flex;flex-direction:column;gap:8px}.painel-detail-speed{margin:0;font-size:2rem;font-weight:800;color:var(--danger)}.painel-detail-meta{margin:0;color:var(--muted);font-size:.84rem}.painel-hash-box{border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.painel-hash-label{margin:0;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.painel-hash-value{margin:0;font-family:ui-monospace,monospace;font-size:.78rem;word-break:break-all}.painel-hash-note{font-family:initial;color:var(--muted);font-size:.72rem}.painel-hash-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.painel-hash-external-link{color:var(--muted);font-size:.78rem;text-decoration:none}.painel-hash-external-link:hover{text-decoration:underline}.painel-verify-result{margin:0;font-size:.84rem;font-weight:600;border-radius:8px;padding:8px 10px}.painel-verify-ok{background-color:#2ea04324;color:var(--success)}.painel-verify-fail{background-color:#f8514924;color:var(--danger)}.painel-verify-warn{background-color:#8b949e24;color:var(--muted);font-weight:400}.painel-timeline{display:block}.painel-timeline-summary{cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.painel-timeline-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.painel-timeline>*:not(summary){margin-top:8px}.painel-review-detalhes{display:block}.painel-review-detalhes>*:not(summary){margin-top:8px}.painel-timeline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.painel-timeline-item{display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--accent);padding:2px 0 2px 10px}.painel-timeline-status{font-size:.84rem;font-weight:700}.painel-timeline-date{font-size:.76rem;color:var(--muted)}.painel-timeline-note{font-size:.8rem;color:var(--text);font-style:italic}.painel-role-badge{margin:0;color:var(--muted);font-size:.82rem}.painel-config-section{border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.painel-config-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.9rem;padding:6px 0;border-bottom:1px solid var(--border)}.painel-config-row:last-of-type{border-bottom:none}.painel-config-row span{color:var(--muted)}.painel-config-notice{margin:4px 0 0;background-color:#2f81f71a;border:1px solid var(--accent);color:var(--text);border-radius:8px;padding:10px 12px;font-size:.82rem;line-height:1.5}.painel-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.painel-field>span{color:var(--muted);font-size:.78rem}.painel-field input,.painel-field select{background-color:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:.9rem}.painel-measure-note{margin:0;color:var(--muted);font-size:.8rem;font-style:italic}.painel-field-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.painel-secret-field{display:flex;align-items:stretch;gap:0;background-color:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}.painel-secret-field input{flex:1 1 auto;min-width:0;border:none;background:transparent;padding:8px 10px;font-size:.9rem;color:var(--text)}.painel-secret-eye{flex:0 0 auto;border:none;border-left:1px solid var(--border);background:transparent;color:var(--muted);padding:0 12px;font-size:.95rem;cursor:pointer}.painel-secret-eye:hover{color:var(--text)}.painel-measure-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.painel-toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:50;background-color:var(--success);color:#fff;border-radius:999px;padding:10px 18px;font-size:.84rem;font-weight:600;box-shadow:0 4px 16px #00000059;text-align:center;max-width:90vw}@media (min-width: 768px){.painel-toast{bottom:24px}}.painel-cameras-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.painel-camera-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:.86rem}.painel-camera-name{font-weight:600;flex:1 1 auto}.painel-camera-meta{color:var(--muted);font-size:.78rem}.painel-camera-descricao{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:6px;border-top:1px solid var(--border);padding-top:8px}.painel-camera-descricao .painel-field{flex:1 1 200px;margin:0}.painel-camera-descricao>p{flex:1 1 100%;margin:0}@media (min-width: 640px){.painel-cards-grid{grid-template-columns:repeat(4,1fr)}.painel-infraction-grid{grid-template-columns:repeat(2,1fr)}.painel-modal-overlay{align-items:center}.painel-modal{border-radius:16px}}@media (min-width: 1024px){.painel-infraction-grid{grid-template-columns:repeat(3,1fr)}.painel-detail-modal{width:85vw;max-width:1160px;max-height:88vh;padding:28px;display:grid;grid-template-columns:minmax(0,3fr) minmax(320px,2fr);align-items:start;gap:28px;overflow:hidden}.painel-detail-modal .painel-modal-close{top:14px;right:16px}.painel-photo-gallery{gap:12px}.painel-detail-body{max-height:calc(88vh - 56px);overflow-y:auto;padding-right:6px}.painel-detail-speed{font-size:2.3rem}}.painel-photo-request{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:10px}.painel-photo-hint,.painel-photo-phase,.painel-photo-msg{margin:0;font-size:.78rem;line-height:1.4;color:var(--muted)}.painel-photo-phase{animation:painel-photo-pulse 1.6s ease-in-out infinite}@keyframes painel-photo-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.painel-photo-phase{animation:painel-photo-pulse 1.8s ease-in-out infinite}}.painel-photo-msg-wait{color:#d29922}.painel-review-box .painel-input{width:100%;padding:8px 10px;margin:4px 0 6px;border:1px solid var(--linha, #2e3e52);border-radius:6px;background:var(--fundo-2, #151f2c);color:inherit;font:inherit;font-size:13px}.painel-review-result{margin-top:8px}.painel-identidade-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.painel-review-janela{display:grid;gap:10px;margin-top:10px}@media (min-width: 560px){.painel-review-janela{grid-template-columns:1fr 1fr}}.painel-placa-img{display:block;max-width:100%;margin:8px 0;border-radius:8px}.painel-placa-alts{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}.painel-placa-alt{padding:0;border:2px solid transparent;border-radius:8px;background:none;line-height:0;cursor:pointer}.painel-placa-alt:hover:not(:disabled),.painel-placa-alt:focus-visible{border-color:var(--accent)}.painel-placa-alt:disabled{cursor:default;opacity:.6}.painel-placa-alt img{display:block;height:96px;width:auto;border-radius:6px}.painel-placa-desloc{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.painel-placa-desloc-btn{padding:6px 10px;font-size:.78rem;white-space:nowrap}.painel-placa-desloc-valor{min-width:4.5em;text-align:center;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.painel-portaria-busca{margin:10px 0 4px}.painel-portaria-camadas{list-style:none;margin:2px 0 6px;padding:0;display:grid;gap:2px}.painel-portaria-candidatos{margin-top:12px}.painel-portaria-lista{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.painel-portaria-item{padding:10px;border:1px solid var(--border);border-radius:10px}.painel-portaria-item-proposto{border-color:var(--accent)}.painel-portaria-item .painel-placa-img{max-height:220px;width:auto}.painel-portaria-momentos{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.painel-portaria-momento{padding:0;border:2px solid transparent;border-radius:6px;background:none;cursor:pointer;line-height:0}.painel-portaria-momento img{display:block;height:52px;width:auto;border-radius:4px;opacity:.65}.painel-portaria-momento-ativo{border-color:var(--accent)}.painel-portaria-momento-ativo img,.painel-portaria-momento:hover img,.painel-portaria-momento:focus-visible img{opacity:1}.painel-portaria-momento-gravacao{border-style:dashed;border-color:var(--border)}.painel-portaria-momento-gravacao.painel-portaria-momento-ativo{border-color:var(--accent)}.painel-portaria-momento-rotulo{display:block;margin-top:2px;font-size:.7rem;line-height:1.2;color:var(--muted)}.painel-portaria-placa-recorte{margin:6px 0}.painel-portaria-placa-recorte img{display:block;width:240px;max-width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--border);border-radius:4px}.painel-portaria-placa-recorte figcaption{margin-top:2px;font-size:.75rem;color:var(--muted)}.painel-portaria-ia{margin-top:10px}.painel-portaria-ia>summary{cursor:pointer}.painel-portaria-ia-item{display:flex;gap:10px;align-items:flex-start;opacity:.85}.painel-portaria-ia-item .painel-portaria-momento img{opacity:1}.painel-portaria-item-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px}.painel-btn-link{background:none;border:none;padding:2px 0;color:var(--muted);font-size:.8rem;text-decoration:underline;cursor:pointer}.painel-btn-link:hover:not(:disabled){color:var(--text)}.painel-btn-link:disabled{opacity:.6;cursor:default}.painel-placa-input{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.painel-placa-fotos{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.painel-placa-fotos .painel-placa-img{flex:1 1 260px;min-width:0}.painel-placa-fotos .painel-placa-alts{flex-direction:column;margin:8px 0}.painel-placa-linha{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.painel-placa-linha .painel-placa-input{flex:1 1 10em;max-width:14em}.painel-placa-input-parcial{border-color:#d29922}.painel-palpites{margin-top:10px}.painel-palpites-lista{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.painel-palpite{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.painel-palpite-chip{display:inline-flex;align-items:baseline;gap:8px;min-height:40px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;font:inherit}.painel-palpite-chip:hover,.painel-palpite-chip:focus-visible{border-color:var(--accent)}.painel-palpite-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.painel-palpite-chip[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.painel-palpite-chip-combinada{border-style:dashed}.painel-palpite-rotulo{color:var(--muted);font-size:.85em}.painel-palpite-placa{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.1em;letter-spacing:.08em}.painel-palpite-dif{color:#d29922;text-decoration:underline;text-underline-offset:3px;font-weight:700}.painel-palpite-salvar{min-height:40px}.painel-placa-mais{display:block;margin-top:12px}.painel-placa-mais-summary{cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.painel-placa-mais-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.painel-placa-mais>*:not(summary){margin-top:8px}.painel-portaria-secao .painel-portaria-busca .painel-btn-primary{width:100%}@media (min-width: 640px){.painel-portaria-secao .painel-portaria-busca .painel-btn-primary{width:auto}}.painel-portaria-detalhes{display:block;margin-top:8px}.painel-portaria-detalhes-summary{cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.painel-portaria-detalhes-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.painel-portaria-detalhes>*:not(summary){margin-top:6px}.painel-portaria-periodos{margin:10px 0}.painel-portaria-periodos-destaque{padding:10px;border:1px solid var(--border)}.painel-portaria-periodos-botoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.painel-portaria-periodos-botoes>.painel-btn{flex:1 1 100%}@media (min-width: 640px){.painel-portaria-periodos-botoes>.painel-btn{flex:0 1 auto}}.painel-portaria-periodo{margin-top:14px;padding-top:8px;border-top:1px solid var(--border)}.painel-quadros-modal{max-width:860px}.painel-quadros-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}@media (min-width: 720px){.painel-quadros-grade{grid-template-columns:repeat(3,minmax(0,1fr))}}.painel-quadro-item{display:block;padding:0;border:1px solid var(--painel-linha, #2a3444);border-radius:8px;overflow:hidden;background:#000;cursor:zoom-in;text-align:left}.painel-quadro-item img{display:block;width:100%;height:auto}.painel-quadro-legenda{display:block;padding:5px 7px;font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--painel-mut, #90a0b4);background:#00000059}.painel-quadro-zoom{margin-top:12px}.painel-quadro-zoom img{display:block;width:100%;height:auto;border-radius:8px;image-rendering:pixelated}.painel-quadro-zoom .painel-btn{margin-top:10px}.painel-quadro-ref{margin-top:12px;padding-bottom:12px;border-bottom:1px solid var(--painel-linha, #2a3444)}.painel-quadro-ref img{display:block;width:100%;height:auto;margin-top:6px;border-radius:8px}.painel-folga-robusta,.painel-folga-apertada{margin:2px 0 0;font-size:.78rem;line-height:1.35}.painel-folga-robusta{color:var(--ok)}.painel-folga-apertada{color:var(--warn)}.stats-page{gap:22px}.stats-header{display:flex;flex-direction:column;gap:4px}.stats-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.stats-camera-select{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}.stats-camera-select select{background-color:var(--panel);border:1px solid var(--border);border-radius:8px;padding:7px 10px;color:var(--text);font-size:.82rem}.stats-camera-select select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats-hero{display:grid;grid-template-columns:1fr;gap:10px}.stats-card{display:flex;flex-direction:column;gap:4px;background-color:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.stats-card-hero{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,var(--panel)) 0%,var(--panel) 70%)}.stats-card-value{font-size:2rem;font-weight:800;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stats-card-label{font-size:.84rem;font-weight:600}.stats-card-hint{color:var(--muted);font-size:.72rem;line-height:1.35}.stats-card-delta{display:inline-flex;align-items:center;gap:4px;width:fit-content;border-radius:999px;padding:2px 9px;font-size:.74rem;font-weight:700;margin-top:2px}.stats-card-delta-good{background-color:#2ea04324;color:var(--success)}.stats-card-delta-bad{background-color:#f8514924;color:var(--danger)}.stats-card-delta-neutral{background-color:#8b949e24;color:var(--muted)}.stats-p85{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background-color:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:14px;padding:16px 18px}.stats-p85-number{display:flex;align-items:baseline;gap:5px;color:var(--accent)}.stats-p85-number strong{font-size:2.6rem;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stats-p85-number span{font-size:.9rem;font-weight:700}.stats-p85-text{flex:1 1 220px;display:flex;flex-direction:column;gap:3px}.stats-p85-sentence{margin:0;font-size:.95rem;font-weight:600;line-height:1.35}.stats-p85-explain{margin:0;color:var(--muted);font-size:.76rem;line-height:1.4}.stats-p85-meta{margin:2px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}.stats-inline-delta{font-weight:700}.stats-inline-delta-good{color:var(--success)}.stats-inline-delta-bad{color:var(--danger)}.stats-inline-delta-neutral{color:var(--muted)}.stats-approx{margin:4px 0 0;color:var(--muted);font-size:.72rem;font-style:italic}.stats-chart-wrap{background-color:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 10px 8px;overflow-x:auto}.stats-chart{width:100%;height:auto;min-width:320px}.stats-grid-line{stroke:var(--border);stroke-width:1}.stats-axis-label{fill:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.stats-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.stats-line-p85{stroke:var(--accent)}.stats-line-media{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:1 3}.stats-dot{fill:var(--accent)}.stats-limit-line{stroke:var(--success);stroke-width:1.5;stroke-dasharray:5 4;opacity:.75}.stats-limit-label{fill:var(--success);font-size:9px;font-weight:700}.stats-event-line{stroke:var(--text);stroke-width:1;stroke-dasharray:2 3;opacity:.35}.stats-event-dot{fill:var(--text);opacity:.6}.stats-legend{list-style:none;margin:8px 0 0;padding:0 4px;display:flex;flex-wrap:wrap;gap:14px;font-size:.74rem;color:var(--muted)}.stats-legend li{display:inline-flex;align-items:center;gap:6px}.stats-swatch{width:16px;height:3px;border-radius:2px;display:inline-block}.stats-swatch-p85{background-color:var(--accent)}.stats-swatch-media{background:repeating-linear-gradient(90deg,var(--muted) 0 2px,transparent 2px 5px)}.stats-swatch-limite{background:repeating-linear-gradient(90deg,var(--success) 0 5px,transparent 5px 9px)}.stats-bars{list-style:none;margin:0;padding:14px 14px 10px;display:flex;flex-direction:column;gap:10px;background-color:var(--panel);border:1px solid var(--border);border-radius:12px}.stats-bar-row{display:grid;grid-template-columns:8.5em 1fr 4.5em;align-items:center;gap:10px}.stats-bar-label{font-size:.76rem;color:var(--muted);font-variant-numeric:tabular-nums}.stats-bar-track{height:14px;background-color:#8b949e1f;border-radius:7px;overflow:hidden}.stats-bar-fill{display:block;height:100%;border-radius:7px;transition:width .22s ease-out}.stats-bar-fill-ok{background-color:var(--success)}.stats-bar-fill-warn{background-color:#d29922}.stats-bar-fill-bad{background-color:var(--danger)}.stats-bar-value{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.stats-bar-value em{font-style:normal;font-size:.68rem;font-weight:600;color:var(--muted)}.stats-heatmap{width:100%;height:auto;min-width:340px}.stats-heat-cell{fill:var(--accent)}.stats-heat-legend{display:flex;align-items:center;gap:8px;padding:0 4px;font-size:.72rem;color:var(--muted)}.stats-heat-ramp{flex:0 0 90px;height:8px;border-radius:4px;background-color:var(--accent);background-image:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),var(--accent))}.stats-table-wrap{background-color:var(--panel);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:.8rem}.stats-table th,.stats-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.stats-table thead th{color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.stats-table tbody tr:last-child td{border-bottom:none}.stats-num{text-align:right;font-variant-numeric:tabular-nums}.stats-strong{font-weight:700;color:var(--accent)}.stats-reports{gap:10px}.stats-reports-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.stats-reports-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background-color:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.stats-reports-info{display:flex;flex-direction:column;gap:2px}.stats-reports-period{font-size:.88rem;font-weight:700}.stats-reports-summary{font-size:.78rem;color:var(--text);font-variant-numeric:tabular-nums}.stats-reports-meta{font-size:.7rem;color:var(--muted)}.stats-reports-empty{padding:24px 20px}.stats-empty{gap:10px}.stats-empty-icon{font-size:2.2rem;line-height:1;color:var(--accent);opacity:.7}.stats-skeleton{display:flex;flex-direction:column;gap:12px}.stats-skeleton-cards,.stats-skeleton-block,.stats-skeleton-item{border-radius:12px;background:linear-gradient(90deg,var(--panel) 25%,var(--border) 50%,var(--panel) 75%);background-size:220% 100%;animation:stats-shimmer 1.4s linear infinite}.stats-skeleton-cards{height:108px}.stats-skeleton-block{height:180px}.stats-skeleton-block-short{height:90px}.stats-section-error{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.stats-section-error .painel-alert{flex:1 1 220px;margin:0}@keyframes stats-shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}@media (prefers-reduced-motion: reduce){.stats-skeleton-cards,.stats-skeleton-block,.stats-skeleton-item{animation:none}.stats-bar-fill{transition:none}}.stats-footnote{margin:0;color:var(--muted);font-size:.7rem;line-height:1.45;border-top:1px solid var(--border);padding-top:10px}@media (min-width: 560px){.stats-hero{grid-template-columns:repeat(3,1fr)}.stats-bar-row{grid-template-columns:10em 1fr 5.5em}}@media (min-width: 860px){.stats-card-value{font-size:2.3rem}.stats-p85-number strong{font-size:3rem}}.mapa-header{display:flex;flex-direction:column;gap:10px}@media (min-width: 720px){.mapa-header{flex-direction:row;align-items:flex-start;justify-content:space-between}}.mapa-controles{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.mapa-metrica{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted)}.mapa-metrica select{background-color:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font:inherit}.mapa-legenda{display:flex;align-items:flex-start;gap:10px}.mapa-legenda-escala{flex:0 0 auto;width:64px;height:12px;margin-top:3px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(90deg,transparent,var(--danger))}.mapa-legenda-taxa{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;width:96px}.mapa-legenda-escala-taxa{width:96px;background:linear-gradient(90deg,#3fb950,#d29922 33%,#f85149)}.mapa-legenda-marcas{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted)}.mapa-legenda-cinza{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:-1px}.mapa-legenda-texto{margin:0;font-size:.86rem;font-weight:600}.mapa-planta{position:relative;display:flex;flex-direction:column;gap:6px}.mapa-zoom{display:flex;align-items:center;gap:6px;align-self:flex-end}.mapa-zoom .painel-btn{min-width:38px;padding:5px 10px}.mapa-zoom-valor{min-width:44px;text-align:center;font-size:.8rem;color:var(--muted)}.mapa-viewport{overflow:auto;max-height:78vh;border:1px solid var(--border);border-radius:10px;background-color:var(--panel);-webkit-overflow-scrolling:touch}.mapa-stage{position:relative;min-width:100%;user-select:none;-webkit-user-select:none}.mapa-stage-editavel{cursor:crosshair}.mapa-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.mapa-img-falha{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--muted);font-size:.86rem;text-align:center}.mapa-calor{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.mapa-pino{position:absolute;width:0;height:0;padding:0;border:0;background:none;color:var(--text);cursor:pointer}.mapa-stage-editavel .mapa-pino{cursor:grab;touch-action:none}.mapa-pino-ponto{position:absolute;left:0;top:0;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--bg);background-color:var(--muted);box-shadow:0 0 0 2px var(--muted)}.mapa-pino:after{content:"";position:absolute;left:-22px;top:-22px;width:44px;height:44px}.mapa-pino-ok .mapa-pino-ponto{background-color:var(--success);box-shadow:0 0 0 2px var(--success)}.mapa-pino-warn .mapa-pino-ponto{background-color:#e3b341;box-shadow:0 0 0 2px #e3b341}.mapa-pino-danger .mapa-pino-ponto{background-color:var(--danger);box-shadow:0 0 0 2px var(--danger)}.mapa-pino-sel .mapa-pino-ponto{box-shadow:0 0 0 2px var(--accent),0 0 0 6px #2f81f759}.mapa-pino-rascunho .mapa-pino-ponto{border-style:dashed;border-color:var(--text)}.mapa-pino:focus-visible{outline:none}.mapa-pino:focus-visible .mapa-pino-ponto{outline:2px solid var(--accent);outline-offset:3px}.mapa-cone{position:absolute;left:0;top:0;width:110px;height:110px;pointer-events:none;overflow:visible}.mapa-cone path{fill:#2f81f761;stroke:#2f81f7e6;stroke-width:1.5}.mapa-pino-rotulo{position:absolute;left:0;top:12px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;max-width:150px;padding:2px 6px;border-radius:6px;background-color:#0b0f14d1;pointer-events:none}.mapa-pino-nome{max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600}.mapa-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:.64rem;font-weight:700;white-space:nowrap;color:var(--muted);width:fit-content}.mapa-chip-ok{border-color:var(--success);color:var(--success)}.mapa-chip-warn{border-color:#9e6a03;color:#e3b341}.mapa-chip-danger{border-color:var(--danger);color:var(--danger)}.mapa-resumo{position:absolute;z-index:5;transform:translate(14px,14px);width:min(260px,70vw);display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background-color:var(--panel);box-shadow:0 8px 24px #00000073;font-size:.82rem;cursor:default}.mapa-resumo-esq{transform:translate(calc(-100% - 14px),14px)}.mapa-resumo-cima{transform:translate(14px,calc(-100% - 14px))}.mapa-resumo-esq.mapa-resumo-cima{transform:translate(calc(-100% - 14px),calc(-100% - 14px))}.mapa-resumo-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mapa-resumo-fechar{background:none;border:0;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 2px}.mapa-resumo-ajuda,.mapa-resumo-periodo{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4}.mapa-resumo-numeros{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mapa-resumo-numeros dt{font-size:.68rem;color:var(--muted)}.mapa-resumo-numeros dd{margin:0;font-weight:700}.mapa-aviso-curto{margin:0;font-size:.82rem;color:#e3b341}.mapa-ok{margin:0;font-size:.82rem;color:var(--success)}.mapa-dica{margin:0;font-size:.8rem;color:var(--muted)}.mapa-link-btn{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.mapa-link-btn:hover{text-decoration:underline}.mapa-aviso{border:1px solid #9e6a03;border-left-width:4px;border-radius:8px;padding:10px 12px;font-size:.84rem}.mapa-aviso>p{margin:0;color:#e3b341}.mapa-acoes{display:flex;flex-wrap:wrap;gap:8px}.mapa-editor-bloco{border:1px solid var(--border);border-radius:10px;padding:12px;gap:10px}.mapa-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 12px;border:1px dashed var(--border);border-radius:10px;text-align:center;color:var(--muted);font-size:.86rem}.mapa-drop p{margin:0}.mapa-drop-ativo{border-color:var(--accent);background-color:#2f81f714}.mapa-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.mapa-preview{display:flex;flex-direction:column;gap:10px}.mapa-preview img{max-width:100%;max-height:50vh;object-fit:contain;align-self:flex-start;border:1px solid var(--border);border-radius:8px}.mapa-editor-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 960px){.mapa-editor-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start}}.mapa-editor-planta{display:flex;flex-direction:column;gap:6px;min-width:0}.mapa-editor-lista{display:flex;flex-direction:column;gap:8px}.mapa-cam-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.mapa-cam{border:1px solid var(--border);border-radius:8px;background-color:var(--panel)}.mapa-cam-sel{border-color:var(--accent)}.mapa-cam-topo{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:none;border:0;color:var(--text);font:inherit;font-size:.84rem;text-align:left;cursor:pointer}.mapa-cam-thumb{flex:none;width:64px;height:36px;border-radius:4px;object-fit:cover;background-color:var(--border)}.mapa-cam-thumb-vazia{display:block;opacity:.5}.mapa-cam-captura{margin:0;display:flex;flex-direction:column;gap:4px}.mapa-cam-captura img{width:100%;height:auto;border-radius:6px;display:block}.mapa-cam-captura figcaption{font-size:.75rem;color:var(--muted)}.mapa-cam-nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapa-cam-controles{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px}.mapa-angulo{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}.mapa-angulo input[type=range]{width:100%;accent-color:var(--accent)}.notif-intro{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.notif-filters{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;background-color:var(--panel);border:1px solid var(--border);border-radius:12px}@media (min-width: 560px){.notif-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}}.notif-period-row{grid-column:1 / -1}.notif-filters-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.notif-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.notif-count{margin:0;color:var(--muted);font-size:.8rem}.notif-group-toggle{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}.notif-group{background-color:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.notif-group+.notif-group{margin-top:10px}.notif-group-summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:.85rem;font-weight:600}.notif-group-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.notif-group-key{font-variant-numeric:tabular-nums;letter-spacing:.04em}.notif-group-count{color:var(--muted);font-weight:400;font-size:.78rem}.notif-table-wrap{background-color:var(--panel);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.notif-group .notif-table-wrap{border:none;border-radius:0;border-top:1px solid var(--border)}.notif-table{width:100%;border-collapse:collapse;font-size:.8rem}.notif-table th,.notif-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:top}.notif-table thead th{color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.notif-table tbody tr:last-child td{border-bottom:none}.notif-num{text-align:right;font-variant-numeric:tabular-nums}.notif-placa{background:none;border:none;padding:0;color:var(--accent);font:inherit;font-weight:600;letter-spacing:.08em;cursor:pointer;text-align:left}.notif-placa:hover{text-decoration:underline}.notif-placa:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notif-muted{color:var(--muted)}.notif-badges{display:flex;flex-wrap:wrap;gap:6px}.notif-reinc-zero{color:var(--muted)}.notif-detail-photo{width:100%;border-radius:10px;border:1px solid var(--border);background-color:var(--bg)}.notif-detail-photo img{width:100%;display:block;border-radius:10px}.notif-detail-row{margin:0;font-size:.84rem;line-height:1.5}.notif-detail-label{color:var(--muted)}.dev-page{display:flex;flex-direction:column;gap:20px;max-width:900px;margin:0 auto}.dev-page h2{margin:0;font-size:1.15rem}.dev-page h3{margin:0 0 8px;font-size:.95rem}.dev-page h4{margin:0 0 6px;font-size:.9rem}.dev-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dev-sub{margin:4px 0 0}.dev-muted{color:var(--muted);font-size:.85rem;line-height:1.45;margin:0 0 8px}.dev-muted:last-child{margin-bottom:0}.dev-nota{margin-top:10px}.dev-error{background-color:#f851491f;border:1px solid var(--danger);color:var(--danger);border-radius:6px;padding:8px 10px;font-size:.82rem;margin:8px 0 0}.dev-warn{background-color:#d299221f;border:1px solid #9e6a03;color:#e3b341;border-radius:6px;padding:8px 10px;font-size:.82rem;margin:0 0 8px;line-height:1.45}.dev-ok{color:var(--success);font-size:.88rem;margin:0 0 8px}.dev-empty{color:var(--muted);font-size:.85rem;line-height:1.45;border:1px dashed var(--border);border-radius:8px;padding:14px;margin:0}.dev-btn-primary{background-color:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:600;cursor:pointer}.dev-btn-primary:hover:not(:disabled){filter:brightness(1.12)}.dev-btn-primary:disabled{opacity:.55;cursor:progress}.dev-btn-ghost{background-color:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px 12px;font-size:.82rem;cursor:pointer;white-space:nowrap}.dev-btn-ghost:hover{border-color:var(--accent)}.dev-install{background-color:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:16px}.dev-steps{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.dev-step{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;border:1px solid var(--border);border-radius:8px;padding:12px;background-color:var(--bg);opacity:.72}.dev-step-atual{opacity:1;border-color:var(--accent)}.dev-step-ok{opacity:1;border-color:var(--success)}.dev-step-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background-color:var(--panel);font-size:.85rem;font-weight:700;color:var(--muted)}.dev-step-atual .dev-step-num{border-color:var(--accent);color:var(--accent)}.dev-step-ok .dev-step-num{border-color:var(--success);color:var(--success)}.dev-step-body{min-width:0}.dev-security{color:var(--muted);font-size:.78rem;line-height:1.4;margin:10px 0 0}.dev-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px;margin-top:10px;background-color:var(--panel)}.dev-key-label{flex:1 0 100%;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.dev-key-value{font-family:ui-monospace,monospace;font-size:.86rem;letter-spacing:.04em;word-break:break-all;background-color:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.dev-key-note{flex:1 0 100%;margin:0;font-size:.76rem}.dev-section{border:1px solid var(--border);border-radius:10px;padding:14px;background-color:var(--panel)}.dev-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dev-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background-color:var(--bg)}.dev-card-novo{border-color:var(--success);box-shadow:0 0 0 1px #2ea04359;animation:dev-brilho 1.6s ease-in-out 3}@keyframes dev-brilho{0%,to{box-shadow:0 0 0 1px #2ea04359}50%{box-shadow:0 0 0 4px #2ea04338}}@media (prefers-reduced-motion: reduce){.dev-card-novo{animation:none}}.dev-card-main{display:flex;align-items:flex-start;gap:10px}.dev-dot{width:10px;height:10px;border-radius:999px;margin-top:5px;flex:0 0 auto;background-color:var(--muted)}.dev-dot-online{background-color:var(--success);box-shadow:0 0 6px #2ea043b3}.dev-dot-offline{background-color:var(--danger)}.dev-dot-revoked{background-color:var(--muted)}.dev-card-name{margin:0;font-size:.92rem;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dev-card-meta{margin:3px 0 0;font-size:.78rem;color:var(--muted)}.dev-card-meta-fraca{opacity:.8}.dev-badge{font-size:.62rem;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:2px 7px;border:1px solid var(--border);color:var(--muted)}.dev-badge-novo{border-color:var(--success);color:var(--success)}.dev-badge-revogado{border-color:var(--danger);color:var(--danger)}.dev-cams{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dev-cam{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background-color:var(--bg)}.dev-cam-off{opacity:.6}.dev-cam-name{display:block;font-size:.9rem;font-weight:600}.dev-cam-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.dev-tag{font-size:.68rem;border:1px solid var(--border);border-radius:999px;padding:2px 8px;color:var(--muted)}.dev-tag-ok{border-color:var(--success);color:var(--success)}.dev-tag-alerta{border-color:#9e6a03;color:#e3b341}.dev-tag-danger{border-color:var(--danger);color:var(--danger)}.dev-cam-calibrar{display:inline-block;margin-top:8px;color:var(--text);text-decoration:none;text-align:center}@media (min-width: 700px){.dev-cam{display:flex;align-items:center;justify-content:space-between;gap:12px}.dev-cam-tags{margin-top:0}.dev-cam-calibrar{margin-top:0;flex:0 0 auto}}.dev-medicao{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.dev-medicao-lista{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.dev-medicao-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dev-medicao-cam{font-size:.78rem;color:var(--text)}.dev-medicao-num{font-size:.7rem;color:var(--muted)}.dev-medicao-implausivel{font-size:.74rem;color:#e3b341}.dev-medicao-portaria{margin-top:8px}.dev-portaria-abaixo{color:#e3b341}.dev-diag-link{display:inline-block;margin-top:8px}.dev-recursos{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.dev-recursos-warn{border-left:2px solid #9e6a03;padding-left:8px}.dev-recursos-danger{border-left:2px solid var(--danger);padding-left:8px}.dev-recursos-barras{display:flex;flex-direction:column;gap:5px}.dev-recurso{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px}.dev-recurso-rotulo{font-size:.68rem;color:var(--muted);text-transform:lowercase}.dev-recurso-trilho{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.dev-recurso-preenchimento{display:block;height:100%;border-radius:999px;background:var(--success);transition:width .24s ease-out}.dev-recurso-warn .dev-recurso-preenchimento{background:#e3b341}.dev-recurso-danger .dev-recurso-preenchimento{background:var(--danger)}.dev-recurso-valor{font-size:.7rem;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.dev-recursos-detalhe{margin:6px 0 0;font-size:.7rem}.dev-recursos-aviso{margin:6px 0 0;font-size:.74rem;color:#e3b341}.dev-recursos-aviso-danger{color:var(--danger)}.dev-reissue{margin-top:8px}.dev-cred{margin-top:10px;border:1px solid var(--accent);border-radius:8px;padding:10px;background-color:var(--panel)}.dev-cred-head{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:.86rem}.dev-badge-once{border-color:var(--accent);color:var(--accent)}.dev-cred-warn{margin:0 0 8px;font-size:.78rem;color:#e3b341}.dev-cred-json{margin:0;max-height:260px;overflow:auto;font-family:ui-monospace,monospace;font-size:.78rem;line-height:1.45;white-space:pre;background-color:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px}.dev-cred-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.dev-cred-steps-title{margin:12px 0 4px;font-size:.8rem;font-weight:600}.dev-cred-steps{margin:0;padding-left:18px;font-size:.78rem;line-height:1.5;color:var(--muted)}.dev-cred-steps li+li{margin-top:6px}.dev-link{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-top:12px}.dev-links{margin-top:16px}.dev-links h4{margin:0 0 8px}.dev-links-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dev-link-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.dev-link-url{flex:1 1 100%;-webkit-user-select:all;user-select:all}.dev-link-morto .dev-link-url{opacity:.55;text-decoration:line-through}.dev-link-meta{font-size:.76rem}.dev-link-acoes{display:flex;gap:6px;margin-left:auto}.dev-link-estado-ativo{color:var(--success);border-color:currentColor}.dev-btn-perigo{color:var(--danger)}.pessoas-regras{margin:0 0 12px;padding-left:18px;color:var(--muted);font-size:.82rem;line-height:1.45}.pessoas-subtitulo{margin:18px 0 8px;font-size:.9rem}.pessoas-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pessoas-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg);min-width:0}.pessoas-quem{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.pessoas-quem strong{overflow-wrap:anywhere}.pessoas-email{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.pessoas-detalhe{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4}.pessoas-controles{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.pessoas-papel{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}.pessoas-papel select{min-width:140px}.pessoas-convidar{display:flex;flex-direction:column;gap:10px;max-width:520px}.pessoas-papeis{display:flex;flex-direction:column;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.pessoas-papeis legend{padding:0 4px;font-size:.8rem;color:var(--muted)}.pessoas-opcao{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;line-height:1.4;cursor:pointer}.pessoas-opcao input{margin-top:3px}.pessoas-opcao small{color:var(--muted);font-size:.78rem}.pessoas-opcao-off{opacity:.55;cursor:not-allowed}.pessoas-resultado{margin-top:10px;padding:10px 12px;border:1px solid var(--success);border-radius:8px;font-size:.85rem;line-height:1.45}.pessoas-resultado p{margin:0 0 8px}.pessoas-resultado-aviso{border-color:var(--danger)}.pessoas-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pessoas-link code{overflow-wrap:anywhere;font-size:.78rem}.pessoas-operador{display:flex;flex-wrap:wrap;gap:8px}.pessoas-operador input{flex:1 1 200px;min-width:0}.pessoas-historico{margin:10px 0 0;padding-left:18px;font-size:.8rem;line-height:1.5}.pessoas-historico time{color:var(--muted)}.pessoas-historico small{color:var(--muted)}.pessoas-seu-acesso{margin:0 0 12px}.pessoas-seu-acesso .painel-role-badge{margin-bottom:4px}.monitor{display:flex;flex-direction:column;gap:1rem}.monitor-tela-cheia{background:var(--bg);padding:1.5rem;overflow-y:auto}.monitor-cabecalho{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start}.monitor-controles{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.monitor-rt{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.monitor-rt-conectado{color:var(--success);border-color:var(--success)}.monitor-rt-falhou{color:var(--danger);border-color:var(--danger)}.monitor-som-aviso{margin:0}.monitor-ok{color:var(--success);margin:.25rem 0}.monitor-destaque{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:2px solid var(--danger);border-radius:12px;background:var(--panel);animation:monitor-pulso 1.2s ease-in-out 3}.monitor-destaque-descartada{border-color:var(--border);opacity:.75}.monitor-destaque-conferida,.monitor-destaque-notificada{border-color:var(--accent)}@keyframes monitor-pulso{0%,to{box-shadow:0 0 #f8514900}50%{box-shadow:0 0 0 8px #f8514959}}.monitor-destaque-info p{margin:.15rem 0}.monitor-destaque-titulo{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.monitor-destaque-vel{font-size:3rem;font-weight:700;line-height:1.1}.monitor-destaque-cam{font-size:1.15rem}.monitor-destaque-hora{color:var(--muted)}@media (min-width: 720px){.monitor-destaque{flex-direction:row;align-items:center}.monitor-destaque-vel{font-size:4rem}}.monitor-foto{width:7.5rem;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;background:var(--bg);flex-shrink:0}.monitor-foto-grande{width:100%;max-width:28rem}.monitor-foto-vazia{display:flex;align-items:center;justify-content:center;text-align:center;font-size:.75rem;color:var(--muted);border:1px dashed var(--border);padding:.25rem}.monitor-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.monitor-item-link{display:flex;gap:.75rem;align-items:center;padding:.5rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:inherit;text-decoration:none}.monitor-item-link:hover,.monitor-item-link:focus-visible{border-color:var(--accent)}.monitor-item-descartada .monitor-item-link{opacity:.6}.monitor-item-descartada .monitor-item-vel{text-decoration:line-through}.monitor-item-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.monitor-item-vel{font-size:1.35rem}.monitor-item-cam{overflow:hidden;text-overflow:ellipsis}.monitor-item-hora{color:var(--muted);font-size:.85rem}.monitor-selo{display:inline-block;font-size:.75rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.monitor-selo-em_conferencia{color:#d29922;border-color:#d29922}.monitor-selo-conferida{color:var(--success);border-color:var(--success)}.monitor-selo-notificada{color:var(--accent);border-color:var(--accent)}.monitor-selo-descartada{color:var(--muted)}.monitor-ressalva{font-size:.8rem}.alertas-aparelhos{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.alertas-aparelho{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px}.alertas-aparelho-revogado{opacity:.6}.alertas-aparelho-meta{display:flex;flex-direction:column;gap:.1rem;font-size:.85rem;color:var(--muted)}.alertas-aparelho-meta strong{color:var(--text);font-size:.95rem}.alerta-detalhe-cartao{animation:none}.alerta-detalhe-fotos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.75rem}.alerta-detalhe-fotos li{display:flex;flex-direction:column;gap:.35rem;min-width:0}.alerta-detalhe-rotulo{font-size:.85rem;color:var(--muted)}@media (min-width: 720px){.alerta-detalhe-fotos{grid-template-columns:repeat(3,minmax(0,1fr))}}.monitor-duplicata{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.monitor-duplicata p{margin:0;flex:1 1 220px}.calib-page{display:flex;flex-direction:column;gap:14px;padding-bottom:32px}.calib-header{display:flex;flex-direction:column;gap:4px}.calib-back{align-self:flex-start;color:var(--muted);font-size:.84rem;text-decoration:none}.calib-back:hover{color:var(--accent)}.calib-title{margin:0;font-size:1.15rem}.calib-sub{margin:0;color:var(--muted);font-size:.86rem;display:flex;align-items:center;gap:8px}.calib-badge-off{border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.calib-muted{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.calib-warn{margin:0;background-color:#e3b3411a;border:1px solid #9e6a03;color:#e3b341;border-radius:8px;padding:10px 12px;font-size:.84rem}.calib-ok{margin:0;background-color:#2ea0431f;border:1px solid var(--success);color:var(--success);border-radius:8px;padding:10px 12px;font-size:.84rem}.calib-btn-primary{background-color:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:600;cursor:pointer;align-self:flex-start}.calib-btn-primary:hover:not(:disabled){filter:brightness(1.12)}.calib-btn-primary:disabled,.calib-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.calib-btn-big{align-self:stretch;padding:16px 20px;font-size:1rem}.calib-btn-ghost{background-color:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 14px;font-size:.84rem;cursor:pointer;align-self:flex-start}.calib-btn-ghost:hover:not(:disabled){border-color:var(--accent)}.calib-request{display:flex;flex-direction:column;gap:10px;background-color:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.calib-latency{font-size:.8rem}.calib-waiting{display:flex;align-items:center;gap:12px}.calib-phase{margin:0 0 2px;font-size:.9rem;font-weight:600}.calib-spinner{flex:0 0 auto;width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:calib-spin .9s linear infinite}@keyframes calib-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.calib-spinner{animation-duration:3s}}.calib-alert{background-color:#f851491f;border:1px solid var(--danger);border-radius:8px;padding:10px 12px;font-size:.84rem;display:flex;flex-direction:column;gap:4px}.calib-alert p{margin:0}.calib-alert-title{color:var(--danger);font-weight:600}.calib-alert-raw{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;word-break:break-word}.calib-stage{position:relative;width:100%;background-color:#000;border:1px solid var(--border);border-radius:10px;overflow:hidden;touch-action:none}.calib-frame{display:block;width:100%;height:auto}.calib-frame-meta{font-size:.8rem}.calib-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem}.calib-legend-item{display:inline-flex;align-items:center;gap:6px;font-weight:600}.calib-legend-item:before{content:"";width:16px;height:3px;border-radius:2px}.calib-legend-in{color:var(--success)}.calib-legend-in:before{background-color:var(--success)}.calib-legend-out{color:var(--danger)}.calib-legend-out:before{background-color:var(--danger)}.calib-controls{display:flex;flex-direction:column;gap:10px;background-color:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.calib-field{display:flex;flex-direction:column;gap:6px;font-size:.86rem}.calib-field input{background-color:var(--bg);border:1px solid var(--border);border-radius:6px;padding:9px 10px;font-size:.95rem;max-width:220px}.calib-field input:focus{outline:none;border-color:var(--accent)}.calib-tip{font-size:.8rem}.calib-actions{display:flex;flex-wrap:wrap;gap:8px}.calib-help{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px}.calib-help-title{margin:0;font-size:.92rem}.calib-scope{margin:0;color:var(--muted);font-size:.76rem;line-height:1.4;font-style:italic}.calib-toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:50;background-color:var(--success);color:#fff;border-radius:999px;padding:10px 18px;font-size:.86rem;font-weight:600;box-shadow:0 6px 20px #00000073}@media (min-width: 820px){.calib-btn-big{align-self:flex-start}.calib-stage{max-width:960px}.calib-toast{bottom:24px}}.calib-zona{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid color-mix(in srgb,#d29922 45%,transparent);border-radius:10px;background-color:color-mix(in srgb,#d29922 8%,transparent)}.calib-zona-title{margin:0;font-size:.9rem;font-weight:600}.calib-zona-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.calib-zona-item{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--muted)}.calib-btn-mini{padding:4px 10px;font-size:.76rem}.diag-page{display:flex;flex-direction:column;gap:16px;max-width:900px;margin:0 auto}.diag-header h2{margin:6px 0 0;font-size:1.15rem}.diag-back{color:var(--muted);font-size:.85rem;text-decoration:none}.diag-back:hover{color:var(--text)}.diag-sub,.diag-intro{margin:4px 0 0;font-size:.88rem;color:var(--muted)}.diag-muted{color:var(--muted);font-size:.88rem}.diag-note{margin:0;padding:8px 12px;border-radius:8px;background-color:#8b949e1f;color:var(--muted);font-size:.82rem}.diag-warn{padding:12px 14px;border:1px solid #b7791f;border-radius:10px;background-color:#b7791f1f;font-size:.88rem}.diag-error{padding:10px 12px;border:1px solid var(--danger);border-radius:8px;color:var(--danger);font-size:.85rem}.diag-device{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background-color:var(--panel)}.diag-device-silent{border-color:#b7791f}.diag-device-name{margin:0;font-weight:600}.diag-device-meta{margin:2px 0 0;font-size:.82rem;color:var(--muted)}.diag-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;flex:none}.diag-dot-online{background-color:var(--success)}.diag-dot-offline{background-color:#b7791f}.diag-dot-revoked{background-color:var(--danger)}.diag-actions{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width: 720px){.diag-actions{grid-template-columns:1fr 1fr}}.diag-action{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-radius:10px;background-color:var(--panel)}.diag-action .painel-btn{align-self:flex-start}.diag-action .painel-btn.diag-btn-running:disabled{opacity:1;cursor:progress;border-color:var(--accent)}.diag-action-hint{margin:0;font-size:.78rem;color:var(--muted)}.diag-inline-field{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}.diag-inline-field select,.diag-inline-field input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background-color:var(--bg);color:var(--text);font-size:.85rem}.diag-url-field{flex-direction:column;align-items:stretch;gap:4px}.diag-url-field input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.diag-status{display:flex;flex-direction:column;gap:12px}.diag-waiting{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background-color:var(--panel)}.diag-waiting-title{margin:0;font-size:.9rem;font-weight:600}.diag-waiting-note{margin:2px 0 0;font-size:.8rem;color:var(--muted)}.diag-spinner{width:16px;height:16px;flex:none;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:diag-spin .9s linear infinite}@keyframes diag-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.diag-spinner{animation:none}}.diag-box{padding:12px 14px;border:1px solid var(--border);border-left-width:4px;border-radius:10px;font-size:.86rem}.diag-box p{margin:0 0 6px}.diag-box p:last-child{margin-bottom:0}.diag-box-title{font-weight:600;font-size:.92rem}.diag-box-offline{border-color:var(--accent);background-color:#2f81f71a}.diag-box-warn{border-color:#b7791f;background-color:#b7791f1f}.diag-box-error{border-color:var(--danger);background-color:#f851491a}.diag-box-meta{color:var(--muted);font-size:.8rem}.diag-result{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background-color:var(--panel)}.diag-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.diag-result-title{margin:0;font-weight:600}.diag-result-meta{margin:2px 0 0;font-size:.78rem;color:var(--muted)}.diag-copy{flex:none;padding:6px 12px;font-size:.8rem}.diag-flag{margin:0;padding:6px 10px;border-radius:6px;font-size:.82rem;font-weight:600}.diag-flag-ok{background-color:#2ea04326;color:var(--success)}.diag-flag-warn{background-color:#b7791f26;color:#d9a441}.diag-flag-error{background-color:#f851491f;color:var(--danger)}.diag-flag-info{background-color:#2f81f71f;color:var(--accent)}.diag-pre{margin:0;max-height:420px;overflow:auto;padding:12px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.45;white-space:pre;-moz-tab-size:4;tab-size:4}.diag-pre-error{max-height:200px;color:var(--danger);white-space:pre-wrap}.diag-redacted{margin:0;font-size:.75rem;color:var(--muted)}.diag-retry{align-self:flex-start}.diag-versions{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.78rem;color:var(--muted)}.diag-version-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:var(--text)}.diag-version-new{color:var(--accent)}.diag-version-tag{padding:1px 7px;border-radius:999px;font-size:.72rem;font-weight:600}.diag-version-tag-ok{background-color:#2ea04326;color:var(--success)}.diag-version-tag-new{background-color:#2f81f726;color:var(--accent)}.logo-radar{position:relative;display:inline-block;flex:none}.logo-radar .logo-arc{position:absolute;left:0;bottom:0;border-style:solid;border-color:var(--accent);border-right-color:transparent;border-top-color:transparent;border-radius:50%;box-sizing:border-box}.logo-radar .logo-arc-1{width:42%;height:42%;border-width:2px;opacity:.95}.logo-radar .logo-arc-2{width:72%;height:72%;border-width:2px;opacity:.6}.logo-radar .logo-arc-3{width:100%;height:100%;border-width:2px;opacity:.32}.logo-radar .logo-dot{position:absolute;left:-2px;bottom:-2px;width:22%;height:22%;min-width:5px;min-height:5px;border-radius:50%;background-color:var(--accent);box-shadow:0 0 6px #2f81f7b3}.brand-mark{display:inline-flex;align-items:center;gap:8px;min-width:0}.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand-name{font-weight:700;font-size:1rem;letter-spacing:.01em;color:var(--text);white-space:nowrap}.brand-subtitle{font-size:.7rem;color:var(--muted)}.shell{display:flex;flex-direction:column;min-height:100%}.build-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:8px 12px;background-color:#2f81f724;border-bottom:1px solid var(--accent);color:var(--text);font-size:.82rem;text-align:center}.build-banner-btn{flex:none;background-color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:5px 14px;color:#fff;font-weight:700;font-size:.78rem;cursor:pointer}.shell-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background-color:var(--panel)}.shell-header-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.shell-header-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}.shell-main{flex:1 1 auto;padding:12px;overflow-y:auto}.shell-with-bottomnav .shell-main{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.shell-build-footer{margin:24px 0 4px;padding-top:10px;border-top:1px solid var(--border);color:var(--muted);font-size:.7rem;text-align:center}.site-switcher{position:relative;min-width:0}.site-switcher-name{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw;display:inline-block}.site-switcher-static{padding:4px 0}.site-switcher-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid transparent;border-radius:6px;padding:4px 8px;cursor:pointer}.site-switcher-btn:hover{border-color:var(--border)}.site-switcher-caret{color:var(--muted);font-size:.7rem}.site-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:200px;max-width:70vw;list-style:none;margin:0;padding:4px;background-color:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006}.site-option{display:block;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:8px 10px;color:var(--text);font-size:.85rem;cursor:pointer}.site-option:hover{background-color:var(--bg)}.site-option.active{color:var(--accent);font-weight:600}.section-nav-desktop{display:none}.section-btn{background:none;border:none;border-radius:6px;padding:8px 14px;color:var(--muted);font-size:.88rem;font-weight:600;cursor:pointer}.section-btn:hover{color:var(--text)}.section-btn.active{color:var(--text);background-color:var(--bg)}.section-nav-mobile{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:stretch;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background-color:var(--panel);box-shadow:0 -6px 20px #00000059}@supports ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))){.section-nav-mobile{background-color:#121a24d1;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}}.section-btn-mobile{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;background:none;border:none;padding:0;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.section-btn-mobile-pill{display:flex;align-items:center;justify-content:center;width:54px;max-width:100%;height:26px;border-radius:999px;background-color:transparent;transition:background-color .15s ease,transform .15s ease}.section-btn-mobile .nav-icon{width:22px;height:22px;flex:none}.section-btn-mobile-label{font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1.1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.section-btn-mobile.active{color:var(--accent)}.section-btn-mobile.active .section-btn-mobile-pill{background-color:#2f81f729}.section-btn-mobile:active .section-btn-mobile-pill{transform:scale(.92)}.avatar-menu{position:relative;flex:none}.avatar-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:none;padding:0;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent}.avatar-circle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--accent);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:200px;background-color:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px;box-shadow:0 8px 24px #0006}.avatar-dropdown-name{margin:0;font-weight:600;font-size:.88rem;overflow-wrap:anywhere}.avatar-dropdown-email{margin:2px 0 10px;font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}.avatar-dropdown-lang{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding-top:10px;border-top:1px solid var(--border)}.avatar-dropdown-lang-label{font-size:.76rem;color:var(--muted)}.avatar-dropdown-action{width:100%;background-color:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-weight:600;font-size:.84rem;cursor:pointer;margin-bottom:8px}.avatar-dropdown-action:hover{border-color:var(--accent)}.avatar-dropdown-signout{width:100%;background-color:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--danger);font-weight:600;font-size:.84rem;cursor:pointer}.avatar-dropdown-signout:hover{border-color:var(--danger)}.shell-tabs{position:relative;background-color:var(--panel);border-bottom:1px solid var(--border)}.shell-tabs-scroller{display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:3px 12px}.shell-tabs-scroller::-webkit-scrollbar{display:none}.shell-tabs:before,.shell-tabs:after{content:"";position:absolute;top:0;bottom:0;width:28px;z-index:1;pointer-events:none;opacity:0;transition:opacity .15s ease}.shell-tabs:before{left:0;background-image:linear-gradient(to right,var(--panel),rgba(18,26,36,0))}.shell-tabs:after{right:0;background-image:linear-gradient(to left,var(--panel),rgba(18,26,36,0))}.shell-tabs.fade-left:before,.shell-tabs.fade-right:after{opacity:1}.shell-tab-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;background-color:transparent;border:none;border-radius:999px;color:var(--muted);font-size:.86rem;font-weight:600;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,color .15s ease}.shell-tab-btn.active{color:var(--accent);background-color:#2f81f729}.splash-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100%;padding:24px}.splash-hint{margin:0;color:var(--muted);font-size:.84rem}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100%;padding:24px 16px}.auth-card{width:100%;max-width:380px;background-color:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px 22px}.auth-brand{display:flex;justify-content:center;margin-bottom:18px}.auth-title{margin:0 0 4px;font-size:1.2rem;text-align:center}.auth-subtitle{margin:0 0 18px;color:var(--muted);font-size:.84rem;text-align:center;line-height:1.4}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-field span{font-size:.8rem;color:var(--muted)}.auth-field input{background-color:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:.92rem}.auth-field input:focus{outline:none;border-color:var(--accent)}.auth-alert{background-color:#f851491f;border:1px solid var(--danger);color:var(--danger);border-radius:6px;padding:9px 10px;font-size:.82rem;margin:0}.auth-submit{display:block;width:100%;background-color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:11px;color:#fff;font-weight:700;font-size:.92rem;text-align:center;text-decoration:none;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-submit-link{margin-top:4px}.auth-submit-ghost{margin-top:18px;background-color:transparent;border-color:var(--border);color:var(--text)}.auth-footer{margin-top:18px;text-align:center}.auth-footer-line{margin:6px 0;font-size:.82rem;color:var(--muted)}.auth-footer-line a{color:var(--accent);text-decoration:none}.auth-footer-line a:hover{text-decoration:underline}.auth-confirm-box{display:flex;flex-direction:column;gap:12px;font-size:.88rem;line-height:1.5}.auth-confirm-box p{margin:0}.auth-confirm-hint{color:var(--muted);font-size:.82rem}.auth-disclaimer{max-width:380px;text-align:center;color:var(--muted);font-size:.72rem;line-height:1.4;margin:0}.pending-box{display:flex;flex-direction:column;gap:10px;font-size:.88rem;line-height:1.5;color:var(--text)}.pending-box p{margin:0}.convites-box{display:flex;flex-direction:column;gap:12px;margin-top:16px;font-size:.88rem;line-height:1.45}.convites-titulo{margin:0;font-size:.95rem}.convites-item{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg)}.convites-item p,.convites-ok{margin:0}.convites-frase{font-weight:600}.convites-muted{margin:0;color:var(--muted);font-size:.8rem}.convites-acoes{display:flex;gap:8px;margin-top:4px}.convites-acoes .auth-submit{flex:1}.convites-recusar{margin-top:0}.convite-banner{display:block;margin:0 0 12px;padding:10px 12px;border:1px solid var(--accent);border-radius:8px;background-color:#2f81f71a;color:var(--text);font-size:.86rem;text-decoration:none}.convite-banner strong{color:var(--accent)}.placeholder-page{display:flex;flex-direction:column;gap:10px}.placeholder-header{display:flex;align-items:center;gap:10px}.placeholder-header h2{margin:0}.placeholder-badge{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 9px}.placeholder-desc{margin:0;color:var(--muted);font-size:.86rem;line-height:1.4}.placeholder-card{border:1px dashed var(--border);border-radius:10px;padding:32px 16px;display:flex;align-items:center;justify-content:center;min-height:160px}.placeholder-empty{margin:0;color:var(--muted);font-size:.86rem}@media (min-width: 768px){.shell-main,.shell-with-bottomnav .shell-main{padding:20px 24px}.section-nav-desktop{display:flex;gap:4px}.section-nav-mobile{display:none}.shell-tabs:before,.shell-tabs:after{content:none}.shell-tabs-scroller{gap:2px;padding:0 24px}.shell-tab-btn{min-height:0;padding:10px 12px;border-radius:0;border-bottom:2px solid transparent;font-size:.82rem}.shell-tab-btn.active{color:var(--text);background-color:transparent;border-bottom-color:var(--accent)}.site-switcher-name{max-width:34vw}.avatar-dropdown-lang{display:none}.auth-card{padding:32px 28px}}@media (prefers-reduced-motion: reduce){.section-btn-mobile,.section-btn-mobile-pill,.shell-tab-btn,.shell-tabs:before,.shell-tabs:after{transition:none}.section-btn-mobile:active .section-btn-mobile-pill{transform:none}}:root{--bg: #0b0f14;--panel: #121a24;--text: #e6edf3;--accent: #2f81f7;--danger: #f85149;--success: #2ea043;--muted: #8b949e;--border: #253141}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}button,input,select{font:inherit;color:inherit}h1,h2,h3{font-weight:600}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-header{padding:10px 16px;border-bottom:1px solid var(--border);background-color:var(--panel)}.app-header h1{margin:0;font-size:1.1rem;letter-spacing:.02em}.app-nav{display:flex;border-bottom:1px solid var(--border);background-color:var(--panel)}.nav-btn{flex:1 1 0;padding:10px 4px;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:.78rem;line-height:1.2;cursor:pointer}.nav-btn.active{color:var(--text);border-bottom-color:var(--accent)}.app-main{flex:1 1 auto;padding:12px;overflow-y:auto}.page-placeholder{padding:24px 12px;text-align:center;color:var(--muted)}.line-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}.config-section{border:1px solid var(--border);border-radius:8px;padding:12px;margin:0 0 16px}.config-section legend{padding:0 6px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:999px;background-color:var(--bg)}.lang-btn{background:none;border:none;border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:var(--muted);cursor:pointer}.lang-btn:hover{color:var(--text)}.lang-btn.active{color:var(--text);background-color:var(--panel);box-shadow:inset 0 0 0 1px var(--border)}.lang-switch-auth{align-self:center}.lang-switch-header{display:none}.lang-switch-menu .lang-btn{padding:7px 12px;font-size:.74rem}@media (min-width: 768px){.lang-switch-header{display:inline-flex}}
