/* SIGA Américas · polimento premium: menus compactos, gráficos legíveis e cartões com respiro.
 * CSS de apresentação somente; não altera IDs, dados, API, regras de acesso nem SVGs originais.
 */
:root{
 --ui-sidebar-width:220px;
 --ui-surface:#fff;
 --ui-canvas:#f6f8f5;
 --ui-ink:#21371b;
 --ui-muted:#71816d;
 --ui-green:#347a10;
 --ui-light-green:#eef7e9;
 --ui-border:#e3ebe0;
 --ui-shadow:0 6px 24px rgba(24,51,6,.045);
}
@media (min-width:801px){
 .app-shell{grid-template-columns:var(--ui-sidebar-width) minmax(0,1fr)}
}
.app-shell{background:var(--ui-canvas)}
.workspace,.main-content,.analytics-grid,.analytics-panel,.analytics-panel-body{min-width:0}
.main-content{padding-top:29px}
.sidebar{
 background:#fff!important;
 color:var(--ui-ink)!important;
 border-right:1px solid var(--ui-border)!important;
 box-shadow:none!important;
}
.sidebar .brand{
 display:flex;
 align-items:center;
 gap:9px;
 padding:16px 13px!important;
 min-height:73px;
 border-bottom:1px solid var(--ui-border)!important;
}
.sidebar .brand-mark{
 width:38px;height:38px;min-width:38px;max-width:38px;
 background:#f1f7ed;border:1px solid #dce8d3;
 border-radius:10px;overflow:hidden;
}
.sidebar .brand-mark img{width:38px;height:38px;object-fit:contain}
.sidebar .brand strong{
 font-family:var(--font-display),Inter,sans-serif;
 font-weight:800;
 font-size:13.5px;
 line-height:1.32;
 letter-spacing:-.35px;
 color:#213e18!important;
}
.sidebar .brand small{font-size:9.5px;line-height:1.3;margin-top:3px;color:#758a70!important;letter-spacing:0}
.sidebar-content{padding:11px 8px 10px!important;scrollbar-width:thin;scrollbar-color:#d9e6d2 transparent}
.sidebar .nav-search-wrap{margin:0 2px 10px!important}
.sidebar .nav-search{height:38px;min-height:38px;border-radius:9px;background:#f7faf5;border:1px solid #e0ebda;color:#254321;font-size:11.5px}
.sidebar .nav-search::placeholder{color:#81907b}
.sidebar .nav-search:focus{border-color:#80b558;box-shadow:0 0 0 3px #4ca3141f;background:#fff}
.sidebar .nav-search-icon{color:#88a17e}
.sidebar .nav-search-hint{background:#e9f3e3;color:#648158}
.sidebar .nav-home{
 display:flex;align-items:center;min-height:39px;
 border-radius:9px;
 padding:8px 10px!important;
 margin:0 1px 9px!important;
 color:#50684a!important;
 font-weight:680;font-size:11.7px;
 background:transparent;
 border:1px solid transparent;
 box-shadow:none!important;
}
.sidebar .nav-home-icon,.sidebar .nav-section-icon{
 display:grid;place-items:center;flex:none;
 width:17px;height:17px;color:#7d9473!important;
}
.sidebar .nav-home-icon .ui-icon,.sidebar .nav-section-icon .ui-icon{width:17px;height:17px}
.sidebar .nav-home:hover{background:#f3f8ef!important;color:#345d23!important}
.sidebar .nav-home.active{
 background:#eaf5e3!important;color:#2b641a!important;
 border-color:#d9e9d2!important;
 box-shadow:inset 3px 0 0 #4ca314!important;
}
.sidebar .nav-home.active .nav-home-icon,.sidebar .nav-home.active .nav-home-icon .ui-icon{color:#347a10!important}
.sidebar .nav-section{
 border-radius:9px!important;
 margin:1px 0!important;
 overflow:hidden;
}
.sidebar .nav-section-toggle{
 width:100%;min-height:37px;
 gap:9px;
 padding:7px 9px!important;
 border-radius:8px;
 background:transparent!important;
 color:#64785b!important;
 letter-spacing:0;
}
.sidebar .nav-section-title{
 color:#60765a!important;
 font-weight:750!important;
 font-size:10.5px!important;
 letter-spacing:.015em!important;
 line-height:1.4;
}
.sidebar .nav-section-toggle:hover,.sidebar .nav-section[open]>.nav-section-toggle{background:#f4f8f1!important}
.sidebar .nav-section[open]>.nav-section-toggle .nav-section-title,
.sidebar .nav-section.contains-active>.nav-section-toggle .nav-section-title{
 color:#2c5b1f!important;
}
.sidebar .nav-chevron{color:#90a685!important;margin-left:auto}
.sidebar .nav-chevron .ui-icon{width:13px;height:13px}
.sidebar .nav-section-items{
 margin:3px 0 6px 20px!important;
 padding:2px 0 3px 8px!important;
 border-left:1px solid #dfe9d9!important;
 gap:1px;
}
.sidebar .nav-section .nav-link{
 display:flex;align-items:center;
 min-height:35px!important;
 padding:7px 8px!important;
 margin:0!important;
 gap:8px;
 border-radius:8px!important;
 font-size:11px!important;
 line-height:1.34!important;
 color:#53694e!important;
 background:transparent!important;
 font-weight:550;
 white-space:normal;
}
.sidebar .nav-section .nav-link:hover:not(.active){background:#f3f8f0!important;color:#2e5d20!important}
.sidebar .nav-section .nav-link.active{
 background:#eaf5e3!important;
 color:#285e18!important;
 box-shadow:inset 2px 0 0 #4ca314!important;
 font-weight:740;
}
.sidebar .nav-icon{display:grid;place-items:center;flex:none;width:16px;height:16px;color:#8ca682!important}
.sidebar .nav-icon .ui-icon{width:16px;height:16px}
.sidebar .nav-link.active .nav-icon{color:#347a10!important}
.sidebar .nav-no-results{color:#718769;font-size:11.5px}
.sidebar .sidebar-foot{
 display:flex;gap:8px;align-items:start;
 padding:12px 12px!important;
 font-size:10px!important;
 line-height:1.45!important;
 color:#566d4e!important;
 border-top:1px solid var(--ui-border)!important;
 background:#fff!important;
}
.sidebar .sidebar-foot small{font-size:9.6px!important;color:#819279!important;line-height:1.45}
.sidebar .sidebar-foot-dot{margin-top:4px;flex:none;width:6px;height:6px;background:#4ca314!important}
@media(min-width:801px) and (max-width:1160px){
 :root{--ui-sidebar-width:205px}
 .sidebar .nav-section-title{font-size:10.2px!important}
 .sidebar .nav-section-toggle{gap:7px;padding-left:7px!important;padding-right:7px!important}
}
@media(max-width:800px){
 .sidebar{width:min(255px,86vw)!important;max-width:86vw;box-shadow:12px 0 40px rgba(20,45,10,.09)}
 .sidebar.open{box-shadow:14px 0 50px rgba(20,45,10,.17)!important}
 .sidebar .nav-home{min-height:42px}
 .sidebar .nav-section-toggle{min-height:43px}
 .sidebar .nav-section .nav-link{min-height:42px!important}
}

/* Gráficos: cada categoria usa duas linhas bem definidas; números nunca encostam no título. */
.analytics-panel,.analytics-panel-body,.analytics-bars,.analytics-bar-row,.analytics-bar-heading{min-width:0;max-width:100%}
.analytics-panel{background:var(--ui-surface);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow);overflow:hidden}
.analytics-panel-head{padding:20px 21px 8px!important;gap:15px}
.analytics-panel-head h3{font-size:15px;line-height:1.35}
.analytics-panel-body{padding:13px 21px 18px!important;overflow:hidden}
.analytics-bars{display:flex!important;flex-direction:column;gap:14px!important;padding:4px 0!important}
.analytics-bar-row{
 display:flex!important;
 flex-direction:column;
 align-items:stretch;
 gap:7px!important;
 width:100%;
}
.analytics-bar-heading{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) max-content;
 gap:0 16px!important;
 width:100%;
 min-width:0;
 align-items:start!important;
}
.analytics-bar-label{
 display:-webkit-box!important;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:2;
 min-width:0;
 max-width:100%;
 overflow:hidden;
 white-space:normal!important;
 text-overflow:ellipsis;
 overflow-wrap:anywhere;
 color:#4d6645;
 font-size:11.5px!important;
 line-height:1.5;
}
.analytics-bar-value{
 display:block;
 min-width:max-content;
 max-width:100%;
 justify-self:end;
 padding-left:4px;
 text-align:right!important;
 white-space:nowrap;
 font-size:11.5px!important;
 line-height:1.5;
 color:#294621;
 font-weight:760;
 font-variant-numeric:tabular-nums;
}
.analytics-bar-track{width:100%;height:8px;border-radius:99px;background:#edf3e9;margin:0}
.analytics-bar-fill{height:100%;border-radius:99px;max-width:100%}
.analytics-footline{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px!important;
 width:100%;
}
.analytics-stat{min-width:0;overflow-wrap:anywhere}
.analytics-stat span{font-size:10.8px;line-height:1.55}
.analytics-stat strong{font-size:13px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.analytics-legend{min-width:0;width:100%}
.analytics-legend-row{
 display:grid!important;
 grid-template-columns:9px minmax(0,1fr) max-content!important;
 gap:9px;
 width:100%;min-width:0;
}
.analytics-legend-row span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}
.analytics-panel-foot{
 background:#fbfcf9;padding:12px 21px 15px!important;
 color:#829278;font-size:10.5px!important;line-height:1.55;
 overflow-wrap:anywhere;
}

/* Espaçamento e ritmo visual dos módulos e métricas. */
.analytics-grid{gap:16px!important}
.analytics-intro{margin-bottom:20px}
.analytics-donut-layout{gap:19px;min-width:0}
.analytics-donut{width:125px;height:125px;flex:none}
.panel,.table-panel,.metric,.analytics-panel{border-radius:14px}
.table-head,.panel-inner{min-width:0}
.main-content{min-width:0}
@media(max-width:1250px){
 .analytics-panel-body{padding:13px 17px 17px!important}
 .analytics-panel-head{padding-left:17px!important;padding-right:17px!important}
 .analytics-panel-foot{padding-left:17px!important;padding-right:17px!important}
}
@media(max-width:540px){
 .analytics-bars{gap:13px!important}
 .analytics-bar-heading{column-gap:9px!important}
 .analytics-bar-label,.analytics-bar-value{font-size:11px!important}
 .analytics-panel-body{padding:12px 15px 16px!important}
 .analytics-panel-head{padding:17px 15px 8px!important}
 .analytics-panel-foot{padding:11px 15px 14px!important}
 .analytics-footline{gap:12px!important}
 .analytics-donut{width:113px;height:113px}
}


/* 3. Colaboradores: prioriza os dados reais e evita colunas técnicas e vazias. */
.people-table .data-table{min-width:730px}
.people-table .data-table th:first-child,
.people-table .data-table td:first-child{min-width:220px;width:27%}
.people-table .data-table th:nth-child(2),
.people-table .data-table td:nth-child(2){min-width:145px;width:19%}
.people-table .data-table th:nth-child(3),
.people-table .data-table td:nth-child(3){min-width:160px;width:20%}
.people-table .data-table th:nth-child(4),
.people-table .data-table td:nth-child(4){min-width:100px}
.people-table .employee-name{
 display:block;font-size:12px;line-height:1.55;
 color:#25431f;font-weight:700;
 white-space:normal;overflow-wrap:break-word;
}
.people-table .employee-role{
 color:#5d7554;
 background:#f4f8f1;
 display:inline-block;
 border-radius:7px;
 padding:5px 8px;
 font-size:11px;
 line-height:1.35;
}
.people-table .data-table td{vertical-align:middle}
.people-table .data-table th,.people-table .data-table td{padding:13px 15px}
/* Reforça o destaque de ações nos formulários sem aumentar o ruído visual. */
.uniform-roster .data-table th{white-space:nowrap}
.uniform-roster .uniform-person-name{font-size:12px}
.uniform-manager .uniform-section-head h2{line-height:1.35}
.uniform-manager .uniform-controls,.uniform-manager .uniform-distribution{
 box-shadow:0 6px 22px rgba(24,51,6,.032)
}
.uniform-manager .uniform-delivery-form input{min-height:44px}
@media(max-width:540px){
 .people-table .data-table{min-width:660px}
 .uniform-manager .uniform-kit-items>span{line-height:1.35}
}

/* 4. Identidade vetorial: respeita a proporção natural do SVG (549,4 × 486,1). */
.sidebar .brand-mark{
 display:grid!important;place-items:center!important;
 width:40px!important;height:40px!important;
 min-width:40px!important;max-width:40px!important;
 padding:3px!important;
 border-radius:11px!important;
 overflow:hidden;
 flex:0 0 40px!important;
 box-sizing:border-box;
}
.sidebar .brand-mark img{
 display:block!important;
 width:34px!important;
 max-width:100%!important;
 height:auto!important;
 max-height:33px!important;
 aspect-ratio:549.4 / 486.1;
 object-fit:contain!important;
 object-position:center;
 flex:none;
 transform:none!important;
}
/* 5. Botão de três linhas: recolhimento efetivo no desktop, ícones sempre disponíveis. */
@media(min-width:801px){
 .topbar .menu-toggle{
  display:inline-flex!important;
  align-items:center;justify-content:center;
  height:39px;min-width:39px;
  color:#4b7240;
  background:transparent;border:1px solid transparent;border-radius:10px;
 }
 .topbar .menu-toggle:hover,.topbar .menu-toggle:focus-visible{
  background:#edf7e8;border-color:#dbeacc;color:#2d6518;
 }
 .app-shell.sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)!important}
 .app-shell.sidebar-collapsed .sidebar .brand{
  justify-content:center!important;
  padding:16px 7px!important;
 }
 .app-shell.sidebar-collapsed .sidebar .brand>span:not(.brand-mark){display:none!important}
 .app-shell.sidebar-collapsed .sidebar .brand-mark{
  width:40px!important;min-width:40px!important;max-width:40px!important;
  height:40px!important;flex:0 0 40px!important;
 }
 .app-shell.sidebar-collapsed .sidebar .sidebar-content{
  padding:12px 7px!important;
  overflow-x:hidden!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-search-wrap{display:none!important}
 .app-shell.sidebar-collapsed .sidebar .nav-home{
  justify-content:center!important;
  width:48px!important;
  min-height:46px!important;
  padding:10px!important;
  margin:0 0 12px!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-home>span:not(.nav-home-icon){display:none!important}
 .app-shell.sidebar-collapsed .sidebar .nav-home-icon,
 .app-shell.sidebar-collapsed .sidebar .nav-section-icon{
  width:21px!important;height:21px!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-home-icon .ui-icon,
 .app-shell.sidebar-collapsed .sidebar .nav-section-icon .ui-icon{
  width:20px!important;height:20px!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-section{
  margin:5px 0!important;overflow:visible!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-section-toggle{
  display:flex!important;
  justify-content:center!important;
  gap:0!important;
  width:48px!important;
  min-height:46px!important;
  padding:11px!important;
  border-radius:9px!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-section-title,
 .app-shell.sidebar-collapsed .sidebar .nav-chevron,
 .app-shell.sidebar-collapsed .sidebar .nav-section-items{
  display:none!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-section.contains-active>.nav-section-toggle{
  background:#eaf5e3!important;
  box-shadow:inset 3px 0 0 #4ca314!important;
 }
 .app-shell.sidebar-collapsed .sidebar .nav-section.contains-active .nav-section-icon,
 .app-shell.sidebar-collapsed .sidebar .nav-section.contains-active .nav-section-icon .ui-icon{
  color:#347a10!important;
 }
 .app-shell.sidebar-collapsed .sidebar .sidebar-foot{
  min-height:56px;justify-content:center!important;
  align-items:center!important;padding:10px 6px!important;
 }
 .app-shell.sidebar-collapsed .sidebar .sidebar-foot>span:not(.sidebar-foot-dot){display:none!important}
 .app-shell.sidebar-collapsed .sidebar .sidebar-foot-dot{
  width:8px;height:8px;margin:0!important;
 }
 .app-shell.sidebar-collapsed .sidebar .brand,
 .app-shell.sidebar-collapsed .sidebar .nav-home,
 .app-shell.sidebar-collapsed .sidebar .nav-section-toggle{
  overflow:hidden!important;
 }
}
@media(max-width:800px){
 .sidebar .brand-mark img{width:34px!important;height:auto!important;max-height:33px!important}
}

/* Navegação lateral em peso regular, sem alterar o destaque de cor. */
.sidebar .nav-home,
.sidebar .nav-home.active,
.sidebar .nav-section-toggle,
.sidebar .nav-section-title,
.sidebar .nav-section .nav-link,
.sidebar .nav-section .nav-link.active,
.sidebar .nav-link-text{font-weight:400!important}

/* Tabelas fluidas: a largura pertence à página, nunca ao conteúdo das células. */
.app-shell,.workspace,.main-content,.table-panel,.table-scroll{min-width:0;max-width:100%}
.table-scroll{overflow-x:visible!important;min-width:0}
.data-table,.people-table .data-table,.inventory-table,.uniform-roster .data-table{
 width:100%!important;min-width:0!important;max-width:100%!important;
 table-layout:fixed!important;
}
.data-table th,.data-table td,
.inventory-table th,.inventory-table td,
.people-table .data-table th,.people-table .data-table td{
 box-sizing:border-box;
 min-width:0!important;max-width:none;
 padding:11px 8px!important;
 overflow-wrap:anywhere;word-break:normal;
 white-space:normal!important;
}
.data-table th .table-sort{display:inline-flex;white-space:normal;max-width:100%;text-align:left;align-items:flex-start}
.data-table .truncate{max-width:100%;white-space:normal;overflow:visible;text-overflow:clip}
.data-table th,.inventory-table th{font-size:10px!important;line-height:1.35}
.data-table td,.inventory-table td{font-size:11.5px;line-height:1.5}
.data-table .table-action{white-space:normal;text-align:left;padding:4px 0}
.inventory-row-note{min-width:0!important;max-width:100%;width:100%}
@media(max-width:800px){
 .table-scroll{overflow:visible!important}
 .data-table,.inventory-table{display:block;border:0;border-spacing:0}
 .data-table thead,.inventory-table thead{display:none}
 .data-table tbody,.inventory-table tbody{display:grid;gap:12px}
 .data-table tbody tr,.inventory-table tbody tr{
  display:flex;flex-direction:column;
  width:100%;min-width:0;
  border:1px solid var(--ui-border);border-radius:11px;
  background:#fff;overflow:hidden;
 }
 .data-table tbody td,.inventory-table tbody td{
  display:flex;align-items:flex-start;justify-content:space-between;
  width:100%!important;min-width:0!important;
  gap:12px;text-align:right;padding:10px 12px!important;
  border-bottom:1px solid #edf2e9;
 }
 .data-table tbody td:last-child,.inventory-table tbody td:last-child{border-bottom:0}
 .data-table tbody td::before,.inventory-table tbody td::before{
  content:attr(data-label);flex:0 0 42%;max-width:42%;
  color:#71846f;font-size:10.5px;font-weight:600;text-align:left;
  overflow-wrap:anywhere;
 }
 .data-table tbody td .truncate{max-width:55%;text-align:right}
 .data-table tbody td .table-action{margin-left:auto}
}


/* Solicitações de compra: seleção simultânea de setores na janela de registro. */
.purchase-sector-field{min-width:0;grid-column:1/-1;border:1px solid #dbe8dc;border-radius:12px;padding:14px 16px;display:grid;gap:12px}
.purchase-sector-field legend{padding:0 6px;font-size:12px;font-weight:650;color:#314e39}
.purchase-sector-all,.purchase-sector-option{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px;color:#294531;line-height:1.45}
.purchase-sector-all{font-weight:650;padding:10px 12px;background:#eaf4e7;border-radius:9px}
.purchase-sector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:8px}
.purchase-sector-option{background:#fff;border:1px solid #e0e9dd;border-radius:9px;padding:10px 12px;min-width:0}
.purchase-sector-option:hover{background:#f3f8f1;border-color:#cadbc7}
.purchase-sector-field input[type=checkbox]{flex:0 0 auto;width:17px;height:17px;min-height:0;margin:0;accent-color:#2d741d;box-shadow:none}
.purchase-sector-counter{font-size:11px;color:#6d826e}
@media(max-width:600px){.purchase-sector-field{padding:12px}.purchase-sector-grid{grid-template-columns:minmax(0,1fr)}}


/* Planejamento e receita: leitura rápida sem confundir apontamento com medição. */
.execution-finance{min-width:0;background:#fff;border:1px solid #dce8df;border-radius:15px;padding:20px 22px;margin:20px 0}
.execution-finance-head{display:flex;gap:16px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.execution-finance-head h2{font-size:19px;margin:5px 0 6px;color:#194534}
.execution-finance-head p{font-size:12px;line-height:1.6;color:#61786d;margin:0;max-width:800px}
.execution-month-label{font-size:12px;color:#527263;display:grid;gap:6px}
.execution-month-label input{font:inherit;border:1px solid #d7e4da;border-radius:8px;padding:9px 10px;background:#fff;color:#204b37}
.execution-money-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.execution-money-grid .metric{min-width:0;padding:16px}
.execution-money-grid .metric strong{font-size:clamp(17px,1.7vw,24px);overflow-wrap:anywhere;letter-spacing:-.5px}
.execution-money-grid .metric .metric-header{font-size:11px}
.execution-money-grid .metric small{line-height:1.5}
.execution-goal-progress{margin-top:17px;background:#f6faf7;border:1px solid #e6efe7;padding:15px;border-radius:11px}
.execution-goal-progress>div:first-child{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:12px;color:#456851}
.execution-goal-progress strong{color:#1b4c32}
.execution-goal-progress small{font-size:11px;color:#64796e;line-height:1.5}
.execution-progress-track{height:10px;overflow:hidden;background:#dfebe1;border-radius:12px;margin:12px 0}
.execution-progress-track span{display:block;height:100%;background:#267c50;border-radius:12px;min-width:0}
.execution-month-table{margin-top:16px;max-width:100%;min-width:0}
.execution-month-table .data-table{width:100%;table-layout:fixed;max-width:100%;min-width:0}
.execution-month-table .data-table th:first-child{width:11%}
.execution-month-table .data-table th:nth-child(2){width:27%}
.execution-month-table .data-table th:nth-child(3){width:13%}
.execution-month-table .data-table th:nth-child(4){width:13%}
.execution-month-table .data-table th:nth-child(5){width:15%}
.execution-month-table .data-table th:nth-child(6){width:12%}
.execution-month-table .data-table th:nth-child(7){width:9%}
.execution-month-table .data-table td,.execution-month-table .data-table th{overflow-wrap:anywhere;white-space:normal}
.execution-location{display:block;font-size:10px;color:#73877c;margin-top:4px;line-height:1.4}
.execution-dashboard-link{margin:-8px 0 18px;text-align:right}
@media(max-width:1050px){.execution-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.execution-finance{padding:16px 13px}.execution-money-grid{grid-template-columns:minmax(0,1fr)}.execution-month-table .table-head{flex-wrap:wrap}}

/* Preço e total derivados do contrato nos formulários de execução. */
.execution-valuation-preview{background:#f6f8f7;border:1px solid #dce5dd;border-radius:10px;padding:12px 14px;font-size:12px;color:#365646;line-height:1.5}

/* Cobertura da matriz de 73 itens: execução distinta de conferência e faturamento. */
.execution-finance-detail{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #dce9de;font-size:11.5px;line-height:1.55;color:#617569}
.execution-finance-detail strong{color:#244f38;font-size:12px}
.execution-finance-detail span{max-width:100%}


/* Planejamento > Itens contratuais sugeridos (matriz de 73 atividades). */
#contract-suggestions-root{min-width:0;max-width:100%;padding-bottom:24px}
.suggestions-guide,.suggestion-section{background:#fff;border:1px solid #dce8de;border-radius:15px;margin:15px 0;min-width:0}
.suggestions-guide{padding:22px}
.suggestions-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.suggestions-heading h2{margin:5px 0 8px;color:#214c34;font-size:clamp(20px,2vw,25px);letter-spacing:-.4px}
.suggestions-heading p{max-width:790px;margin:0;font-size:12.5px;line-height:1.6;color:#607368}
.suggestions-73{font-size:35px;line-height:1;font-weight:750;color:#2c714a;text-align:right;flex:0 0 auto}
.suggestions-73 span{display:block;font-weight:500;color:#688075;font-size:10px;padding-top:5px}
.suggestions-controls{margin-top:20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}
.suggestions-controls label{display:grid;gap:7px;min-width:0;font-size:10.5px;font-weight:650;line-height:1.35;color:#4a6a58}
.suggestions-controls input,.suggestions-controls select{width:100%;min-width:0;height:40px;border:1px solid #d3e1d7;border-radius:8px;background:#fff;padding:8px 10px;color:#264435;font:inherit;font-size:11px}
.suggestions-controls input:focus,.suggestions-controls select:focus{outline:2px solid #a4d2b3;outline-offset:1px}
.suggestions-disclaimer{margin:16px 0 0;padding:12px 14px;background:#f4f8f4;border-left:3px solid #759580;border-radius:6px;color:#607569;font-size:11.5px;line-height:1.65}
.suggestion-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.suggestion-stat{background:#fff;border:1px solid #e2e9e3;border-radius:12px;padding:16px;display:grid;gap:6px;min-width:0}
.suggestion-stat small{font-size:11px;font-weight:650;color:#5d7164}
.suggestion-stat strong{font-size:28px;letter-spacing:-.5px;color:#225a39;line-height:1}
.suggestion-stat span{font-size:10.5px;line-height:1.5;color:#728276}
.suggestion-section{padding:16px}
.suggestion-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:3px 2px 15px}
.suggestion-section-header h3{font-size:16px;color:#224c36;margin:0 0 5px}
.suggestion-section-header p{font-size:11px;color:#708074;margin:0;line-height:1.55}
.suggestion-list{display:grid;gap:9px}
.suggestion-card,.suggestion-row{display:grid;grid-template-columns:minmax(180px,2.15fr) minmax(145px,1.3fr) minmax(104px,1.13fr) minmax(84px,.72fr) minmax(104px,1fr) minmax(105px,1fr);gap:12px;align-items:center;max-width:100%;min-width:0;border:1px solid #e1e9e2;border-radius:11px;padding:14px;background:#fcfefc}
.suggestion-card{border-color:#d4e6d7;background:#fafffb}
.suggestion-main{min-width:0;display:grid;gap:6px}
.suggestion-main>strong{font-size:12.5px;line-height:1.5;color:#234731;overflow-wrap:anywhere}
.suggestion-card>div,.suggestion-row>div{min-width:0}
.suggestion-card>div>strong,.suggestion-row>div>strong{font-size:11.5px;color:#2c503a;font-weight:650;overflow-wrap:anywhere}
.suggestion-hint{display:block;margin-top:5px;color:#718477;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.suggest-status{display:inline-block;background:#e9f3e9;border:1px solid #d9e7d9;border-radius:7px;padding:4px 7px;font-size:10px;color:#4d6c55;font-weight:650;line-height:1.4}
.suggest-priority{color:#275d38;background:#e1f2e4;border-color:#c9e6d0}
.suggest-stopped{color:#95582c;background:#fff2e6;border-color:#ecd7c0}
.suggestion-row button,.suggestion-card button{white-space:normal;font-size:10.5px;padding:9px 10px;text-align:center}
@media(max-width:1250px){
 .suggestions-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
 .suggestion-card,.suggestion-row{grid-template-columns:minmax(160px,1.7fr) minmax(130px,1.25fr) minmax(110px,1fr)}
}
@media(max-width:850px){
 .suggestion-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .suggestions-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 .suggestion-card,.suggestion-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .suggestion-card .suggestion-main,.suggestion-row .suggestion-main{grid-column:1/-1}
}
@media(max-width:550px){
 .suggestions-guide{padding:14px}
 .suggestions-heading{align-items:flex-start}
 .suggestions-73{font-size:26px}
 .suggestions-controls,.suggestion-summary{grid-template-columns:minmax(0,1fr)}
 .suggestion-card,.suggestion-row{padding:12px;grid-template-columns:minmax(0,1fr)}
 .suggestion-card .suggestion-main,.suggestion-row .suggestion-main{grid-column:auto}
 .suggestion-section{padding:12px}
}

.suggestion-critical{display:flex;gap:12px 16px;flex-wrap:wrap;align-items:center;border-left:3px solid #b48b4b;background:#fbf9f4;border-radius:8px;padding:12px 15px;margin:15px 0 3px;color:#6d604c;font-size:11.5px;line-height:1.55}
.suggestion-critical strong{color:#73572a;white-space:normal}
.suggestion-critical span{flex:1 1 350px}

/* Impacto financeiro por item da matriz, inclusive serviços eventuais. */
.suggestion-finance-list{display:grid;gap:0;border:1px solid #e1e9e2;border-radius:10px;overflow:hidden}
.suggestion-finance-list>div{min-width:0;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e5ebe5}
.suggestion-finance-list>div:last-child{border-bottom:0}
.suggestion-finance-list>div:nth-child(even){background:#f9fcf9}
.suggestion-finance-list>div>span{min-width:0;display:grid;gap:4px}
.suggestion-finance-list>div>span strong{font-size:12px;color:#335b3f;overflow-wrap:anywhere}
.suggestion-finance-list>div>span small{font-size:10px;color:#78867b;overflow-wrap:anywhere}
.suggestion-finance-list>div>strong{font-size:13px;color:#255b37;text-align:right;flex:0 0 auto}
@media(max-width:520px){.suggestion-finance-list>div{flex-wrap:wrap}.suggestion-finance-list>div>strong{text-align:left}}


/* Cobertura · semântica visual dos 73 itens da matriz.
 * Oportunidade = hipótese; contemplada = ao menos um registro de execução.
 * Essas classes não alteram status, aprovações nem a medição no banco. */
.coverage-status-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:0 0 15px;max-width:100%}
.coverage-status.tag{
 display:inline-flex;align-items:center;justify-content:center;
 max-width:100%;border:1px solid;white-space:normal;
 font-weight:700;font-size:10.5px;line-height:1.4;
 padding:5px 9px;border-radius:7px;
}
.coverage-status--candidata.tag{color:#69469c;background:#f3eeff;border-color:#ded1f4}
.coverage-status--executada.tag{color:#14664d;background:#e1f4e9;border-color:#bde5cf}
.coverage-status--programada.tag{color:#1c5e96;background:#e9f3ff;border-color:#c5dcf7}
.coverage-status--em_execucao.tag{color:#8a570a;background:#fff0d7;border-color:#efd09a}
.coverage-status--a_validar.tag{color:#926022;background:#fff7e9;border-color:#edddb9}
.coverage-status--inviavel.tag{color:#9a3643;background:#fff0f2;border-color:#f1cbd1}
.coverage-status--nao_aplicavel.tag{color:#576a70;background:#edf2f3;border-color:#d9e3e5}
.coverage-status--sem_programacao.tag{color:#67717d;background:#f2f4f6;border-color:#e1e5e9}


/* Evidências fotográficas georreferenciadas · registros das rotinas dos postos fixos. */
.routine-photo-fieldset{width:100%;min-width:0;border:1px solid #dce7db;border-radius:12px;padding:15px 16px;margin:8px 0 0;display:grid;gap:13px;background:#fbfdfb}
.routine-photo-fieldset legend{padding:0 7px;color:#284d36;font-size:13px;font-weight:700}
.routine-photo-guide{font-size:11.5px;color:#536e60;line-height:1.6;margin:0}
.routine-photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.routine-photo-picker{display:inline-flex;justify-content:center;align-items:center;position:relative;cursor:pointer}
.routine-photo-picker input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;left:50%;bottom:0;pointer-events:none}
.routine-photo-picker:focus-within{outline:2px solid #2e8251;outline-offset:2px}
.routine-photo-message{font-size:11px;line-height:1.55;color:#657c6b;margin:0}
.routine-photo-list{display:grid;gap:11px;min-width:0}
.routine-photo-entry{background:#fff;border:1px solid #dfebdd;padding:12px;border-radius:10px;min-width:0;display:grid;gap:12px}
.routine-photo-entry-head{display:flex;align-items:center;gap:11px;min-width:0}
.routine-photo-entry-head>div{min-width:0;flex:1}
.routine-photo-entry-head strong,.routine-saved-photo strong{display:block;color:#31523b;font-size:12px;overflow-wrap:anywhere}
.routine-photo-entry-head small{display:block;color:#778976;font-size:10.5px;margin-top:4px}
.routine-photo-thumb{width:69px;height:64px;object-fit:cover;border:1px solid #e0e8de;border-radius:7px;flex:none}
.routine-photo-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0}
.routine-photo-fields label{display:grid;gap:6px;min-width:0;font-size:10.5px;color:#5c7662;font-weight:650}
.routine-photo-fields input{width:100%;box-sizing:border-box;min-width:0;font-size:12px;min-height:39px;border:1px solid #cfded1;border-radius:7px;background:#fff;color:#294c36;padding:8px 9px}
.routine-photo-origin{color:#647b69;font-size:10.5px;line-height:1.5}
.routine-photo-existing{border-top:1px solid #e3ece1;padding-top:13px;display:grid;gap:10px;font-size:11px;color:#718174}
.routine-photo-existing>strong{font-size:12px;color:#31513b}
.routine-photo-existing [data-routine-saved]{display:grid;gap:9px;min-width:0}
.routine-saved-photo{display:flex;gap:12px;align-items:center;min-width:0;padding:10px;border:1px solid #e2ece0;border-radius:9px;background:#fff}
.routine-saved-photo img{width:85px;height:70px;object-fit:cover;flex:none;border-radius:6px;border:1px solid #e6ece4}
.routine-saved-photo>div{display:grid;gap:4px;min-width:0}
.routine-saved-photo small{display:block;color:#647e68;font-size:10.5px;overflow-wrap:anywhere}
@media(max-width:700px){
 .routine-photo-fieldset{padding:12px}
 .routine-photo-fields{grid-template-columns:minmax(0,1fr)}
 .routine-photo-actions .btn{max-width:100%;white-space:normal}
 .routine-photo-entry-head{flex-wrap:wrap}
 .routine-photo-entry-head .btn{margin-left:auto}
}


/* Central de documentos: emissão e impressão em lote sem confundir assinatura com cadastro. */
#document-center-root{display:grid;gap:17px;min-width:0;max-width:100%;padding-bottom:24px}
.document-guide,.document-workspace{background:#fff;border:1px solid #dce6de;border-radius:16px;min-width:0;max-width:100%;padding:22px 24px}
.document-guide{background:linear-gradient(115deg,#f2f8f3 0%,#fff 76%)}
.document-guide-head,.document-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.document-guide-head h2{font-size:clamp(20px,2vw,27px);letter-spacing:-.6px;margin:7px 0;color:#1c4732}
.document-guide-head p{max-width:780px;font-size:12px;line-height:1.65;color:#60786a;margin:0}
.document-total{flex:0 0 auto;text-align:center;font-size:30px;font-weight:750;color:#215b38;line-height:1.1}
.document-total small{display:block;font-size:10px;line-height:1.4;font-weight:500;color:#647b6d}
.document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:22px}
.document-actions>span{font-size:11px;color:#718275}
.document-workspace-head{align-items:center;margin:0 0 15px}
.document-workspace-head h3{font-size:16px;color:#214a36;margin:0;letter-spacing:-.2px}
.document-workspace-head>span{font-size:11px;color:#748777;text-align:right}
.document-filters{display:grid;grid-template-columns:minmax(170px,220px) minmax(190px,1fr) auto auto;align-items:end;gap:10px;margin:0 0 15px}
.document-filters label{display:grid;gap:6px;color:#526a5b;font-weight:650;font-size:10.5px;min-width:0}
.document-filters select,.document-filters input{height:40px;border:1px solid #d3e2d5;border-radius:8px;min-width:0;width:100%;padding:9px 11px;font-size:12px;box-sizing:border-box;background:#fff;color:#274734}
.document-batch-actions{background:#f6faf7;border:1px solid #e1eae2;border-radius:12px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.document-batch-actions>div{min-width:210px;flex:1}
.document-batch-actions strong{font-size:12px;color:#264f36}
.document-batch-actions small{display:block;margin-top:5px;font-size:10px;line-height:1.55;color:#748578}
.document-batch-actions button{font-size:11px;white-space:normal}
.document-rows{display:grid;gap:8px;margin-top:13px}
.document-record{display:grid;grid-template-columns:28px minmax(110px,.9fr) minmax(170px,1.5fr) minmax(85px,.65fr) auto;gap:11px;align-items:center;border:1px solid #e2eae2;background:#fff;border-radius:11px;padding:11px 13px;min-width:0}
.document-record:nth-child(even){background:#fbfdfb}
.document-choice input{accent-color:#267343;width:17px;height:17px}
.document-record-title,.document-record-detail{min-width:0;display:grid;gap:3px}
.document-record-title strong,.document-record-detail strong{font-size:11.5px;line-height:1.5;overflow-wrap:anywhere;color:#244934}
.document-record-title small,.document-record-detail small{color:#778a79;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.document-record-status{font-size:10px;color:#617965;background:#f0f5f0;border:1px solid #e1e9e1;border-radius:8px;padding:6px 7px;line-height:1.45;text-align:center;overflow-wrap:anywhere}
.document-record-buttons{display:flex;flex-wrap:wrap;gap:9px;justify-content:end}
.document-record-buttons .table-action{padding:6px 1px;font-size:11px}
.document-empty{padding:33px 15px;text-align:center;border:1px dashed #d6e4d7;border-radius:11px;background:#f8fbf8;color:#4c6755}
.document-empty strong{font-size:13px}
.document-empty p{font-size:11.5px;margin:6px auto 0;max-width:490px;line-height:1.65}
.doc-templates-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.doc-preview-card{border:1px solid #d7e4d9;background:#fff;box-shadow:0 7px 20px #214d2110;padding:20px 21px;min-width:0;min-height:265px}
.doc-preview-top{color:#245c3c;font-size:14px;font-weight:800;letter-spacing:-.3px}
.doc-preview-top span{font-size:10px;letter-spacing:0;margin-left:10px;font-weight:600;color:#527961}
.doc-preview-divider{height:4px;background:#2c714a;margin:13px 0 17px}
.doc-preview-card>small{font-size:9px;letter-spacing:1px;color:#728778}
.doc-preview-card h3{font-size:18px;color:#1c402d;margin:12px 0}
.doc-preview-card p{font-size:10px;line-height:1.7;color:#678071;max-width:450px}
.doc-preview-lines{height:61px;background:repeating-linear-gradient(180deg,transparent 0,transparent 19px,#e5ede6 20px,#e5ede6 21px);margin-bottom:14px}
.doc-preview-sign{text-align:center;font-size:9px;line-height:2;color:#506f59}
.document-legal-note{font-size:11px;color:#708171;line-height:1.6;margin:16px 0 0}
.document-issues{display:grid;gap:5px}
.document-issues>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,1fr) minmax(160px,1fr);gap:12px;padding:10px;border-bottom:1px solid #eef2ee;font-size:11px;color:#506c58}
.document-issues strong{font-size:11px;color:#315942}
.document-issues small{font-size:10px;color:#728573}
.document-muted{font-size:11.5px;color:#718274}
@media(max-width:1200px){
 .document-record{grid-template-columns:24px minmax(115px,1fr) minmax(145px,1.6fr) auto}
 .document-record-status{display:none}
 .document-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
 .document-guide,.document-workspace{padding:16px}
 .document-guide-head{align-items:center}
 .document-record{grid-template-columns:24px minmax(0,1fr);gap:9px}
 .document-record-detail,.document-record-buttons{grid-column:2}
 .document-record-buttons{justify-content:flex-start}
 .doc-templates-preview{grid-template-columns:minmax(0,1fr)}
 .document-issues>div{grid-template-columns:1fr 1fr}
 .document-filters{grid-template-columns:minmax(0,1fr)}
 .document-batch-actions>div{flex-basis:100%}
}


/* Visão geral: mapa contratual georreferenciado, pronto para KML e imagens de satélite. */
#dashboard-coverage-map{margin:20px 0 28px;min-width:0;max-width:100%}
.coverage-map-shell{background:#fff;border:1px solid #dce9df;border-radius:16px;overflow:hidden;min-width:0}
.coverage-map-header{padding:21px 23px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.coverage-map-header h2{margin:5px 0;font-size:clamp(19px,2vw,24px);color:#214d35;letter-spacing:-.4px}
.coverage-map-header p{font-size:11.5px;line-height:1.55;color:#60776c;max-width:880px;margin:6px 0 0}
.coverage-map-count{background:#eaf4ec;color:#25623b;border:1px solid #d6e8d9;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:650;white-space:nowrap}
.coverage-map-toolbar{padding:10px 23px;border-top:1px solid #e7eee7;border-bottom:1px solid #e7eee7;background:#fafcfa;display:flex;align-items:end;flex-wrap:wrap;gap:10px}
.coverage-map-toolbar label{display:grid;gap:5px;font-size:10px;color:#6f826f;font-weight:700}
.coverage-map-toolbar select{width:min(290px,90vw);max-width:100%;font-size:11px;border-radius:8px;border:1px solid #dae4dc;padding:10px 9px;background:#fff;color:#2e523a;min-height:38px}
.coverage-map-toolbar a{font-size:11px;text-decoration:none}
.coverage-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,325px);min-height:445px;max-width:100%;min-width:0}
.coverage-map-canvas{min-height:445px;min-width:0;background:#152d20}
.coverage-map-sidebar{border-left:1px solid #e5eee5;background:#fcfefc;min-width:0;max-height:550px;display:flex;flex-direction:column}
.coverage-map-summary{border-bottom:1px solid #e1e9e1;padding:17px 15px}
.coverage-map-summary>strong{font-size:12px;color:#25533a}
.coverage-map-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:11px 0}
.coverage-map-stats>span{background:#f0f7f0;border:1px solid #e0ebe1;border-radius:9px;padding:9px;font-weight:700;color:#245a3c;font-size:15px;overflow-wrap:anywhere}
.coverage-map-stats small{display:block;font-size:9.5px;font-weight:500;color:#6b816f;margin-top:4px}
.coverage-map-summary>p{font-size:10.3px;line-height:1.5;color:#829184;margin:8px 0 0}
.coverage-map-layer-list{display:grid;gap:0;overflow:auto;min-height:0}
.coverage-layer-row{border-bottom:1px solid #e3eee4;padding:12px 14px;min-width:0}
.coverage-layer-check{display:flex;align-items:start;gap:9px;color:#315541;line-height:1.45}
.coverage-layer-check input{margin-top:3px;accent-color:#278650;width:16px;height:16px;flex:none}
.coverage-layer-check>span{display:grid;gap:3px;min-width:0}
.coverage-layer-check strong{font-size:11.5px;overflow-wrap:anywhere}
.coverage-layer-check small{font-size:10px;color:#778a7b;overflow-wrap:anywhere}
.coverage-layer-detail{display:grid;gap:6px;padding-left:25px;margin-top:7px}
.coverage-layer-detail small{font-size:10px;color:#657c6b;overflow-wrap:anywhere;line-height:1.5}
.coverage-map-status{display:inline-block;width:max-content;max-width:100%;white-space:normal;padding:4px 7px;font-size:9.5px;font-weight:650;border:1px solid;border-radius:7px}
.coverage-map-status.is-pending{color:#805f25;background:#fff6e5;border-color:#f0dfbe}
.coverage-map-status.is-georeferenced{color:#2a6956;background:#e4f5ed;border-color:#c4e6d3}
.coverage-map-import{margin:14px 23px;padding:18px;border:1px solid #d3e7d5;border-radius:11px;background:#f8fbf8;min-width:0}
.coverage-map-import[hidden]{display:none!important}
.coverage-map-import h3{font-size:14px;color:#235236;margin:0 0 7px}
.coverage-map-import p{font-size:11px;color:#627869;line-height:1.65;margin:0 0 13px}
.coverage-map-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.coverage-map-inputs label{display:grid;gap:7px;font-size:10.5px;font-weight:650;color:#536e5d;min-width:0}
.coverage-map-inputs input,.coverage-map-inputs select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d5e3d7;border-radius:8px;min-height:39px;padding:10px;background:#fff;color:#264534;font-size:11px}
.coverage-map-import-actions{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap}
.coverage-map-footer{background:#f7faf7;border-top:1px solid #e2ece4;padding:13px 23px;color:#6a806f;font-size:10.7px;line-height:1.7}
.coverage-map-footer strong{color:#335b41}
#dashboard-coverage-map .leaflet-control-attribution{font-size:9px}
@media(max-width:900px){
 .coverage-map-layout{grid-template-columns:minmax(0,1fr)}
 .coverage-map-canvas{min-height:365px}
 .coverage-map-sidebar{border-left:0;border-top:1px solid #e3eae4;max-height:none}
 .coverage-map-layer-list{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
 .coverage-layer-row:nth-child(odd){border-right:1px solid #e3eae4}
}
@media(max-width:560px){
 .coverage-map-header{align-items:start;padding:16px;flex-wrap:wrap}
 .coverage-map-toolbar{padding:12px 16px}
 .coverage-map-canvas{min-height:300px}
 .coverage-map-layer-list,.coverage-map-inputs{grid-template-columns:minmax(0,1fr)}
 .coverage-map-import{margin:12px;padding:12px}
 .coverage-map-footer{padding:12px 16px}
}


/* Padrão único de cores dos status do SIGA Américas. Cores comunicam situação,
   jamais substituem a descrição por extenso nem mudam estado persistido. */
:root{
 --siga-state-violet:#7048a3;--siga-state-violet-bg:#f3edfc;--siga-state-violet-border:#e3d6f5;
 --siga-state-blue:#245e98;--siga-state-blue-bg:#eaf3ff;--siga-state-blue-border:#cbdff7;
 --siga-state-amber:#86540c;--siga-state-amber-bg:#fff2df;--siga-state-amber-border:#efdab7;
 --siga-state-green:#196648;--siga-state-green-bg:#e2f3e8;--siga-state-green-border:#bfdfca;
 --siga-state-red:#a63d46;--siga-state-red-bg:#fff0f1;--siga-state-red-border:#f0ced1;
 --siga-state-grey:#586c73;--siga-state-grey-bg:#f0f3f5;--siga-state-grey-border:#dfe5e8;
}
.tag.status-chip,.document-record-status{
 display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%;
 white-space:normal;overflow-wrap:normal;word-break:normal;font-weight:650;
 border:1px solid!important;border-radius:8px;padding:5px 9px;line-height:1.45;
 color:var(--siga-state-grey)!important;background:var(--siga-state-grey-bg)!important;
 border-color:var(--siga-state-grey-border)!important;font-size:10.5px;
}
.tag.status-chip[data-status="candidata"],.tag.status-chip[data-status="oportunidade"]{
 color:var(--siga-state-violet)!important;background:var(--siga-state-violet-bg)!important;border-color:var(--siga-state-violet-border)!important;
}
.tag.status-chip[data-status="programada"],.tag.status-chip[data-status="em_analise"],.tag.status-chip[data-status="em_revisao"],.tag.status-chip[data-status="aberta"],.tag.status-chip[data-status="em_aberto"]{
 color:var(--siga-state-blue)!important;background:var(--siga-state-blue-bg)!important;border-color:var(--siga-state-blue-border)!important;
}
.tag.status-chip[data-status="em_execucao"],.tag.status-chip[data-status="a_conferir"],.tag.status-chip[data-status="a_validar"],
.tag.status-chip[data-status="pendente"],.tag.status-chip[data-status="pendente_assinatura"],.tag.status-chip[data-status="impedida"],
.tag.status-chip[data-status="em_adequacao"],.tag.status-chip[data-status="critica"],.tag.status-chip[data-status="requer_atencao"]{
 color:var(--siga-state-amber)!important;background:var(--siga-state-amber-bg)!important;border-color:var(--siga-state-amber-border)!important;
}
.tag.status-chip[data-status="validada"],.tag.status-chip[data-status="validado"],.tag.status-chip[data-status="contemplada"],.tag.status-chip[data-status="executada"],
.tag.status-chip[data-status="concluida"],.tag.status-chip[data-status="concluido"],.tag.status-chip[data-status="ativo"],
.tag.status-chip[data-status="ativa"],.tag.status-chip[data-status="conforme"],.tag.status-chip[data-status="aprovada"],.tag.status-chip[data-status="aprovado"],.tag.status-chip[data-status="disponivel"],.tag.status-chip[data-status="bom"]{
 color:var(--siga-state-green)!important;background:var(--siga-state-green-bg)!important;border-color:var(--siga-state-green-border)!important;
}
.tag.status-chip[data-status="cancelada"],.tag.status-chip[data-status="inviavel"],.tag.status-chip[data-status="glosada"],.tag.status-chip[data-status="atrasada"],
.tag.status-chip[data-status="inutilizavel"],.tag.status-chip[data-status="reprovada"]{
 color:var(--siga-state-red)!important;background:var(--siga-state-red-bg)!important;border-color:var(--siga-state-red-border)!important;
}
.coverage-status--candidata.tag{color:var(--siga-state-violet)!important;background:var(--siga-state-violet-bg)!important;border-color:var(--siga-state-violet-border)!important}
.coverage-status--programada.tag{color:var(--siga-state-blue)!important;background:var(--siga-state-blue-bg)!important;border-color:var(--siga-state-blue-border)!important}
.coverage-status--em_execucao.tag,.coverage-status--a_validar.tag{color:var(--siga-state-amber)!important;background:var(--siga-state-amber-bg)!important;border-color:var(--siga-state-amber-border)!important}
.coverage-status--executada.tag{color:var(--siga-state-green)!important;background:var(--siga-state-green-bg)!important;border-color:var(--siga-state-green-border)!important}
.coverage-status--inviavel.tag{color:var(--siga-state-red)!important;background:var(--siga-state-red-bg)!important;border-color:var(--siga-state-red-border)!important}

/* Central de documentos segue a mesma escala dos estados operacionais. */
.document-record-status[data-status="aberta"],.document-record-status[data-status="programada"]{color:var(--siga-state-blue)!important;background:var(--siga-state-blue-bg)!important;border-color:var(--siga-state-blue-border)!important}
.document-record-status[data-status="em_execucao"],.document-record-status[data-status="pendente_assinatura"],.document-record-status[data-status="impedida"]{color:var(--siga-state-amber)!important;background:var(--siga-state-amber-bg)!important;border-color:var(--siga-state-amber-border)!important}
.document-record-status[data-status="ativo"],.document-record-status[data-status="concluida"],.document-record-status[data-status="encerrado"]{color:var(--siga-state-green)!important;background:var(--siga-state-green-bg)!important;border-color:var(--siga-state-green-border)!important}
.document-record-status[data-status="cancelada"],.document-record-status[data-status="inviavel"]{color:var(--siga-state-red)!important;background:var(--siga-state-red-bg)!important;border-color:var(--siga-state-red-border)!important}
.suggest-stopped{color:var(--siga-state-red)!important;background:var(--siga-state-red-bg)!important;border-color:var(--siga-state-red-border)!important}


/* Mapa da visão geral: altura controlada, camadas roláveis apenas no próprio painel.
   O Leaflet nunca deve ultrapassar a janela do mapa nem a barra superior do sistema. */
#dashboard-coverage-map{position:relative;isolation:isolate;z-index:0;max-width:100%;min-width:0;margin:14px 0 21px}
#dashboard-coverage-map .coverage-map-shell{position:relative;isolation:isolate;max-width:100%;min-width:0;overflow:hidden}
#dashboard-coverage-map .coverage-map-header{padding:13px 18px 10px}
#dashboard-coverage-map .coverage-map-header h2{font-size:18px;margin:3px 0}
#dashboard-coverage-map .coverage-map-header p{font-size:11px;line-height:1.4;margin:3px 0 0}
#dashboard-coverage-map .coverage-map-toolbar{padding:8px 18px;gap:8px}
#dashboard-coverage-map .coverage-map-toolbar select{min-height:35px;padding:7px 10px}
#dashboard-coverage-map .coverage-map-layout{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,285px);
 min-width:0;max-width:100%;height:325px!important;min-height:0!important;max-height:325px!important;
 overflow:hidden;
}
#dashboard-coverage-map .coverage-map-canvas,
#dashboard-coverage-map .coverage-map-canvas.leaflet-container{
 display:block;position:relative;isolation:isolate;z-index:0;
 box-sizing:border-box;height:325px!important;min-height:0!important;max-height:325px!important;
 width:100%!important;min-width:0;max-width:100%;overflow:hidden!important;
}
#dashboard-coverage-map .coverage-map-sidebar{
 height:325px;max-height:325px;min-height:0;
 overflow:hidden;display:flex;flex-direction:column;
}
#dashboard-coverage-map .coverage-map-summary{padding:11px 12px;flex:0 0 auto}
#dashboard-coverage-map .coverage-map-stats{gap:5px;margin:7px 0}
#dashboard-coverage-map .coverage-map-stats>span{font-size:12px;padding:7px}
#dashboard-coverage-map .coverage-map-layer-list{
 display:block;flex:1 1 auto;overflow-y:auto!important;overflow-x:hidden!important;
 overscroll-behavior:contain;min-height:0;max-height:100%;
}
#dashboard-coverage-map .coverage-layer-row{padding:9px 11px}
#dashboard-coverage-map .coverage-map-footer{padding:9px 18px;font-size:10px}
#dashboard-coverage-map .leaflet-pane,
#dashboard-coverage-map .leaflet-top,
#dashboard-coverage-map .leaflet-bottom{max-width:100%}
@media(max-width:820px){
 #dashboard-coverage-map .coverage-map-layout{
  display:flex;flex-direction:column;height:auto!important;max-height:none!important;
 }
 #dashboard-coverage-map .coverage-map-canvas,
 #dashboard-coverage-map .coverage-map-canvas.leaflet-container{
  height:255px!important;max-height:255px!important;min-height:0!important;flex:0 0 255px;
 }
 #dashboard-coverage-map .coverage-map-sidebar{height:175px;max-height:175px;min-height:0;border-left:0;border-top:1px solid #e3eae4}
 #dashboard-coverage-map .coverage-map-layer-list{display:block;overflow-y:auto!important}
 #dashboard-coverage-map .coverage-layer-row:nth-child(odd){border-right:0}
}
@media(max-width:550px){
 #dashboard-coverage-map .coverage-map-header{padding:12px 14px}
 #dashboard-coverage-map .coverage-map-toolbar{padding:8px 14px}
 #dashboard-coverage-map .coverage-map-canvas,
 #dashboard-coverage-map .coverage-map-canvas.leaflet-container{height:230px!important;max-height:230px!important;flex-basis:230px}
 #dashboard-coverage-map .coverage-map-sidebar{height:165px;max-height:165px}
 #dashboard-coverage-map .coverage-map-footer{padding:10px 14px}
}


/* Ritmo vertical padrão · separar painéis consecutivos nas telas do SIGA.
   Aplicado somente à composição da página, sem espaçar elementos internos
   de cartões, tabelas, modais ou do formulário de login. */
:root{--siga-panel-gap:20px}
#main > :is(.table-panel,.panel,.analytics-panel,.catalog-chart,.catalog-stat,.execution-finance,.metric-grid,.panel-grid,.analytics-grid)
 + :is(.table-panel,.panel,.analytics-panel,.catalog-chart,.catalog-stat,.execution-finance,.metric-grid,.panel-grid,.analytics-grid){
 margin-block-start:var(--siga-panel-gap);
}
#main :is(.metric-grid,.panel-grid,.analytics-grid){gap:var(--siga-panel-gap)}
/* A Cobertura monta os dois painéis financeiros dentro de um contêiner. */
#coverage-execution-metrics > .execution-finance{margin-block:0}
#coverage-execution-metrics > .execution-month-table{margin-block:var(--siga-panel-gap) 0}
#main > #coverage-execution-metrics + .table-panel{
 margin-block-start:var(--siga-panel-gap);
}
@media(max-width:600px){
 #main :is(.metric-grid,.panel-grid,.analytics-grid){gap:16px}
}


/* Encerramento UI/UX · Visão geral orientada à supervisão. Os atalhos de
   emissão e programação precedem o mapa e os indicadores extensos. */
#main .dashboard-overview{margin-block-end:18px}
#main .dashboard-utility-grid{margin-block:0 20px;align-items:stretch}
#main .dashboard-utility-grid .dashboard-workspace-panel{
 background:linear-gradient(145deg,#ffffff 16%,#f4faf5 100%);
 border-color:#cfe4d5
}
#main .dashboard-workspace-panel .panel-inner{padding:24px}
#main .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}
#main .dashboard-quick-grid .quick-link{min-height:52px;padding:11px 12px;align-items:center;border-color:#dce9de}
#main .dashboard-quick-grid .quick-link:hover{background:#e9f7ec;border-color:#b2d6bf}
#main .dashboard-quick-grid .quick-link-label{min-width:0;overflow-wrap:anywhere}
#main .dashboard-metric{transition:border-color .15s,box-shadow .15s,transform .15s}
#main .dashboard-metric:focus-visible,#main .dashboard-quick-grid .quick-link:focus-visible{
 outline:3px solid #78bd91;outline-offset:2px
}
#main .dashboard-section-head h2{font-size:clamp(18px,2vw,21px)}
#main .dashboard-recent-orders{min-height:0}
#main .dashboard-utility-grid + #dashboard-execution-finance{margin-block-start:20px}
/* Mobile: leitura de painéis, atalhos e controles acessíveis com uma mão. */
@media(max-width:800px){
 body:not(.auth-locked) .main-content{padding:20px 16px calc(72px + env(safe-area-inset-bottom,0px))}
 body:not(.auth-locked) .topbar{padding-inline:12px;min-height:60px}
 .topbar .menu-toggle,.topbar .icon-btn{min-width:44px;min-height:44px;display:inline-grid;place-items:center}
 .sidebar-content .nav-link,.sidebar-content .nav-section-toggle{
  min-height:44px;touch-action:manipulation
 }
 #main .page-heading{gap:13px;margin-bottom:17px}
 #main .page-heading h1{font-size:clamp(22px,5vw,28px)}
 #main .heading-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #main .heading-actions .btn{display:flex;justify-content:center;align-items:center;gap:7px;
  min-width:0;min-height:44px;white-space:normal;text-align:center;padding:10px 9px;font-size:11.5px}
 #main .dashboard-utility-grid{gap:16px}
 #main .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #main .dashboard-quick-grid .quick-link{min-height:54px}
 #main .dashboard-utility-grid .panel-inner{padding:17px}
 #main .dashboard-metric{min-height:124px}
 .form-grid{padding:12px 16px 18px;gap:13px}
 .modal{max-height:min(94dvh,960px);border-radius:14px}
 .modal-head{padding:17px 16px 10px;align-items:center}
 .modal-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));gap:9px;
  position:sticky;bottom:0;z-index:2;background:#fff;border-top:1px solid #dfebe2}
 .modal-actions .btn{min-height:46px;flex:1;white-space:normal}
 .field input,.field select,.field textarea,
 .field-input input,.field-input select,.field-input textarea,
 .field-form-grid input,.field-form-grid select,.field-form-grid textarea{
  min-height:44px;font-size:16px;max-width:100%
 }
 .field textarea,.field-input textarea{min-height:95px}
 .btn,.table-action,.quick-link,.field-view-tabs button{touch-action:manipulation}
 .table-head{gap:10px;padding:15px 14px}
 .table-head .table-toolbar{width:100%}
 .table-head .searchbox{width:100%;min-height:44px;font-size:16px}
 .table-panel,.panel,.execution-finance{min-width:0}
 .data-table tbody td::before{line-height:1.4}
}
/* Formulário de campo: escolhas 2×2 legíveis e ação de salvar fixa com respeito
   à área segura do celular. Resultado relatado não equivale a aceite de OS. */
.field-result-hint{margin:10px 2px 0;font-size:11px;line-height:1.6;color:#607c6a}
.field-main-form .field-result-pill>span{min-height:46px}
.field-main-form .field-result-pill input:checked+span{box-shadow:inset 0 0 0 1px #69ad88}
@media(max-width:580px){
 #main .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #main .dashboard-metric{padding:13px 11px;min-height:119px}
 #main .dashboard-metric strong{font-size:clamp(24px,6vw,29px)}
 #main .dashboard-metric .metric-header>span:first-child{font-size:10.5px}
 #main .dashboard-quick-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #main .dashboard-quick-grid .quick-link{padding:11px 9px}
 #main .heading-actions{grid-template-columns:minmax(0,1fr)}
 #main .heading-actions .btn{width:100%}
 .field-main-form-simple{gap:13px}
 .field-quick-section{padding:16px 13px 18px}
 .field-quick-grid{grid-template-columns:minmax(0,1fr)}
 .field-activity-quick{padding:14px 12px}
 .field-result-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .field-result-pill>span{font-size:12px;min-height:49px;padding:9px 7px}
 .field-result-hint{font-size:11.5px}
 .field-inline-details>summary{min-height:46px;line-height:1.5}
 .field-inline-details-content{padding:13px 10px}
 .field-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;gap:5px;overflow:visible}
 .field-view-tabs button{min-width:0;min-height:45px;white-space:normal;font-size:11.5px}
 .field-attendance-row{min-height:55px;gap:9px}
 .field-attendance-row select{font-size:14px;min-height:43px;width:43%;max-width:150px}
 .field-main-form-simple .field-form-actions{position:sticky;bottom:0;z-index:8;
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  padding:10px 10px calc(12px + env(safe-area-inset-bottom,0px));gap:8px;
  border:1px solid #d9e8dd;box-shadow:0 -10px 27px rgba(18,55,31,.12);border-radius:12px}
 .field-main-form-simple .field-form-actions .btn{min-height:49px;font-size:12px}
}
@media(max-width:360px){
 #main .dashboard-metrics{grid-template-columns:minmax(0,1fr)}
 #main .dashboard-quick-grid{grid-template-columns:minmax(0,1fr)}
}


/* Ocorrências reais informadas pelos técnicos, exibidas somente quando houver. */
.dashboard-field-alerts:empty{display:none}
.dashboard-field-alert-card{display:flex;gap:16px;align-items:center;justify-content:space-between;
 margin:0 0 18px;padding:14px 18px;border:1px solid #ebd5b5;border-left:4px solid #c38b31;
 border-radius:12px;background:#fffaf1;box-shadow:0 4px 15px rgba(64,43,13,.04)}
.dashboard-field-alert-card>div{min-width:0}
.dashboard-field-alert-card strong{display:block;color:#785321;font-size:13px;margin:5px 0 3px}
.dashboard-field-alert-card p{margin:0;color:#806b4a;font-size:11.5px;line-height:1.6}
.dashboard-field-alert-card .btn{min-height:43px;flex:0 0 auto}
@media(max-width:580px){
 .dashboard-field-alert-card{align-items:stretch;flex-direction:column;padding:13px}
 .dashboard-field-alert-card .btn{width:100%;white-space:normal}
}


/* Mapa da Visão geral: ocupação integral da janela, sem listagem lateral. */
#dashboard-coverage-map .coverage-map-layout{display:block!important;width:100%;max-width:100%;
 grid-template-columns:minmax(0,1fr)!important;height:330px!important;min-height:0!important;max-height:330px!important}
#dashboard-coverage-map .coverage-map-layout>.coverage-map-canvas,
#dashboard-coverage-map .coverage-map-canvas.leaflet-container{height:330px!important;max-height:330px!important;width:100%!important;min-height:0!important;max-width:100%!important}
#dashboard-coverage-map .coverage-map-sidebar{display:none!important}
#dashboard-coverage-map .coverage-map-count{white-space:normal}
.team-search-cell{display:grid;gap:6px;min-width:0}
.team-search-cell strong{font-size:12px;color:#294d35}
.team-search-cell small{font-size:10.5px;color:#667e6b;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:800px){
 #dashboard-coverage-map .coverage-map-layout{height:275px!important;max-height:275px!important}
 #dashboard-coverage-map .coverage-map-canvas,
 #dashboard-coverage-map .coverage-map-canvas.leaflet-container{height:275px!important;max-height:275px!important;flex:auto!important}
}
@media(max-width:550px){
 #dashboard-coverage-map .coverage-map-layout{height:245px!important;max-height:245px!important}
 #dashboard-coverage-map .coverage-map-canvas,
 #dashboard-coverage-map .coverage-map-canvas.leaflet-container{height:245px!important;max-height:245px!important}
}


/* Legenda flutuante do mapa: corresponde exclusivamente às geometrias cadastradas.
   Polígonos desenhados com traçado colorido e preenchimento 0%. */
#dashboard-coverage-map .coverage-map-layout{position:relative!important;isolation:isolate}
#dashboard-coverage-map .coverage-map-legend{
 position:absolute;top:12px;right:12px;z-index:1200;
 box-sizing:border-box;width:min(244px,calc(100% - 68px));max-height:calc(100% - 24px);
 background:rgba(255,255,255,.96);border:1px solid rgba(211,226,214,.95);
 border-radius:11px;box-shadow:0 8px 25px rgba(9,32,20,.22);
 overflow:hidden;color:#274a36;
}
#dashboard-coverage-map .coverage-map-legend[hidden]{display:none!important}
#dashboard-coverage-map .coverage-map-legend summary{
 display:flex;align-items:center;gap:7px;list-style:none;
 cursor:pointer;min-height:39px;padding:9px 11px;box-sizing:border-box;
 font-size:11px;font-weight:750;line-height:1.35;user-select:none;
}
#dashboard-coverage-map .coverage-map-legend summary::-webkit-details-marker{display:none}
#dashboard-coverage-map .coverage-map-legend summary:focus-visible{
 outline:2px solid #288855;outline-offset:-3px;border-radius:10px;
}
#dashboard-coverage-map .coverage-map-legend summary .ui-icon{width:15px;height:15px;flex-shrink:0}
#dashboard-coverage-map .coverage-map-legend summary span{color:#657e6e;font-size:10px;margin-left:auto;font-weight:600}
#dashboard-coverage-map .coverage-map-legend summary .ui-icon:last-child{
 transition:transform .16s ease
}
#dashboard-coverage-map .coverage-map-legend[open] summary .ui-icon:last-child{transform:rotate(180deg)}
#dashboard-coverage-map .coverage-map-legend[open] summary{border-bottom:1px solid #e6eee7}
#dashboard-coverage-map .coverage-map-legend-items{
 padding:8px 10px 10px;display:grid;gap:8px;
 overflow-y:auto;overscroll-behavior:contain;
 max-height:227px;min-width:0;
}
#dashboard-coverage-map .coverage-map-legend-entry{
 display:grid;grid-template-columns:22px minmax(0,1fr);
 align-items:center;column-gap:8px;min-width:0;
 font-size:10.5px;line-height:1.4;font-weight:550;color:#304e3b;
}
#dashboard-coverage-map .coverage-map-legend-line{
 display:block;width:22px;height:0;
 border-top:3px solid var(--legend-color);
 border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.22);
}
@media(max-width:600px){
 #dashboard-coverage-map .coverage-map-legend{
  top:9px;right:9px;width:min(204px,calc(100% - 65px));max-height:calc(100% - 18px);
 }
 #dashboard-coverage-map .coverage-map-legend summary{min-height:41px;font-size:11px}
 #dashboard-coverage-map .coverage-map-legend-items{max-height:145px}
}


/* Ordenação das tabelas: ícone vertical, dimensionado de forma fixa, sem setas deslocadas. */
#main .data-table th .table-sort{
 display:inline-flex!important;align-items:center!important;justify-content:flex-start;
 gap:6px!important;min-width:0;max-width:100%;width:100%;
 text-align:left!important;white-space:normal!important;line-height:1.35;
 padding:5px 0!important;
}
#main .data-table th .table-sort .sort-label{
 display:inline-block;min-width:0;max-width:calc(100% - 21px);
 white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:auto;
}
#main .data-table th .table-sort .sort-arrow{
 flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center;
 width:16px;height:20px;margin:0;line-height:0;color:#839d8a;
 transform:none!important;vertical-align:middle;
}
#main .data-table th .table-sort .sort-arrow .ui-icon{
 width:15px;height:15px;min-width:15px;min-height:15px;
}
#main .data-table th .table-sort.active .sort-arrow{color:#17754c}
#main .data-table th[aria-sort="ascending"],
#main .data-table th[aria-sort="descending"]{background:#e5f1e7}
#main .data-table th.numeric-cell .table-sort{justify-content:flex-end;text-align:right!important}
@media(max-width:1100px){
 #main .data-table th .table-sort{gap:4px!important}
 #main .data-table th .table-sort .sort-arrow{flex-basis:15px;width:15px}
}

/* Visão geral em camadas: decisões na abertura, análises sob demanda. */
#main .dashboard-overview{margin-bottom:14px}
#main .dashboard-section-head{margin-bottom:12px}
#main .dashboard-section-head h2{font-size:19px;letter-spacing:-.4px}
#main .dashboard-metrics{gap:12px!important;margin-bottom:0}
#main .dashboard-metric{min-height:125px;padding:15px 16px 13px}
#main .dashboard-metric strong{font-size:29px;margin-top:7px}
#main .dashboard-metric .metric-icon{flex:0 0 27px}
#main .dashboard-metric .metric-open{bottom:12px;right:13px}
#main .dashboard-utility-grid{margin:0 0 21px;gap:16px!important}
#main .dashboard-utility-grid .panel-inner{padding:20px}
#main .dashboard-workspace-panel .panel-inner p{margin-bottom:0}
#main .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin-top:14px}
#main .dashboard-quick-grid .quick-link{min-height:49px;padding:9px 11px}
#main .dashboard-recent-orders{margin-top:12px}
#main .dashboard-recent-list li{min-height:54px}
#main .dashboard-insights{display:grid;gap:12px;min-width:0;margin:23px 0 26px}
#main .dashboard-insights-heading{display:flex;align-items:end;justify-content:space-between;gap:14px}
#main .dashboard-insights-heading h2{font-size:19px;letter-spacing:-.45px;color:#234632;margin:5px 0 4px}
#main .dashboard-insights-heading p{font-size:11.5px;color:#70897a;line-height:1.5;margin:0}
#main .dashboard-insights-frame{
 min-width:0;background:#fff;border:1px solid #dce9df;
 border-radius:14px;overflow:hidden;box-shadow:0 7px 25px rgba(31,64,40,.05);
}
#main .dashboard-insights-tabs{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:0;min-width:0;padding:6px;background:#f4f8f4;
 border-bottom:1px solid #dfeae1;
}
#main .dashboard-insights-tabs button{
 appearance:none;border:0;background:transparent;border-radius:9px;
 display:flex;align-items:center;justify-content:center;gap:8px;
 min-height:46px;min-width:0;padding:10px 9px;
 color:#637b6b;font-family:inherit;font-weight:640;font-size:11.5px;
 line-height:1.35;text-align:center;white-space:normal;cursor:pointer;
}
#main .dashboard-insights-tabs button .ui-icon{width:16px;height:16px;flex:none}
#main .dashboard-insights-tabs button[aria-selected="true"]{
 background:#fff;color:#176c45;box-shadow:0 1px 7px rgba(36,78,47,.1);
}
#main .dashboard-insights-tabs button:not([aria-selected="true"]):hover{background:#eaf3ec;color:#345f45}
#main .dashboard-insights-tabs button:focus-visible{outline:2px solid #37a268;outline-offset:-2px}
#main .dashboard-insight-panel{min-width:0;padding:16px 18px}
#main .dashboard-insight-panel[hidden]{display:none!important}
#main .dashboard-insight-loading{margin:0;padding:22px 10px;text-align:center;color:#708a7a;font-size:12px}
#main #dashboard-execution-finance{margin:0;max-width:100%}
#main #dashboard-execution-finance .execution-finance{margin:0;box-shadow:none}
#main #dashboard-execution-finance .execution-dashboard-link{margin:12px 2px 0}
#main #dashboard-coverage-map{margin:0!important;padding:0!important;width:100%;max-width:100%}
#main #dashboard-coverage-map .coverage-map-shell{
 border:none;border-radius:0;box-shadow:none;
}
#main #dashboard-coverage-map .coverage-map-header{padding-top:15px}
#main #dashboard-analytics{margin:0!important;padding:15px 18px 18px}
#main #dashboard-analytics .analytics-intro{margin-bottom:12px}
#main #dashboard-analytics .analytics-grid{gap:13px!important}
#main #dashboard-analytics .analytics-panel{min-height:250px}
@media(max-width:800px){
 #main .dashboard-overview{margin-bottom:12px}
 #main .dashboard-metric{padding:13px 12px;min-height:118px}
 #main .dashboard-metric strong{font-size:27px}
 #main .dashboard-utility-grid{margin-bottom:19px}
 #main .dashboard-insights{margin-top:18px}
 #main .dashboard-insight-panel{padding:13px}
 #main #dashboard-coverage-map{padding:0!important}
 #main #dashboard-analytics{padding:13px}
 #main .dashboard-insights-tabs button{min-height:50px;font-size:11px;padding:9px 6px;gap:5px}
}
@media(max-width:520px){
 #main .dashboard-insights-tabs{padding:4px}
 #main .dashboard-insights-tabs button{flex-direction:column;min-height:62px;font-size:10.6px;gap:5px;padding:8px 4px}
 #main .dashboard-insights-tabs button .ui-icon{width:16px;height:16px}
 #main .dashboard-insights-heading h2{font-size:17px}
 #main .dashboard-insight-panel{padding:11px}
 #main #dashboard-execution-finance .execution-dashboard-link{text-align:center}
 #main .dashboard-metric{min-height:112px}
 #main .dashboard-metric strong{font-size:25px}
}


/* Documentos institucionais: usar o SVG oficial da PROERG nas prévias,
   preservando o desenho original e diferenciando empresa e sistema. */
#document-center-root .doc-preview-top{
 display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;
 column-gap:12px;row-gap:6px;min-width:0;min-height:41px;
}
#document-center-root .doc-preview-company{
 position:relative;display:block;flex:0 0 149px;
 width:149px;height:39px;overflow:hidden;margin:0;
}
#document-center-root .doc-preview-company img{
 position:absolute;top:50%;left:50%;display:block;
 width:100%;height:auto;max-height:none;max-width:none;
 object-fit:contain;transform:translate(-50%,-50%);
 filter:brightness(0) saturate(100%) invert(25%) sepia(20%)
  saturate(1044%) hue-rotate(89deg) brightness(94%) contrast(93%);
}
#document-center-root .doc-preview-top .doc-preview-system{
 display:inline-block;min-width:0;margin:0;
 color:#607a69;font-size:10px;letter-spacing:0;font-weight:600;
}
@media(max-width:520px){
 #document-center-root .doc-preview-top{column-gap:9px;min-height:35px}
 #document-center-root .doc-preview-company{flex-basis:132px;width:132px;height:35px}
 #document-center-root .doc-preview-top .doc-preview-system{font-size:9.5px}
}


/* Refinamento do cabeçalho de OS e termos: assinatura da PROERG é um
   elemento gráfico independente, com respiro antes do nome do sistema. */
#document-center-root .doc-preview-top{
 display:flex!important;flex-direction:row;justify-content:flex-start;
 align-items:center;flex-wrap:nowrap;gap:19px!important;
 min-height:48px;padding:3px 0;overflow:hidden;
}
#document-center-root .doc-preview-company{
 flex:0 0 146px!important;width:146px!important;
 height:42px!important;position:relative;
}
#document-center-root .doc-preview-company img{
 width:100%!important;height:auto!important;max-height:none!important;
 position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
}
#document-center-root .doc-preview-top .doc-preview-system{
 align-self:center;display:flex;align-items:center;
 min-height:27px;min-width:0;margin:0!important;
 padding-left:18px!important;border-left:1px solid #dbe6df;
 font-size:10.5px!important;line-height:1.4;
 font-weight:650;color:#577563;letter-spacing:0;overflow-wrap:anywhere;
}
@media(max-width:600px){
 #document-center-root .doc-preview-top{gap:11px!important;min-height:42px}
 #document-center-root .doc-preview-company{flex-basis:119px!important;width:119px!important;height:37px!important}
 #document-center-root .doc-preview-top .doc-preview-system{
  padding-left:11px!important;font-size:9.5px!important;
 }
}


/* Execuções registradas: hierarquia estável e detalhes opcionais */
#modal-fields .execution-form-section-heading{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:10px 0 8px;border-bottom:1px solid #dbe8dd}
#modal-fields .execution-form-section-heading strong{color:#1b4a37;font-size:13px;font-weight:760}
#modal-fields .execution-form-section-heading small{color:#6b8474;font-size:11px;line-height:1.45}
#modal-fields .execution-form-extras{grid-column:1/-1;border:1px solid #dbe8df;border-radius:11px;background:#f8fbf9;overflow:hidden}
#modal-fields .execution-form-extras>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 16px;color:#2b6348;font-size:12px;font-weight:740}
#modal-fields .execution-form-extras>summary span{color:#779383;font-size:10px;font-weight:550}
#modal-fields .execution-form-extras[open]>summary{border-bottom:1px solid #dce9df}
#modal-fields .execution-form-extras-fields{padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
#modal-fields .execution-form-extras-fields .field.wide{grid-column:1/-1}
@media(max-width:600px){#modal-fields .execution-form-extras-fields{grid-template-columns:1fr}}


/* SIGA · navegação independente e tratamento cromático dos gráficos. */
.sidebar .nav-home:not(.nav-standalone){margin-bottom:2px!important}
.sidebar .nav-standalone{
 margin-bottom:13px!important;
 border-bottom:1px solid #e2eadf;
 border-radius:9px;
 min-height:44px;
 font-weight:720;
}
.sidebar .nav-standalone .nav-home-icon{color:#647d72!important}
.sidebar .nav-standalone.active{
 background:#e8efeb!important;
 color:#354f44!important;
 border-color:#d5e1da!important;
 box-shadow:inset 3px 0 0 #60796e!important;
}
.sidebar .nav-standalone.active .nav-home-icon{color:#526e62!important}
:root{
 --chart-sage:#60796e;
 --chart-slate:#7d9097;
 --chart-clay:#a3988b;
 --chart-track:#edf0eb;
}
#main .analytics-bar-track,
#main .catalog-chart-track{background:var(--chart-track)}
#main .catalog-chart-fill{background:var(--chart-sage);background-image:none}
#main .execution-progress-track{background:var(--chart-track)}
#main .execution-progress-track span{background:var(--chart-sage)}
#main .analytics-panel-action{
 background:#eff2ee;
 border-color:#e0e7df;
 color:#5e786b;
}
#main .analytics-panel-action:hover{background:#e5ebe5;color:#415f52}
#main .analytics-kicker{color:#668173}
#main .analytics-panel-foot{background:#f9faf8}
#main .analytics-bar-value,#main .analytics-legend-row strong{color:#344d42}
#modal-fields .execution-unit-hint{
 display:block;
 margin:2px 1px 0;
 font-size:11px;
 line-height:1.5;
 color:#6b8177;
}


/* Patrimônio: hierarquia de quantidades e identificação individual. */
.inventory-asset-section{margin-top:18px;border:1px solid #dfe7e0;border-radius:13px;background:#fff;overflow:hidden}
.inventory-asset-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid #e8eee9}
.inventory-asset-heading h3{margin:5px 0 4px;font-size:15px;color:#344d42}
.inventory-asset-heading p{max-width:650px;margin:0;font-size:12px;line-height:1.55;color:#6b8176}
.inventory-asset-heading .btn{min-height:39px;white-space:normal}
.inventory-asset-empty{padding:20px;margin:0;font-size:12px;color:#6a7f71;line-height:1.6}
.inventory-asset-section .data-table th{background:#f4f7f3}
.inventory-asset-section .table-scroll{max-width:100%;overflow-x:auto}
@media(max-width:680px){.inventory-asset-heading{padding:16px}.inventory-asset-heading .btn{width:100%;justify-content:center}.inventory-asset-section .data-table{min-width:650px}}


/* Tabela de preços: cada coluna ocupa espaço proporcional à informação.
   Isolada do restante dos cadastros para não alterar suas larguras. */
#main .catalog-table.price-table .table-scroll{
 overflow-x:auto!important;
 overscroll-behavior-x:contain;
}
#main .catalog-table.price-table .data-table{
 width:100%!important;
 min-width:960px!important;
 table-layout:fixed!important;
 border-spacing:0;
}
#main .price-table col.price-col-code{width:9%}
#main .price-table col.price-col-name{width:31%}
#main .price-table col.price-col-unit{width:10%}
#main .price-table col.price-col-quantity{width:14%}
#main .price-table col.price-col-price{width:12.5%}
#main .price-table col.price-col-total{width:14.5%}
#main .price-table col.price-col-actions{width:9%}
#main .price-table .data-table th,
#main .price-table .data-table td{
 padding:13px 14px!important;
 vertical-align:middle;
 overflow-wrap:normal;
 word-break:normal;
}
#main .price-table .data-table thead th{
 line-height:1.4;
 font-size:10.5px!important;
 vertical-align:middle;
}
#main .price-table .data-table thead th .table-sort{
 min-height:26px;
 align-items:center!important;
 gap:5px!important;
}
#main .price-table .data-table th:nth-child(3),
#main .price-table .data-table td:nth-child(3){
 text-align:center!important;
}
#main .price-table .data-table th:nth-child(3) .table-sort{
 justify-content:center!important;
 text-align:center!important;
}
#main .price-table .data-table th.numeric-cell,
#main .price-table .data-table td.numeric-cell{
 text-align:right!important;
 font-variant-numeric:tabular-nums;
}
#main .price-table .data-table th.numeric-cell .table-sort{
 justify-content:flex-end!important;
 text-align:right!important;
}
#main .price-table .data-table td.numeric-cell{
 white-space:nowrap!important;
}
#main .price-table .data-table td:nth-child(2) .catalog-name{
 min-width:0;
 max-width:none;
 line-height:1.5;
 overflow-wrap:break-word;
}
#main .price-table .data-table th:last-child,
#main .price-table .data-table td:last-child{
 min-width:0!important;
 text-align:center!important;
}
#main .price-table .data-table td:last-child .table-action{
 justify-content:center;
 margin:0 auto;
 padding:7px 9px!important;
 white-space:nowrap!important;
}
#main .price-table .data-table tbody tr{height:auto}
@media(max-width:800px){
 #main .price-table .table-scroll{overflow:visible!important}
 #main .price-table .data-table{min-width:0!important;display:block}
 #main .price-table .data-table colgroup{display:none}
 #main .price-table .data-table tbody td:nth-child(3),
 #main .price-table .data-table tbody td:last-child{
  text-align:right!important;
 }
 #main .price-table .data-table tbody td.numeric-cell{
  white-space:normal!important;
 }
 #main .price-table .data-table tbody td:nth-child(2) .catalog-name{
  min-width:0;
  max-width:55%;
  text-align:right;
  overflow-wrap:break-word;
 }
 #main .price-table .data-table tbody td:last-child .table-action{
  margin:0 0 0 auto;
 }
}


/* Ordem de serviço: unidade contratual preenchida por vínculo, não por inferência. */
#modal-fields .work-order-unit-hint{
 display:block;
 margin:3px 0 0;
 color:#647c70;
 font-size:11px;
 line-height:1.5;
}
#modal-fields input.work-order-unit-derived{
 background:#f2f6f2;
 border-color:#d6e4d9;
 color:#345849;
 cursor:default;
 font-variant-numeric:tabular-nums;
}


/* Frota e máquinas: diferenciação da origem dos dados e pendências de vistoria. */
#main .asset-data-summary{
 display:flex;
 flex-wrap:wrap;
 align-items:baseline;
 gap:5px 14px;
 padding:12px 16px;
 margin-bottom:14px;
 background:#f7f9f7;
 border:1px solid #e3eae4;
 border-radius:11px;
 color:#344d42;
}
#main .asset-data-summary strong{font-size:14px;font-weight:760}
#main .asset-data-summary span{font-size:12px;color:#637c6f}
#main .asset-data-summary small{display:block;flex:0 0 100%;color:#71857a;font-size:11px;line-height:1.5}
@media(max-width:680px){#main .asset-data-summary{padding:13px}}


/* Frota: a relação contratual deve ser visível, mesmo sem veículos individualizados. */
#main .fleet-contract-panel{margin:16px 0 20px;border:1px solid #dfe8df;border-radius:13px;background:#fff;overflow:hidden}
#main .fleet-contract-header{padding:18px 20px 12px}
#main .fleet-contract-header h2{font-size:16px;line-height:1.4;margin:5px 0 5px;color:#2e4b3d}
#main .fleet-contract-header p{font-size:12px;line-height:1.6;color:#657b6b;margin:0;max-width:750px}
#main .fleet-contract-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 20px 16px}
#main .fleet-contract-kpis>div{border-radius:9px;background:#f4f7f3;border:1px solid #e6ebe5;padding:11px 13px;display:flex;flex-direction:column;gap:3px}
#main .fleet-contract-kpis span{font-size:11px;color:#657c6d}
#main .fleet-contract-kpis strong{font-size:20px;line-height:1.2;color:#345749;font-variant-numeric:tabular-nums}
#main .fleet-contract-kpis small{font-size:10px;color:#77897d;line-height:1.5}
#main .fleet-contract-scroll{max-width:100%;overflow-x:auto!important}
#main .fleet-contract-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:780px}
#main .fleet-contract-table th{padding:12px 13px;text-align:left;font-size:10px;line-height:1.5;color:#577364;font-weight:760;background:#f2f6f2;border-bottom:1px solid #dde7dc}
#main .fleet-contract-table th:first-child{width:40%}
#main .fleet-contract-table th:nth-child(2),#main .fleet-contract-table th:nth-child(3){width:12%;text-align:center}
#main .fleet-contract-table th:nth-child(4){width:22%}
#main .fleet-contract-table th:nth-child(5){width:14%;text-align:center}
#main .fleet-contract-table td{padding:11px 13px;vertical-align:middle;border-bottom:1px solid #edf1eb;font-size:11.5px;line-height:1.55;color:#344c40}
#main .fleet-contract-table td:first-child strong{display:block;font-weight:660}
#main .fleet-contract-table td:first-child small,#main .fleet-contract-table .fleet-note small{display:block;font-size:10px;color:#789083;margin-top:3px}
#main .fleet-contract-table .fleet-number{text-align:center;font-variant-numeric:tabular-nums;font-weight:670}
#main .fleet-contract-table td:last-child{text-align:center}
#main .fleet-contract-table .fleet-add{white-space:normal;text-align:center;line-height:1.35;padding:6px 8px}
#main .fleet-contract-foot{margin:0;background:#fafbf9;padding:11px 20px;color:#647c70;font-size:11px;line-height:1.6}
@media(max-width:680px){
 #main .fleet-contract-header{padding:15px}
 #main .fleet-contract-kpis{grid-template-columns:1fr;gap:8px;padding:0 15px 14px}
 #main .fleet-contract-kpis>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
 #main .fleet-contract-kpis small{grid-column:1/-1}
 #main .fleet-contract-foot{padding:12px 15px}
}


/* Central de Documentos: prévias A4 sob demanda, evitando ocupar a tela inteira. */
#document-center-root .doc-models-collapsible{padding:0;overflow:hidden}
#document-center-root .doc-models-summary{
 margin:0;
 min-height:76px;
 padding:19px 24px;
 display:flex;
 align-items:center;
 gap:15px;
 cursor:pointer;
 list-style:none;
 user-select:none;
}
#document-center-root .doc-models-summary::-webkit-details-marker{display:none}
#document-center-root .doc-models-summary::marker{content:""}
#document-center-root .doc-models-summary:hover{background:#f6f9f6}
#document-center-root .doc-models-summary:focus-visible{
 outline:2px solid #648c75;
 outline-offset:-4px;
 border-radius:12px;
}
#document-center-root .doc-models-summary-title{display:flex;flex-direction:column;gap:5px;min-width:0}
#document-center-root .doc-models-summary-title h3{margin:0;font-size:16px;color:#214a36}
#document-center-root .doc-models-summary-title small{color:#778b7e;font-size:11px;line-height:1.5;font-weight:400}
#document-center-root .doc-models-summary-meta{display:flex;align-items:center;gap:16px;flex-shrink:0;text-align:right;color:#748777;font-size:11px;line-height:1.5}
#document-center-root .doc-models-chevron{
 position:relative;
 display:inline-block;
 width:30px;
 height:30px;
 border-radius:9px;
 border:1px solid #dce6dc;
 background:#f1f6f1;
 flex-shrink:0;
}
#document-center-root .doc-models-chevron::after{
 content:"";
 position:absolute;
 top:10px;
 left:10px;
 width:8px;
 height:8px;
 border-right:1.6px solid #52765e;
 border-bottom:1.6px solid #52765e;
 transform:rotate(45deg);
 transition:transform .18s ease,top .18s ease;
}
#document-center-root .doc-models-collapsible[open] .doc-models-chevron::after{transform:rotate(225deg);top:13px}
#document-center-root .doc-models-collapsible[open] .doc-models-summary{border-bottom:1px solid #e4ece5}
#document-center-root .doc-models-content{padding:19px 24px 22px}
@media(max-width:750px){
 #document-center-root .doc-models-summary{padding:15px 16px;min-height:66px}
 #document-center-root .doc-models-content{padding:15px 16px 17px}
 #document-center-root .doc-models-summary-meta{gap:10px;font-size:10px}
}
@media(max-width:500px){
 #document-center-root .doc-models-summary-meta{font-size:0}
 #document-center-root .doc-models-summary-meta .doc-models-chevron{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 #document-center-root .doc-models-chevron::after{transition:none}
}


/* Apontamentos do caderno: evidência independente de execução valorada. */
#main .execution-sources-panel{margin:15px 0 20px;border:1px solid #dfe8df;background:#fff;border-radius:13px;overflow:hidden}
#main .execution-sources-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;padding:16px 20px;cursor:pointer;list-style:none}
#main .execution-sources-details>summary::-webkit-details-marker{display:none}
#main .execution-sources-details>summary::marker{content:""}
#main .execution-sources-details>summary>span:first-child{display:flex;flex-direction:column;gap:4px}
#main .execution-sources-details>summary strong{color:#345646;font-size:15px}
#main .execution-sources-details>summary small{color:#728679;font-size:11px}
#main .execution-sources-details>summary:hover{background:#f8faf8}
#main .execution-sources-chevron{border:solid #698473;border-width:0 1.7px 1.7px 0;padding:4px;transform:rotate(-135deg);flex-shrink:0}
#main .execution-sources-details:not([open]) .execution-sources-chevron{transform:rotate(45deg)}
#main .execution-sources-details[open]>summary{border-bottom:1px solid #e6ece7}
#main .execution-sources-content{padding:15px 20px 20px}
#main .execution-sources-content>p{color:#627b6c;line-height:1.6;font-size:11.5px;margin:0 0 15px}
#main .execution-sources-content>.table-scroll{max-height:510px;overflow:auto;border:1px solid #e4ebe5;border-radius:8px}
#main .execution-sources-table{width:100%;border-collapse:collapse;min-width:900px}
#main .execution-sources-table th{position:sticky;top:0;background:#f3f6f2;color:#556f60;text-align:left;font-size:10px;padding:10px 12px;border-bottom:1px solid #dde6de;z-index:1}
#main .execution-sources-table th:nth-child(1){width:105px}
#main .execution-sources-table th:nth-child(2){width:27%}
#main .execution-sources-table th:nth-child(3){width:25%}
#main .execution-sources-table th:nth-child(4){width:21%}
#main .execution-sources-table td{padding:10px 12px;vertical-align:top;border-bottom:1px solid #ecf0eb;line-height:1.5;font-size:11px;color:#476050}
#main .execution-sources-table td strong{font-weight:690}
#main .execution-sources-table td small{display:block;margin-top:4px;color:#849389;font-size:10px;overflow-wrap:anywhere}
#main .execution-sources-table td details summary{cursor:pointer;color:#557c63;font-weight:650}
#main .execution-sources-table td details p{font-size:11px;color:#617b6b;line-height:1.6;margin:9px 0 0;max-width:320px}
@media(max-width:700px){#main .execution-sources-details>summary{min-height:66px;padding:14px}#main .execution-sources-content{padding:12px}}


/* Caderno operacional: individualização por local, unidade contratual e quantidade relatada. */
#main .execution-location-filters{
 display:grid;
 grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(155px,1fr) auto;
 align-items:end;gap:10px;margin:15px 0 14px;
}
#main .execution-location-filters label{display:grid;gap:5px;color:#5d7768;font-size:10.5px;font-weight:700}
#main .execution-location-filters input,
#main .execution-location-filters select{min-height:39px;border:1px solid #dbe6db;background:#fff;border-radius:8px;padding:8px 10px;color:#365443;font-size:12px;width:100%;min-width:0;box-sizing:border-box}
#main .execution-location-filters #execution-locations-shown{font-size:11px;color:#6b826f;padding-bottom:11px;white-space:nowrap}
#main .execution-locations-scroll{max-height:570px}
#main .execution-locations-table{min-width:1050px}
#main .execution-locations-table th:nth-child(1){width:94px}
#main .execution-locations-table th:nth-child(2){width:19%}
#main .execution-locations-table th:nth-child(3){width:23%}
#main .execution-locations-table th:nth-child(4){width:17%}
#main .execution-locations-table th:nth-child(5){width:18%}
#main .execution-locations-table th:nth-child(6){width:15%}
#main .execution-locations-table td.execution-note-qty{font-variant-numeric:tabular-nums}
#main .execution-locations-table td.execution-note-qty strong{font-size:12px;color:#3b5949}
#main .execution-locations-table tr[hidden]{display:none}
#main .execution-original-notes{margin-top:16px;border:1px solid #e2eae3;border-radius:9px;overflow:hidden}
#main .execution-original-notes>summary{padding:13px 15px;background:#f7faf7;color:#547260;font-size:12px;font-weight:650;cursor:pointer}
#main .execution-original-notes .table-scroll{max-height:390px;overflow:auto}
#main .execution-original-notes .execution-sources-table{min-width:890px}
@media(max-width:1000px){
 #main .execution-location-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main .execution-location-filters #execution-locations-shown{grid-column:1/-1;padding:0}
}
@media(max-width:600px){
 #main .execution-location-filters{grid-template-columns:minmax(0,1fr)}
 #main .execution-location-filters #execution-locations-shown{grid-column:auto}
}


/* Planejamento financeiro em rascunho; não confundir cotas matemáticas com medições. */
#main .finance-planning-shell,#main .climate-planner-panel{border:1px solid #dfe8df;background:#fff;border-radius:13px;margin:0 0 16px;overflow:hidden}
#main .finance-panel-heading,#main .climate-panel-head{padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#main .finance-panel-heading h2,#main .climate-panel-head h2{margin:4px 0 6px;font-size:19px;color:#244a36}
#main .finance-panel-heading h3{margin:0;color:#365948;font-size:14px}
#main .finance-panel-heading p,#main .climate-panel-head p{margin:0;font-size:12px;line-height:1.55;color:#728778}
#main .climate-panel-head a{font-size:11px;color:#456e52;white-space:nowrap;padding:8px;text-decoration:none}
#main .finance-month-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 14px}
#main .finance-month-tabs button{border:1px solid #dfe8dd;color:#557562;border-radius:8px;padding:10px 13px;background:#f8faf8;cursor:pointer;font-weight:690;font-size:12px}
#main .finance-month-tabs button[aria-current="true"]{background:#e4efe7;border-color:#bad3c1;color:#2b6041}
#main .finance-planning-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 20px 16px}
#main .finance-planning-kpis>div{padding:12px;border-radius:9px;background:#f3f7f2;border:1px solid #e2eadf;display:grid;gap:6px}
#main .finance-planning-kpis span{color:#738477;font-size:11px}
#main .finance-planning-kpis strong{color:#355d45;font-size:17px;font-variant-numeric:tabular-nums}
#main .finance-scenario-alert{margin:0 20px 15px;font-size:11.5px;line-height:1.6;color:#6a785b;background:#f9faf3;padding:12px;border-radius:8px;border:1px solid #eaeddd}
#main #finance-plan-current>.finance-panel-heading{padding-top:4px;padding-bottom:10px}
#main .finance-planning-table{border-collapse:collapse;min-width:980px;width:100%}
#main .finance-planning-table th{font-size:10.5px;padding:11px;text-align:left;line-height:1.4;background:#f3f7f3;color:#5b7362;border-bottom:1px solid #e1e9e2}
#main .finance-planning-table td{font-size:11px;line-height:1.5;padding:10px 11px;vertical-align:top;color:#526653;border-bottom:1px solid #edf1ec}
#main .finance-planning-table td small{font-size:10px;display:block;color:#839387;margin-top:3px}
#main .finance-planning-table td strong{font-size:11.2px;color:#345442}
#main .finance-planning-table td details>summary{cursor:pointer;font-weight:680;color:#4e745c;white-space:nowrap}
#main .finance-planning-table td details>p{margin:5px 0;font-size:11px;color:#69806b;max-width:330px}
#main .finance-planning-table input.monthly-qty{max-width:112px;min-height:36px;border:1px solid #d5e1d7;border-radius:7px;background:#fff;padding:5px 8px;font-size:12px}
#main .finance-planning-table input.monthly-date,#main .finance-planning-table input.monthly-location{display:block;min-height:35px;width:100%;min-width:0;box-sizing:border-box;border:1px solid #d5e1d7;border-radius:7px;background:#fff;padding:5px 8px;font-size:11px;color:#3c5d49;margin-top:4px}
#main .finance-planning-table input.monthly-date{min-width:135px}
#main .finance-planning-table td .table-action{display:block;margin-bottom:6px;text-align:left;white-space:normal}
#main .finance-reference-table{margin:17px 20px 20px;border:1px solid #e2eae4;border-radius:9px;overflow:hidden}
#main .finance-reference-table>summary{cursor:pointer;padding:13px 14px;background:#f7faf7;font-size:12px;font-weight:680;color:#4a7057}
#main .climate-seasonal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 20px 14px}
#main .climate-seasonal>div{display:grid;gap:7px;padding:12px;border:1px solid #e2e9e2;border-radius:9px;background:#fafbfa}
#main .climate-seasonal strong{font-size:12px;color:#446551}
#main .climate-seasonal span{font-size:11px;line-height:1.6;color:#64796a}
#main .climate-live-result{margin:0 20px 12px;padding:14px;border:1px solid #e1eae3;background:#f7faf7;border-radius:9px;color:#566c5d;font-size:11px}
#main .climate-label{font-size:11px;margin:0 0 11px;color:#50745d;font-weight:750}
#main .climate-live-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:9px}
#main .climate-live-days>div{display:grid;gap:6px;padding:10px;border:1px solid #e5ece5;border-radius:8px;background:#fff}
#main .climate-live-days strong{color:#3f6049;font-size:11px}
#main .climate-live-days span{color:#516f60;font-size:13px;font-variant-numeric:tabular-nums}
#main .climate-live-days small{color:#6b7d6e;font-size:10px;line-height:1.45}
#main .climate-live-warning{line-height:1.65;color:#906c43;margin:0}
#main .climate-disclaimer,#main .climate-sources{font-size:11px;color:#6d8373;line-height:1.6;margin:0;padding:0 20px 12px}
#main .climate-sources{padding-bottom:18px}
#main .climate-sources a{color:#547c60}
@media(max-width:900px){#main .finance-planning-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#main .climate-seasonal{grid-template-columns:1fr}}
@media(max-width:600px){
 #main .finance-panel-heading,#main .climate-panel-head{padding:14px;flex-direction:column}
 #main .finance-planning-kpis{grid-template-columns:1fr;padding:0 14px 14px}
 #main .finance-scenario-alert,.finance-reference-table{margin:0 14px 12px}
 #main .finance-month-tabs{padding:0 14px 12px}
 #main .climate-seasonal{padding:0 14px 14px}
 #main .climate-live-result{margin:0 14px 14px}
 #main .climate-disclaimer,#main .climate-sources{padding-left:14px;padding-right:14px}
}


/* Escala diária das equipes: uma atividade principal e uma contingência por data. */
#main .daily-coverage-shell{margin:15px 20px 20px;border:1px solid #dfe9e0;border-radius:12px;background:#fff;overflow:hidden}
#main .daily-cover-kpis{padding:0 18px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#main .daily-cover-kpis>div{padding:11px 12px;border-radius:9px;background:#f5f8f5;border:1px solid #e4ebe4;display:flex;flex-direction:column;gap:5px}
#main .daily-cover-kpis strong{font-size:18px;font-variant-numeric:tabular-nums;color:#345b42}
#main .daily-cover-kpis span{font-size:10.5px;line-height:1.5;color:#637d6c}
#main .daily-cover-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 16px}
#main .daily-cover-selects label{color:#52715d;display:grid;gap:5px;font-size:11px;font-weight:650}
#main .daily-cover-selects select,#main .daily-cover-actions select,#main .daily-cover-actions textarea{width:100%;min-width:0;min-height:38px;border:1px solid #dce7de;border-radius:8px;background:#fff;color:#3f5f4d;padding:7px 9px;box-sizing:border-box;font-size:12px}
#main .daily-cover-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px 18px}
#main .daily-cover-card{padding:13px 14px;border:1px solid #e0e9e0;border-radius:10px;min-width:0;background:#fcfdfc}
#main .daily-cover-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #e8ede8;margin-bottom:10px;padding-bottom:9px}
#main .daily-cover-card-head strong{font-size:12px;color:#345a43}
#main .daily-cover-card-head small{display:block;margin-top:4px;font-size:10px;color:#798d80;line-height:1.5}
#main .daily-cover-card>p{margin:7px 0;color:#637669;font-size:11px;line-height:1.55}
#main .daily-cover-card>p strong{color:#405e4a}
#main .daily-cover-actions{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,1.6fr);gap:9px;border-top:1px solid #e8ede8;padding-top:10px;margin-top:12px}
#main .daily-cover-actions label{display:grid;gap:4px;color:#557260;font-size:10.5px}
#main .daily-cover-actions textarea{resize:vertical;min-height:38px}
#main .daily-cover-actions button{justify-self:start;align-self:end;font-size:11px}
#main .daily-coverage-shell>.finance-scenario-alert{margin:0 18px 18px}
@media(max-width:1020px){#main .daily-cover-list{grid-template-columns:1fr}}
@media(max-width:720px){#main .daily-cover-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#main .daily-cover-selects{grid-template-columns:1fr}#main .daily-cover-actions{grid-template-columns:1fr}#main .daily-coverage-shell{margin:12px}}


/* Caderno: quantitativos por serviço e local, preservando a transcrição literal. */
#main .execution-original-notes .execution-sources-table th:nth-child(1){width:88px}
#main .execution-original-notes .execution-sources-table th:nth-child(2){width:22%}
#main .execution-original-notes .execution-sources-table th:nth-child(3){width:43%}
#main .execution-original-notes .execution-sources-table th:nth-child(4){width:16%}
#main .execution-original-notes .execution-sources-table th:nth-child(5){width:15%}
#main .execution-source-breakdown{display:grid;gap:6px}
#main .execution-source-split-item{display:grid;grid-template-columns:minmax(70px,max-content) minmax(0,1fr);gap:4px 10px;align-items:start;border-bottom:1px solid #eef1ed;padding:4px 0 7px}
#main .execution-source-split-item:last-child{border-bottom:0}
#main .execution-source-split-item strong{font-variant-numeric:tabular-nums;color:#305d40;font-size:11px;white-space:nowrap}
#main .execution-source-split-item span{color:#526d5a;font-size:10.7px;line-height:1.5}
#main .execution-source-split-item small{grid-column:1/-1;margin:0;color:#849082;font-size:10px}
#main .execution-source-empty{color:#7d8d80;font-size:11px}
#main .execution-original-warning{padding:12px 15px;margin:0;color:#6f795e;background:#f7f9f3;border-bottom:1px solid #e6eadd;font-size:11px;line-height:1.6}
@media(max-width:700px){
 #main .execution-source-split-item{grid-template-columns:1fr;gap:2px}
 #main .execution-source-split-item small{grid-column:auto}
}

/* Escala por turno e aprovação documental */
.coverage-map-toolbar .coverage-import-color{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#3e6450}
.coverage-map-toolbar .coverage-import-color input[type=color]{width:42px;height:35px;padding:3px;border:1px solid #cbdcd1;border-radius:8px;cursor:pointer;background:#fff}
#main .daily-cover-shifts .daily-cover-selects{grid-template-columns:repeat(4,minmax(0,1fr))}
#main .daily-cover-shifts .daily-cover-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
#main .daily-plan-block-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:13px 18px 12px}
#main .daily-plan-block-title h3{font-size:14px;color:#294f35;margin:0}
#main .daily-plan-block-title span{font-size:10px;color:#6e8172}
#main .daily-shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}
#main .daily-shift{padding:11px;border:1px solid #e1e9e1;border-radius:9px;background:#fff;display:grid;align-content:start;gap:9px;min-width:0}
#main .daily-shift-head{display:flex;justify-content:space-between;align-items:center;gap:7px}
#main .daily-shift-head strong{font-size:11px;letter-spacing:.06em;color:#275d3d}
#main .daily-shift-state{font-size:9px;color:#95723b;font-weight:650}
#main .daily-shift-state.is-saved{color:#2b704b}
#main .daily-shift label{display:grid;gap:4px;font-size:10px;font-weight:650;color:#526e5a}
#main .daily-shift textarea,#main .daily-shift input,#main .daily-shift select{box-sizing:border-box;width:100%;min-width:0;padding:8px;border:1px solid #dae6dc;border-radius:7px;background:#fff;color:#2c4c39;font-size:11px}
#main .daily-shift textarea{resize:vertical;min-height:60px}
#main .daily-shift p{font-size:11px;line-height:1.5;margin:0;overflow-wrap:anywhere}
#main .daily-shift button{justify-self:start;font-size:10px}
#main .daily-fixed-post{background:#f9fcf9}
#main .daily-approval-panel{border:1px solid #d9e6dc;background:#fcfefc;border-radius:11px;padding:15px;margin:3px 18px 18px}
#main .daily-approval-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
#main .daily-approval-head h3{font-size:15px;margin:4px 0 6px;color:#295b3d}
#main .daily-approval-panel p{font-size:11px;color:#627668;line-height:1.6;margin:7px 0}
#main .daily-approval-panel small{font-size:10px;display:block;color:#7d897e;margin-top:10px}
#main .daily-approval-status{font-size:10px;padding:6px 10px;background:#fff6e7;color:#926b28;border:1px solid #ecdcb9;border-radius:8px;font-weight:700}
#main .daily-approval-status.approved{background:#e8f4ec;color:#2a6741;border-color:#c7e4d0}
#main .daily-approval-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) minmax(130px,.8fr);gap:10px;margin:12px 0}
#main .daily-approval-fields label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#466451}
#main .daily-approval-fields input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d9e5da;border-radius:8px;min-height:39px;padding:8px 10px;font-size:11px;background:#fff}
#main .daily-approval-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
@media(max-width:960px){#main .daily-cover-shifts .daily-cover-selects{grid-template-columns:repeat(2,minmax(0,1fr))}#main .daily-approval-fields{grid-template-columns:1fr}}
@media(max-width:600px){#main .daily-shift-grid,#main .daily-cover-shifts .daily-cover-selects{grid-template-columns:1fr}#main .daily-cover-shifts .daily-cover-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Carteira de manutenção com registro de dependências e progresso */
#main .maintenance-workplan{margin:0 18px 20px;background:#fff;border:1px solid #dce8dd;border-radius:12px;padding:14px;min-width:0}
#main .maintenance-workplan .finance-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;flex-wrap:wrap}
#main .maintenance-workplan h3{font-size:15px;color:#28533b;margin:4px 0}
#main .maintenance-workplan .finance-panel-heading p{font-size:11px;color:#667a69;line-height:1.5}
#main .maintenance-stats{display:grid;grid-template-columns:max-content minmax(0,120px);align-items:center;gap:3px 7px}
#main .maintenance-stats strong{font-size:15px;color:#2b603f}
#main .maintenance-stats small{font-size:10px;color:#748574}
#main .maintenance-workplan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#main .maintenance-workplan-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;border:1px solid #e3eee5;border-radius:9px;padding:12px;background:#fafcfa}
#main .maintenance-workplan-row strong{display:block;font-size:12px;color:#315844;line-height:1.5;margin:4px 0}
#main .maintenance-workplan-row small{color:#748579;font-size:10px}
#main .maintenance-workplan-row p{font-size:10.5px;line-height:1.55;color:#596f5f;margin:6px 0}
#main .maintenance-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
#main .maintenance-controls label{display:grid;gap:4px;font-size:10px;font-weight:650;color:#496451}
#main .maintenance-controls select,#main .maintenance-controls input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d6e5d9;padding:8px;border-radius:7px;font-size:11px;background:#fff;color:#2c4f37}
#main .maintenance-controls button{justify-self:start}
#main .target-feasibility-panel{margin:15px 0;background:#f9fcf9;border:1px solid #dae8df;border-radius:11px;padding:15px;min-width:0}
#main .target-feasibility-panel h3{font-size:16px;margin:6px 0;color:#2c563c}
#main .target-feasibility-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}
#main .target-feasibility-kpis>div{padding:11px;border:1px solid #e0ebdf;background:#fff;border-radius:8px;display:grid;gap:5px}
#main .target-feasibility-kpis strong{font-size:16px;color:#30573b;overflow-wrap:anywhere}
#main .target-feasibility-kpis small{font-size:10px;color:#698075}
#main .target-feasibility-panel details{margin-top:12px;border-top:1px solid #e0eae0;padding-top:12px}
#main .target-feasibility-panel details summary{font-size:11px;font-weight:700;color:#2c6046;cursor:pointer}
#main .target-feasibility-panel input[type=range]{display:block;margin:12px 0;width:min(420px,100%);max-width:100%}
#main .target-simulation-result{font-size:12px;line-height:1.5;color:#345d44;font-weight:650;padding:10px;background:#fff;border-radius:7px}
@media(max-width:950px){#main .target-feasibility-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#main .maintenance-workplan-list{grid-template-columns:1fr}#main .target-feasibility-kpis{grid-template-columns:1fr}}

/* SIGA / planejamento: hierarquia visual e operação por cartões recolhíveis */
#main .planning-workspace{background:#f8faf8;border:1px solid #e0e9e3;overflow:visible;box-shadow:0 8px 26px rgba(30,65,42,.04)}
#main .planning-page-head{padding:24px 24px 17px;align-items:center}
#main .planning-page-head h2{font-size:clamp(20px,2.15vw,27px);font-weight:760;letter-spacing:-.03em;line-height:1.16}
#main .planning-page-head p{max-width:670px;font-size:12px;line-height:1.55;color:#698072}
#main .planning-page-status{white-space:nowrap;display:flex;align-items:center;gap:8px;border:1px solid #d7e5d9;background:#fff;border-radius:999px;padding:8px 13px;color:#40674f;font-size:10px;font-weight:700}
#main .planning-status-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#ca9942}
#main .planning-month-switch{display:flex;gap:5px;margin:0 22px 16px;padding:5px;border:1px solid #dfe9e0;background:#edf3ee;border-radius:11px;max-width:max-content}
#main .planning-month-switch button{border:0!important;margin:0;white-space:nowrap;min-height:38px;padding:9px 18px!important;border-radius:8px!important;font-size:11px;font-weight:700;line-height:1.2;background:transparent;color:#657b6b;box-shadow:none!important}
#main .planning-month-switch button[aria-current=true]{background:#fff!important;color:#285c3d!important;box-shadow:0 2px 8px rgba(38,80,50,.09)!important}
#main .planning-month-switch button:focus-visible,#main .daily-plan-accordion>summary:focus-visible{outline:2px solid #438263;outline-offset:2px}
#main .planning-main-content{display:flex;flex-direction:column;gap:0}
#main .contract-coverage-panel{margin:0 22px 18px;padding:18px 20px;background:#fff;border:1px solid #dfe8e1;border-radius:12px;min-width:0}
#main .contract-coverage-header{display:flex;align-items:start;justify-content:space-between;gap:15px}
#main .contract-coverage-header h3{font-size:17px;color:#2e533d;letter-spacing:-.015em;margin:5px 0}
#main .contract-coverage-header p{max-width:750px;margin:0;color:#748779;font-size:11px;line-height:1.6}
#main .contract-coverage-month{font-size:14px;font-weight:750;color:#315a41;padding:9px 12px;border-radius:9px;background:#f2f7f3;white-space:nowrap}
#main .contract-coverage-month small{display:block;margin-top:3px;font-size:10px;font-weight:450;color:#708676}
#main .contract-coverage-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 12px}
#main .contract-coverage-kpis>div{min-width:0;background:#f8fbf8;border:1px solid #e5eee6;border-radius:9px;padding:12px 14px}
#main .contract-coverage-kpis small{display:block;color:#768879;font-size:10px;line-height:1.4}
#main .contract-coverage-kpis strong{display:inline-block;font-size:22px;font-weight:780;color:#285b3e;letter-spacing:-.03em;margin:5px 8px 6px 0;font-variant-numeric:tabular-nums}
#main .contract-coverage-kpis span:not(.contract-coverage-meter span){font-size:10px;color:#60796a}
#main .contract-coverage-meter{height:5px;background:#e3eee6;border-radius:999px;margin-top:9px;overflow:hidden}
#main .contract-coverage-meter>span{display:block;height:100%;background:#4a9870;border-radius:inherit;min-width:0;transition:width .2s ease}
#main .contract-coverage-focus{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;border-top:1px solid #edf1ee}
#main .contract-coverage-focus h4{font-size:11px;color:#315b3d;margin:0 0 5px}
#main .contract-coverage-focus p{font-size:10px;line-height:1.5;color:#6f8174;margin:0}
#main .contract-coverage-focus button{font-size:10px;flex-shrink:0}
#main .contract-coverage-list{margin-top:12px}
#main .contract-coverage-list[hidden]{display:none!important}
#main .contract-coverage-method,#main .contract-scenario{margin-top:10px;padding:10px 13px;border:1px solid #e6eee7;border-radius:8px;background:#fbfdfb}
#main .contract-coverage-method summary,#main .contract-scenario summary{cursor:pointer;color:#386448;font-size:11px;font-weight:700}
#main .contract-coverage-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-top:9px}
#main .contract-coverage-steps p,#main .contract-scenario p{font-size:10.5px;color:#647869;line-height:1.65}
#main .contract-scenario input[type=range]{width:min(350px,100%);vertical-align:middle}
#main .contract-scenario-result{border-radius:8px;background:#eef5ee;padding:12px;margin:10px 0;font-size:11px;line-height:1.6;color:#345a40}
#main .contract-scenario-result strong{color:#2b6343}
#main .contract-coverage-chip{font-size:10px;white-space:nowrap;padding:4px 7px;border-radius:6px;background:#f0f2ef;color:#607065}
#main .contract-coverage-chip.candidate{background:#fff6e9;color:#936b2f}
#main .contract-coverage-chip.quantified{background:#e5f4e8;color:#397148}
#main .planning-workspace .daily-coverage-shell{margin:0 22px 20px;border-radius:12px;box-shadow:0 3px 12px rgba(33,70,46,.035)}
#main .daily-cover-top{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:14px}
#main .daily-cover-top h2{font-size:19px;letter-spacing:-.02em}
#main .daily-cover-top p{max-width:650px;line-height:1.55}
#main .daily-pdf-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}
#main .daily-pdf-actions button{font-size:10px;min-height:35px;padding:7px 11px}
#main .daily-cover-shifts .daily-cover-kpis{padding:0 20px 11px;gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}
#main .daily-cover-overview>div{background:#f7faf7;border:1px solid #e8eee8}
#main .daily-overview-progress{height:5px;background:#e7eee8;border-radius:999px;overflow:hidden;margin:0 20px 16px}
#main .daily-overview-progress>span{display:block;height:100%;background:#54a575;border-radius:inherit;transition:width .2s}
#main .daily-cover-shifts .daily-cover-selects{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 20px 10px;padding:14px;background:#f6f9f6;border:1px solid #e6ede6;border-radius:10px;gap:12px}
#main .daily-cover-shifts .daily-cover-selects>label:first-child{display:none}
#main .daily-cover-shifts .daily-cover-selects select{min-height:40px;background:#fff;border-radius:8px;border:1px solid #dae5db;color:#395944}
#main .daily-plan-block-title{margin:20px 20px 10px}
#main .daily-plan-block-title h3{font-size:13px}
#main .daily-cover-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 20px 15px;gap:10px;align-items:start}
#main .daily-plan-accordion{display:block;padding:0!important;overflow:hidden;border-radius:10px;box-shadow:0 1px 4px rgba(40,75,50,.025);background:#fff}
#main .daily-plan-accordion[open]{border-color:#a6cdb4;box-shadow:0 2px 10px rgba(35,88,51,.07)}
#main .daily-plan-accordion>.daily-cover-card-head{cursor:pointer;display:flex;align-items:center;gap:9px;margin:0!important;padding:14px 15px!important;border-bottom:0!important;list-style:none;user-select:none}
#main .daily-plan-accordion>.daily-cover-card-head::-webkit-details-marker{display:none}
#main .daily-plan-accordion[open]>.daily-cover-card-head{border-bottom:1px solid #e8ede8!important;background:#f8fbf8}
#main .daily-plan-accordion>.daily-cover-card-head>div:first-child{min-width:0}
#main .daily-plan-accordion>.daily-cover-card-head strong{font-size:12px;line-height:1.35}
#main .daily-card-status{display:flex;align-items:center;gap:7px;flex-shrink:0}
#main .daily-card-count{font-size:10px;color:#75877a;white-space:nowrap;font-variant-numeric:tabular-nums}
#main .daily-card-chevron{font-size:19px;line-height:1;color:#75917e;transform:rotate(0);transition:transform .2s}
#main .daily-plan-accordion[open] .daily-card-chevron{transform:rotate(180deg)}
#main .daily-plan-card-content{padding:10px 14px 14px}
#main .daily-plan-card-content>p{font-size:10.5px;color:#637b68;line-height:1.5;margin:7px 0}
#main .daily-plan-card-content .daily-shift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#main .daily-plan-card-content .daily-shift{background:#f9fcfa;border:1px solid #e4eee6}
#main .daily-plan-card-content .daily-shift textarea{line-height:1.5;font-size:11px}
#main .daily-maintenance-wrapper{margin:2px 20px 16px;border:1px solid #d9e8dd;background:#f5faf6;border-radius:10px;overflow:hidden}
#main .daily-maintenance-wrapper>summary{cursor:pointer;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:12px;color:#315e42}
#main .daily-maintenance-wrapper>summary span{font-size:10px;color:#788c7a}
#main .daily-maintenance-wrapper .maintenance-workplan{margin:0;border:0;background:#fff;border-radius:0}
#main .daily-plan-guidance{margin:5px 20px 20px;border:1px solid #e4ece4;border-radius:8px;padding:11px 14px;background:#fbfcfb}
#main .daily-plan-guidance summary{font-size:10px;font-weight:700;color:#58745e;cursor:pointer}
#main .daily-plan-guidance p{font-size:10px;line-height:1.6;color:#687b6d}
#main .planning-observations{margin:0 22px 24px;background:#fff;border:1px solid #dfe8e1;border-radius:11px;overflow:hidden}
#main .planning-observations>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;padding:17px 20px;color:#356044;background:#f2f7f2}
#main .planning-observations>summary::-webkit-details-marker{display:none}
#main .planning-observations-title{font-size:13px;font-weight:750}
#main .planning-observations>summary small{font-size:10px;color:#748a79}
#main .planning-observations[open]>summary{border-bottom:1px solid #dfebe1}
#main .planning-observations-body{padding:16px}
#main .planning-observations-body #finance-plan-current{min-width:0}
#main .planning-observations-body .climate-planner-panel{margin-top:16px}
@media(max-width:1150px){#main .contract-coverage-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#main .daily-cover-list{grid-template-columns:1fr}#main .daily-pdf-actions{justify-content:flex-start}}
@media(max-width:760px){#main .planning-page-head{padding:18px 15px}#main .planning-page-status{display:none}#main .planning-month-switch{max-width:none;overflow:auto;margin:0 13px 14px}#main .planning-month-switch button{padding:10px!important;flex:1}#main .contract-coverage-panel,#main .planning-workspace .daily-coverage-shell,#main .planning-observations{margin-left:12px;margin-right:12px}#main .contract-coverage-panel{padding:14px}#main .contract-coverage-focus,#main .contract-coverage-header{flex-wrap:wrap}#main .contract-coverage-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#main .contract-coverage-steps{grid-template-columns:1fr}#main .daily-cover-shifts .daily-cover-selects{grid-template-columns:1fr;margin:0 13px 9px}#main .daily-cover-shifts .daily-cover-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#main .daily-cover-list{padding:0 13px 13px}#main .daily-plan-card-content .daily-shift-grid{grid-template-columns:1fr}#main .daily-card-count{display:none}#main .planning-observations>summary{display:block}#main .planning-observations>summary small{display:block;margin-top:4px}}
@media(prefers-reduced-motion:reduce){#main .daily-card-chevron,#main .contract-coverage-meter>span,#main .daily-overview-progress>span{transition:none}}

/* Previsão de campo: controles ancorados ao mesmo painel de resultados */
#main .planning-workspace .climate-planner-panel{margin:0;border:1px solid #e0eae1;border-radius:10px;box-shadow:none;background:#fff}
#main .planning-workspace .climate-forecast-section{margin:2px 20px 14px;border:1px solid #dce8df;border-radius:10px;overflow:hidden;background:#f8fbf8;min-width:0}
#main .planning-workspace .climate-planner-panel .climate-refresh-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:16px;row-gap:10px;margin:0;padding:12px 15px;border-bottom:1px solid #e3eee6;background:#f4f8f5}
#main .planning-workspace .climate-refresh-caption{display:grid;gap:3px;min-width:0}
#main .planning-workspace .climate-refresh-caption strong{font-size:12px;line-height:1.3;color:#305c43;font-weight:760}
#main .planning-workspace .climate-refresh-caption small{font-size:10px;color:#708a79;line-height:1.45}
#main .planning-workspace .climate-refresh-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-left:auto}
#main .planning-workspace .climate-planner-panel .climate-refresh-actions button{min-height:35px;padding:8px 13px;font-size:11px;font-weight:700;background:#e8f3e9;border-color:#d1e5d3;color:#356647}
#main .planning-workspace .climate-planner-panel .climate-refresh-actions button:hover{background:#dcefe0}
#main .planning-workspace .climate-planner-panel .climate-refresh-actions button:disabled{opacity:.58;cursor:wait}
#main .planning-workspace .climate-refresh-actions [data-forecast-last-check]{font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums;color:#718578;white-space:nowrap}
#main .planning-workspace .climate-forecast-section .climate-live-result{border:0;border-radius:0;background:transparent;margin:0;padding:13px 15px;font-size:11px;line-height:1.6}
#main .planning-workspace .climate-forecast-section .climate-live-result .climate-live-warning{margin:0;color:#875f38}
#main .planning-workspace .climate-forecast-section .climate-diagnostic{margin-top:10px;border-top:1px solid #e5ece6;padding-top:8px}
#main .planning-workspace .climate-guidance{display:flex;align-items:flex-start;gap:10px;margin:0 20px 13px;padding:10px 12px;border:1px solid #e9e9dc;border-radius:8px;background:#fcfbf5}
#main .planning-workspace .climate-guidance-symbol{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:18px;height:18px;border:1px solid #d6c59c;border-radius:50%;font-size:11px;font-weight:800;color:#937140}
#main .planning-workspace .climate-guidance p{margin:0;color:#726c52;font-size:10.5px;line-height:1.6}
#main .planning-workspace .climate-guidance strong{color:#665c3d}
#main .planning-workspace .climate-source-disclosure{margin:0 20px 18px;padding:0 2px;border-top:1px solid #edf1ec}
#main .planning-workspace .climate-source-disclosure>summary{padding:11px 3px 2px;font-size:10.5px;font-weight:680;color:#587565;cursor:pointer}
#main .planning-workspace .climate-source-disclosure .climate-sources{padding:8px 2px 4px;margin:0;font-size:10px;line-height:1.7}
#main .planning-workspace .climate-source-disclosure .climate-sources a{white-space:normal}
#main .contract-coverage-accumulated{font-size:10.5px;line-height:1.55;color:#607968;margin:4px 0 14px;border-left:3px solid #a8c9b0;padding:7px 10px;background:#f7faf7;border-radius:0 6px 6px 0}
#main .contract-coverage-accumulated strong{color:#2f6747}
@media(max-width:760px){#main .planning-workspace .climate-forecast-section{margin:2px 12px 13px}#main .planning-workspace .climate-guidance{margin:0 12px 12px}#main .planning-workspace .climate-source-disclosure{margin:0 12px 15px}#main .planning-workspace .climate-planner-panel .climate-refresh-toolbar{align-items:flex-start;padding:12px}#main .planning-workspace .climate-refresh-actions{justify-content:flex-start;width:100%;margin-left:0;gap:8px}#main .planning-workspace .climate-refresh-actions [data-forecast-last-check]{white-space:normal}#main .planning-workspace .climate-refresh-actions button{flex-shrink:0}}

/* CAPE: acompanhamento vivo das semanas — prioridade à leitura, não ao catálogo */
#main .weekly-panel{background:#fff;border:1px solid #dce8df;border-radius:13px;overflow:hidden;box-shadow:0 6px 26px rgba(28,71,46,.035)}
#main .weekly-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 24px 13px}
#main .weekly-head .eyebrow{font-size:10px;font-weight:800;letter-spacing:.11em;color:#528263}
#main .weekly-head h2{font-size:clamp(18px,2vw,24px);letter-spacing:-.025em;margin:5px 0 6px;color:#244c36}
#main .weekly-head p{font-size:11.5px;margin:0;color:#738778;line-height:1.55}
#main .weekly-source-pill{font-size:10px;font-weight:750;color:#3c704f;background:#edf6ed;border:1px solid #d6e8d7;border-radius:999px;padding:8px 12px;white-space:nowrap}
#main .weekly-filters{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(180px,1fr) minmax(190px,1.2fr) auto;align-items:end;gap:10px;padding:14px 24px;background:#f8fbf8;border-top:1px solid #edf2ed;border-bottom:1px solid #e7eee7}
#main .weekly-filters label{display:grid;gap:5px;min-width:0;color:#53705b;font-size:10px;font-weight:700}
#main .weekly-filters input,#main .weekly-filters select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d8e6da;border-radius:8px;background:#fff;min-height:39px;padding:9px 10px;font-size:11px;color:#315840}
#main .weekly-date-tools{display:grid;grid-template-columns:37px minmax(130px,1fr) 37px;gap:5px;align-items:end;min-width:0}
#main .weekly-date-tools button{min-height:39px;font-size:22px;font-weight:450;line-height:1;padding:5px}
#main .weekly-filters>#weekly-reload{white-space:nowrap;font-size:10px;min-height:39px}
#main .weekly-filters button:focus-visible,#main .weekly-filters select:focus-visible,#main .weekly-filters input:focus-visible,#main .weekly-activity-card button:focus-visible{outline:2px solid #458d65;outline-offset:2px}
#main .weekly-period-label{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 24px 0}
#main .weekly-period-label strong{font-size:12px;color:#325d41}
#main .weekly-period-label span{font-size:10px;color:#8a988e}
#main .weekly-error{padding:12px 24px;color:#975738;font-size:11px}
#main .weekly-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:14px 24px 19px}
#main .weekly-stat{min-width:0;background:#f5f9f5;border:1px solid #e4ece4;border-radius:10px;padding:13px 14px;display:flex;flex-direction:column;gap:5px}
#main .weekly-stat small{font-size:10px;color:#6e8371;line-height:1.4}
#main .weekly-stat strong{font-size:21px;color:#2c6043;font-weight:790;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#main .weekly-stat span{font-size:10px;color:#829185;line-height:1.45}
#main .weekly-worklist{padding:4px 24px 18px;border-top:1px solid #edf1eb}
#main .weekly-worklist>header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:13px}
#main .weekly-worklist>header h3{font-size:15px;color:#315d41;margin:6px 0}
#main .weekly-worklist>header p{font-size:11px;line-height:1.55;color:#7c8c80;margin:0;max-width:720px}
#main .weekly-worklist>header>span{font-size:10px;color:#697c6f;white-space:nowrap;background:#f0f5f0;border-radius:7px;padding:7px 9px}
#main .weekly-no-reports{padding:18px 20px;background:#f9fbf8;border:1px solid #e0eae0;border-radius:10px;margin-bottom:13px}
#main .weekly-no-reports strong{font-size:13px;color:#335c42}
#main .weekly-no-reports p{color:#6b806d;font-size:11px;line-height:1.65;max-width:780px;margin:7px 0 13px}
#main .weekly-report-note{background:#f3f9f5;border:1px solid #e1ece3;border-radius:9px;padding:12px 14px;color:#647c6b;font-size:11px;line-height:1.6;margin-bottom:12px}
#main .weekly-report-note strong{color:#345b42}
#main .weekly-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#main .weekly-activity-card{min-width:0;border:1px solid #e2ece4;border-radius:10px;background:#fff;padding:14px 15px}
#main .weekly-activity-title{display:flex;justify-content:space-between;align-items:start;gap:8px;flex-wrap:wrap}
#main .weekly-activity-title strong{font-size:12px;color:#2a543b;line-height:1.45}
#main .weekly-activity-card p{font-size:11px;color:#667a6e;line-height:1.55;margin:9px 0}
#main .weekly-activity-card small{font-size:10px;color:#87978b;line-height:1.5;display:block}
#main .weekly-status-chip{font-size:9.5px;font-weight:730;white-space:nowrap;color:#527c5c;background:#edf5ed;border:1px solid #dceadc;padding:4px 7px;border-radius:6px}
#main .weekly-status-chip.blocked{color:#98613e;background:#fdf3e9;border-color:#f1dfce}
#main .weekly-status-chip.partial{color:#a77b32;background:#fcf8ea;border-color:#efe6cb}
#main .weekly-status-chip.planned{color:#667a88;background:#f0f4f6;border-color:#dbe5e9}
#main .weekly-status-chip.validated{color:#34734b;background:#e9f5ec}
#main .weekly-activity-note{border-left:2px solid #e4b978;padding-left:10px;color:#906d47!important}
#main .weekly-card-action{margin-top:11px}
#main .weekly-activity-card button{font-size:10px}
#main .weekly-empty{padding:16px 18px;background:#f8faf8;border:1px dashed #dbe7de;border-radius:8px;color:#758579;line-height:1.55;font-size:11px;grid-column:1/-1}
#main .weekly-worklist>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:17px;padding-top:14px;border-top:1px solid #edf1ee}
#main .weekly-worklist>footer>span{font-size:10px;color:#819185;line-height:1.55}
#main .weekly-worklist>footer button{font-size:10px}
#main .weekly-reference{border-top:1px solid #e4ece5;background:#fafcfa}
#main .weekly-reference>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:15px 24px;list-style:none;color:#477154;font-size:12px}
#main .weekly-reference>summary::-webkit-details-marker{display:none}
#main .weekly-reference>summary small{font-size:10px;color:#869689}
#main .weekly-reference[open]>summary{border-bottom:1px solid #e5ece6}
#main #weekly-reference-list{padding:15px 24px 24px}
#main #weekly-reference-list>p{font-size:11px;line-height:1.6;color:#728475}
#main .weekly-reference-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
#main .weekly-reference-rows>div{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e6ede6;border-radius:8px;padding:10px 12px;min-width:0}
#main .weekly-reference-rows>div>span{min-width:0}
#main .weekly-reference-rows strong{font-size:10.5px;color:#345e42;display:block}
#main .weekly-reference-rows small{font-size:9.5px;color:#8a998e;display:block;margin-top:4px}
#main .weekly-reference-rows button{font-size:10px;text-align:right;flex-shrink:0}
#main .weekly-method{background:#eff6f0;padding:12px 14px;border-radius:8px;margin-top:16px}
@media(max-width:1080px){#main .weekly-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#main .weekly-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#main .weekly-head{padding:18px 14px 12px}#main .weekly-source-pill{display:none}#main .weekly-filters{grid-template-columns:1fr;padding:13px 14px}#main .weekly-period-label{padding:12px 14px 0}#main .weekly-stats{padding:12px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}#main .weekly-worklist{padding:6px 14px 16px}#main .weekly-activity-grid,#main .weekly-reference-rows{grid-template-columns:1fr}#main .weekly-reference>summary{padding:14px}#main #weekly-reference-list{padding:12px 14px}#main .weekly-worklist>header{flex-wrap:wrap}}

/* Situação dos envios por equipe, no mesmo intervalo semanal */
#main .weekly-team-strip{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:-6px 24px 18px}
#main .weekly-team-pill{appearance:none;background:#fafcfa;border:1px solid #e0e9e1;color:#5b7562;border-radius:8px;display:flex;align-items:center;gap:7px;padding:7px 11px;cursor:pointer;min-height:35px;font-size:10px;transition:background .15s ease,border-color .15s ease}
#main .weekly-team-pill strong{font-size:10px;color:#355d43}
#main .weekly-team-pill span{color:#859588}
#main .weekly-team-pill.validado{background:#edf7ef;border-color:#cfe6d4}
#main .weekly-team-pill.validado span{color:#3b7850}
#main .weekly-team-pill.enviado{background:#f2f7fd;border-color:#d6e4ed}
#main .weekly-team-pill.enviado span{color:#4d758b}
#main .weekly-team-pill.devolvido{background:#fff8ee;border-color:#eee1cc}
#main .weekly-team-pill.devolvido span{color:#977344}
#main .weekly-team-pill:hover{border-color:#a0c8a9;background:#edf7ee}
#main .weekly-team-pill:focus-visible{outline:2px solid #438563;outline-offset:2px}
@media(max-width:700px){#main .weekly-team-strip{margin:-2px 14px 16px}#main .weekly-team-pill{flex:1 1 110px;justify-content:center}}

/* Panorama por competência: informação de decisão sem recriar o antigo painel de cenários */
#main .planning-workspace .finance-three-months{margin:15px 0 22px;padding:15px 17px 12px;border:1px solid #dfeade;border-radius:10px;background:#fbfdfb}
#main .planning-workspace .finance-three-months>.finance-panel-heading{margin:0 0 10px;display:flex;align-items:flex-start;justify-content:space-between}
#main .planning-workspace .finance-three-months>.finance-panel-heading h3{font-size:14px;margin:0 0 4px;color:#315e43}
#main .planning-workspace .finance-three-months>.finance-panel-heading p{font-size:10.5px;line-height:1.5;margin:0;color:#728777}
#main .planning-workspace .finance-three-months table{margin:0;min-width:680px}
#main .planning-workspace .finance-three-months th{white-space:normal}
#main .planning-workspace .finance-three-months td{vertical-align:middle;font-variant-numeric:tabular-nums}
#main .planning-workspace .finance-three-months td strong{display:block;color:#305d42;font-weight:730;white-space:nowrap}
#main .planning-workspace .finance-three-months td small{display:block;line-height:1.45;margin-top:3px;font-size:9.5px;color:#7e9583}
#main .planning-workspace .finance-three-months tr.finance-current-month td{background:#eef6ef}
#main .planning-workspace .finance-three-months-note{font-size:10px;color:#778676;line-height:1.65;margin:10px 0 0}
#main .planning-workspace .finance-reference-table .finance-three-months-note{padding:8px 13px;margin:4px 0 9px;border-radius:7px;background:#f7faf7;border:1px solid #e7eee7}
@media(max-width:700px){#main .planning-workspace .finance-three-months{padding:12px;margin:12px 0 17px}#main .planning-workspace .finance-three-months table{min-width:660px}}

/* SIGA · legibilidade dos modais e ações de exclusão por registro */
#modal-title{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.25!important;letter-spacing:-.02em!important}
#modal-root .modal-header,#modal-root .modal-head{min-width:0;gap:12px;align-items:flex-start}
#modal-root .modal-header>*,#modal-root .modal-head>*{min-width:0}
#modal-fields .field label{white-space:normal;overflow-wrap:break-word;line-height:1.45}
.record-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.record-row-actions .record-delete{color:#a04444!important;border-radius:7px;white-space:nowrap}
.record-row-actions .record-delete:hover{background:#fceeee!important;color:#842d2d!important}
.record-row-actions .record-delete:disabled{opacity:.45;cursor:wait}
@media(max-width:600px){#modal-title{font-size:clamp(17px,4.8vw,23px)!important}.record-row-actions{gap:7px}}


/* SIGA Américas · Estoque: evita sobreposição entre inputs, data e ações. */
#main .stock-table .table-scroll{overflow-x:auto;max-width:100%}
#main .stock-table .data-table{min-width:1150px;width:100%;table-layout:fixed}
#main .stock-table .data-table th,
#main .stock-table .data-table td{box-sizing:border-box;min-width:0;vertical-align:middle;padding:13px 10px;overflow-wrap:break-word;white-space:normal}
#main .stock-table .data-table th:nth-child(1){width:10%}
#main .stock-table .data-table th:nth-child(2){width:15%}
#main .stock-table .data-table th:nth-child(3){width:7%}
#main .stock-table .data-table th:nth-child(4){width:10%}
#main .stock-table .data-table th:nth-child(5){width:11%}
#main .stock-table .data-table th:nth-child(6){width:18%}
#main .stock-table .data-table th:nth-child(7){width:11%}
#main .stock-table .data-table th:nth-child(8){width:6%}
#main .stock-table .data-table th:nth-child(9){width:12%}
#main .stock-table .stock-count-cell{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;width:100%;min-width:0;max-width:100%}
#main .stock-table .stock-count-cell input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;position:static}
#main .stock-table .data-table td:nth-child(7){white-space:normal;overflow-wrap:anywhere}
#main .stock-table .record-row-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0}
#main .stock-table .record-row-actions .table-action{display:inline-flex;align-items:center;justify-content:flex-start;white-space:normal;text-align:left;max-width:100%;line-height:1.35}
#main .stock-table .data-table tbody tr{height:auto;min-height:0}
@media(max-width:850px){#main .stock-table .data-table{min-width:1150px}}


/* Estados operacionais · contraste e semântica unificados nas tabelas e documentos */
:root{
 --siga-state-blue:#174d85;--siga-state-blue-bg:#e7f1fd;--siga-state-blue-border:#a9caef;
 --siga-state-amber:#865008;--siga-state-amber-bg:#fff1d6;--siga-state-amber-border:#e8c47d;
 --siga-state-green:#116140;--siga-state-green-bg:#ddf3e6;--siga-state-green-border:#9ed5b7;
 --siga-state-red:#9b2633;--siga-state-red-bg:#fde8eb;--siga-state-red-border:#e4a2ad;
 --siga-state-grey:#4c5c65;--siga-state-grey-bg:#edf1f3;--siga-state-grey-border:#cfd7da;
}
#main .tag.status-chip,#main .document-record-status{font-weight:750;letter-spacing:.005em;box-shadow:inset 0 0 0 .3px currentColor}
#main .tag.status-chip[data-status="em_execucao"],
#main .tag.status-chip[data-status="em_andamento"],
#main .tag.status-chip[data-status="em_analise"],
#main .tag.status-chip[data-status="programada"],
#main .tag.status-chip[data-status="programado"],
#main .tag.status-chip[data-status="aberta"],
#main .tag.status-chip[data-status="em_aberto"],
#main .document-record-status[data-status="em_execucao"]{color:var(--siga-state-blue)!important;background:var(--siga-state-blue-bg)!important;border-color:var(--siga-state-blue-border)!important}
#main .tag.status-chip[data-status="pendente"],
#main .tag.status-chip[data-status="a_conferir"],
#main .tag.status-chip[data-status="a_validar"],
#main .tag.status-chip[data-status="pendente_assinatura"],
#main .tag.status-chip[data-status="em_revisao"],
#main .tag.status-chip[data-status="em_adequacao"],
#main .tag.status-chip[data-status="parcial"],
#main .tag.status-chip[data-status="solicitada"],
#main .tag.status-chip[data-status="em_cotacao"],
#main .document-record-status[data-status="pendente_assinatura"]{color:var(--siga-state-amber)!important;background:var(--siga-state-amber-bg)!important;border-color:var(--siga-state-amber-border)!important}
#main .tag.status-chip[data-status="impedida"],
#main .tag.status-chip[data-status="impedido"],
#main .tag.status-chip[data-status="critica"],
#main .tag.status-chip[data-status="requer_atencao"],
#main .tag.status-chip[data-status="faltante"],
#main .tag.status-chip[data-status="divergente"],
#main .tag.status-chip[data-status="glosada"],
#main .tag.status-chip[data-status="atrasada"],
#main .tag.status-chip[data-status="cancelada"],
#main .tag.status-chip[data-status="cancelado"],
#main .tag.status-chip[data-status="inviavel"],
#main .tag.status-chip[data-status="reprovada"],
#main .document-record-status[data-status="impedida"]{color:var(--siga-state-red)!important;background:var(--siga-state-red-bg)!important;border-color:var(--siga-state-red-border)!important}
#main .tag.status-chip[data-status="validada"],
#main .tag.status-chip[data-status="validado"],
#main .tag.status-chip[data-status="concluida"],
#main .tag.status-chip[data-status="concluido"],
#main .tag.status-chip[data-status="executada"],
#main .tag.status-chip[data-status="aprovada"],
#main .tag.status-chip[data-status="aprovado"],
#main .tag.status-chip[data-status="conforme"],
#main .tag.status-chip[data-status="recebida"],
#main .tag.status-chip[data-status="comprada"]{color:var(--siga-state-green)!important;background:var(--siga-state-green-bg)!important;border-color:var(--siga-state-green-border)!important}
#main .inventory-status.match{color:var(--siga-state-green);background:var(--siga-state-green-bg);border:1px solid var(--siga-state-green-border)}
#main .inventory-status.missing,#main .weekly-status-chip.blocked{color:var(--siga-state-red);background:var(--siga-state-red-bg);border:1px solid var(--siga-state-red-border)}
#main .inventory-status.extra{color:var(--siga-state-blue);background:var(--siga-state-blue-bg);border:1px solid var(--siga-state-blue-border)}
#main .weekly-status-chip.planned{color:var(--siga-state-blue);background:var(--siga-state-blue-bg);border:1px solid var(--siga-state-blue-border)}
#main .weekly-status-chip.validated{color:var(--siga-state-green);background:var(--siga-state-green-bg);border:1px solid var(--siga-state-green-border)}


/* Status são indicadores, não botões: sem contorno e sem sombra. */
#main .tag.status-chip,
#main .document-record-status,
#main .inventory-status,
#main .weekly-status-chip,
#main .field-status,
#main .coverage-status.tag,
#main .status-chip{
 border:0!important;
 box-shadow:none!important;
 outline:0!important;
 border-radius:7px;
 padding:5px 9px;
 font-weight:650;
}
#main .tag.status-chip[data-status="critica"],
#main .tag.status-chip[data-status="crítica"]{
 color:var(--siga-state-red)!important;
 background:var(--siga-state-red-bg)!important;
}
#main .tag.status-chip[data-status="comprada"],
#main .tag.status-chip[data-status="comprado"]{
 color:var(--siga-state-green)!important;
 background:var(--siga-state-green-bg)!important;
}


/* Coluna Ações: comandos discretos, legíveis e com áreas de clique adequadas. */
#main .catalog-table:not(.stock-table) .record-row-actions{
 display:flex;align-items:center;justify-content:flex-start;gap:6px 8px;
 flex-wrap:nowrap;min-width:max-content;
}
#main .catalog-table:not(.stock-table) .record-row-actions .table-action{
 display:inline-flex;align-items:center;justify-content:center;gap:5px;
 flex:0 0 auto;min-height:32px;margin:0!important;padding:6px 9px!important;
 border:0!important;border-radius:7px;background:transparent;
 font-size:11px;font-weight:690;line-height:1.25;white-space:nowrap;
 text-decoration:none;transition:background-color .15s ease;
}
#main .catalog-table:not(.stock-table) .record-row-actions .table-action:first-child{
 color:#21683d!important;
}
#main .catalog-table:not(.stock-table) .record-row-actions .table-action:first-child:hover{
 background:#e8f4ea!important;
}
#main .catalog-table:not(.stock-table) .record-row-actions .record-delete{
 color:#a34245!important;
}
#main .catalog-table:not(.stock-table) .record-row-actions .record-delete:hover{
 background:#fceced!important;color:#852c35!important;
}
#main .catalog-table:not(.stock-table) .record-row-actions svg{
 width:14px;height:14px;flex:none;
}
#main .catalog-table:not(.stock-table) .data-table td:last-child{
 vertical-align:middle;
}
@media(max-width:700px){
 #main .catalog-table:not(.stock-table) .record-row-actions{gap:3px}
 #main .catalog-table:not(.stock-table) .record-row-actions .table-action{padding:7px 6px!important}
}

/* Revisão 2026-10 · leitura uniforme e ações seguras em todas as listagens */
#modal-root .modal-head>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;flex:1}
#modal-root .modal-head .eyebrow{display:block;letter-spacing:.08em;line-height:1.5}
#modal-root #modal-title{display:block;margin:0;max-width:100%;font-size:clamp(18px,2.2vw,25px);line-height:1.3;white-space:normal;overflow-wrap:break-word}
#main .catalog-table:not(.stock-table) .table-scroll{overflow-x:auto!important;max-width:100%}
#main .catalog-table:not(.stock-table) .data-table{min-width:max(920px,100%);border-collapse:separate;border-spacing:0}
#main .catalog-table:not(.stock-table) .data-table th,
#main .catalog-table:not(.stock-table) .data-table td{vertical-align:middle;padding:12px 13px;line-height:1.45}
#main .catalog-table:not(.stock-table) .data-table th{font-size:11px;font-weight:750;white-space:normal}
#main .catalog-table:not(.stock-table) .data-table .table-sort{display:inline-flex;align-items:center;gap:6px;text-align:left;min-width:0}
#main .catalog-table:not(.stock-table) .data-table th:last-child{min-width:185px}
#main .catalog-table:not(.stock-table) .record-row-actions{gap:7px;white-space:nowrap}
#main .catalog-table:not(.stock-table) .record-row-actions .table-action{min-height:35px;padding:7px 11px!important;border:1px solid #dce8dd!important;border-radius:9px;background:#fff;font-size:12px}
#main .catalog-table:not(.stock-table) .record-row-actions .record-delete{border-color:#efd8d8!important;background:#fff9f9}
#main .catalog-table:not(.stock-table) .record-row-actions .table-action:focus-visible{outline:2px solid #47966a;outline-offset:2px}
#main .execution-table .data-table{min-width:1420px!important}
#main .execution-table .data-table th:first-child{min-width:110px}
#main .execution-table .data-table th:nth-child(2){min-width:190px}
#main .execution-table .data-table th:nth-child(4){min-width:260px}
#main .execution-table .data-table th:nth-child(5),
#main .execution-table .data-table th:nth-child(6){min-width:110px;text-align:center}
#main .execution-table .data-table td:nth-child(5),
#main .execution-table .data-table td:nth-child(6){text-align:center}
#main .execution-table .data-table th:nth-child(7),
#main .execution-table .data-table td:nth-child(7){min-width:145px;text-align:right;font-variant-numeric:tabular-nums}
#main .execution-table .data-table th:nth-child(8){min-width:165px}
#main .planning-workspace .finance-planning-table th,
#main .planning-workspace .finance-planning-table td{vertical-align:middle;text-align:left;line-height:1.5;padding:12px 14px}
#main .planning-workspace .finance-planning-table th{font-size:11px;white-space:normal}
#main .planning-workspace .finance-planning-table td:nth-child(4) input[type=number]{min-width:95px;max-width:140px}
#main .planning-workspace .finance-planning-table td .table-action{display:inline-flex;align-items:center;white-space:nowrap;margin:3px 6px 3px 0;padding:7px 10px;min-height:34px}
#main .planning-workspace .table-scroll{overflow-x:auto!important}
#main .planning-workspace .finance-planning-table{min-width:820px}
#main .planning-workspace .proposal-planning-table{min-width:1120px}
#main .planning-workspace .proposal-planning-table th:last-child{min-width:165px}
@media(max-width:750px){#main .catalog-table:not(.stock-table) .data-table{min-width:970px}#main .planning-workspace .proposal-planning-table{min-width:1120px}}

/* Execuções registradas: colunas coerentes, sem corte na lateral do cartão.
   Desktop: tabela íntegra com rolagem horizontal; mobile: cartões rotulados. */
#main .execution-table{min-width:0;max-width:100%}
#main .execution-table .table-scroll{
 max-width:100%;min-width:0;overflow-x:auto!important;overflow-y:hidden;
 scrollbar-gutter:stable;overscroll-behavior-x:contain;
}
#main .execution-table .data-table{
 width:100%!important;min-width:1260px!important;max-width:none!important;
 table-layout:fixed!important;border-collapse:collapse;
}
#main .execution-table .execution-colgroup col:nth-child(1){width:105px}
#main .execution-table .execution-colgroup col:nth-child(2){width:185px}
#main .execution-table .execution-colgroup col:nth-child(3){width:160px}
#main .execution-table .execution-colgroup col:nth-child(4){width:220px}
#main .execution-table .execution-colgroup col:nth-child(5){width:130px}
#main .execution-table .execution-colgroup col:nth-child(6){width:78px}
#main .execution-table .execution-colgroup col:nth-child(7){width:145px}
#main .execution-table .execution-colgroup col:nth-child(8){width:140px}
#main .execution-table .execution-colgroup col:nth-child(9){width:97px}
#main .execution-table .data-table th,
#main .execution-table .data-table td{
 box-sizing:border-box;vertical-align:middle;padding:12px 11px!important;
 min-width:0!important;max-width:none!important;
 line-height:1.45;overflow-wrap:break-word;word-break:normal;
}
#main .execution-table .data-table th .table-sort{
 width:100%;display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;
 white-space:normal;text-align:left;line-height:1.4;
}
#main .execution-table .data-table th:nth-child(5),
#main .execution-table .data-table td:nth-child(5),
#main .execution-table .data-table th:nth-child(7),
#main .execution-table .data-table td:nth-child(7){text-align:right;font-variant-numeric:tabular-nums}
#main .execution-table .data-table th:nth-child(5) .table-sort,
#main .execution-table .data-table th:nth-child(7) .table-sort{justify-content:flex-end;text-align:right}
#main .execution-table .data-table th:nth-child(6),
#main .execution-table .data-table td:nth-child(6),
#main .execution-table .data-table th:nth-child(8),
#main .execution-table .data-table td:nth-child(8){text-align:center}
#main .execution-table .data-table th:nth-child(6) .table-sort,
#main .execution-table .data-table th:nth-child(8) .table-sort{justify-content:center;text-align:center}
#main .execution-table .data-table td:nth-child(5) .truncate,
#main .execution-table .data-table td:nth-child(7) .truncate{text-align:right;font-variant-numeric:tabular-nums}
#main .execution-table .data-table td:nth-child(8) .tag{max-width:100%;white-space:normal}
#main .execution-table .record-row-actions{display:flex;align-items:center;justify-content:center;min-width:0!important;gap:4px!important}
#main .execution-table .record-row-actions .table-action{padding:7px!important;min-width:32px;min-height:34px}
@media(max-width:800px){
 #main .execution-table .table-scroll{overflow:visible!important;scrollbar-gutter:auto}
 #main .execution-table .data-table{
  display:block!important;min-width:0!important;width:100%!important;max-width:100%!important;
 }
 #main .execution-table .data-table colgroup,#main .execution-table .data-table thead{display:none!important}
 #main .execution-table .data-table tbody{display:grid;gap:12px}
 #main .execution-table .data-table tbody tr{display:flex;flex-direction:column;width:100%}
 #main .execution-table .data-table tbody td{
  display:flex!important;align-items:flex-start;justify-content:space-between;gap:12px;
  width:100%!important;min-width:0!important;text-align:right!important;padding:10px 12px!important;
 }
 #main .execution-table .data-table tbody td::before{
  content:attr(data-label);display:block;flex:0 0 42%;max-width:42%;text-align:left;
  color:#6a8172;font-size:11px;font-weight:680;
 }
 #main .execution-table .data-table tbody td:last-child .record-row-actions{margin-left:auto}
}

/* Os dois cenários agora pertencem apenas a Planejamento financeiro e clima. */
#main .finance-strategy-context{min-width:0;padding:0 22px}
#main .finance-strategy-context .sw-strategy-grid{margin:0 0 18px}
#main .finance-strategy-context .sw-financial-scenario,
#main .finance-strategy-context .sw-weather-strategy{box-shadow:0 2px 8px rgba(35,73,48,.025)}
#main .finance-strategy-context .sw-financial-month.is-current .sw-financial-fill{background:#236f48}
#main .finance-strategy-context .sw-financial-month.is-current>strong{color:#1c6340}
@media(max-width:700px){#main .finance-strategy-context{padding:0 12px}}

/* SIGA · Prioridade 1: qualidade dos dados antes de projetar faturamento. */
#main .finance-integrity-panel{
 margin:0 22px 15px;padding:17px 19px;min-width:0;
 border:1px solid #dce6de;border-radius:12px;background:#fff;
}
#main .finance-integrity-heading{
 display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
 margin-bottom:13px;
}
#main .finance-integrity-heading h3{margin:4px 0;font-size:16px;line-height:1.3;color:#2e5740}
#main .finance-integrity-heading p{margin:0;font-size:11px;line-height:1.55;color:#667c6e}
#main .finance-integrity-source{
 padding:6px 9px;font-size:11px;font-weight:750;white-space:nowrap;
 background:#eff5ef;border:1px solid #e0eae0;border-radius:7px;color:#376148;
}
#main .finance-integrity-kpis{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
#main .finance-integrity-kpi{
 display:flex;flex-direction:column;gap:5px;min-width:0;
 background:#f8faf8;border:1px solid #e7ede6;border-radius:9px;padding:11px 12px;
}
#main .finance-integrity-kpi span{color:#5e7567;font-size:10.5px;font-weight:660;line-height:1.35}
#main .finance-integrity-kpi strong{color:#2d5f41;font-size:21px;font-variant-numeric:tabular-nums;line-height:1.22}
#main .finance-integrity-kpi small{color:#738778;font-size:10px;line-height:1.45}
#main .finance-integrity-values{
 margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:0;border:1px solid #e3ece4;border-radius:9px;overflow:hidden;
}
#main .finance-integrity-values>div{
 display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
 gap:8px 16px;min-width:0;padding:12px 13px;background:#fff;
 border-bottom:1px solid #e7eee7;
}
#main .finance-integrity-values>div:nth-child(odd){border-right:1px solid #e7eee7}
#main .finance-integrity-values>div:nth-last-child(-n+2){border-bottom:0}
#main .finance-integrity-values span{max-width:69%;font-size:11px;color:#617768;line-height:1.4}
#main .finance-integrity-values strong{color:#28523b;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
#main .finance-integrity-notice{margin:11px 0 0;font-size:10.5px;line-height:1.6;color:#6e8273}
#main .finance-integrity-details{margin-top:12px;border-top:1px solid #e2eae2;padding:10px 1px 0}
#main .finance-integrity-details summary{cursor:pointer;font-size:11px;font-weight:740;color:#47624e}
#main .finance-integrity-details ul{margin:9px 0;padding-left:18px}
#main .finance-integrity-details li,#main .finance-integrity-details p{font-size:11px;line-height:1.6;color:#617868;margin:5px 0}
#main .finance-integrity-empty{margin:12px 0 0;color:#677e6e;font-size:11px;line-height:1.6}
@media(max-width:900px){
 #main .finance-integrity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main .finance-integrity-values{grid-template-columns:1fr}
 #main .finance-integrity-values>div{border-right:0!important;border-bottom:1px solid #e7eee7!important}
 #main .finance-integrity-values>div:last-child{border-bottom:0!important}
}
@media(max-width:650px){
 #main .finance-integrity-panel{margin:0 12px 12px;padding:13px}
 #main .finance-integrity-heading{flex-wrap:wrap}
 #main .finance-integrity-values>div{align-items:flex-start;flex-direction:column}
 #main .finance-integrity-values span{max-width:100%}
}

/* Somente indicadores na vista inicial; composição de valores sob demanda. */
#main .finance-integrity-breakdown{margin-top:11px;border-top:1px solid #e4ece5;padding-top:9px}
#main .finance-integrity-breakdown>summary{cursor:pointer;font-size:11px;color:#35684a;font-weight:740}
#main .finance-integrity-breakdown[open]>summary{margin-bottom:9px}
#main .finance-integrity-breakdown .finance-integrity-values{margin-top:0}
