:root{
  --bg:#f0f2f5;--bg2:#ffffff;--bg3:#f7f8fa;--panel:#ffffff;
  --border:#e2e6ed;--border2:#d0d6e0;
  --accent:#1a56db;--accent-h:#1648c0;--accent-lt:#eff4ff;
  --green:#0e9f6e;--green-lt:#f0fdf9;
  --red:#e02424;--red-lt:#fef2f2;
  --yellow:#c27803;--yellow-lt:#fffbeb;
  --text:#111928;--text2:#4b5563;--text3:#9ca3af;
  --sum-bg:#f0f4ff;--sum-border:#c7d7f5;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --shadow:0 4px 16px rgba(0,0,0,.08);
  --shadow-lg:0 10px 40px rgba(0,0,0,.12);
  --radius:10px;--font:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;--mono:'Consolas','Cascadia Mono','Courier New',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;font-size:14px}
::-webkit-scrollbar{width:18px;height:18px}::-webkit-scrollbar-track{background:#e9edf3;border-radius:10px}::-webkit-scrollbar-thumb{background:#9aa6b8;border-radius:10px;border:3px solid transparent;background-clip:padding-box}
#mapa-scroll-wrap::-webkit-scrollbar,#mapaDiag-scroll-wrap::-webkit-scrollbar,#mapa-top-scroll-wrap::-webkit-scrollbar,#mapaDiag-top-scroll-wrap::-webkit-scrollbar,#mapaLotes-scroll-wrap::-webkit-scrollbar,#mapaLotes-top-scroll-wrap::-webkit-scrollbar,#lob-board-wrap::-webkit-scrollbar,#lob-top-scroll-wrap::-webkit-scrollbar{width:14px;height:14px}
#mapa-scroll-wrap::-webkit-scrollbar-thumb,#mapaDiag-scroll-wrap::-webkit-scrollbar-thumb,#mapa-top-scroll-wrap::-webkit-scrollbar-thumb,#mapaDiag-top-scroll-wrap::-webkit-scrollbar-thumb,#mapaLotes-scroll-wrap::-webkit-scrollbar-thumb,#mapaLotes-top-scroll-wrap::-webkit-scrollbar-thumb,#lob-board-wrap::-webkit-scrollbar-thumb,#lob-top-scroll-wrap::-webkit-scrollbar-thumb{background:#9aa6b8;border-radius:10px;border:3px solid transparent;background-clip:padding-box}
#mapa-scroll-wrap::-webkit-scrollbar-track,#mapaDiag-scroll-wrap::-webkit-scrollbar-track,#mapa-top-scroll-wrap::-webkit-scrollbar-track,#mapaDiag-top-scroll-wrap::-webkit-scrollbar-track,#mapaLotes-scroll-wrap::-webkit-scrollbar-track,#mapaLotes-top-scroll-wrap::-webkit-scrollbar-track,#lob-board-wrap::-webkit-scrollbar-track,#lob-top-scroll-wrap::-webkit-scrollbar-track{background:#e9edf3;border-radius:10px}
#mapa-scroll-wrap,#mapaDiag-scroll-wrap,#mapa-top-scroll-wrap,#mapaDiag-top-scroll-wrap,#mapaLotes-scroll-wrap,#mapaLotes-top-scroll-wrap,#lob-board-wrap,#lob-top-scroll-wrap{scrollbar-width:auto;scrollbar-color:#9aa6b8 #e9edf3}
.topografia-grafico-table-top-scroll::-webkit-scrollbar,.topografia-grafico-table-scroll::-webkit-scrollbar{width:18px;height:18px}
.topografia-grafico-table-top-scroll::-webkit-scrollbar-thumb,.topografia-grafico-table-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px;border:3px solid #e9edf3;background-clip:padding-box}
.topografia-grafico-table-top-scroll::-webkit-scrollbar-track,.topografia-grafico-table-scroll::-webkit-scrollbar-track{background:#e9edf3;border-radius:10px}
.topografia-grafico-table-top-scroll,.topografia-grafico-table-scroll{scrollbar-width:auto;scrollbar-color:#94a3b8 #e9edf3}
.mapa-etapas-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 4px;color:var(--text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.mapa-ultima-atualizacao{min-width:0;overflow:hidden;color:#64748b;font-size:.66rem;font-weight:600;letter-spacing:0;text-align:right;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
.mapa-ultima-atualizacao-captura{display:none;width:max-content;max-width:100%;box-sizing:border-box;align-items:center;margin-top:10px;padding:4px 7px;border-left:2px solid #94a3b8;background:#f8fafc;color:#475569;font-size:10px;font-weight:700;line-height:1.2;white-space:normal;pointer-events:none}

/* HEADER */
header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}
.logo{display:flex;align-items:center;gap:10px}
.logo-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#1a56db,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;box-shadow:0 2px 8px rgba(26,86,219,.35)}
.logo-name{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.3px}
.logo-name span{color:var(--accent)}
.logo-tag{font-size:10px;color:var(--text3);letter-spacing:.5px;margin-top:-1px}
.header-r{display:flex;align-items:center;gap:10px}
.date-pill{font-family:var(--mono);font-size:11px;color:var(--text2);background:var(--bg3);padding:4px 10px;border-radius:6px;border:1px solid var(--border)}
/* Versão global no header */
.sys-version{font-family:var(--mono);font-size:10px;color:var(--text);background:var(--bg3);padding:3px 8px;border-radius:5px;border:1px solid var(--border);letter-spacing:.3px}
/* Versão por aba — pill fixa canto inferior direito */
.tab-version-badge{position:fixed;bottom:10px;right:14px;font-family:var(--mono);font-size:9px;color:var(--text);background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:2px 7px;letter-spacing:.3px;opacity:.75;pointer-events:none;z-index:50;display:none}
/* Widget de Previsão do Tempo — compacto */
.weather-widget{display:inline-flex;flex-direction:column;align-items:center;gap:1px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:4px 7px 3px;backdrop-filter:blur(6px);flex-shrink:0;height:68px;justify-content:center;overflow:hidden}
.weather-widget.obra-weather{background:rgba(255,255,255,.93);border:1px solid var(--border);border-radius:8px;padding:3px 7px 3px;box-shadow:var(--shadow-sm);height:auto;cursor:pointer}
.weather-widget.obra-weather:hover{border-color:#93c5fd;box-shadow:0 4px 12px rgba(15,23,42,.10)}
.ww-days{display:flex;gap:3px;align-items:flex-start}
.ww-day{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:22px}
.ww-day-name{font-size:7px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.1px;white-space:nowrap}
.weather-widget.obra-weather .ww-day-name{color:var(--text2)}
/* data dd/mm acima do nome — preta em ambos os contextos */
.ww-day-date{font-size:6.5px;font-weight:600;color:#111;letter-spacing:.1px;white-space:nowrap}
.weather-widget.obra-weather .ww-day-date{color:#111}
/* destaque do dia atual */
.ww-today .ww-day-name{color:#fff;font-weight:800}
.ww-today .ww-day-date{color:#111;font-weight:800}
.ww-day-icon{display:flex;align-items:center;justify-content:center}
.ww-city{font-size:9px;font-weight:700;color:rgba(255,255,255,.95);letter-spacing:.1px;text-align:center;white-space:nowrap;width:100%;margin-top:1px}
.weather-widget.obra-weather .ww-city{color:var(--text);font-size:8px}
.ww-loading{font-size:9px;color:rgba(255,255,255,.7);font-style:italic;padding:3px 2px;text-align:center}
.weather-widget.obra-weather .ww-loading{color:var(--text3)}
/* seta de navegação de semana */
.ww-nav{cursor:pointer;font-size:10px;font-weight:900;color:#000;opacity:.6;padding:0 2px;user-select:none;-webkit-user-select:none;line-height:1;align-self:center;transition:opacity .15s;flex-shrink:0}
.weather-widget .ww-nav{color:rgba(255,255,255,.85)}
.weather-widget.obra-weather .ww-nav{color:#333}
.ww-nav:hover{opacity:1}
.ww-wrap{display:inline-flex;align-items:center;gap:2px}

/* LAYOUT */
.shell{display:flex;min-height:calc(100vh - 58px)}

/* SIDEBAR */
aside{width:232px;min-width:232px;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 0}
.nav-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text3);padding:0 18px;margin-bottom:6px;margin-top:8px}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 18px;cursor:pointer;transition:.15s;border-left:3px solid transparent;font-size:13px;color:var(--text2)}
.nav-item:hover{background:var(--bg3);color:var(--text);border-left-color:var(--border2)}
.nav-item.active{background:var(--accent-lt);color:var(--accent);border-left-color:var(--accent);font-weight:500}
.obras-scroll{flex:1;overflow-y:auto;padding-top:4px}
.obra-nav{padding:8px 18px 8px 30px;cursor:pointer;font-size:12px;color:var(--text2);transition:.15s;border-left:3px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}
.obra-nav:hover{background:var(--bg3);color:var(--text)}
.obra-nav.active{background:var(--accent-lt);color:var(--accent);border-left-color:var(--accent)}
.sdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

/* MAIN */
main{flex:1;overflow-y:auto;background:var(--bg)}
.screen{display:none}.screen.active{display:block}

/* HOME */
.home-banner{background:linear-gradient(120deg,#1a56db 0%,#3b82f6 60%,#60a5fa 100%);padding:16px 32px 14px;position:relative;overflow:hidden;min-height:84px}
.home-banner::after{content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.home-banner h1{font-size:20px;font-weight:700;color:#fff;margin-bottom:3px;letter-spacing:-.3px}
.home-banner p{font-size:12px;color:rgba(255,255,255,.8);max-width:600px;margin:0}
.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg2);border-bottom:1px solid var(--border)}
.kpi-cell{padding:20px 24px;border-right:1px solid var(--border)}
.kpi-cell:last-child{border-right:none}
.kpi-lbl{font-size:11px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.kpi-val{font-size:30px;font-weight:700;color:var(--text);line-height:1;letter-spacing:-1px}
.kpi-val.accent{color:var(--accent)}.kpi-val.green{color:var(--green)}.kpi-val.red{color:var(--red)}
.kpi-sub{font-size:11px;color:var(--text3);margin-top:3px}
.grid-section{padding:28px 32px}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.sec-title{font-size:16px;font-weight:600;color:var(--text)}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.obra-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden}
.obra-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}
.card-bar{position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius) var(--radius) 0 0}
.obra-card-name{font-weight:600;font-size:14px;color:var(--text);margin-bottom:3px;padding-top:4px}
.obra-card-code{font-family:var(--mono);font-size:10px;color:var(--text3);margin-bottom:12px}
.card-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.meta-lbl{font-size:10px;color:var(--text3);margin-bottom:1px}
.meta-val{font-size:12px;color:var(--text2);font-weight:500}
.prog-bar{height:5px;background:var(--bg3);border-radius:3px;overflow:hidden;margin-bottom:5px;border:1px solid var(--border)}
.prog-fill{height:100%;border-radius:3px;transition:width .5s}
.prog-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text3)}

/* OBRA SCREEN */
.obra-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--bg2);border-bottom:1px solid var(--border)}
.obra-bar-l{display:flex;align-items:center;gap:14px}
.back-btn{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);cursor:pointer;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg3);transition:.15s;font-weight:500}
.back-btn:hover{background:var(--bg2);border-color:var(--border2);color:var(--text)}
.obra-h h2{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.3px}
.obra-h span{font-size:11px;color:var(--text3);font-family:var(--mono)}
.obra-tabs{display:none;padding:0 28px;background:var(--bg2);border-bottom:1px solid var(--border);gap:2px;flex-wrap:nowrap}
.tab{padding:12px 14px;font-size:12px;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;transition:.15s;font-weight:400;display:flex;align-items:center;gap:5px;white-space:nowrap}
.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.crono-chk-access{position:relative;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center}
.crono-chk-access.sgo-access-locked::after{top:auto;right:-3px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.obra-menu-wrap{position:relative;padding:10px 28px 8px;background:var(--bg2);border-bottom:1px solid var(--border)}
.obra-menu-main{
  display:flex;gap:4px;align-items:center;background:#fff;border:1px solid var(--border);
  border-radius:10px;padding:4px;width:100%;max-width:100%;flex-wrap:nowrap;overflow:visible;
}
.obra-main-btn{
  border:1px solid transparent;background:#fff;border-radius:8px;padding:5px 24px 5px 8px;
  font-size:.75rem;font-weight:600;color:#334155;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:5px;transition:.15s;white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;
}
.obra-main-btn:hover{background:#f8fbff;border-color:#dbe6ff}
.obra-main-btn.active{background:#1f57d8;border-color:#1f57d8;color:#fff}
.obra-main-btn::after{content:"▾";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.9rem;font-weight:800;line-height:1;opacity:.9}
.obra-menu-ico{
  width:18px;height:18px;border-radius:6px;display:grid;place-items:center;color:#fff;
  font-size:.7rem;font-weight:700;flex:0 0 18px;box-shadow:inset 0 -1px 0 rgba(255,255,255,.22);
}
.obra-mega{
  display:none;position:absolute;left:28px;top:52px;z-index:120;min-width:620px;width:calc(100% - 56px);max-width:calc(100% - 56px);
  background:#fff;border:1px solid #d5dded;border-radius:12px;box-shadow:0 14px 28px rgba(15,23,42,.14);padding:10px;
}
.obra-mega.open{display:block}
.obra-mega-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eef8;padding:0 2px 8px;margin-bottom:8px}
.obra-mega-title b{font-size:.83rem;letter-spacing:.04em;text-transform:uppercase;color:#334155}
.obra-mega-title span{font-size:.72rem;color:#64748b}
.obra-mega-grid{display:flex;gap:6px;flex-wrap:nowrap;overflow:visible;white-space:nowrap;width:100%}
.obra-mega-grid[data-main="Contrato"]{flex-wrap:wrap;white-space:normal}
.obra-mega-grid[data-main="Obra"]{flex-wrap:wrap;white-space:normal}
.obra-mega-grid[data-main="Obra"] .obra-sub-chip{font-size:.72rem;padding:5px 8px;gap:5px;flex:0 0 auto}
.obra-sub-chip{
  border:1px solid #d9e3f7;background:#fff;border-radius:9px;padding:5px 8px;font-size:.72rem;
  color:#3f4e66;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;flex:0 1 auto;justify-content:center;min-width:0
}
.obra-sub-chip:hover{background:#f6f9ff;border-color:#c8d9ff;color:#1f3f9e}
.obra-sub-chip.active{background:#e8efff;border-color:#bfd3ff;color:#1f3f9e;font-weight:600}
.obra-sub-ico{width:16px;height:16px;border-radius:5px;display:grid;place-items:center;font-size:.62rem;color:#fff;flex:0 0 16px}
.map-quick-row{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;margin-bottom:6px;overflow-x:auto;overflow-y:hidden}
.map-quick-left,.map-quick-right{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:4px;flex:0 0 auto}
.map-quick-btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:5px 8px;font-size:.73rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:0 0 auto}
.map-quick-btn.primary{background:#1f57d8;border-color:#1f57d8;color:#fff}
.map-quick-btn.green{color:#059669;border-color:#bbf7d0;background:#f0fdf4}
.map-quick-btn.active-soft{background:#eaf2ff;border-color:#bfd3ff;color:#1f3f9e}
.map-quick-btn.is-disabled,.map-quick-btn:disabled{opacity:.45;filter:grayscale(.25);cursor:not-allowed;pointer-events:none}
/* Mapa de Lotes: barra mais alta na tela e quadro levemente deslocado à esquerda */
#tab-mapaLotes{margin-top:-10px}
#tab-mapaLotes .map-quick-row{margin-bottom:4px}
#tab-mapaLotes #mapaLotes-scroll-wrap{margin-left:-8px;width:calc(100% + 8px)}
.map-quick-ico{width:15px;height:15px;border-radius:4px;display:grid;place-items:center;font-size:.6rem;color:#fff;flex:0 0 15px}
.map-config-panel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--surface);padding:6px 10px;border-radius:8px;border:1px solid var(--border);margin-bottom:6px}
.map-config-panel.hidden{display:none}
.tab-quick-row{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;margin-bottom:10px}
.tab-quick-left,.tab-quick-right{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:4px}
.tab-quick-btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:5px 8px;font-size:.73rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.tab-quick-btn.primary{background:#1f57d8;border-color:#1f57d8;color:#fff}
.tab-quick-btn.green{color:#059669;border-color:#bbf7d0;background:#f0fdf4}
.tab-quick-btn.danger{color:#dc2626;border-color:#fecaca;background:#fff5f5}
.tab-quick-ico{width:15px;height:15px;border-radius:4px;display:grid;place-items:center;font-size:.6rem;color:#fff;flex:0 0 15px}
.ui-hint{
  position:fixed;z-index:9999;pointer-events:none;display:none;
  padding:4px 8px;border-radius:6px;border:1px solid #d5dded;
  background:#111928;color:#fff;font-size:11px;line-height:1;
  white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.18)
}
.tab-body{padding:28px 32px}
#crono-toolbar{margin-bottom:4px}
#tab-cronograma{margin-top:-16px}
#tab-avanco,#tab-curvas{margin-top:-16px}
#tab-gantt{margin: -14px -18px 0}
#tab-gantt .panel{border-radius:8px}
#f-nome,#f-codigo,#f-local,#f-contratante{text-transform:uppercase}
#tab-mapa,#tab-mapaDiag{margin-top:-18px}
#tab-lob{margin-top:-16px}
#tab-lob .tab-quick-row{margin-bottom:4px;display:flex;flex-wrap:nowrap;gap:6px;width:100%}
#tab-lob .tab-quick-left,#tab-lob .tab-quick-right{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}
#tab-lob .tab-quick-right{margin-left:0}
#tab-lob .tab-quick-btn{padding:5px 8px;font-size:.8rem}
#tab-lob .tab-quick-right{max-width:100%;overflow-x:auto;overflow-y:hidden}
#tab-lob .tab-quick-right::-webkit-scrollbar{height:6px}
#tab-lob .tab-quick-right::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
#tab-lob #lob-freeze-mode{max-width:164px;padding:4px 6px;font-size:11px}
#tab-lob .lob-zoom-btn{padding:4px 6px;font-size:.72rem;gap:4px}
#tab-lob .lob-zoom-btn .tab-quick-ico{width:13px;height:13px;flex:0 0 13px;font-size:.56rem}
#tab-lob .lob-zoom-reset{padding:4px 7px;font-size:.72rem;gap:4px}
#tab-restricoes{margin-top:-16px}
#tab-restricoes .tab-quick-row{margin-bottom:6px}
#tab-restricoes .res-kpis{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin-bottom:8px}
#tab-restricoes .res-kpi{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 10px}
#tab-restricoes .res-kpi b{display:block;font-size:1.05rem;line-height:1.1}
#tab-restricoes .res-kpi span{font-size:.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}
#tab-restricoes .res-layout{display:grid;grid-template-columns:minmax(760px,1fr) 300px;gap:10px;align-items:start}
#tab-restricoes .res-browser .tbl th{cursor:pointer}
#tab-restricoes .res-browser .tbl tbody tr.res-row-ok td{background:#f0fdf4}
#tab-restricoes .res-browser .tbl tbody tr.res-row-focus td{background:#fff1f2!important;box-shadow:inset 0 2px 0 #ef4444,inset 0 -2px 0 #ef4444;transition:background-color .2s ease}
#tab-restricoes .res-top-scroll{display:block;height:16px;overflow-x:auto;overflow-y:hidden;background:#e9edf3;border-bottom:1px solid var(--border)}
#tab-restricoes .res-top-scroll-inner{height:1px}
#tab-restricoes .res-table-scroll{overflow:auto;max-height:560px}
#tab-restricoes #res-tbl{min-width:1180px}
#tab-restricoes .res-top-scroll::-webkit-scrollbar,#tab-restricoes .res-table-scroll::-webkit-scrollbar{width:14px;height:14px}
#tab-restricoes .res-top-scroll::-webkit-scrollbar-thumb,#tab-restricoes .res-table-scroll::-webkit-scrollbar-thumb{background:#9aa6b8;border-radius:10px;border:3px solid transparent;background-clip:padding-box}
#tab-restricoes .res-top-scroll::-webkit-scrollbar-track,#tab-restricoes .res-table-scroll::-webkit-scrollbar-track{background:#e9edf3;border-radius:10px}
#tab-restricoes .res-top-scroll,#tab-restricoes .res-table-scroll{scrollbar-width:auto;scrollbar-color:#9aa6b8 #e9edf3}
#tab-restricoes .res-side{display:flex;flex-direction:column;gap:8px}
#tab-restricoes .res-week-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px}
#tab-restricoes .res-week-card h4{font-size:.78rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;color:var(--text2)}
#tab-restricoes .res-week-list{display:flex;flex-direction:column;gap:6px;max-height:182px;overflow:auto}
#tab-restricoes .res-chip{border-radius:8px;padding:7px 8px;border:1px solid var(--border);font-size:.75rem}
#tab-restricoes .res-chip.pend{background:#fff7ed;border-color:#fed7aa}
#tab-restricoes .res-chip.ok{background:#ecfdf3;border-color:#bbf7d0}
#tab-restricoes .res-chip.next{background:#eff6ff;border-color:#bfdbfe}
#tab-restricoes .res-empty{font-size:.74rem;color:var(--text3);font-style:italic}
#tab-kanban{margin-top:-16px}
#tab-kanban .tab-quick-row{margin-bottom:6px}
#tab-kanban .kan-view-tabs{display:flex;gap:6px;align-items:center;margin:0 0 8px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:4px;width:fit-content}
#tab-kanban .kan-view-tab{border:1px solid transparent;background:transparent;border-radius:6px;padding:6px 12px;font-size:.76rem;font-weight:800;color:#475569;cursor:pointer}
#tab-kanban .kan-view-tab.active{background:#1f57d8;color:#fff;border-color:#1f57d8}
#tab-kanban .kan-access-control{position:relative;display:inline-flex;flex:0 0 auto}
#tab-kanban .kan-access-control.sgo-access-locked::after,#tab-kanban .kan-view-tab.sgo-access-locked::after,#tab-kanban .kan-stats-period button.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#tab-kanban .kan-kpis{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;margin-bottom:8px}
#tab-kanban .kan-kpi{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 10px}
#tab-kanban .kan-kpi b{display:block;font-size:1.05rem;line-height:1.1}
#tab-kanban .kan-kpi span{font-size:.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}
#tab-kanban .kan-sheet-title{display:flex;align-items:center;justify-content:center;gap:18px;min-height:48px;height:48px;margin:4px 0 8px;color:#f00;font-family:Calibri, Arial, sans-serif;font-size:30px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#fff;border-bottom:2px solid #111;overflow:hidden}
#tab-kanban .kan-title-logo{height:38px;max-width:180px;width:auto;object-fit:contain;display:block;flex:0 0 auto}
#tab-kanban .kan-title-text{line-height:1;white-space:nowrap}
#tab-kanban .kan-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;max-height:640px}
#tab-kanban .kan-wrap::-webkit-scrollbar{height:18px;width:14px}
#tab-kanban .kan-wrap::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:3px solid #e2e8f0}
#tab-kanban .kan-wrap::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}
#tab-kanban .kan-top-scroll{display:none;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:8px;background:#eef2f7;height:20px;margin-bottom:6px}
#tab-kanban .kan-top-scroll::-webkit-scrollbar{height:18px}
#tab-kanban .kan-top-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:3px solid #e2e8f0}
#tab-kanban .kan-top-scroll::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}
#tab-kanban .kan-zoom-btn{padding:4px 6px;font-size:.72rem;gap:4px}
#tab-kanban .kan-zoom-reset{padding:4px 7px;font-size:.72rem;gap:4px}
#tab-kanban .kan-incluir-btn{border-color:#86efac;background:#f0fdf4;color:#166534;font-weight:800}
#tab-kanban .kan-incluir-btn .tab-quick-ico{background:#16a34a}
#tab-kanban .kan-incluir-btn.active{border-color:#15803d;background:#16a34a;color:#fff}
#tab-kanban .kan-incluir-btn.active .tab-quick-ico{background:#166534}
#tab-kanban .kan-incluir-btn:disabled{border-color:#d1d5db;background:#f3f4f6;color:#9ca3af;cursor:not-allowed;opacity:.75}
#tab-kanban .kan-readonly .kan-inp[data-kanban-bloqueado="1"]{cursor:not-allowed;opacity:.72;filter:saturate(.55)}
#tab-kanban .kan-week-clear-btn:disabled,#tab-kanban .kan-recalc-box input:disabled{cursor:not-allowed;opacity:.38}
#tab-kanban .kan-board-scale{transform-origin:top left;display:inline-block;min-width:max-content}
#tab-kanban .kan-tbl{width:max-content;border-collapse:collapse;font-size:12px;min-width:1860px;table-layout:auto;background:#fff}
#tab-kanban .kan-tbl th{position:sticky;top:0;z-index:2;background:#595959;color:#fff;border:1px solid #111;padding:3px 4px;white-space:nowrap;font-weight:700;text-align:center;vertical-align:middle}
#tab-kanban .kan-tbl th.kan-month{background:#d9d9d9;color:#000;font-size:20px;letter-spacing:0;text-transform:uppercase}
#tab-kanban .kan-tbl th.kan-week{background:#595959;color:#fff;font-size:11px}
#tab-kanban .kan-tbl th.kan-title-block{background:#d9d9d9!important;color:#000!important;font-size:30px!important;font-weight:900!important;letter-spacing:.02em;text-transform:uppercase;text-align:center}
#tab-kanban .kan-tbl th.kan-day-head{height:68px;writing-mode:vertical-rl;transform:rotate(180deg);padding:4px 2px;font-size:11px}
#tab-kanban .kan-tbl td{border:1px dotted #9ca3af;padding:2px 4px;vertical-align:middle;height:22px}
#tab-kanban .kan-tbl td.kan-merge2{height:50px}
#tab-kanban .kan-day{min-width:46px;max-width:46px;width:46px;text-align:center}
#tab-kanban .kan-col-wsum{min-width:52px;max-width:52px;width:52px;text-align:center;background:#e5e7eb;font-weight:700}
#tab-kanban .kan-col-saldo{min-width:52px;max-width:52px;width:52px;text-align:center;background:#fff2cc;font-weight:700}
#tab-kanban .kan-inp{width:100%;border:0;border-radius:0;padding:3px 3px;font-size:12px;line-height:1.15;background:transparent}
#tab-kanban .kan-inp[type="number"]{text-align:center}
#tab-kanban .kan-inp:focus{outline:2px solid #2563eb;background:#fff}
#tab-kanban .kan-lbl{font-size:11px;color:#595959}
#tab-kanban .kan-dot{display:inline-block;width:13px;height:13px;border-radius:999px;margin-left:0;vertical-align:middle;box-shadow:0 0 0 1px rgba(0,0,0,.16),0 1px 2px rgba(0,0,0,.22)}
#tab-kanban .kan-dot.g{background:#00c853}
#tab-kanban .kan-dot.y{background:#ffd600}
#tab-kanban .kan-dot.r{background:#ff1744}
#tab-kanban .kan-row-eff td{background:#f2f2f2}
#tab-kanban .kan-row-clima-top td{background:#fff2cc;font-weight:700}
#tab-kanban .kan-workdays-label{background:#fff!important;color:#000!important;text-align:right!important;font-weight:900!important}
#tab-kanban .kan-workdays-val{background:#fff!important;color:#f00!important;font-weight:900!important;text-align:center!important}
#tab-kanban .kan-row-cli td{background:#f8fafc}
#tab-kanban .kan-side-head{width:72px;min-width:72px;max-width:72px;background:#000!important;border-color:#000!important}
#tab-kanban .kan-side{width:72px;min-width:72px;max-width:72px;background:#000!important;color:#fff!important;border-color:#000!important;text-align:center;font-size:24px;font-weight:900;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg)}
#tab-kanban .kan-side .kan-side-input{writing-mode:vertical-rl;transform:rotate(0deg);background:transparent;border:0;color:#fff;font:inherit;letter-spacing:inherit;text-align:center;width:100%;height:100%;outline:none;text-transform:uppercase}
#tab-kanban .kan-setor{width:48px;min-width:48px;max-width:48px;text-align:center;font-weight:700}
#tab-kanban .kan-desc{width:220px;min-width:220px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-kanban .kan-date{width:82px;min-width:82px;max-width:82px;text-align:center}
#tab-kanban .kan-dur{width:48px;min-width:48px;max-width:48px;text-align:center}
#tab-kanban .kan-total{width:54px;min-width:54px;max-width:54px}
#tab-kanban .kan-lote{width:70px;min-width:70px;max-width:70px}
#tab-kanban .kan-plan-dia{width:56px;min-width:56px;max-width:56px}
#tab-kanban .kan-plan-sem{width:62px;min-width:62px;max-width:62px}
#tab-kanban tr.kan-atv-row td.kan-color-cell{background:var(--kan-row-color);color:var(--kan-row-text);font-weight:700;border-color:#111}
#tab-kanban tr.kan-atv-row td.kan-color-cell .kan-inp{color:var(--kan-row-text);font-weight:700}
#tab-kanban tr.kan-atv-row td.kan-color-cell .kan-inp:focus{color:#111;background:#fff}
#tab-kanban tr.kan-eff-row td.kan-color-cell{background:var(--kan-row-color);color:var(--kan-row-text);font-weight:700;border-color:#111}
#tab-kanban .kan-eff-label{text-align:right;font-size:14px;font-weight:900}
#tab-kanban .kan-grid{display:grid;width:max-content;min-width:1860px;background:#fff;border:2px solid #111;font-size:12px;font-weight:700;color:#000}
#tab-kanban .kg-cell{box-sizing:border-box;border-right:1px solid #111;border-bottom:1px dotted #777;min-height:28px;padding:3px 4px;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap}
#tab-kanban .kg-strong-border{border-bottom:2px solid #111}
#tab-kanban .kg-left{text-align:left;justify-content:flex-start}
#tab-kanban .kg-title{background:#d9d9d9;font-size:30px;font-weight:900;letter-spacing:.02em}
#tab-kanban .kg-month{background:#d9d9d9;font-size:16px;font-weight:900;text-transform:uppercase}
#tab-kanban .kg-dark{background:#595959;color:#fff}
#tab-kanban .kg-side{background:#000;color:#fff;font-size:28px;font-weight:900;letter-spacing:.06em;writing-mode:vertical-rl;transform:rotate(180deg)}
#tab-kanban .kg-head{background:#d9d9d9;font-weight:900}
#tab-kanban .kg-work{background:#fff;font-weight:900;justify-content:flex-end}
#tab-kanban .kg-work-val{background:#fff;color:#f00;font-weight:900}
#tab-kanban .kg-clima{background:#00b050;font-weight:900}
#tab-kanban .kg-clima-val{background:#ffff00;font-weight:900}
#tab-kanban .kg-clima-blue{background:#00b0f0;font-weight:900}
#tab-kanban .kg-e{background:#ffff00;font-weight:700}
#tab-kanban .kg-day-head{height:62px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px}
#tab-kanban .kg-total-head{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;background:#fff}
#tab-kanban .kg-plan{background:var(--kan-row-color);color:var(--kan-row-text)}
#tab-kanban .kg-plan .kan-inp{color:var(--kan-row-text);font-weight:800;background:transparent}
#tab-kanban .kg-plan .kan-inp:focus{background:#fff;color:#111}
#tab-kanban .kg-week{background:#fff}
#tab-kanban .kg-action-title{justify-content:flex-start;font-weight:900;padding-left:14px;background:#fff}
#tab-kanban .kg-action{background:#fff}
#tab-kanban .kan-grid{display:block;width:max-content;min-width:1780px;background:#fff;border:0;font-family:Calibri, Arial, sans-serif;font-size:12px;font-weight:400;color:#000}
#tab-kanban .kan-board{border-collapse:collapse;border-spacing:0;width:max-content;min-width:1780px;background:#d9d9d9;border:1px solid #000;table-layout:fixed}
#tab-kanban .kan-board th,#tab-kanban .kan-board td{border:1px solid #000;padding:1px 3px;height:29px;vertical-align:middle;white-space:nowrap;text-align:center;box-sizing:border-box;font-family:Calibri, Arial, sans-serif;box-shadow:none!important;outline:0!important;background-clip:padding-box}
#tab-kanban .kan-board th{background:#d9d9d9;color:#000;font-weight:900}
#tab-kanban .kan-board .kan-excel-title{background:#d9d9d9;color:#000;font-size:30px;font-weight:900;letter-spacing:.02em;height:66px}
#tab-kanban .kan-board .kan-excel-month{background:#d9d9d9;color:#000;font-size:15px;font-weight:900;height:92px;border:1px solid #000!important;vertical-align:middle!important}
#tab-kanban .kan-board .kan-workdays{background:#fff;color:#000;text-align:right;font-size:14px;font-weight:900}
#tab-kanban .kan-board .kan-workdays-num{background:#fff;color:#f00;font-size:14px;font-weight:900}
#tab-kanban .kan-board .kan-side-title{background:#000!important;color:#fff!important;font-size:28px;font-weight:900;letter-spacing:.06em;writing-mode:vertical-rl;transform:rotate(180deg);min-width:64px}
#tab-kanban .kan-board .kan-side-head{background:#000!important;border-color:#000!important;min-width:64px}
#tab-kanban .kan-board .kan-col-head{background:#d9d9d9;color:#000;font-weight:900;height:99px;vertical-align:middle!important;border:1px solid #000!important}
#tab-kanban .kan-board .kan-day-head{height:76px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;min-width:56px;background:#d9d9d9!important;border:1px solid #000!important;box-shadow:none!important;outline:0!important;background-clip:padding-box}
#tab-kanban .kan-board .kan-week-head{background:#d9d9d9!important;color:#000!important;font-weight:900;border:1px solid #000!important;box-shadow:none!important;outline:0!important;vertical-align:middle!important}
#tab-kanban .kan-board .kan-info{background:#f8fafc;text-align:left;font-weight:800}
#tab-kanban .kan-board .kan-clima-label{background:#00b050!important;color:#000!important;font-weight:900;border:1px solid #111!important;box-shadow:none!important;outline:0!important;background-clip:padding-box}
#tab-kanban .kan-board .kan-sol-count{background:#ffff00!important;color:#000!important;font-weight:900;border:1px solid #111!important;box-shadow:none!important;outline:0!important;background-clip:padding-box}
#tab-kanban .kan-board .kan-clima-blue{background:#00b0f0!important;color:#000!important;font-weight:900;border:1px solid #111!important;box-shadow:none!important;outline:0!important;background-clip:padding-box}
#tab-kanban .kan-board .kan-clima-row td{background:#ffff00}
#tab-kanban .kan-board .kan-merge-under{background:#d9d9d9!important;color:#000!important;border:1px solid #111!important;height:29px}
#tab-kanban .kan-board .kan-blank-under{background:#fff!important;border:1px solid #111!important;height:29px}
#tab-kanban .kan-board .kan-efetivo-row td{background:#f8fafc;height:26px}
#tab-kanban .kan-board .kan-prod-row td{border:1px solid #111;height:32px}
#tab-kanban .kan-board .kan-day-cell{background:#fff!important;border:1px solid #111!important;box-shadow:none!important;position:relative;padding-right:18px;padding-left:4px;overflow:visible}
#tab-kanban .kan-board .kan-clima-s{background:#ffff00!important;border:1px solid #111!important}
#tab-kanban .kan-board .kan-clima-c{background:#00b0f0!important;border:1px solid #111!important}
#tab-kanban .kan-board .kan-field-cell{background:var(--kan-row-color)!important;color:var(--kan-row-text)!important;font-weight:800}
#tab-kanban .kan-board .kan-field-cell .kan-inp{background:transparent!important;color:var(--kan-row-text)!important}
#tab-kanban .kan-board .kan-sector-cell{overflow:hidden;text-overflow:ellipsis;font-size:11px}
#tab-kanban .kan-board .kan-atv-cell{min-width:240px;max-width:240px;text-align:left;overflow:hidden;text-overflow:ellipsis}
#tab-kanban .kan-board .kan-small{min-width:58px}
#tab-kanban .kan-board .kan-num{min-width:54px}
#tab-kanban .kan-board .kan-week-total{background:#e2e8f0;font-weight:900;position:relative;padding-right:18px;padding-left:4px}
#tab-kanban .kan-board .kan-week-saldo{background:#fff7cc;font-weight:900;position:relative;padding-right:18px;padding-left:4px}
#tab-kanban .kan-board .kan-week-acum{background:#dbeafe;font-weight:900;position:relative;padding-right:18px;padding-left:4px}
#tab-kanban .kan-board .kan-week-acum-saldo{background:#ecfccb;font-weight:900;position:relative;padding-right:18px;padding-left:4px}
#tab-kanban .kan-board .kan-week-recalc{background:#f8fafc;font-weight:800;padding:3px 4px;white-space:normal}
#tab-kanban .kan-board .kan-row-color{background:var(--kan-row-color)!important;color:var(--kan-row-text)!important;font-weight:900}
#tab-kanban .kan-board .kan-input-cell{position:relative;box-shadow:none!important}
#tab-kanban .kan-board .kan-inp{width:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(17,17,17,.22);border-radius:3px;padding:2px 3px;font-family:Calibri, Arial, sans-serif;font-size:12px;font-weight:800;line-height:1.1;text-align:center;background:rgba(255,255,255,.28);box-shadow:none!important}
#tab-kanban .kan-board .kan-clima-s .kan-inp{background:#ffff00!important;border-color:#ffff00!important;color:#000}
#tab-kanban .kan-board .kan-clima-c .kan-inp{background:#00b0f0!important;border-color:#00b0f0!important;color:#000}
#tab-kanban .kan-board .kan-inp[type="number"]{width:100%;min-width:0;max-width:100%;margin:0 auto;text-align:center}
#tab-kanban .kan-board .kan-inp[type="number"]::-webkit-outer-spin-button,
#tab-kanban .kan-board .kan-inp[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}
#tab-kanban .kan-board .kan-inp[type="number"]{-moz-appearance:textfield}
#tab-kanban .kan-board .kan-workdays-num .kan-inp[type="number"]::-webkit-outer-spin-button,
#tab-kanban .kan-board .kan-workdays-num .kan-inp[type="number"]::-webkit-inner-spin-button{-webkit-appearance:auto;appearance:auto;margin:0}
#tab-kanban .kan-board .kan-workdays-num .kan-inp[type="number"]{-moz-appearance:auto}
#tab-kanban .kan-board .kan-map-auto{position:absolute;right:2px;bottom:1px;font-size:9px;font-weight:800;line-height:1;color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:3px;padding:1px 2px;pointer-events:none}
#tab-kanban .kan-board .kan-day-cell .kan-dot,
#tab-kanban .kan-board .kan-week-total .kan-dot,
#tab-kanban .kan-board .kan-week-saldo .kan-dot,
#tab-kanban .kan-board .kan-week-acum .kan-dot,
#tab-kanban .kan-board .kan-week-acum-saldo .kan-dot{position:absolute;right:3px;top:50%;transform:translateY(-50%);z-index:2}
#tab-kanban .kan-board .kan-recalc-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;font-size:10px;line-height:1.1;color:#334155;font-weight:900}
#tab-kanban .kan-board .kan-recalc-box input{margin:0;width:14px;height:14px}
#tab-kanban .kan-board .kan-recalc-box span{display:block;white-space:nowrap}
#tab-kanban .kan-board .kan-recalc-box-static{align-items:center}
#tab-kanban .kan-board .kan-week-clear-btn{display:grid;place-items:center;width:22px;height:22px;margin:4px auto 0;border:1px solid #fca5a5;background:#fff5f5;border-radius:5px;padding:0;line-height:1;cursor:pointer;box-shadow:0 1px 1px rgba(0,0,0,.08)}
#tab-kanban .kan-board .kan-week-clear-btn:hover{background:#fee2e2;border-color:#f87171}
#tab-kanban .kan-board .kan-week-clear-btn:focus{outline:2px solid #f87171;outline-offset:1px}
#tab-kanban .kan-board .kan-week-clear-ico{display:block;font-size:12px;line-height:1;filter:saturate(1.1)}
#tab-kanban .kan-board .kan-map-locked .kan-inp{background:#f0fdf4!important;border-color:#22c55e!important;color:#14532d!important;cursor:not-allowed}
#tab-kanban .kan-board .kan-auto-plan .kan-inp{background:#eef2f7!important;border-color:#94a3b8!important;color:#334155!important;cursor:not-allowed}
#tab-kanban .kan-board .kan-row-color .kan-inp{color:var(--kan-row-text);font-weight:800;background:transparent}
#tab-kanban .kan-board .kan-row-color .kan-inp:focus{background:#fff;color:#111;outline:2px solid #2563eb}
#tab-kanban .kan-board-scale{padding-right:24px}
#tab-kanban .kan-stats-wrap{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:12px}
#tab-kanban .kan-stats-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
#tab-kanban .kan-stats-head h3{margin:0 0 4px;font-size:1rem;color:#0f172a}
#tab-kanban .kan-stats-head p{margin:0;color:#64748b;font-size:.82rem}
#tab-kanban .kan-stats-period{border:1px solid #dbe5ef;background:#fff;border-radius:7px;padding:7px 10px;font-size:.76rem;font-weight:800;color:#475569;white-space:nowrap}
#tab-kanban .kan-stats-period button{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:5px 8px;font-size:.72rem;font-weight:900;color:#475569;cursor:pointer;margin-left:5px}
#tab-kanban .kan-stats-period button.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
#tab-kanban .kan-stats-custom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #dbe5ef;border-radius:8px;padding:8px;margin-bottom:10px}
#tab-kanban .kan-stats-custom label{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:900;color:#475569}
#tab-kanban .kan-stats-custom input{border:1px solid #cbd5e1;border-radius:6px;padding:5px 7px;font-size:.74rem}
#tab-kanban .kan-stats-custom button,#tab-kanban .kan-stats-page button{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:5px 8px;font-size:.72rem;font-weight:900;color:#334155;cursor:pointer}
#tab-kanban .kan-stats-custom button:hover,#tab-kanban .kan-stats-page button:hover{background:#eff6ff;border-color:#93c5fd}
#tab-kanban .kan-stats-page{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:-2px 0 8px;font-size:.72rem;font-weight:900;color:#64748b}
#tab-kanban .kan-stats-page button:disabled{opacity:.45;cursor:not-allowed}
#tab-kanban .kan-stats-selector{margin-bottom:10px}
#tab-kanban .kan-stats-selector-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
#tab-kanban .kan-stats-selector-head h4{margin:0}
#tab-kanban .kan-stats-selector-head button{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:5px 8px;font-size:.72rem;font-weight:800;color:#334155;cursor:pointer;margin-left:5px}
#tab-kanban .kan-stats-selector-head .kan-stats-toggle{margin-left:0;border-color:#bfdbfe;background:#eff6ff;font-size:.82rem;text-transform:uppercase;color:#1d4ed8;display:inline-flex;align-items:center;gap:8px;padding:7px 10px}
#tab-kanban .kan-stats-toggle-ico{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#1d4ed8;color:#fff;font-size:.78rem;line-height:1}
#tab-kanban .kan-stats-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.68rem;font-weight:900;color:#475569}
#tab-kanban .kan-stats-legend span{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;border:1px solid #dbe5ef;white-space:nowrap}
#tab-kanban .kan-stats-legend .obra{background:#dcfce7;border-color:#86efac;color:#166534}
#tab-kanban .kan-stats-legend .periodo{background:#ffedd5;border-color:#fdba74;color:#9a3412}
#tab-kanban .kan-stats-checks{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:6px;max-height:132px;overflow:auto;padding-right:4px}
#tab-kanban .kan-stats-checks label{display:flex;align-items:center;gap:7px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:7px;padding:7px 8px;font-size:.76rem;font-weight:700;color:#334155;min-width:0}
#tab-kanban .kan-stats-checks input{width:15px;height:15px;flex:0 0 auto}
#tab-kanban .kan-stats-checks span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tab-kanban .kan-stats-cards{display:grid;grid-template-columns:repeat(8,minmax(92px,1fr));gap:7px;margin-bottom:10px}
#tab-kanban .kan-stats-cards div{background:#fff;border:1px solid #dbe5ef;border-radius:8px;padding:8px}
#tab-kanban .kan-stats-cards div.kan-card-obra{background:#dcfce7;border-color:#86efac}
#tab-kanban .kan-stats-cards div.kan-card-periodo{background:#ffedd5;border-color:#fdba74}
#tab-kanban .kan-stats-cards span{display:block;font-size:.68rem;text-transform:uppercase;color:#64748b;font-weight:800}
#tab-kanban .kan-stats-cards b{display:block;margin-top:5px;font-size:.94rem;color:#0f172a;line-height:1.15}
#tab-kanban .kan-stats-cards b.kan-proj-card{font-size:.82rem;line-height:1.2}
#tab-kanban .kan-stats-cards b.kan-proj-card small{display:block;font-size:.74rem;font-weight:900;white-space:nowrap}
#tab-kanban .kan-stats-cards b.kan-media-card{font-size:.82rem;line-height:1.2}
#tab-kanban .kan-stats-cards b.kan-media-card small{display:block;font-size:.74rem;font-weight:900;white-space:nowrap}
#tab-kanban .kan-stats-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1.15fr);gap:10px;margin-bottom:10px}
#tab-kanban .kan-stats-panel{background:#fff;border:1px solid #dbe5ef;border-radius:8px;padding:10px;min-width:0}
#tab-kanban .kan-stats-panel h4,#tab-kanban .kan-stats-rank h4{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;color:#334155}
#tab-kanban .kan-stats-rank h4 small{display:block;margin-top:2px;font-size:.62rem;color:#64748b;text-transform:none}
#tab-kanban .kan-stats-panel h4 small{font-size:.62rem;color:#64748b;text-transform:none;margin-left:4px}
#tab-kanban .kan-stats-chart-box{height:280px;min-height:280px}
#tab-kanban .kan-stats-table{width:100%;border-collapse:collapse;font-size:.76rem}
#tab-kanban .kan-stats-table th{background:#eef2f7;color:#475569;text-align:center;padding:7px;border:1px solid #dbe5ef;white-space:nowrap}
#tab-kanban .kan-stats-table td{padding:6px 7px;border:1px solid #e2e8f0;color:#334155;white-space:nowrap;text-align:center}
#tab-kanban .kan-stats-table td:not(:first-child){font-family:var(--mono)}
#tab-kanban .kan-stats-table .pos{color:#047857;font-weight:800}
#tab-kanban .kan-stats-table .neg{color:#b91c1c;font-weight:800}
#tab-kanban .kan-stats-ranks{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin-bottom:10px}
#tab-kanban .kan-stats-rank{background:#fff;border:1px solid #dbe5ef;border-radius:8px;padding:10px}
#tab-kanban .kan-stats-rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #eef2f7}
#tab-kanban .kan-stats-rank-row:last-child{border-bottom:0}
#tab-kanban .kan-stats-rank-row span{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#eef2ff;color:#1d4ed8;font-weight:900;font-size:.72rem}
#tab-kanban .kan-stats-rank-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:.78rem}
#tab-kanban .kan-stats-rank-row strong{font-family:var(--mono);color:#0f172a;font-size:.78rem}
#tab-kanban .kan-stats-alerts{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px}
#tab-kanban .kan-stats-alerts div{border:1px solid #fed7aa;background:#fff7ed;border-radius:8px;padding:9px}
#tab-kanban .kan-stats-alerts b{display:block;color:#9a3412;font-size:.78rem}
#tab-kanban .kan-stats-alerts span{display:block;margin:3px 0;color:#475569;font-size:.72rem;font-weight:800}
#tab-kanban .kan-stats-alerts p{margin:0;color:#475569;font-size:.74rem;line-height:1.3}
#tab-kanban .kan-stats-muted{margin:0;color:#64748b;font-size:.8rem}
@media(max-width:980px){#tab-kanban .kan-stats-cards,#tab-kanban .kan-stats-grid,#tab-kanban .kan-stats-ranks,#tab-kanban .kan-stats-alerts,#tab-kanban .kan-stats-checks{grid-template-columns:1fr}#tab-kanban .kan-stats-head{flex-direction:column}#tab-kanban .kan-stats-period{white-space:normal}}
.kan-semana-picker{position:absolute;z-index:9999;width:286px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 18px 40px rgba(15,23,42,.18);padding:10px;display:none}
.kan-cal-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:6px;margin-bottom:8px}
.kan-cal-head b{text-align:center;font-size:.76rem;color:#0f172a}
.kan-cal-head button{border:1px solid #dbe5ef;background:#f8fafc;border-radius:7px;height:30px;font-weight:900;cursor:pointer}
.kan-cal-week,.kan-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.kan-cal-week span{text-align:center;font-size:.62rem;font-weight:900;color:#64748b}
.kan-cal-grid button{height:30px;border:1px solid transparent;background:#fff;border-radius:7px;font-size:.76rem;font-weight:700;color:#334155;cursor:pointer}
.kan-cal-grid button:hover{border-color:#93c5fd;background:#eff6ff}
.kan-cal-grid button.muted{color:#cbd5e1}
.kan-cal-grid button.has-data{color:#1d4ed8;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.kan-cal-grid button.sel{background:#eff6ff;box-shadow:0 0 0 2px #1d4ed8 inset}
#tab-kanban .kan-freeze .kan-board thead th{position:sticky;z-index:8;background:#d9d9d9}
#tab-kanban .kan-freeze .kan-board thead tr:nth-child(1) th{top:0}
#tab-kanban .kan-freeze .kan-board thead tr:nth-child(2) th{top:67px}
#tab-kanban .kan-freeze .kan-board thead tr:nth-child(3) th{top:96px}
#tab-kanban .kan-freeze .kan-board thead tr:nth-child(4) th{top:172px}
#tab-kanban .kan-freeze .kan-board thead tr:nth-child(5) th{top:201px}
#tab-kanban .kan-freeze .kan-board{border-collapse:separate;border-spacing:0;isolation:isolate;border-width:1px 0 0 1px}
#tab-kanban .kan-freeze .kan-board th,
#tab-kanban .kan-freeze .kan-board td{border-width:0 1px 1px 0!important}
#tab-kanban .kan-freeze .kan-board-scale{isolation:isolate}
#tab-kanban .kan-freeze .kan-board .kan-sticky-col{position:sticky!important;left:var(--kan-left);z-index:22!important;background-color:#fff!important;background-image:none!important;background-clip:border-box!important}
#tab-kanban .kan-freeze .kan-board thead .kan-sticky-col{z-index:42!important}
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-row-color,
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-field-cell{background-color:var(--kan-row-color)!important}
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-side-head,
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-side-title{background-color:#000!important}
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-excel-title,
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-col-head{background-color:#d9d9d9!important}
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-workdays,
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-workdays-num,
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-blank-under{background-color:#fff!important}
#tab-kanban .kan-freeze .kan-board .kan-sticky-col.kan-merge-under{background-color:#d9d9d9!important}
#tab-kanban .kan-freeze .kan-board .kan-side-head,
#tab-kanban .kan-freeze .kan-board .kan-side-title{width:72px;min-width:72px;max-width:72px}
#tab-kanban .kan-freeze .kan-board .kan-atv-cell{width:238px;min-width:238px;max-width:238px}
#tab-kanban .kan-freeze .kan-board .kan-sticky-last{border-right:1px solid #111!important;box-shadow:4px 0 0 #fff,10px 0 14px -8px rgba(15,23,42,.78)!important}
.tab-pane{display:none}.tab-pane.active{display:block}

/* PANELS */
.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--bg3)}
.panel-title{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:1px}

/* CRONOGRAMA TABLE */
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{background:var(--bg3);color:var(--text3);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;padding:10px 12px;text-align:left;border-bottom:2px solid var(--border);white-space:nowrap}
.tbl td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle}
.tbl tbody tr:last-child td{border-bottom:none}

/* Linhas FOLHA */
.row-leaf:hover td{background:#fafbfd}
.row-leaf td{background:#fff}

/* Linhas SOMATÓRIA */
.row-sum td{background:var(--sum-bg);border-bottom:1px solid var(--sum-border)!important;}
.row-sum:hover td{background:#e8eeff}
.row-sum .act-name{font-weight:700;color:var(--accent)}
.sum-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px;background:var(--accent);color:#fff;font-size:8px;font-weight:700;margin-right:4px;flex-shrink:0}

/* nível de indentação visual */
.lvl-0 .act-name{font-size:13px;font-weight:700;color:var(--text)}
.lvl-1 .act-name{font-size:12px;font-weight:600}
.lvl-2 .act-name{font-size:12px;font-weight:600}
.lvl-3 .act-name{font-size:12px}
.lvl-4 .act-name,.lvl-5 .act-name{font-size:11px}

.item-code{font-family:var(--mono);font-size:10px;color:var(--text3);white-space:nowrap}
.mono{font-family:var(--mono);font-size:11px;white-space:nowrap}

/* MINI BAR */
.mbar-wrap{display:flex;align-items:center;gap:6px}
.mbar{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden;border:1px solid var(--border);min-width:50px}
.mbar-fill{height:100%;border-radius:3px;transition:width .4s}
.mbar-fill.plan{background:rgba(26,86,219,.25)}
.mbar-fill.real-ok{background:#0e9f6e}
.mbar-fill.real-late{background:#e02424}
.mbar-fill.real-sum{background:#1a56db;opacity:.7}
.mbar-pct{font-family:var(--mono);font-size:10px;color:var(--text2);min-width:36px;text-align:right}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600}
.badge-blue{background:var(--accent-lt);color:var(--accent)}
.badge-green{background:var(--green-lt);color:var(--green)}
.badge-yellow{background:var(--yellow-lt);color:var(--yellow)}
.badge-red{background:var(--red-lt);color:var(--red)}
.badge-gray{background:var(--bg3);color:var(--text3)}
.badge-sum{background:#e0e8ff;color:#3355aa;font-style:italic}
.crono-restricao-link{margin-left:6px;border:0;font-family:inherit;line-height:normal;cursor:pointer}
.crono-restricao-link:hover,.crono-restricao-link:focus-visible{background:#fecaca;outline:2px solid #ef4444;outline-offset:1px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:7px;font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:.15s;border:none;line-height:1}
.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-h)}
.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg2)}
.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--border2);background:var(--bg3)}
.btn-sm{padding:6px 13px;font-size:12px}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#0a8b60}

/* IMPORT ZONE */
.import-zone{border:2px dashed var(--border2);border-radius:var(--radius);padding:44px 20px;text-align:center;cursor:pointer;transition:.2s;background:var(--bg3)}
.import-zone:hover{border-color:var(--accent);background:var(--accent-lt)}
.iz-icon{font-size:36px;margin-bottom:12px;opacity:.6}
#file-input{display:none}

/* AVANÇO INPUT */
.av-input{width:68px;background:var(--bg3);border:1px solid var(--border);border-radius:5px;padding:5px 7px;color:var(--text);font-family:var(--mono);font-size:11px;text-align:right;outline:none;transition:.15s}
.av-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(26,86,219,.1)}
.av-disabled{background:var(--sum-bg);color:var(--text3);border-color:var(--sum-border);cursor:not-allowed;font-style:italic}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(17,25,40,.45);z-index:200;align-items:center;justify-content:center;backdrop-filter:blur(3px)}
.modal-overlay.open{display:flex}
.modal{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:28px;width:480px;max-width:95vw;box-shadow:var(--shadow-lg);animation:mIn .2s ease}
@keyframes mIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
.modal h3{font-size:18px;font-weight:700;margin-bottom:22px;color:var(--text)}
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:5px}
.form-input,.form-select{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:7px;padding:9px 13px;color:var(--text);font-family:var(--font);font-size:13px;transition:.15s;outline:none;-webkit-appearance:none;appearance:none}
.form-input:focus,.form-select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(26,86,219,.1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px}
.sgo-access-denied-overlay{z-index:3200;background:rgba(226,232,240,.72);backdrop-filter:blur(8px)}
.sgo-access-denied-modal{width:min(92vw,440px);padding:0;overflow:hidden;border:1px solid #a8adb4;border-radius:12px;background:#fff;box-shadow:0 22px 48px rgba(15,23,42,.26)}
.sgo-access-denied-head{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 16px;border-bottom:1px solid #d7dce2;background:#fff}
.sgo-access-denied-head-lock{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:34px}
.sgo-access-denied-head-lock .sgo-access-denied-lock{transform:scale(.72)}
.sgo-access-denied-lock{position:relative;display:block;width:34px;height:40px}
.sgo-access-denied-lock::before{content:'';position:absolute;top:0;left:7px;width:20px;height:21px;border:4px solid #dc3b31;border-bottom:0;border-radius:12px 12px 0 0;box-sizing:border-box}
.sgo-access-denied-lock::after{content:'';position:absolute;right:4px;bottom:2px;width:26px;height:23px;border-radius:3px;background:#dc3b31;box-shadow:inset 0 -3px 0 rgba(153,27,27,.16)}
.sgo-access-denied-modal h3{margin:0;color:#17191d;font-size:18px;line-height:1.2}
.sgo-access-denied-close{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:32px;height:32px;padding:0;border:0;background:transparent;color:#737982;font-size:30px;font-weight:300;line-height:1;cursor:pointer}
.sgo-access-denied-close:hover,.sgo-access-denied-close:focus{color:#1f2937;background:#f1f5f9;outline:none}
.sgo-access-denied-body{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px;min-height:190px;padding:22px 26px;color:#343941}
.sgo-access-denied-symbol{display:flex;align-items:center;justify-content:center;width:78px;height:78px;border:3px solid #dc3b31;border-radius:50%}
.sgo-access-denied-symbol .sgo-access-denied-lock{transform:scale(1.12)}
.sgo-access-denied-copy{min-width:0}
.sgo-access-denied-copy h4{margin:0 0 10px;color:#df3c31;font-size:19px;font-weight:750;line-height:1.2}
.sgo-access-denied-copy p{margin:0;color:#343941;font-size:12px;line-height:1.45}
.sgo-access-denied-resource{margin-top:8px!important;overflow-wrap:anywhere}
.sgo-access-denied-resource strong{font-weight:750}
.sgo-access-denied-guidance{margin-top:8px!important}
.sgo-access-denied-actions{display:flex;justify-content:center;padding:14px 16px 16px;border-top:1px solid #d7dce2;background:#fff}
.sgo-access-denied-ok{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:132px;height:40px;padding:0;border:1px solid #0754ae;border-radius:7px;background:#1263bd;color:#fff;font-family:var(--font);font-size:15px;font-weight:700;line-height:1;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 5px rgba(15,83,166,.22)}
.sgo-access-denied-ok span{font-size:21px;font-weight:500}
.sgo-access-denied-ok:hover,.sgo-access-denied-ok:focus{background:#0b55a8;color:#fff;outline:none;box-shadow:0 0 0 3px rgba(18,99,189,.2)}
@media(max-width:480px){.sgo-access-denied-head{min-height:54px;padding:7px 12px}.sgo-access-denied-modal h3{font-size:17px}.sgo-access-denied-body{grid-template-columns:62px minmax(0,1fr);gap:12px;min-height:0;padding:18px 16px}.sgo-access-denied-symbol{width:58px;height:58px;border-width:2px}.sgo-access-denied-symbol .sgo-access-denied-lock{transform:scale(.82)}.sgo-access-denied-copy h4{margin-bottom:8px;font-size:18px}.sgo-access-denied-copy p{font-size:12px}.sgo-access-denied-actions{padding:12px}.sgo-access-denied-ok{width:132px;height:40px;font-size:15px}}
.sgo-access-locked{position:relative!important;opacity:.58;filter:grayscale(.72);cursor:not-allowed!important}
.sgo-access-locked::after{content:'🔒';position:absolute;top:2px;right:3px;z-index:3;display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:1px solid #cbd5e1;border-radius:50%;background:#f8fafc;color:#475569;font-size:8px;line-height:1;box-shadow:0 1px 3px rgba(15,23,42,.16);pointer-events:none}
.sgo-access-locked:hover,.sgo-access-locked:focus{opacity:.72;filter:grayscale(.55)}
[data-mapa-alcada].btn-sm.sgo-access-locked::after,
#tab-mapa .map-quick-row [data-mapa-alcada].sgo-access-locked::after,
#mapa-camadas-bar [data-mapa-alcada].sgo-access-locked::after,
#modal-mascara .mapa-recorte-parcial-btn.sgo-access-locked::after,
[data-mapa-diag-alcada].btn-sm.sgo-access-locked::after,
#tab-mapaDiag .map-quick-row [data-mapa-diag-alcada].sgo-access-locked::after,
#mapaDiag-camadas-bar [data-mapa-diag-alcada].sgo-access-locked::after,
#modal-mascaraDiag .mapa-recorte-parcial-btn.sgo-access-locked::after,
#diag-lista [data-mapa-diag-alcada].sgo-access-locked::after,
[data-mapa-solda-alcada].btn-sm.sgo-access-locked::after,
#tab-mapaSolda .map-quick-row [data-mapa-solda-alcada].sgo-access-locked::after,
#modal-mapaSolda-ligacoes-borda [data-mapa-solda-alcada].sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#tab-topografia [data-topo-alcada].map-quick-btn.sgo-access-locked::after,
#tab-topografia [data-topo-alcada].kan-view-tab.sgo-access-locked::after,
#tab-topografia [data-topo-alcada].btn-sm.sgo-access-locked::after,
#tab-topografia [data-topografia-export-ignore="1"].sgo-access-locked::after,
#modal-topografia-versoes [data-topo-alcada].btn.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#tab-topografia [data-topo-alcada][aria-disabled="true"] input,
#tab-topografia [data-topo-alcada][aria-disabled="true"] select{pointer-events:none}
#tab-medicoesCliente [data-mc-alcada].tab-quick-btn.sgo-access-locked::after,
#tab-medicoesCliente [data-mc-alcada].btn-sm.sgo-access-locked::after,
#tab-medicoesCliente [data-mc-alcada].mc-lock-btn.sgo-access-locked::after,
#tab-medicoesCliente [data-mc-alcada].mc-icon-btn.sgo-access-locked::after,
#modal-mc-contrato [data-mc-alcada].mc-contrato-option.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#tab-medicoesCliente [data-mc-alcada][aria-disabled="true"] input,
#tab-medicoesCliente [data-mc-alcada][aria-disabled="true"] select,
#tab-medicoesCliente [data-mc-alcada][aria-disabled="true"] textarea{pointer-events:none}
#tab-medicoesMontadores [data-mm-alcada].tab-quick-btn.sgo-access-locked::after,
#tab-medicoesMontadores [data-mm-alcada].mm-icon-btn.sgo-access-locked::after,
#modal-mm-contrato [data-mm-alcada].mm-contrato-option.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#tab-medicoesMontadores [data-mm-alcada][aria-disabled="true"] input,
#tab-medicoesMontadores [data-mm-alcada][aria-disabled="true"] select{pointer-events:none}
#tab-cadastroNotas [data-cn-alcada].tab-quick-btn.sgo-access-locked::after,
#tab-cadastroNotas [data-cn-alcada].btn-sm.sgo-access-locked::after,
#tab-cadastroNotas [data-cn-alcada].cn-icon-btn.sgo-access-locked::after,
#modal-cn-rateio [data-cn-alcada].btn.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#tab-cadastroNotas [data-cn-alcada][aria-disabled="true"] input,
#tab-cadastroNotas [data-cn-alcada][aria-disabled="true"] select,
#modal-cn-rateio [data-cn-alcada][aria-disabled="true"] select{pointer-events:none}
#tab-equipamentosMontador [data-em-alcada].tab-quick-btn.sgo-access-locked::after,
#tab-equipamentosMontador [data-em-alcada].btn-sm.sgo-access-locked::after,
#tab-equipamentosMontador [data-em-alcada].em-action-btn.sgo-access-locked::after,
#tab-equipamentosMontador [data-em-alcada].em-icon-btn.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#tab-equipamentosMontador [data-em-alcada][aria-disabled="true"] input,
#tab-equipamentosMontador [data-em-alcada][aria-disabled="true"] select{pointer-events:none}
#tab-mapaChuvaEfetivo button.sgo-access-locked::after,
#tab-mapaChuvaEfetivo .mce2-partner-add.sgo-access-locked::after,
#tab-mapaChuvaEfetivo .mce2-daycell.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
#mapaSolda-container [data-mapa-solda-alcada][aria-disabled="true"]{cursor:not-allowed!important}
[data-hist-alcada].sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.mapa-lotes-version-action.sgo-access-locked::after,
.mapa-lotes-context-menu button.sgo-access-locked::after{top:auto;right:1px;bottom:1px;width:10px;height:10px;border-width:1px;font-size:6px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.layer-config-modal{border:2px solid #475569!important;background:#fff!important;box-shadow:0 28px 72px rgba(15,23,42,.32),0 0 0 5px rgba(255,255,255,.72)!important}
.layer-config-modal__header{background:linear-gradient(135deg,#1e3a8a 0%,#6d28d9 100%)!important;border-bottom:1px solid rgba(255,255,255,.28);box-shadow:0 4px 14px rgba(30,41,59,.22)}
.layer-config-modal__icon{border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.layer-config-modal__close{width:34px!important;height:34px!important;display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;border:1px solid #cbd5e1!important;border-radius:9px!important;background:#fff!important;color:#111827!important;opacity:1!important;font-size:18px!important;font-weight:800!important;line-height:1!important;box-shadow:0 3px 10px rgba(15,23,42,.24);transition:background .15s ease,color .15s ease,transform .15s ease}
.layer-config-modal__close:hover{background:#fee2e2!important;color:#b91c1c!important;border-color:#fecaca!important;transform:scale(1.05)}
.layer-config-modal__settings{background:linear-gradient(180deg,#f8fafc 0%,#fff 34%)}
.layer-config-modal__subactivities{background:#fff}
.layer-config-modal__footer{border-top:1px solid #cbd5e1!important;background:#f8fafc!important;box-shadow:0 -4px 12px rgba(15,23,42,.05)}
.map-ui-modal{padding:0!important;overflow:hidden;border:2px solid #475569!important;background:#fff!important;box-shadow:0 24px 60px rgba(15,23,42,.28),0 0 0 4px rgba(255,255,255,.68)!important}
.map-ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px!important;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);box-shadow:0 3px 10px rgba(15,23,42,.16)}
.map-ui-modal--versions .map-ui-modal__header{background:linear-gradient(135deg,#1e3a8a 0%,#334155 100%)}
.map-ui-modal--simulation .map-ui-modal__header{background:linear-gradient(135deg,#6d28d9 0%,#7c3aed 100%)}
.map-ui-modal--stages .map-ui-modal__header{background:linear-gradient(135deg,#1565c0 0%,#1e88e5 100%)!important}
.map-ui-modal--pointing .map-ui-modal__header{background:linear-gradient(135deg,#166534 0%,#15803d 100%)!important}
.map-ui-modal__header .modal-title{color:#fff!important;font-weight:800}
.map-ui-modal__close{width:32px!important;height:32px!important;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 32px;padding:0!important;border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;color:#111827!important;opacity:1!important;font-size:17px!important;font-weight:900!important;line-height:1!important;box-shadow:0 2px 8px rgba(15,23,42,.22);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}
.map-ui-modal__close:hover{background:#fee2e2!important;color:#b91c1c!important;border-color:#fecaca!important;transform:scale(1.04)}
.map-ui-modal__body{padding:14px 16px;background:linear-gradient(180deg,#f8fafc 0%,#fff 34%)}
.map-ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid #cbd5e1;background:#f8fafc;box-shadow:0 -3px 9px rgba(15,23,42,.04)}
.map-ui-modal__pointing-body{background:#f1f5f9}
.map-ui-modal__pointing-body>div{border-color:#cbd5e1!important;box-shadow:0 2px 8px rgba(15,23,42,.06)}

.wx7-modal{width:850px;max-width:96vw;padding:0;overflow:hidden;background:#eef0f2}
.wx7-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:#fff;border-bottom:1px solid #d7dde5}
.wx7-title{font-size:1rem;font-weight:800;color:#0f172a}
.wx7-sub{margin-top:2px;font-size:.8rem;color:#64748b}
.wx7-source-select-wrap{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:800;color:#64748b}
.wx7-source-select{height:26px;border:1px solid #d7dde5;border-radius:7px;background:#f8fafc;color:#334155;font-size:.72rem;font-weight:800;padding:3px 7px;outline:none}
.wx7-source-select:focus{border-color:#93c5fd;background:#fff}
.wx7-export{border:1px solid #d7dde5;background:#f8fafc;border-radius:8px;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;color:#64748b;font-size:1rem;font-weight:900;line-height:1}
.wx7-export:hover{background:#e0f2fe;border-color:#bae6fd;color:#0284c7}
.wx7-export:disabled{opacity:.45;cursor:default}
.wx7-close{border:0;background:#f1f5f9;border-radius:8px;width:30px;height:30px;cursor:pointer;color:#334155;font-weight:900}
.wx7-body{padding:10px}
.wx7-nav-row{display:flex;align-items:stretch;gap:6px}
.wx7-grid{display:flex;gap:10px;overflow:hidden;padding:0 0 2px;flex:1}
.wx7-nav-btn{width:18px;min-width:18px;padding:0;border:0;border-radius:5px;background:#fff;color:#0284c7;font-size:1.35rem;font-weight:900;cursor:pointer;box-shadow:inset 0 0 0 1px #d7dde5}
.wx7-nav-btn:hover:not(:disabled){background:#e0f2fe}
.wx7-nav-btn:disabled{opacity:.28;cursor:default}
.wx7-card{flex:0 0 105px;height:250px;background:#fff;border:1px solid transparent;border-radius:4px;padding:18px 8px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;color:#10233a;cursor:pointer;font-family:var(--font)}
.wx7-card.is-today{background:#c9d8df;border-color:#1f2937}
.wx7-card.is-selected{box-shadow:inset 0 0 0 2px #0284c7;border-color:#0284c7}
.wx7-day{font-size:.86rem;font-weight:800;margin-bottom:8px}
.wx7-date{font-size:.86rem;color:#7b8794;margin-bottom:12px}
.wx7-icon{height:48px;display:grid;place-items:center;margin-bottom:8px}
.wx7-rain{height:30px;font-size:.75rem;line-height:1.15;color:#0284c7;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center}
.wx7-rain span{font-weight:700}
.wx7-temp{font-size:.86rem;font-weight:900;margin:5px 0 9px}
.wx7-temp .max{color:#dc2626}.wx7-temp .min{color:#1d4ed8}
.wx7-wind-ico{height:22px;color:#0ea5e9;line-height:1;margin-bottom:7px;display:grid;place-items:center}
.wx7-wind-svg{width:26px;height:26px;display:block;transform-origin:50% 50%}
.wx7-wind{font-size:.86rem;color:#10233a;margin-top:auto;white-space:nowrap}
.wx7-range{text-align:center;font-size:.72rem;font-weight:800;color:#64748b;padding:6px 0 0}
.wx7-period-panel{margin-top:8px;background:#fff;border:1px solid #d7dde5;border-radius:8px;padding:8px 10px}
.wx7-period-title{text-align:center;font-size:.78rem;font-weight:900;color:#334155;margin-bottom:7px}
.wx7-period-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wx7-period-card{border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;padding:7px 8px;text-align:center;min-height:82px}
.wx7-period-card b{display:block;font-size:.78rem;color:#0f172a}
.wx7-period-card span{display:block;font-size:.66rem;color:#64748b;margin-top:1px}
.wx7-period-card em{display:block;font-size:.72rem;color:#94a3b8;margin-top:18px;font-style:normal}
.wx7-period-main{display:flex;align-items:center;justify-content:center;gap:7px;margin:4px 0 3px}
.wx7-period-main strong{font-size:.94rem;color:#0f172a}
.wx7-period-line{font-size:.68rem;font-weight:800;color:#475569;line-height:1.25}
.wx7-foot{display:flex;justify-content:flex-end;padding:5px 2px 0}
.wx7-source{font-size:.68rem;color:#64748b}
.wx7-source a{color:#475569;text-decoration:none}
.wx7-source a:hover{text-decoration:underline}
.wx7-state{width:100%;min-height:120px;display:grid;place-items:center;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:.86rem;font-weight:700}

/* GANTT */
.gantt-wrap{overflow-x:auto;position:relative}
.g-head-row{display:flex;background:var(--bg3);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:10}
.g-head-row .g-name-col{z-index:11}
.gp-btn{padding:5px 11px;font-size:11px;font-weight:500;font-family:var(--font);background:transparent;border:none;color:var(--text2);cursor:pointer;transition:.15s;white-space:nowrap}
.gp-btn:hover{background:var(--bg2);color:var(--text)}
.gp-active{background:var(--accent)!important;color:#fff!important;font-weight:600!important}
.g-name-col{min-width:280px;width:280px;padding:10px 14px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text3);border-right:1px solid var(--border);position:sticky;left:0;z-index:6;background:var(--bg3);box-shadow:2px 0 4px rgba(0,0,0,.06)}
.g-row{display:flex;border-bottom:1px solid var(--border);align-items:center}
.g-row:last-child{border-bottom:none}
.g-row-leaf:hover{background:#fafbfd}
.g-row-leaf .g-row-name{background:#fff}
.g-row-leaf:hover .g-row-name{background:#fafbfd}
.g-row-sum{background:var(--sum-bg)}
.g-row-sum:hover{background:#e8eeff}
.g-row-sum .g-row-name{font-weight:700;color:var(--accent);background:var(--sum-bg)}
.g-row-sum:hover .g-row-name{background:#e8eeff}
.g-row-name{min-width:280px;width:280px;padding:7px 14px;font-size:11px;color:var(--text2);border-right:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:sticky;left:0;z-index:4;box-shadow:2px 0 4px rgba(0,0,0,.06)}
.g-row-sum .g-row-name{font-weight:700;color:var(--accent)}
.g-row-tl{flex:1;position:relative;height:34px;overflow:hidden}
.g-bar{position:absolute;border-radius:3px;overflow:hidden}
.g-bar.plan-leaf{background:rgba(26,86,219,.15);border:1px solid rgba(26,86,219,.3);height:14px;top:6px}
.g-bar.real-leaf{background:#1a56db;height:14px;top:6px;display:flex;align-items:center;overflow:hidden}
.g-bar.plan-sum{background:rgba(26,86,219,.08);border:1px solid rgba(26,86,219,.25);height:18px;top:5px}
.g-bar.real-sum{background:#1a56db;opacity:.5;height:18px;top:5px;display:flex;align-items:center;overflow:hidden}
.g-bar-label{font-family:var(--font);font-size:9px;font-weight:700;color:#fff;white-space:nowrap;padding:0 4px;pointer-events:none;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.g-bar-label-out{font-family:var(--font);font-size:9px;font-weight:700;color:var(--accent);white-space:nowrap;pointer-events:none;line-height:1;position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%)}
.g-today{position:absolute;top:0;bottom:0;width:2px;background:#e02424;opacity:.7;z-index:5}
.g-today-lbl{position:absolute;top:2px;font-size:9px;color:var(--red);font-family:var(--mono);white-space:nowrap;transform:translateX(-50%);font-weight:600}
.g-month{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);padding:10px 6px;border-right:1px solid var(--border);text-align:center;position:absolute}

/* RESUMO */
.res-kpi-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:22px}
.res-kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm)}
.res-kpi-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:8px}
.res-kpi-val{font-size:28px;font-weight:700;letter-spacing:-1px;color:var(--text)}
.res-kpi-val.blue{color:var(--accent)}.res-kpi-val.green{color:var(--green)}.res-kpi-val.red{color:var(--red)}
.res-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:18px 20px;font-size:13px}
.res-info-item-wide{grid-column:1/-1}
.res-info-item .lbl{color:var(--text3);font-size:11px;font-weight:500;margin-bottom:2px}
.res-info-item .val{color:var(--text);font-weight:600}
.res-name-view{min-height:28px;display:flex;align-items:center;text-transform:uppercase}

.adit-shell{display:flex;flex-direction:column;gap:8px}
.adit-sticky{position:sticky;top:6px;z-index:9;background:var(--bg);padding:0 0 8px}
#tab-aditivos{margin-top:-18px}
.adit-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:12px 18px;border:1px solid #dbe4f3;border-radius:16px;background:
linear-gradient(135deg,#fff7ed 0%,#ffffff 38%,#eff6ff 100%);box-shadow:0 10px 28px rgba(15,23,42,.08)}
.adit-kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c2410c;margin-bottom:4px}
.adit-hero h3{font-size:1.12rem;letter-spacing:-.03em;color:#0f172a;margin-bottom:2px;line-height:1.05}
.adit-hero p{font-size:.8rem;color:#475569;max-width:620px;line-height:1.35}
.adit-hero-actions{display:flex;align-items:center;gap:8px}
.adit-action-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;margin-right:6px;font-size:.8rem;color:#fff;box-shadow:0 4px 10px rgba(15,23,42,.16)}
.adit-action-ico.add{background:linear-gradient(135deg,#16a34a,#22c55e)}
.adit-action-ico.png{background:linear-gradient(135deg,#0284c7,#0ea5e9)}
.adit-action-ico.print{background:linear-gradient(135deg,#7c3aed,#8b5cf6)}
.adit-action-ico.remove{background:linear-gradient(135deg,#dc2626,#f97316)}
.adit-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-top:6px}
.adit-kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 15px;box-shadow:0 10px 28px rgba(15,23,42,.08)}
.adit-kpi-lbl{display:block;font-size:.73rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:8px}
.adit-kpi-val{font-size:1.28rem;line-height:1.1;color:#0f172a}
.adit-kpi-val.blue{color:#1d4ed8}
.adit-kpi-val.green{color:#047857}
.adit-kpi-val.red{color:#dc2626}
.adit-panel{overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.adit-panel-note{font-size:.76rem;color:#64748b}
.adit-empty{display:grid;place-items:center;text-align:center;gap:10px;padding:34px 20px;background:linear-gradient(180deg,#fcfcfd 0%,#f8fafc 100%)}
.adit-empty-ico{font-size:2rem;color:#f97316}
.adit-table-wrap{overflow:auto;max-height:56vh}
.adit-panel .panel-head{position:sticky;top:0;z-index:8;background:var(--bg3)}
.adit-tbl{width:100%;table-layout:fixed}
.adit-tbl th{
  white-space:nowrap;position:sticky;top:0;z-index:4;background:#f8fafc;font-size:.74rem;padding:8px 6px
}
.adit-tbl td{background:#fff;padding:4px 3px}
.adit-tbl input,.adit-tbl select{
  width:100%;border:1px solid #dbe4f3;border-radius:8px;padding:6px 7px;font-size:.8rem;background:#fff;color:#0f172a;outline:none
}
.adit-tbl input:disabled,.adit-tbl select:disabled{
  background:#f8fafc;color:#64748b;cursor:not-allowed;opacity:1
}
.adit-tbl input[type="text"]{text-transform:uppercase}
.adit-tbl th:nth-child(1){width:10%}
.adit-tbl th:nth-child(2){width:13%}
.adit-tbl th:nth-child(3){width:11%}
.adit-tbl th:nth-child(4){width:8%}
.adit-tbl th:nth-child(5){width:15%}
.adit-tbl th:nth-child(6){width:23%}
.adit-tbl th:nth-child(7){width:14%}
.adit-tbl th:nth-child(8){width:6%}
.adit-tbl .adit-col-tipo{min-width:0}
.adit-tbl .adit-col-status{min-width:0}
.adit-tbl .adit-col-proposta{min-width:0}
.adit-tbl .adit-col-revisao{min-width:0;max-width:none}
.adit-tbl .adit-col-data{min-width:0}
.adit-tbl .adit-col-assunto{min-width:0}
.adit-tbl .adit-col-valor{min-width:0;max-width:none}
.adit-tbl input:focus,.adit-tbl select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.adit-tbl .adit-valor{text-align:right;font-family:var(--mono)}
.vc-head-title{display:flex;align-items:center;gap:12px}
.vc-head-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font-size:20px;box-shadow:0 10px 24px rgba(15,118,110,.24)}
.vc-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.vc-head-actions .btn-primary{background:linear-gradient(135deg,#0f766e,#0ea5a4);box-shadow:0 10px 20px rgba(15,118,110,.18)}
.vc-head-actions .btn-primary:hover{background:linear-gradient(135deg,#0d675f,#0c8f8e)}
.vc-head-actions .btn-ghost{background:#fff}
.vc-head-actions .vc-btn-include{background:linear-gradient(135deg,#0f766e,#0ea5a4)}
.vc-head-actions .vc-btn-edit{background:linear-gradient(135deg,#1d4ed8,#2563eb)}
.vc-head-actions .vc-btn-edit:hover{background:linear-gradient(135deg,#1e40af,#1d4ed8)}
.vc-wrap{padding:18px;display:grid;gap:16px;background:
  radial-gradient(circle at top left,rgba(20,184,166,.12),transparent 28%),
  radial-gradient(circle at top right,rgba(14,165,233,.10),transparent 24%),
  linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%)}
.vc-table-wrap{overflow:auto;border:1px solid #cfd8e3;background:#fff;border-radius:16px;box-shadow:0 14px 34px rgba(15,23,42,.08)}
.vc-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff}
.vc-table th,.vc-table td{border-right:1px solid #d8e0ea;border-bottom:1px solid #d8e0ea;padding:0;vertical-align:middle}
.vc-table tr > *:last-child{border-right:none}
.vc-table tbody tr:last-child td{border-bottom:none}
.vc-table th{background:linear-gradient(180deg,#e7eef6 0%,#dbe5f0 100%);color:#243447;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:12px 8px}
.vc-table td{background:#fff;color:#0f172a;font-size:12px}
.vc-table .vc-label{font-weight:700;padding:10px 12px;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)}
.vc-table .vc-cell-edit{background:#fff;overflow:hidden}
.vc-table .vc-cell-num{padding:10px 10px;text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.vc-table th:nth-child(1),.vc-table td:nth-child(1){width:16%}
.vc-table th:nth-child(2),.vc-table td:nth-child(2){width:13%}
.vc-table th:nth-child(3),.vc-table td:nth-child(3){width:11.5%}
.vc-table th:nth-child(4),.vc-table td:nth-child(4){width:13%}
.vc-table th:nth-child(5),.vc-table td:nth-child(5){width:10%}
.vc-table th:nth-child(6),.vc-table td:nth-child(6){width:11.5%}
.vc-table th:nth-child(7),.vc-table td:nth-child(7){width:13%}
.vc-table th:nth-child(8),.vc-table td:nth-child(8){width:12%}
.vc-table .vc-row-total td{background:linear-gradient(180deg,#f5f7fb 0%,#eef3f8 100%)}
.vc-table .vc-row-grand td{background:linear-gradient(180deg,#dfe9f3 0%,#d4e1ee 100%);font-weight:700}
.vc-table .vc-row-total .vc-label,.vc-table .vc-row-grand .vc-label{background:inherit}
.vc-composition-note{margin:-4px 0 2px;padding:8px 12px;border:1px solid #cfe0df;border-radius:12px;background:#f2fbfa;font-size:.75rem;line-height:1.35;color:#24524b}
.vc-money-input,.vc-text-input,.vc-textarea{width:100%;max-width:100%;box-sizing:border-box;border:none;background:transparent;padding:10px 10px;color:#0f172a;outline:none;font-size:12px}
.vc-money-input{text-align:right;font-family:var(--mono)}
.vc-text-input{font-family:var(--font)}
.vc-textarea{resize:vertical;min-height:78px;font-family:var(--font);line-height:1.45}
.vc-money-input:focus,.vc-text-input:focus,.vc-textarea:focus{background:#eefaf9;box-shadow:inset 0 0 0 2px rgba(15,118,110,.16)}
.vc-cell-edit-highlight{background:linear-gradient(180deg,#fcfffe 0%,#f3fbf8 100%)}
.vc-cell-edit-highlight .vc-money-input{box-shadow:inset 0 0 0 1px rgba(15,118,110,.22);border-radius:10px;background:#f7fffc}
.vc-cell-current{background:#f5fbfa;color:#0f766e;font-weight:800}
.vc-strong-red{color:#d62828!important;font-weight:800}
.vc-negativo{color:#c62828!important}
.vc-table-wrap-meta{background:#f8fafc}
.vc-table-meta{min-width:980px}
.vc-table-meta td{background:#fff}
.vc-table-meta .vc-meta-label{width:130px;padding:10px 12px;background:linear-gradient(180deg,#edf6f5 0%,#deeeeb 100%);font-size:11px;font-weight:700;color:#24524b;text-transform:uppercase;letter-spacing:.06em}
.vc-table-meta .vc-meta-field{background:#fff}
.vc-table-meta .vc-meta-value{padding:10px 12px;text-align:right;font-family:var(--mono);font-weight:800;background:#f8fffe;color:#0f766e}
.vc-table-wrap-summary{max-width:420px;justify-self:end}
.vc-table-summary{min-width:0}
.vc-table-summary th:first-child{text-align:left;padding-left:12px}
.vc-table-summary td{background:#fff}
.vc-table-summary .vc-row-grand td:last-child{color:#0f766e}
#tab-medicoesCliente{margin-left:-18px;margin-right:-10px;margin-top:-12px}
.mc-shell{display:grid;gap:10px;padding:8px 12px 20px 0;background:
  radial-gradient(circle at top left,rgba(14,165,233,.14),transparent 28%),
  radial-gradient(circle at top right,rgba(245,158,11,.13),transparent 24%),
  linear-gradient(180deg,#fbfcfe 0%,#edf3f8 100%)}
.mc-hero{display:grid;grid-template-columns:minmax(610px,.62fr) minmax(420px,.38fr);gap:12px}
.mc-hero-main{border:1px solid #d8e2ec;border-radius:22px;background:linear-gradient(135deg,#0f172a 0%,#164e63 54%,#0f766e 100%);padding:14px 18px;color:#fff;box-shadow:0 18px 36px rgba(15,23,42,.16)}
.mc-kicker{display:inline-flex;align-items:center;width:max-content;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.mc-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-top:9px}
.mc-title-row h3{margin:0;font-size:1.38rem;line-height:1;letter-spacing:-.03em}
.mc-title-row p{margin:5px 0 0;max-width:620px;font-size:.78rem;line-height:1.35;color:rgba(255,255,255,.82)}
.mc-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.mc-action-group,.mc-zoom-group{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:4px}
.mc-zoom-group{background:rgba(15,23,42,.22)}
.mc-zoom-label{font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82);padding:0 4px}
.mc-actions .tab-quick-btn{background:#fff;color:#0f172a;border-color:rgba(255,255,255,.62)}
.mc-actions .tab-quick-btn.primary{background:#1f57d8;color:#fff;border-color:#1f57d8}
.mc-zoom-reset{min-width:54px;justify-content:center;font-family:var(--mono);font-weight:800}
.mc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.mc-kpi{min-width:0;padding:9px 10px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.10);backdrop-filter:blur(4px);text-align:left;overflow:hidden}
.mc-kpi-action{cursor:pointer;font-family:var(--font)}
.mc-kpi-action:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.34)}
.mc-kpi span{display:block;font-size:.59rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:6px;line-height:1.15}
.mc-kpi strong{display:block;max-width:100%;font-size:clamp(.58rem,.92vw,.78rem);line-height:1.08;color:#fff;font-family:'Segoe UI',Arial,sans-serif;font-weight:900;letter-spacing:0;white-space:nowrap;overflow:visible}
.mc-kpi small{display:block;margin-top:5px;font-size:.6rem;color:rgba(255,255,255,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-gauge-card{display:flex;flex-direction:column;gap:8px;min-height:198px;border:1px solid #d8e2ec;border-radius:22px;background:#fff;padding:12px 14px;box-shadow:0 14px 30px rgba(15,23,42,.08);overflow:hidden}
.mc-gauge-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mc-gauge-head span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.mc-gauge-head select{height:28px;border:1px solid #d8e2ec;border-radius:9px;background:#f8fafc;color:#334155;font-size:.72rem;font-weight:800;padding:0 8px;outline:none}
.mc-gauge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;flex:1}
.mc-gauge-item{display:grid;grid-template-rows:minmax(116px,1fr) auto auto;align-items:end;justify-items:center;min-width:0;border:1px solid #e5edf5;border-radius:14px;background:#f7f8fa;padding:2px 4px 7px;overflow:hidden}
.mc-gauge-item canvas{display:block;width:100%;height:124px;min-width:0}
.mc-gauge-label{font-size:.66rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:#475569;line-height:1}
.mc-gauge-item strong{font-family:var(--mono);font-size:1rem;line-height:1.05;color:#0f766e;margin-top:3px}
.mc-stage-wrap{overflow:auto;border:1px solid #d8e2ec;border-radius:22px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.08)}
.mc-stage-scale{transform-origin:top left;transition:transform .15s ease}
.mc-stage{min-width:980px;padding:16px;display:grid;gap:14px}
.mc-stage-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.mc-panel-title{font-size:1rem;font-weight:900;color:#0f172a;letter-spacing:-.02em}
.mc-panel-sub{margin-top:4px;font-size:.8rem;color:#64748b}
.mc-timeline{display:flex;gap:10px;overflow:auto;padding:4px 0 10px}
.mc-time-node{display:flex;align-items:center;gap:9px;min-width:190px;padding:10px;border:1px solid #dbe4ef;border-radius:16px;background:#f8fafc}
.mc-time-dot{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:#334155;color:#fff;font-family:var(--mono);font-size:.78rem;font-weight:900;flex:0 0 36px}
.mc-time-body{display:grid;gap:2px;min-width:0}
.mc-time-body strong{font-size:.8rem;color:#0f172a}
.mc-time-body span,.mc-time-body small{font-size:.7rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-status-enviado .mc-time-dot,.mc-card.mc-status-enviado{--mc-accent:#0284c7}
.mc-status-aprovado .mc-time-dot,.mc-card.mc-status-aprovado{--mc-accent:#16a34a}
.mc-status-glosado .mc-time-dot,.mc-card.mc-status-glosado{--mc-accent:#dc2626}
.mc-status-faturado .mc-time-dot,.mc-card.mc-status-faturado{--mc-accent:#7c3aed}
.mc-status-rascunho .mc-time-dot,.mc-card.mc-status-rascunho{--mc-accent:#64748b}
.mc-time-node.mc-status-enviado .mc-time-dot{background:#0284c7}
.mc-time-node.mc-status-aprovado .mc-time-dot{background:#16a34a}
.mc-time-node.mc-status-glosado .mc-time-dot{background:#dc2626}
.mc-time-node.mc-status-faturado .mc-time-dot{background:#7c3aed}
.mc-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:12px}
.mc-card{border:1px solid #dbe4ef;border-top:4px solid var(--mc-accent,#64748b);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);padding:14px;display:grid;gap:12px}
.mc-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.mc-card-kicker{font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mc-lock-tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;background:#eff6ff;color:#1d4ed8;font-size:.58rem;letter-spacing:.06em}
.mc-lock-tag.open{background:#f0fdf4;color:#047857}
.mc-input,.mc-status-select,.mc-note{width:100%;border:1px solid #d7e0ea;border-radius:10px;background:#f8fafc;padding:8px 9px;font-size:.78rem;color:#0f172a;outline:none}
.mc-input:focus,.mc-status-select:focus,.mc-note:focus{background:#fff;border-color:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.12)}
.mc-input:disabled,.mc-status-select:disabled,.mc-note:disabled{background:#eef2f7;color:#64748b;cursor:not-allowed}
.mc-code{font-size:.95rem;font-weight:900;color:#0f172a;background:#fff;text-transform:uppercase;max-width:150px}
.mc-status-select{width:130px;font-weight:800;text-transform:uppercase;font-size:.68rem}
.mc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mc-fields label{display:grid;gap:5px}
.mc-fields span{font-size:.66rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#64748b}
.mc-money{text-align:right;font-family:var(--mono)}
.mc-card-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #edf2f7;padding-top:10px}
.mc-balance{display:grid;gap:2px}
.mc-balance span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#64748b}
.mc-balance strong{font-family:var(--mono);font-size:.95rem;color:#0f172a}
.mc-card-actions{display:flex;align-items:center;gap:6px}
.mc-lock-btn{height:32px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;color:#334155;font-size:.72rem;font-weight:800;padding:0 10px;cursor:pointer;white-space:nowrap}
.mc-lock-btn.primary{background:#1f57d8;border-color:#1f57d8;color:#fff}
.mc-lock-btn:hover{filter:brightness(.98)}
.mc-icon-btn{display:grid;place-items:center;width:32px;height:32px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;cursor:pointer}
.mc-icon-btn.danger{border-color:#fecaca;background:#fff5f5;color:#dc2626}
.mc-note{resize:vertical;min-height:64px;line-height:1.35}
.mc-empty{grid-column:1 / -1;display:grid;place-items:center;text-align:center;gap:8px;padding:42px 20px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px}
.mc-empty-ico{font-size:2.2rem}
.mc-contrato-modal{max-width:680px;width:94vw;padding:0;overflow:hidden}
.mc-contrato-intro{font-size:.84rem;color:#475569;line-height:1.45;margin-bottom:12px}
.mc-contrato-list{display:grid;gap:8px}
.mc-contrato-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dbe4ef;border-radius:12px;background:#fff;padding:12px 14px;text-align:left;cursor:pointer;transition:.15s ease}
.mc-contrato-option:hover{border-color:#0ea5e9;background:#f8fbff;box-shadow:0 8px 20px rgba(15,23,42,.07)}
.mc-contrato-option.is-total{background:#f8fafc;border-left:4px solid #0f766e}
.mc-contrato-option.is-selected{border-color:#1f57d8;box-shadow:0 0 0 3px rgba(31,87,216,.12)}
.mc-contrato-copy{display:grid;gap:3px;min-width:0}
.mc-contrato-copy strong{font-size:.9rem;color:#0f172a}
.mc-contrato-copy small{font-size:.74rem;color:#64748b}
.mc-contrato-side{display:grid;gap:4px;justify-items:end;flex:0 0 auto}
.mc-contrato-side em{font-style:normal;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0f766e}
.mc-contrato-side b{font-family:var(--mono);font-size:.9rem;color:#0f172a}
#tab-divisoesFaturamento{margin-left:-18px;margin-right:-10px}
.df-shell{display:grid;gap:16px;padding:14px 12px 20px 0;background:
  radial-gradient(circle at top left,rgba(30,64,175,.10),transparent 28%),
  radial-gradient(circle at top right,rgba(14,165,233,.10),transparent 24%),
  linear-gradient(180deg,#fbfcfe 0%,#eef4fa 100%)}
.df-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr);gap:14px}
.df-hero-copy{background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 48%,#0f766e 100%);border-radius:22px;padding:22px 26px;color:#fff;box-shadow:0 18px 36px rgba(15,23,42,.18)}
.df-kicker{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.df-hero-copy h3{margin:12px 0 8px;font-size:25px;line-height:1.04;letter-spacing:-.03em}
.df-hero-copy p{margin:0;max-width:600px;font-size:12px;line-height:1.55;color:rgba(255,255,255,.84)}
.df-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.df-kpi-card{display:grid;gap:7px;align-content:center;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #d9e2ec;box-shadow:0 10px 22px rgba(15,23,42,.07)}
.df-kpi-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.df-kpi-card strong{font-size:22px;line-height:1;color:#0f172a;letter-spacing:-.03em}
.df-panel{background:#fff;border:1px solid #d9e2ec;border-radius:22px;box-shadow:0 18px 36px rgba(15,23,42,.08);overflow:hidden}
.df-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;background:linear-gradient(180deg,#fcfdff 0%,#f6f9fc 100%);border-bottom:1px solid #e2e8f0}
.df-panel-title{font-size:17px;font-weight:800;color:#0f172a;letter-spacing:-.02em}
.df-panel-sub{margin-top:4px;font-size:12px;line-height:1.5;color:#64748b}
.df-panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.df-panel-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);font-size:20px}
.df-table-wrap{overflow:auto;padding:0 0 6px}
.df-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.df-table th,.df-table td{padding:12px 10px;border-bottom:1px solid #e2e8f0;vertical-align:middle;border-right:1px solid #e2e8f0}
.df-table th:last-child,.df-table td:last-child{border-right:none}
.df-table th{background:#f8fafc;color:#475569;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:left}
.df-table th:nth-child(1),.df-table td:nth-child(1){width:44%}
.df-table th:nth-child(2),.df-table td:nth-child(2){width:18%}
.df-table th:nth-child(3),.df-table td:nth-child(3){width:18%}
.df-table th:nth-child(4),.df-table td:nth-child(4){width:20%}
.df-table th:nth-child(2),.df-table th:nth-child(3),.df-table th:nth-child(4){text-align:center}
.df-table tbody tr:hover td{background:#fcfdff}
.df-row-total td{background:#eef4fb;font-weight:800}
.df-cell-label{font-weight:700;color:#0f172a}
.df-cell-num{text-align:right;font-family:var(--mono);color:#0f172a}
.df-cell-edit{padding:8px 10px!important}
.df-money-input{width:100%;border:1px solid #d7e0ea;border-radius:12px;background:#f8fafc;padding:9px 10px;font-size:13px;color:#0f172a;outline:none;text-align:right;font-family:var(--mono)}
.df-money-input:focus{background:#fff;border-color:#1d4ed8;box-shadow:0 0 0 4px rgba(29,78,216,.10)}
.df-negativo{color:#c62828!important}
#tab-contratosPrestadores{margin-left:-18px;margin-right:-10px}
.cp-shell{display:grid;gap:14px;padding:14px 12px 20px 0;background:
  radial-gradient(circle at top left,rgba(249,115,22,.16),transparent 28%),
  radial-gradient(circle at top right,rgba(15,118,110,.14),transparent 26%),
  linear-gradient(180deg,#fbfcfe 0%,#eff4f9 100%)}
.cp-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:12px;align-items:stretch}
.cp-hero-copy{background:linear-gradient(135deg,#0f172a 0%,#1e293b 44%,#0f766e 100%);border-radius:22px;padding:18px 24px;color:#fff;box-shadow:0 18px 36px rgba(15,23,42,.20);position:relative;overflow:hidden;min-height:124px}
.cp-hero-copy::after{content:'';position:absolute;right:-48px;top:-48px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.08)}
.cp-kicker{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cp-hero-copy h3{margin:10px 0 6px;font-size:20px;line-height:1.04;letter-spacing:-.03em}
.cp-hero-copy p{margin:0;max-width:560px;font-size:11px;line-height:1.5;color:rgba(255,255,255,.82)}
.cp-hero-badges{display:grid;grid-template-columns:1fr;gap:10px}
.cp-badge-card{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:18px;background:#fff;border:1px solid #d9e2ec;box-shadow:0 10px 22px rgba(15,23,42,.07);min-height:0}
.cp-badge-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#fff7ed,#fed7aa);font-size:19px;box-shadow:inset 0 0 0 1px rgba(249,115,22,.14)}
.cp-badge-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:5px}
.cp-badge-card strong{display:block;font-size:16px;color:#0f172a;letter-spacing:-.03em;line-height:1.1}
.cp-stack{display:grid;gap:18px}
.cp-panel{background:#fff;border:1px solid #d9e2ec;border-radius:22px;box-shadow:0 18px 36px rgba(15,23,42,.08);overflow:hidden}
.cp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:linear-gradient(180deg,#fcfdff 0%,#f6f9fc 100%);border-bottom:1px solid #e2e8f0}
.cp-panel-title{font-size:16px;font-weight:800;color:#0f172a;letter-spacing:-.02em}
.cp-panel-sub{margin-top:4px;font-size:12px;line-height:1.5;color:#64748b}
.cp-panel-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cp-panel-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#ecfeff,#ccfbf1);font-size:20px}
.cp-form-panel{overflow-x:auto}
.cp-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.cp-head-actions .btn-primary{background:linear-gradient(135deg,#0f766e,#0ea5a4);box-shadow:0 12px 24px rgba(15,118,110,.18)}
.cp-head-actions .btn-primary:hover{background:linear-gradient(135deg,#0d675f,#0c8f8e)}
.cp-head-actions .btn-ghost{background:#fff}
.cp-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;padding:12px 16px 12px;min-width:980px}
.cp-field{display:grid;gap:6px}
.cp-field.cp-field-wide{grid-column:1/-1}
.cp-col-montador{grid-column:span 3}
.cp-col-contrato{grid-column:span 2}
.cp-col-valor{grid-column:span 2}
.cp-col-faturamento{grid-column:span 3}
.cp-col-predio{grid-column:span 2}
.cp-field label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#475569}
.cp-input{width:100%;border:1px solid #d7e0ea;border-radius:14px;background:#f8fafc;padding:10px 12px;font-size:13px;color:#0f172a;outline:none;transition:.16s;font-family:var(--font);appearance:none;-webkit-appearance:none}
.cp-input:focus{background:#fff;border-color:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.12)}
.cp-input-money{font-family:var(--mono);text-align:right}
.cp-textarea{resize:vertical;min-height:62px;line-height:1.45}
.cp-empty{display:grid;place-items:center;text-align:center;padding:52px 24px;color:#64748b}
.cp-empty-ico{font-size:36px;margin-bottom:10px}
.cp-empty-title{font-size:15px;font-weight:700;color:#0f172a;margin-bottom:4px}
.cp-empty-text{max-width:320px;font-size:13px;line-height:1.55}
.cp-table-wrap{overflow:auto;padding:0 0 6px}
.cp-table{width:100%;min-width:1260px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.cp-table th,.cp-table td{padding:10px 6px;border-bottom:1px solid #e2e8f0;vertical-align:middle}
.cp-table th{background:#f8fafc;color:#475569;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-align:left;position:sticky;top:0;z-index:2;line-height:1.2}
.cp-table th:not(:last-child),.cp-table td:not(:last-child){border-right:1px solid #e2e8f0}
.cp-table th:nth-child(1),.cp-table td:nth-child(1){width:14%}
.cp-table th:nth-child(2),.cp-table td:nth-child(2){width:9%}
.cp-table th:nth-child(3),.cp-table td:nth-child(3){width:9%}
.cp-table th:nth-child(4),.cp-table td:nth-child(4){width:8%}
.cp-table th:nth-child(5),.cp-table td:nth-child(5){width:9%}
.cp-table th:nth-child(6),.cp-table td:nth-child(6){width:9%}
.cp-table th:nth-child(7),.cp-table td:nth-child(7){width:9%}
.cp-table th:nth-child(8),.cp-table td:nth-child(8){width:9%}
.cp-table th:nth-child(9),.cp-table td:nth-child(9){width:9%}
.cp-table th:nth-child(10),.cp-table td:nth-child(10){width:7%}
.cp-table th:nth-child(11),.cp-table td:nth-child(11){width:8%}
.cp-table tbody tr:hover td{background:#fcfdff}
.cp-montador-cell{display:flex;align-items:center;gap:10px}
.cp-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;font-size:17px;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(148,163,184,.12)}
.cp-avatar.servicos{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}
.cp-avatar.equipamentos{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#db2777}
.cp-montador-cell > div{display:flex;align-items:center;min-height:36px}
.cp-contrato-cell{display:flex;align-items:center;gap:10px;min-width:0}
.cp-montador-cell strong{display:block;font-size:12px;color:#0f172a;line-height:1.25}
.cp-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cp-chip-servicos{background:#eff6ff;color:#1d4ed8}
.cp-chip-equipamentos{background:#f5f3ff;color:#7c3aed}
.cp-chip-direto{background:#ecfdf5;color:#047857}
.cp-chip-stahldach{background:#ecfeff;color:#0f766e}
.cp-chip-sinal{background:#fff7ed;color:#c2410c}
.cp-chip-retencao{background:#fef2f2;color:#b91c1c}
.cp-num{text-align:right;font-family:var(--mono);font-weight:700;font-size:11px;white-space:nowrap;padding-left:6px!important}
.cp-ajuste{color:#0f766e}
.cp-atual{color:#0f172a}
.cp-negativo{color:#b91c1c}
.cp-escopo-cell{min-width:0;font-size:11px;line-height:1.3;color:#334155;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cp-row-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;min-width:96px}
.cp-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;border:1px solid #d6dee9;background:#fff;color:#0f766e;cursor:pointer;transition:.16s;font-size:11px;line-height:1;padding:0}
.cp-shell .cp-icon-btn.sgo-access-locked::after,
#modal-cp-ajustes .cp-icon-btn.sgo-access-locked::after{top:auto;right:0;bottom:0;width:10px;height:10px;border-width:1px;font-size:6px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.cp-icon-btn:hover{background:#ecfeff;border-color:#99f6e4}
.cp-icon-btn.danger{color:#b91c1c}
.cp-icon-btn.danger:hover{background:#fef2f2;border-color:#fecaca}
.cp-table td:last-child{padding-left:8px;padding-right:8px}
.cp-aj-modal-body{display:grid;gap:14px;padding:16px 18px}
.cp-aj-meta{font-size:.92rem;font-weight:700;color:#0f172a}
.cp-aj-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cp-aj-kpi-card{padding:12px 14px;border:1px solid #d9e2ec;border-radius:14px;background:#f8fafc;display:grid;gap:5px}
.cp-aj-kpi-card span{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
.cp-aj-kpi-card strong{font-size:1rem;color:#0f172a;font-family:var(--mono)}
.cp-aj-actions{display:flex;justify-content:flex-end}
.cp-aj-table-wrap{border:1px solid #d9e2ec;border-radius:16px;overflow:hidden;background:#fff}
.cp-aj-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cp-aj-table th,.cp-aj-table td{padding:10px 8px;border-bottom:1px solid #e2e8f0;vertical-align:middle}
.cp-aj-table th{background:#0f172a;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:left}
.cp-aj-table th:nth-child(1),.cp-aj-table td:nth-child(1){width:12%}
.cp-aj-table th:nth-child(2),.cp-aj-table td:nth-child(2){width:16%}
.cp-aj-table th:nth-child(3),.cp-aj-table td:nth-child(3){width:12%}
.cp-aj-table th:nth-child(4),.cp-aj-table td:nth-child(4){width:30%}
.cp-aj-table th:nth-child(5),.cp-aj-table td:nth-child(5){width:14%}
.cp-aj-table th:nth-child(6),.cp-aj-table td:nth-child(6){width:10%}
.cp-aj-table th:nth-child(7),.cp-aj-table td:nth-child(7){width:6%}
.cp-aj-input{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:0 10px;font-size:.82rem;color:#0f172a}
.cp-aj-input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.cp-aj-money{text-align:right;font-family:var(--mono)}
.cp-aj-chip{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.cp-aj-chip.aditivo{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.cp-aj-chip.distrato{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.cp-aj-row-aditivo td{background:#fcfffd}
.cp-aj-row-distrato td{background:#fffafa}
.cp-aj-empty{padding:18px;text-align:center;color:#64748b;font-size:.88rem}
.adit-row-distrato td{background:#fff7f7}
.adit-row-aditivo td{background:#f7fcfa}
.adit-actions{display:flex;align-items:center;justify-content:center;gap:6px}
.adit-chip{
  display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:5px 10px;border-radius:999px;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase
}
.adit-chip.aditivo{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.adit-chip.distrato{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.adit-total-label{font-weight:700!important;text-align:right;color:#334155;background:#f8fafc!important;position:sticky;bottom:0}
.adit-total-valor{font-weight:800!important;text-align:right;color:#0f172a;background:#f8fafc!important;position:sticky;bottom:0}
.adit-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid #fecaca;background:#fff5f5;color:#dc2626;cursor:pointer}
.adit-remove-btn:hover{background:#fee2e2}
.adit-pdf-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#2563eb;cursor:pointer}
.adit-pdf-btn:hover{background:#dbeafe}
.adit-pdf-btn.has-file{border-color:#a7f3d0;background:#ecfdf5;color:#047857}
.adit-pdf-btn.has-file:hover{background:#d1fae5}
.adit-div-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid #bfdbfe;background:#eef6ff;color:#1d4ed8;cursor:pointer;font-weight:900}
.adit-div-btn.ready{border-color:#99f6e4;background:#ecfeff;color:#0f766e}
.adit-div-btn:disabled,.adit-remove-btn:disabled{opacity:.45;cursor:not-allowed}
.adit-div-btn.sgo-access-locked::after,.adit-remove-btn.sgo-access-locked::after,.adit-pdf-btn.sgo-access-locked::after{top:auto;right:0;bottom:0;width:10px;height:10px;border-width:1px;font-size:6px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.adit-remove-btn:disabled:hover{background:#fff5f5}
.adit-pdf-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,#0284c7,#38bdf8);color:#fff;font-size:.56rem;font-weight:800;letter-spacing:-.02em;line-height:1;box-shadow:0 4px 10px rgba(2,132,199,.22)}
.adit-pdf-btn.has-file .adit-pdf-ico{background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 4px 10px rgba(34,197,94,.22)}
.adit-div-meta{font-size:.86rem;font-weight:700;color:#0f172a}
.adit-div-nota{font-size:.78rem;line-height:1.45;color:#64748b}
.adit-div-alerta{padding:10px 12px;border:1px solid #fcd34d;border-radius:10px;background:#fffbeb;font-size:.76rem;line-height:1.45;color:#92400e}
.adit-div-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.adit-div-field{display:grid;gap:6px}
.adit-div-field span{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#475569}
.adit-div-input{width:100%;height:42px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:0 12px;text-align:right;font-family:var(--mono);font-size:.84rem}
.adit-div-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.adit-div-footer-info{display:grid;gap:2px;margin-left:auto;margin-right:8px;text-align:right}
.adit-div-footer-info span{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
.adit-div-footer-info strong{font-family:var(--mono);font-size:.92rem}
.adit-div-saldo-ok{color:#047857}
.adit-div-saldo-pend{color:#b45309}
.adit-div-saldo-neg{color:#b91c1c}

@media (max-width:980px){
  .adit-kpis{grid-template-columns:repeat(2,minmax(150px,1fr))}
  .adit-hero{flex-direction:column}
  .adit-div-grid{grid-template-columns:1fr}
  .vc-table,.vc-table-meta{min-width:940px}
  .cp-hero{grid-template-columns:1fr}
  .cp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-col-montador,.cp-col-contrato,.cp-col-valor,.cp-col-faturamento,.cp-col-predio{grid-column:span 1}
  .cp-aj-kpis{grid-template-columns:1fr}
}
.local-obra-panel{overflow:hidden}
.local-obra-actions{display:flex;align-items:center;gap:8px}
.local-obra-action-ico{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;font-size:.74rem}
.local-obra-body{padding:14px 18px 10px}
.local-obra-headline{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:8px}
.local-obra-status{font-size:.82rem;color:var(--text2);background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:10px}
.local-obra-stage{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#dbeafe;min-height:70vh}
.local-obra-globo{width:100%;height:70vh;min-height:540px}
.local-obra-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:#0f172a;background:linear-gradient(180deg,rgba(219,234,254,.82),rgba(191,219,254,.92))}
.local-obra-empty.hidden{display:none}
.local-obra-empty-ico{font-size:2rem;margin-bottom:10px}
@media (max-width:900px){
  .local-obra-globo{height:58vh;min-height:420px}
  .local-obra-stage{min-height:58vh}
}

/* LEGENDA CRONOGRAMA */
.btn-warning{background:#f57c00;color:#fff;border:none}
.crono-chk{width:14px;height:14px;cursor:pointer;accent-color:var(--primary);vertical-align:middle}
.crono-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1px solid var(--border);background:var(--bg3);cursor:pointer;font-size:.75rem;font-weight:700;color:var(--primary);line-height:1;padding:0;transition:all .15s}
.crono-collapse-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
tr:has(.crono-chk:checked){background:var(--accent-lt)!important}
.import-val-ok{color:#2e7d32;font-size:.82rem;display:flex;align-items:center;gap:6px;padding:5px 10px;background:#e8f5e9;border-radius:6px;border:1px solid #a5d6a7}
.import-val-warn{color:#e65100;font-size:.82rem;display:flex;align-items:center;gap:6px;padding:5px 10px;background:#fff3e0;border-radius:6px;border:1px solid #ffcc80}
.import-val-err{color:#c62828;font-size:.82rem;display:flex;align-items:center;gap:6px;padding:5px 10px;background:#ffebee;border-radius:6px;border:1px solid #ef9a9a}
.import-val-preview td,.import-val-preview th{border:1px solid var(--border);padding:3px 7px}
.crono-data-edit{cursor:pointer;position:relative}
.crono-data-edit:hover{background:var(--accent-lt)!important;color:var(--primary)!important}
.crono-data-edit::after{content:'✎';font-size:.65rem;opacity:0;margin-left:3px;color:var(--primary)}
.crono-data-edit:hover::after{opacity:1}
.crono-legend{display:flex;align-items:center;gap:16px;padding:10px 14px;background:var(--bg3);border-bottom:1px solid var(--border);font-size:11px;color:var(--text3);flex-wrap:wrap}
.leg-item{display:flex;align-items:center;gap:5px}
.leg-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}

/* EMPTY */
.empty{text-align:center;padding:60px 20px;color:var(--text3)}
.ei{font-size:44px;margin-bottom:14px;opacity:.4}
.empty p{font-size:13px;margin-bottom:18px}

/* TOAST */
#toast{position:fixed;bottom:28px;right:28px;background:var(--bg2);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:9px;padding:13px 18px;font-size:13px;color:var(--text);z-index:999;transform:translateY(80px);opacity:0;transition:.3s;max-width:360px;box-shadow:var(--shadow-lg);font-weight:500}
#toast.show{transform:none;opacity:1}
#toast.error{border-left-color:var(--red)}
#toast.info{border-left-color:var(--accent)}
#toast.warning{border-left-color:#f59e0b;background:#fffbeb}

.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.ml-auto{margin-left:auto}.mb-4{margin-bottom:16px}.ov-x{overflow-x:auto}
@media(max-width:980px){.df-hero{grid-template-columns:1fr}.df-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){aside{display:none}.kpi-strip{grid-template-columns:1fr 1fr}.home-banner,.grid-section{padding:20px 16px}.tab-body{padding:16px}.obra-bar,.obra-tabs{padding-left:16px;padding-right:16px}.res-kpi-row{grid-template-columns:1fr}.vc-wrap{padding:14px}#tab-divisoesFaturamento{margin-left:0;margin-right:0}.df-shell{padding:14px}.df-kpis{grid-template-columns:1fr}.df-table{min-width:760px}#tab-contratosPrestadores{margin-left:0;margin-right:0}.cp-shell{padding:14px}.cp-hero-copy h3{font-size:22px}.cp-form-grid{grid-template-columns:1fr;min-width:0}.cp-head-actions{width:100%;justify-content:stretch;flex-direction:column}.cp-table{min-width:1260px}.cp-head-actions .btn{justify-content:center}.cp-aj-table{min-width:980px}}

/* ── CURVA S ─────────────────────────── */
#tab-curvas .btn-sm { font-size:11px; padding:5px 12px; }

/* ── PRINT ──────────────────────────── */
/* Impressão: usa window.open isolado — sem @media print necessário */
/* ── Avanço: botões rápidos 0/20/50/100 ─── */
.av-cell-wrap { display:flex; flex-direction:column; gap:4px; align-items:flex-start; min-width:160px; }
.av-quick-btns { display:flex; gap:3px; flex-wrap:nowrap; }
.av-qbtn {
  padding:2px 6px; border-radius:5px; font-size:.7rem; font-weight:700; cursor:pointer;
  border:1.5px solid var(--border); background:var(--bg3); color:var(--text2);
  transition:all .12s; line-height:1.4; white-space:nowrap;
}
.av-qbtn:hover { background:var(--accent-lt); border-color:var(--primary); color:var(--primary); }
.av-qbtn-active { color:#fff !important; }
.av-q0.av-qbtn-active   { background:#78909c !important; border-color:#78909c !important; }
.av-q20.av-qbtn-active  { background:#f57c00 !important; border-color:#f57c00 !important; }
.av-q50.av-qbtn-active  { background:#1565c0 !important; border-color:#1565c0 !important; }
.av-q100.av-qbtn-active { background:#2e7d32 !important; border-color:#2e7d32 !important; }
.av-input-access-wrap{position:relative;display:inline-flex;flex:0 0 auto}
.av-qbtn.sgo-access-locked::after,.av-input-access-wrap.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.btn-sm[data-lob-alcada].sgo-access-locked::after,#lob-board [data-lob-alcada].sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.btn-sm[data-res-alcada].sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.mbar-fill.real { transition:width .3s ease; }

/* ── Paleta de cores rápida ── */
.sgo-palette-wrap { position:relative; display:inline-flex; align-items:center; gap:4px; }
.sgo-palette-popup {
  display:none; position:absolute; top:100%; left:0; z-index:999;
  background:#fff; border:1.5px solid var(--border); border-radius:10px;
  box-shadow:0 8px 24px #0003; padding:10px; width:224px; margin-top:4px;
}
.sgo-palette-popup.open { display:block; }
.sgo-palette-grid { display:grid; grid-template-columns:repeat(10,1fr); gap:3px; margin-bottom:8px; }
.sgo-palette-cell {
  width:18px; height:18px; border-radius:3px; cursor:pointer; border:1.5px solid transparent;
  transition:transform .1s, border-color .1s;
}
.sgo-palette-cell:hover { transform:scale(1.25); border-color:#333; }
.sgo-palette-rgb-row { display:flex; align-items:center; gap:6px; }
.sgo-palette-rgb-btn {
  font-size:.72rem; padding:2px 8px; border:1px solid var(--border); border-radius:5px;
  background:var(--surface); cursor:pointer; color:var(--text2);
}
.sgo-palette-rgb-btn:hover { background:var(--accent-lt); }

/* Scroll das subunidades (modal camada) mais espesso para facilitar arraste */
#cam-subativ-lista::-webkit-scrollbar,
#camDiag-subativ-lista::-webkit-scrollbar { width: 12px; }
#cam-subativ-lista::-webkit-scrollbar-thumb,
#camDiag-subativ-lista::-webkit-scrollbar-thumb { background:#9aa6b8;border-radius:10px;border:2px solid transparent;background-clip:padding-box; }
#cam-subativ-lista::-webkit-scrollbar-track,
#camDiag-subativ-lista::-webkit-scrollbar-track { background:#e9edf3;border-radius:10px; }
#cam-subativ-lista,
#camDiag-subativ-lista { scrollbar-width:auto; scrollbar-color:#9aa6b8 #e9edf3; }

/* Proposta Comercial */
.prop-shell{display:flex;flex-direction:column;gap:8px}
.prop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px 10px;box-shadow:var(--shadow-sm);position:sticky;top:60px;z-index:35}
.prop-title{display:flex;align-items:center;gap:10px;min-width:0;max-width:340px;flex:0 1 340px}
.prop-title-ico{width:34px;height:34px;border-radius:10px;background:#fff7ed;color:#c2410c;display:grid;place-items:center;font-size:1.05rem;border:1px solid #fed7aa}
.prop-title-main{font-weight:800;color:var(--text);font-size:.95rem}
.prop-title-sub{font-size:.74rem;color:var(--text3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prop-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;justify-content:flex-end;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;flex:1 1 auto;min-width:0}
.prop-toolbar-mark{display:flex;align-items:center;padding:0 2px;flex:0 0 auto}
.prop-select{border:1px solid var(--border);border-radius:8px;padding:6px 9px;background:#fff;font-size:.78rem;color:var(--text)}
.prop-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:4px;align-items:start}
.prop-side{
  display:flex;flex-direction:column;gap:12px;min-width:0;position:sticky;top:10px;align-self:start;
  max-height:calc(100vh - 168px);overflow:auto;padding-right:2px
}
.prop-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:var(--shadow-sm)}
.prop-card-title{font-weight:800;font-size:.84rem;margin-bottom:9px;color:var(--text)}
.prop-search-row{display:flex;gap:6px;align-items:center}
.prop-search-row .form-input{height:33px;font-size:.8rem}
.prop-help{font-size:.73rem;color:var(--text3);margin-top:8px;line-height:1.35}
.prop-results{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:260px;overflow:auto}
.prop-result{text-align:left;border:1px solid var(--border);border-radius:9px;background:#f8fafc;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.prop-result:hover{border-color:#93c5fd;background:#eff6ff}
.prop-result strong{font-size:.75rem;color:#1d4ed8}
.prop-result span{font-size:.74rem;color:var(--text2);line-height:1.35}
.prop-mark-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.prop-mark-row-toolbar{margin-bottom:0;gap:6px;align-items:center;flex-wrap:nowrap}
.prop-mark-color{
  width:22px;height:22px;border-radius:6px;border:2px solid #fff;box-shadow:0 0 0 1px var(--border);
  cursor:pointer;transition:transform .12s,box-shadow .12s;flex:0 0 auto
}
.prop-mark-color:hover{transform:scale(1.08)}
.prop-mark-color.is-active{box-shadow:0 0 0 2px #1d4ed8,0 0 0 1px var(--border)}
.prop-mark-color.sgo-access-locked::after{top:auto;right:-1px;bottom:-1px;width:8px;height:8px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.prop-toolbar-icon{
  width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;border-radius:8px
}
.prop-toolbar-icon.sgo-access-locked::after{top:auto;right:0;bottom:0;width:10px;height:10px;border-width:1px;font-size:6px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.prop-toolbar-glyph{font-size:1rem;line-height:1;font-weight:800}
.prop-mark-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.prop-notas{width:100%;min-height:150px;resize:vertical;border:1px solid var(--border);border-radius:9px;padding:9px;font-size:.8rem;line-height:1.45}
.prop-view{background:#eef2f7;border:1px solid var(--border);border-radius:12px;height:calc(100vh - 168px);min-height:620px;overflow:hidden;position:relative}
.prop-pdf-viewer{
  width:100%;height:100%;min-height:620px;background:#dde4ee;overflow:auto;
  padding:6px 6px 14px 2px;scrollbar-color:#94a3b8 #e2e8f0;
}
.prop-pdf-viewer.mark-mode,.prop-pdf-viewer.mark-mode .prop-text-layer span,.prop-pdf-viewer.erase-mode,.prop-pdf-viewer.erase-mode .prop-text-layer span{cursor:crosshair}
.prop-pdf-page{
  position:relative;margin:0 0 10px 0;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.14);
  border-radius:4px;overflow:hidden
}
.prop-pdf-canvas{display:block;width:100%;height:auto}
.prop-text-layer,.prop-highlight-layer{
  position:absolute;inset:0;overflow:hidden;transform-origin:0 0
}
.prop-text-layer{color:transparent}
.prop-text-layer span{
  position:absolute;white-space:pre;transform-origin:0 0;user-select:text;-webkit-user-select:text;
  color:transparent;cursor:text;line-height:1
}
.prop-text-layer span.prop-hit{background:rgba(255,243,0,.18);color:transparent;border-radius:2px}
.prop-highlight-layer{pointer-events:none}
.prop-highlight-box{
  position:absolute;border-radius:2px;mix-blend-mode:multiply;opacity:.55
}
.prop-erase-box{
  position:absolute;border:1px dashed rgba(15,118,110,.85);background:rgba(255,255,255,.12);
  box-shadow:0 0 0 1px rgba(255,255,255,.5) inset;pointer-events:none
}
.prop-search-box{
  position:absolute;border-radius:2px;background:rgba(255,243,0,.55);box-shadow:0 0 0 1px rgba(245,158,11,.75) inset;
}
.prop-empty{height:100%;min-height:620px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--text3);text-align:center;font-weight:600}
.prop-empty-ico{font-size:3rem;filter:grayscale(.2)}
@media(max-width:980px){.prop-grid{grid-template-columns:1fr}.prop-side{position:static;max-height:none;overflow:visible;padding-right:0}.prop-view,.prop-pdf-viewer,.prop-empty{min-height:520px;height:auto}.prop-toolbar{align-items:flex-start;flex-direction:column}.prop-actions{justify-content:flex-start;width:100%}.prop-mark-row-toolbar{flex-wrap:nowrap}}

/* CNO */
.cno-shell{display:flex;flex-direction:column;gap:10px}
.cno-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow-sm)}
.cno-title{display:flex;align-items:center;gap:12px;min-width:0}
.cno-title-ico{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;display:grid;place-items:center;font-size:1.15rem;border:1px solid #93c5fd}
.cno-title-main{font-weight:800;color:var(--text);font-size:1rem}
.cno-title-sub{font-size:.76rem;color:var(--text3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cno-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;justify-content:flex-end;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;flex:1 1 auto;min-width:0}
.cno-export-area{background:#eef3f9;border:1px solid #d7e0ea;border-radius:16px;padding:10px}
.cno-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;align-items:start}
.cno-side{position:sticky;top:10px;align-self:start;width:100%;min-width:0}
.cno-card{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:var(--shadow-sm);display:grid;gap:14px}
.cno-card-title{font-weight:800;font-size:.92rem;color:var(--text)}
.cno-field{display:grid;gap:7px}
.cno-field label{font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#475569}
.cno-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.cno-copy-btn{width:38px;height:38px;border:none;border-radius:10px;background:linear-gradient(135deg,#e0ecff,#bfdbfe);color:#1d4ed8;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:inset 0 0 0 1px #93c5fd}
.cno-copy-btn:hover{background:linear-gradient(135deg,#dbeafe,#93c5fd)}
.cno-copy-btn.sgo-access-locked::after{top:auto;right:0;bottom:0;width:10px;height:10px;border-width:1px;font-size:6px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.cno-readonly{width:100%;height:42px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:0 12px;font-size:.82rem;color:#0f172a}
.cno-readonly-area{height:auto;min-height:84px;padding:10px 12px;resize:none;line-height:1.45}
.cno-view{width:100%;min-width:0;background:#eef3f9;border:1px solid var(--border);border-radius:14px;min-height:760px;overflow:hidden;position:relative}
.cno-pdf-viewer{width:100%;height:100%;min-height:760px;background:#dde4ee;overflow:auto;padding:10px}
.cno-pdf-page{margin:0 auto 12px;background:#fff;box-shadow:0 2px 12px rgba(15,23,42,.14);border-radius:4px;overflow:hidden;width:fit-content;max-width:100%}
.cno-pdf-canvas{display:block;max-width:100%;height:auto}
.cno-empty,.cno-loading{min-height:760px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--text3);text-align:center;font-weight:600;padding:24px}
.cno-empty-ico{font-size:3rem;filter:grayscale(.15)}
@media(max-width:980px){.cno-grid{grid-template-columns:1fr}.cno-side{position:static}.cno-view,.cno-pdf-viewer,.cno-empty,.cno-loading{min-height:520px;height:auto}.cno-toolbar{align-items:flex-start;flex-direction:column}.cno-actions{justify-content:flex-start;width:100%}}

/* Prazo da Obra */
.po-shell{display:flex;flex-direction:column;gap:18px;padding:6px 2px 18px}
.po-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:16px;align-items:stretch}
.po-hero-copy{position:relative;overflow:hidden;background:linear-gradient(135deg,#172554 0%,#0f766e 100%);border-radius:26px;padding:28px 30px;box-shadow:0 26px 50px rgba(15,23,42,.16);color:#fff;min-height:210px}
.po-hero-copy::before{content:"";position:absolute;right:-42px;top:-34px;width:170px;height:170px;border-radius:999px;background:rgba(255,255,255,.12)}
.po-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.po-hero-copy h3{margin:18px 0 10px;font-size:2.15rem;line-height:1.05;color:#fff}
.po-hero-copy p{max-width:700px;margin:0;color:rgba(255,255,255,.92);font-size:1rem;line-height:1.65}
.po-hero-side{display:flex}
.po-gauge-card{width:100%;background:linear-gradient(180deg,#f8fbff 0%,#eef5fb 100%);border:1px solid #d7e3f0;border-radius:26px;padding:18px;box-shadow:0 16px 36px rgba(15,23,42,.10);display:grid;place-items:center}
.po-gauge{position:relative;width:210px;height:210px;display:grid;place-items:center}
.po-gauge-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#14b8a6 0 var(--po-progress),#dbe7f3 var(--po-progress) 100%)}
.po-gauge-ring::after{content:"";position:absolute;inset:18px;border-radius:50%;background:linear-gradient(180deg,#ffffff,#f5f9ff);box-shadow:inset 0 0 0 1px #d7e3f0}
.po-gauge-core{position:relative;display:grid;gap:6px;text-align:center;z-index:1}
.po-gauge-core strong{font-size:2.4rem;line-height:1;color:#0f172a}
.po-gauge-core span{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.po-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.po-kpi-card{background:#fff;border:1px solid #d8e2ee;border-radius:20px;padding:18px 20px;box-shadow:0 14px 30px rgba(15,23,42,.08);display:grid;gap:8px}
.po-kpi-label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.po-kpi-card strong{font-size:1.55rem;line-height:1.15;color:#0f172a}
.po-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;align-items:start}
.po-side-stack{display:grid;gap:16px}
.po-panel{background:#fff;border:1px solid #d8e2ee;border-radius:24px;padding:22px;box-shadow:0 18px 40px rgba(15,23,42,.08)}
.po-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.po-panel-title{font-size:1.08rem;font-weight:800;color:#0f172a}
.po-panel-sub{margin-top:4px;font-size:.82rem;line-height:1.5;color:#64748b}
.po-empty{display:grid;place-items:center;align-content:center;gap:10px;min-height:340px;text-align:center;color:#64748b}
.po-empty-ico{font-size:3rem}
.po-empty-title{font-size:1rem;font-weight:800;color:#0f172a}
.po-empty-text{max-width:420px;line-height:1.55}
.po-legend{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 16px;color:#475569;font-size:.78rem;font-weight:700}
.po-legend span{display:inline-flex;align-items:center;gap:8px}
.po-dot{width:12px;height:12px;border-radius:999px;display:inline-block}
.po-dot.dot-elapsed{background:#14b8a6}
.po-dot.dot-remaining{background:#d7e3f0}
.po-dot.dot-today{background:#f97316}
.po-track-card{background:linear-gradient(180deg,#f8fbff 0%,#f2f7fc 100%);border:1px solid #d9e6f2;border-radius:22px;padding:20px}
.po-track-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.po-track-center,.po-track-end{text-align:center}
.po-track-end{text-align:right}
.po-track-label{font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.po-track-meta strong{display:block;margin-top:6px;font-size:1.16rem;color:#0f172a}
.po-timeline{margin-top:18px}
.po-timeline-bar{position:relative;height:22px;border-radius:999px;background:#dce7f2;overflow:hidden;box-shadow:inset 0 1px 3px rgba(15,23,42,.10)}
.po-timeline-fill{position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,#14b8a6,#0f766e);border-radius:999px}
.po-timeline-today{position:absolute;top:-6px;bottom:-6px;width:4px;background:#f97316;border-radius:999px;box-shadow:0 0 0 5px rgba(249,115,22,.16);left:0%}
.po-scale{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:.78rem;font-weight:700;color:#64748b}
.po-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.po-milestone{border:1px solid #d8e2ee;border-radius:18px;padding:16px;background:#fff}
.po-milestone-tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#ecfeff;color:#0f766e;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.po-milestone strong{display:block;margin-top:12px;font-size:1.1rem;color:#0f172a}
.po-milestone small{display:block;margin-top:6px;color:#64748b;line-height:1.45}
.po-summary-list{display:grid;gap:12px}
.po-summary-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border:1px solid #dbe5ef;border-radius:16px;background:linear-gradient(180deg,#f9fbfe,#f3f8fd)}
.po-summary-item span{font-size:.86rem;font-weight:700;color:#475569}
.po-summary-item strong{font-size:1.05rem;color:#0f172a}
.po-month-strip{display:grid;gap:12px}
.po-month-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid #dbe5ef;border-radius:16px;background:#fff}
.po-month-row{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;white-space:nowrap;min-width:0}
.po-month-pill strong{font-size:.92rem;color:#0f172a}
.po-month-pill span{font-size:.78rem;color:#64748b;line-height:1.2}
.po-month-meter{display:grid;gap:6px;justify-items:end}
.po-month-bar{width:92px;min-width:92px;height:8px;border-radius:999px;background:#dce7f2;overflow:hidden}
.po-month-bar > i{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#14b8a6)}
.po-month-meter small{font-size:.72rem;font-weight:800;letter-spacing:.03em;color:#64748b}
@media(max-width:1100px){.po-hero,.po-grid{grid-template-columns:1fr}.po-hero-side{justify-content:center}.po-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.po-shell{padding:4px 0 14px}.po-hero-copy{padding:22px 20px;min-height:auto}.po-hero-copy h3{font-size:1.8rem}.po-kpis,.po-track-meta,.po-milestones,.po-month-pill{grid-template-columns:1fr}.po-track-center,.po-track-end{text-align:left}.po-panel{padding:18px}.po-gauge{width:180px;height:180px}.po-month-row{flex-wrap:wrap;white-space:normal}.po-month-meter{justify-items:start}}

/* Particularidades */
.pt-shell{display:flex;flex-direction:column;gap:18px;padding:8px 2px 20px}
.pt-banner{background:
  radial-gradient(circle at top right, rgba(56,189,248,.22), transparent 28%),
  linear-gradient(135deg,#fff8ef 0%,#f8fbff 52%,#eef6ff 100%);
  border:1px solid #d9e5f2;border-radius:24px;padding:14px 18px;box-shadow:0 14px 30px rgba(15,23,42,.07)}
.pt-banner-grid{display:grid;grid-template-columns:minmax(0,.98fr) minmax(250px,.82fr);gap:12px;align-items:center}
.pt-kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:#fff;color:#9a3412;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 14px rgba(154,52,18,.08)}
.pt-intro h3{margin:10px 0 6px;font-size:1.32rem;line-height:1.02;color:#0f172a}
.pt-intro p{margin:0;max-width:620px;color:#475569;font-size:.84rem;line-height:1.45}
.pt-stats{display:grid;gap:8px}
.pt-stat-card{background:rgba(255,255,255,.92);border:1px solid #dbe5ef;border-radius:18px;padding:10px 14px;box-shadow:0 10px 22px rgba(15,23,42,.05);display:grid;gap:2px}
.pt-stat-label{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.pt-stat-card strong{font-size:1rem;color:#0f172a}
.pt-board{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;align-items:start}
.pt-capture,.pt-filter-card,.pt-timeline-panel{background:#fff;border:1px solid #d9e5f2;border-radius:24px;box-shadow:0 18px 40px rgba(15,23,42,.07)}
.pt-capture{padding:22px}
.pt-capture-head,.pt-timeline-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.pt-panel-title{font-size:1.02rem;font-weight:800;color:#0f172a}
.pt-panel-sub{margin-top:4px;font-size:.82rem;line-height:1.5;color:#64748b}
.pt-capture-actions{display:flex;gap:10px;flex-wrap:wrap}
.pt-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.pt-field{display:grid;gap:7px}
.pt-field label{font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#475569}
.pt-input{width:100%;height:44px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;padding:0 14px;font-size:.88rem;color:#0f172a}
.pt-textarea{height:auto;min-height:42px;padding:8px 14px;resize:vertical}
.pt-field-wide{grid-column:1 / -1}
.pt-sidebar{display:grid;gap:16px}
.pt-filter-card{padding:18px}
.pt-filter-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pt-filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.pt-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;font-size:.78rem;font-weight:800;border:1px solid transparent;cursor:pointer;transition:transform .12s, box-shadow .12s, border-color .12s}
.pt-pill:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.10)}
.pt-pill.is-active{box-shadow:0 0 0 2px rgba(15,23,42,.10) inset, 0 10px 18px rgba(15,23,42,.08)}
.pt-pill strong{font-size:.84rem}
.pt-timeline-panel{padding:22px}
.pt-list{display:grid;gap:10px;margin-top:16px}
.pt-item{display:grid;grid-template-columns:6px minmax(0,1fr);background:#fff;border:1px solid #dbe5ef;border-radius:18px;overflow:hidden;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.pt-item-rail{min-height:100%}
.pt-item-body{padding:12px 14px}
.pt-item-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.pt-item-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pt-item-cat{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.pt-item-date{font-size:.76rem;font-weight:700;color:#64748b}
.pt-item-actions{display:flex;gap:8px}
.pt-icon-btn{width:30px;height:30px;border:1px solid #dbe5ef;border-radius:9px;background:#fff;cursor:pointer}
.pt-icon-btn.danger{color:#dc2626}
.pt-icon-btn.sgo-access-locked::after{top:auto;right:0;bottom:0;width:10px;height:10px;border-width:1px;font-size:6px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.pt-item-line{display:flex;align-items:center;gap:10px;min-width:0;margin-top:8px}
.pt-item h4{margin:0;flex:0 0 auto;font-size:.94rem;color:#0f172a;white-space:nowrap}
.pt-item p{margin:0;min-width:0;flex:1 1 auto;color:#475569;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-empty{display:grid;place-items:center;align-content:center;gap:10px;min-height:260px;text-align:center;color:#64748b}
.pt-empty-ico{font-size:3rem}
.pt-empty-title{font-size:1rem;font-weight:800;color:#0f172a}
.pt-empty-text{max-width:460px;line-height:1.55}
@media(max-width:1100px){.pt-banner-grid,.pt-board{grid-template-columns:1fr}.pt-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.pt-shell{padding:4px 0 14px}.pt-banner,.pt-capture,.pt-filter-card,.pt-timeline-panel{padding:18px}.pt-intro h3{font-size:1.7rem}.pt-form-grid,.pt-stats{grid-template-columns:1fr}.pt-capture-head,.pt-timeline-head,.pt-item-top,.pt-item-line{flex-direction:column;align-items:flex-start}.pt-capture-actions{width:100%}.pt-capture-actions .btn{justify-content:center}.pt-item p{white-space:normal;overflow:visible;text-overflow:clip}}

/* Diario de Bordo */
.db-shell{display:grid;gap:14px;padding:0 2px 18px;margin-top:-4px}
.db-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:12px;align-items:stretch;padding:16px 18px;border:1px solid #d9e5f2;border-radius:22px;background:linear-gradient(135deg,#f8faff 0%,#eef2ff 48%,#f8fafc 100%);box-shadow:0 14px 28px rgba(15,23,42,.07)}
.db-hero-copy{display:grid;align-content:center;gap:7px}
.db-kicker{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;width:max-content}
.db-hero-copy h3{margin:0;font-size:1.6rem;line-height:1;color:#0f172a}
.db-hero-copy p{margin:0;max-width:700px;color:#475569;font-size:.84rem;line-height:1.45}
.db-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.db-kpi-card{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #dbe5ef;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.db-kpi-card span{font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#64748b}
.db-kpi-card strong{font-size:1.28rem;color:#0f172a}
.db-kpi-card.warn strong{color:#b45309}
.db-kpi-card.info strong{color:#1d4ed8}
.db-kpi-card.ok strong{color:#047857}
.db-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;align-items:start}
.db-panel,.db-filter-card,.db-list-panel{background:#fff;border:1px solid #d9e5f2;border-radius:24px;box-shadow:0 18px 40px rgba(15,23,42,.07)}
.db-panel{padding:22px}
.db-filter-card,.db-list-panel{padding:18px}
.db-panel-head,.db-filter-head,.db-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.db-list-actions{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}
.db-panel-title{font-size:1.02rem;font-weight:800;color:#0f172a}
.db-panel-sub{margin:4px 0 0;font-size:.82rem;line-height:1.5;color:#64748b}
.db-panel-actions{display:flex;gap:10px;flex-wrap:nowrap;justify-content:flex-end;align-items:center}
.db-btn-clear{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border:1px solid #b91c1c;box-shadow:0 12px 24px rgba(220,38,38,.22);font-weight:800}
.db-btn-clear:hover{background:linear-gradient(135deg,#b91c1c,#dc2626);color:#fff;transform:translateY(-1px)}
.db-form-grid,.db-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.db-form-grid{margin-top:18px}
.db-filter-grid{margin-top:14px}
.db-field{display:grid;gap:7px}
.db-field span,.db-photos-title{font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#475569}
.db-input{width:100%;height:44px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;padding:0 14px;font-size:.88rem;color:#0f172a}
.db-textarea{height:auto;min-height:94px;padding:10px 14px;resize:vertical}
.db-field-wide{grid-column:1 / -1}
.db-photos-box{margin-top:18px;padding:16px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc}
.db-photos-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.db-photos-head p{margin:4px 0 0;font-size:.82rem;color:#64748b}
.db-fotos-empty{margin-top:12px;font-size:.84rem;color:#64748b}
.db-fotos-lista{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.db-foto-chip{display:flex;align-items:center;gap:0;border:1px solid #dbe5ef;border-radius:12px;background:#fff;overflow:hidden}
.db-foto-chip-main,.db-foto-chip-remove{border:none;background:#fff;cursor:pointer}
.db-foto-chip-main{padding:10px 12px;font-size:.82rem;color:#334155}
.db-foto-chip-remove{padding:10px 12px;color:#dc2626;border-left:1px solid #e2e8f0}
.db-side{display:grid;gap:16px}
.db-nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;margin-bottom:8px;padding:14px 16px;border:1px solid #dbe5ef;border-radius:20px;background:
  radial-gradient(circle at center top, rgba(59,130,246,.10), transparent 42%),
  linear-gradient(180deg,#f8fbff,#fff)}
.db-nav-btn{width:38px;min-width:38px;height:38px;border:none;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;cursor:pointer;box-shadow:0 8px 14px rgba(37,99,235,.18);display:grid;place-items:center;padding:0}
.db-nav-btn span{font-size:.9rem;font-weight:900;line-height:1}
.db-nav-btn:hover{transform:translateY(-2px) scale(1.01)}
.db-nav-btn:disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;box-shadow:none;transform:none}
.db-nav-center{display:grid;justify-items:center;gap:5px;flex:1;text-align:center;padding:10px 14px;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid #e2e8f0;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.db-nav-center strong{font-size:1.1rem;color:#0f172a}
.db-nav-center span{font-size:.81rem;color:#64748b;line-height:1.4;max-width:420px}
.db-lista{display:grid;gap:12px;margin-top:14px}
.db-item{display:grid;gap:12px;padding:18px;border:1px solid #dbe5ef;border-radius:22px;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 10px 22px rgba(15,23,42,.05)}
.db-item-focus{position:relative;border-color:#93c5fd;box-shadow:0 22px 38px rgba(37,99,235,.13), inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden}
.db-item-focus::before{content:"Ocorrência em foco";position:absolute;top:0;right:52px;padding:6px 10px;border-radius:0 0 0 14px;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;font-size:.56rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 8px 20px rgba(37,99,235,.22);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.db-item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.db-status-tag,.db-area-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.db-area-tag{background:#e2e8f0;color:#334155}
.db-meta-text{font-size:.76rem;font-weight:700;color:#64748b}
.db-item-actions{display:flex;gap:8px}
.db-icon-btn{width:32px;height:32px;border:1px solid #dbe5ef;border-radius:10px;background:#fff;cursor:pointer}
.db-icon-btn.danger{color:#dc2626}
#tab-diarioBordo [data-db-alcada].db-icon-btn.sgo-access-locked::after,
#tab-diarioBordo [data-db-alcada].db-foto-chip-remove.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.db-item-title{margin:0;padding-right:110px;font-size:1.06rem;line-height:1.4;color:#0f172a}
.db-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.db-item-block{padding:12px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}
.db-item-block span{display:block;margin-bottom:6px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.db-item-block p{margin:0;color:#334155;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.db-item-foot{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:#475569}
.db-item-foot strong{color:#0f172a}
.db-item-photos{display:flex;flex-wrap:wrap;gap:10px}
.db-item-photo-btn{padding:9px 12px;border:1px solid #dbe5ef;border-radius:12px;background:#fff;color:#334155;font-size:.8rem;cursor:pointer;box-shadow:0 6px 14px rgba(15,23,42,.05)}
.db-empty{display:grid;place-items:center;align-content:center;gap:10px;min-height:260px;text-align:center;color:#64748b}
.db-empty-ico{font-size:3rem}
.db-empty-title{font-size:1rem;font-weight:800;color:#0f172a}
.db-empty-text{max-width:420px;line-height:1.55}
@media(max-width:1100px){.db-hero,.db-grid{grid-template-columns:1fr}.db-hero-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.db-shell{padding:0 0 14px;margin-top:-2px}.db-hero,.db-panel,.db-filter-card,.db-list-panel{padding:16px}.db-hero-copy h3{font-size:1.45rem}.db-hero-kpis,.db-form-grid,.db-filter-grid,.db-item-grid{grid-template-columns:1fr}.db-panel-head,.db-filter-head,.db-list-head,.db-photos-head,.db-item-head,.db-nav-wrap{flex-direction:column;align-items:flex-start}.db-panel-actions{width:100%;justify-content:flex-end}.db-panel-actions .btn{width:auto;justify-content:center}.db-list-actions{width:100%;justify-content:flex-end}.db-nav-center{justify-items:flex-start;text-align:left;width:100%}.db-nav-btn{width:38px;min-width:38px;height:38px;display:grid;place-items:center}.db-item-title{padding-right:0}.db-item-focus::before{position:static;width:max-content;border-radius:999px}}
.ll-shell .db-kicker{background:#fef3c7;color:#b45309}
.ll-shell .db-hero{background:linear-gradient(135deg,#fffaf0 0%,#fff7ed 48%,#f8fafc 100%)}
.ll-shell .db-nav-btn{background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 8px 14px rgba(245,158,11,.22)}
.ll-shell .db-item-focus{border-color:#fdba74;box-shadow:0 22px 38px rgba(245,158,11,.14), inset 0 1px 0 rgba(255,255,255,.8)}
.ll-shell .ll-item-focus::before{content:"Lição em foco";background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 8px 20px rgba(245,158,11,.22)}
.ll-shell{display:grid;gap:14px;padding:0 2px 18px;margin-top:-4px}
.ll-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 16px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.ll-topbar-copy{display:grid;gap:6px}
.ll-kicker{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#fef3c7;color:#b45309;font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;width:max-content}
.ll-topbar-copy h3{margin:0;font-size:1.35rem;line-height:1;color:#0f172a}
.ll-topbar-copy p{margin:0;color:#64748b;font-size:.84rem;line-height:1.45;max-width:720px}
.ll-stats{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px;min-width:460px}
.ll-stat{padding:10px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.ll-stat span{display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.ll-stat strong{display:block;margin-top:4px;font-size:1.1rem;color:#0f172a}
.ll-form-wrap{display:grid;gap:14px}
.ll-section{padding:16px 18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.ll-form-head-copy{display:grid;gap:4px}
.ll-head-title{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.ll-head-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:12px}
.ll-head-toggle:hover{background:#fff7ed}
.ll-head-chevron{display:inline-flex;align-items:center;justify-content:center;width:34px;color:#b45309;font-size:1.7rem;font-weight:900;line-height:1}
.ll-inline-actions{display:inline-flex;align-items:center;gap:8px;margin-left:6px}
.ll-form-body{display:grid;gap:0}
.ll-section.is-collapsed .ll-form-body{display:none}
.ll-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ll-toolbar-copy{display:grid;gap:4px}
.ll-filters{display:grid;grid-template-columns:1.2fr repeat(5,minmax(0,1fr)) auto;gap:10px;margin-top:14px}
.ll-search-note{margin-top:10px;font-size:.8rem;color:#64748b}
.ll-table-wrap{margin-top:12px;overflow-x:hidden;overflow-y:auto;border:1px solid #e2e8f0;border-radius:16px}
.ll-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff}
.ll-table thead th{position:sticky;top:0;z-index:1;padding:12px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.7rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#475569;text-align:left;white-space:nowrap}
.ll-table tbody td{padding:9px 8px;border-bottom:1px solid #eef2f7;font-size:.8rem;color:#334155;vertical-align:top;line-height:1.3}
.ll-table thead th:nth-child(1),.ll-table tbody td:nth-child(1){width:9%}
.ll-table thead th:nth-child(2),.ll-table tbody td:nth-child(2){width:14%}
.ll-table thead th:nth-child(3),.ll-table tbody td:nth-child(3){width:11%}
.ll-table thead th:nth-child(4),.ll-table tbody td:nth-child(4){width:18%}
.ll-table thead th:nth-child(5),.ll-table tbody td:nth-child(5){width:28%}
.ll-table thead th:nth-child(6),.ll-table tbody td:nth-child(6){width:10%}
.ll-table thead th:nth-child(7),.ll-table tbody td:nth-child(7){width:10%}
.ll-table tbody tr:hover{background:#fffbeb}
.ll-cell-tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.ll-cell-text{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ll-cell-text.topic{max-width:100%}
.ll-cell-text.wide{max-width:100%}
.ll-cell-text.detail{max-width:100%}
.ll-photo-stack{display:flex;flex-wrap:wrap;gap:4px;max-width:100%}
.ll-photo-btn{padding:5px 6px;border:1px solid #dbe5ef;border-radius:9px;background:#fff;font-size:.72rem;color:#334155;cursor:pointer}
.ll-row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
#tab-licoesAprendidas [data-ll-alcada].btn-sm.sgo-access-locked::after,
#tab-licoesAprendidas [data-ll-alcada].db-icon-btn.sgo-access-locked::after,
#tab-licoesAprendidas [data-ll-alcada].db-foto-chip-remove.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
@media(max-width:1200px){.ll-topbar{flex-direction:column}.ll-stats{min-width:0;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.ll-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ll-shell{padding:0 0 14px;margin-top:-2px}.ll-topbar,.ll-section{padding:14px}.ll-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-filters{grid-template-columns:1fr}.ll-toolbar{flex-direction:column;align-items:flex-start}}
@media print{
  .ll-table{min-width:0;width:100%}
  .ll-table-wrap{overflow:visible;border:none}
  .ll-table thead th,.ll-table tbody td{white-space:normal !important}
  .ll-cell-text,.ll-cell-text.topic,.ll-cell-text.wide,.ll-cell-text.detail{
    max-width:none;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    word-break:break-word;
  }
}

.fc-shell{display:grid;gap:16px;padding:0 2px 18px;margin-top:-4px}
.fc-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 16px;border:1px solid #d9e5f2;border-radius:20px;background:rgb(142,217,115)}
.fc-topbar.is-fabricacao{background:rgb(142,217,115)}
.fc-topbar.is-compras{background:rgb(247,199,172)}
.fc-topbar-copy{display:grid;gap:6px;color:#000}
.fc-kicker{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#dbeafe;color:#000;font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;width:max-content}
.fc-topbar-copy h3{margin:0;font-size:1.45rem;line-height:1;color:#000}
.fc-topbar-copy p{margin:0;max-width:760px;color:#000;font-size:.84rem;line-height:1.45}
.fc-stats{display:grid;min-width:260px}
.fc-stats-group{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:10px}
.fc-stat{padding:10px 12px;border:1px solid #dbe5ef;border-radius:14px;background:#fff}
.fc-stat span{display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#000}
.fc-stat strong{display:block;margin-top:4px;font-size:1.12rem;color:#000}
.fc-view-tabs{display:flex;gap:6px;align-items:center;margin:0 0 2px;background:#fff;border:1px solid #d9e5f2;border-radius:10px;padding:4px;width:fit-content}
.fc-view-tab{border:1px solid transparent;background:transparent;border-radius:8px;padding:7px 14px;font-size:.78rem;font-weight:800;color:#475569;cursor:pointer}
.fc-view-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}
.fc-view-panel{display:block}
.fc-section{padding:18px;border:1px solid #d9e5f2;border-radius:20px;background:#fff;box-shadow:0 14px 28px rgba(15,23,42,.05)}
.fc-title-wrap{display:flex;align-items:flex-start;gap:10px}
.fc-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:transparent;border-radius:12px;cursor:pointer}
.fc-toggle-btn:hover{background:#eff6ff}
.fc-toggle-chevron{display:inline-flex;align-items:center;justify-content:center;width:34px;color:#2563eb;font-size:1.7rem;font-weight:900;line-height:1}
.fc-section-head,.fc-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.fc-section-title{font-size:1.02rem;font-weight:800;color:#0f172a}
.fc-section-sub{margin:4px 0 0;font-size:.82rem;line-height:1.45;color:#64748b}
.fc-section-actions,.fc-form-actions{display:flex;gap:10px;align-items:center}
.fc-form-card{margin-top:16px;padding:16px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}
.fc-list-card{margin-top:16px;padding:16px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;position:relative}
.fc-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fc-form-grid-compras{grid-template-columns:minmax(120px,.75fr) minmax(140px,.9fr) minmax(140px,.9fr) minmax(175px,1fr) minmax(175px,1fr) minmax(150px,.85fr);column-gap:10px;row-gap:12px}
.fc-field{display:grid;gap:7px}
.fc-field span{font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#475569}
.fc-field-wide{grid-column:1 / -1}
.fc-crono-field{grid-column:span 2}
.fc-com-status-field{grid-column:1 / span 1}
.fc-com-crono-field{grid-column:2 / span 2}
.fc-com-material-field{max-width:760px}
.fc-form-actions{margin-top:14px;justify-content:flex-end}
.fc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fc-toolbar-search{flex:1 1 auto;min-width:260px}
.fc-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.fc-filter-btn{min-width:96px;justify-content:center}
.fc-filter-pop{margin-top:12px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.fc-filters{display:grid;grid-template-columns:repeat(2,minmax(170px,.95fr)) minmax(220px,1.1fr);gap:10px;align-items:end}
.fc-filters-compras{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(150px,.95fr) minmax(140px,.82fr) minmax(200px,.9fr)}
.fc-filters-compras .fc-filter-hint{font-size:.72rem}
.fc-filter-hint{display:flex;align-items:center;padding:0 2px;font-size:.76rem;color:#64748b}
.fc-table-wrap{margin-top:12px;overflow-x:auto;border:1px solid #e2e8f0;border-radius:16px}
.fc-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff}
.fc-table thead th{position:sticky;top:0;z-index:1;padding:8px 5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.6rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:#475569;text-align:left;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15}
.fc-table tbody td{padding:7px 5px;border-bottom:1px solid #eef2f7;font-size:.68rem;color:#334155;vertical-align:top;line-height:1.22;overflow:visible;text-overflow:clip;word-break:break-word}
.fc-table tbody tr:hover{background:#f8fbff}
.fc-cell-text{display:block;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}
.fc-cell-text.wide{max-width:100%}
.fc-status-tag{display:inline-flex;align-items:center;padding:3px 5px;border-radius:999px;font-size:.58rem;font-weight:900;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.fc-row-actions{display:flex;align-items:center;gap:3px;justify-content:flex-end}
.fc-row-actions .db-icon-btn{width:25px;height:25px;min-width:25px;padding:0}
#tab-fabricacaoCompra [data-fc-alcada].btn-sm.sgo-access-locked::after,
#tab-fabricacaoCompra [data-fc-alcada].db-icon-btn.sgo-access-locked::after{top:auto;right:-2px;bottom:-3px;width:9px;height:9px;border-width:1px;font-size:5px;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.fc-pdf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fc-field.is-disabled{opacity:.55}
#tab-mapaChuvaEfetivo{
  --mce2-graphite:#121A26; --mce2-graphite-2:#1C2738; --mce2-paper:#F3F5F7; --mce2-card:#FFFFFF;
  --mce2-line:#E2E6EA; --mce2-line-strong:#CBD2D9; --mce2-text:#1B2330; --mce2-text-soft:#5B6573; --mce2-text-faint:#8A93A0;
  --mce2-amber:#FF7A1A; --mce2-amber-dark:#C45A0E; --mce2-sol:#FFFF00; --mce2-sol-bg:#FFFDE0;
  --mce2-nublado:#808080; --mce2-nublado-bg:#ECECEC; --mce2-chuva:#00B0F0; --mce2-chuva-bg:#DDF6FF;
  --mce2-tempestade:#000000; --mce2-tempestade-bg:#000000; --mce2-alert:#D62828; --mce2-radial-line:#000000;
}
.mce2-app{max-width:1180px;margin:-18px auto 0;padding:0 0 30px}
.mce2-section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.mce2-section-head h1{font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:22px;font-weight:600;margin:0;letter-spacing:.2px;color:var(--mce2-text)}
.mce2-section-head p{margin:2px 0 0;color:var(--mce2-text-soft);font-size:13px}
.mce2-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.mce2-entry-btn{display:flex;align-items:center;gap:6px;background:#1667d9;border:1px solid #1667d9;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(22,103,217,.18)}
.mce2-entry-btn span{font-size:16px;line-height:12px}
.mce2-entry-btn:hover{background:#0f58be;border-color:#0f58be}
.mce2-entry-btn.active{background:#0f766e;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.14)}
.mce2-entry-btn:disabled,.mce2-settings-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.mce2-save-entry-btn{display:flex;align-items:center;gap:6px;background:#15803d;border:1px solid #15803d;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(21,128,61,.16)}
.mce2-save-entry-btn:hover{background:#166534;border-color:#166534}
.mce2-save-entry-btn:disabled{background:#dfe5e2;border-color:#d3dad6;color:#89928d;cursor:not-allowed;box-shadow:none}
.mce2-settings-btn{display:flex;align-items:center;gap:6px;background:var(--mce2-card);border:1px solid var(--mce2-line);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--mce2-text-soft);cursor:pointer}
.mce2-settings-btn svg{width:14px;height:14px}
.mce2-view-switch{display:inline-flex;gap:6px;background:var(--mce2-paper);border:1px solid var(--mce2-line);border-radius:10px;padding:4px;margin-bottom:6px}
.mce2-view-switch button{border:0;background:transparent;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;color:var(--mce2-text-soft);cursor:pointer}
.mce2-view-switch button.active{background:var(--mce2-graphite);color:#fff}
.mce2-kpi-block{margin-bottom:5px}
.mce2-kpi-block-title{font-size:10.5px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;color:var(--mce2-text-faint);margin-bottom:3px}
.mce2-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:6px}
.mce2-kpis-accum{margin-bottom:0}
.mce2-kpi{background:var(--mce2-card);border:1px solid var(--mce2-line);border-radius:10px;padding:11px 14px 10px;border-left:4px solid var(--mce2-kc,var(--mce2-amber))}
.mce2-klabel{font-size:10.5px;color:var(--mce2-text-soft);text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:flex;align-items:center;gap:6px;margin-bottom:5px}
.mce2-kval{font-family:var(--mono);font-weight:700;font-size:22px;line-height:1;color:var(--mce2-text)}
.mce2-kunit{font-size:11px;color:var(--mce2-text-faint);font-weight:500;margin-left:3px}
.mce2-klabel svg{width:14px!important;height:14px!important;min-width:14px;max-width:14px;display:inline-block;flex:0 0 14px}
.mce2-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}
.mce2-cal-card,.mce2-radial-card{min-width:0;background:var(--mce2-card);border:1px solid var(--mce2-line);border-radius:14px;padding:18px}
.mce2-radial-card{display:flex;flex-direction:column;align-items:center}
.mce2-radial-card{padding:12px 14px 8px}
.mce2-radial-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}
.mce2-radial-card h3{margin:0 0 0;font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:13px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.6px}
.mce2-radial-export{border:1px solid var(--mce2-line);background:#fff;color:var(--mce2-text-soft);border-radius:7px;padding:4px 8px;font-size:10px;font-weight:800;letter-spacing:.4px;cursor:pointer;line-height:1}
.mce2-radial-export:hover{border-color:var(--mce2-line-strong);color:var(--mce2-text)}
#mce2-radialWrap{width:100%;max-width:470px}
#mce2-radialWrap svg{width:100%;height:auto;display:block}
.mce2-radial-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:0;font-size:12px;color:#000}
.mce2-radial-legend span{display:flex;align-items:center;gap:6px}
.mce2-radial-legend i{width:16px;height:16px;border-radius:5px;display:flex;align-items:center;justify-content:center}
.mce2-radial-legend i svg{width:10px;height:10px}
.mce2-stats-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:4px}
.mce2-stats-page{margin-bottom:8px}
.mce2-stats-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mce2-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mce2-stats-card{background:#fff;border:1px solid var(--mce2-line);border-radius:14px;padding:12px}
.mce2-stats-card h3{margin:0 0 8px;font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:13px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.5px}
.mce2-stats-card canvas{width:100%!important;height:260px!important;display:block}
.mce2-stats-metric{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--mce2-line)}
.mce2-stats-metric:last-child{border-bottom:none}
.mce2-stats-metric b{font-size:12px;color:var(--mce2-text)}
.mce2-stats-metric span{font-size:12px;font-weight:700;color:var(--mce2-text-soft)}
.mce2-stats-empty{font-size:12px;color:var(--mce2-text-soft)}
.mce2-partner-card{width:100%;min-width:0;margin-top:12px;border:1px solid var(--mce2-line);border-radius:14px;background:#fff;padding:10px 12px;box-sizing:border-box}
.mce2-partner-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.mce2-partner-head-actions{display:flex;align-items:center;gap:8px}
.mce2-partner-head strong{display:block;font-size:12px;line-height:1.1;color:#000;text-transform:uppercase;letter-spacing:.4px}
.mce2-partner-head span{display:block;font-size:10.5px;color:var(--mce2-text-soft)}
.mce2-export-actions{display:flex;align-items:center;gap:6px}
.mce2-export-btn{border:1px solid var(--mce2-line);background:#fff;color:var(--mce2-text-soft);border-radius:7px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.4px;cursor:pointer;line-height:1}
.mce2-export-btn:hover{border-color:var(--mce2-line-strong);color:var(--mce2-text)}
.mce2-partner-tabs{display:flex;background:var(--mce2-paper);border:1px solid var(--mce2-line);border-radius:7px;padding:2px;flex:0 0 auto}
.mce2-partner-tabs button{border:0;background:transparent;border-radius:5px;padding:4px 7px;font-size:10.5px;font-weight:700;color:var(--mce2-text-soft);cursor:pointer;white-space:nowrap}
.mce2-partner-tabs button.active{background:var(--mce2-graphite);color:#fff}
.mce2-partner-add{display:flex;gap:6px;margin-bottom:7px}
.mce2-partner-add input{min-width:0;flex:1;border:1px solid var(--mce2-line);border-radius:7px;padding:6px 8px;font-size:11.5px;color:var(--mce2-text)}
.mce2-partner-add button{width:30px;border:0;border-radius:7px;background:var(--mce2-graphite);color:#fff;font-weight:800;cursor:pointer}
.mce2-partner-add input:disabled{background:#f3f5f7;color:#8a93a0;cursor:not-allowed}
.mce2-partner-add button:disabled{opacity:.45;cursor:not-allowed}
.mce2-partner-grid-wrap{width:100%;overflow:auto;border:1px solid var(--mce2-line);border-radius:8px;background:#fff;max-height:156px}
.mce2-pgrid{display:grid;min-width:100%;font-size:10.5px;color:var(--mce2-text)}
.mce2-pcell{height:22px;min-width:22px;border-right:1px solid var(--mce2-line);border-bottom:1px solid var(--mce2-line);display:flex;align-items:center;justify-content:center;background:#fff}
.mce2-phead{background:#f3f5f7;font-weight:800;color:#000;position:sticky;top:0;z-index:2}
.mce2-pname{justify-content:flex-start;padding:0 5px;font-weight:700;position:sticky;left:0;z-index:1;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mce2-phead.mce2-pname{z-index:3;background:#f3f5f7}
.mce2-pequip{justify-content:flex-start;padding:0 5px;font-weight:700;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mce2-pequip.muted{color:#94a3b8;font-weight:600}
.mce2-phead.mce2-pequip{background:#f3f5f7}
.mce2-ptotal{font-weight:800;background:#fafafa}
.mce2-pbtn{width:100%;height:100%;border:0;background:transparent;font-family:var(--mono);font-size:10.5px;font-weight:800;color:#000;cursor:pointer;padding:0}
.mce2-pbtn.has-value{background:#eef7ff}
.mce2-pbtn:hover{background:#fff2cc}
.mce2-pbtn:disabled,.mce2-paction:disabled{opacity:.55;cursor:not-allowed}
.mce2-pbtn:disabled:hover,.mce2-paction:disabled:hover{background:inherit}
.mce2-paction{width:100%;height:100%;border:0;background:transparent;color:#334155;font-size:12px;cursor:pointer;padding:0}
.mce2-paction:hover{background:#f1f5f9}
.mce2-paction.danger{color:#dc2626}
.mce2-paction.danger:hover{background:#fee2e2}
.mce2-pactions{gap:1px;min-width:0}
.mce2-pactions .mce2-paction{width:50%;min-width:0;flex:1 1 0}
.mce2-pempty{padding:14px;text-align:center;font-size:11.5px;color:var(--mce2-text-soft)}
.mce2-partner-modal{max-width:620px}
.mce2-partner-config-modal{max-width:560px}
.mce2-confirm-modal{max-width:390px}
.mce2-partner-modal-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.mce2-partner-modal-meta span{background:var(--mce2-paper);border-radius:999px;padding:4px 9px;font-size:11.5px;font-weight:700;color:var(--mce2-text-soft)}
.mce2-equip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.mce2-equip-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;color:var(--mce2-text-soft)}
.mce2-equip-grid input{width:72px;border:1px solid var(--mce2-line);border-radius:7px;padding:7px 8px;font-family:var(--mono);font-weight:800;color:var(--mce2-text)}
.mce2-idle-cost-head{margin:-2px 0 13px;padding:10px 12px;border:1px solid #f0c36a;border-left:4px solid #d99116;background:#fff9e9;border-radius:7px}
.mce2-idle-cost-head div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#704b08;font-size:12px}
.mce2-idle-cost-head span{font-family:var(--mono);font-weight:800}
.mce2-idle-cost-head small{display:block;margin-top:4px;color:#7b6845;font-size:10.5px;line-height:1.35}
.mce2-idle-cost-form,.mce2-equip-cost-fields,.mce2-partner-contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 13px}
.mce2-idle-cost-form label,.mce2-equip-cost-fields label,.mce2-partner-contract-grid label{display:flex;flex-direction:column;gap:4px;color:var(--mce2-text-soft);font-size:11px;font-weight:700}
.mce2-idle-cost-form input,.mce2-idle-cost-form select,.mce2-equip-cost-fields input,.mce2-equip-cost-fields select,.mce2-partner-contract-grid select{min-width:0;width:100%;height:34px;padding:6px 8px;border:1px solid var(--mce2-line);border-radius:7px;background:#fff;color:var(--mce2-text);font-size:11.5px}
.mce2-idle-cost-total{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:6px 9px;border:1px solid #d8e3eb;border-radius:7px;background:#f6f9fb}
.mce2-idle-cost-total span{color:var(--mce2-text-soft);font-size:10.5px;font-weight:700}
.mce2-idle-cost-total b{color:#172033;font-family:var(--mono);font-size:12px;white-space:nowrap}
.mce2-equip-cost-list{display:grid;gap:9px;margin-bottom:10px}
.mce2-equip-cost-card{padding:9px;border:1px solid var(--mce2-line);border-radius:8px;background:#fbfcfd}
.mce2-equip-cost-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--mce2-text);font-size:12px}
.mce2-equip-cost-title label{display:flex;align-items:center;gap:7px;color:var(--mce2-text-soft);font-size:10.5px}
.mce2-equip-cost-title input{width:75px;padding:6px 7px;border:1px solid var(--mce2-line);border-radius:6px;font-family:var(--mono);font-weight:800}
.mce2-equip-cost-fields{grid-template-columns:1fr 1fr 1fr 1.15fr;margin:9px 0 0}
.mce2-partner-contract-grid{margin:0 0 14px}
.mce2-partner-contract-grid select{height:36px}
.mce2-full-input{width:100%;border:1px solid var(--mce2-line);border-radius:8px;padding:8px 10px;font-size:12.5px;color:var(--mce2-text);margin-bottom:12px}
.mce2-cal-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.mce2-month-nav{display:flex;align-items:center;gap:10px}
.mce2-month-nav button{width:32px;height:32px;border-radius:8px;border:1px solid var(--mce2-line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--mce2-text-soft);padding:0}
.mce2-month-nav button svg{width:16px;height:16px}
.mce2-month-nav h2{font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:17px;font-weight:600;margin:0;min-width:150px;text-align:center;text-transform:capitalize}
.mce2-cal-actions{display:flex;align-items:center;gap:10px}
.mce2-view-toggle{display:flex;background:var(--mce2-paper);border:1px solid var(--mce2-line);border-radius:8px;padding:3px}
.mce2-view-toggle button{border:none;background:transparent;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:6px;cursor:pointer;color:var(--mce2-text-soft)}
.mce2-view-toggle button.active{background:var(--mce2-graphite);color:#fff}
.mce2-today-btn{font-size:12.5px;font-weight:600;color:var(--mce2-amber-dark);background:#FFF1E6;border:1px solid #FFD9B8;border-radius:8px;padding:7px 13px;cursor:pointer}
.mce2-weekhead{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}
.mce2-weekhead span{text-align:center;font-size:11.5px;font-weight:600;color:var(--mce2-text-faint);text-transform:uppercase;letter-spacing:.5px}
.mce2-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.mce2-daycell{border:1px solid #B8C0C8;border-radius:9px;min-height:96px;background:#fff;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative}
.mce2-daycell:hover{border-color:var(--mce2-line-strong);box-shadow:0 2px 8px rgba(20,30,45,.08)}
.mce2-daycell.mce2-entry-locked{cursor:default}
.mce2-daycell.mce2-entry-locked:hover{border-color:#B8C0C8;box-shadow:none}
.mce2-daycell.today{border:2px solid var(--mce2-amber);background:#FFF8EE;box-shadow:0 0 0 3px rgba(255,122,26,.14)}
.mce2-daycell.off{background:#FAFBFC}
.mce2-daycell.blank{border:none;background:transparent;min-height:96px}
#mce2-monthView .mce2-weekhead{gap:5px;margin-bottom:5px}
#mce2-monthView .mce2-grid{gap:5px}
#mce2-monthView .mce2-daycell{min-height:66px;border-radius:8px}
#mce2-monthView .mce2-daycell.blank{min-height:66px}
#mce2-monthView .mce2-daybody{padding:4px 6px 5px}
#mce2-monthView .mce2-ptags{gap:4px;margin-top:3px}
#mce2-monthView .mce2-ptag{height:17px;border-radius:5px}
#mce2-monthView .mce2-ptag svg{width:11px;height:11px}
#mce2-monthView .mce2-efrow{font-size:11px}
#mce2-monthView + .mce2-legend{margin-top:10px;padding-top:10px}
.mce2-todaytag{background:var(--mce2-amber);color:#fff;font-size:8px;font-weight:700;letter-spacing:.3px;padding:1.5px 5px;border-radius:5px;line-height:1.4}
.mce2-sky{height:7px;display:flex}
.mce2-sky .half{flex:1}
.mce2-daybody{padding:7px 8px 8px;flex:1;display:flex;flex-direction:column}
.mce2-dnum{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--mce2-text)}
.mce2-off .mce2-dnum{color:var(--mce2-text-faint)}
.mce2-ptags{display:flex;gap:5px;margin-top:6px}
.mce2-ptag{flex:1;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(10,15,25,.08)}
.mce2-ptag svg{width:13px;height:13px}
.mce2-efrow{margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:3px;font-family:var(--mono);font-weight:700;font-size:12px;color:var(--mce2-text-soft)}
.mce2-efrow svg{width:11px;height:11px;opacity:.6}
.mce2-off-label{margin-top:auto;font-size:11px;color:var(--mce2-text-faint);font-weight:500;text-align:center;padding-bottom:2px}
.mce2-dot-obs{position:static;width:8px;height:8px;border-radius:50%;background:var(--mce2-amber);display:inline-block}
.mce2-dot-stop{background:var(--mce2-tempestade)}
.mce2-legend{display:flex;gap:7px;flex-wrap:nowrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--mce2-line);white-space:nowrap;overflow:hidden}
.mce2-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--mce2-text-soft);flex:0 0 auto}
.mce2-swatch{width:16px;height:16px;border-radius:5px;display:flex;align-items:center;justify-content:center}
.mce2-swatch svg{width:10px;height:10px}
.mce2-sw-sol{background:var(--mce2-sol);color:#000}
.mce2-sw-nub{background:var(--mce2-nublado);color:#000}
.mce2-sw-chu{background:var(--mce2-chuva);color:#000}
.mce2-sw-tem{background:var(--mce2-tempestade-bg);color:#fff}
.mce2-overlay{position:fixed;inset:0;background:rgba(15,21,32,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:10000}
.mce2-overlay.show{display:flex}
.mce2-modal{background:#fff;border-radius:14px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;color:var(--mce2-text);box-shadow:0 18px 48px rgba(15,21,32,.22)}
.mce2-config-modal{max-width:760px}
.mce2-config-modal .mce2-modal-head{padding-top:13px;padding-bottom:13px}
.mce2-config-modal .mce2-modal-body{padding-top:13px;padding-bottom:10px}
.mce2-config-modal .mce2-modal-foot{padding-top:9px;padding-bottom:14px}
.mce2-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--mce2-line)}
.mce2-modal-head h3{margin:0;font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:17px;font-weight:600;text-transform:capitalize;color:var(--mce2-text)}
.mce2-modal-x{cursor:pointer;color:var(--mce2-text-faint);width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0}
.mce2-modal-x:hover{background:var(--mce2-paper);color:var(--mce2-text)}
.mce2-modal-x svg{width:16px!important;height:16px!important}
.mce2-modal-body{padding:18px 20px}
.mce2-toggle-row{display:flex;align-items:center;justify-content:space-between;background:var(--mce2-paper);border-radius:9px;padding:11px 13px;margin-bottom:18px}
.mce2-toggle-row label{font-size:13.5px;font-weight:600;color:var(--mce2-text)}
.mce2-toggle-row-compact{margin-bottom:9px;padding:9px 12px}
.mce2-toggle-row-compact label{font-size:13px}
.mce2-switch{position:relative;width:40px;height:22px;display:inline-block;flex:0 0 40px}
.mce2-switch input{opacity:0;width:0;height:0}
.mce2-slider{position:absolute;inset:0;background:#CBD2D9;border-radius:22px;cursor:pointer;transition:.15s}
.mce2-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s}
.mce2-switch input:checked + .mce2-slider{background:var(--mce2-amber)}
.mce2-switch input:checked + .mce2-slider:before{transform:translateX(18px)}
.mce2-period-block{margin-bottom:18px}
.mce2-ptitle{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--mce2-text-faint);margin-bottom:9px}
.mce2-clima-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:11px}
.mce2-clima-opt{border:1.5px solid var(--mce2-line);border-radius:9px;padding:9px 4px 7px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;background:#fff;color:#000}
.mce2-clima-opt svg{width:18px!important;height:18px!important}
.mce2-clima-opt span{font-size:10.5px;font-weight:600;color:currentColor}
.mce2-clima-opt.sel{border-width:2px;border-color:var(--mce2-cc);background:var(--mce2-cb)}
.mce2-clima-opt.sel{color:var(--mce2-cc)}
.mce2-field-row{display:flex;align-items:center;gap:10px}
.mce2-field-row-spaced{margin-bottom:9px}
.mce2-field-row label,.mce2-obs-label{font-size:12.5px;color:var(--mce2-text-soft);font-weight:500;white-space:nowrap}
.mce2-field-row input[type=number]{width:80px;border:1px solid var(--mce2-line);border-radius:7px;padding:7px 9px;font-family:var(--mono);font-weight:700;font-size:14px;color:var(--mce2-text);background:#fff}
.mce2-partner-config-modal input{width:100%;border:1px solid var(--mce2-line);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--mce2-text);background:#fff}
.mce2-modal textarea{width:100%;border:1px solid var(--mce2-line);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13px;resize:vertical;min-height:56px;margin-top:4px;color:var(--mce2-text);background:#fff}
.mce2-partner-config-modal textarea{min-height:112px}
.mce2-partner-equip-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:4px}
.mce2-partner-equip-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.mce2-partner-equip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.mce2-partner-equip-row input{width:100%}
.mce2-partner-equip-remove{min-width:42px;padding:8px 10px}
.mce2-partner-equip-empty{border:1px dashed var(--mce2-line);border-radius:10px;padding:12px;font-size:12px;color:var(--mce2-text-soft);background:#fafbfd}
.mce2-help{display:block;margin-top:6px;color:var(--mce2-text-soft);font-size:11px;line-height:1.35}
.mce2-confirm-text{margin:0;color:var(--mce2-text);font-size:13px;line-height:1.45}
.mce2-modal-foot{display:flex;justify-content:space-between;gap:10px;padding:16px 20px 20px}
.mce2-modal-actions{display:flex;gap:10px}
.mce2-btn{border-radius:8px;padding:10px 16px;font-size:13.5px;font-weight:600;cursor:pointer;border:1px solid var(--mce2-line);background:#fff;color:var(--mce2-text-soft)}
.mce2-btn:hover{border-color:var(--mce2-line-strong)}
.mce2-btn-primary{background:var(--mce2-graphite);border-color:var(--mce2-graphite);color:#fff}
.mce2-btn-primary:hover{background:#0B1119}
.mce2-btn-danger{color:var(--mce2-tempestade)}
.mce2-schedule-title{margin-bottom:9px}
.mce2-preset-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.mce2-preset-active{background:#2563EB!important;border-color:#2563EB!important;color:#fff!important}
.mce2-preset-active:hover{border-color:#1D4ED8!important;background:#1D4ED8!important}
.mce2-hours-copy{display:grid;grid-template-columns:auto 91px 91px 91px 91px minmax(96px,1fr);align-items:end;gap:7px;background:var(--mce2-paper);border:1px solid var(--mce2-line);border-radius:10px;padding:8px 10px;margin-bottom:12px}
.mce2-hours-copy span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--mce2-text-faint);align-self:center}
.mce2-hours-copy label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--mce2-text-faint)}
.mce2-hours-copy label strong{font:inherit;font-weight:800;color:var(--mce2-text-faint)}
.mce2-hours-copy input,.mce2-sched-row input[type=time]{width:100%;min-width:0;border:1px solid var(--mce2-line);border-radius:7px;padding:5px 4px;font-family:var(--mono);font-weight:700;font-size:11.5px;color:var(--mce2-text);background:#fff}
.mce2-btn-compact{padding:7px 11px;font-size:12px}
.mce2-sched-head{display:grid;grid-template-columns:34px minmax(78px,1fr) 74px 74px 46px 74px 74px 46px;gap:5px;padding:0 4px 6px;font-size:9px;line-height:1.08;color:var(--mce2-text-faint);text-transform:uppercase;letter-spacing:.25px;font-weight:700}
.mce2-sched-head span{display:flex;align-items:center;justify-content:center;text-align:center}
.mce2-sched-row{display:grid;grid-template-columns:34px minmax(78px,1fr) 74px 74px 46px 74px 74px 46px;align-items:center;gap:5px;padding:7px 4px;border-bottom:1px solid var(--mce2-line)}
.mce2-sched-row:last-child{border-bottom:none}
.mce2-swd{font-weight:600;font-size:13px;color:var(--mce2-text)}
.mce2-sched-row output{display:block;text-align:center;border-radius:7px;background:var(--mce2-paper);border:1px solid var(--mce2-line);padding:6px 4px;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--mce2-text-soft)}
.mce2-sched-row input[type=time]:disabled{opacity:.45}
.mm-shell{--mm-ink:#17324a;--mm-soft:#5f7084;--mm-line:#d6e1ec;--mm-paper:#f6f9fc;--mm-blue:#0f5f8f;--mm-orange:#ea580c;margin:-10px -12px 0;padding:16px;background:linear-gradient(135deg,#f7fbff 0%,#fff8ef 100%);border-radius:0 0 14px 14px;color:var(--mm-ink)}
.mm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#11344d 0%,#0f766e 100%);border-radius:16px;padding:18px 20px;color:#fff;box-shadow:0 14px 30px rgba(15,52,77,.14)}
.mm-title h2{margin:8px 0 4px;font-size:24px;line-height:1.05;color:#fff}
.mm-title p{margin:0;max-width:500px;font-size:13px;line-height:1.35;color:rgba(255,255,255,.88)}
.mm-kicker{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.14);padding:5px 11px;font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.mm-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mm-toolbar{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(205px,1.02fr) repeat(4,minmax(132px,.68fr));gap:10px;margin:12px 0 12px}
.mm-select-wrap,.mm-contract-card,.mm-kpi{min-width:0;background:#fff;border:1px solid var(--mm-line);border-radius:12px;padding:11px 12px;box-shadow:0 7px 18px rgba(23,50,74,.06)}
.mm-select-wrap span,.mm-contract-card span,.mm-kpi span{display:block;margin-bottom:5px;font-size:10px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.25px;color:var(--mm-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-select-wrap{position:relative}
.mm-select-wrap:after{content:'▾';position:absolute;right:12px;top:38px;color:#0f172a;font-size:12px;line-height:1;pointer-events:none}
.mm-select-wrap select{width:100%;border:0;outline:0;background:transparent;color:var(--mm-ink);font-weight:800;font-size:13px;padding-right:18px;appearance:none;-webkit-appearance:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-contract-card{cursor:pointer;text-align:left}
.mm-contract-card:hover{border-color:#7dd3fc;box-shadow:0 10px 24px rgba(15,95,143,.12)}
.mm-contract-card strong{display:block;min-width:0;font-family:var(--mono);font-size:16px;line-height:1.1;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-kpi strong{display:block;min-width:0;font-family:var(--mono);font-size:13px;line-height:1.15;color:#0f172a;white-space:nowrap;overflow:visible;text-overflow:clip}
.mm-kpi small{display:block;margin-top:6px;font-size:10px;font-weight:800;color:#64748b;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-contract-card small{display:block;margin-top:5px;font-size:11px;line-height:1.25;color:var(--mm-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-kpi{border-top:3px solid var(--mm-orange)}
.mm-panel{background:#fff;border:1px solid var(--mm-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(23,50,74,.07)}
.mm-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--mm-line);background:#fbfdff}
.mm-panel-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:var(--mm-ink)}
.mm-panel-sub{margin-top:3px;font-size:11.5px;color:var(--mm-soft)}
.mm-empty{display:flex;align-items:center;gap:12px;padding:22px 18px;color:var(--mm-soft);background:#fff}
.mm-empty-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff4e6;color:#ea580c;font-size:22px}
.mm-table-wrap{width:100%;overflow:auto}
.mm-table{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0;font-size:12px;color:var(--mm-ink)}
.mm-table thead th{position:sticky;top:0;z-index:1;background:#edf4fb;border-bottom:1px solid var(--mm-line);padding:10px 9px;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.45px;color:#4b5d72;white-space:nowrap}
.mm-table tbody td{border-bottom:1px solid #e8eef5;padding:9px;vertical-align:middle;background:#fff}
.mm-table tbody tr:nth-child(even) td{background:#fbfdff}
.mm-code strong{display:block;font-size:12px;color:#0f172a}
.mm-code small{display:block;margin-top:2px;font-size:10.5px;color:#7a899b}
.mm-muted{color:#6b7b8e;font-weight:700;white-space:nowrap}
.mm-num{font-family:var(--mono);font-weight:800;color:#0f172a;white-space:nowrap;text-align:right}
.mm-snapshot{color:#475569}
.mm-input-money{width:122px;border:1px solid #cbd8e6;border-radius:8px;background:#fff;padding:7px 8px;font-family:var(--mono);font-weight:800;font-size:12px;color:#0f172a;text-align:right}
.mm-input-money:focus{outline:2px solid rgba(14,165,233,.22);border-color:#38bdf8}
.mm-input-money:disabled{background:#f1f5f9;border-color:#d7e0ea;color:#475569;cursor:not-allowed}
.mm-pct{display:grid;grid-template-columns:minmax(76px,1fr) 42px;align-items:center;gap:8px;min-width:126px}
.mm-pct div{height:7px;border-radius:999px;background:#dbe5ef;overflow:hidden}
.mm-pct span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f97316,#0ea5e9)}
.mm-pct b{font-family:var(--mono);font-size:11px;color:#334155;text-align:right}
.mm-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap}
.mm-status.open{background:#eef6ff;color:#0f5f8f}
.mm-status.partial{background:#fff7ed;color:#c2410c}
.mm-status.done{background:#ecfdf5;color:#047857}
.mm-row-actions{display:flex;align-items:center;justify-content:center;gap:5px}
.mm-icon-btn{width:30px;height:30px;border:1px solid var(--mm-line);border-radius:8px;background:#fff;cursor:pointer}
.mm-icon-btn:hover{background:#f8fafc}
.mm-icon-btn.danger{color:#dc2626}
.mm-icon-btn.danger:hover{background:#fee2e2;border-color:#fecaca}
.mm-contrato-modal{max-width:760px}
.mm-contrato-intro{margin-bottom:12px;color:#5f7084;font-size:13px}
.mm-contrato-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:55vh;overflow:auto}
.mm-contrato-option{border:1px solid var(--mm-line);border-radius:12px;background:#fff;text-align:left;padding:12px;cursor:pointer;color:var(--mm-ink)}
.mm-contrato-option:hover,.mm-contrato-option.active{border-color:#0ea5e9;background:#f0f9ff}
.mm-contrato-option strong{display:block;font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-contrato-option span{display:block;margin-top:4px;font-size:11.5px;color:#5f7084;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-contrato-option b{display:block;margin-top:9px;font-family:var(--mono);font-size:16px;color:#0f766e}
.mm-contrato-empty{grid-column:1/-1;border:1px dashed var(--mm-line);border-radius:12px;background:#fbfdff;padding:18px;text-align:center;color:#5f7084}
.cn-shell{--cn-ink:#17324a;--cn-soft:#607086;--cn-line:#d6e1ec;--cn-green:#059669;--cn-blue:#0f5f8f;margin:-10px -12px 0;padding:16px;background:linear-gradient(135deg,#f6fbf8 0%,#f6f9ff 100%);border-radius:0 0 14px 14px;color:var(--cn-ink)}
.cn-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#064e3b 0%,#0f5f8f 100%);border-radius:16px;padding:18px 20px;color:#fff;box-shadow:0 14px 30px rgba(6,78,59,.14)}
.cn-title h3{margin:8px 0 4px;font-size:24px;line-height:1.05;color:#fff}
.cn-title p{margin:0;max-width:560px;font-size:13px;line-height:1.35;color:rgba(255,255,255,.88)}
.cn-kicker{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.14);padding:5px 11px;font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.cn-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cn-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.cn-kpi{min-width:0;background:#fff;border:1px solid var(--cn-line);border-top:3px solid var(--cn-green);border-radius:12px;padding:11px 13px;box-shadow:0 7px 18px rgba(23,50,74,.06)}
.cn-kpi span{display:block;margin-bottom:5px;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:var(--cn-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cn-kpi strong{display:block;font-family:var(--mono);font-size:17px;line-height:1.1;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cn-panel{background:#fff;border:1px solid var(--cn-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(23,50,74,.07)}
.cn-tabs{display:flex;gap:6px;background:#f1f6fb;border-bottom:1px solid var(--cn-line);padding:8px 10px}
.cn-tabs button{border:0;border-radius:8px;background:transparent;color:var(--cn-soft);font-weight:900;font-size:12px;padding:8px 12px;cursor:pointer}
.cn-tabs button.active{background:#fff;color:var(--cn-green);box-shadow:0 1px 6px rgba(23,50,74,.08)}
.cn-view{display:none}
.cn-view.active{display:block}
.cn-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--cn-line);background:#fbfdff}
.cn-panel-head>div:first-child{flex:0 0 220px;min-width:0;max-width:220px}
#cn-view-pedidos .cn-panel-head>div:first-child{flex-basis:380px;max-width:380px}
.cn-panel-actions{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end;min-width:0}
.cn-search-input{width:190px;max-width:22vw;border:1px solid #cbd8e6;border-radius:8px;background:#fff;padding:8px 10px;font-size:12px;font-weight:700;color:#0f172a}
.cn-search-input:focus{outline:2px solid rgba(5,150,105,.18);border-color:#34d399}
.cn-filter-select{width:142px;max-width:18vw;border:1px solid #cbd8e6;border-radius:8px;background:#fff;padding:8px 9px;font-size:12px;font-weight:800;color:#334155}
.cn-filter-select:focus{outline:2px solid rgba(5,150,105,.18);border-color:#34d399}
.cn-filter-value{width:170px;max-width:20vw}
.cn-panel-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:var(--cn-ink)}
.cn-panel-sub{margin-top:3px;font-size:11.5px;line-height:1.28;color:var(--cn-soft);white-space:normal}
.cn-scroll-top{height:14px;overflow-x:auto;overflow-y:hidden;background:#f8fbff;border-bottom:1px solid #dbe6f1}
.cn-scroll-top>div{height:1px}
.cn-table-wrap{width:100%;overflow:auto}
.cn-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;color:var(--cn-ink)}
.cn-table:not(.cn-table-pedidos){min-width:1303px}
.cn-table-pedidos{min-width:0}
.cn-table thead th{position:sticky;top:0;z-index:1;background:#edf7f3;border-right:1px solid #d2deea;border-bottom:1px solid var(--cn-line);padding:9px 5px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.2px;color:#4b5d72;white-space:nowrap}
.cn-table thead th:last-child{border-right:0}
.cn-table tbody td{border-right:1px solid #e1e9f2;border-bottom:1px solid #e8eef5;padding:7px 5px;vertical-align:middle;background:#fff}
.cn-table tbody td:last-child{border-right:0;text-align:center}
.cn-table tbody tr:nth-child(even) td{background:#fbfdff}
.cn-table-pedidos thead th{padding:8px 3px;font-size:9.7px;letter-spacing:.08px}
.cn-table-pedidos tbody td{padding:5px 3px}
.cn-input{width:100%;min-width:0;border:1px solid #cbd8e6;border-radius:8px;background:#fff;padding:7px 6px;font-size:11.5px;font-weight:600;color:#0f172a}
.cn-input:focus{outline:2px solid rgba(5,150,105,.18);border-color:#34d399}
.cn-input:disabled{background:#f1f5f9;border-color:#d7e0ea;color:#475569;cursor:not-allowed}
.cn-money{font-family:var(--mono);text-align:right}
.cn-date{min-width:0}
.cn-select{cursor:pointer}
.cn-nota-num{max-width:none}
.cn-pedido,.cn-pedido-num{min-width:0}
.cn-fornecedor{min-width:0}
.cn-cnpj{font-family:var(--mono);min-width:0}
.cn-desc{min-width:0}
.cn-num{font-family:var(--mono);font-weight:800;color:#0f172a;white-space:nowrap;text-align:right}
.cn-table-pedidos .cn-input{height:28px;padding:4px 5px;border-radius:7px;font-size:11.5px}
.cn-table-pedidos .cn-num{font-size:11.3px}
.cn-saldo{color:#0f766e}
.cn-saldo.neg{color:#dc2626}
.cn-rateio-badge{display:inline-flex;margin-top:4px;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;padding:2px 6px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap}
.cn-rateio-modal{max-width:560px}
.cn-rateio-info{border:1px solid #d6e1ec;border-radius:12px;background:#fbfdff;padding:12px 14px;font-size:12px;line-height:1.55;color:#334155}
.cn-rateio-field{display:grid;gap:6px;margin-top:12px}
.cn-rateio-field span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:#607086}
.cn-icon-btn{width:30px;height:30px;border:1px solid var(--cn-line);border-radius:8px;background:#fff;cursor:pointer}
.cn-row-actions{display:flex;align-items:center;justify-content:center;gap:5px}
.cn-icon-btn:hover{background:#f8fafc}
.cn-icon-btn.danger{color:#dc2626}
.cn-icon-btn.danger:hover{background:#fee2e2;border-color:#fecaca}
.cn-empty{display:none;padding:18px;text-align:center;color:var(--cn-soft);font-size:12.5px;background:#fff}
.cn-table:not(.cn-table-pedidos) th:nth-child(1),.cn-table:not(.cn-table-pedidos) td:nth-child(1){width:110px}
.cn-table:not(.cn-table-pedidos) th:nth-child(2),.cn-table:not(.cn-table-pedidos) td:nth-child(2){width:92px}
.cn-table:not(.cn-table-pedidos) th:nth-child(3),.cn-table:not(.cn-table-pedidos) td:nth-child(3){width:230px}
.cn-table:not(.cn-table-pedidos) th:nth-child(4),.cn-table:not(.cn-table-pedidos) td:nth-child(4){width:198px}
.cn-table:not(.cn-table-pedidos) th:nth-child(5),.cn-table:not(.cn-table-pedidos) td:nth-child(5){width:150px}
.cn-table:not(.cn-table-pedidos) th:nth-child(6),.cn-table:not(.cn-table-pedidos) td:nth-child(6){width:120px}
.cn-table:not(.cn-table-pedidos) th:nth-child(7),.cn-table:not(.cn-table-pedidos) td:nth-child(7){width:185px}
.cn-table:not(.cn-table-pedidos) th:nth-child(8),.cn-table:not(.cn-table-pedidos) td:nth-child(8){width:170px}
.cn-table:not(.cn-table-pedidos) th:nth-child(9),.cn-table:not(.cn-table-pedidos) td:nth-child(9){width:78px}
.cn-table-pedidos th:nth-child(1),.cn-table-pedidos td:nth-child(1){width:11%}
.cn-table-pedidos th:nth-child(2),.cn-table-pedidos td:nth-child(2){width:19%}
.cn-table-pedidos th:nth-child(3),.cn-table-pedidos td:nth-child(3){width:15%}
.cn-table-pedidos th:nth-child(4),.cn-table-pedidos td:nth-child(4){width:16%}
.cn-table-pedidos th:nth-child(5),.cn-table-pedidos td:nth-child(5){width:16%}
.cn-table-pedidos th:nth-child(6),.cn-table-pedidos td:nth-child(6){width:15%}
.cn-table-pedidos th:nth-child(7),.cn-table-pedidos td:nth-child(7){width:8%}
.em-shell{--em-ink:#17324a;--em-soft:#607086;--em-line:#d6e1ec;--em-purple:#7c3aed;margin:-10px -12px 0;padding:16px;background:linear-gradient(135deg,#f8f7ff 0%,#f6fbff 100%);border-radius:0 0 14px 14px;color:var(--em-ink)}
.em-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#312e81 0%,#0f766e 100%);border-radius:16px;padding:18px 20px;color:#fff;box-shadow:0 14px 30px rgba(49,46,129,.14)}
.em-title h3{margin:8px 0 4px;font-size:24px;line-height:1.05;color:#fff}
.em-title p{margin:0;max-width:620px;font-size:13px;line-height:1.35;color:rgba(255,255,255,.88)}
.em-kicker{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.14);padding:5px 11px;font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.em-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.em-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.em-kpi{min-width:0;background:#fff;border:1px solid var(--em-line);border-top:3px solid var(--em-purple);border-radius:12px;padding:11px 13px;box-shadow:0 7px 18px rgba(23,50,74,.06)}
.em-kpi span{display:block;margin-bottom:5px;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:var(--em-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.em-kpi strong{display:block;font-family:var(--mono);font-size:17px;line-height:1.1;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.em-tabview{margin-top:12px;background:#fff;border:1px solid var(--em-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(23,50,74,.07)}
.em-tabs{display:flex;gap:6px;background:#f4f1ff;border-bottom:1px solid var(--em-line);padding:8px 10px}
.em-tabs button{border:0;border-radius:8px;background:transparent;color:var(--em-soft);font-weight:900;font-size:12px;padding:8px 12px;cursor:pointer}
.em-tabs button.active{background:#fff;color:var(--em-purple);box-shadow:0 1px 6px rgba(23,50,74,.08)}
.em-view{display:none}
.em-view.active{display:block;padding:12px}
.em-view .em-kpis{margin-top:0}
.em-panel{background:#fff;border:1px solid var(--em-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(23,50,74,.07)}
.em-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--em-line);background:#fbfdff}
.em-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.em-panel-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:var(--em-ink)}
.em-panel-sub{margin-top:3px;font-size:11.5px;line-height:1.28;color:var(--em-soft)}
.em-table-wrap{width:100%;overflow:auto}
.em-table{width:100%;min-width:1250px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;color:var(--em-ink)}
.em-table thead th{position:sticky;top:0;z-index:1;background:#f0edff;border-right:1px solid #d8d2f0;border-bottom:1px solid var(--em-line);padding:9px 5px;text-align:center;font-size:9.6px;text-transform:uppercase;letter-spacing:.1px;color:#4b5d72;white-space:nowrap}
.em-table thead th:last-child{border-right:0}
.em-table tbody td{border-right:1px solid #e1e9f2;border-bottom:1px solid #e8eef5;padding:6px 4px;vertical-align:middle;background:#fff}
.em-table tbody td:last-child{border-right:0;text-align:center}
.em-table tbody tr:nth-child(even) td{background:#fbfdff}
.em-input{width:100%;height:30px;min-width:0;border:1px solid #cbd8e6;border-radius:7px;background:#fff;padding:4px 5px;font-size:11.3px;font-weight:600;color:#0f172a}
.em-input:focus{outline:2px solid rgba(124,58,237,.16);border-color:#a78bfa}
.em-input:disabled{background:#f1f5f9;border-color:#d7e0ea;color:#475569;cursor:not-allowed}
.em-select{cursor:pointer}
.em-avulso{margin-top:4px;height:26px}
.em-money,.em-num{font-family:var(--mono);text-align:right}
.em-num{font-weight:800;color:#0f172a;white-space:nowrap;font-size:11.1px}
.em-small{text-align:center}
.em-actions{display:flex;align-items:center;justify-content:center;gap:5px}
.em-action-btn{height:28px;border-radius:8px;border:1px solid var(--em-line);background:#fff;padding:0 8px;font-size:10.5px;font-weight:900;cursor:pointer}
.em-action-btn.save{color:#047857;border-color:#a7f3d0;background:#ecfdf5}
.em-action-btn.review{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}
.em-action-btn:hover{filter:brightness(.98)}
.em-icon-btn{width:28px;height:28px;border:1px solid var(--em-line);border-radius:8px;background:#fff;cursor:pointer}
.em-icon-btn:hover{background:#f8fafc}
.em-icon-btn.danger{color:#dc2626}
.em-icon-btn.danger:hover{background:#fee2e2;border-color:#fecaca}
.em-rateio-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;padding:3px 7px;font-size:10px;font-weight:900;white-space:nowrap}
.em-empty{display:none;padding:18px;text-align:center;color:var(--em-soft);font-size:12.5px;background:#fff}
.em-table th:nth-child(1),.em-table td:nth-child(1){width:220px}
.em-table th:nth-child(2),.em-table td:nth-child(2){width:150px}
.em-table th:nth-child(3),.em-table td:nth-child(3){width:130px}
.em-table th:nth-child(4),.em-table td:nth-child(4){width:80px}
.em-table th:nth-child(5),.em-table td:nth-child(5){width:130px}
.em-table th:nth-child(6),.em-table td:nth-child(6){width:130px}
.em-table th:nth-child(7),.em-table td:nth-child(7){width:130px}
.em-table th:nth-child(8),.em-table td:nth-child(8){width:180px}
.em-table th:nth-child(9),.em-table td:nth-child(9){width:90px}
.em-table th:nth-child(10),.em-table td:nth-child(10){width:112px}
.em-notas-table{min-width:1180px}
.em-notas-table th:nth-child(1),.em-notas-table td:nth-child(1){width:110px}
.em-notas-table th:nth-child(2),.em-notas-table td:nth-child(2){width:100px}
.em-notas-table th:nth-child(3),.em-notas-table td:nth-child(3){width:120px}
.em-notas-table th:nth-child(4),.em-notas-table td:nth-child(4){width:180px}
.em-notas-table th:nth-child(5),.em-notas-table td:nth-child(5){width:150px}
.em-notas-table th:nth-child(6),.em-notas-table td:nth-child(6){width:130px}
.em-notas-table th:nth-child(7),.em-notas-table td:nth-child(7){width:180px}
.em-notas-table th:nth-child(8),.em-notas-table td:nth-child(8){width:220px}
.em-notas-table th:nth-child(9),.em-notas-table td:nth-child(9){width:90px}
.fc-table-ter thead th:nth-child(1),.fc-table-ter tbody td:nth-child(1){width:16%}
.fc-table-ter thead th:nth-child(2),.fc-table-ter tbody td:nth-child(2){width:10%}
.fc-table-ter thead th:nth-child(3),.fc-table-ter tbody td:nth-child(3){width:13%}
.fc-table-ter thead th:nth-child(4),.fc-table-ter tbody td:nth-child(4){width:9%}
.fc-table-ter thead th:nth-child(5),.fc-table-ter tbody td:nth-child(5){width:9%}
.fc-table-ter thead th:nth-child(6),.fc-table-ter tbody td:nth-child(6){width:10%}
.fc-table-ter thead th:nth-child(7),.fc-table-ter tbody td:nth-child(7){width:18%}
.fc-table-ter thead th:nth-child(8),.fc-table-ter tbody td:nth-child(8){width:8%}
.fc-table-ter thead th:nth-child(9),.fc-table-ter tbody td:nth-child(9){width:7%}
.fc-table-com thead th:nth-child(1),.fc-table-com tbody td:nth-child(1){width:4%}
.fc-table-com thead th:nth-child(2),.fc-table-com tbody td:nth-child(2){width:20%}
.fc-table-com thead th:nth-child(3),.fc-table-com tbody td:nth-child(3){width:6%}
.fc-table-com thead th:nth-child(4),.fc-table-com tbody td:nth-child(4){width:9%}
.fc-table-com thead th:nth-child(5),.fc-table-com tbody td:nth-child(5){width:9%}
.fc-table-com thead th:nth-child(6),.fc-table-com tbody td:nth-child(6){width:12%}
.fc-table-com thead th:nth-child(7),.fc-table-com tbody td:nth-child(7){width:11%}
.fc-table-com thead th:nth-child(8),.fc-table-com tbody td:nth-child(8){width:14%}
.fc-table-com thead th:nth-child(9),.fc-table-com tbody td:nth-child(9){width:10%}
.fc-table-com thead th:nth-child(10),.fc-table-com tbody td:nth-child(10){width:5%}
@media(max-width:1200px){.fc-topbar{flex-direction:column}.fc-stats{min-width:0;width:100%}.fc-stats-group{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-form-grid,.fc-form-grid-compras,.fc-filters,.fc-pdf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-filters-compras{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-hero{grid-template-columns:1fr}.mce-hero-main,.mce-panels{grid-template-columns:1fr}.mce-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mce-toolbar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mce-stats-summary-grid,.mce-stats-grid,.mce2-stats-summary-grid,.mce2-stats-grid{grid-template-columns:1fr}.mm-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.mm-contrato-list{grid-template-columns:1fr}.cn-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.fc-shell{padding:0 0 14px;margin-top:-2px}.fc-topbar,.fc-section{padding:14px}.fc-stats-group{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-form-grid,.fc-form-grid-compras,.fc-filters,.fc-pdf-grid{grid-template-columns:1fr}.fc-section-head,.fc-toolbar{flex-direction:column;align-items:flex-start}.fc-section-actions,.fc-form-actions{width:100%;justify-content:flex-end}.fc-toolbar-search,.fc-toolbar-actions{width:100%}.fc-toolbar-actions{justify-content:flex-end}.mce-shell{padding:0 0 14px}.mce-hero,.mce-card,.mce-filter-card{padding:14px}.mce-hero-actions,.mce-filter-actions{width:100%;justify-content:flex-end}.mce-kpis,.mce-toolbar-grid{grid-template-columns:1fr}.mce-card-head{flex-direction:column;align-items:flex-start}.mce2-view-switch,.mce2-partner-head,.mce2-partner-head-actions,.mce2-stats-toolbar{flex-direction:column;align-items:flex-start}.mm-shell{margin:0 -8px;padding:10px}.mm-head{flex-direction:column;padding:15px}.mm-actions{width:100%;justify-content:flex-start}.mm-toolbar{grid-template-columns:1fr}.mm-table{min-width:980px}.cn-shell{margin:0 -8px;padding:10px}.cn-head{flex-direction:column;padding:15px}.cn-actions{width:100%;justify-content:flex-start}.cn-kpis{grid-template-columns:1fr}.cn-panel-head{flex-direction:column}.cn-table{min-width:940px}}
/* Histograma de efetivo */
#tab-histograma{padding:0;background:#f4f7fb}
.hist-shell{display:flex;flex-direction:column;gap:12px;min-width:0;padding:12px}
.hist-view-tabs{display:flex;align-items:center;gap:5px;border-bottom:1px solid #cbd5e1}
.hist-view-tab{height:34px;padding:0 14px;border:1px solid transparent;border-bottom:0;background:transparent;color:#64748b;font:800 .78rem Arial,sans-serif;cursor:pointer}
.hist-view-tab.active{margin-bottom:-1px;border-color:#cbd5e1;background:#fff;color:#1d4ed8}
.hist-view-tab small{margin-left:5px;color:#94a3b8;font-size:.62rem}
.hist-sync-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;margin:0 4px 4px auto;padding:0 10px;border:1px solid #1d4ed8;border-radius:4px;background:#2563eb;color:#fff;font:800 .68rem Arial,sans-serif;cursor:pointer}
.hist-sync-btn:hover{background:#1d4ed8}
.hist-sync-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hist-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:10px 12px;border:1px solid #d7e0eb;border-radius:6px;background:#fff}
.hist-toolbar-title{display:flex;flex-direction:column;min-width:0}
.hist-toolbar-title strong{color:#172033;font-size:.95rem}
.hist-toolbar-title span{overflow:hidden;color:#64748b;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}
.hist-workdays{display:flex;align-items:center;gap:4px}
.hist-workdays>span{margin-right:4px;color:#475569;font-size:.7rem;font-weight:800}
.hist-workdays label{display:inline-flex;align-items:center;justify-content:center;height:26px;min-width:38px;padding:0 7px;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:.68rem;font-weight:800;cursor:pointer}
.hist-workdays label.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.hist-workdays input{position:absolute;opacity:0;pointer-events:none}
.hist-month-nav{display:flex;align-items:center;height:30px;border:1px solid #b9c7d8;background:#fff}
.hist-month-label{height:28px;padding:0 8px;background:#edf2f7;color:#475569;font-size:.65rem;font-weight:900;line-height:28px;text-transform:uppercase}
.hist-month-nav button{width:30px;height:28px;border:0;background:#f8fafc;color:#334155;font-size:1.2rem;cursor:pointer}
.hist-month-nav button:hover{background:#e2e8f0}
.hist-month-nav input{height:28px;border:0;border-right:1px solid #d7e0eb;border-left:1px solid #d7e0eb;padding:0 7px;color:#172033;font-size:.72rem;font-weight:800}
.hist-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px}
.hist-kpi{position:relative;min-height:70px;padding:9px 11px;border:1px solid #dbe3ee;border-left-width:4px;border-radius:5px;background:#fff}
.hist-kpi[data-hint]{cursor:help}
.hist-kpi[data-hint]::after{content:attr(data-hint);position:absolute;bottom:calc(100% + 8px);left:10px;z-index:40;width:min(280px,calc(100vw - 44px));padding:8px 10px;border:1px solid #334155;border-radius:5px;background:#172033;color:#fff;font-size:.68rem;font-weight:700;line-height:1.35;box-shadow:0 6px 16px rgba(15,23,42,.2);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease}
.hist-kpi[data-hint]:hover::after,.hist-kpi[data-hint]:focus::after{opacity:1;transform:translateY(0)}
.hist-kpi[data-hint]:last-child::after{right:10px;left:auto}
.hist-kpi span,.hist-kpi small{display:block;color:#64748b;font-size:.67rem;font-weight:700}
.hist-kpi strong{display:block;margin:3px 0;color:#172033;font-size:1.25rem;line-height:1}
.hist-kpi-blue{border-left-color:#2563eb;background:#eff6ff}
.hist-kpi-green{border-left-color:#16a34a;background:#f0fdf4}
.hist-kpi-slate{border-left-color:#475569;background:#f8fafc}
.hist-kpi-amber{border-left-color:#f59e0b;background:#fffbeb}
.hist-chart-section,.hist-matrix-section{overflow:hidden;border:1px solid #d7e0eb;border-radius:6px;background:#fff}
.hist-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding:7px 11px;border-bottom:1px solid #e2e8f0;background:#fff}
.hist-section-head>div:first-child{display:flex;flex-direction:column;gap:2px}
.hist-section-head strong{color:#172033;font-size:.8rem}
.hist-section-head span{color:#64748b;font-size:.68rem}
.hist-chart-types{display:flex;align-items:center;border:1px solid #cbd5e1}
.hist-chart-types button{height:27px;padding:0 10px;border:0;border-right:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:.68rem;font-weight:800;cursor:pointer}
.hist-chart-types button:last-child{border-right:0}
.hist-chart-types button.active{background:#1f4f82;color:#fff}
.hist-chart-scroll{height:224px;overflow-x:auto;overflow-y:hidden;padding:8px 10px 4px;cursor:grab;scrollbar-color:#94a3b8 #e2e8f0;user-select:none}
.hist-chart-scroll.dragging{cursor:grabbing}
.hist-chart-holder{height:200px;min-width:100%}
.hist-matrix-tools{display:flex;align-items:center;border:1px solid #cbd5e1}
.hist-matrix-tools button{width:29px;height:27px;border:0;border-right:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.9rem;font-weight:900;cursor:pointer}
.hist-matrix-tools button:last-child{border-right:0}
.hist-matrix-tools .hist-zoom-value{width:52px;font-size:.67rem}
.hist-matrix-tools button:hover{background:#edf2f7}
.hist-matrix-tools .hist-include-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:72px;min-width:72px;padding:0 8px;border-right:1px solid #cbd5e1;background:#fff;color:#1d4ed8;font-size:.67rem}
.hist-matrix-tools .hist-include-btn span{color:inherit;font-size:.84rem;line-height:1}
.hist-matrix-tools .hist-include-btn:hover{background:#eff6ff}
.hist-matrix-tools .hist-include-btn.active{background:#1d4ed8;color:#fff}
.hist-efetivo-input[readonly]{border-color:#cbd5e1;background:#f1f5f9;color:#64748b;cursor:not-allowed}
.hist-color-control{display:flex;align-items:center;gap:6px;height:27px;padding-left:8px;border-right:1px solid #cbd5e1;background:#fff;color:#475569;font-size:.67rem;font-weight:800;white-space:nowrap}
.hist-color-control select{height:26px;min-width:112px;border:0;border-left:1px solid #e2e8f0;padding:0 24px 0 7px;background:#fff;color:#334155;font-size:.67rem;font-weight:800;cursor:pointer}
.hist-color-control select:focus{outline:2px solid #60a5fa;outline-offset:-2px}
.hist-freeze-toggle{display:flex;align-items:center;gap:6px;height:27px;padding:0 9px;border-right:1px solid #cbd5e1;background:#fff;color:#475569;font-size:.67rem;font-weight:800;cursor:pointer;white-space:nowrap}
.hist-freeze-toggle input{position:absolute;opacity:0;pointer-events:none}
.hist-freeze-switch{position:relative;width:25px;height:14px;border-radius:8px;background:#94a3b8;transition:background .15s ease}
.hist-freeze-switch::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#fff;transition:transform .15s ease}
.hist-freeze-toggle input:checked+.hist-freeze-switch{background:#2563eb}
.hist-freeze-toggle input:checked+.hist-freeze-switch::after{transform:translateX(11px)}
.hist-freeze-toggle input:focus-visible+.hist-freeze-switch{outline:2px solid #60a5fa;outline-offset:2px}
.hist-top-scroll{height:17px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #d7e0eb;background:#edf2f7;scrollbar-color:#64748b #dce4ed}
#hist-top-scroll-inner{height:1px}
.hist-matrix-scroll{max-height:520px;overflow:auto;background:#f7f9fc;cursor:grab;scrollbar-color:#64748b #dce4ed;user-select:none}
.hist-matrix-scroll.dragging{cursor:grabbing}
.hist-matrix-stage{width:max-content;min-width:100%;transform-origin:top left}
.hist-matrix{border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font:700 10px Arial,sans-serif;color:#263247}
.hist-matrix th,.hist-matrix td{box-sizing:border-box;border-right:1px solid #cbd3dc;border-bottom:1px solid #c4cdd7;text-align:center}
.hist-matrix thead th{position:sticky;z-index:7}
.hist-matrix thead tr:first-child th{top:0;height:31px}
.hist-matrix thead tr:nth-child(2) th{top:31px;height:39px}
.hist-fixed{position:sticky;z-index:5;background:#fff}
.hist-matrix thead .hist-fixed{z-index:12;background:#e6ebf1;color:#263247;text-transform:uppercase}
.hist-col-item{left:0;width:72px;min-width:72px;max-width:72px}
.hist-col-desc{left:72px;width:270px;min-width:270px;max-width:270px;overflow:hidden;padding:0 7px;text-align:left!important;text-overflow:ellipsis;white-space:nowrap}
.hist-col-desc>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist-col-ini{left:342px;width:80px;min-width:80px;max-width:80px}
.hist-col-fim{left:422px;width:80px;min-width:80px;max-width:80px}
.hist-col-dur{left:502px;width:62px;min-width:62px;max-width:62px}
.hist-col-efet{left:564px;width:72px;min-width:72px;max-width:72px;box-shadow:9px 0 12px rgba(38,50,71,.11)}
.hist-matrix-scroll.hist-unfrozen .hist-col-item,.hist-matrix-scroll.hist-unfrozen .hist-col-desc,.hist-matrix-scroll.hist-unfrozen .hist-col-ini,.hist-matrix-scroll.hist-unfrozen .hist-col-fim,.hist-matrix-scroll.hist-unfrozen .hist-col-dur,.hist-matrix-scroll.hist-unfrozen .hist-col-efet{left:auto}
.hist-matrix-scroll.hist-unfrozen .hist-col-efet{box-shadow:none}
.hist-month-head{height:31px;border-left:2px solid #fff!important;background:#28445f!important;color:#fff;font-size:.82rem;font-weight:900;text-transform:uppercase}
.hist-month-head:nth-of-type(even){background:#176b70!important}
.hist-day-head{top:31px;width:34px;min-width:34px;max-width:34px;padding:3px 0;background:#edf2f7!important}
.hist-day-head span,.hist-day-head small{display:block;line-height:1.35}
.hist-day-head small{color:#64748b;font-size:8px}
.hist-day-cell{width:34px;min-width:34px;max-width:34px;height:31px;background:#fff}
.hist-week-start{border-left:1px solid #aab8c8!important}
.hist-month-start{border-left:2px solid #28445f!important}
.hist-day-off{background:#f0f2f5!important;color:#a1aab7}
.hist-day-head.hist-today{background:#fee2e2!important;color:#991b1b;box-shadow:inset 2px 0 #dc2626,inset -2px 0 #dc2626,inset 0 2px #dc2626}
.hist-day-cell.hist-today{box-shadow:inset 2px 0 #dc2626,inset -2px 0 #dc2626}
.hist-day-active{background:#d9e8f8!important;color:#174c78}
.hist-day-value{display:inline-flex;align-items:center;justify-content:center;width:100%;height:22px;color:#174c78;font-weight:900}
.hist-row-leaf:nth-child(even) .hist-fixed{background:#f8fafc}
.hist-row-leaf:hover .hist-fixed{background:#eaf1f7}
.hist-row-leaf:hover .hist-day-active{background:#bdd7ef!important}
.hist-row-leaf.hist-row-missing-eff .hist-col-item,.hist-row-leaf.hist-row-missing-eff .hist-col-desc,.hist-row-leaf.hist-row-missing-eff .hist-col-ini,.hist-row-leaf.hist-row-missing-eff .hist-col-fim,.hist-row-leaf.hist-row-missing-eff .hist-col-dur{color:#dc2626!important}
.hist-row-sum td{height:32px;background:#dfe7ef;color:#172033;font-weight:900}
.hist-row-sum.hist-level-0 td{background:#26384b;color:#fff}
.hist-row-sum.hist-level-1 td{background:#d2dce7}
.hist-efetivo-input{width:56px;height:22px;border:1px solid #8fa2b7;border-radius:4px;background:#fff;text-align:center;color:#172033;font:900 11px Arial,sans-serif;user-select:text}
.hist-efetivo-input:focus{outline:2px solid #60a5fa;outline-offset:1px}
.hist-total-row td{position:sticky;bottom:29px;z-index:6;height:30px;border-top:2px solid #1f4f82;background:#dbeafe;color:#172033;font-weight:900}
.hist-total-row .hist-fixed{z-index:9}
.hist-peak-row td{position:sticky;bottom:0;z-index:6;height:29px;background:#fff3c4;color:#92400e;font-weight:900}
.hist-peak-row .hist-fixed{z-index:9}
.hist-peak-cell{background:#f59e0b!important;color:#fff!important}
.hist-theme-contraste .hist-month-head{background:#111827!important}
.hist-theme-contraste .hist-month-head:nth-of-type(even){background:#374151!important}
.hist-theme-contraste .hist-day-active{background:#fde68a!important;color:#78350f}
.hist-theme-contraste .hist-row-sum td{background:#fcd34d;color:#111827}
.hist-theme-contraste .hist-row-sum.hist-level-0 td{background:#111827;color:#fff}
.hist-theme-contraste .hist-total-row td{background:#bfdbfe;color:#172033}
.hist-theme-suave .hist-month-head{background:#4f6f65!important}
.hist-theme-suave .hist-month-head:nth-of-type(even){background:#647d73!important}
.hist-theme-suave .hist-day-active{background:#e2f0ea!important;color:#315a4b}
.hist-theme-suave .hist-row-sum td{background:#e6edf0;color:#334155}
.hist-theme-suave .hist-row-sum.hist-level-0 td{background:#496273;color:#fff}
.hist-theme-suave .hist-total-row td{background:#dcece5;color:#274c3f}
.hist-theme-suave .hist-peak-cell{background:#7b8f52!important;color:#fff!important}
.hist-theme-mono .hist-month-head{background:#343a40!important}
.hist-theme-mono .hist-month-head:nth-of-type(even){background:#565e64!important}
.hist-theme-mono .hist-day-active{background:#e5e7eb!important;color:#1f2937}
.hist-theme-mono .hist-row-sum td{background:#d1d5db;color:#111827}
.hist-theme-mono .hist-row-sum.hist-level-0 td{background:#292d32;color:#fff}
.hist-theme-mono .hist-total-row td{background:#d9dde2;color:#111827}
.hist-theme-mono .hist-peak-cell{background:#61676d!important;color:#fff!important}
.hist-macro-toolbar{grid-template-columns:minmax(220px,1fr) auto auto}
.hist-macro-document-head{display:grid;grid-template-columns:210px minmax(0,1fr) 210px;align-items:center;min-height:58px;padding:8px 12px;border:1px solid #d7e0eb;border-radius:6px;background:#fff}
.hist-macro-brand-logo{display:block;width:200px;height:39px;object-fit:contain}
.hist-macro-document-head h2{margin:0;text-align:center;color:#172033;font-size:1.05rem;font-weight:900;line-height:1.2}
.hist-macro-document-head h2 span{color:#c81e1e}
.hist-macro-brand-spacer{display:block;width:200px}
.hist-export-actions{display:flex;align-items:center;height:27px;border-right:1px solid #cbd5e1}
.hist-matrix-tools .hist-export-actions button{display:inline-flex;align-items:center;justify-content:center;width:27px;min-width:27px;height:27px;padding:0}
.hist-export-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hist-macro-export-actions{gap:4px;margin-right:7px;border-right:0}
.hist-matrix-tools .hist-macro-export-actions button{width:52px;min-width:52px;height:25px;gap:3px;border:0;border-radius:3px;color:#fff}
.hist-macro-export-actions button span{color:inherit;font-size:.58rem;font-weight:900}
.hist-macro-export-actions .hist-export-png{background:#0f766e}
.hist-macro-export-actions .hist-export-png:hover{background:#0b5f59}
.hist-macro-export-actions .hist-export-pdf{background:#b91c1c}
.hist-macro-export-actions .hist-export-pdf:hover{background:#991b1b}
.hist-line-export-actions{margin-right:7px;border-right:0}
.hist-matrix-tools .hist-line-export-actions button{width:52px;min-width:52px;height:25px;gap:3px;border:0;border-radius:3px;color:#fff}
.hist-line-export-actions button span{color:inherit;font-size:.58rem;font-weight:900}
.hist-line-export-actions .hist-export-pdf{background:#b91c1c}
.hist-line-export-actions .hist-export-pdf:hover{background:#991b1b}
.hist-macro-capacity{display:flex;align-items:center;height:30px;border:1px solid #b9c7d8;background:#fff}
.hist-macro-capacity span{height:28px;padding:0 8px;background:#edf2f7;color:#475569;font-size:.65rem;font-weight:900;line-height:28px;text-transform:uppercase}
.hist-capacity-info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:4px;border:1px solid #64748b;border-radius:50%;font-size:.57rem;line-height:1;text-transform:none}
.hist-macro-capacity input{width:92px;height:28px;border:0;border-left:1px solid #d7e0eb;padding:0 8px;text-align:center;color:#172033;font-size:.72rem;font-weight:900}
.hist-macro-kpi-text{overflow:hidden;font-size:.86rem!important;line-height:1.15!important;text-overflow:ellipsis;white-space:nowrap}
.hist-macro-rank-card{min-height:82px;padding-top:6px;padding-bottom:6px}
.hist-macro-rank-head{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:3px}
.hist-macro-rank-head>span{color:#64748b;font-size:.67rem;font-weight:700}
.hist-macro-rank-head>small{color:#475569;font-size:.58rem;font-weight:700;text-align:left;white-space:nowrap;transform:translateX(-24px)}
.hist-macro-rank-list{display:flex;flex-direction:column;gap:1px;margin-top:3px;padding-top:3px;border-top:1px solid rgba(100,116,139,.22)}
.hist-macro-rank-list>span{display:grid;grid-template-columns:21px minmax(0,1fr) 82px;align-items:center;gap:3px;min-width:0;color:#64748b;font-size:.57rem;font-weight:700;line-height:1.15}
.hist-macro-rank-list b{color:#475569;text-align:right}
.hist-macro-rank-list em{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.hist-macro-rank-list small{display:block;color:#64748b;font-size:.54rem;font-weight:600;text-align:left;white-space:nowrap}
.hist-macro-rank-list>span.primary b,.hist-macro-rank-list>span.primary em{color:#172033;font-weight:900}
.hist-macro-rank-list>span.more em{color:#64748b;font-weight:600}
.hist-macro-top-scroll{height:17px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c4cdd7;background:#edf2f7;scrollbar-color:#64748b #dce4ed}
#hist-macro-top-inner{height:1px}
.hist-macro-scroll{max-height:570px;overflow:auto;background:#f7f9fc;cursor:grab;scrollbar-color:#64748b #dce4ed;user-select:none}
.hist-macro-scroll.dragging{cursor:grabbing}
.hist-macro-stage{width:max-content;min-width:100%;transform-origin:top left}
.hist-macro-table{width:max-content;min-width:100%;border-spacing:0;table-layout:fixed;color:#263247;font:700 10px Arial,sans-serif}
.hist-macro-table th,.hist-macro-table td{box-sizing:border-box;border-right:1px solid #cbd3dc;border-bottom:1px solid #c4cdd7;text-align:center}
.hist-macro-table thead th{position:sticky;z-index:7}
.hist-macro-table thead tr:first-child th{top:0;height:32px}
.hist-macro-table thead tr:nth-child(2) th{top:32px;height:38px}
.hist-macro-fixed{position:sticky;z-index:5;background:#fff}
.hist-macro-table thead .hist-macro-fixed{z-index:12;background:#e6ebf1;color:#263247;text-transform:uppercase}
.hist-macro-item{left:0;width:70px;min-width:70px;max-width:70px}
.hist-macro-desc{left:70px;width:260px;min-width:260px;max-width:260px;overflow:hidden;padding:0 7px;text-align:left!important;text-overflow:ellipsis;white-space:nowrap}
.hist-macro-desc>span{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist-macro-desc i{display:inline-block;width:9px;height:9px;margin-right:6px;border:1px solid rgba(15,23,42,.18);border-radius:2px;flex:0 0 auto}
.hist-macro-ini{left:330px;width:78px;min-width:78px;max-width:78px}
.hist-macro-fim{left:408px;width:78px;min-width:78px;max-width:78px}
.hist-macro-efet{left:486px;width:64px;min-width:64px;max-width:64px;box-shadow:9px 0 12px rgba(38,50,71,.11)}
.hist-macro-scroll.hist-unfrozen .hist-macro-item,.hist-macro-scroll.hist-unfrozen .hist-macro-desc,.hist-macro-scroll.hist-unfrozen .hist-macro-ini,.hist-macro-scroll.hist-unfrozen .hist-macro-fim,.hist-macro-scroll.hist-unfrozen .hist-macro-efet{left:auto}
.hist-macro-scroll.hist-unfrozen .hist-macro-efet{box-shadow:none}
.hist-macro-month{height:32px;border-left:2px solid #fff!important;background:#28445f!important;color:#fff;font-size:.79rem;font-weight:900;text-transform:uppercase}
.hist-macro-month:nth-of-type(even){background:#176b70!important}
.hist-macro-week{width:58px;min-width:58px;max-width:58px;padding:3px 0;background:#edf2f7!important;color:#334155}
.hist-macro-week span,.hist-macro-week small{display:block;line-height:1.3}
.hist-macro-week small{color:#64748b;font-size:8px}
.hist-macro-table tbody td{height:31px}
.hist-macro-week-cell{width:58px;min-width:58px;max-width:58px;padding:6px 0;background:#fff}
.hist-macro-week-cell.current{box-shadow:inset 1px 0 rgba(220,38,38,.3),inset -1px 0 rgba(220,38,38,.3)}
.hist-macro-days{display:grid;grid-template-columns:repeat(6,1fr);width:calc(100% + 2px);height:19px;margin-left:-1px;overflow:visible}
.hist-macro-days span{background:#f1f5f9}
.hist-macro-days span.off{background:#d8dee6}
.hist-macro-days span.active{background:var(--macro-bar)}
.hist-macro-leaf:nth-child(even) .hist-macro-fixed{background:#f8fafc}
.hist-macro-leaf:hover .hist-macro-fixed{background:#eaf1f7}
.hist-macro-parent td{height:32px;background:#dfe7ef;color:#172033;font-weight:900}
.hist-macro-parent.hist-level-0 td{background:#26384b;color:#fff}
.hist-macro-parent.hist-level-1 td{background:#d2dce7}
.hist-macro-parent .hist-macro-week-cell{padding-top:6px;padding-bottom:6px}
.hist-macro-overlap td{height:30px;background:#dbeafe;color:#1e3a5f;font-weight:900}
.hist-macro-overlap .hist-macro-fixed{z-index:8}
.hist-macro-peaks td{height:42px}
.hist-macro-peaks .hist-macro-fixed{z-index:8;background:#eef2f6;color:#172033;font-weight:900}
.hist-macro-peak{padding:3px 6px;color:#172033}
.hist-macro-peak strong,.hist-macro-peak span,.hist-macro-peak small{display:block;line-height:1.15}
.hist-macro-peak strong{font-size:.8rem}
.hist-macro-peak span{font-size:.59rem;text-transform:uppercase}
.hist-macro-peak small{font-size:.57rem}
.hist-load-leve{background:#dcfce7}
.hist-load-moderado{background:#fef3c7}
.hist-load-alto{background:#fee2e2;color:#991b1b}
.hist-theme-contraste .hist-macro-month{background:#111827!important}
.hist-theme-contraste .hist-macro-month:nth-of-type(even){background:#374151!important}
.hist-theme-contraste .hist-macro-parent td{background:#fcd34d;color:#111827}
.hist-theme-contraste .hist-macro-parent.hist-level-0 td{background:#111827;color:#fff}
.hist-theme-suave .hist-macro-month{background:#4f6f65!important}
.hist-theme-suave .hist-macro-month:nth-of-type(even){background:#647d73!important}
.hist-theme-suave .hist-macro-parent td{background:#e6edf0;color:#334155}
.hist-theme-suave .hist-macro-parent.hist-level-0 td{background:#496273;color:#fff}
.hist-theme-mono .hist-macro-month{background:#343a40!important}
.hist-theme-mono .hist-macro-month:nth-of-type(even){background:#565e64!important}
.hist-theme-mono .hist-macro-parent td{background:#d1d5db;color:#111827}
.hist-theme-mono .hist-macro-parent.hist-level-0 td{background:#292d32;color:#fff}
.hist-theme-mono .hist-macro-days span.active{filter:grayscale(1)}
.hist-macro-export-host{box-sizing:border-box;color:#172033;font-family:Arial,sans-serif}
.hist-macro-export-host .hist-macro-export-clone{box-sizing:border-box;width:max-content;min-width:100%;padding:18px;background:#fff}
.hist-macro-export-host .hist-macro-document-head{width:auto}
.hist-macro-export-host .hist-macro-document-head h2{font-size:1.05rem}
.hist-macro-export-host .hist-macro-section{width:max-content;min-width:100%}
.hist-macro-export-host .hist-macro-scroll{max-height:none;overflow:visible;cursor:default;user-select:auto}
.hist-macro-export-host .hist-macro-stage,.hist-macro-export-host .hist-macro-table{width:max-content;min-width:100%}
.hist-macro-export-host .hist-macro-stage{position:relative}
.hist-macro-export-host .hist-macro-fixed,.hist-macro-export-host .hist-macro-table thead th{position:static!important;left:auto!important;top:auto!important}
.hist-macro-export-host .hist-macro-efet{box-shadow:none}
.hist-macro-current-outline{position:absolute;z-index:20;box-sizing:border-box;border:1px solid rgba(202,138,4,.78);background:transparent;pointer-events:none}
.hist-line-export-host{box-sizing:border-box;color:#172033;font-family:Arial,sans-serif}
.hist-line-export-clone{box-sizing:border-box;padding:18px;background:#fff}
.hist-line-export-head{display:flex;align-items:center;justify-content:center;min-height:54px;border:1px solid #d7e0eb;border-radius:6px;background:#fff}
.hist-line-export-head h2{margin:0;color:#172033;font-size:1.05rem;font-weight:900;line-height:1.2;text-align:center}
.hist-line-export-head h2 span{color:#c81e1e}
.hist-line-export-host .hist-chart-section,.hist-line-export-host .hist-matrix-section{width:100%}
.hist-line-export-host .hist-chart-scroll{overflow:visible;cursor:default;user-select:auto}
.hist-line-export-host .hist-matrix-scroll{max-height:none;overflow:visible;cursor:default;user-select:auto}
.hist-line-export-host .hist-matrix-stage{position:relative;width:max-content;min-width:100%}
.hist-line-export-host .hist-matrix{width:max-content;min-width:100%}
.hist-line-export-host .hist-fixed,.hist-line-export-host .hist-matrix thead th,.hist-line-export-host .hist-total-row td,.hist-line-export-host .hist-peak-row td{position:static!important;left:auto!important;top:auto!important;bottom:auto!important}
.hist-line-export-host .hist-col-efet{box-shadow:none}
.hist-line-current-outline{position:absolute;z-index:20;box-sizing:border-box;border:1px solid rgba(202,138,4,.78);background:transparent;pointer-events:none}
.hist-empty{display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#64748b;text-align:center}
.hist-empty strong{color:#172033;font-size:1rem}
.hist-empty span{font-size:.78rem}
@media(max-width:1100px){
  .hist-toolbar{grid-template-columns:1fr}
  .hist-macro-toolbar{grid-template-columns:1fr}
  .hist-macro-document-head{grid-template-columns:180px minmax(0,1fr)}
  .hist-macro-brand-logo{width:170px;height:34px}
  .hist-macro-brand-spacer{display:none}
  .hist-workdays{flex-wrap:wrap}
  .hist-kpis{grid-template-columns:repeat(2,minmax(150px,1fr))}
}
@media(max-width:680px){
  .hist-shell{padding:8px}
  .hist-view-tabs{flex-wrap:wrap}
  .hist-sync-btn{margin-left:0}
  .hist-kpis{grid-template-columns:1fr 1fr}
  .hist-section-head{align-items:flex-start;flex-direction:column;gap:2px}
  .hist-macro-document-head{grid-template-columns:1fr;gap:7px}
  .hist-macro-brand-logo{width:170px;justify-self:center}
  .hist-macro-document-head h2{font-size:.86rem}
}
.mapa-recorte-parcial-btn {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 0;
  border: 1px solid #a78bfa;
  border-radius: 3px;
  background: #faf8ff;
  color: #6d28d9;
  font-size: 9px;
  line-height: 10px;
  vertical-align: middle;
  cursor: pointer;
  opacity: .72;
}

.mapa-recorte-parcial-legenda {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid #c4b5fd;
  border-radius: 5px;
  background: #ede9fe;
  color: #5b21b6;
  font-size: .76rem;
  font-weight: 700;
  white-space: nowrap;
}

.mapa-recorte-parcial-btn:hover,
.mapa-recorte-parcial-btn.ativo {
  border-color: #6d28d9;
  background: #ede9fe;
  color: #4c1d95;
  opacity: 1;
}

.mapa-recorte-parcial-btn.ativo {
  box-shadow: inset 0 0 0 1px #6d28d9;
}

.mapa-recorte-parcial-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.mapa-recorte-parcial-eixo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface-soft, #f8fafc);
}

.mapa-recorte-parcial-eixo strong {
  grid-column: 1 / -1;
  font-size: .8rem;
  color: var(--text2);
}

.mapa-recorte-parcial-eixo label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: .72rem;
  color: var(--text-muted);
}

.mapa-recorte-parcial-eixo select {
  width: 100%;
  min-height: 34px;
  padding: 5px 7px;
  border: 1px solid var(--border);
  border-radius: 5px;
  background: var(--surface, #fff);
  color: var(--text);
}

.mapa-recorte-parcial-preview {
  position: relative;
  width: min(320px, 100%);
  height: 150px;
  margin: 14px auto 0;
  overflow: hidden;
  border: 1px solid #94a3b8;
  border-radius: 4px;
  background: repeating-linear-gradient(135deg, #f1f5f9 0 8px, #e2e8f0 8px 10px);
}

.mapa-recorte-parcial-preview::before {
  content: '';
  position: absolute;
  left: var(--rp-left, 0%);
  top: var(--rp-top, 0%);
  width: var(--rp-width, 100%);
  height: var(--rp-height, 100%);
  background: #dbeafe;
  border: 2px solid #2563eb;
  box-sizing: border-box;
}

.mapa-recorte-parcial-preview span {
  position: absolute;
  z-index: 1;
  left: var(--rp-cx, 50%);
  top: var(--rp-cy, 50%);
  transform: translate(-50%, -50%);
  color: #1e3a8a;
  font-size: .74rem;
  font-weight: 700;
  white-space: nowrap;
}

.mapa-recorte-parcial-preview[data-invalido="1"] span { display: none; }

@media (max-width: 620px) {
  .mapa-recorte-parcial-grid { grid-template-columns: 1fr; }
}

#tab-orcadoContratado button[data-oc-alcada].sgo-access-locked::after,
#tab-orcadoContratado .oc-icon-btn[data-oc-alcada].sgo-access-locked::after {
  right: 2px;
  bottom: 2px;
  top: auto;
  transform: scale(.78);
  transform-origin: right bottom;
}

#tab-orcadoContratado input[data-oc-alcada][aria-disabled="true"] {
  pointer-events: none;
  cursor: not-allowed;
}
