:root{
  --airdataq-ink:#172033;
  --airdataq-brand:#203a70;
  --airdataq-muted:#5f6977;
  --airdataq-line:#d8dee7;
  --airdataq-soft:#f4f7fa;
  --airdataq-success:#19734b;
  --airdataq-success-bg:#eaf6ef;
  --airdataq-warning:#8a5b00;
  --airdataq-warning-bg:#fff4d6;
  --airdataq-danger:#a12b2b;
  --airdataq-danger-bg:#fff0f0;
}
body{background:#fff;color:var(--airdataq-ink);font:14px/1.5 Arial,Helvetica,sans-serif}
main{width:min(1240px,calc(100% - 2rem));margin:1.35rem auto 3rem}
.hero{padding:1.25rem;border:1px solid var(--airdataq-line);border-radius:6px;background:#fff;color:var(--airdataq-ink);box-shadow:none}
.hero h1{margin:.1rem 0 .25rem;color:var(--airdataq-brand);font-size:22px;font-weight:700;line-height:1.25}
.hero p{color:var(--airdataq-muted)}
.hero .preview{background:var(--airdataq-soft);color:var(--airdataq-brand);border-radius:4px}
.panel,.base-card,.semantic-card,.stored-chart-card{border-color:var(--airdataq-line);border-radius:6px;box-shadow:none}
.quality-overview-head h1{font-size:22px;line-height:1.25}
.quality-overview-head p{max-width:900px;color:var(--airdataq-muted)}
.quality-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.metric{border-color:var(--airdataq-line);border-radius:6px;background:var(--airdataq-soft)}
.metric span{color:var(--airdataq-muted)}
button,.button{border-radius:5px}
.button.secondary,.secondary{background:#fff;color:var(--airdataq-brand);border:1px solid var(--airdataq-brand)}
.status-pill{border:1px solid var(--airdataq-line)!important;border-radius:5px;background:#fff!important;color:var(--airdataq-brand)!important;font-weight:600!important}
.status-pill.active{border-color:#b8c4d4!important;background:var(--airdataq-soft)!important;color:var(--airdataq-brand)!important;box-shadow:inset 0 -2px 0 var(--airdataq-brand)}
/* Abas de leitura da base: cartas de controle e variaveis fisicas. */
.base-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;border-bottom:1px solid var(--airdataq-line)}
.base-tab{min-height:38px;padding:.5rem .95rem;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--airdataq-muted)!important;font-size:14px;font-weight:600;cursor:pointer}
.base-tab:hover{color:var(--airdataq-ink)!important;background:transparent!important}
.base-tab.active{color:var(--airdataq-brand)!important;border-bottom-color:var(--airdataq-brand)!important;font-weight:700}
.base-tab:focus-visible{outline:3px solid rgba(32,58,112,.35);outline-offset:-3px}
.base-tabpanel{padding-top:1rem}
.base-tabpanel[hidden]{display:none}
/* Dentro de uma aba o botao de abrir fica redundante: a aba ja abre. */
.base-tabpanel .explore-toggle{display:none}
.family-tab{border:1px solid var(--airdataq-line)!important;border-radius:4px!important;background:#fff!important;color:var(--airdataq-brand)!important;font-weight:600!important}
.family-tab.active,.family-tab[aria-selected="true"]{border-color:#b8c4d4!important;background:var(--airdataq-soft)!important;color:var(--airdataq-brand)!important;box-shadow:inset 0 -2px 0 var(--airdataq-brand)}
.method,.control-note{border-radius:5px}
.connection-note{border:1px solid #e3d2a1!important;border-radius:6px!important;background:#fff8e5!important;color:#6f5200!important;box-shadow:none!important}
.table-wrap{max-width:100%;overflow-x:auto;border-radius:6px}
table{min-width:max-content}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.airdataq-context-note,.freshness-context-note{margin:.55rem 0 0;color:var(--airdataq-muted);font-size:.8rem;line-height:1.45}
.freshness-context-note{padding:.6rem .75rem;border-left:3px solid var(--airdataq-line);background:var(--airdataq-soft)}
.freshness-status{display:inline-flex!important;align-items:center;gap:.35rem;border-radius:5px!important;font-weight:700;text-transform:none!important}
.freshness-status::before{display:inline-block;width:1em;text-align:center;font-weight:900}
.freshness-current{background:var(--airdataq-success-bg)!important;color:var(--airdataq-success)!important}
.freshness-current::before{content:"✓"}
.freshness-due,.freshness-processing,.freshness-unknown{background:var(--airdataq-soft)!important;color:var(--airdataq-muted)!important}
.freshness-due::before{content:"◷"}
.freshness-processing::before{content:"↻"}
.freshness-unknown::before{content:"?"}
.freshness-late,.freshness-stopped{background:var(--airdataq-warning-bg)!important;color:var(--airdataq-warning)!important}
.freshness-late::before{content:"!"}
.freshness-stopped{border:1px solid #dfb34c!important}
.freshness-stopped::before{content:"⚠"}
.freshness-error{background:var(--airdataq-danger-bg)!important;color:var(--airdataq-danger)!important}
.freshness-error::before{content:"×"}
.airdataq-scope-note{width:min(1240px,calc(100% - 2rem));margin:1.2rem auto;padding:.7rem .85rem;border:1px solid var(--airdataq-line);border-radius:6px;background:var(--airdataq-soft);color:var(--airdataq-muted);font-size:.8rem}
.airdataq-scope-note summary{color:var(--airdataq-brand);font-weight:700;cursor:pointer}
.airdataq-scope-note p{margin:.55rem 0 0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(32,58,112,.35);outline-offset:2px}
@media(max-width:1000px){.quality-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){
  main,.airdataq-scope-note{width:min(100% - 1rem,1240px)}
  .quality-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quality-overview-head{display:block}
  .freshness-status{margin-top:.65rem}
}
@media(max-width:460px){.quality-kpis{grid-template-columns:1fr}.hero h1,.quality-overview-head h1{font-size:20px}}


/* Issue #81 P2A — information hierarchy and AirData structural alignment */
.overview-capability-summary{
  margin:.75rem 0 0!important;
  padding-top:.7rem;
  border-top:1px solid var(--airdataq-line);
  color:var(--airdataq-muted)!important;
  font-size:.82rem!important;
}
.overview-capability-summary strong{color:var(--airdataq-brand);font-size:.95rem}
.overview-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto auto;
  gap:.75rem;
  align-items:center;
  margin:1rem 0;
  padding:.75rem;
  border:1px solid var(--airdataq-line);
  border-radius:6px;
  background:#fff;
}
.overview-search{
  display:flex;
  align-items:center;
  gap:.45rem;
  min-width:0;
  padding:.45rem .6rem;
  border:1px solid var(--airdataq-line);
  border-radius:5px;
  background:#fff;
}
.overview-search input{
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  outline:0;
  color:var(--airdataq-ink);
  font:inherit;
}
.status-pills{display:flex;gap:.35rem;flex-wrap:wrap}
.overview-result-count{color:var(--airdataq-muted);font-size:.78rem;white-space:nowrap}
/* Tela Bases de Dados: mesmo modelo de card do catalogo do Portal de Dados. */
.catalog-intro{margin:0 0 20px}
.catalog-intro h1{margin:0 0 10px;color:var(--airdataq-brand);font-size:18px;font-weight:700;line-height:1.3}
.catalog-intro p{max-width:720px;margin:0;color:var(--airdataq-muted);font-size:14px;line-height:1.7}
.catalog-intro__note{margin-top:10px!important;font-size:12px!important}

#overview-base-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;border-top:1px solid var(--airdataq-ink)}
#overview-base-grid .base-card{position:relative;display:flex;min-width:0;min-height:210px;flex-direction:column;padding:22px 20px;border:0;border-right:1px solid var(--airdataq-line);border-bottom:1px solid var(--airdataq-line);border-radius:0;background:#fff;box-shadow:none}
#overview-base-grid .base-card[hidden]{display:none}
#overview-base-grid .base-card[data-base-status="unmapped"]{background:#fbfcfd}
/* Só a base com análise é selecionável: o título é o link e o ::after
   estende a área clicável ao card inteiro. Base de catálogo não vira link,
   então não recebe foco, cursor nem realce. */
#overview-base-grid .base-card[data-base-status="mapped"]{cursor:pointer}
#overview-base-grid .base-card[data-base-status="mapped"]:hover{background:var(--airdataq-soft)}
.base-card__title a{color:inherit;text-decoration:none}
.base-card__link::after{content:"";position:absolute;inset:0}
.base-card__link:focus-visible{outline:none}
#overview-base-grid .base-card:has(.base-card__link:focus-visible){outline:3px solid rgba(32,58,112,.35);outline-offset:-3px}
.base-card__icon{display:flex;min-height:54px;align-items:center;margin-bottom:14px}
.base-card__logo{max-width:140px;max-height:48px;object-fit:contain;opacity:.9}
.base-card__title{margin:0 0 10px;color:var(--airdataq-brand);font-size:18px;font-weight:700;line-height:1.3}
.base-card__description{margin:0;color:var(--airdataq-muted);font-size:13px;line-height:1.7}
.base-card__tags{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:auto;padding-top:20px}
.base-card__tags .badge,.base-card__tags .result-pill{margin:0;padding:.2rem .45rem;font-size:.62rem;line-height:1.2;white-space:nowrap}
.base-card__tags .base-card-live-status::before{content:"";display:inline-block;width:.38rem;height:.38rem;margin-right:.26rem;border-radius:50%;background:currentColor;vertical-align:.04rem}

.quality-kpis--primary{grid-template-columns:repeat(5,minmax(0,1fr))}
.quality-kpis--secondary{margin-top:.65rem}
.airdataq-kpi-details{
  margin-top:.65rem;
  border-top:1px solid var(--airdataq-line);
}
.airdataq-kpi-details>summary{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin-top:.55rem;
  color:var(--airdataq-brand);
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
}
.airdataq-kpi-details>summary::after{content:"+";font-size:1rem;font-weight:700}
.airdataq-kpi-details[open]>summary::after{content:"−"}

.quality-control-grid{
  margin-top:1rem!important;
  padding:1rem!important;
  border:1px solid var(--airdataq-line)!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.quality-control-grid>h2{
  margin:0 0 .75rem!important;
  color:var(--airdataq-brand)!important;
  font-size:18px!important;
}
.family-tab-bar{
  display:flex;
  gap:.35rem;
  max-width:100%;
  padding-bottom:.2rem;
  overflow-x:auto;
  scrollbar-width:thin;
}
.family-tab{flex:0 0 auto;white-space:nowrap}
.stored-chart-card{background:#fff}
.chart-summary-grid{gap:.75rem!important}
.daily-p-chart{min-height:260px!important}

#aerodromos-info-quality-view .aerodromos-info-workspace,
#meteograma-quality-view .meteograma-physical-workspace{
  margin-top:1rem!important;
  padding:12px!important;
  border-color:var(--airdataq-line)!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#aerodromos-info-quality-view .aiw-filter-panel,
#meteograma-quality-view .meteograma-prototype-filter-panel,
#aerodromos-info-quality-view .aiw-family-tabs,
#aerodromos-info-quality-view .aiw-family-views,
#meteograma-quality-view .meteograma-explore-family-tabs,
#meteograma-quality-view .meteograma-thermo-tabs,
#meteograma-quality-view .meteograma-wind-tabs,
#meteograma-quality-view .meteograma-visibility-tabs,
#meteograma-quality-view .meteograma-phenomena-tabs,
#meteograma-quality-view .meteograma-pressure-tabs,
#aerodromos-info-quality-view .aiw-panel,
#meteograma-quality-view .meteograma-prototype-card{
  border-color:var(--airdataq-line)!important;
  border-radius:6px!important;
  box-shadow:none!important;
}
#aerodromos-info-quality-view .aiw-field select,
#aerodromos-info-quality-view .aiw-field input,
#meteograma-quality-view .meteograma-prototype-field select,
#meteograma-quality-view .meteograma-prototype-field input{
  border-radius:5px!important;
}
#aerodromos-info-quality-view .aiw-btn,
#aerodromos-info-quality-view .aiw-chip,
#meteograma-quality-view .meteograma-prototype-btn,
#meteograma-quality-view .meteograma-prototype-chip,
#meteograma-quality-view .meteograma-explore-family-tab,
#meteograma-quality-view .meteograma-explore-technical-option{
  border-radius:5px!important;
}
#aerodromos-info-quality-view .aiw-family-tabs button.active,
#meteograma-quality-view .meteograma-explore-family-tab.active{
  border-color:var(--airdataq-brand)!important;
  background:var(--airdataq-brand)!important;
  color:#fff!important;
}
#aerodromos-info-quality-view .aiw-family-views button.active,
#meteograma-quality-view .meteograma-thermo-tab.active,
#meteograma-quality-view .meteograma-wind-tab.active,
#meteograma-quality-view .meteograma-visibility-tab.active,
#meteograma-quality-view .meteograma-phenomena-tab.active,
#meteograma-quality-view .meteograma-pressure-tab.active{
  background:var(--airdataq-soft)!important;
  color:var(--airdataq-brand)!important;
  box-shadow:inset 0 -2px 0 var(--airdataq-brand);
}

.table-wrap{
  scrollbar-gutter:stable;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
.table-wrap th{position:sticky;top:0;z-index:1;background:#f4f7fa}
.empty-result{
  margin:.75rem 0;
  padding:.85rem 1rem;
  border:1px dashed var(--airdataq-line);
  border-radius:6px;
  background:#fbfcfd;
  color:var(--airdataq-muted);
}
.semantic-status,[data-state="loading"]{
  color:var(--airdataq-muted)!important;
}
.loading-skeleton{
  border-radius:6px!important;
  background:linear-gradient(90deg,#f4f7fa 25%,#e9eef4 50%,#f4f7fa 75%)!important;
}

.chart-dialog,
#aerodromos-info-quality-view .aiw-variable-dialog,
#meteograma-quality-view .mva-dialog{
  border:1px solid var(--airdataq-line)!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:0 14px 36px rgba(23,32,51,.18)!important;
}
.chart-modal,
#aerodromos-info-quality-view .aiw-variable-modal,
#meteograma-quality-view .mva-modal{
  background:rgba(23,32,51,.48)!important;
  backdrop-filter:none!important;
}
.chart-dialog-header,
#aerodromos-info-quality-view .aiw-variable-dialog-head,
#meteograma-quality-view .mva-dialog-head{
  border-bottom-color:var(--airdataq-line)!important;
  background:#fff!important;
}

@media(max-width:1100px){
  .overview-toolbar{grid-template-columns:1fr}
  .overview-result-count{white-space:normal}
  #overview-base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quality-kpis--primary{grid-template-columns:repeat(3,minmax(0,1fr))}
  #aerodromos-info-quality-view .aiw-workspace-grid,
  #meteograma-quality-view .meteograma-thermo-workspace,
  #meteograma-quality-view .meteograma-wind-workspace,
  #meteograma-quality-view .meteograma-visibility-workspace,
  #meteograma-quality-view .meteograma-phenomena-workspace{
    grid-template-columns:260px minmax(0,1fr)!important;
  }
}
@media(max-width:850px){
  #overview-base-grid{grid-template-columns:1fr}
  #overview-base-grid .base-card p{min-height:0}
  .quality-kpis--primary,.quality-kpis--secondary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #aerodromos-info-quality-view .aiw-workspace-grid,
  #meteograma-quality-view .meteograma-thermo-workspace,
  #meteograma-quality-view .meteograma-wind-workspace,
  #meteograma-quality-view .meteograma-visibility-workspace,
  #meteograma-quality-view .meteograma-phenomena-workspace{
    grid-template-columns:1fr!important;
  }
  #aerodromos-info-quality-view .aiw-sticky,
  #meteograma-quality-view .meteograma-thermo-sticky,
  #meteograma-quality-view .meteograma-wind-sticky,
  #meteograma-quality-view .meteograma-visibility-sticky,
  #meteograma-quality-view .meteograma-phenomena-sticky{
    position:static!important;
  }
}
@media(max-width:560px){
  .quality-kpis--primary,.quality-kpis--secondary{grid-template-columns:1fr!important}
  .status-pills{display:grid;grid-template-columns:1fr;width:100%}
  .status-pill{justify-content:flex-start}
  .chart-modal,
  #aerodromos-info-quality-view .aiw-variable-modal,
  #meteograma-quality-view .mva-modal{padding:.35rem!important}
  .chart-dialog,
  #aerodromos-info-quality-view .aiw-variable-dialog,
  #meteograma-quality-view .mva-dialog{width:100%!important;max-height:97vh!important}
  .table-wrap{margin-right:-.25rem}
  .table-wrap table{min-width:680px}
}


/* Issue #81 P2B — simple first, advanced on demand */
.airdataq-filter-shell{
  display:grid;
  gap:.65rem;
  padding:.75rem!important;
  border:1px solid var(--airdataq-line)!important;
  border-radius:6px!important;
  background:var(--airdataq-soft)!important;
}
.airdataq-filter-primary{display:grid;gap:.55rem}
#meteograma-quality-view .meteograma-prototype-toolbar{
  grid-template-columns:minmax(230px,1.4fr) minmax(150px,.65fr) auto!important;
  align-items:end!important;
}
.airdataq-advanced-filter,
#aerodromos-info-quality-view .aiw-advanced{
  border-top:1px solid var(--airdataq-line);
}
.airdataq-advanced-filter>summary,
#aerodromos-info-quality-view .aiw-advanced>summary{
  width:max-content;
  margin-top:.45rem;
  padding:.2rem 0;
  color:var(--airdataq-brand);
  font-size:.77rem;
  font-weight:700;
  cursor:pointer;
}
.airdataq-advanced-filter__body{
  display:grid;
  gap:.65rem;
  margin-top:.55rem;
  padding:.7rem;
  border:1px solid var(--airdataq-line);
  border-radius:6px;
  background:#fff;
}
.airdataq-advanced-filter__dates{
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,240px));
  gap:.65rem;
}
.airdataq-filter-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
}
.airdataq-filter-meta .meteograma-prototype-badge{
  max-width:100%;
  white-space:normal;
}
#meteograma-quality-view .meteograma-prototype-presets{
  margin-top:0!important;
}
#meteograma-quality-view .meteograma-prototype-range{
  display:block;
  min-height:1.25rem;
  color:var(--airdataq-muted)!important;
}
@media(max-width:760px){
  #meteograma-quality-view .meteograma-prototype-toolbar{
    grid-template-columns:1fr!important;
  }
  #meteograma-quality-view .meteograma-prototype-navbuttons{
    justify-content:flex-start!important;
    flex-wrap:wrap;
  }
  .airdataq-advanced-filter__dates{grid-template-columns:1fr}
}


/* Issue #81 — standardized export controls and printable report */
.airdataq-head-actions{
  display:flex;
  flex:0 0 auto;
  align-items:flex-start;
  justify-content:flex-end;
  gap:.55rem;
  flex-wrap:wrap;
}
.airdataq-export-menu{position:relative}
.airdataq-export-menu>summary{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.35rem .7rem;
  border:1px solid var(--airdataq-brand);
  border-radius:5px;
  background:#fff;
  color:var(--airdataq-brand);
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.airdataq-export-menu>summary::-webkit-details-marker{display:none}
.airdataq-export-menu>summary::after{content:"▾";margin-left:.4rem;font-size:.7rem}
.airdataq-export-menu[open]>summary::after{content:"▴"}
.airdataq-export-menu__panel{
  position:absolute;
  z-index:80;
  top:calc(100% + .35rem);
  right:0;
  width:min(300px,82vw);
  padding:.7rem;
  border:1px solid var(--airdataq-line);
  border-radius:6px;
  background:#fff;
  box-shadow:0 10px 28px rgba(23,32,51,.16);
}
.airdataq-export-menu__panel button{
  display:block;
  width:100%;
  margin:0 0 .4rem;
  padding:.5rem .65rem;
  border:1px solid var(--airdataq-brand);
  border-radius:5px;
  background:#fff;
  color:var(--airdataq-brand);
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}
.airdataq-export-menu__panel button:hover{background:var(--airdataq-soft)}
.airdataq-export-menu__panel button:disabled{
  border-color:var(--airdataq-line);
  color:var(--airdataq-muted);
  cursor:not-allowed;
  opacity:.72;
}
.airdataq-export-menu__panel p{
  margin:.55rem 0 0;
  color:var(--airdataq-muted);
  font-size:.72rem;
  line-height:1.45;
}
.airdataq-print-context{display:none}

@media(max-width:720px){
  .quality-overview-head{gap:.7rem}
  .airdataq-head-actions{width:100%;justify-content:flex-start}
  .airdataq-export-menu__panel{right:auto;left:0}
}

@media print{
  @page{size:A4 landscape;margin:10mm}
  html,body{background:#fff!important}
  body.airdataq-print-report{
    color:#172033!important;
    font:10pt/1.35 Arial,Helvetica,sans-serif!important;
  }
  body.airdataq-print-report .site-header,
  body.airdataq-print-report .base-subnav,
  body.airdataq-print-report .crumbs,
  body.airdataq-print-report .airdataq-export-menu,
  body.airdataq-print-report button,
  body.airdataq-print-report .semantic-toolbar,
  body.airdataq-print-report .aiw-filter-panel,
  body.airdataq-print-report .meteograma-prototype-filter-panel,
  body.airdataq-print-report .aerodromos-info-workspace .aiw-presets,
  body.airdataq-print-report .site-footer{
    display:none!important;
  }
  body.airdataq-print-report main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.airdataq-print-report .quality-overview{
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
  }
  body.airdataq-print-report .airdataq-print-context{
    display:block!important;
    margin:0 0 8mm;
    padding:0 0 4mm;
    border-bottom:1px solid #d8dee7;
  }
  body.airdataq-print-report .airdataq-print-context h1{
    margin:0 0 2mm;
    color:#203a70;
    font-size:17pt;
  }
  body.airdataq-print-report .airdataq-print-context__meta,
  body.airdataq-print-report .airdataq-print-context__note{
    margin:1.5mm 0;
    color:#5f6977;
    font-size:8.5pt;
  }
  body.airdataq-print-report .airdataq-print-context__filters{
    display:grid;
    grid-template-columns:max-content 1fr max-content 1fr;
    gap:1mm 3mm;
    margin:3mm 0;
    font-size:8.5pt;
  }
  body.airdataq-print-report .airdataq-print-context__filters dt{
    color:#5f6977;
    font-weight:700;
  }
  body.airdataq-print-report .airdataq-print-context__filters dd{margin:0}
  body.airdataq-print-report .quality-kpis{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  body.airdataq-print-report .metric,
  body.airdataq-print-report .quality-control-grid,
  body.airdataq-print-report .stored-chart-card,
  body.airdataq-print-report .semantic-card,
  body.airdataq-print-report .meteograma-prototype-card,
  body.airdataq-print-report .aiw-panel{
    break-inside:avoid;
    box-shadow:none!important;
  }
  body.airdataq-print-report .chart-modal,
  body.airdataq-print-report .aiw-variable-modal,
  body.airdataq-print-report .mva-modal{
    display:none!important;
  }
}


/* Issue #81 P2C — Aeródromos Info: filtros essenciais primeiro */
#aerodromos-info-quality-view .aiw-filter-panel .aiw-toolbar{
  grid-template-columns:minmax(230px,1.4fr) minmax(150px,.65fr) auto!important;
  align-items:end!important;
}
#aerodromos-info-quality-view .aiw-advanced .airdataq-advanced-filter__body{
  margin-top:.55rem;
}
#aerodromos-info-quality-view .aiw-advanced>.airdataq-advanced-filter__body>.aiw-field{
  max-width:280px;
}
@media(max-width:760px){
  #aerodromos-info-quality-view .aiw-filter-panel .aiw-toolbar{
    grid-template-columns:1fr!important;
  }
  #aerodromos-info-quality-view .aiw-navbuttons{
    justify-content:flex-start!important;
    flex-wrap:wrap;
  }
}


/* Issue #81 P2D — semantic states, accessible tables and reduced motion */
.connection-note[role="alert"]{
  border-left:3px solid #8a5b00!important;
}
.semantic-status,
.aiw-status,
.meteograma-prototype-status{
  display:flex;
  align-items:flex-start;
  gap:.4rem;
}
.semantic-status[data-state="loading"]::before,
.aiw-status[data-state="loading"]::before,
.meteograma-prototype-status[data-state="loading"]::before{
  content:"…";
  flex:0 0 auto;
  color:var(--airdataq-muted);
  font-weight:800;
}
.semantic-status[data-state="error"]::before,
.aiw-status[data-state="error"]::before,
.meteograma-prototype-status[data-state="error"]::before,
.semantic-status.fail::before{
  content:"!";
  flex:0 0 auto;
  color:var(--airdataq-danger);
  font-weight:900;
}
.semantic-status[data-state="empty"]::before,
.aiw-status[data-state="empty"]::before,
.meteograma-prototype-status[data-state="empty"]::before,
.empty-result::before{
  content:"—";
  margin-right:.35rem;
  color:var(--airdataq-muted);
  font-weight:800;
}
.table-wrap[tabindex="0"]:focus-visible{
  outline:3px solid rgba(32,58,112,.28);
  outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* Issue #81 final refinement — same simple/advanced filter hierarchy */
#meteograma-quality-view .airdataq-filter-locality-only,
#aerodromos-info-quality-view .airdataq-filter-locality-only{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:end!important;
  padding:0!important;
}
#meteograma-quality-view .airdataq-filter-locality-only .meteograma-prototype-locality,
#aerodromos-info-quality-view .airdataq-filter-locality-only .aiw-locality{
  width:100%;
  max-width:none;
}
#meteograma-quality-view .airdataq-advanced-filter__toolbar,
#aerodromos-info-quality-view .airdataq-advanced-filter__toolbar{
  display:grid!important;
  grid-template-columns:minmax(170px,240px) auto!important;
  gap:.65rem!important;
  align-items:end!important;
  padding:0!important;
}
#aerodromos-info-quality-view .aiw-advanced>.airdataq-advanced-filter__body{
  max-width:none!important;
}
#aerodromos-info-quality-view .aiw-advanced .aiw-presets{
  padding:0!important;
  border-top:0!important;
}
#aerodromos-info-quality-view .aiw-advanced .aiw-range{
  padding:0!important;
}
#meteograma-quality-view .airdataq-advanced-filter__body .meteograma-prototype-presets{
  padding:0!important;
}
.airdataq-advanced-filter__compact-field{
  max-width:360px;
}
@media(max-width:760px){
  #meteograma-quality-view .airdataq-advanced-filter__toolbar,
  #aerodromos-info-quality-view .airdataq-advanced-filter__toolbar{
    grid-template-columns:1fr!important;
  }
  #meteograma-quality-view .airdataq-advanced-filter__toolbar .meteograma-prototype-navbuttons,
  #aerodromos-info-quality-view .airdataq-advanced-filter__toolbar .aiw-navbuttons{
    justify-content:flex-start!important;
    flex-wrap:wrap;
  }
}

/* Camada de interação dos gráficos: crosshair e tooltip compartilhados.
   Usa apenas cores já existentes na paleta; nenhuma cor nova é introduzida. */
.airdataq-hover-line{stroke:#aebdcc;stroke-width:1}
.airdataq-hover-dot{stroke:#fff;stroke-width:2}
.plot-hoverable,.meteograma-prototype-card .body,.stored-chart-card>div{position:relative}
.airdataq-chart-tip{
  position:absolute;top:0;left:0;z-index:6;min-width:140px;max-width:260px;
  padding:7px 9px;border:1px solid var(--airdataq-line);border-radius:6px;
  background:#fff;color:var(--airdataq-ink);
  font-size:12px;line-height:1.45;pointer-events:none;opacity:0;
  transition:opacity .08s linear;
}
.airdataq-chart-tip[data-on="1"]{opacity:1}
.airdataq-chart-tip .when{display:block;margin-bottom:4px;color:var(--airdataq-muted);font-size:11px}
.airdataq-chart-tip .row{display:flex;align-items:baseline;gap:6px}
.airdataq-chart-tip .row i{flex:0 0 11px;width:11px;height:2px;border-radius:1px}
.airdataq-chart-tip .row b{font-weight:700;font-variant-numeric:tabular-nums}
.airdataq-chart-tip .row span{color:var(--airdataq-muted);font-size:11px}
.airdataq-chart-tip .state{color:var(--airdataq-muted);font-style:italic;font-size:11px}
.airdataq-chart-tip:empty{display:none}
svg:focus-visible{outline:2px solid var(--airdataq-brand);outline-offset:2px}

/* Marca sob o cursor no modo por marca: realce leve, sem cor nova. */
[data-mark]{cursor:default}
[data-mark-on]{filter:brightness(.92)}
[data-mark-on].aiw-histbar-temp,[data-mark-on].aiw-histbar-humidity{opacity:1}
