/* AFService global appearance runtime. Loaded last by the main shells. */
:root{
  --primary:var(--af-site-effective-primary)!important;
  --primary-soft:color-mix(in srgb,var(--af-site-effective-primary) 14%,transparent)!important;
  --brand:var(--af-site-effective-primary)!important;
  --brand-2:var(--af-site-secondary)!important;
  --blue:var(--af-site-info)!important;
  --cyan:var(--af-site-accent)!important;
  --accent:var(--af-site-accent)!important;
  --secondary:var(--af-site-secondary)!important;
  --nav:var(--af-site-sidebar)!important;
  --nav-text:var(--af-site-sidebar-text)!important;
  --success:var(--af-site-success)!important;
  --warning:var(--af-site-warning)!important;
  --danger:var(--af-site-danger)!important;
  --bg:var(--af-site-bg)!important;
  --surface:var(--af-site-surface)!important;
  --surface-2:var(--af-site-surface-soft)!important;
  --surface-soft:var(--af-site-surface-soft)!important;
  --text:var(--af-site-text)!important;
  --muted:var(--af-site-muted)!important;
  --line:var(--af-site-border)!important;
  --border:var(--af-site-border)!important;

  --v1-bg:var(--af-site-bg)!important;
  --v1-surface:var(--af-site-surface)!important;
  --v1-surface-soft:var(--af-site-surface-soft)!important;
  --v1-text:var(--af-site-text)!important;
  --v1-ink:var(--af-site-text)!important;
  --v1-muted:var(--af-site-muted)!important;
  --v1-line:var(--af-site-border)!important;
  --v1-border:var(--af-site-border)!important;
  --v1-soft:var(--af-site-surface-soft)!important;
  --v1-blue:var(--af-site-effective-primary)!important;
  --v1-blue-strong:var(--af-site-effective-primary)!important;
  --v1-success:var(--af-site-success)!important;
  --v1-warning:var(--af-site-warning)!important;
  --v1-danger:var(--af-site-danger)!important;
  --v1-shadow:var(--af-site-shadow)!important;

  --sa-bg:var(--af-site-bg)!important;
  --sa-bg-elevated:var(--af-site-surface)!important;
  --sa-panel:var(--af-site-surface)!important;
  --sa-panel-soft:var(--af-site-surface-soft)!important;
  --sa-line:var(--af-site-border)!important;
  --sa-line-soft:color-mix(in srgb,var(--af-site-border) 68%,transparent)!important;
  --sa-text:var(--af-site-text)!important;
  --sa-text-muted:var(--af-site-muted)!important;
  --sa-text-faint:color-mix(in srgb,var(--af-site-muted) 72%,transparent)!important;
  --sa-cyan:var(--af-site-accent)!important;
  --sa-blue:var(--af-site-effective-primary)!important;
  --sa-green:var(--af-site-success)!important;
  --sa-yellow:var(--af-site-warning)!important;
  --sa-red:var(--af-site-danger)!important;
  --sa-shadow:var(--af-site-shadow)!important;
  --sa-radius-lg:var(--af-site-card-radius)!important;
  --sa-radius-md:var(--af-site-button-radius)!important;
  --sa-radius-sm:var(--af-site-input-radius)!important;
}
:root[data-theme=dark]{--v1-shadow:var(--af-site-shadow-dark)!important;--sa-shadow:var(--af-site-shadow-dark)!important}

html,body{background-color:var(--af-site-bg);color:var(--af-site-text);font-family:var(--af-site-font)}
:root:not([data-theme=dark]){color-scheme:light}:root[data-theme=dark]{color-scheme:dark}
:is(.app-shell,.sa-app,.af-workspace){background-color:var(--af-site-bg)}
:is(.sidebar,.app-sidebar,.sa-sidebar){background:linear-gradient(180deg,var(--af-site-sidebar),var(--af-site-sidebar-2))!important;color:var(--af-site-sidebar-text)}
:is(.topbar,.app-topbar,.sa-topbar){background:color-mix(in srgb,var(--af-site-surface) 94%,transparent)!important;border-color:var(--af-site-border)!important}
:is(.af-mobile-nav-dock,.af-mobile-nav-sheet){background:var(--af-site-sidebar)!important;color:var(--af-site-sidebar-text)!important;border-color:var(--af-site-border)!important}
:is(.card,.panel,.v1-panel,.v1-stat,.sa-card,.metric-card,.kpi,.modal-content,.dialog-card){
  border-radius:var(--af-site-card-radius)!important;
  border-width:var(--af-site-border-width)!important;
  border-color:var(--af-site-border)!important;
  box-shadow:var(--af-site-shadow);
}
:root[data-theme=dark] :is(.card,.panel,.v1-panel,.v1-stat,.sa-card,.metric-card,.kpi,.modal-content,.dialog-card){box-shadow:var(--af-site-shadow-dark)}
:is(button,.btn,.v1-button,.sa-btn,.af-button){border-radius:var(--af-site-button-radius)}
:is(input,select,textarea,.project-select-trigger,.project-select-menu,.global-search){border-radius:var(--af-site-input-radius)}
:is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,button,.btn,.v1-button,.sa-btn){min-height:var(--af-site-control-height)}
:is(.v1-button.primary,.sa-btn-primary,.btn-primary,.button-primary){background:var(--af-site-effective-primary)!important;border-color:var(--af-site-effective-primary)!important}
:is(a,.link-accent){--link-fg:var(--af-site-effective-primary)}

/* PLATFORM_APPEARANCE_V2
   A camada mestre precisa vencer CSS legado espalhado pelo sistema. Ela só é
   carregada quando o Superadmin ativa a personalização, então estes overrides
   não alteram o visual original enquanto a opção estiver desligada. */
:root{
  --map-bg:var(--af-site-bg)!important;
  --map-panel:var(--af-site-surface)!important;
  --map-panel-2:var(--af-site-surface-soft)!important;
  --map-ink:var(--af-site-text)!important;
  --map-muted:var(--af-site-muted)!important;
  --map-line:var(--af-site-border)!important;
  --map-accent:var(--af-site-effective-primary)!important;
  --map-accent-2:var(--af-site-secondary)!important;
  --map-glow:color-mix(in srgb,var(--af-site-effective-primary) 22%,transparent)!important;

  --af-ink:var(--af-site-text)!important;
  --af-muted:var(--af-site-muted)!important;
  --af-line:var(--af-site-border)!important;
  --af-paper:var(--af-site-surface)!important;
  --af-soft:var(--af-site-surface-soft)!important;
  --af-accent:var(--af-site-effective-primary)!important;
  --af-accent-dark:var(--af-site-secondary)!important;

  --optical-surface:var(--af-site-bg)!important;
  --optical-panel:var(--af-site-surface)!important;
  --optical-text:var(--af-site-text)!important;
  --optical-muted:var(--af-site-muted)!important;
  --optical-border:var(--af-site-border)!important;
  --optical-accent:var(--af-site-effective-primary)!important;
}

html,
body{
  background:var(--af-site-page-gradient)!important;
  color:var(--af-site-text)!important;
}

:is(.app-shell,.sa-app,.af-workspace,.v1-shell,.dashboard-shell,.page-shell,.main-shell){
  background:var(--af-site-page-gradient)!important;
}

:is(.sidebar,.app-sidebar,.sa-sidebar,.af-nav,.map-sidebar){
  background:
    radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--af-site-effective-primary) var(--af-site-brand-gradient-mix),transparent),transparent 36%),
    linear-gradient(180deg,var(--af-site-sidebar),var(--af-site-sidebar-2))!important;
  color:var(--af-site-sidebar-text)!important;
  border-color:var(--af-site-border)!important;
}

:is(.topbar,.app-topbar,.sa-topbar,.af-topbar,.cad-project-topbar,.operational-map-topbar){
  background:var(--af-site-toolbar-gradient)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
}

:is(
  .card,.panel,.v1-panel,.v1-stat,.sa-card,.sa-panel,.metric-card,.kpi,
  .editor-section,.settings-grouping-manager,.settings-grouping-row,
  .af-inspector,.af-map-title-card,.af-map-legend,.af-map-hint,.af-company-context,.af-nav-context,
  .optical-v2__aside,.optical-v2__inline-form,.optical-v2__row-card,
  .detail-card,.orders-card,.assigned-list article
){
  background:var(--af-site-panel-gradient)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
}

:is(
  dialog,.modal,.modal-content,.dialog-card,.editor-dialog,.v1-modal,
  .map-master-small-dialog,.map-master-dialog,.map-master-popover,
  .profile-dropdown,.af-project-menu,.af-create-menu,.af-layers-popover,.af-map-context-menu,
  .cad-board-toolbar-menu,.cad-board-modern-tool-panel,.af-optical-dialog,.af-rack-dialog,
  .image-import-dialog,.monitoring-dialog,.monitor-link-dialog
){
  background:var(--af-site-modal-gradient)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
  box-shadow:var(--af-site-shadow-dark)!important;
}

:is(
  .af-map-toolbar,#map-toolbar-v072,#map-toolbar-v072.map-toolbar-v0722,
  .cad-board-bottom-toolbar,.optical-v2__toolbar,.optical-v2__top-actions,
  .map-mode-control,.af-basemap-control,.af-tool-status,.sa-toolbar,.v1-toolbar
){
  background:var(--af-site-toolbar-gradient)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
}

:is(
  input:not([type=checkbox]):not([type=radio]):not([type=color]),
  select,textarea,.project-select-trigger,.project-select-menu,.global-search,
  .af-project-trigger,.af-global-search,.af-search input
){
  background:var(--af-site-surface-soft)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
}

:is(.master-canvas,.optical-v2__canvas,.af-canvas-shell,.canvas-shell){
  background-color:var(--af-site-canvas-bg)!important;
  background-image:radial-gradient(var(--af-site-canvas-grid) 1px,transparent 1px)!important;
  background-size:24px 24px!important;
  border-color:var(--af-site-border)!important;
}

:is(.af-project-menu,.profile-dropdown,.af-create-menu,.cad-board-toolbar-menu) :is(button,a){
  color:var(--af-site-text)!important;
}

:is(.af-project-menu,.profile-dropdown,.af-create-menu,.cad-board-toolbar-menu) :is(button,a):hover{
  background:color-mix(in srgb,var(--af-site-effective-primary) 14%,var(--af-site-surface-soft))!important;
}

@media (min-width:721px){
  body[data-maplibre-workspace="true"] .af-workspace{
    grid-template-rows:var(--af-workspace-topbar-height) minmax(0,1fr)!important;
  }
  body[data-maplibre-workspace="true"] .af-body{
    grid-template-columns:var(--af-workspace-map-nav-width) minmax(0,1fr) 0!important;
  }
  body[data-maplibre-workspace="true"] .af-body:has(.af-inspector.is-open){
    grid-template-columns:var(--af-workspace-map-nav-width) minmax(0,1fr) var(--af-workspace-inspector-width)!important;
  }
  body[data-maplibre-workspace="true"] .af-workspace.nav-collapsed .af-body{
    grid-template-columns:var(--af-workspace-collapsed-nav-width) minmax(0,1fr) 0!important;
  }
  body[data-maplibre-workspace="true"] .af-workspace.nav-collapsed .af-body:has(.af-inspector.is-open){
    grid-template-columns:var(--af-workspace-collapsed-nav-width) minmax(0,1fr) var(--af-workspace-inspector-width)!important;
  }

  body.cad-project-board .cad-project-workspace{
    grid-template-rows:var(--af-workspace-topbar-height) minmax(0,1fr)!important;
  }
  body.cad-project-board .cad-project-topbar{
    min-height:var(--af-workspace-topbar-height)!important;
    height:var(--af-workspace-topbar-height)!important;
  }
  body.cad-project-board .af-body{
    grid-template-columns:var(--af-workspace-cad-nav-width) minmax(0,1fr) 0!important;
  }
  body.cad-project-board .cad-project-workspace.nav-collapsed .af-body{
    grid-template-columns:var(--af-workspace-collapsed-nav-width) minmax(0,1fr) 0!important;
  }
  body.cad-project-board .cad-project-topbar .cad-project-picker{
    flex-basis:var(--af-workspace-cad-picker-width)!important;
    width:var(--af-workspace-cad-picker-width)!important;
    min-width:min(var(--af-workspace-cad-picker-width),58vw)!important;
    max-width:min(var(--af-workspace-cad-picker-width),58vw)!important;
  }

  body[data-maplibre-workspace="true"] #workspace-inspector-shell,
  body.cad-project-board #workspace-inspector-shell{
    width:var(--af-workspace-inspector-width)!important;
  }

  .optical-v2__main{
    grid-template-columns:minmax(0,1fr) var(--af-workspace-canvas-panel-width)!important;
  }

  body[data-maplibre-workspace="true"] .af-map-toolbar{
    bottom:var(--af-workspace-toolbar-bottom)!important;
    scale:var(--af-workspace-toolbar-scale);
    transform-origin:bottom center!important;
  }
  body.cad-project-board :is(#map-toolbar-v072,#map-toolbar-v072.map-toolbar-v0722,.cad-board-bottom-toolbar){
    bottom:var(--af-workspace-toolbar-bottom)!important;
    scale:var(--af-workspace-toolbar-scale);
    transform-origin:bottom center!important;
  }
}

/* PLATFORM_APPEARANCE_COMPONENT_COVERAGE_V2 */
:is(
  .suite-card,.suite-panel,.suite-feature-card,.suite-network-panel,
  .settings-section-card,.settings-info-card,.settings-app-brand-card,
  .settings-map-provider-card,.settings-app-branding-panel,.settings-erp-outbound-panel,
  .erp-settings-sync-card,.field-manager-card,.project-focus-card,.project-focus-empty-card,
  .network-card,.quantities-card,.equipment-card,.events-card,.tasks-card,
  .ops-info-card,.af-control-card,.platform-panel,.search-panel,.equipe-tab-panel,
  .sa-plan-card,.sa-provider-card,.orders-locked-card,.install-guide-card,.dash-card-link
){
  background:var(--af-site-panel-gradient)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
  box-shadow:var(--af-site-shadow)!important;
}
:is(
  .settings-project-modal-card,.team-modal-card-section,.cad-password-modal-card,
  .company-edit-modal-card,.order-modal-card,.sa-modal,.v1-verify-modal,.v1-block-modal,
  .container-dialog,.cad-pop-dialog,.unifilar-dialog,.board-note-dialog
){
  background:var(--af-site-modal-gradient)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
}
:is(.side-drawer,.drawer-section,.drawer-header,.drawer-identity,.drawer-actions){
  background:var(--af-site-modal-gradient)!important;
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
}
:is(
  .sa-panel-head,.suite-panel-head,.v1-panel-head,.panel-header,.card-head,
  .field-manager-card-head,.platform-panel-head,.order-modal-head
){
  color:var(--af-site-text)!important;
  border-color:var(--af-site-border)!important;
}
html[data-theme="dark"] :is(
  .sa-card,.sa-panel,.v1-panel,.panel,.card,.suite-card,.settings-section-card,
  .field-manager-card,.settings-info-card,.project-focus-card,.network-card,
  .quantities-card,.equipment-card,.events-card,.tasks-card
){
  background:var(--af-site-panel-gradient)!important;
}

/* MAP_CREATE_FLOATING_PANEL_RUNTIME_HOTFIX_20260919 */
@media (min-width:721px){
  body[data-maplibre-workspace="true"] .af-body:has(#workspace-inspector-shell.af-create-form-open){
    grid-template-columns:var(--af-workspace-map-nav-width) minmax(0,1fr) 0!important;
  }
  body[data-maplibre-workspace="true"] .af-workspace.nav-collapsed .af-body:has(#workspace-inspector-shell.af-create-form-open){
    grid-template-columns:var(--af-workspace-collapsed-nav-width) minmax(0,1fr) 0!important;
  }
  body[data-maplibre-workspace="true"] #workspace-inspector-shell.af-create-form-open{
    width:clamp(380px,var(--af-workspace-inspector-width),520px)!important;
  }
}

/* INSPECTOR_FLOAT_NO_RAIL_20260919
   O inspetor de elemento é uma janela flutuante. inspector_width=0 significa
   nenhuma faixa reservada; valores maiores reservam espaço apenas quando o
   Superadmin quiser. O tamanho da janela é controlado separadamente. */
@media (min-width:721px){
  body[data-maplibre-workspace="true"] .af-body:has(.af-inspector.is-open){
    grid-template-columns:var(--af-workspace-map-nav-width) minmax(0,1fr) var(--af-workspace-inspector-width)!important;
  }
  body[data-maplibre-workspace="true"] .af-workspace.nav-collapsed .af-body:has(.af-inspector.is-open){
    grid-template-columns:var(--af-workspace-collapsed-nav-width) minmax(0,1fr) var(--af-workspace-inspector-width)!important;
  }
  body[data-maplibre-workspace="true"] #workspace-inspector-shell.af-inspector.is-open:not(.af-create-form-open){
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    bottom:auto!important;
    left:auto!important;
    z-index:120!important;
    width:min(var(--af-map-inspector-window-width),calc(100% - 24px))!important;
    max-width:min(560px,calc(100% - 24px))!important;
    max-height:min(var(--af-map-inspector-max-height),calc(100% - 24px))!important;
    padding:var(--af-map-inspector-padding-y) var(--af-map-inspector-padding-x)!important;
    overflow:auto!important;
    border-radius:18px!important;
    box-shadow:0 24px 58px rgba(0,15,28,.42)!important;
  }
  body[data-maplibre-workspace="true"] #workspace-inspector-shell.af-inspector.is-open:not(.af-create-form-open) #workspace-inspector > h2{
    font-size:var(--af-map-inspector-title-size)!important;
  }
  body[data-maplibre-workspace="true"] #workspace-inspector-shell.af-inspector.is-open:not(.af-create-form-open) #workspace-inspector :is(.af-batch-actions,form) > button,
  body[data-maplibre-workspace="true"] #workspace-inspector-shell.af-inspector.is-open:not(.af-create-form-open) #workspace-inspector > button:not(.af-inspector-close){
    min-height:var(--af-map-inspector-button-height)!important;
  }
}

/* HOTFIX_MAP_CAD_TOOLBAR_VIEWPORT_20260924
   O menu lateral não pode aumentar a linha do workspace e empurrar a barra
   de ferramentas para fora da viewport. */
@media (min-width:721px) {
  body[data-maplibre-workspace="true"] #af-maplibre-workspace .af-body,
  body.cad-project-board #cad-project-workspace .af-body {
    grid-template-rows:minmax(0,1fr) !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  body[data-maplibre-workspace="true"] #af-maplibre-workspace .af-nav,
  body.cad-project-board #cad-project-workspace .af-nav {
    min-height:0 !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body[data-maplibre-workspace="true"] #af-maplibre-workspace .af-map-stage,
  body.cad-project-board #cad-project-workspace .cad-board-stage {
    min-height:0 !important;
    max-height:100% !important;
    overflow:hidden !important;
  }
}
