:root{
    --navy:#1F3864; --navy2:#2F5496; --gold:#BF8F00;
    --bg:#f5f6f8; --panel:#ffffff; --border:#dde1e8; --text:#1c2433; --muted:#6b7280;
    --good:#0f8a3f; --warn:#c46a1a; --bad:#b03030;
  }
  *{box-sizing:border-box}
  html,body{margin:0;height:100%;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
  body{display:flex;flex-direction:column;height:100vh}
  header{display:flex;align-items:center;gap:14px;background:#ffffff;color:var(--navy);padding:6px 18px;border:3px solid var(--navy);border-top:none;flex:none}
  header img{height:96px;width:auto}
  header h1{font-size:18px;margin:0;font-weight:700;letter-spacing:.3px;color:var(--navy)}
  header .sub{font-size:12px;color:var(--muted);margin-top:3px}
  header .spacer{flex:1}
  .global-search{position:relative;width:min(300px,22vw);margin-right:12px}.global-search input{width:100%;box-sizing:border-box;border:1px solid #b9c6d5;border-radius:18px;padding:8px 34px 8px 13px;font-size:11.5px;background:#fff}.global-search input:focus{outline:2px solid #d6a928;outline-offset:1px}.global-search-results{display:none;position:absolute;z-index:3000;top:39px;right:0;width:430px;max-height:390px;overflow:auto;background:#fff;border:1px solid #cbd6e2;border-radius:8px;box-shadow:0 14px 38px rgba(8,29,51,.24)}.global-search-results.open{display:block}.search-result{display:block;width:100%;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;padding:10px 12px;cursor:pointer}.search-result:hover,.search-result:focus{background:#eef6fb}.search-result b{display:block;color:#123653;font-size:11.5px}.search-result span{display:block;color:#708194;font-size:9.5px;margin-top:2px}.search-empty{padding:18px;color:#708194;font-size:11px}
  header .src-note{font-size:11.5px;color:var(--muted);text-align:right;line-height:1.4}
  #btn-area-tecnica{font-size:10.5px;color:var(--muted);background:none;border:1px solid var(--border);border-radius:4px;padding:2px 8px;cursor:pointer;margin-top:4px}
  #btn-area-tecnica:hover{background:#eef2f8;color:var(--navy)}
  .header-dev-card{display:flex;align-items:center;gap:8px;padding:3px 10px 3px 3px;border:1px solid var(--border);border-radius:20px;background:#f8fafc;flex:none;max-width:230px}
  .header-dev-card img{height:36px;width:36px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);box-shadow:none}
  .header-dev-copy{display:flex;flex-direction:column;line-height:1.25;overflow:hidden}
  .header-dev-copy span{display:none}
  .header-dev-copy strong{font-size:11px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-dev-copy em{font-style:normal;font-size:9.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-dev-copy a{font-size:9.5px;color:#277d9c;text-decoration:none}
  .header-dev-copy a:hover{text-decoration:underline}

  /* Inteligencia de Mercado */
  .mkt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:22px}
  .mkt-card{background:#fff;border:1px solid var(--border);border-radius:7px;padding:14px 16px}
  .mkt-card h4{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
  .mkt-price{font-size:26px;font-weight:800;color:var(--navy)}
  .mkt-unit{font-size:11px;color:var(--muted);margin-left:4px;font-weight:400}
  .mkt-var{font-size:12px;font-weight:700;margin-top:4px}
  .mkt-var.up{color:var(--good)} .mkt-var.down{color:var(--bad)} .mkt-var.flat{color:var(--muted)}
  .mkt-meta{font-size:10.5px;color:var(--muted);margin-top:8px;line-height:1.6}
  .mkt-section{background:#fff;border:1px solid var(--border);border-radius:7px;padding:16px 18px;margin-bottom:16px}
  .mkt-section h3{margin:0 0 10px;font-size:14px;color:var(--navy);display:flex;align-items:center;justify-content:space-between}
  .mkt-section h3 .badge{font-size:10px;font-weight:700;padding:1px 8px;border-radius:9px;background:#eef2f8;color:var(--muted)}
  .mkt-pending{color:var(--muted);font-size:12px;font-style:italic;padding:10px 0}

  #coluna-estratigrafica-canvas .coluna-row{display:flex;align-items:stretch;border-bottom:1px solid #edf1f5;cursor:pointer;transition:background .15s}
#coluna-estratigrafica-canvas .coluna-row:hover{background:#eef6fb}
#coluna-estratigrafica-canvas .coluna-row.active{background:#e0edf8;border-left:3px solid #1F3864}
#coluna-estratigrafica-canvas .coluna-swatch{width:28px;min-height:42px;border-right:2px solid #edf1f5}
#coluna-estratigrafica-canvas .coluna-label{flex:1;padding:8px 12px}
#coluna-estratigrafica-canvas .coluna-label b{display:block;font-size:11.5px;color:#123653}
#coluna-estratigrafica-canvas .coluna-label span{font-size:10px;color:#6b7280}
#striplog-canvas .strip-row{display:flex;align-items:stretch;border-bottom:1px solid #edf1f5;min-height:28px}
#striplog-canvas .strip-swatch{width:22px;border-right:2px solid #edf1f5}
#striplog-canvas .strip-depth{width:50px;font-size:9px;color:#6b7280;text-align:right;padding:4px 6px 4px 0}
#striplog-canvas .strip-lit{flex:1;font-size:10px;padding:4px 8px;color:#3a4a5c}
.geo-gradient-bar{display:flex;height:18px;border-radius:4px;overflow:hidden;margin-top:6px}
.geo-gradient-bar div{flex:1}
  .news-item{border-bottom:1px solid #eef0f4;padding:9px 0}
  .news-item:last-child{border-bottom:none}
  .news-item .title{font-weight:700;font-size:12.5px;color:var(--navy)}
  .news-item .meta{font-size:10.5px;color:var(--muted);margin:2px 0 4px}
  .news-item .summary{font-size:12px;line-height:1.5}

  .news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
  .news-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
  .news-card .thumb{height:110px;display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy2))}
  .news-card .thumb.geo{background:linear-gradient(135deg,#6b3aa0,#8b56c0)}
  .news-card .body{padding:10px 12px;display:flex;flex-direction:column;gap:5px;flex:1}
  .news-card .cat{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gold)}
  .news-card .title{font-weight:700;font-size:13px;color:var(--navy);line-height:1.3}
  .news-card .meta{font-size:10.5px;color:var(--muted)}
  .news-card .summary{font-size:11.5px;line-height:1.5;color:var(--text);flex:1}
  .news-card .impacto{font-size:10.5px;color:var(--muted);border-top:1px dashed var(--border);padding-top:6px;margin-top:2px}
  .news-card .src-link{font-size:11px;font-weight:700;color:var(--navy2);text-decoration:none;margin-top:6px;display:inline-block}
  .news-card .src-link:hover{text-decoration:underline}

  .news-grid-compact{grid-template-columns:1fr;max-height:430px;overflow-y:auto;padding-right:4px}
  .news-grid-compact .news-card{flex-direction:row}
  .news-grid-compact .news-card .thumb{height:auto;width:42px;flex:none;font-size:16px}
  .news-grid-compact .news-card .body{padding:7px 10px;gap:2px}
  .news-grid-compact .news-card .cat{font-size:8.5px}
  .news-grid-compact .news-card .title{font-size:11px}
  .news-grid-compact .news-card .meta{font-size:9.5px}
  .news-grid-compact .news-card .summary{font-size:10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .news-grid-compact .news-card .impacto{display:none}
  .news-grid-compact .news-card .src-link{font-size:9.5px;margin-top:3px}

  .rounds-analysis-50{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}
  .rounds-analysis-80{display:grid;grid-template-columns:4fr 1fr;gap:16px;margin-top:4px}
  .rounds-analysis-70{display:grid;grid-template-columns:2.33fr 1fr;gap:16px;margin-top:16px}
  .mkt-forecast-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:7px 10px;margin-top:6px;font-size:9.5px;color:#334b63}
  .mkt-forecast-controls label{display:flex;flex-direction:column;gap:2px;font-weight:600}
  .mkt-forecast-controls label[hidden]{display:none}
  .mkt-forecast-controls label.fc-chk{flex-direction:row;align-items:center;gap:5px;font-weight:400;grid-column:span 2}
  .mkt-forecast-controls input[type=number]{border:1px solid #cbd6e2;border-radius:4px;padding:4px 6px;font-size:10.5px;width:100%}
  .fc-run-btn{grid-column:1/-1;border:1px solid var(--gold);background:#fff;color:var(--navy);font-weight:700;font-size:11px;padding:7px 10px;border-radius:5px;cursor:pointer}
  .fc-run-btn:hover{background:#fdf7e6}
  .fc-run-btn:disabled{opacity:.6;cursor:wait}
  .mkt-forecast-controls label.fc-anchor-label{grid-column:span 2}
  .mkt-forecast-controls select{border:1px solid #cbd6e2;border-radius:4px;padding:4px 6px;font-size:10.5px;width:100%;background:#fff;color:#334b63}
  .mkt-forecast-controls label.fc-mu-calibrated input[type=number]{border-color:var(--gold);background:#fdf7e6}
  .fc-sources-table{width:100%;border-collapse:collapse;font-size:10px;margin-top:4px}
  .fc-sources-table td{padding:3px 6px;border-bottom:1px solid #edf1f5;vertical-align:top;color:#334b63}

  .chart-box{height:230px}
  .card-max-btn{float:right;margin-left:6px;width:22px;height:22px;line-height:1;border:1px solid #cbd6e2;border-radius:4px;background:#fff;color:#334b63;font-size:12px;cursor:pointer;padding:0}
  .card-max-btn:hover{background:#f0f4f8;border-color:#9fb3c4}
  body.rounds-card-max-active::before{content:'';position:fixed;inset:0;background:rgba(10,20,30,.55);z-index:9998}
  .rounds-card-max{position:fixed;inset:16px;z-index:9999;margin:0;overflow:auto;box-shadow:0 10px 40px rgba(0,0,0,.4)}
  .rounds-card-max .chart-box{height:calc(100vh - 260px);min-height:280px}
  .fc-sources-table td:nth-child(3){font-weight:700;color:#102f4d;white-space:nowrap}

  /* Mapas Geologicos */
  .geo-tag{display:inline-block;padding:1px 7px;border-radius:8px;font-size:9px;font-weight:700;color:#fff;background:#6b3aa0;margin-right:4px}
  .geo-tag.moderno{background:#277d9c} .geo-tag.antigo{background:#a77b00} .geo-tag.margem{background:#7a1c1c}
  #geo-world-map{height:340px;border-radius:6px;overflow:hidden}
  .geo-map-fullscreen-btn{position:absolute;top:8px;right:8px;z-index:1000;width:28px;height:28px;border:1px solid rgba(0,0,0,.2);border-radius:4px;background:#fff;cursor:pointer;font-size:14px;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.3)}
  .geo-kriging-controls{position:absolute;bottom:8px;left:8px;z-index:1000;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
  .geo-kriging-btn{border:1px solid rgba(0,0,0,.2);border-radius:4px;background:#fff;cursor:pointer;font-size:10.5px;padding:5px 9px;box-shadow:0 1px 4px rgba(0,0,0,.3);white-space:nowrap}
  .geo-kriging-btn:hover{background:#eef2f8}
  .geo-kriging-btn:disabled{opacity:.6;cursor:wait}
  .geo-kriging-range{display:flex;align-items:center;gap:4px;font-size:9.5px;color:#334b63;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:4px;padding:4px 7px;box-shadow:0 1px 4px rgba(0,0,0,.3);white-space:nowrap}
  .geo-kriging-range input[type=number]{width:52px;font-size:10px;border:1px solid #cbd6e2;border-radius:3px;padding:2px 4px}
  .geo-kriging-levels-input{width:44px;font-size:10px;border:1px solid rgba(0,0,0,.2);border-radius:4px;padding:4px 5px;box-shadow:0 1px 4px rgba(0,0,0,.15)}
  .geo-collapsible summary{cursor:pointer;list-style:none}
  .geo-collapsible summary::-webkit-details-marker{display:none}
  .geo-collapsible summary h3{margin:0}
  .geo-collapsible summary::before{content:'▸ ';color:var(--muted);font-size:13px}
  .geo-collapsible[open] summary::before{content:'▾ '}
  .geo-collapsible .sub{margin-top:6px}
  .geo-card-photo{width:100%;height:110px;object-fit:cover;display:block;background:#e2e8f0}
  .geo-popup-photo{width:100%;max-width:220px;height:110px;object-fit:cover;border-radius:4px;display:block;margin-bottom:6px}
  .geo-map-fullscreen-btn:hover{background:#eef2f8}
  #gradiente-geotermico-map:fullscreen,#isopack-map:fullscreen,#porosidade-map:fullscreen,#geo-world-map:fullscreen,#geo-reconstruction-map:fullscreen{background:#fff;width:100vw;height:100vh}
  .timeline-slider-wrap{padding:6px 10px 2px}
  .timeline-slider-wrap input[type=range]{width:100%}
  .timeline-labels{display:flex;justify-content:space-between;font-size:9.5px;color:var(--muted);font-family:Consolas,monospace;padding:0 4px}
  #timeline-stage-visual{height:780px;border-radius:6px;background:#09233a;position:relative;overflow:hidden;margin-top:10px;border:1px solid #274761}
  #geo-reconstruction-map{height:100%;width:100%;background:#09233a}
  .reconstruction-badge{position:absolute;z-index:700;top:10px;left:10px;background:rgba(7,27,45,.9);color:#e8f0f5;border:1px solid rgba(255,255,255,.18);border-radius:5px;padding:7px 10px;font:700 9px Consolas,monospace;pointer-events:none}.reconstruction-badge b{color:#e0bd53}
  #timeline-stage-caption{font-size:12px;line-height:1.6;margin-top:10px}
  #timeline-stage-caption b{color:var(--navy)}
  .biblio-group{margin-top:14px}
  .biblio-group h4{margin:0 0 6px;font-size:12.5px;color:var(--navy);text-transform:uppercase;letter-spacing:.03em}
  .biblio-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .biblio-status{font-size:11px;color:var(--muted)}
  .anp-scenario-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
  .anp-scenario{background:#f5f8fb;border-radius:8px;padding:12px;text-align:center;border-top:3px solid var(--navy)}
  .anp-scenario b{display:block;font-size:22px;color:var(--navy)}
  .anp-scenario span{font-size:10.5px;color:var(--muted)}
  .anp-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;background:#e4f3ea;color:#1c7a41}
  .relevance{display:inline-block;padding:0 6px;border-radius:8px;font-size:9.5px;font-weight:700;color:#fff}
  .relevance.alta{background:var(--bad)} .relevance.media{background:var(--warn)} .relevance.baixa{background:var(--muted)}
  .risk-chip{display:inline-block;padding:0 7px;border-radius:8px;font-size:9.5px;font-weight:700;color:#fff}
  .risk-chip.baixo{background:var(--good)} .risk-chip.medio{background:var(--warn)} .risk-chip.alto{background:#c0392b} .risk-chip.critico{background:#7a1c1c}
  .watch-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border:1px solid var(--border);border-radius:12px;margin:2px;cursor:pointer;user-select:none}
  .watch-chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}

  #app-tabs{display:flex;gap:2px;background:#f6f8fc;border-bottom:1px solid var(--border);padding:0 16px;flex:none}
  #app-tabs button{background:none;border:none;padding:9px 16px;font-size:12.5px;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;font-weight:600}
  #app-tabs button:hover{background:#eef2f8;color:var(--navy)}
  #app-tabs button.active{color:var(--navy);border-bottom-color:var(--gold)}
  .tab-panel{display:flex;flex-direction:column;flex:1;min-height:0}

  /* faixa de ferramentas rapidas, estilo barra de programa, entre o header e as abas */
  #app-toolbar{display:flex;align-items:center;gap:4px;background:#eef2f8;border-bottom:1px solid var(--border);padding:4px 16px;flex:none;position:relative}
  .toolbar-item{position:relative}
  .toolbar-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid transparent;border-radius:5px;padding:5px 10px;font-size:11px;font-weight:600;color:var(--navy);cursor:pointer;white-space:nowrap}
  .toolbar-btn:hover{background:#fff;border-color:var(--border)}
  .toolbar-btn .tb-icon{font-size:14px;line-height:1}
  .toolbar-sep{width:1px;align-self:stretch;margin:2px 6px;background:var(--border)}
  .toolbar-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:2500;width:250px;background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:0 10px 28px rgba(8,29,51,.2);padding:10px}
  .toolbar-popover-wide{width:320px;max-height:70vh;overflow-y:auto}
  .toolbar-popover-title{font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px}
  .toolbar-popover .favorites-list{margin-bottom:8px}
  .toolbar-popover button.wide{width:100%;padding:6px;font-size:10.5px;border:1px solid var(--border);border-radius:4px;background:#eef2f8;cursor:pointer}
  .toolbar-popover button.wide:hover{background:#e2e8f4}
  .active-layers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
  .active-layers-list .empty-note{font-size:10.5px;color:var(--muted);padding:6px 2px}
  .active-layer-row{display:flex;align-items:center;gap:6px;padding:5px 6px;border:1px solid var(--border);border-radius:5px;background:#f8fafc;cursor:grab;font-size:11px}
  .active-layer-row.dragging{opacity:.4}
  .active-layer-row.drag-over{border-color:var(--gold);border-style:dashed}
  .active-layer-row.hidden-layer{opacity:.5}
  .active-layer-row .alr-handle{color:var(--muted);font-size:12px;flex:none;cursor:grab}
  .active-layer-row .alr-eye{border:none;background:none;cursor:pointer;font-size:13px;flex:none;padding:1px 3px;line-height:1}
  .active-layer-row .alr-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dark .active-layer-row{background:#1e293b;border-color:#334155;color:#e2e8f0}
  .dark #app-toolbar{background:#111827;border-color:#263248}
  .dark .toolbar-btn{color:#e2e8f0}
  .dark .toolbar-btn:hover{background:#1e293b;border-color:#334155}
  .dark .toolbar-sep{background:#334155}
  .dark .toolbar-popover{background:#1e293b;border-color:#334155}
  .dark .toolbar-popover button.wide{background:#0f172a;border-color:#334155;color:#cbd5e1}
  @media(max-width:900px){#app-toolbar .tb-label{display:none}#app-toolbar{padding:4px 8px;overflow-x:auto}}

  #kpis{display:flex;gap:10px;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none}
  .kpi{background:#f0f3f8;border-left:3px solid var(--navy);border-radius:0 4px 4px 0;padding:6px 12px;font-size:11.5px;min-width:110px}
  .kpi b{display:block;font-size:16px;color:var(--navy)}
  .kpi.good{border-left-color:var(--good)} .kpi.good b{color:var(--good)}
  .kpi.gold{border-left-color:var(--gold)} .kpi.gold b{color:#8a6a00}
  .kpi.muted{border-left-color:var(--muted)} .kpi.muted b{color:var(--muted)}

  #app{flex:1;min-height:0;display:flex}
  #sidebar{width:270px;flex:none;background:var(--panel);border-right:1px solid var(--border);padding:10px;overflow-y:auto}
  #sidebar h3{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:14px 0 6px}
  #sidebar h3:first-child{margin-top:0}
  #sidebar input[type=text],#sidebar select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:12.5px;margin-bottom:4px;background:#fff;color:var(--text)}
  #sidebar label.chk{display:flex;align-items:center;gap:6px;font-size:12px;padding:2px 0;cursor:pointer}
  #count-badge{background:#fffae5;border:1px solid var(--gold);border-radius:5px;padding:8px 10px;font-size:12px;margin-bottom:10px;color:var(--navy);font-weight:600;text-align:center}
  #sidebar button{width:100%;padding:7px;border:1px solid var(--border);background:#eef2f8;border-radius:4px;font-size:12px;cursor:pointer;margin-top:4px}
  #sidebar button:hover{background:#e2e8f4}
  #sidebar button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
  #sidebar button.primary:hover{background:var(--navy2)}
  .scope-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}
  #sidebar .scope-actions button{margin:0;padding:6px 5px;background:#eef4f9;border-color:#c9d7e5;color:#173f63;font-size:10px;font-weight:700;line-height:1.25}
  #sidebar .scope-actions button:hover{background:#dce8f2}
  #sidebar .scope-actions button.active{background:#173f63;border-color:#173f63;color:#fff}
  .scope-status{margin-top:5px;font-size:9px;line-height:1.35;color:#687b8e}
  #sidebar .geoscience-preset{margin-top:8px;background:#173f63;border-color:#173f63;color:#fff;font-weight:700}
  #sidebar .geoscience-preset:hover{background:#245b86}
  .geoscience-note{margin-top:6px;font-size:9px;line-height:1.4;color:#687b8e}
  .geoscience-sources{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:7px}.geoscience-sources a{font-size:9px;color:#277d9c;text-decoration:none}.geoscience-sources a:hover{text-decoration:underline}
  .remote-layer-panel{display:none;margin:2px 0 7px 18px;padding:7px 8px;border-left:2px solid #7395b6;background:#f2f7fb;border-radius:0 5px 5px 0}.remote-layer-panel.open{display:block}.remote-layer-panel label{display:flex;align-items:center;gap:7px;font-size:9px;color:#65768a}.remote-layer-panel input{flex:1}.remote-layer-panel a{display:inline-block;margin-top:5px;font-size:9px;color:#277d9c;text-decoration:none}
  .legend-row{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:2px 0}
  .legend-dot{width:11px;height:11px;border-radius:50%;flex:none;border:1px solid rgba(0,0,0,.25)}

  /* barra de acoes da sidebar (colapsar/expandir tudo) */
  #sidebar-toolbar{display:flex;gap:6px;margin-bottom:8px}
  #sidebar-toolbar button{flex:1;margin:0;padding:5px;font-size:10px}
  .dark #sidebar-toolbar button{background:#1e293b;border-color:#334155;color:#cbd5e1}

  /* arvore de camadas */
  .tree-group{border:1px solid var(--border);border-radius:5px;margin-bottom:6px;background:#fbfcfe}
  .tree-group summary{list-style:none;cursor:pointer;padding:6px 8px;font-size:12px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:6px;user-select:none}
  .tree-group summary::-webkit-details-marker{display:none}
  .tree-group summary::before{content:'▸';font-size:10px;color:var(--muted);transition:transform .15s}
  .tree-group[open] summary::before{transform:rotate(90deg)}
  .tree-group .tree-body{padding:2px 10px 8px 22px}
  .tree-group.nested{margin:6px 10px 8px;background:#f4f7fb}
  .tree-group.nested summary{font-size:11px}
  .tree-subhead{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin:8px 0 3px;padding-top:6px;border-top:1px dashed var(--border)}
  .tree-body>.tree-subhead:first-child{border-top:none;padding-top:0;margin-top:0}
  .favorites-list{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
  .favorite-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;padding:3px 8px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer}
  .coord-cand-row{display:flex;align-items:center;gap:6px;font-size:10.5px;padding:4px 6px;border:1px solid #dbe2ee;border-radius:5px;background:#f8fafc}
  .coord-cand-row .cc-value{font-family:Consolas,monospace;font-weight:700;color:#173f63;flex:1}
  .coord-cand-row .cc-raw{font-size:9px;color:var(--muted)}
  .coord-cand-row button{margin:0!important;width:auto!important;padding:2px 7px!important;font-size:9.5px!important;flex:none}
  .favorite-chip:hover{background:#eef2f8}
  .favorite-chip .fav-remove{color:var(--muted);font-weight:700}
  .favorite-chip .fav-remove:hover{color:#b03030}
  .dark .tree-group.nested{background:#0f172a}
  .dark .tree-subhead{border-color:#334155}
  .dark .favorite-chip{background:#1e293b;border-color:#334155;color:#cbd5e1}
  .tree-item{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 0;cursor:pointer}
  .tree-item .layer-tool-toggle{margin:0 0 0 auto!important;width:22px!important;min-width:22px;padding:1px!important;border:0!important;background:transparent!important;color:#64778b;font:700 13px Consolas,monospace}.tree-item .layer-tool-toggle:hover{color:var(--navy)!important;background:#e6edf5!important}
  .layer-tool-panel{display:none;margin:2px 0 7px 18px;padding:8px;border-left:2px solid #b8c5d3;background:#f7f9fc;border-radius:0 5px 5px 0}.layer-tool-panel.open{display:block}.layer-style-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px}.layer-style-grid label{font-size:9px;color:#65768a;text-transform:uppercase}.layer-style-grid input,.layer-style-grid select{display:block;width:100%;height:24px;margin-top:2px;border:1px solid #c9d3de;border-radius:3px;font-size:10px;background:#fff}.layer-style-grid input[type=color]{padding:1px}.layer-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:7px}.layer-actions button{margin:0!important;padding:5px 3px!important;font-size:9px!important}.layer-actions .wide{grid-column:1/-1}
  .tree-swatch{width:14px;height:10px;flex:none;border:1px solid rgba(0,0,0,.3)}
  .tree-swatch.line{height:0;border:none;border-top:2px solid; }
  .tree-swatch.dashed{height:0;border:none;border-top:2px dashed;}
  .label-controls{padding:8px 10px;margin:7px 0 10px;border:1px solid var(--border);border-radius:5px;background:#f8fafc}
  .label-controls .control-title{font-size:11px;font-weight:700;color:var(--navy);margin-bottom:6px;text-transform:uppercase}
  .label-controls label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10.5px;margin-top:5px}
  .label-controls select{width:100%;font-size:10.5px;padding:4px;border:1px solid var(--border);border-radius:3px;background:#fff}
  .label-controls input[type=color]{width:34px;height:24px;padding:1px;border:1px solid var(--border);border-radius:3px;background:#fff}
  .label-controls input[type=range]{width:105px}
  .label-controls output{min-width:32px;text-align:right;color:var(--muted)}
  .partilha-field{border:1px solid #dbe2ee;border-radius:4px;margin:5px 0;background:#fff}
  .partilha-field summary{cursor:pointer;padding:5px 6px;font-size:10.5px;font-weight:700;color:var(--navy)}
  .partilha-field .asset-body{padding:0 6px 7px;font-size:10px;line-height:1.45;color:var(--muted)}
  .asset-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:5px}
  #sidebar .asset-actions button{padding:4px 2px;margin:0;font-size:9.5px;background:#eef2f8}
  #partilha-dialog{width:min(760px,92vw);max-height:86vh;border:0;border-radius:8px;padding:0;box-shadow:0 18px 60px rgba(0,0,0,.3)}
  #partilha-dialog::backdrop{background:rgba(18,28,46,.55)}
  #partilha-dialog .dialog-head{display:flex;align-items:center;padding:12px 16px;background:var(--navy);color:#fff}
  #partilha-dialog .dialog-head h2{font-size:16px;margin:0;flex:1}
  #partilha-dialog .dialog-head button{border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}
  #partilha-dialog .dialog-body{padding:16px;overflow-y:auto;max-height:calc(86vh - 48px)}
  #uni-image-dialog{width:min(900px,94vw);max-height:90vh;border:0;border-radius:8px;padding:0;box-shadow:0 18px 60px rgba(0,0,0,.4)}
  #uni-image-dialog::backdrop{background:rgba(7,20,37,.7)}
  #uni-image-dialog .dialog-head{display:flex;align-items:center;padding:12px 16px;background:#0B1F3A;color:#fff}
  #uni-image-dialog .dialog-head h2{font-size:15px;margin:0;flex:1;font-weight:700}
  #uni-image-dialog .dialog-head button{border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}
  #uni-image-dialog .dialog-body{padding:0;overflow-y:auto;max-height:calc(90vh - 48px)}
  #uni-image-dialog .dialog-body img{width:100%;display:block}
  #uni-image-dialog .dialog-body .cap{padding:12px 16px;font-size:11.5px;color:#5b6b7d;line-height:1.55}
  .asset-kpis{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
  .asset-kpis .kpi{min-width:125px;flex:1}
  .asset-news{border-top:1px solid var(--border);padding:8px 0;font-size:11px}

  /* dashboard executivo de rodadas */
  #tab-panel-rodadas{background:#eef3f8;color:#15263a}
  .rodadas-subnav{display:flex;gap:6px;margin:16px 0}
  .rodadas-subtab{padding:8px 16px;border:1px solid var(--border);border-radius:20px;background:#fff;font-size:12px;font-weight:700;color:#53677a;cursor:pointer}
  .rodadas-subtab:hover{background:#f5f8fb}
  .rodadas-subtab.active{background:var(--navy);border-color:var(--navy);color:#fff}
  .rodadas-subview{padding-top:2px}
  .dark .rodadas-subtab{background:#1e293b;border-color:#334155;color:#94a3b8}
  .dark .rodadas-subtab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}
  .fase-chip{display:inline-block;padding:2px 6px;border-radius:10px;font-size:8.5px;color:#fff;margin-left:5px}
  .fase-chip.exploracao{background:#a77b00}.fase-chip.desenvolvimento{background:#277d9c}.fase-chip.producao{background:#2f8f5b}
  .rounds-shell{font-family:"Segoe UI",Arial,sans-serif}
  .rounds-hero{position:relative;overflow:hidden;border-radius:12px;padding:30px 34px;color:#fff;background:#081d33;box-shadow:0 14px 34px rgba(8,29,51,.18)}
  .rounds-hero::after{content:"";position:absolute;right:-55px;top:-100px;width:420px;height:280px;border:1px solid rgba(214,169,40,.24);border-radius:50%;box-shadow:0 0 0 38px rgba(214,169,40,.035),0 0 0 76px rgba(73,167,197,.035);transform:rotate(-12deg)}
  .rounds-eyebrow{font:700 10px Consolas,monospace;letter-spacing:2px;text-transform:uppercase;color:#e0bd53;margin-bottom:8px}
  .rounds-hero h2{position:relative;z-index:1;margin:0;max-width:760px;font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:32px;line-height:1.05;font-weight:700;letter-spacing:-.5px}
  .rounds-hero p{position:relative;z-index:1;max-width:760px;margin:12px 0 0;color:#bdcad8;font-size:12.5px;line-height:1.55}
  .rounds-live{position:absolute;right:26px;bottom:24px;z-index:1;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:6px 10px;font:700 10px Consolas,monospace;color:#dbe8f3;background:rgba(255,255,255,.06)}
  .rounds-live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e0bd53;margin-right:6px;box-shadow:0 0 0 4px rgba(224,189,83,.13)}
  .rounds-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:18px 0;background:#cbd6e2;border:1px solid #cbd6e2;border-radius:9px;overflow:hidden}
  .round-metric{background:#fff;padding:15px 16px;min-height:78px}
  .round-metric b{display:block;font:700 22px Bahnschrift,"Arial Narrow",sans-serif;color:#0d2b48;letter-spacing:-.4px}
  .round-metric span{font-size:10px;color:#63758a;line-height:1.3;text-transform:uppercase;letter-spacing:.45px}
  .rounds-toolbar{display:flex;align-items:center;gap:7px;margin:18px 0 10px}
  .rounds-toolbar strong{margin-right:auto;font:700 13px Bahnschrift,"Arial Narrow",sans-serif;color:#173553;text-transform:uppercase;letter-spacing:.7px}
  .round-filter{border:1px solid #bdc9d6;background:#fff;color:#4b6075;border-radius:18px;padding:6px 11px;font-size:10.5px;cursor:pointer}
  .round-filter.active{background:#102f4d;border-color:#102f4d;color:#fff}
  .rounds-timeline-wrap{position:relative;overflow-x:auto;padding:10px 4px 18px;scrollbar-color:#9babbc transparent}
  .rounds-timeline{position:relative;display:flex;gap:12px;min-width:max-content;padding-top:24px}
  .rounds-timeline::before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:linear-gradient(90deg,#d6a928 0 48%,#c86b4a 48% 66%,#49a7c5 66% 100%)}
  .rounds-timeline.timeline-descobertas::before{background:linear-gradient(90deg,#b03030,#c46a1a 50%,#6b7280)}
  .round-node{position:relative;width:174px;border:1px solid #d5dee8;border-radius:8px;background:#fff;padding:13px 13px 12px;box-shadow:0 3px 12px rgba(19,45,71,.06);transition:transform .15s,box-shadow .15s}
  .round-node:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(19,45,71,.13)}
  .round-node::before{content:"";position:absolute;top:-19px;left:20px;width:10px;height:10px;border-radius:50%;background:var(--era);border:3px solid #eef3f8;box-shadow:0 0 0 2px var(--era)}
  .round-node.tradicional{--era:#d6a928}.round-node.cessao{--era:#c86b4a}.round-node.opp{--era:#49a7c5}
  .round-node.prevista{border-style:dashed;background:#f8fbfd}
  .round-date{font:700 9px Consolas,monospace;color:var(--era);letter-spacing:.8px;text-transform:uppercase}
  .round-node h4{margin:5px 0 8px;font:700 14px Bahnschrift,"Arial Narrow",sans-serif;color:#102f4d}
  .round-ratio{display:flex;align-items:baseline;gap:4px}.round-ratio b{font:700 25px Bahnschrift,"Arial Narrow",sans-serif;color:#102f4d}.round-ratio span{font-size:9px;color:#7b8c9e}
  .round-progress{height:4px;background:#e8edf2;border-radius:4px;margin:7px 0;overflow:hidden}.round-progress i{display:block;height:100%;background:var(--era)}
  .round-node p{font-size:9.5px;line-height:1.35;color:#66788b;margin:8px 0 0}
  .round-node.tl-node-active{border-color:var(--era);box-shadow:0 0 0 2px var(--era),0 10px 22px rgba(19,45,71,.13);animation:tlNodePulse 1.6s ease-in-out infinite}
  @keyframes tlNodePulse{0%,100%{box-shadow:0 0 0 2px var(--era),0 10px 22px rgba(19,45,71,.13)}50%{box-shadow:0 0 0 4px var(--era),0 10px 22px rgba(19,45,71,.13)}}
  .rounds-analysis{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:16px;margin-top:4px}
  .rounds-card{background:#fff;border:1px solid #d5dee8;border-radius:9px;padding:17px 18px}
  .rounds-card h3{margin:0 0 3px;font:700 14px Bahnschrift,"Arial Narrow",sans-serif;color:#163653;text-transform:uppercase;letter-spacing:.5px}
  .rounds-card .sub{font-size:10px;color:#77889a;margin-bottom:12px}
  .rounds-insight{padding:11px 0;border-bottom:1px solid #e6ebf0}.rounds-insight:last-child{border:0}
  .rounds-insight b{display:block;font:700 18px Consolas,monospace;color:#102f4d}.rounds-insight span{font-size:10.5px;line-height:1.4;color:#63758a}
  .tl-leader-row{cursor:pointer}
  .tl-leader-row:hover,.tl-leader-row:focus-visible{background:#f3f7fb;outline:none}
  .tl-leader-bar{height:4px;background:#e8edf2;border-radius:4px;margin-top:5px;overflow:hidden}
  .tl-leader-bar i{display:block;height:100%;background:var(--navy2)}
  .tl-banner{position:absolute;top:34px;right:16px;z-index:5;max-width:320px;
    background:#fff;border:1px solid #d5dee8;border-left:4px solid var(--era,#BF8F00);border-radius:8px;padding:10px 14px;
    box-shadow:0 10px 28px rgba(19,45,71,.16);opacity:0;pointer-events:none}
  .tl-banner b{display:block;font:700 12px Bahnschrift,"Arial Narrow",sans-serif;color:#102f4d;margin-bottom:3px}
  .tl-banner p{margin:0;font-size:10.5px;line-height:1.4;color:#53677a}
  .tl-banner-in{animation:tlBannerIn .5s ease-out forwards}

  /* ---------- Timelapse narrativo ---------- */
  .tl-page{--tl-night:#061725;--tl-ocean:#092b45;--tl-land:#18354a;--tl-conv:#4f8fcb;--tl-presal:#d7ab35;--tl-inst:#d85d72;--tl-prod:#55b58a;--tl-text:#edf5f8;--tl-muted:#9cb1be;width:100%;max-width:100vw;min-width:0;overflow-x:hidden;overflow-y:auto;padding:20px 28px 42px;background:#061725;color:var(--tl-text)}
  .tl-shell{width:100%;max-width:1480px;min-width:0;margin:0 auto}
  .tl-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:17px 4px 20px;background:none;border:0;color:inherit}
  .tl-eyebrow,.tl-story-chapter{display:block;color:var(--tl-presal);font:700 10px Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:1.6px;text-transform:uppercase}
  .tl-intro h2{margin:4px 0 0;font:700 clamp(30px,4vw,54px)/.98 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-1.6px}
  .tl-intro p{margin:9px 0 0;color:var(--tl-muted);font-size:13px}
  .tl-start,.tl-map-link{border:1px solid rgba(215,171,53,.55);border-radius:999px;background:rgba(215,171,53,.1);color:#f5d77e;padding:10px 17px;font-weight:700;cursor:pointer}
  .tl-start:hover,.tl-map-link:hover:not(:disabled){background:var(--tl-presal);color:#102536}
  .tl-stage{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:570px;border:1px solid rgba(156,177,190,.18);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 68% 36%,rgba(37,100,137,.2),transparent 34%),linear-gradient(145deg,#061725,#092b45 62%,#071d2c);box-shadow:0 24px 60px rgba(0,0,0,.28)}
  .tl-map-wrap{position:relative;min-width:0;overflow:hidden}
  .tl-map{position:absolute;inset:0;min-height:570px}
  .tl-map-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 75%,rgba(6,23,37,.42));z-index:1}
  .tl-year-block{position:absolute;z-index:3;top:22px;right:28px;text-align:right;pointer-events:none}
  .tl-year-block strong{display:block;color:rgba(237,245,248,.9);font:700 clamp(72px,8vw,112px)/.8 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-5px;text-shadow:0 12px 34px rgba(0,0,0,.28);font-variant-numeric:tabular-nums}
  .tl-year-block span{display:block;margin-top:13px;color:var(--tl-muted);font-size:11px;letter-spacing:.45px}
  .tl-year-block span.slow{color:#f5d77e}
  .tl-map-legend{position:absolute;z-index:3;left:20px;bottom:18px;display:flex;gap:16px;padding:8px 11px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(6,23,37,.72);backdrop-filter:blur(8px);font-size:10px;color:var(--tl-muted)}
  .tl-map-legend span{display:flex;align-items:center;gap:6px}.tl-map-legend i{width:8px;height:8px;border-radius:50%;background:var(--tl-conv);box-shadow:0 0 10px currentColor}.tl-map-legend .presal{background:var(--tl-presal)}.tl-map-legend .accelerated{background:transparent;border:1px solid var(--tl-presal);box-shadow:0 0 0 3px rgba(215,171,53,.18)}
  .tl-status{position:absolute;z-index:4;left:20px;top:20px;color:var(--tl-muted);font-size:11px}
  .tl-story{position:relative;z-index:4;padding:42px 30px 28px;border-left:1px solid rgba(156,177,190,.14);background:linear-gradient(180deg,rgba(6,23,37,.72),rgba(6,23,37,.96));display:flex;flex-direction:column}
  .tl-story-chapter{color:var(--tl-inst)}
  .tl-story h3{margin:12px 0 16px;color:var(--tl-text);font:650 30px/1.05 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-.5px;text-transform:none}
  .tl-story>p{margin:0;color:#c4d2da;font-size:14px;line-height:1.65}
  .tl-story-facts{margin:24px 0;display:grid;grid-template-columns:72px 1fr;gap:8px 10px;font-size:11px}.tl-story-facts dt{color:var(--tl-muted);text-transform:uppercase;letter-spacing:.6px}.tl-story-facts dd{margin:0;color:var(--tl-text);font-weight:600}
  .tl-volume{margin:0 0 20px;padding:14px 0;border-top:1px solid rgba(215,171,53,.28);border-bottom:1px solid rgba(215,171,53,.28);color:#f5d77e}.tl-volume strong{display:block;font:700 29px Bahnschrift,"Arial Narrow",sans-serif}.tl-volume span{font-size:10px;color:var(--tl-muted)}
  .tl-map-link{align-self:flex-start;margin-top:auto}.tl-map-link:disabled{opacity:.35;cursor:not-allowed}.tl-source{margin-top:16px;color:var(--tl-muted);font-size:9.5px}.tl-source summary{cursor:pointer}.tl-source p{line-height:1.5}
  .tl-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(156,177,190,.16);border-top:0;background:#071b2b}.tl-metric{padding:15px 18px;border-right:1px solid rgba(156,177,190,.13)}.tl-metric:last-child{border:0}.tl-metric b{display:block;color:var(--tl-text);font:700 24px Bahnschrift,"Arial Narrow",sans-serif}.tl-metric span{display:block;margin-top:3px;color:var(--tl-muted);font-size:9px;text-transform:uppercase;letter-spacing:.65px}
  .tl-controls{display:grid;grid-template-columns:auto auto auto minmax(180px,1fr) 50px;gap:12px;align-items:center;padding:14px 16px;border:1px solid rgba(156,177,190,.16);border-top:0;border-radius:0 0 14px 14px;background:#0a2133}.tl-controls button{border:1px solid rgba(156,177,190,.22);border-radius:18px;background:transparent;color:var(--tl-muted);padding:7px 11px;cursor:pointer}.tl-controls button:hover{color:#fff;border-color:rgba(255,255,255,.45)}.tl-play{width:42px;height:42px;border-radius:50%!important;background:var(--tl-presal)!important;color:#102536!important;font-size:16px;padding:0!important}.tl-speeds{display:flex}.tl-speeds button{margin-left:-1px;border-radius:0}.tl-speeds button:first-child{border-radius:14px 0 0 14px}.tl-speeds button:last-child{border-radius:0 14px 14px 0}.tl-speeds button[aria-pressed="true"]{background:rgba(215,171,53,.18);color:#f5d77e}.tl-controls input{accent-color:var(--tl-presal);width:100%}.tl-controls output{font:700 15px Bahnschrift,"Arial Narrow",sans-serif;color:var(--tl-text)}
  .tl-history{margin-top:22px;padding:22px 24px;border:1px solid rgba(156,177,190,.16);border-radius:14px;background:#081d2d}.tl-history-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.tl-history h3{margin:4px 0 0;color:var(--tl-text);font:700 19px Bahnschrift,"Arial Narrow",sans-serif}.tl-history-head p{margin:0;color:var(--tl-muted);font-size:10px}.tl-mini-chart{height:150px}.tl-milestones{display:flex;gap:8px;overflow-x:auto;padding:13px 1px 4px;border-top:1px solid rgba(156,177,190,.12)}.tl-milestone{flex:0 0 180px;text-align:left;border:1px solid rgba(156,177,190,.18);border-radius:8px;background:rgba(255,255,255,.025);color:var(--tl-muted);padding:9px 10px;cursor:pointer}.tl-milestone b{display:block;color:var(--tl-text);font-size:10px}.tl-milestone span{display:block;margin-top:3px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-milestone.active{border-color:var(--tl-presal);background:rgba(215,171,53,.1)}.tl-milestone[data-category="ppsa_partilha"]{border-top:2px solid var(--tl-inst)}
  @media(max-width:960px){.tl-page{padding:14px}.tl-stage{grid-template-columns:1fr}.tl-map-wrap,.tl-map{min-height:500px}.tl-story{border-left:0;border-top:1px solid rgba(156,177,190,.14);min-height:360px}.tl-stage{min-height:0}.tl-metrics{grid-template-columns:repeat(2,1fr)}.tl-metric:nth-child(2){border-right:0}.tl-controls{grid-template-columns:auto 1fr auto}.tl-speeds{display:none}.tl-controls input{grid-column:1/-2}.tl-year-block strong{font-size:76px}}
  @media(max-width:520px){.tl-intro{align-items:flex-start;flex-direction:column}.tl-map-wrap,.tl-map{min-height:470px}.tl-year-block{top:20px;right:18px}.tl-year-block strong{font-size:60px;letter-spacing:-3px}.tl-map-legend{right:12px;left:12px;gap:9px;justify-content:center}.tl-story{padding:30px 22px}.tl-story h3{font-size:27px}.tl-metrics{grid-template-columns:1fr 1fr}.tl-history{padding:18px 14px}.tl-history-head{display:block}.tl-history-head p{margin-top:7px}}
  @media(prefers-reduced-motion:reduce){.tl-page *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
  @keyframes tlBannerIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}60%{opacity:1;transform:translateY(2px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}
  .rounds-table{width:100%;border-collapse:collapse;font-size:10.5px}.rounds-table th{padding:8px;text-align:right;color:#627488;border-bottom:1px solid #ccd6e0;font-size:9px;text-transform:uppercase;letter-spacing:.4px}.rounds-table th:first-child,.rounds-table td:first-child{text-align:left}.rounds-table td{padding:8px;text-align:right;border-bottom:1px solid #edf0f4}.era-chip{display:inline-block;padding:2px 6px;border-radius:10px;font-size:8.5px;color:#fff;background:#6b7e91;margin-left:5px}.era-chip.tradicional{background:#a77b00}.era-chip.cessao{background:#b65335}.era-chip.opp{background:#277d9c}
  .rounds-base-details{margin-top:16px;background:#fff;border:1px solid #d5dee8;border-radius:9px}.rounds-base-details summary{cursor:pointer;padding:12px 16px;font-size:11px;font-weight:700;color:#294761}
  /* ---------- Relato Integrado PPSA ---------- */
  #tab-panel-partilha{background:#eaf0f6;color:#15263a}
  .relato-hero{background:linear-gradient(112deg,#071a30 0%,#0d2d4a 63%,#153f60 100%)}
  .relato-hero::before{content:"RELATO\A INTEGRADO";white-space:pre;position:absolute;right:34px;top:23px;font:700 39px/0.82 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-1px;text-align:right;color:rgba(255,255,255,.035);z-index:0}
  .relato-section{margin-top:18px}
  .relato-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:10px}
  .relato-section-head h3{margin:0;font:700 17px Bahnschrift,"Arial Narrow",sans-serif;color:#102f4d;text-transform:uppercase;letter-spacing:.55px}
  .relato-marcos-head h3{font-size:24px}
  .relato-section-head p{margin:3px 0 0;font-size:10.5px;color:#6b7e91}
  .relato-year{font:700 10px Consolas,monospace;color:#a77b00;letter-spacing:1px;text-transform:uppercase}
  .relato-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .relato-kpi-card{position:relative;overflow:hidden;min-height:128px;padding:16px 16px 14px;background:#fff;border:1px solid #d5dee8;border-radius:9px;box-shadow:0 5px 15px rgba(16,47,77,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
  .relato-kpi-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#c99a1b}
  .relato-kpi-card[data-tone="producao"]::before{background:#277d9c}.relato-kpi-card[data-tone="gestao"]::before{background:#2f8f5b}.relato-kpi-card[data-tone="reservas"]::before{background:#8a5ca8}
  .relato-kpi-card:hover{transform:translateY(-2px);border-color:#b8c6d5;box-shadow:0 10px 24px rgba(16,47,77,.1)}
  .relato-kpi-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .relato-kpi-meta span{font:700 8.5px Consolas,monospace;letter-spacing:1px;text-transform:uppercase;color:#718398}
  .relato-kpi-meta i{display:block;width:23px;height:1px;background:#d6a928;box-shadow:8px 0 0 #e7d59b}
  .relato-kpi-card b{display:block;font:700 24px/1 Bahnschrift,"Arial Narrow",sans-serif;color:#0c2a46;letter-spacing:-.55px}
  .relato-kpi-card p{margin:9px 0 0;font-size:10px;line-height:1.42;color:#63758a}
  .relato-analysis{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);gap:14px;margin-top:18px}
  .relato-data-card{position:relative;background:#fff;border:1px solid #d5dee8;border-radius:10px;padding:19px 20px;box-shadow:0 7px 20px rgba(16,47,77,.06)}
  .relato-data-card h3{margin:0 0 3px;font:700 14px Bahnschrift,"Arial Narrow",sans-serif;color:#163653;text-transform:uppercase;letter-spacing:.5px}
  .relato-data-card .sub{font-size:10px;color:#77889a;margin-bottom:14px}
  .relato-ambiente-row{margin-bottom:14px}.relato-ambiente-row:last-child{margin-bottom:0}
  .relato-ambiente-label{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:5px;color:#334b63}.relato-ambiente-label b{color:#102f4d}
  .relato-ambiente-track{height:7px;background:#e8edf3;border-radius:8px;overflow:hidden}.relato-ambiente-track i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#b98700,#d7b64f)}
  .relato-marcos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .relato-marco{position:relative;padding:14px 15px 14px 18px;background:#fff;border:1px solid #d7e0e9;border-radius:8px;min-height:86px}
  .relato-marco::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:#d0a22c}
  .relato-marco-tag{display:inline-block;margin-bottom:7px;font:700 8px Consolas,monospace;letter-spacing:.85px;text-transform:uppercase;color:#8b6808}
  .relato-marco p{margin:0;font-size:10.8px;line-height:1.5;color:#40566c}
  .relato-source{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:13px 15px;background:#dfe8f1;border-radius:8px;font-size:10px;line-height:1.45;color:#63758a}
  .relato-source a{flex:none;padding:8px 11px;border-radius:5px;background:#102f4d;color:#fff;text-decoration:none;font-weight:700}.relato-source a:hover{background:#1f4d72}.relato-source a:focus-visible{outline:3px solid rgba(191,143,0,.4);outline-offset:2px}
  @media(max-width:1040px){.relato-kpi-grid{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:760px){.relato-kpi-grid{grid-template-columns:repeat(2,1fr)}.relato-analysis,.relato-marcos-grid{grid-template-columns:1fr}.relato-source{align-items:flex-start;flex-direction:column}.relato-hero::before{display:none}}
  @media(max-width:480px){.relato-kpi-grid{grid-template-columns:1fr}.relato-kpi-card{min-height:auto}.relato-section-head{align-items:flex-start;flex-direction:column}}
  @media(prefers-reduced-motion:reduce){.relato-kpi-card{transition:none}.relato-kpi-card:hover{transform:none}}
  .auction-board{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(300px,1.25fr);gap:16px;margin-top:18px}
  .auction-countdown{position:relative;overflow:hidden;background:#102f4d;color:#fff;border-radius:10px;padding:22px 24px;box-shadow:0 9px 24px rgba(16,47,77,.16)}
  .auction-countdown::after{content:"OPP 04";position:absolute;right:-8px;bottom:-22px;font:800 74px Bahnschrift,sans-serif;color:rgba(255,255,255,.045);letter-spacing:-4px}
  .auction-kicker{font:700 9px Consolas,monospace;letter-spacing:1.6px;color:#e0bd53;text-transform:uppercase}
  .auction-countdown h3{margin:6px 0 3px;font:700 20px Bahnschrift,sans-serif}.auction-countdown p{margin:0;color:#b9c9d8;font-size:10.5px}
  .countdown-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 13px}
  .countdown-cell{border-top:1px solid rgba(255,255,255,.25);padding-top:9px}.countdown-cell b{display:block;font:700 30px Consolas,monospace;color:#fff}.countdown-cell span{font-size:8.5px;letter-spacing:1px;text-transform:uppercase;color:#91a8bc}
  .auction-meta{position:relative;z-index:1;display:flex;gap:16px;font-size:10px;color:#dce6ee}.auction-meta b{color:#e0bd53}
  .geo-source-card{background:#fff;border:1px solid #d5dee8;border-radius:10px;padding:19px}.geo-source-card h3{margin:0 0 5px;font:700 15px Bahnschrift,sans-serif;color:#163653}.geo-source-card p{font-size:10.5px;line-height:1.5;color:#63758a}
  .source-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding:10px 12px;border:1px solid #dbe3eb;border-radius:6px;color:#173f63;text-decoration:none;font-size:10.5px;font-weight:700;background:#f8fafc}.source-link:hover{border-color:#49a7c5;background:#eef8fb}.source-link span{color:#277d9c;font:700 14px Consolas,monospace}
  @media(max-width:900px){.rounds-metrics{grid-template-columns:repeat(2,1fr)}.rounds-analysis,.rounds-analysis-50,.rounds-analysis-80,.rounds-analysis-70,.auction-board{grid-template-columns:1fr}.rounds-live{display:none}.rounds-hero{padding:24px}.rounds-hero h2{font-size:25px}.rounds-card-max{inset:6px}}

  /* ---------- Universidade do Pre-Sal ---------- */
  .uni-root{background:#F4F6F8}
  .uni-hero{position:relative;overflow:hidden;padding:22px 24px 18px;text-align:center;color:#fff;
    background:radial-gradient(ellipse at top,#122c52 0%,#0B1F3A 55%,#071425 100%);flex:none}
  .uni-hero::after{content:"";position:absolute;right:-90px;top:-140px;width:480px;height:340px;border:1px solid rgba(215,164,65,.22);
    border-radius:50%;box-shadow:0 0 0 46px rgba(215,164,65,.03),0 0 0 92px rgba(47,84,150,.04);transform:rotate(-10deg)}
  .uni-hero-eyebrow{position:relative;z-index:1;font:700 11px Consolas,monospace;letter-spacing:3px;text-transform:uppercase;color:#E8C270}
  .uni-hero h2{position:relative;z-index:1;margin:12px 0 0;font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:31px;font-weight:700;letter-spacing:-.5px}
  .uni-hero p{position:relative;z-index:1;max-width:640px;margin:8px auto 0;color:#c9d3e6;font-size:12.5px;line-height:1.5}
  .uni-cta{position:relative;z-index:1;margin-top:13px;padding:9px 22px;border-radius:24px;border:1px solid #D7A441;
    background:#D7A441;color:#0B1F3A;font-weight:700;font-size:13px;cursor:pointer;transition:transform .15s,box-shadow .15s}
  .uni-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(215,164,65,.35)}
  .uni-subnav{position:sticky;top:0;z-index:20;display:flex;gap:6px;overflow-x:auto;padding:11px 20px;background:#fff;
    border-bottom:1px solid var(--border);flex:none;scrollbar-width:thin}
  .uni-subnav button{flex:none;padding:7px 14px;border-radius:20px;border:1px solid var(--border);background:#fff;
    color:#3a4a5c;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}
  .uni-subnav button:hover{border-color:#2F5496;color:#0B1F3A}
  .uni-subnav button.active{background:#0B1F3A;border-color:#0B1F3A;color:#fff}
  .uni-shell{max-width:1080px;margin:0 auto;padding:28px 24px 12px;width:100%}
  .uni-trilha-intro{margin-bottom:20px}
  .uni-trilha-intro h3{margin:0 0 6px;font:700 23px Bahnschrift,"Arial Narrow",sans-serif;color:#0B1F3A}
  .uni-trilha-intro p{margin:0;color:#5b6b7d;font-size:12.5px;line-height:1.6;max-width:740px}
  .uni-card{display:grid;grid-template-columns:320px 1fr;background:#fff;border:1px solid #dde1e8;border-radius:11px;
    overflow:hidden;margin-bottom:18px;box-shadow:0 3px 14px rgba(11,31,58,.05)}
  .uni-card.reverse{grid-template-columns:1fr 320px}
  .uni-card.reverse .uni-card-media{order:2}
  .uni-card-media{position:relative;min-height:210px;background:linear-gradient(135deg,#0B1F3A,#2F5496);
    display:flex;align-items:center;justify-content:center}
  .uni-card-media img{width:100%;height:100%;object-fit:cover;cursor:pointer}
  .uni-card-media .uni-card-icon{font-size:60px;opacity:.85}
  .uni-card-credit{position:absolute;left:0;right:0;bottom:0;padding:3px 8px;font-size:9px;color:#e7ecf3;
    background:rgba(7,20,37,.55);pointer-events:none}
  .uni-card-body{padding:20px 24px}
  .uni-card-body h4{margin:0 0 10px;font:700 17px Bahnschrift,"Arial Narrow",sans-serif;color:#0B1F3A}
  .uni-card-section{margin-bottom:9px}
  .uni-card-section b{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;color:#B8860B;margin-bottom:2px}
  .uni-card-section span{font-size:12.5px;color:#3a4a5c;line-height:1.55}
  .uni-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
  .uni-card-tags span{background:#F4F6F8;border:1px solid #dde1e8;border-radius:12px;padding:3px 10px;font-size:10px;color:#5b6b7d}
  .uni-card-gallery{display:flex;gap:7px;margin-top:11px;overflow-x:auto}
  .uni-card-gallery img{width:66px;height:48px;object-fit:cover;border-radius:5px;cursor:pointer;border:1px solid #dde1e8}
  .uni-card-gislink{display:inline-block;margin-top:11px;font-size:11px;font-weight:700;color:#277d9c;text-decoration:none}
  .uni-card-gislink:hover{text-decoration:underline}
  @media(max-width:780px){.uni-card,.uni-card.reverse{grid-template-columns:1fr}.uni-card-media{min-height:170px}.uni-card.reverse .uni-card-media{order:0}.uni-hero h2{font-size:28px}}
  .uni-atlas-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
  .uni-atlas-toolbar button{padding:6px 12px;border-radius:16px;border:1px solid var(--border);background:#fff;font-size:11px;cursor:pointer;color:#3a4a5c}
  .uni-atlas-toolbar button.active{background:#0B1F3A;border-color:#0B1F3A;color:#fff}
  .uni-atlas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:13px}
  .uni-atlas-item{border:1px solid #dde1e8;border-radius:9px;overflow:hidden;background:#fff}
  .uni-atlas-item .thumb{height:115px;background:linear-gradient(135deg,#0B1F3A,#2F5496);display:flex;align-items:center;
    justify-content:center;font-size:32px;color:#fff;overflow:hidden}
  .uni-atlas-item .thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer}
  .uni-atlas-item .cap{padding:8px 10px;font-size:10.5px;color:#3a4a5c;line-height:1.4}
  .uni-atlas-item .cap b{display:block;font-size:11px;color:#0B1F3A;margin-bottom:2px}
  .uni-atlas-item .cap .src{font-size:9px;color:#a3aebb;margin-top:2px}
  .uni-glossary-search{width:100%;padding:10px 14px;border:1px solid #dde1e8;border-radius:8px;font-size:13px;margin-bottom:16px;box-sizing:border-box}
  .uni-glossary-list dt{font:700 14px Bahnschrift,"Arial Narrow",sans-serif;color:#0B1F3A;margin-top:14px}
  .uni-glossary-list dd{margin:3px 0 0;font-size:12.5px;color:#3a4a5c;line-height:1.55}
  .uni-glossary-list .rel{margin-top:4px;font-size:10.5px;color:#8a97a8}
  .uni-quiz-score{font-size:11.5px;color:#5b6b7d;margin-bottom:14px}
  .uni-quiz-progress{height:6px;background:#e6eaf0;border-radius:4px;overflow:hidden;margin-bottom:6px}
  .uni-quiz-progress i{display:block;height:100%;background:linear-gradient(90deg,#2F5496,#D7A441);transition:width .25s}
  .uni-quiz-score b{color:#0B1F3A}
  .uni-quiz-q{background:#fff;border:1px solid #dde1e8;border-radius:9px;padding:16px 18px;margin-bottom:14px}
  .uni-quiz-q p.q{font-weight:700;color:#0B1F3A;margin:0 0 10px;font-size:13px}
  .uni-quiz-opt{display:block;width:100%;text-align:left;padding:9px 12px;margin-bottom:6px;border:1px solid #dde1e8;
    border-radius:6px;background:#f8fafc;cursor:pointer;font-size:12px;color:#3a4a5c}
  .uni-quiz-opt:hover{border-color:#2F5496}
  .uni-quiz-opt.correct{background:#e7f6ec;border-color:#0f8a3f;color:#0f8a3f;font-weight:700}
  .uni-quiz-opt.wrong{background:#fbe9e9;border-color:#b03030;color:#b03030;font-weight:700}
  .uni-quiz-opt:disabled{cursor:default}
  .uni-quiz-explain{font-size:11.5px;color:#5b6b7d;margin-top:8px;padding-top:8px;border-top:1px dashed #dde1e8;display:none}
  .uni-quiz-done{background:linear-gradient(135deg,#0B1F3A,#2F5496);color:#fff;border-radius:10px;padding:16px 20px;margin-bottom:16px}
  .uni-quiz-done-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;line-height:1.5}
  .uni-quiz-done-inner b{color:#fff}

  .uni-quiz-themes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
  .uni-quiz-theme{display:flex;flex-direction:column;min-height:190px;padding:20px;background:#fff;border:1px solid #dce3eb;border-radius:12px;box-shadow:0 8px 24px rgba(11,31,58,.07)}
  .uni-quiz-theme .ico{font-size:28px}.uni-quiz-theme h4{margin:12px 0 7px;color:#0B1F3A;font-size:16px}.uni-quiz-theme p{margin:0 0 15px;color:#64758a;font-size:11.5px;line-height:1.55}
  .uni-quiz-theme-meta{margin-top:auto;font:700 9.5px Consolas,monospace;color:#8a6b00;text-transform:uppercase;letter-spacing:.06em}
  .uni-quiz-start,.uni-quiz-next,.uni-quiz-back{border:0;border-radius:22px;padding:9px 16px;font-weight:700;cursor:pointer}
  .uni-quiz-start,.uni-quiz-next{background:#0B1F3A;color:#fff}.uni-quiz-start{width:100%;margin-top:12px}.uni-quiz-back{background:#eef2f6;color:#173b5d}
  .uni-quiz-session-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.uni-quiz-session-head h3{margin:0;color:#0B1F3A}.uni-quiz-session-head .step{margin-left:auto;font:700 10px Consolas,monospace;color:#8a6b00}
  .uni-quiz-actions{display:flex;justify-content:flex-end;margin-top:14px}.uni-quiz-q.single{max-width:840px;margin:0 auto}.uni-quiz-complete{text-align:center;padding:28px}

  .uni-cert-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px;font-size:12px;color:#3a4a5c}
  .uni-cert-controls label{display:flex;align-items:center;gap:8px}
  .uni-cert-controls input[type=text]{padding:7px 10px;border:1px solid #dde1e8;border-radius:6px;font-size:12px;min-width:220px}
  .uni-cert-controls button{border-radius:20px;border:1px solid var(--border);cursor:pointer}
  #uni-cert-wrap{display:flex;justify-content:center;padding-bottom:20px}
  .uni-certificado{width:min(880px,100%);aspect-ratio:1.414/1;background:#fbf9f3;position:relative;box-shadow:0 10px 40px rgba(11,31,58,.18);font-family:"Segoe UI",Arial,sans-serif}
  .uni-cert-border{position:absolute;inset:14px;border:2px solid #0B1F3A;padding:28px 44px;text-align:center;display:flex;flex-direction:column;align-items:center}
  .uni-cert-border::before{content:"";position:absolute;inset:8px;border:1px solid #D7A441}
  .uni-cert-eyebrow{position:relative;z-index:1;font:700 11px Consolas,monospace;letter-spacing:3px;text-transform:uppercase;color:#B8860B;margin-top:14px}
  .uni-cert-title{position:relative;z-index:1;font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:30px;font-weight:700;color:#0B1F3A;margin-top:6px}
  .uni-cert-seal{position:relative;z-index:1;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#D7A441,#a3720a);
    color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px;margin:16px auto;
    box-shadow:0 0 0 4px #fbf9f3,0 0 0 6px #D7A441;line-height:1.15}
  .uni-cert-seal span{font-size:7px;font-weight:700;letter-spacing:.4px;margin-top:2px}
  .uni-cert-body{position:relative;z-index:1;max-width:600px;font-size:13.5px;line-height:1.9;color:#3a4a5c}
  .uni-cert-nome-display{display:inline-block;font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:22px;color:#0B1F3A;margin:6px 0;border-bottom:1px solid #D7A441;padding-bottom:2px}
  .uni-cert-tier{position:relative;z-index:1;font:700 17px Bahnschrift,"Arial Narrow",sans-serif;color:#a3720a;text-transform:uppercase;letter-spacing:1px;margin-top:8px}
  .uni-cert-footer{position:relative;z-index:1;display:flex;gap:40px;margin-top:auto;padding-top:18px;font-size:10.5px;color:#5b6b7d}
  .uni-cert-footer span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#8a97a8}
  .uni-cert-disclaimer{position:relative;z-index:1;margin-top:10px;font-size:8.5px;color:#a3aebb;max-width:560px;line-height:1.4}
  @media(max-width:780px){ .uni-cert-border{padding:18px 20px} .uni-cert-title{font-size:22px} .uni-cert-body{font-size:11.5px} }
  @media print{
    body *{visibility:hidden}
    #uni-certificado, #uni-certificado *{visibility:visible}
    #uni-certificado{position:fixed;left:0;top:0;width:100vw;height:auto;box-shadow:none}
  }
  .uni-footer-note{max-width:1080px;margin:0 auto;padding:4px 24px 30px;font-size:10.5px;color:#8a97a8;line-height:1.6}
  .uni-footer-note a{color:#277d9c}

  #center{flex:1;display:flex;flex-direction:column;min-width:0}
  #map{flex:1;min-height:200px;position:relative}
  #map-title-bar{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:900;
    background:rgba(255,255,255,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
    border:1px solid rgba(31,56,100,.35);border-radius:20px;padding:5px 20px;
    font-size:12.5px;font-weight:700;color:var(--navy);letter-spacing:.2px;
    pointer-events:none;box-shadow:0 1px 6px rgba(0,0,0,.10)}
  .leaflet-control-minimap{border:2px solid #fff!important;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.35)!important}
  #panel-toggles{display:flex;gap:6px;padding:4px 8px;background:#fafbfd;border-top:1px solid var(--border);flex:none}
  #panel-toggles button{padding:3px 10px;border:1px solid var(--border);background:#fff;border-radius:3px;cursor:pointer;font-size:11px}
  #panel-toggles button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
  #bottom-panel{flex:none;display:flex;flex-direction:column}
  #bottom-tabs{display:flex;gap:2px;background:#eef2f8;border-top:1px solid var(--border)}
  #bottom-tabs button{padding:6px 14px;border:none;background:transparent;font-size:11.5px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent}
  #bottom-tabs button.active{color:var(--navy);font-weight:700;border-bottom-color:var(--gold);background:#fff}
  #table-wrap{height:250px;background:var(--panel);overflow:auto}
  #table-wrap table{width:100%;border-collapse:collapse;font-size:11.5px}
  #table-wrap th{position:sticky;top:0;background:#eef2f8;color:var(--navy);text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}
  #table-wrap td{padding:5px 8px;border-bottom:1px solid #eef0f4;white-space:nowrap}
  #table-wrap tr:hover{background:#f8fafc;cursor:pointer}
  #table-wrap tr.sel{background:#fff4e0}
  #table-bar{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:11.5px;background:#fafbfd;border-top:1px solid var(--border);flex:none}
  #table-bar button{padding:3px 10px;border:1px solid var(--border);background:#fff;border-radius:3px;cursor:pointer;font-size:11.5px}
  #table-bar .spacer{flex:1}
  #chart-wrap{height:250px;background:var(--panel);overflow:hidden;display:flex;flex-direction:column;padding:8px 12px}
  #chart-controls{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex:none}
  #chart-controls select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:11.5px}
  #chart-controls .note{font-size:10.5px;color:var(--muted)}
  #chart-canvas-wrap{flex:1;min-height:0;position:relative}

  #ficha{position:relative;width:320px;flex:none;background:var(--panel);border-left:1px solid var(--border);padding:42px 14px 14px;overflow-y:auto;transition:width .18s,padding .18s}
  #ficha.collapsed{display:block!important;width:30px;padding:0;overflow:hidden;background:#eef2f8}
  #ficha.collapsed>*:not(#toggle-ficha){display:none!important}
  #toggle-ficha{position:absolute;top:7px;left:7px;right:7px;width:calc(100% - 14px);border:1px solid var(--border);border-radius:4px;background:#eef2f8;color:var(--navy);font-size:10.5px;padding:6px;cursor:pointer}
  #ficha.collapsed #toggle-ficha{top:0;left:0;right:auto;width:30px;height:100%;border:0;border-radius:0;padding:8px 6px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.6px}
  #ficha h2{font-size:15px;color:var(--navy);margin:0 0 2px;border-bottom:2px solid var(--gold);padding-bottom:8px}
  #ficha .status-chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;color:#fff;margin:6px 0 10px}
  #ficha dl{margin:0}
  #ficha dt{font-size:10.5px;text-transform:uppercase;color:var(--muted);margin-top:8px}
  #ficha dd{margin:1px 0 0;font-size:13px}
  #ficha .empty{color:var(--muted);font-size:12.5px;line-height:1.6;margin-top:20px;text-align:center}
  #ficha .actions{display:flex;gap:6px;margin-top:12px}
  #ficha .actions button{flex:1;padding:6px;font-size:11.5px;border:1px solid var(--border);background:#eef2f8;border-radius:4px;cursor:pointer}

  .leaflet-popup-content b{color:var(--navy)}
  .leaflet-tooltip.map-feature-label{
    background:var(--map-label-bg,#ffffff);border:1px solid rgba(31,56,100,.35);border-radius:3px;
    box-shadow:0 1px 3px rgba(0,0,0,.18);color:var(--map-label-color,#172b4d);font-size:var(--map-label-size,10px);font-weight:700;
    line-height:1.15;padding:2px 4px;white-space:nowrap;pointer-events:none
  }
  .leaflet-tooltip.map-feature-label.leaflet-tooltip-center::before{display:none}

  .map-tools-control{display:flex;flex-direction:column;gap:4px;background:transparent}
  .map-tools-control button{font-size:10px;padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15);white-space:nowrap}
  .map-tools-control button:hover{background:#eef2f8}
  .dark .map-tools-control button{background:#1e293b;border-color:#334155;color:#cbd5e1}
  .dark .map-tools-control button:hover{background:#334155}

  #map-legend{background:#fff;border-radius:6px;box-shadow:0 1px 5px rgba(0,0,0,.4);padding:8px 10px;
    max-width:220px;max-height:46vh;overflow-y:auto;opacity:.6;transition:opacity .15s;font-size:10.5px}
  #map-legend:hover{opacity:1}
  #map-legend .legend-title{font:700 10px Bahnschrift,"Arial Narrow",sans-serif;color:#173553;
    text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
  #map-legend .legend-row{display:flex;align-items:center;gap:6px;padding:2px 0;line-height:1.25}
  #map-legend .legend-row .tree-swatch, #map-legend .legend-row .legend-dot{flex:0 0 auto}
  #map-legend .legend-empty{color:var(--muted)}

  #loading-overlay{position:fixed;inset:0;background:rgba(20,26,40,.92);color:#fff;display:flex;align-items:center;justify-content:center;z-index:9999;font-size:13px}
  #loading-overlay .box{max-width:460px;text-align:center;padding:24px}
  #loading-overlay input[type=file]{margin-top:14px;color:#fff}
  #loading-overlay .hint{margin-top:14px;font-size:11.5px;color:#c9d3e6;line-height:1.6}

  @media (max-width:900px){
    .header-dev-card{display:none}
    #mobile-sidebar-toggle{display:block;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--navy);font-size:18px;cursor:pointer;margin-left:8px}
    #sidebar{position:fixed;top:0;left:-290px;width:280px;height:100vh;z-index:5000;transition:left .25s ease;box-shadow:none;border-right:1px solid var(--border);background:var(--panel);padding-top:10px}
    #sidebar.open{left:0;box-shadow:4px 0 20px rgba(0,0,0,.3)}
    #sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:4999}
    #sidebar-overlay.open{display:block}
    #ficha{position:fixed;bottom:-100%;left:0;right:0;width:100%!important;height:45vh;z-index:5001;transition:bottom .25s ease;border-left:none;border-top:1px solid var(--border);border-radius:12px 12px 0 0}
    #ficha.open{bottom:0}
    #app-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
    #app-tabs::-webkit-scrollbar{display:none}
    #app-tabs button{flex:none;white-space:nowrap;font-size:11.5px;padding:8px 12px}
  }

  /* Universidade v2: aulas horizontais em tela cheia */
  .uni-deck{height:calc(100vh - 138px);min-height:620px;background:#07192d;color:#fff;border-radius:12px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 18px 50px rgba(5,20,38,.24)}
  .uni-deck-head,.uni-deck-foot{display:flex;align-items:center;gap:14px;padding:12px 18px;background:rgba(5,20,38,.94);z-index:2}.uni-deck-head b{font-size:12px}.uni-deck-head span{margin-left:auto;font:10px Consolas,monospace;color:#d8b34c}.uni-deck-stage{position:relative;overflow:hidden}.uni-slide{position:absolute;inset:0;padding:clamp(24px,4vw,58px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(24px,4vw,62px);align-items:center;opacity:0;transform:translateX(8%);pointer-events:none;transition:opacity .32s ease,transform .42s ease}.uni-slide.active{opacity:1;transform:none;pointer-events:auto}.uni-slide-copy{max-height:100%;overflow:auto;padding-right:8px}.uni-slide-kicker{font:700 10px Consolas,monospace;letter-spacing:.14em;text-transform:uppercase;color:#e2b83f}.uni-slide h3{font-size:clamp(27px,3.6vw,52px);line-height:1.04;margin:12px 0 20px;letter-spacing:-.025em}.uni-slide p{font-size:clamp(13px,1.25vw,17px);line-height:1.72;color:#d8e3ed}.uni-slide ul{padding-left:20px;color:#edf3f8;line-height:1.65;font-size:13px}.uni-slide-visual{height:min(62vh,600px);border:1px solid rgba(255,255,255,.14);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));display:flex;flex-direction:column;justify-content:center;overflow:hidden}.uni-slide-visual img{width:100%;height:auto;max-height:65%;min-height:0;flex:1;object-fit:contain;background:#f5f7f9}.uni-equation{font:700 clamp(18px,2vw,30px) Georgia,serif;text-align:center;padding:25px;color:#f4ca58}.uni-flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:22px}.uni-flow span{padding:10px 13px;border:1px solid rgba(226,184,63,.5);border-radius:6px;background:rgba(226,184,63,.1);font-size:11px}.uni-flow i{color:#e2b83f;font-style:normal}.uni-slide-source{font-size:9px;color:#90a5b8;margin-top:15px}.uni-deck-foot button{border:1px solid rgba(255,255,255,.22);background:#102b47;color:#fff;border-radius:20px;padding:8px 15px;cursor:pointer}.uni-deck-dots{display:flex;gap:5px;justify-content:center;flex:1}.uni-deck-dots button{width:8px;height:8px;padding:0;border-radius:50%;background:#557086;border:0}.uni-deck-dots button.active{background:#e2b83f;transform:scale(1.35)}
  .uni-slide-mastery{margin:16px 0 4px;padding:13px 15px;border-left:3px solid #e2b83f;border-radius:0 8px 8px 0;background:rgba(226,184,63,.09)}.uni-slide-mastery b{display:block;margin-bottom:6px;font:700 9px Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:#f4ca58}.uni-slide-mastery ul{margin:0;padding-left:18px;font-size:11.5px;line-height:1.5;color:#e7eef5}.uni-slide-visual{background:#071c31}.uni-slide-visual img{background:#071c31}.uni-slide-visual img:only-child{max-height:100%}
  .uni-slide-sprite{width:100%;min-height:0;flex:1;background-repeat:no-repeat;background-color:#071c31;image-rendering:auto}
    @media(max-width:780px){.uni-deck{height:calc(100vh - 112px);min-height:560px;border-radius:0}.uni-slide{grid-template-columns:1fr;padding:22px;overflow:auto;align-content:start}.uni-slide-visual{height:250px}.uni-slide h3{font-size:29px}.uni-deck-head{padding:9px 12px}.uni-deck-foot{padding:9px}.uni-deck-foot button{padding:7px 10px}.uni-deck-dots{max-width:50%;overflow:hidden}}
  @media(prefers-reduced-motion:reduce){.uni-slide{transition:none}}

  .uni-shell.uni-shell-wide{max-width:none;padding:10px 14px 14px}
  .uni-training-ready{max-width:820px;margin:20px auto;background:#fff;border:1px solid #d9e2ec;border-radius:14px;padding:28px;box-shadow:0 12px 34px rgba(11,31,58,.1)}
  .uni-training-ready h3{margin:0 0 10px;color:#0B1F3A;font-size:24px}.uni-training-ready p{color:#53677a;line-height:1.65}
  .uni-training-disclaimer{margin:18px 0;padding:16px 18px;border-left:4px solid #D7A441;background:#fff8e5;color:#5f4a0b;font-size:12px;line-height:1.6}
  .uni-training-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
  .uni-quiz-timer{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:20px;background:#0B1F3A;color:#fff;font:700 12px Consolas,monospace}
  .uni-quiz-timer.warning{background:#9b2c2c;animation:quizPulse 1s infinite alternate}@keyframes quizPulse{to{transform:scale(1.03)}}
  .uni-timeout{max-width:760px;margin:30px auto;text-align:center;padding:32px;background:#fff;border:1px solid #efc5c5;border-radius:14px}.uni-timeout h3{color:#9b2c2c;font-size:25px;margin:0 0 10px}
  .uni-restart{border:0;border-radius:22px;padding:10px 18px;background:#D7A441;color:#0B1F3A;font-weight:800;cursor:pointer}
  .uni-deck.training-deck{height:calc(100vh - 112px);min-height:580px}.uni-deck.training-deck .uni-deck-head button{border:1px solid rgba(255,255,255,.22);background:#102b47;color:#fff;border-radius:18px;padding:6px 11px;cursor:pointer}
  #tab-panel-universidade.training-active{height:100%;min-height:0;overflow:hidden!important;padding:0!important}
  #tab-panel-universidade.training-active>.uni-hero,#tab-panel-universidade.training-active>.uni-subnav,#tab-panel-universidade.training-active>.uni-developer-card{display:none}
  #tab-panel-universidade.training-active>.uni-shell{flex:1;min-height:0;max-width:none;margin:0;padding:0;width:100%;overflow:hidden}
  #tab-panel-universidade.training-active .uni-deck.training-deck{height:100%;min-height:0;border-radius:0;box-shadow:none}
  #tab-panel-universidade.training-active .uni-slide{padding:clamp(14px,2.2vw,34px);gap:clamp(16px,2.4vw,34px);grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr)}
  #tab-panel-universidade.training-active .uni-slide-copy{overflow:hidden;padding-right:4px}
  #tab-panel-universidade.training-active .uni-slide h3{font-size:clamp(23px,2.7vw,40px);margin:7px 0 11px}
  #tab-panel-universidade.training-active .uni-slide p{font-size:clamp(11px,1vw,14px);line-height:1.48;margin:0 0 8px}
  #tab-panel-universidade.training-active .uni-slide ul{font-size:11.5px;line-height:1.42;margin:7px 0;padding-left:18px}
  #tab-panel-universidade.training-active .uni-slide-mastery{margin:8px 0 3px;padding:8px 10px}
  #tab-panel-universidade.training-active .uni-slide-mastery ul{font-size:10.5px;line-height:1.38}
  #tab-panel-universidade.training-active .uni-slide-source{margin-top:6px;font-size:8px}
  #tab-panel-universidade.training-active .uni-slide-visual{height:min(100%,calc(100vh - 188px))}
  #tab-panel-universidade.training-active .uni-equation{padding:11px;font-size:clamp(15px,1.7vw,24px)}
  #tab-panel-universidade.training-active .uni-flow{padding:10px;gap:5px}
  #tab-panel-universidade.training-active .uni-flow span{padding:6px 8px;font-size:9.5px}
  @media(max-height:720px){#tab-panel-universidade.training-active .uni-deck-head,#tab-panel-universidade.training-active .uni-deck-foot{padding:7px 12px}#tab-panel-universidade.training-active .uni-slide{padding:12px 22px}#tab-panel-universidade.training-active .uni-slide h3{font-size:25px}#tab-panel-universidade.training-active .uni-slide p{font-size:10.5px;line-height:1.35}#tab-panel-universidade.training-active .uni-slide ul{font-size:10px;line-height:1.3}#tab-panel-universidade.training-active .uni-slide-mastery ul{font-size:9.5px}}

  .uni-hero{padding:15px 24px 13px}
  .uni-hero h2{margin-top:5px;font-size:28px}
  .uni-subnav{justify-content:center;padding:8px 20px}
  .uni-developer-card{max-width:720px;margin:22px auto 30px;padding:18px 22px;display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #d9e2ec;border-radius:14px;box-shadow:0 10px 30px rgba(11,31,58,.09)}
  .uni-developer-card img{width:92px;height:92px;object-fit:cover;border-radius:50%;border:3px solid #D7A441;box-shadow:0 0 0 4px #edf1f5}
  .uni-developer-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.uni-developer-copy span{font:700 9px Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:#9a7514}.uni-developer-copy strong{font:700 17px Bahnschrift,"Arial Narrow",sans-serif;color:#0B1F3A}.uni-developer-copy p{margin:0;color:#526579;font-size:12px}.uni-developer-copy a{margin-top:5px;color:#277d9c;text-decoration:none;font-weight:700;font-size:12px}.uni-developer-copy a:hover{text-decoration:underline}
  @media(max-width:560px){.uni-developer-card{margin:16px 14px 24px;padding:16px;align-items:flex-start}.uni-developer-card img{width:72px;height:72px}.uni-developer-copy strong{font-size:15px}}

  /* ========== Dark Mode ========== */
  .dark, .dark body, .dark #app{background:#0d1320;color:#e2e8f0}
  .dark header{background:#111827;border-color:#263248}
  .dark header h1{color:#e2e8f0}
  .dark header>img{background:#fff;padding:6px 10px;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.4)}
  .dark .header-dev-card{background:#1e293b;border-color:#334155}
  .dark .header-dev-copy strong{color:#e2e8f0}
  .dark .header-dev-copy em{color:#94a3b8}
  .dark #app-tabs{background:#111827;border-color:#263248}
  .dark #app-tabs button{color:#94a3b8}
  .dark #app-tabs button:hover{background:#1e293b;color:#e2e8f0}
  .dark #app-tabs button.active{color:#e2e8f0;border-bottom-color:var(--gold)}
  .dark #kpis{background:#111827;border-color:#263248}
  .dark .kpi{background:#1e293b;border-left-color:#3b82f6}.dark .kpi b{color:#60a5fa}
  .dark #sidebar{background:#111827;border-color:#263248}
  .dark #sidebar h3{color:#94a3b8}
  .dark #sidebar input[type=text],.dark #sidebar select{background:#1e293b;border-color:#334155;color:#e2e8f0}
  .dark #sidebar button{background:#1e293b;border-color:#334155;color:#cbd5e1}
  .dark #sidebar button:hover{background:#334155}
  .dark #count-badge{background:#1e293b;border-color:#92400e;color:#fbbf24}
  .dark #map{background:#0d1320}
  .dark #bottom-tabs{background:#111827;border-color:#263248}
  .dark #bottom-tabs button{color:#94a3b8}
  .dark #bottom-tabs button.active{color:#e2e8f0;background:#1e293b}
  .dark #table-wrap{background:#111827}
  .dark #table-wrap th{background:#1e293b;color:#94a3b8;border-color:#334155}
  .dark #table-wrap td{border-color:#1e293b;color:#cbd5e1}
  .dark #table-wrap tr:hover{background:#1e293b}
  .dark #table-wrap tr.sel{background:#1e3a5f}
  .dark #table-bar{background:#111827;border-color:#263248;color:#94a3b8}
  .dark #table-bar button{background:#1e293b;border-color:#334155;color:#cbd5e1}
  .dark #ficha{background:#111827;border-color:#263248}
  .dark #ficha h2{color:#e2e8f0;border-color:#92400e}
  .dark #ficha dt{color:#94a3b8}
  .dark #ficha dd{color:#e2e8f0}
  .dark .mkt-card,.dark .mkt-section{background:#111827;border-color:#263248}
  .dark .mkt-card h4,.dark .mkt-section h3{color:#94a3b8}
  .dark .mkt-price{color:#e2e8f0}
  .dark .news-card{background:#111827;border-color:#263248}
  .dark .news-card .title{color:#e2e8f0}
  .dark .rounds-card{background:#111827;border-color:#263248}
  .dark .rounds-card h3{color:#e2e8f0}
  .dark .round-metric{background:#1e293b}
  .dark .round-metric b{color:#60a5fa}
  .dark .round-node{background:#1e293b;border-color:#334155}
  .dark .rounds-hero{background:#0f172a}
  .dark .tl-banner{background:#1e293b;border-color:#334155}
  .dark .tl-banner p{color:#94a3b8}
  .dark .tl-leader-row:hover{background:#1e293b}
  .dark .relato-data-card,.dark .relato-kpi-card{background:#111827;border-color:#263248}
  .dark .relato-kpi-card b{color:#e2e8f0}
  .dark .uni-card,.dark .uni-quiz-q{background:#111827;border-color:#263248}
  .dark .uni-card-body h4,.dark .uni-quiz-q p.q{color:#e2e8f0}
  .dark #map-title-bar{background:rgba(15,23,42,.8);color:#e2e8f0;border-color:rgba(148,163,184,.3)}
  .dark #loading-overlay{background:rgba(2,6,15,.95)}
  .dark .global-search input{background:#1e293b;border-color:#334155;color:#e2e8f0}
  .dark .global-search-results{background:#1e293b;border-color:#334155}
  .dark .search-result{background:#1e293b;border-color:#334155}
  .dark .search-result:hover{background:#334155}
  .dark .search-result b{color:#e2e8f0}
  .dark .search-empty{color:#64748b}
  .dark #panel-toggles{background:#111827;border-color:#263248}
  .dark #panel-toggles button{background:#1e293b;border-color:#334155;color:#94a3b8}
  .dark #panel-toggles button.active{background:#3b82f6;color:#fff}
  .dark .tree-group{background:#1e293b;border-color:#334155}
  .dark .tree-group summary{color:#e2e8f0}
  .dark .auction-countdown{background:#0f172a}
  .dark .round-filter{background:#1e293b;border-color:#334155;color:#94a3b8}
  .dark .round-filter.active{background:#3b82f6;color:#fff}
  .dark .partilha-field{background:#1e293b;border-color:#334155}
  .dark .partilha-field summary{color:#e2e8f0}
  #dark-toggle{font-size:18px;background:none;border:1px solid var(--border);border-radius:4px;padding:3px 8px;cursor:pointer;margin-right:8px}
  #dark-toggle:hover{background:var(--border)}
  .dark #dark-toggle{border-color:#334155;color:#fbbf24}

  @media print {
    /* Um bloco @media print anterior (regra do certificado da Universidade, acima)
       aplica body *{visibility:hidden}. Sem este reset, o botao PDF do mapa
       imprimia uma pagina em branco: #map ficava com display:static (visivel em
       layout) mas herdava visibility:hidden e nunca era redesenhado. */
    #map, #map *, #map-legend, #map-legend *, .leaflet-control-container, .leaflet-control-container * { visibility:visible !important; }
    header, #app-tabs, aside, #bottom-panel, #global-search, .map-tools-control, #dark-toggle, .leaflet-control-zoom, .leaflet-control-minimap, .leaflet-control-attribution, #loading-overlay { display:none !important; }
    body { display:block !important; height:auto !important; overflow:visible !important; }
    #map { position:static !important; width:100% !important; height:70vh !important; page-break-after:always; }
    .tab-panel { display:block !important; position:static !important; overflow:visible !important; height:auto !important; }
    #tab-panel-mapa { display:block !important; }
    .dialog-body, dialog { display:none !important; }
  }

  body.presentation-mode header,
  body.presentation-mode #app-tabs,
  body.presentation-mode aside,
  body.presentation-mode #bottom-panel,
  body.presentation-mode #loading-overlay,
  body.presentation-mode #share-link-btn { display:none !important; }
  body.presentation-mode #map-area { flex:1 !important; }
  body.presentation-mode #map { position:absolute !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; z-index:1000 !important; }
  body.presentation-mode .leaflet-control-zoom { display:block !important; }
  /* so esconde paineis de outras abas; #tab-panel-mapa (que contem #map) tem que
     permanecer visivel, senao o modo apresentacao mostra tela em branco */
  body.presentation-mode .tab-panel:not(#tab-panel-mapa) { display:none !important; }

  /* ── MarkerCluster custom styles ── */
  .petrohero-cluster div{transition:transform .15s ease}
  .petrohero-cluster:hover div{transform:scale(1.15)}
  .marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:transparent !important}
  .marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:transparent !important}
  .leaflet-marker-icon:not(.petrohero-cluster){transition:opacity .1s}

  /* ── Fullscreen control ── */
  .leaflet-fullscreen-icon{background:none !important;border:none !important}
  .leaflet-control-fullscreen a{background:rgba(255,255,255,.88) !important;border:1px solid var(--border,#dde1e8) !important;border-radius:4px !important;width:30px !important;height:30px !important;line-height:30px !important;font-size:14px !important;box-shadow:0 1px 3px rgba(0,0,0,.15)}
  .leaflet-fullscreen-on .leaflet-control-fullscreen a{background:rgba(31,56,100,.9) !important;color:#fff !important}

  /* ── Coordinate display ── */
  .coord-display{pointer-events:none;user-select:none}

  /* ── Chronostrat Wheeler column ── */
  .wheeler-container{position:relative;width:100%;overflow-x:auto;padding:10px 0}
  .wheeler-row{display:flex;align-items:stretch;min-height:36px;border-bottom:1px solid var(--border,#dde1e8)}
  .wheeler-age{width:70px;min-width:70px;text-align:right;padding:4px 8px;font:10px/1.3 monospace;color:var(--muted,#6b7280);border-right:2px solid var(--border,#dde1e8);display:flex;flex-direction:column;justify-content:center}
  .wheeler-litho{flex:1;display:flex;position:relative;overflow:hidden}
  .wheeler-bar{height:100%;display:flex;align-items:center;padding:0 8px;font:10px/1.3 sans-serif;color:#fff;border-right:1px solid rgba(255,255,255,.2);transition:opacity .15s}
  .wheeler-bar:hover{opacity:.85;cursor:pointer}
  .wheeler-bar .bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
  .wheeler-completeness{width:60px;min-width:60px;position:relative;border-left:1px solid var(--border,#dde1e8);background:repeating-linear-gradient(90deg,transparent 0,transparent 4px,rgba(0,0,0,.04) 4px,rgba(0,0,0,.04) 5px)}
  .wheeler-completeness-fill{position:absolute;right:0;top:0;bottom:0;background:rgba(47,84,150,.35)}
  .wheeler-header{display:flex;font:10px/1 sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted,#6b7280);border-bottom:2px solid var(--border,#dde1e8);background:var(--panel,#fff);position:sticky;top:0;z-index:2}
  .wheeler-header>div{padding:6px 8px}
  .wheeler-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--navy,#1F3864)}
  .wheeler-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:10px;color:var(--muted)}
  .wheeler-legend span{display:flex;align-items:center;gap:4px}
  .wheeler-legend .swatch{width:14px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.1)}

/* Responsive shell: preserve map viewport and horizontal navigation. */
body{height:100dvh;min-width:320px}
#mobile-sidebar-toggle{display:none}
.session-tools{display:flex;flex-direction:column;gap:6px;align-items:flex-end;max-width:210px;font-size:11px;flex-shrink:0}
.session-tools a{color:var(--navy);padding:6px 10px;border:1px solid var(--border);border-radius:5px;background:var(--panel)}
#sync-status{color:var(--muted);text-align:right}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.tab-panel{min-width:0}
@media(max-width:1100px){header{gap:10px;padding:8px 12px}header img{height:64px}header h1{font-size:16px}.header-dev-card{display:none}.global-search{width:min(260px,25vw)}}
@media(max-width:900px){#mobile-sidebar-toggle{display:block;min-width:44px;min-height:44px}#app-toolbar{overflow-x:auto;flex-wrap:nowrap;max-width:100%}#app-toolbar>*{flex-shrink:0}#app-tabs button{min-height:44px;flex-shrink:0}dialog{max-width:calc(100vw - 24px);max-height:90dvh}#sidebar{height:100dvh}}
@media(max-width:600px){header{flex-wrap:wrap;gap:8px}header img{height:44px}header h1{font-size:14px}header .sub{font-size:10px}header .src-note{display:none}header>.spacer{display:none}.global-search{order:5;width:100%;margin:0}.global-search input{font-size:16px;min-height:44px}.global-search-results{width:100%;left:0;right:auto}.session-tools{margin-left:auto;max-width:140px;font-size:10px}.session-tools a{min-height:36px}#app-tabs{padding:0 4px}#app-tabs button{font-size:12px}.mkt-grid{grid-template-columns:minmax(0,1fr)}.mkt-section{padding:12px}.tab-panel:not(#tab-panel-mapa){padding:12px!important;overflow-x:auto}.uni-shell{max-width:100%}input,select,textarea{max-width:100%}#tab-panel-universidade.training-active .uni-slide{grid-template-columns:minmax(0,1fr);overflow:auto}#tab-panel-universidade.training-active .uni-slide-visual{height:240px}.dialog-body{overflow:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:900px){#mkt-precos{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){#mkt-precos{grid-template-columns:repeat(2,minmax(0,1fr))!important}#mkt-precos .round-metric{padding:14px 12px}#map .leaflet-control-minimap{display:none}#map-title-bar{display:none!important}#map-legend{max-height:130px;max-width:180px;opacity:.9}.map-tools-control button{min-height:32px}.relato-analysis{grid-template-columns:minmax(0,1fr)}}
