@layer rp-layout {
  /* Ronda Pro · Canonical visual system. Structure retains its own cascade layer.
   Red glow alpha .46 -> .529 and .20 -> .23: +15% intensity; hue stays pure red.
   rp-layout owns intentional field geometry; other rules own visual treatment. */
  :root {
    --rp-red: #ff1722 !important;
    --rp-red-rgb: 255,23,34 !important;
    --rp-neon: 0 0 3px rgba(var(--rp-red-rgb),.529),0 0 12px rgba(var(--rp-red-rgb),.23) !important;
    --rp-blue: #53bcff !important;
    --rp-ink: #eff6fc !important;
    --rp-soft: #c2d2df !important;
    --rp-rule: #9ab4c32b !important;
    --rp-glass: rgba(27,37,46,.67) !important;
    --rp-deep: #151c23 !important;
    --rp-radius: 12px !important;
    color-scheme: dark !important
  }
  body.rp-theme {
    margin: 0 !important;
    background: radial-gradient(ellipse at 85% 0%,#33404a 0,transparent 52%),radial-gradient(ellipse at 8% 95%,#30252a 0,transparent 45%),#171e25 !important;
    color: var(--rp-ink) !important;
    font-family: Inter,"Segoe UI",Arial,sans-serif !important
  }
  .rp-theme :is(button,input,textarea,select) {
    font-family: inherit !important
  }
  .rp-theme :is(h1,h2,h3,h4) {
    font-family: inherit !important;
    color: var(--rp-ink) !important;
    letter-spacing: -.025em !important
  }
  .rp-theme h1 {
    font-size: clamp(25px,2.5vw,36px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important
  }
  .rp-theme h2 {
    font-size: 19px !important
  }
  .rp-theme :is(p,small,.muted) {
    color: var(--rp-soft) !important
  }
  .rp-theme :is(.eyebrow,.rp2-nav-eyebrow,.side-caption) {
    color: var(--rp-blue) !important;
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    font-weight: 650 !important
  }
  .rp-theme a {
    color: inherit !important
  }
  .rp-theme :is(button,a,input,textarea,select,summary):focus-visible {
    outline: 2px solid var(--rp-blue) !important;
    outline-offset: 4px !important
  }
  .rp-theme :is(button,.button) {
    border: 1px solid #a1bed13d !important;
    background: #ffffff08 !important;
    color: var(--rp-ink) !important;
    border-radius: 7px !important;
    min-height: 40px !important;
    padding: 9px 15px !important;
    font-weight: 600 !important;
    box-shadow: none !important
  }
  .rp-theme :is(button,.button):hover {
    background: #ffffff12 !important;
    border-color: #a1bed17a !important
  }
  .rp-theme :is(button,.button):disabled {
    opacity: .5 !important;
    cursor: not-allowed !important
  }
  .rp-theme :is(button.primary,.button.primary,.rp-inspection-main-action) {
    background: linear-gradient(110deg,#075b99bb,#1478a4bb) !important;
    border-color: #4dbaffad !important;
    color: #f4fbff !important;
    box-shadow: inset 0 0 13px #53bcff13 !important
  }
  .rp-theme :is(input,textarea,select) {
    border: 1px solid #abc4d149 !important;
    border-radius: 7px !important;
    background: #101d2599 !important;
    color: var(--rp-ink) !important;
    min-height: 42px !important;
    padding: 10px 12px !important
  }
  /* Login tem alvos de toque próprios; corrigir no mesmo layer que define os mínimos. */
  .rp-theme #live-login-form input {
    min-height: 50px !important;
    font-size: 16px !important;
  }
  .rp-theme #live-login-form button[type="submit"] {
    min-height: 52px !important;
    font-size: 16px !important;
  }
  .rp-theme option {
    background: #202d37 !important
  }
  .rp-theme :is(dialog,.rp-record-dialog,.conclusion-dialog,.login:not(#live-login-form),.rp-popover-list) {
    background: rgba(25,35,44,.86) !important;
    color: var(--rp-ink) !important;
    border: 1px solid #899fad55 !important;
    border-radius: 12px !important;
    backdrop-filter: blur(20px) saturate(.8) !important;
    -webkit-backdrop-filter: blur(20px) saturate(.8) !important;
    box-shadow: 0 15px 65px #0005 !important
  }
  .rp-theme dialog::backdrop {
    background: #0d141b44 !important;
    backdrop-filter: blur(2px) !important
  }
  .rp-theme .login:not(#live-login-form) {
    border-top: 2px solid var(--rp-red) !important;
    box-shadow: 0 -2px 12px #ff17222b,0 18px 65px #0003 !important
  }
  .rp-theme .conclusion-frost {
    background: #0b141b77 !important;
    backdrop-filter: blur(8px) !important
  }
  /* Desktop is a continuous workspace. Functional boundaries use rules, not tiles. */
  .rp-theme :is(.dashboard,.app-shell,.shell-main,.app-content,.entry-screen,.workspace,.content,#app) {
    background: transparent !important
  }
  .rp-theme :is(.top,.app-header) {
    background: rgba(21,30,38,.8) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 0 !important;
    border-bottom: 1px solid #ff172256 !important;
    box-shadow: 0 1px 7px #ff172218 !important;
    color: var(--rp-ink) !important
  }
  .rp-theme :is(.sidebar,.side) {
    background: rgba(24,34,43,.67) !important;
    backdrop-filter: blur(18px) !important;
    border: 0 !important;
    border-right: 1px solid #ff17225f !important;
    border-radius: 0 !important;
    box-shadow: 2px 0 9px #ff17221f !important
  }
  .rp-theme :is(.side-link,.rp2-nav-item) {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: left !important;
    box-shadow: none !important;
    min-height: 47px !important;
    gap: 13px !important;
    font-weight: 500 !important;
    color: #d9e6ee !important
  }
  .rp-theme :is(.side-link.active,.rp2-nav-item.active) {
    border: 0 !important;
    border-left: 3px solid var(--rp-red) !important;
    background: linear-gradient(90deg,#ff172222,transparent) !important;
    box-shadow: inset 0 1px #ff17223b,inset 0 -1px #ff17223b !important;
    color: #fff !important
  }
  .rp-theme :is(.side-link,.rp2-nav-item) svg {
    color: #e4edf4 !important
  }
  .rp-theme :is(.surface,.card,.ops-card,.ops-map-card,.report-card,.schedule-workspace,.metric,.kpi,.v4-summary-metric,.v4-summary-callout,.v4-pane,.coi-demo-record,.rp-recent-activity,.coi3-surface,.coi3-kpis,.rp-coi-request-strip,.rp-event-column,.rp-event-card,.chat-conversation,.rp2-first-guide,.first-access-guide,.coi3-live-status,.coi3-site-label) {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    backdrop-filter: none !important
  }
  .rp-theme :is(.surface,.schedule-workspace,.rp-recent-activity,.coi-demo-content,.coi3-section) {
    border-top: 1px solid var(--rp-rule) !important;
    padding: 20px 0 !important;
    margin-top: 14px !important
  }
  .rp-theme :is(.metric,.v4-summary-metric,.kpi) {
    border-right: 1px solid var(--rp-rule) !important;
    padding: 10px 22px !important;
    min-height: 80px !important
  }
  .rp-theme :is(.metric,.v4-summary-metric,.kpi):last-child {
    border-right: 0 !important
  }
  .rp-theme :is(.metric strong,.v4-summary-metric strong) {
    font-size: 31px !important;
    font-weight: 600 !important
  }
  .rp-theme :is(.cards,.grid-kpis,.v4-summary-metrics,.coi3-kpis) {
    border-bottom: 1px solid var(--rp-rule) !important;
    border-top: 1px solid var(--rp-rule) !important;
    gap: 0 !important;
    background: none !important;
    border-radius: 0 !important
  }
  .rp-theme :is(.metric.urgent,.coi3-kpi.is-attention) {
    background: linear-gradient(90deg,#ff172214,transparent) !important;
    color: #ff8c92 !important
  }
  .rp-theme :is(.rp2-contextbar,.v4-dashboard-heading,.toolbar) {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important
  }
  .rp-theme .rp2-contextbar {
    border-bottom: 1px solid var(--rp-rule) !important;
    padding-bottom: 18px !important;
    margin-bottom: 20px !important
  }
  .rp-theme :is(.list-item,.team-row,.chat-conversation,.rp-event-card,.rp-recent-row) {
    border: 0 !important;
    border-bottom: 1px solid var(--rp-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important
  }
  .rp-theme :is(.rp-event-columns,.coi3-columns) {
    gap: 22px !important
  }
  .rp-theme .rp-event-column {
    border-top: 2px solid #ff17226b !important;
    padding: 14px 0 !important
  }
  .rp-theme .rp-event-card {
    padding: 17px 0 !important
  }
  .rp-theme :is(.rp-event-empty,.empty) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--rp-soft) !important
  }
  .rp-theme :is(.pill,.tag,.coi3-site-label,.v4-local-notice) {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--rp-soft) !important
  }
  .rp-theme :is(.rp-coi-request-strip,.coi-demo-request-strip) {
    border-left: 2px solid var(--rp-red) !important;
    padding: 12px 18px !important;
    background: linear-gradient(90deg,#ff172211,transparent) !important;
    border-radius: 0 !important
  }
  .rp-theme :is(.chat-layout,.chat-page) {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important
  }
  .rp-theme .chat-sidebar {
    background: #18242d66 !important;
    border: 0 !important;
    border-right: 1px solid var(--rp-rule) !important;
    border-radius: 0 !important
  }
  .rp-theme .chat-bubble {
    background: #243a4780 !important;
    border: 1px solid #a1bed126 !important;
    border-radius: 12px 12px 12px 2px !important
  }
  .rp-theme .chat-bubble.is-mine {
    background: #14639570 !important;
    border-radius: 12px 12px 2px 12px !important
  }
  .rp-theme :is(.chat-avatar,.field-chat-avatar,.avatar) {
    border: 1px solid var(--rp-blue) !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #f4faff !important
  }
  .rp-theme[data-rp-field=true] .rp-header-tools {
    gap: 15px !important
  }
  .rp-theme:not([data-rp-field=true]) .rp-header-tools {
    gap: 7px !important
  }
  .rp-theme .rp-blue-button {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #f3f8fc !important
  }
  .rp-theme :is(.top,.app-header) :is(button,summary) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important
  }
  .rp-theme :is(.top,.app-header) svg {
    width: 25px !important;
    height: 25px !important
  }
  /* Header-only geometry: management controls stay compact, field HUD is unchanged. */
  /* Icon-button padding must not inherit the 15px global control padding: at 36px wide it leaves only 6px for the menu and squeezes the avatar into an oval. */
  .rp-theme:not([data-rp-field=true]) .app-header :is(.app-menu-button,.rp-blue-button,.user-profile-button) {
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important
  }
  .rp-theme:not([data-rp-field=true]) .app-header :is(.app-menu-button,.rp-blue-button,.rp-header-popover>summary,.user-profile-button) .icon-svg {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important
  }
  .rp-theme .rp-popover-list {
    border-left: 1px solid var(--rp-red) !important;
    border-right: 1px solid var(--rp-red) !important;
    box-shadow: var(--rp-neon) !important
  }
  .rp-theme :is(.rp-popover-list,.side,.sidebar) {
    position: relative !important
  }
  .rp-theme .rp-popover-list {
    position: absolute !important
  }
  .rp-theme :is(.sidebar,.side)::after {
    content: '' !important;
    position: absolute !important;
    right: -1px !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 1px !important;
    background: linear-gradient(transparent,#ff1722,#ff4b31,#ff1722,transparent) !important;
    background-size: 100% 250% !important;
    animation: rp-neon-vertical 7s linear infinite !important;
    box-shadow: var(--rp-neon) !important;
    pointer-events: none !important
  }
  @keyframes rp-neon-vertical {
    to {
      background-position: 0 250%
    }
  }
  @keyframes rp-neon-horizontal {
    to {
      background-position: 250% 0
    }
  }
  /* Field retains the real map. No dark tint over cartography. */
  .rp-theme .maxvel-osm-dark-adapted,.rp-theme .leaflet-tile-pane {
    filter: none !important
  }
  .rp-theme .fallback-svg {
    background: #e7ece6 !important
  }
  .rp-theme .fallback-svg>rect:first-of-type {
    fill: #e7ece6 !important
  }
  .rp-theme .fallback-svg text {
    fill: #485a66 !important
  }
  .rp-theme .fallback-svg pattern path {
    stroke: #d3dbd6 !important
  }
  .rp-theme .fallback-svg pattern rect {
    fill: #e7ece6 !important
  }
  .rp-theme .fallback-svg line {
    stroke: #c6ceca !important
  }
  .rp-theme .fallback-svg .street {
    stroke: white !important
  }
  .rp-theme .rp-field-controls,.rp-theme .patrol-actions,.rp-theme .rp-inspection-commands {
    background: rgba(27,37,46,.59) !important;
    backdrop-filter: blur(18px) saturate(.85) !important;
    -webkit-backdrop-filter: blur(18px) saturate(.85) !important;
    border: 1px solid #a1bed13f !important;
    border-top: 2px solid var(--rp-red) !important;
    border-radius: 13px !important;
    box-shadow: 0 -2px 9px #ff17223b,0 10px 28px #14232d2b !important
  }
  .rp-theme .rp-field-controls:before {
    content: '' !important;
    position: absolute !important;
    top: -2px !important;
    left: 10px !important;
    right: 10px !important;
    height: 2px !important;
    background: linear-gradient(90deg,#d0141b33,#ff1722,#ff4930,#ff1722,#d0141b33) !important;
    background-size: 250% 100% !important;
    animation: rp-neon-horizontal 5s linear infinite !important;
    box-shadow: var(--rp-neon) !important;
    pointer-events: none !important
  }
  .rp-theme .rp-field-controls :is(.patrol-actions,.rp-inspection-commands) {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    backdrop-filter: none !important
  }
  .rp-theme :is(.rp-inspection-torch,.ux06-map-help,.rp-inspection-help,.rp-field-help) {
    background: rgba(27,37,46,.43) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid #ffffff66 !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 16px #13202c22 !important;
    color: #fff !important
  }
  .rp-theme :is(.patrol-map-heading,.rp-inspection-route-bar) {
    background: rgba(27,37,46,.65) !important;
    backdrop-filter: blur(16px) !important;
    border: 1px solid #a1bed13f !important;
    border-left: 3px solid var(--rp-red) !important;
    border-radius: 12px !important;
    box-shadow: 0 0 6px #ff172230 !important;
    color: #fff !important
  }
  .rp-theme :is(.patrol-map-heading-copy strong,.patrol-map-heading-copy small) {
    color: #f0f6fc !important
  }
  .rp-theme :is(.rp-compact-actions,.rp-inspection-map-actions,.ops-field-buttons) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important
  }
  .rp-theme :is(.rp-compact-actions,.rp-inspection-map-actions,.ops-field-buttons)>button {
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    font-size: 10px !important;
    min-height: 46px !important;
    color: #f3f8fb !important
  }
  .rp-theme :is(.rp-compact-actions,.rp-inspection-map-actions,.ops-field-buttons)>button+button {
    border-left: 1px solid #a1bed13f !important
  }
  .rp-theme .rp-field-controls button svg {
    width: 22px !important;
    height: 22px !important
  }
  .rp-theme :is(.patrol-action-heading,.rp-inspection-sheet-heading) {
    border-bottom: 0 !important;
    background: transparent !important
  }
  .rp-theme :is(.patrol-step-tag,.rp-inspection-step-label) {
    font-size: 9px !important;
    color: var(--rp-soft) !important;
    letter-spacing: 1px !important
  }
  .rp-theme :is(.patrol-primary-title,.rp-inspection-destination) {
    font-size: 21px !important;
    color: #fff !important
  }
  .rp-theme .rp-field-chat-overlay {
    background: rgba(25,35,44,.97) !important;
    border: 1px solid var(--rp-red) !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: var(--rp-neon) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important
  }
  .rp-theme .field-chat-surface {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important
  }
  .rp-theme :is(.field-chat-compose,.chat-compose) {
    border: 1px solid #d7e5ed88 !important;
    border-radius: 28px !important;
    background: transparent !important
  }
  .rp-theme :is(.field-chat-compose button[type=submit],.chat-compose button[type=submit]) {
    background: #108bc8 !important;
    border: 1px solid #53bcff !important;
    border-radius: 25px !important;
    color: #fff !important
  }
  .rp-theme .rp-chat-grip {
    display: grid !important;
    place-items: center !important;
    min-height: 44px !important;
    touch-action: none !important;
    border: 0 !important;
    background: transparent !important;
    width: 100% !important;
    padding: 6px 0 max(7px,env(safe-area-inset-bottom)) !important;
    color: #fff !important
  }
  .rp-theme .rp-chat-grip svg {
    width: 27px !important;
    height: 27px !important
  }
  .rp-theme .rp-field-chat-overlay-head {
    background: none !important;
    border: 0 !important;
    touch-action: none !important
  }
  .rp-theme .field-chat-empty {
    color: var(--rp-blue) !important
  }
  .rp-theme .field-chat-empty:before {
    content: '▤' !important;
    display: block !important;
    font-size: 32px !important;
    color: var(--rp-blue) !important
  }
  .rp-theme :is(.rp-field-chat-overlay-head,.field-chat-topbar) {
    flex-shrink: 0 !important
  }
  .rp-theme .rp-field-chat-overlay .chat-page {
    min-height: 0 !important;
    flex: 1 !important
  }
  .rp-theme .rp-field-chat-overlay .chat-main {
    min-height: 0 !important
  }
  .rp-theme .rp-gesture-edge {
    position: fixed !important;
    z-index: 4900 !important;
    top: 36% !important;
    height: 22% !important;
    width: 48px !important;
    touch-action: none !important;
    display: grid !important;
    place-items: center !important
  }
  .rp-theme .rp-gesture-edge.left {
    left: 22px !important
  }
  .rp-theme .rp-gesture-edge.right {
    right: 22px !important
  }
  .rp-theme .rp-gesture-edge:after {
    content: '' !important;
    height: 42px !important;
    width: 3px !important;
    border-radius: 4px !important;
    background: #263b4e66 !important;
    box-shadow: 0 0 0 1px #ffffff55 !important
  }
  .rp-theme .rp-drawer-handle {
    min-height: 44px !important;
    touch-action: none !important;
    border: 0 !important;
    background: none !important;
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    padding: 8px 18px !important;
    color: #fff !important
  }
  .rp-theme .rp-drawer-handle svg {
    width: 24px !important;
    height: 24px !important
  }
  /* Explicit layout ownership, ahead of the structural layer for !important rules. */
  .rp-theme[data-rp-field=true] :is(.app-header,.top) {
    position: fixed!important;
    inset: 0 0 auto!important;
    height: calc(68px + env(safe-area-inset-top,0px))!important;
    padding: env(safe-area-inset-top,0px) 18px 0!important;
    z-index: 5000!important;
    display: flex!important;
    align-items: center!important;
    background: rgba(23,32,41,.7)!important
  }
  .rp-theme[data-rp-field=true] :is(.app-content,#conteudo,.content) {
    padding: 0!important;
    margin: 0!important
  }
  .rp-theme[data-rp-field=true] :is(.rp2-contextbar,.page-title,.footer-app,.patrol-statusline,.patrol-map-footer,.rp-inspection-status-readout) {
    display: none!important
  }
  .rp-theme[data-rp-field=true] :is(.patrol-workspace,.rp-inspection-cockpit) {
    position: fixed!important;
    inset: 0!important;
    width: 100%!important;
    height: 100dvh!important;
    margin: 0!important;
    padding: 0!important;
    background: none!important;
    display: block!important
  }
  .rp-theme[data-rp-field=true] :is(.patrol-map-panel,.rp-inspection-map-panel,.patrol-map-canvas,.rp-inspection-map-canvas,.map-container.mini,.rp-inspector-map) {
    position: absolute!important;
    inset: 0!important;
    width: 100%!important;
    max-width: none!important;
    height: 100%!important;
    min-height: 100%!important;
    max-height: none!important;
    margin: 0!important;
    border: 0!important;
    border-radius: 0!important;
    background: #e7ece6!important;
    overflow: hidden!important
  }
  .rp-theme[data-rp-field=true] .rp-field-controls {
    position: fixed!important;
    bottom: max(28px,calc(env(safe-area-inset-bottom,0px) + 16px))!important;
    left: 50%!important;
    transform: translateX(-50%)!important;
    width: min(72%,360px)!important;
    max-height: 48dvh!important;
    overflow: auto!important;
    z-index: 4200!important;
    padding: 13px 13px 10px!important
  }
  .rp-theme[data-rp-field=true] .rp-field-controls :is(.patrol-actions,.rp-inspection-commands) {
    position: static!important;
    inset: auto!important;
    transform: none!important;
    width: 100%!important;
    max-width: none!important;
    height: auto!important;
    max-height: none!important;
    padding: 0!important;
    margin: 0!important;
    overflow: visible!important;
    display: block!important;
    background: none!important;
    border: 0!important;
    box-shadow: none!important
  }
  .rp-theme[data-rp-field=true] .rp-field-controls :is(.rp-compact-actions,.rp-inspection-map-actions,.ops-field-buttons) {
    position: static!important;
    inset: auto!important;
    transform: none!important;
    width: 100%!important;
    margin: 12px 0 0!important;
    padding: 0!important;
    height: auto!important;
    background: none!important;
    display: flex!important;
    gap: 0!important;
    box-shadow: none!important;
    border: 0!important
  }
  .rp-theme[data-rp-field=true] .rp-field-controls :is(.rp-compact-actions,.rp-inspection-map-actions,.ops-field-buttons)>button {
    position: static!important;
    flex: 1!important;
    width: auto!important;
    background: none!important;
    border-radius: 0!important;
    box-shadow: none!important;
    min-height: 45px!important;
    padding: 0 5px!important;
    color: #fff!important
  }
  .rp-theme[data-rp-field=true] :is(.patrol-map-heading,.rp-inspection-route-bar) {
    position: fixed!important;
    top: calc(83px + env(safe-area-inset-top,0px))!important;
    left: 18px!important;
    right: 18px!important;
    width: auto!important;
    height: 45px!important;
    min-height: 45px!important;
    z-index: 3000!important;
    margin: 0!important;
    padding: 8px 12px!important
  }
  .rp-theme[data-rp-field=true] .patrol-map-heading-copy small {
    display: none!important
  }
  .rp-theme[data-rp-field=true] .patrol-map-heading-copy strong {
    font-size: 12px!important
  }
  .rp-theme[data-rp-field=true] :is(.ops-panic,.rp-inspection-panic) {
    position: fixed!important;
    top: 159px!important;
    left: 20px!important;
    right: auto!important;
    bottom: auto!important;
    width: 64px!important;
    height: 64px!important;
    border-radius: 50%!important;
    z-index: 4300!important
  }
  .rp-theme[data-rp-field=true] :is(.ux06-map-help,.rp-inspection-help,.rp-field-help) {
    position: fixed!important;
    top: 235px!important;
    left: 31px!important;
    right: auto!important;
    bottom: auto!important;
    width: 42px!important;
    height: 42px!important;
    border-radius: 50%!important;
    z-index: 4300!important
  }
  .rp-theme[data-rp-field=true] .rp-inspection-torch {
    position: fixed!important;
    top: 159px!important;
    right: 20px!important;
    bottom: auto!important;
    width: 66px!important;
    height: 66px!important;
    border-radius: 50%!important;
    z-index: 4300!important
  }
  .rp-theme .rp-field-chat-overlay {
    position: fixed!important;
    inset: calc(68px + env(safe-area-inset-top,0px)) 5% 0!important;
    margin: 0!important;
    width: 90%!important;
    max-width: none!important;
    height: calc(100dvh - 68px - env(safe-area-inset-top,0px))!important;
    max-height: calc(100dvh - 68px - env(safe-area-inset-top,0px))!important;
    padding: 12px 0 calc(8px + env(safe-area-inset-bottom,0px))!important;
    border-radius: 15px 15px 0 0!important;
    overflow: hidden!important
  }
  .rp-theme .rp-field-chat-overlay[open] {
    display: flex!important;
    flex-direction: column!important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-screen {
    height: 100%!important;
    width: 100%!important;
    border: 0!important;
    display: flex!important;
    flex-direction: column!important;
    padding: 0!important;
    min-height: 0!important;
    background: transparent!important;
    box-shadow: none!important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-surface {
    flex: 1!important;
    min-height: 0!important;
    overflow: auto!important;
    padding: 0 16px!important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-conversation {
    height: 100%!important;
    display: flex!important;
    flex-direction: column!important;
    min-height: 0!important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-thread {
    flex: 1!important;
    min-height: 0!important;
    overflow: auto!important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-compose {
    flex-shrink: 0!important;
    margin: 10px 0!important;
    position: static!important
  }
  .rp-theme .rp-field-chat-overlay-head {
    padding: 8px 20px!important
  }
  .rp-theme .rp-field-chat-overlay-head>button {
    display: none!important
  }
  @media(min-width:1000px) {
    .rp-theme .workspace {
      grid-template-columns: 220px minmax(0,1fr) !important;
      gap: 28px !important
    }
    .rp-theme .app-shell {
      grid-template-columns: 220px minmax(0,1fr) !important
    }
    .rp-theme main#conteudo {
      max-width: none !important;
      padding: 25px 32px 40px !important
    }
    .rp-theme .side {
      padding: 14px 14px 20px 0 !important;
      align-self: stretch !important
    }
    .rp-theme .content {
      padding: 0 !important
    }
    .rp-theme .rp2-nav-secondary {
      margin-top: 22px !important
    }
    .rp-theme .rp2-nav-secondary summary {
      font-size: 10px !important;
      letter-spacing: 1.3px !important;
      text-transform: uppercase !important
    }
    .rp-theme .rp2-context-copy strong {
      font-size: 17px !important
    }
    .rp-theme .rp2-context-copy small {
      display: block !important;
      margin-top: 4px !important
    }
    .rp-theme .rp2-first-guide {
      border-left: 2px solid #53bcff88 !important;
      background: #53bcff08 !important;
      padding: 14px 18px !important
    }
    .rp-theme .top {
      padding-left: 32px !important;
      padding-right: 32px !important;
      height: 76px !important
    }
  }
  @media(max-width:900px) {
    .rp-theme .rp2-workspace {
      display: block !important
    }
    .rp-theme .side.rp2-role-nav {
      background: rgba(25,35,44,.8) !important;
      backdrop-filter: blur(20px) !important;
      border-right: 1px solid var(--rp-red) !important
    }
    .rp-theme .rp-compact-actions {
      gap: 0 !important
    }
    .rp-theme .rp-inspection-instruction {
      font-size: 11px !important
    }
    .rp-theme[data-rp-field=true] .app-header .brand-title {
      font-size: 17px !important
    }
    .rp-theme .cards {
      grid-template-columns: repeat(2,minmax(0,1fr)) !important
    }
    .rp-theme .metric {
      padding: 12px !important
    }
    .rp-theme .rp-event-columns {
      gap: 14px !important
    }
  }
  @media(prefers-reduced-motion:reduce) {
  }
  @media print {
    body.rp-theme {
      background: #fff !important;
      color: #111 !important
    }
    .rp-theme :is(.rp-gesture-edge,.rp-chat-grip) {
      display: none !important
    }
    .rp-theme :is(.surface,.content,.chat-bubble,.chat-bubble.is-mine) {
      background: #fff !important;
      color: #111 !important;
      box-shadow: none !important;
      backdrop-filter: none !important
    }
    .rp-theme :is(h1,h2,h3,p,small) {
      color: #111 !important
    }
  }
  .rp-theme .patrol-communication-bar {
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 10px 0 0 !important
  }
  .rp-theme .patrol-communication-actions {
    display: flex !important;
    gap: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important
  }
  .rp-theme .patrol-communication-actions>button {
    flex: 1 !important;
    border: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: 46px !important;
    padding: 0 5px !important;
    font-size: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    color: #fff !important
  }
  .rp-theme .patrol-communication-actions>button+button {
    border-left: 1px solid #ffffff33 !important
  }
  .rp-theme .patrol-communication-note {
    display: none !important
  }
  .rp-theme .patrol-communication-actions [data-ops=central-alert] svg {
    color: #facc15 !important
  }
  .rp-theme .patrol-communication-actions [data-ops=incident-quick] svg {
    color: var(--rp-blue) !important
  }
  .rp-theme[data-rp-field=true] .patrol-communication-bar {
    position: static!important;
    inset: auto!important;
    transform: none!important;
    margin: 10px 0 0!important;
    padding: 0!important;
    width: 100%!important;
    max-width: none!important;
    background: none!important;
    border: 0!important;
    box-shadow: none!important
  }
  .rp-theme[data-rp-field=true] .patrol-communication-actions {
    display: flex!important;
    gap: 0!important
  }
  .rp-theme[data-rp-field=true] .patrol-communication-actions>button {
    flex: 1!important;
    min-width: 0!important;
    min-height: 46px!important;
    height: auto!important;
    padding: 0 5px!important;
    border: 0!important;
    border-radius: 0!important;
    background: none!important;
    box-shadow: none!important;
    color: #fff!important
  }
  .rp-theme[data-rp-field=true] .patrol-communication-actions>button+button {
    border-left: 1px solid #ffffff33!important
  }
  .rp-theme[data-rp-field=true] .rp-inspection-map-hud {
    position: static!important;
    background: none!important;
    border: 0!important;
    box-shadow: none!important;
    padding: 0 0 9px!important
  }
  .rp-theme #dialog.rp-side-drawer[open] {
    position: fixed!important;
    inset: 0 auto 0 0!important;
    width: 84vw!important;
    max-width: 430px!important;
    max-height: 100dvh!important;
    height: 100dvh!important;
    margin: 0!important;
    padding: 24px 18px!important;
    border: 0!important;
    border-right: 1px solid var(--rp-red)!important;
    border-radius: 0 14px 14px 0!important;
    box-shadow: var(--rp-neon)!important;
    overflow: auto!important
  }
  .rp-theme .rp-notification-popover[open]>.rp-popover-list {
    background: rgba(25,35,44,.97) !important;
    backdrop-filter: blur(20px) saturate(.8) !important;
    -webkit-backdrop-filter: blur(20px) saturate(.8) !important;
    border: 0 !important;
    border-left: 1px solid var(--rp-red) !important;
    box-shadow: var(--rp-neon) !important;
    color: var(--rp-ink) !important;
    position: fixed!important;
    inset: calc(68px + env(safe-area-inset-top,0px)) 0 0 auto!important;
    width: min(82vw,380px)!important;
    max-width: min(82vw,380px)!important;
    height: calc(100dvh - 68px - env(safe-area-inset-top,0px))!important;
    max-height: calc(100dvh - 68px - env(safe-area-inset-top,0px))!important;
    border-radius: 15px 0 0 15px!important;
    padding: 20px 16px!important;
    z-index: 5500!important;
    overflow-x: hidden!important;
    overflow-y: auto!important;
    overscroll-behavior-y: contain!important;
    touch-action: pan-y!important
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header>.brand {
      position: absolute!important;
      left: 50%!important;
      top: 50%!important;
      transform: translate(-50%,-50%)!important;
      width: 165px!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header .header-actions {
      margin-left: auto!important;
      gap: 13px!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header .user-profile-button {
      position: fixed!important;
      left: 64px!important;
      top: 16px!important;
      background: transparent!important;
      border: 0!important;
      width: 36px!important;
      padding: 0!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header .user-profile-button>.avatar {
      display: grid!important;
      place-items: center!important;
      width: 35px!important;
      height: 35px!important;
      border: 1px solid var(--rp-blue)!important;
      background: transparent!important;
      border-radius: 50%!important;
      font-size: 19px!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header .user-profile-button>span:not(.avatar),.rp-theme[data-rp-field=true] .app-header .user-profile-button>svg {
      display: none!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header .app-menu-button {
      width: 35px!important;
      border: 0!important;
      background: none!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header :is(.rp-blue-button,.help-toggle) {
      background: none!important;
      border: 0!important;
      box-shadow: none!important;
      width: 34px!important;
      padding: 0!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header .rp-header-tools {
      gap: 13px!important;
      flex-direction: row-reverse!important
    }
  }
  @media (max-width:900px) {
    .rp-theme[data-rp-field=true] .app-header .rp-blue-button>span {
      display: none!important
    }
  }
  @media (prefers-reduced-motion:reduce) {
    .rp-theme *,.rp-theme *:before,.rp-theme *:after {
      animation: none!important;
      transition: none!important;
      scroll-behavior: auto!important
    }
  }
  .rp-theme :is(.coi3-stats,.coi3-stats>div,.coi3-secondary,.coi3-alert,.coi3-onair,.coi3-site,.ops-notification-row,.rp-event-columns) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important
  }
  .rp-theme .coi3-stats {
    border-top: 1px solid var(--rp-rule) !important;
    border-bottom: 1px solid var(--rp-rule) !important;
    gap: 0 !important
  }
  .rp-theme .coi3-stats>div {
    border-right: 1px solid var(--rp-rule) !important;
    padding: 16px 20px !important
  }
  .rp-theme .coi3-secondary {
    border-top: 1px solid var(--rp-rule) !important;
    padding: 20px 0 !important;
    margin-top: 20px !important
  }
  .rp-theme :is(.coi3-alert,.ops-notification-row) {
    border-bottom: 1px solid var(--rp-rule) !important;
    padding: 17px 8px !important
  }
  .rp-theme .coi3-alert.is-panic {
    border-left: 2px solid var(--rp-red) !important;
    padding-left: 14px !important
  }
  .rp-theme .rp-event-columns {
    align-items: start !important;
    min-height: 0 !important
  }
  .rp-theme .rp-event-column {
    border-top: 2px solid #ff172278 !important;
    min-height: 0 !important
  }
  .rp-theme .rp-event-column>header {
    background: transparent !important;
    border-bottom: 1px solid var(--rp-rule) !important
  }
  .rp-theme .ops-notification-row>span:first-child {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important
  }
  .rp-theme .rp2-workspace {
    align-items: start !important
  }
  .rp-theme .side.rp2-role-nav {
    margin-top: 0 !important;
    align-self: start !important;
    top: 96px !important
  }
  .rp-theme[data-rp-field=true] .app-header>.user-profile-button {
    position: absolute !important;
    left: 64px !important;
    top: 16px !important;
    width: 35px !important;
    min-width: 35px !important;
    height: 35px !important;
    min-height: 35px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border: 0 !important
  }
  .rp-theme[data-rp-field=true] .app-header .app-menu-button {
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 35px !important;
    min-width: 35px !important;
    flex-shrink: 0 !important
  }
  .rp-theme[data-rp-field=true] .app-header .app-menu-button svg {
    width: 25px !important;
    min-width: 25px !important;
    height: 25px !important;
    flex-shrink: 0 !important
  }
  .rp-theme[data-rp-field=true] :is(.field-torch-fab,.rp-inspection-torch) {
    position: fixed !important;
    top: 159px !important;
    right: 20px !important;
    left: auto !important;
    bottom: auto !important;
    width: 66px !important;
    height: 66px !important;
    border-radius: 50% !important;
    background: rgba(27,37,46,.94) !important;
    border: 1px solid #ffffff66 !important;
    backdrop-filter: blur(16px) !important;
    color: #fff !important;
    z-index: 4300 !important;
    box-shadow: 0 4px 16px #13202c22 !important
  }
  .rp-theme[data-rp-field=true] :is(.ops-panic,.rp-inspection-panic) {
    background: linear-gradient(140deg,#ff2432,#d40c20) !important;
    border: 1px solid #ffadb4 !important;
    box-shadow: 0 0 14px #ff172259 !important;
    color: #fff !important;
    padding: 6px !important
  }
  .rp-theme[data-rp-field=true] :is(.ux06-map-help,.rp-inspection-help) {
    background: rgba(27,37,46,.52) !important;
    border: 1px solid #ffffff66 !important;
    backdrop-filter: blur(16px) !important;
    color: #53bcff !important
  }
  .rp-theme .rp-field-controls :is(.patrol-action-heading,.rp-inspection-sheet-heading) {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 0 10px !important;
    min-height: 24px !important
  }
  .rp-theme .rp-field-controls :is(.patrol-action-heading strong,.rp-inspection-sheet-heading strong) {
    font-size: 10px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    min-width: 0 !important;
    flex-shrink: 1 !important
  }
  .rp-theme .rp-field-controls .patrol-stage-index {
    font-size: 7px !important;
    letter-spacing: .25px !important;
    white-space: nowrap !important;
    margin-left: auto !important;
    margin: 0 !important
  }
  .rp-theme .rp-field-controls :is(.patrol-sheet-toggle,[data-inspection-circuit-open]) {
    min-width: 26px !important;
    min-height: 26px !important;
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    font-size: 0 !important;
    background: transparent !important;
    border: 0 !important
  }
  .rp-theme .rp-field-controls :is(.patrol-sheet-toggle,[data-inspection-circuit-open]):after {
    content: "⋯" !important;
    font-size: 22px !important
  }
  .rp-theme .rp-field-controls :is(.patrol-action-body,.patrol-primary-flow,.rp-inspection-commands-body) {
    padding: 0 !important;
    gap: 8px !important
  }
  .rp-theme .rp-field-controls :is(.rp-inspection-destination,.patrol-stage-intro h2) {
    font-size: 21px !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
    margin: 0 0 6px !important
  }
  .rp-theme .rp-field-controls :is(.patrol-stage-intro p,.rp-inspection-instruction) {
    font-size: 11px !important;
    line-height: 1.4 !important
  }
  .rp-theme .rp-field-controls .patrol-communication-actions {
    width: 100% !important;
    max-width: none !important
  }
  .rp-theme .rp-field-controls .patrol-communication-actions>button {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    font-size: 10px !important;
    line-height: 1.3 !important
  }
  .rp-theme[data-rp-field=true] .patrol-map-heading>button {
    padding: 0 !important;
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    min-height: 31px !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    border: 0 !important
  }
  .rp-theme[data-rp-field=true] .patrol-map-heading>button svg {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important
  }
  .rp-theme[data-rp-field=true] :is(.rp-inspection-help,.ux06-map-help,.field-torch-fab,.rp-inspection-torch) {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 4px !important
  }
  .rp-theme[data-rp-field=true] :is(.rp-inspection-help,.ux06-map-help,.field-torch-fab,.rp-inspection-torch) svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important
  }
  .rp-theme .rp-field-controls :is(.patrol-communication-bar,.patrol-communication-actions,.patrol-communication-actions>button,.patrol-communication-actions>button span) {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important
  }
  .rp-theme .rp-field-controls :is(.button.primary,button.primary,.rp-inspection-main-action) {
    border-radius: 24px !important
  }
  .rp-theme #dialog.rp-side-drawer>.dialog-close {
    display: none !important
  }
  .rp-theme .field-chat-contact-row {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rp-rule) !important;
    border-radius: 0 !important;
    box-shadow: none !important
  }
  .rp-theme .field-chat-surface>.button.primary {
    flex: 0 0 auto !important;
    align-self: stretch !important;
    min-height: 48px !important;
    max-height: 54px !important;
    width: 100% !important;
    margin-top: 15px !important
  }
  .rp-theme .rp-field-chat-overlay .chat-workspace {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important
  }
  .rp-theme .rp-field-chat-overlay .chat-composer {
    background: #17212b55 !important;
    border: 1px solid #d7e5ed66 !important;
    border-radius: 22px !important;
    margin: 10px !important;
    padding: 10px !important
  }
  .rp-theme .rp-field-chat-overlay .chat-composer textarea {
    background: transparent !important;
    border: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 8px !important
  }
  .rp-theme .rp-field-chat-overlay .chat-compose-tools {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    align-items: center !important
  }
  .rp-theme .rp-field-chat-overlay .chat-compose-tools button:not([type=submit]),
  .rp-theme .rp-field-chat-overlay .chat-attach {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    padding: 6px !important;
    display: grid !important;
    place-items: center !important
  }
  .rp-theme .rp-field-chat-overlay .chat-attach {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    min-height: 36px !important;
    padding: 6px !important;
    background: transparent !important;
    border: 0 !important
  }
  .rp-theme .rp-field-chat-overlay .chat-attach input {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    cursor: pointer !important;
    width: 100% !important
  }
  .rp-theme .rp-field-chat-overlay .chat-compose-tools button[type=submit] {
    margin-left: auto !important;
    background: #087cbd !important;
    border: 1px solid var(--rp-blue) !important;
    border-radius: 20px !important
  }
  .rp-theme .rp-field-chat-overlay .chat-sidebar {
    background: transparent !important
  }
  .rp-theme .ux-access-menu>button:not(.rp-drawer-handle) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 15px 12px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    min-height: 51px !important;
    text-align: left !important
  }
  .rp-theme .ux-access-menu>button.rp-menu-selected {
    border-left: 3px solid var(--rp-red) !important;
    background: linear-gradient(90deg,#ff17222e,transparent) !important;
    box-shadow: inset 0 1px #ff172244,inset 0 -1px #ff172244 !important
  }
  .rp-theme .rp-field-chat-overlay :is(.field-chat-thread,.field-chat-threadbar,.field-chat-topbar,.chat-thread,.chat-thread-heading,.chat-main,.field-chat-conversation) {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important
  }
  .rp-theme .rp-field-chat-overlay .rp-field-chat-overlay-head {
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 !important
  }
  .rp-theme .rp-field-chat-overlay .rp-field-chat-overlay-head strong {
    display: none !important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-topbar {
    padding: 15px 20px !important;
    height: auto !important;
    min-height: 78px !important;
    border: 0 !important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-topbar .field-chat-back {
    display: none !important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-compose input {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    flex: 1 !important;
    padding: 10px !important
  }
  .rp-theme .rp-field-chat-overlay .field-chat-threadbar button {
    border: 0 !important;
    background: none !important;
    min-width: 34px !important;
    width: 34px !important;
    padding: 0 !important
  }
  .rp-theme .rp-field-records {
    margin: 12px 0 0 !important;
    border-top: 1px solid var(--rp-rule) !important;
    padding: 10px 0 0 !important
  }
  .rp-theme .rp-field-records summary {
    font-size: 10px !important;
    color: var(--rp-soft) !important
  }
  .rp-theme .rp-field-page-overlay {
    position: fixed !important;
    inset: 83px 5% 22px !important;
    z-index: 4600 !important;
    overflow: auto !important;
    background: rgba(25,35,44,.78) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid #ff17229c !important;
    border-radius: 12px !important;
    padding: 18px !important;
    box-shadow: var(--rp-neon) !important;
    overscroll-behavior: contain !important
  }
  .rp-theme[data-rp-field=true] #central-panic {
    display: none !important
  }
  .rp-theme[data-rp-field=true][data-rp-role=ronda] #central-panic {
    display:flex!important;
    position:fixed!important;z-index:6500!important;
    left:max(12px,env(safe-area-inset-left,0px))!important;
    right:auto!important;top:calc(148px + env(safe-area-inset-top,0px))!important;bottom:auto!important;
    width:70px!important;height:70px!important;border-radius:50%!important;transform:none!important;
    opacity:1!important;filter:none!important;background:#b8233a!important;color:#fff!important;border:2px solid #ffc0c6!important;box-shadow:0 6px 24px #0008,0 0 0 2px #b8233a55!important;
  }
  .rp-theme[data-rp-field=true][data-rp-role=ronda] #central-panic strong {font-size:10px!important}

  .rp-theme[data-rp-field=true] .rp-field-quicktools {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 12px 0 0 !important;
    border: 0 !important;
    background: transparent !important
  }
  .rp-theme .rp-field-quicktools>button {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 0 5px !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-height: 46px !important
  }
  .rp-theme .rp-field-quicktools>button+button {
    border-left: 1px solid #ffffff33 !important
  }
  .rp-theme .rp-field-quicktools svg {
    width: 22px !important;
    height: 22px !important
  }
  .rp-theme .rp-field-quicktools [data-field-tool-alert] svg {
    color: #facc15 !important
  }
  .rp-theme .rp-field-quicktools [data-field-tool-incident] svg {
    color: var(--rp-blue) !important
  }
  .rp-theme .rp-field-quicktools [data-field-tool-chat] svg {
    color: #fff !important
  }
  .rp-theme .rp-field-controls [hidden] {
    display: none !important
  }
  .rp-theme .rp-field-controls [data-rp-guard-options] {
    min-width: 28px !important;
    min-height: 26px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 22px !important;
    margin-left: auto !important
  }
  .rp-theme .rp-field-controls .rp-inspection-map-hud strong {
    font-size: 19px !important
  }
  .rp-theme .rp-field-controls .rp-inspection-map-hud small {
    font-size: 11px !important
  }
  .rp-theme .rp-field-controls .rp-inspection-commands-body {
    font-size: 11px !important;
    line-height: 1.4 !important
  }
  .rp-theme[data-rp-field=true] .top>.brand {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%,-50%) !important;
    width: 166px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important
  }
  .rp-theme[data-rp-field=true] .top>.brand small {
    display: none !important
  }
  .rp-theme[data-rp-field=true] .top>.brand b {
    font-size: 16px !important
  }
  .rp-theme[data-rp-field=true] .top>.brand img {
    width: 28px !important;
    height: 28px !important
  }
  .rp-theme[data-rp-field=true] .top :is(#current-role,.top-actions>a,#exit) {
    display: none !important
  }
  .rp-theme[data-rp-field=true] .top .top-actions {
    margin-left: auto !important
  }
  .rp-theme[data-rp-field=true] .top [data-central-menu] {
    position: absolute !important;
    left: 18px !important;
    top: 13px !important;
    width: 35px !important;
    min-width: 35px !important;
    height: 42px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: none !important;
    border: 0 !important
  }
  .rp-theme[data-rp-field=true] .top .rp-field-profile {
    position: absolute !important;
    left: 64px !important;
    top: 16px !important;
    width: 35px !important;
    min-width: 35px !important;
    height: 35px !important;
    min-height: 35px !important;
    padding: 0 !important;
    border: 1px solid var(--rp-blue) !important;
    border-radius: 50% !important;
    background: transparent !important;
    font-size: 19px !important
  }
  .rp-theme[data-rp-field=true] .top .rp-header-tools {
    gap: 13px !important;
    flex-direction: row-reverse !important
  }
  .rp-theme[data-rp-field=true] .top .rp-blue-button>span {
    display: none !important
  }
  .rp-theme[data-rp-field=true] .top .rp-blue-button {
    padding: 0 !important;
    width: 34px !important;
    min-width: 34px !important;
    min-height: 42px !important;
    display: grid !important;
    place-items: center !important
  }
  .rp-drag-active,.rp-drag-active * {
    user-select: none !important;
    -webkit-user-select: none !important
  }
  .rp-theme .rp-gesture-edge {
    user-select: none !important;
    -webkit-user-select: none !important
  }
  .rp-theme[data-rp-field=true] :is(.header-actions,.top-actions,.rp-header-tools,.rp-header-popover,.ops-bell-bar,[data-chat-badge]) {
    transform: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    perspective: none !important;
    contain: none !important;
    will-change: auto !important
  }

  .rp-theme #central-root .rp2-nav-dismiss { display: none !important; }

  /* Operational motion: existing Glass surfaces keep their exact palette and geometry. */
  @keyframes rp-notice-arrive {
    from { opacity: 0; translate: 24px 0; filter: blur(5px); }
    to { opacity: 1; translate: 0 0; filter: blur(0); }
  }
  @keyframes rp-dialog-rise {
    from { opacity: 0; translate: 0 26px; }
    to { opacity: 1; translate: 0 0; }
  }
  @keyframes rp-menu-arrive {
    from { opacity: 0; translate: -22px 0; }
    to { opacity: 1; translate: 0 0; }
  }
  @keyframes rp-content-arrive {
    from { opacity: .4; translate: 0 10px; }
    to { opacity: 1; translate: 0 0; }
  }
  .rp-theme[data-rp-field=true] .rp-notification-popover[open]>.rp-popover-list {
    animation: rp-notice-arrive 340ms cubic-bezier(.2,.85,.25,1) both !important;
  }
  .rp-theme[data-rp-field=true] .rp-notification-popover[open]>.rp-drawer-handle {
    position: fixed !important;
    left: auto !important;
    right: calc(min(82vw,380px) - 22px) !important;
    top: clamp(140px,48dvh,620px) !important;
    width: 44px !important;
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid var(--rp-rule) !important;
    border-radius: 14px 0 0 14px !important;
    background: rgba(25,35,44,.96) !important;
    backdrop-filter: blur(14px) !important;
    z-index: 5520 !important;
    color: #e8f6ff !important;
  }
  .rp-theme[data-rp-field=true] #dialog.rp-side-drawer[open] {
    animation: rp-menu-arrive 340ms cubic-bezier(.2,.85,.25,1) both !important;
  }
  .rp-theme[data-rp-field=true] :is(.rp-field-chat-overlay[open],#rp-demo-chat-overlay[open]) {
    animation: rp-dialog-rise 360ms cubic-bezier(.18,.86,.25,1) both !important;
  }
  .rp-theme :is(.rp2-contextbar,.dashboard .app-content:not(.ronda-page)>section,.content>.surface) {
    animation: rp-content-arrive 290ms cubic-bezier(.2,.8,.2,1) both;
  }
  .rp-theme :is(.rp-field-controls button,.rp-header-tools button,.rp-header-tools summary,.rp-inspection-map-controls button,.patrol-sheet-toggle) {
    transition: color 200ms ease, background-color 220ms ease, border-color 220ms ease,
      box-shadow 240ms ease, opacity 180ms ease, scale 200ms cubic-bezier(.2,.8,.2,1) !important;
  }
  @media (hover:hover) {
    .rp-theme :is(.rp-field-controls button,.rp-header-tools button,.rp-header-tools summary,.rp-inspection-map-controls button):hover {
      scale: 1.035;
    }
  }
  .rp-theme :is(.rp-field-controls button,.rp-header-tools button,.rp-header-tools summary,.rp-inspection-map-controls button):active {
    scale: .965;
  }
  @media (prefers-reduced-motion:reduce) {
    .rp-theme :is(.rp-notification-popover[open]>.rp-popover-list,#dialog.rp-side-drawer[open],.rp-field-chat-overlay[open],#rp-demo-chat-overlay[open],.rp2-contextbar,.dashboard .app-content>section,.content>.surface) {
      animation: none !important;
    }
    .rp-theme :is(.rp-field-controls button,.rp-header-tools button,.rp-header-tools summary,.rp-inspection-map-controls button,.patrol-sheet-toggle) {
      transition: none !important;
      scale: 1 !important;
    }
  }

  /* The field document must occupy real layout space. A zero-height central-root
     clips its fixed cockpit in Chrome even though getBoundingClientRect reports 100dvh.
     The old 0px translate on .content also establishes a wrong desktop fixed anchor. */
  body.rp-theme[data-rp-field="true"] #central-root,
  body.rp-theme[data-rp-field="true"] #central-root .rp2-workspace,
  body.rp-theme[data-rp-field="true"] #central-root .content,
  body.rp-theme[data-rp-field="true"] #central-root :is(.rp-guard-workspace,.rp-inspector-workspace) {
    box-sizing: border-box !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    animation: none !important;
  }
  /* Field viewport: override the legacy #central-root inspector rules at their origin.
     The prior 100dvh workspace contained a calc(100dvh - 110px) panel, leaving a
     dead strip below the map and allowing instructional content to cross the HUD. */
  body.rp-theme[data-rp-field="true"] #central-root .rp-inspector-workspace > .rp-inspection-cockpit,
  body.rp-theme[data-rp-field="true"] #central-root .rp-inspector-workspace > .patrol-workspace,
  body.rp-theme[data-rp-field="true"] #central-root .rp-guard-workspace > .patrol-workspace {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
  body.rp-theme[data-rp-field="true"] #central-root .rp-inspector-workspace .rp-inspection-map-panel,
  body.rp-theme[data-rp-field="true"] #central-root .rp-guard-workspace .patrol-map-panel {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
  body.rp-theme[data-rp-field="true"] #central-root .rp-inspector-workspace .rp-inspection-map-canvas,
  body.rp-theme[data-rp-field="true"] #central-root .rp-inspector-workspace .rp-inspector-map,
  body.rp-theme[data-rp-field="true"] #central-root .rp-guard-workspace .patrol-map-canvas,
  body.rp-theme[data-rp-field="true"] #central-root .rp-guard-workspace .map-container {
    position: absolute !important;
    inset: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
  /* Avoid ghost cards and bright map roads bleeding through the open
     notification drawer while keeping its Glass borders, glow and motion. */
  body.rp-theme[data-rp-field="true"] .rp-notification-popover[open] > .rp-popover-list {
    background: #19232c !important;
  }
  /* Same control position and form as the left menu's close action: in the top
     toolbar of the drawer, never dangling at the middle of its outer edge. */
  body.rp-theme[data-rp-field="true"] .rp-notification-popover[open] > .rp-drawer-handle {
    position: fixed !important;
    inset: calc(75px + env(safe-area-inset-top,0px)) 10px auto auto !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    color: var(--rp-ink) !important;
    z-index: 5520 !important;
  }
  body.rp-theme[data-rp-field="true"] .rp-notification-popover[open] > .rp-drawer-handle:focus-visible {
    outline: 2px solid var(--rp-blue) !important;
    outline-offset: 2px !important;
  }
  /* Swipe zones remain functional but must not paint two floating metal bars
     on top of a field map or intercept controls beyond their narrow edge. */
  body.rp-theme[data-rp-field="true"] .rp-gesture-edge {
    width: 16px !important;
    pointer-events: auto;
  }
  body.rp-theme[data-rp-field="true"] .rp-gesture-edge.left { left: 0 !important; }
  body.rp-theme[data-rp-field="true"] .rp-gesture-edge.right { right: 0 !important; }
  body.rp-theme[data-rp-field="true"] .rp-gesture-edge::after {
    content: none !important;
  }
  @media (min-width:901px) {
    body.rp-theme[data-rp-field="true"] .rp-gesture-edge { display:none !important; }
  }

  /* Responsive geometry of the approved Glass UI; no palette, type or field-screen replacements. */
  @media (max-width: 1199px) and (min-width: 901px) {
    body.rp-theme[data-rp-field="false"] :is(#central-root .ops-monitor-columns,#central-root .coi3-columns) {
      grid-template-columns: minmax(0,1fr) !important;
    }
    body.rp-theme[data-rp-field="false"] :is(#central-root .content,.dashboard .app-content) {
      min-width: 0 !important;
    }
  }
  @media (max-width: 900px) {
    body.rp-theme[data-rp-field="false"] :is(.dashboard .app-shell,#central-root .rp2-workspace) {
      display: block !important;
      min-width: 0 !important;
      width: 100% !important;
    }
    body.rp-theme[data-rp-field="false"] .dashboard .sidebar {
      display: none !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.dashboard .shell-main,.dashboard .app-content,#central-root .content,#central-root .stack) {
      box-sizing: border-box !important;
      min-width: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
    }
    body.rp-theme[data-rp-field="false"] .dashboard .app-content:not(.ronda-page) {
      padding: 18px clamp(12px,3.8vw,26px) calc(35px + env(safe-area-inset-bottom,0px)) !important;
      overflow: visible !important;
    }
    body.rp-theme[data-rp-field="false"] main#conteudo {
      box-sizing: border-box !important;
      min-width: 0 !important;
      width: 100% !important;
      padding: 16px clamp(12px,3.8vw,26px) calc(35px + env(safe-area-inset-bottom,0px)) !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.page-title,.toolbar,.v4-dashboard-heading,.schedule-heading,.report-heading,#central-root .rp2-contextbar) {
      min-width: 0 !important;
      max-width: 100% !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.page-title>*,.toolbar>*,.v4-dashboard-heading>*,.schedule-heading>*,#central-root .rp2-context-copy) {
      min-width: 0 !important;
      overflow-wrap: anywhere !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.cards,.grid-kpis,.v4-summary-metrics,.ops-metrics,#central-root .ops-monitor-kpis,#central-root .coi3-stats,#central-root .coi3-kpis) {
      display: grid !important;
      grid-template-columns: repeat(2,minmax(0,1fr)) !important;
      grid-auto-flow: row !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.metric,.kpi,.v4-summary-metric,.ops-metric,#central-root .ops-monitor-kpi,#central-root .coi3-stats>div) {
      min-width: 0 !important;
      overflow-wrap: anywhere !important;
      padding-inline: clamp(8px,3vw,16px) !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.v4-dashboard-tabs,.ux-ronda-tabs,.ux-report-tabs,.rp-treatment-tabs,#central-root .rp-treatment-tabs) {
      display: flex !important;
      flex-wrap: nowrap !important;
      gap: 4px !important;
      max-width: 100% !important;
      overflow-x: auto !important;
      overscroll-behavior-x: contain !important;
      -webkit-overflow-scrolling: touch !important;
      scrollbar-width: thin !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.v4-dashboard-tabs,.ux-ronda-tabs,.ux-report-tabs,.rp-treatment-tabs,#central-root .rp-treatment-tabs)>button {
      flex: 0 0 auto !important;
      min-height: 44px !important;
      white-space: nowrap !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.rp-event-columns,.coi3-columns,#central-root .ops-monitor-columns,#central-root .route-line,.dashboard .v4-desktop-focus .v4-stage) {
      display: grid !important;
      grid-template-columns: minmax(0,1fr) !important;
      grid-auto-columns: auto !important;
      grid-auto-flow: row !important;
      min-width: 0 !important;
      max-width: 100% !important;
      overflow: visible !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.grid,.detail-grid,#central-root .ops-dispatch-form,#central-root .route-editor,#central-root .ops-worker-list) {
      grid-template-columns: minmax(0,1fr) !important;
      min-width: 0 !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.surface,.v4-pane,.ops-card,.schedule-workspace,.report-page,.operations-page,.coi3-section,#central-root .rp2-contextbar) {
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.table-wrap,.table-scroll,.data-table-wrap,.report-table-wrap,#central-root .table-wrap,#central-root .table-scroll) {
      box-sizing: border-box !important;
      max-width: 100% !important;
      min-width: 0 !important;
      overflow-x: auto !important;
      overscroll-behavior-inline: contain !important;
      -webkit-overflow-scrolling: touch !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.list-item,.team-row,.ops-agenda-row,#central-root .ops-dispatch-line,#central-root .coi3-treatment-row) {
      min-width: 0 !important;
      max-width: 100% !important;
      overflow-wrap: anywhere !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .list-item {
      flex-wrap: wrap !important;
      align-items: flex-start !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .list-item>span:last-child {
      max-width: 100% !important;
      flex-shrink: 1 !important;
      text-align: left !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .coi3-treatment-row {
      display: grid !important;
      grid-template-columns: auto minmax(0,1fr) !important;
      align-items: start !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .coi3-treatment-badge {
      grid-column: 2 !important;
      justify-self: start !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root :is(.chat-workspace,.chat-layout) {
      display: grid !important;
      grid-template-columns: minmax(0,1fr) !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root :is(.chat-sidebar,.chat-main,.chat-thread) {
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .chat-sidebar {
      max-height: min(32dvh,260px) !important;
      overflow-y: auto !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .ops-live-map {
      height: clamp(250px,40dvh,390px) !important;
      min-width: 0 !important;
    }
    /* Authenticated COI/Admin navigation: a usable drawer rather than overflowing tabs. */
    body.rp-theme[data-rp-field="false"] #central-root .rp-central-menu-button {
      position: relative !important;
      z-index: 10 !important;
      display: inline-flex !important;
      align-items: center !important;
      min-height: 44px !important;
      margin: 0 0 12px !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .side.rp2-role-nav {
      position: fixed !important;
      inset: 0 auto 0 0 !important;
      top: 0 !important;
      box-sizing: border-box !important;
      width: min(86vw,340px) !important;
      height: 100dvh !important;
      max-height: 100dvh !important;
      margin: 0 !important;
      padding: calc(16px + env(safe-area-inset-top,0px)) 15px calc(24px + env(safe-area-inset-bottom,0px)) !important;
      display: block !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      z-index: 101 !important;
      transform: translateX(-104%) !important;
      visibility: hidden !important;
      pointer-events: none !important;
      transition: transform .22s ease,visibility .22s ease !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .side.rp2-role-nav.is-open {
      transform: translateX(0) !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root:has(.rp2-role-nav.is-open)::before {
      content: "" !important;
      position: fixed !important;
      inset: 0 !important;
      z-index: 100 !important;
      background: rgba(8,14,20,.55) !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .rp2-nav-dismiss {
      display: flex !important;
      width: 100% !important;
      min-height: 46px !important;
      justify-content: space-between !important;
      align-items: center !important;
      margin-bottom: 15px !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .rp2-nav-primary,
    body.rp-theme[data-rp-field="false"] #central-root .rp2-nav-secondary-items {
      display: grid !important;
      grid-template-columns: minmax(0,1fr) !important;
      gap: 2px !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .rp2-role-nav .rp2-nav-item {
      width: 100% !important;
      min-height: 48px !important;
      white-space: normal !important;
      text-align: left !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .rp2-contextbar {
      display: flex !important;
      align-items: flex-start !important;
      justify-content: space-between !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .rp2-context-refresh {
      min-height: 44px !important;
      flex-shrink: 0 !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root :is(.rp-coi-request-strip,.route-titlebar,.ops-dispatch-modal-header,.ops-dispatch-actions) {
      flex-wrap: wrap !important;
      gap: 10px !important;
    }
  }
  @media (max-width: 520px) {
    body.rp-theme[data-rp-field="false"] .dashboard .app-header {
      gap: 6px !important;
      padding-inline: max(10px,env(safe-area-inset-left,0px)) !important;
    }
    body.rp-theme[data-rp-field="false"] .dashboard .app-header .brand {
      min-width: 0 !important;
      max-width: 37vw !important;
    }
    body.rp-theme[data-rp-field="false"] .dashboard .app-header .header-actions {
      min-width: 0 !important;
      gap: 4px !important;
    }
    body.rp-theme[data-rp-field="false"] .dashboard .app-header .user-profile-button>span:not(.avatar) {
      display: none !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .rp2-contextbar {
      gap: 8px !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root :is(.ops-dispatch-actions button,.rp-coi-request-strip button) {
      min-height: 44px !important;
    }
    body.rp-theme[data-rp-field="false"] :is(.metric strong,.v4-summary-metric strong,.ops-metric strong,#central-root .ops-monitor-kpi strong) {
      font-size: clamp(22px,7vw,30px) !important;
    }
    body.rp-theme[data-rp-field="false"] #central-root .login {
      width: 100% !important;
      max-width: 440px !important;
      margin: 20px auto !important;
      padding: clamp(16px,5vw,25px) !important;
    }
    body.rp-theme[data-rp-field="false"] :is(input,textarea,select) {
      font-size: 16px !important;
    }
  }
  @media (prefers-reduced-motion: reduce) and (max-width: 900px) {
    body.rp-theme[data-rp-field="false"] #central-root .side.rp2-role-nav {
      transition: none !important;
    }
  }


}

/* Ronda Pro: cadastro responsivo de rotas, aditivo ao tema canônico. */
/* Ronda Pro · rotas por endereços · composição aprovada mobile + desktop.
   Única camada aditiva; sem substituir a identidade atual do Grupo Maxvel. */
.rp-theme .dashboard .rp-plan{--plan-line:#3a5163;--plan-surface:#182630;--plan-text:#ecf5fa;--plan-cyan:#3eb8fc;--plan-red:#ed1748;max-width:1420px;margin:0 auto;color:var(--plan-text);font-family:Inter,"Segoe UI",Arial,sans-serif}
.rp-theme .dashboard .rp-plan *{box-sizing:border-box}
.rp-theme .dashboard .rp-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--plan-line)}
.rp-theme .dashboard .rp-plan-heading h1{margin:0;font-size:clamp(26px,3vw,35px)!important;color:#fff!important;line-height:1.15}
.rp-theme .dashboard .rp-plan-heading p{margin:7px 0 0;font-size:14px!important;color:#b7c8d5!important}
.rp-theme .dashboard .rp-plan-access{border:1px solid #315a6f;color:#55caff;background:#173245;padding:9px 12px;border-radius:9px;font-size:12px;white-space:nowrap;font-weight:700}
.rp-theme .dashboard .rp-plan-demo{margin:13px 0 0;padding:10px 14px;border-left:3px solid var(--plan-red);background:#29323b;border-radius:5px;color:#dde7ef;font-size:13px;line-height:1.5}
.rp-theme .dashboard .rp-plan-demo strong{color:#ff788a;margin-right:6px}
.rp-theme .dashboard .rp-plan-info{margin:13px 0;padding:8px 0;color:#bfd0dc!important;font-size:13px}
.rp-theme .dashboard .rp-plan-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:17px 0;border-bottom:1px solid var(--plan-line);margin-bottom:16px}
.rp-theme .dashboard .rp-plan-steps button{display:flex;align-items:center;justify-content:center;gap:10px;background:transparent!important;color:#c4d3dd!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:8px 4px 12px!important;min-height:46px;cursor:pointer}
.rp-theme .dashboard .rp-plan-steps button.selected{color:#fff!important;border-bottom-color:var(--plan-cyan)!important}
.rp-theme .dashboard .rp-plan-steps button b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #71899c;background:#213342;font-size:13px}
.rp-theme .dashboard .rp-plan-steps button.selected b{border-color:#43bcff;background:#21a8f4;color:#fff}
.rp-theme .dashboard .rp-plan-layout{display:grid;grid-template-columns:minmax(340px,.94fr) minmax(420px,1.06fr);gap:16px;align-items:start}
.rp-theme .dashboard .rp-plan-left,.rp-theme .dashboard .rp-plan-right{display:grid;gap:15px;min-width:0}
.rp-theme .dashboard .rp-plan-panel{padding:15px;border:1px solid #374c5c;background:linear-gradient(145deg,#172630,#1d2a34);border-radius:11px;min-width:0;box-shadow:none}
.rp-theme .dashboard .rp-plan-panel h2{font-size:18px!important;margin:0 0 14px;color:#fff!important}
.rp-theme .dashboard .rp-plan-type{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.rp-theme .dashboard .rp-plan-type button{display:grid;gap:4px;text-align:left;border:1px solid #405363!important;background:#1d2933!important;border-radius:8px!important;padding:12px 11px!important;min-height:70px;color:#f5f9fb!important;cursor:pointer}
.rp-theme .dashboard .rp-plan-type button.selected{border-color:#26b5ff!important;background:linear-gradient(125deg,#163d59,#1a2935)!important;box-shadow:inset 0 0 0 1px #1ab6ff22}
.rp-theme .dashboard .rp-plan-type strong{font-size:13px}
.rp-theme .dashboard .rp-plan-type small{font-size:11px;color:#a9c0ce!important}
.rp-theme .dashboard .rp-plan-field{display:grid;gap:7px;margin-bottom:13px;font-size:13px;color:#e4edf3!important}
.rp-theme .dashboard .rp-plan-field span{font-weight:700}
.rp-theme .dashboard .rp-plan :is(input,select){display:block;width:100%;min-height:45px;padding:11px 12px!important;border:1px solid #4a6171!important;border-radius:8px!important;background:#15232e!important;color:#f5f9fb!important;font-size:14px!important;outline-offset:2px}
.rp-theme .dashboard .rp-plan :is(input,select):focus{border-color:#40bcff!important;box-shadow:0 0 0 2px #1f9ce22b!important}
.rp-theme .dashboard .rp-plan-suggestions{max-height:196px;overflow:auto;border-radius:8px;margin-top:-8px}
.rp-theme .dashboard .rp-plan-suggestions:empty{display:none}
.rp-theme .dashboard .rp-plan-suggestions>button{display:grid;gap:3px;text-align:left;width:100%;background:#223443!important;border:0!important;border-bottom:1px solid #43596a!important;color:#f2f7fa!important;padding:10px 12px!important;min-height:52px;border-radius:0!important}
.rp-theme .dashboard .rp-plan-suggestions>button:hover{background:#274b66!important}
.rp-theme .dashboard .rp-plan-suggestions small{font-size:11px!important;color:#a9bfcc!important}
.rp-theme .dashboard .rp-plan-suggestions>p{padding:10px;color:#a9bfcc}
.rp-theme .dashboard .rp-plan-stop-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 9px}
.rp-theme .dashboard .rp-plan-stop-head h3{font-size:15px!important;margin:0}
.rp-theme .dashboard .rp-plan-stop-head button{border:0!important;background:transparent!important;color:#ff7286!important;font-size:12px}
.rp-theme .dashboard .rp-plan-stops{display:grid;gap:6px;max-height:290px;overflow-y:auto}
.rp-theme .dashboard .rp-plan-stop{display:flex;gap:9px;align-items:center;padding:9px 8px;background:#20303c;border:1px solid #354d5c;border-radius:7px;min-width:0}
.rp-theme .dashboard .rp-plan-grip{color:#7b96a8;font-size:18px}
.rp-theme .dashboard .rp-plan-number{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:2px solid #37b6f5;color:#e6f6ff;font-size:12px}
.rp-theme .dashboard .rp-plan-stop-copy{display:grid;gap:3px;min-width:0;flex:1}
.rp-theme .dashboard .rp-plan-stop-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f6f9fb}
.rp-theme .dashboard .rp-plan-stop-copy small{font-size:11px;color:#aac0d0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-theme .dashboard .rp-plan-order{display:flex;gap:3px}
.rp-theme .dashboard .rp-plan-order button{min-height:28px!important;width:27px;padding:0!important;border:1px solid #3b5e74!important;background:transparent!important;border-radius:5px!important;color:#dcecf6!important;font-size:17px}
.rp-theme .dashboard .rp-plan-order button.rp-plan-remove{color:#ff7284!important}
.rp-theme .dashboard .rp-plan-empty{font-size:13px;color:#bccbd4;padding:10px 0}
.rp-theme .dashboard .rp-plan-map{height:clamp(225px,28vw,350px);background:#253441;border:1px solid #3c5363;border-radius:9px;display:grid;place-items:center;overflow:hidden;position:relative;z-index:0;text-align:center;color:#d5e0e8}
.rp-theme .dashboard .rp-plan-map .leaflet-container{background:#253441}
.rp-theme .dashboard .rp-plan-pin span{display:grid;place-items:center;width:31px;height:31px;border-radius:50% 50% 50% 0;background:#2caeff;transform:rotate(-45deg);border:2px solid white;color:#fff;font-weight:800;box-shadow:0 4px 14px #0009}
.rp-theme .dashboard .rp-plan-caption{font-size:11px!important;line-height:1.45!important;margin:9px 0 0;color:#a4bdce!important}
.rp-theme .dashboard .rp-plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rp-theme .dashboard .rp-plan-fields .rp-plan-field{min-width:0}
.rp-theme .dashboard .rp-plan-weekdays{margin-bottom:12px}
.rp-theme .dashboard .rp-plan-weekdays>strong{display:block;font-size:13px;margin-bottom:8px}
.rp-theme .dashboard .rp-plan-weekdays>div{display:flex;gap:7px;flex-wrap:wrap}
.rp-theme .dashboard .rp-plan-weekdays label input{position:absolute;opacity:0;width:1px;height:1px;padding:0!important}
.rp-theme .dashboard .rp-plan-weekdays label span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid #5d7b8d;color:#dbe9f5;cursor:pointer}
.rp-theme .dashboard .rp-plan-weekdays label input:checked+span{background:#247fb8;border-color:#3ac2ff}
.rp-theme .dashboard .rp-plan-weekdays label input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.rp-theme .dashboard .rp-plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:11px;background:#1d3544;border:1px solid #3b5767;border-radius:8px}
.rp-theme .dashboard .rp-plan-summary>div{min-width:0;display:grid;gap:4px}
.rp-theme .dashboard .rp-plan-summary small{font-size:11px;color:#b4cada!important}
.rp-theme .dashboard .rp-plan-summary strong{font-size:12px;overflow-wrap:anywhere}
.rp-theme .dashboard .rp-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;grid-column:1/-1}
.rp-theme .dashboard .rp-plan-actions button{min-height:45px!important;padding:11px 18px!important;border-radius:8px!important;font-weight:700;font-size:13px;cursor:pointer}
.rp-theme .dashboard .rp-plan-secondary{border:1px solid #899fad66!important;background:var(--rp-glass)!important;color:#ecf5f8!important;backdrop-filter:blur(14px)!important}
.rp-theme .dashboard .rp-plan-next,.rp-theme .dashboard .rp-plan-save{background:linear-gradient(115deg,#176f9e88,#12425b9c)!important;border:1px solid #53bcffb0!important;color:#fff!important;backdrop-filter:blur(14px)!important;box-shadow:inset 0 0 12px #53bcff20!important}
.rp-theme .dashboard .rp-plan-save{background:linear-gradient(115deg,#0c7eb088,#12425b9c)!important}
.rp-theme .dashboard .rp-plan-saved{grid-column:1/-1;border-top:1px solid #3a5163;padding-top:14px;margin-top:2px}
.rp-theme .dashboard .rp-plan-saved h2{font-size:17px!important;margin:0 0 10px}
.rp-theme .dashboard .rp-plan-saved-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #354957;font-size:13px}
.rp-theme .dashboard .rp-plan-saved-row small{color:#abbfcf!important}
.rp-theme .dashboard .rp-plan :is(button,input,select):disabled{opacity:.55;cursor:not-allowed}
.rp-theme .dashboard .rp-page-demo-banner{display:none}
.rp-theme .dashboard .rp-plan-warning{padding:14px;border-left:3px solid #ed1748;background:#25313b}
.rp-theme .dashboard .rp-chat-native,.rp-theme .dashboard .field-chat-screen{background:#1a2730!important;border:1px solid #354d5f!important;border-radius:12px!important;overflow:hidden!important;min-height:0!important}
.rp-theme .dashboard .field-chat-topbar,.rp-theme .dashboard .field-chat-surface{background:#1a2730!important}
.rp-theme .dashboard .field-chat-surface{min-height:180px!important;height:auto!important;max-height:min(70dvh,620px);overflow:auto!important}
.rp-theme .dashboard .field-chat-list{background:#1c2d38!important;min-height:180px!important;padding:16px!important}
.rp-theme .dashboard .field-chat-list>p{padding:12px 0;color:#c3d1dc!important}
.rp-theme .dashboard .field-chat-conversation{background:#1b2a35!important}
.rp-theme .dashboard .field-chat-thread{background:#1e2d38!important}
.rp-theme .dashboard .rp-demo-banner-global{padding:7px 18px;font-size:12px;color:#e9edf4;background:#263542;border-bottom:1px solid #ed1748;line-height:1.35}
.rp-theme .dashboard .rp-demo-banner-global b{color:#ff7790}
@media(max-width:760px){
 .rp-theme .dashboard .rp-plan{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 .rp-theme .dashboard .rp-plan-heading{padding-bottom:12px}
 .rp-theme .dashboard .rp-plan-heading h1{font-size:24px!important}
 .rp-theme .dashboard .rp-plan-heading p{font-size:12px!important;line-height:1.4}
 .rp-theme .dashboard .rp-plan-access{font-size:10px;padding:6px}
 .rp-theme .dashboard .rp-plan-steps{gap:3px;margin:7px 0 12px;padding:5px 0}
 .rp-theme .dashboard .rp-plan-steps button{font-size:10px!important;gap:5px;padding:8px 2px!important;min-width:0}
 .rp-theme .dashboard .rp-plan-steps button b{height:24px;width:24px;flex:0 0 24px}
 .rp-theme .dashboard .rp-plan-layout{display:block}
 .rp-theme .dashboard .rp-plan-left,.rp-theme .dashboard .rp-plan-right{display:contents}
 .rp-theme .dashboard .rp-plan-panel{padding:11px;margin-bottom:10px;border-radius:9px}
 .rp-theme .dashboard .rp-plan-panel h2{font-size:16px!important;margin-bottom:10px}
 .rp-theme .dashboard .rp-plan-type{gap:7px;margin-bottom:10px}
 .rp-theme .dashboard .rp-plan-type button{padding:9px!important;min-height:58px}
 .rp-theme .dashboard .rp-plan-type strong{font-size:11px}
 .rp-theme .dashboard .rp-plan-type small{font-size:10px}
 .rp-theme .dashboard .rp-plan-field{margin-bottom:9px;font-size:12px}
 .rp-theme .dashboard .rp-plan :is(input,select){min-height:40px;padding:9px 10px!important;font-size:13px!important}
 .rp-theme .dashboard .rp-plan-stops{max-height:164px;overflow:auto}
 .rp-theme .dashboard .rp-plan-stop{padding:7px 5px;gap:5px}
 .rp-theme .dashboard .rp-plan-order button{min-height:29px!important}
 .rp-theme .dashboard .rp-plan-map{height:170px}
 .rp-theme .dashboard .rp-plan-fields{grid-template-columns:1fr 1fr}
 .rp-theme .dashboard .rp-plan-summary{grid-template-columns:1fr;gap:9px}
 .rp-theme .dashboard .rp-plan-saved{display:none}
 .rp-theme .dashboard .rp-plan[data-step="1"] [data-part="2"],.rp-theme .dashboard .rp-plan[data-step="1"] [data-part="3"],.rp-theme .dashboard .rp-plan[data-step="2"] [data-part="1"],.rp-theme .dashboard .rp-plan[data-step="2"] [data-part="3"],.rp-theme .dashboard .rp-plan[data-step="3"] [data-part="1"],.rp-theme .dashboard .rp-plan[data-step="3"] [data-part="2"]{display:none!important}
 .rp-theme .dashboard .rp-plan-actions{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;gap:8px;background:rgba(27,37,46,.82);padding:9px;border:1px solid #9ab4c35c;border-radius:9px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .rp-theme .dashboard .rp-plan-actions button{padding:8px 11px!important;min-height:42px!important;height:auto!important;font-size:12px;min-width:0}
 .rp-theme .dashboard .rp-plan-actions :is(.rp-plan-next,.rp-plan-save){flex:1}
 .rp-theme .dashboard .rp-plan-actions .rp-plan-save[data-mobile-final="hidden"]{display:none!important}
 .rp-theme .dashboard .rp-plan-demo{font-size:11px;padding:8px 10px}
 .rp-theme .dashboard .rp-demo-banner-global{padding:7px 12px;font-size:11px}
 .rp-theme .dashboard .field-chat-surface{max-height:calc(100dvh - 280px)!important;min-height:180px!important}
}
@media(min-width:761px) and (max-width:1050px){
 .rp-theme .dashboard .rp-plan-layout{grid-template-columns:minmax(310px,1fr) minmax(320px,1fr)}
 .rp-theme .dashboard .rp-plan-summary{grid-template-columns:1fr}
}

/* Seletor do vigia: aparece ANTES do cockpit e não cria área de login. */
.rp-theme #dialog .rp-demo-worker-picker{display:grid;gap:12px;padding:8px;max-width:560px}
.rp-theme #dialog .rp-demo-worker-picker h2{font-size:clamp(20px,5vw,26px)!important;margin:0;color:#f4f7fa!important}
.rp-theme #dialog .rp-demo-worker-picker p{font-size:13px;line-height:1.5;margin:0 0 4px;color:#d1dce5!important}
.rp-theme #dialog .rp-demo-worker-list{display:grid;gap:9px}
.rp-theme #dialog .rp-demo-worker-list button{display:flex;gap:12px;align-items:center;text-align:left;width:100%;min-height:72px;padding:12px 15px;background:var(--rp-glass)!important;border:1px solid #899fad66!important;border-radius:9px!important;color:#eaf4fb!important;backdrop-filter:blur(14px)!important}
.rp-theme #dialog .rp-demo-worker-list button:hover,.rp-theme #dialog .rp-demo-worker-list button:focus-visible{background:#22465f!important;border-color:#4ac0ff!important}
.rp-theme #dialog .rp-demo-worker-list button>b{display:grid;place-items:center;width:32px;height:32px;border:2px solid #35b6fa;border-radius:50%;font-size:14px}
.rp-theme #dialog .rp-demo-worker-list button>span{display:grid;gap:5px;flex:1;min-width:0}
.rp-theme #dialog .rp-demo-worker-list button strong{font-size:15px}
.rp-theme #dialog .rp-demo-worker-list button small{font-size:11px;color:#adc6d7!important}
.rp-theme #dialog .rp-demo-worker-list .icon-svg{width:20px;height:20px;color:#48bafa}


/* Solicitação de ronda: fluxo por etapas, compacto e no tema Glass Maxvel. */
@layer rp-layout {
 .rp-theme .dashboard .rp-dispatch-launch{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:13px 0 18px;padding:15px 18px;min-width:0;
  background:linear-gradient(110deg,rgba(34,28,32,.95),rgba(28,32,38,.88))!important;
  border:1px solid #60565c!important;border-left:3px solid #f03b53!important;
  border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.13);
 }
 .rp-theme .dashboard .rp-dispatch-launch>div{display:flex;flex-direction:column;min-width:0;gap:3px}
 .rp-theme .dashboard .rp-dispatch-launch small{font-size:9px!important;letter-spacing:.13em;color:#ff7487!important;font-weight:800}
 .rp-theme .dashboard .rp-dispatch-launch strong{font-size:19px;line-height:1.25;color:#f8fafc;font-weight:780}
 .rp-theme .dashboard .rp-dispatch-launch span{font-size:11px;color:#b7bdc6}
 .rp-theme .dashboard .rp-dispatch-launch button{
  flex:none;display:inline-flex;align-items:center;gap:10px;justify-content:center;
  min-height:43px!important;padding:9px 14px!important;border:1px solid #c74356!important;
  background:linear-gradient(115deg,rgba(135,30,48,.68),rgba(37,39,49,.82))!important;color:#fff!important;border-radius:8px!important;backdrop-filter:blur(14px)!important;
  font-size:12px;font-weight:800;cursor:pointer;
 }
 .rp-theme .dashboard .rp-dispatch-launch button svg{width:17px;height:17px}
 .rp-theme .dashboard .rp-dispatch-launch button:focus-visible,
 .rp-theme #dialog.rp-dispatch-dialog :is(button,select,input,textarea):focus-visible{
  outline:2px solid #fff!important;outline-offset:3px
 }
 .rp-theme #dialog.rp-dispatch-dialog[open]{
  display:block!important;box-sizing:border-box;width:min(490px,calc(100vw - 24px))!important;
  max-width:min(490px,calc(100vw - 24px))!important;
  position:fixed!important;inset:0!important;margin:auto!important;
  height:max-content!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;
  padding:22px 22px 19px!important;overflow-y:auto!important;
  overflow-x:hidden!important;overscroll-behavior:contain;
  background:rgba(23,30,39,.94)!important;color:#f7f8fa!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;
  border:1px solid #575057!important;border-top:3px solid #f03850!important;
  border-radius:16px!important;box-shadow:0 28px 90px #000c!important;
 }
 .rp-theme #dialog.rp-dispatch-dialog .dialog-close{
  position:absolute!important;top:14px!important;right:13px!important;
  display:grid!important;place-items:center!important;width:36px!important;height:36px!important;
  min-width:36px!important;min-height:36px!important;border-radius:8px!important;
  border:1px solid #5b5960!important;background:#2b2c34!important;color:#fff!important;z-index:2!important;
 }
 .rp-theme #dialog .rp-dispatch-wizard{display:flex;flex-direction:column;gap:0;min-width:0}
 .rp-theme #dialog .rp-dispatch-kicker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  font-size:9px;letter-spacing:.08em;font-weight:800;color:#d6ccd0}
 .rp-theme #dialog .rp-dispatch-kicker span:first-child{color:#ff647a}
 .rp-theme #dialog .rp-dispatch-kicker span+span:before{content:"/";padding-right:8px;color:#64616b}
 .rp-theme #dialog .rp-dispatch-head h2{
  color:#fff!important;font-size:clamp(22px,5.8vw,27px)!important;
  letter-spacing:-.035em!important;line-height:1.12!important;margin:13px 42px 7px 0!important;
  font-weight:790!important;padding:0!important;
 }
 .rp-theme #dialog .rp-dispatch-head p{font-size:12px!important;line-height:1.45!important;
  color:#bec0c7!important;max-width:340px;margin:0!important}
 .rp-theme #dialog .rp-dispatch-steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;
  padding:13px 0 14px;border-bottom:1px solid #434047;margin-bottom:14px;
 }
 .rp-theme #dialog .rp-dispatch-steps>span{display:grid;gap:5px;min-width:0;color:#a9a7af}
 .rp-theme #dialog .rp-dispatch-steps b{
  display:grid;place-items:center;width:31px;height:31px;border:1px solid #5e5a62;
  border-radius:8px;background:#25252c;font-size:11px;color:#dbdbe0;font-weight:750;
 }
 .rp-theme #dialog .rp-dispatch-steps small{font-size:10px!important;line-height:1.2;color:inherit!important;white-space:nowrap}
 .rp-theme #dialog .rp-dispatch-steps [aria-current="step"]{color:#fff}
 .rp-theme #dialog .rp-dispatch-steps [aria-current="step"] b{border-color:#ee5267;background:#a9273f;color:#fff}
 .rp-theme #dialog .rp-dispatch-steps .is-complete b{border-color:#b44758;background:#37252d;color:#ff9baa}
 .rp-theme #dialog .rp-dispatch-form{display:flex!important;flex-direction:column!important;min-height:0!important;
  gap:0!important;margin:0!important;padding:0!important;width:100%;background:transparent!important}
 .rp-theme #dialog .rp-dispatch-stage{min-height:178px;min-width:0;display:flex;flex-direction:column;
  align-items:stretch;gap:8px;overflow-wrap:anywhere}
 .rp-theme #dialog .rp-dispatch-stage[hidden],
 .rp-theme #dialog .rp-dispatch-actions [hidden],.rp-theme #dialog .rp-dispatch-error[hidden]{display:none!important}
 .rp-theme #dialog .rp-dispatch-counter{font-weight:850;font-size:10px;letter-spacing:.12em;color:#ff7587}
 .rp-theme #dialog .rp-dispatch-stage h3{font-size:17px!important;line-height:1.25!important;
  margin:0 0 5px!important;font-weight:780!important;color:#f7f7fb!important}
 .rp-theme #dialog .rp-dispatch-stage label{display:grid;gap:7px;font-size:12px;font-weight:730;
  color:#f3f2f5;margin:0!important}
 .rp-theme #dialog .rp-dispatch-stage :is(input,select,textarea){
  box-sizing:border-box;width:100%;max-width:100%;min-height:44px!important;
  padding:10px 12px!important;background:rgba(11,18,27,.85)!important;color:#fbfbfd!important;
  border:1px solid #706771!important;border-radius:8px!important;
  font-size:16px!important;line-height:1.35!important;box-shadow:none!important;
 }
 .rp-theme #dialog .rp-dispatch-stage textarea{height:92px!important;min-height:92px!important;
  max-height:92px!important;resize:none!important}
 .rp-theme #dialog .rp-dispatch-stage [aria-invalid="true"]{border-color:#ff7e90!important}
 .rp-theme #dialog .rp-dispatch-stage>p{font-size:11px!important;line-height:1.4!important;
  color:#b6b7bf!important;margin:3px 0 0!important}
 .rp-theme #dialog .rp-dispatch-review{display:grid;gap:0;margin:0;max-height:none}
 .rp-theme #dialog .rp-dispatch-review>div{display:grid;grid-template-columns:85px minmax(0,1fr);
  gap:12px;padding:8px 0;border-bottom:1px solid #474047}
 .rp-theme #dialog .rp-dispatch-review dt{font-size:11px;color:#c8aab0}
 .rp-theme #dialog .rp-dispatch-review dd{font-size:12px;line-height:1.3;color:#fff;font-weight:650;
  margin:0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:66px;overflow:auto}
 .rp-theme #dialog .rp-dispatch-error{font-size:12px;color:#ffc0c9;line-height:1.45;
  border-left:3px solid #f03850;background:#442631;padding:8px 10px;margin:5px 0!important}
 .rp-theme #dialog .rp-dispatch-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;
  padding:14px 0 0!important;margin:7px 0 0!important;border-top:1px solid #48434a}
 .rp-theme #dialog .rp-dispatch-actions button{min-height:43px!important;padding:9px 13px!important;
  border-radius:8px!important;font-size:12px!important;font-weight:790!important;cursor:pointer}
 .rp-theme #dialog .rp-dispatch-back{margin-right:auto;background:var(--rp-glass)!important;color:#fff!important;border:1px solid #899fad66!important;backdrop-filter:blur(14px)!important}
 .rp-theme #dialog :is(.rp-dispatch-next,.rp-dispatch-submit){background:linear-gradient(115deg,rgba(165,37,60,.72),rgba(40,35,46,.86))!important;color:#fff!important;backdrop-filter:blur(14px)!important;
  border:1px solid #e0546a!important}
 .rp-theme #dialog .rp-dispatch-actions button:disabled{opacity:.55;cursor:not-allowed}

 /* Itinerário multi-destinos, mantendo o Glass fosco Maxvel. */
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-add{width:100%;min-height:42px!important;border:1px solid #6b9db3!important;border-radius:8px!important;background:rgba(28,58,73,.85)!important;color:#f8fafc!important;font-size:13px!important;font-weight:800;cursor:pointer}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-add:disabled{opacity:.42;cursor:not-allowed}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stops-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 0 4px;border-bottom:1px solid #67778570}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stops-heading strong{font-size:12px;color:#f5f6fa}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stops-heading small{font-size:10px;color:#b7c6d2;text-align:right}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stops{display:grid;gap:7px;list-style:none;margin:0;padding:6px 0;min-width:0}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;padding:7px;border:1px solid #71869664;border-radius:10px;background:rgba(27,42,54,.72)}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-mini{position:relative;width:86px;height:60px;min-height:60px!important;padding:0!important;overflow:hidden;border:1px solid #698090!important;border-radius:7px;background:repeating-linear-gradient(45deg,#293c4b 0 12px,#334c5d 12px 24px)!important}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-mini img{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-mini-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:25px;height:25px;background:#ed3550;border:2px solid #fff;border-radius:50%;color:white;font-size:11px;box-shadow:0 2px 8px #000a}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-label{min-width:0;display:grid;gap:3px}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-label strong{font-size:12px;color:#fff;overflow-wrap:anywhere;line-height:1.25}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-label small{font-size:10px;color:#b9cbd9;line-height:1.35;overflow:hidden;max-height:3.9em;overflow-wrap:anywhere}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-label a{font-size:10px;color:#a5ddf7;text-decoration:underline}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-tools{display:grid;gap:3px}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-tools button{height:26px;min-height:26px!important;width:28px;min-width:28px!important;padding:0!important;border:1px solid #6f8092!important;border-radius:5px!important;background:rgba(39,53,65,.9)!important;color:#fff!important;font-size:14px!important}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-tools button:disabled{opacity:.27}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-empty{font-size:11px;color:#c2cfda;padding:8px 2px}
 .rp-theme #dialog.rp-dispatch-dialog #rp-dispatch-preview-map{position:relative;display:block;width:100%;height:215px;min-height:215px;overflow:hidden;border:1px solid #597f93;border-radius:10px;background:#283949;color:#edf5fb}
 .rp-theme #dialog.rp-dispatch-dialog #rp-dispatch-preview-map iframe{display:block;width:100%;height:100%;border:0}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-map-link{position:absolute;left:7px;bottom:7px;z-index:3;max-width:calc(100% - 14px);padding:6px 9px;background:rgba(18,30,42,.94);border:1px solid #7395a8;border-radius:6px;color:#fff;font-size:11px}
 .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stage[data-dispatch-stage="2"] .rp-plan-suggestions{max-height:128px;overflow-y:auto;min-height:0}
 @media(max-width:420px){
  .rp-theme #dialog.rp-dispatch-dialog #rp-dispatch-preview-map{height:182px;min-height:182px}
  .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop{grid-template-columns:76px minmax(0,1fr) auto;gap:6px;padding:6px}
  .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-mini{width:76px}
  .rp-theme #dialog.rp-dispatch-dialog .rp-dispatch-stop-label small{max-height:2.6em}
 }

 /* Atribuição multi-ponto no celular do Vigia e painel COI. */
 #central-root .ops-dispatch-itinerary{margin:8px 0 11px;border:1px solid rgba(125,161,184,.44);background:rgba(31,42,53,.62);border-radius:9px;padding:7px 10px}
 #central-root .ops-dispatch-itinerary>summary{font-size:12px;cursor:pointer;font-weight:760;color:#f5f9fe;min-height:32px;display:flex;align-items:center}
 #central-root .ops-dispatch-itinerary ol{list-style:none;display:grid;gap:0;margin:0;padding:0}
 #central-root .ops-dispatch-itinerary li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 0;border-top:1px solid #687b8952}
 #central-root .ops-dispatch-itinerary li b{color:#91d9fa;font-size:12px}
 #central-root .ops-dispatch-itinerary li span{font-size:11px;color:#f1f6fb;overflow-wrap:anywhere}
 #central-root .ops-dispatch-itinerary li a{font-size:10px;color:#9bdefd;min-height:30px;display:inline-flex;align-items:center}
 #central-root .ops-dispatch-itinerary>small{font-size:10px;color:#bdcbd7}
 /* Janelas de operacao: vidro fosco legivel, com fundo isolado na camada modal real. */
 .rp-theme #dialog[open]:not(.role-picker-dialog):not(.rp-dispatch-dialog):not(.guide-dialog):not(.ux06-fullscreen){
  background:rgba(24,31,40,.94)!important;color:#f5f8fb!important;
  backdrop-filter:blur(24px) saturate(120%)!important;-webkit-backdrop-filter:blur(24px) saturate(120%)!important;
  border-color:rgba(147,173,190,.47)!important;
 }
 .rp-theme #dialog[open]::backdrop{background:rgba(2,7,15,.74)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
 .rp-theme #dialog[open]:not(.role-picker-dialog) :is(input,select,textarea){color:#f5f8fb}
 /* Modal de áreas permanece visível sobre o desfoque, inclusive após abrir outro diálogo. */
 .rp-theme #dialog.role-picker-dialog[open]{
  display:block!important;position:fixed!important;inset:0!important;margin:auto!important;
  box-sizing:border-box!important;opacity:1!important;visibility:visible!important;transform:none!important;
  width:min(440px,calc(100vw - 26px))!important;max-width:min(440px,calc(100vw - 26px))!important;
  height:max-content!important;min-height:0!important;max-height:calc(100dvh - 26px)!important;
  overflow:auto!important;padding:20px!important;border:1px solid #66575f!important;
  border-top:3px solid #f03850!important;border-radius:14px!important;
  background:rgba(23,29,38,.94)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;color:#fff!important;box-shadow:0 24px 80px #000c!important;
 }
 .rp-theme #dialog.role-picker-dialog .role-picker-list{display:grid!important;gap:7px}
 .rp-theme #dialog.role-picker-dialog .role-picker-list button{
  background:rgba(42,51,65,.89)!important;color:#fff!important;border:1px solid #615a63!important;
  border-radius:8px!important;min-height:51px!important}
 .rp-theme #dialog.role-picker-dialog .role-picker-list button[aria-pressed="true"]{
  border-color:#ef5066!important;background:#3c2933!important}
 @media(max-width:420px){
  .rp-theme .dashboard .rp-dispatch-launch{padding:12px!important;gap:8px;margin:10px 0 14px}
  .rp-theme .dashboard .rp-dispatch-launch strong{font-size:15px}
  .rp-theme .dashboard .rp-dispatch-launch span{font-size:10px}
  .rp-theme .dashboard .rp-dispatch-launch button{font-size:11px!important;padding:8px 9px!important;gap:5px}
  .rp-theme #dialog.rp-dispatch-dialog[open]{
   position:fixed!important;inset:auto 0 0 0!important;margin:0 auto!important;
   width:100vw!important;max-width:100vw!important;box-sizing:border-box!important;
   height:max-content!important;max-height:calc(100dvh - 12px)!important;overflow-y:auto!important;
   padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px))!important;
   border-radius:19px 19px 0 0!important;border-bottom:0!important;
  }
  .rp-theme #dialog .rp-dispatch-steps{gap:3px}
  .rp-theme #dialog .rp-dispatch-steps small{font-size:9px!important}
  .rp-theme #dialog .rp-dispatch-stage{min-height:171px}
  .rp-theme #dialog .rp-dispatch-review>div{grid-template-columns:73px minmax(0,1fr);gap:7px}
 }
 @media(max-height:550px){
  .rp-theme #dialog .rp-dispatch-stage{min-height:0}
  .rp-theme #dialog .rp-dispatch-steps{padding:7px 0}
  .rp-theme #dialog.rp-dispatch-dialog[open]{max-height:calc(100dvh - 14px)!important}
 }


  body.rp-theme {
    min-height: 100vh !important;
    min-height: 100dvh !important;
  }

  /* SECTION: MAXVEL LOGIN VIEWPORT 20261022
     Isolate auth styling: never stretch the login background only to the
     document content height or leak login geometry into operational pages. */
  body.rp-theme:has(#central-login) {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    background: radial-gradient(ellipse at 82% 12%, #293846 0%, transparent 57%),
      radial-gradient(ellipse at 12% 94%, #292127 0%, transparent 50%),
      #151c24 !important;
  }
  body.rp-theme:has(#central-login) > header.top {
    flex: 0 0 auto !important;
  }
  body.rp-theme:has(#central-login) > main#conteudo {
    flex: 1 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(18px, 4vh, 38px) 16px !important;
    margin: 0 !important;
  }
  body.rp-theme:has(#central-login) #central-root {
    width: 100% !important;
    max-width: 410px !important;
    min-width: 0 !important;
  }
  body.rp-theme #central-login {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(20px, 5vw, 28px) !important;
    gap: 13px !important;
    border-radius: 12px !important;
  }
  body.rp-theme #central-login h1 {
    font-size: clamp(21px, 4.7vw, 25px) !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    letter-spacing: -.025em !important;
  }
  body.rp-theme #central-login p {
    margin: 0 0 3px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  body.rp-theme #central-login label {
    gap: 7px !important;
    font-size: 13px !important;
    font-weight: 650 !important;
  }
  body.rp-theme #central-login input {
    min-height: 48px !important;
    padding: 11px 12px !important;
    font-size: 16px !important;
  }
  body.rp-theme #central-login button.primary {
    min-height: 48px !important;
    font-size: 15px !important;
    margin-top: 3px !important;
  }
  @media (max-height: 620px) {
    body.rp-theme:has(#central-login) > main#conteudo {
      place-items: start center !important;
      padding-top: 14px !important;
      padding-bottom: 24px !important;
    }
  }

}
