/* Escala de leitura da interface. Não se aplica à folha A5 nem à impressão/PDF. */
@media screen {
  .app-shell { --muted: #526d73; }
  .topbar h1 { font-size: 2rem; line-height: 1.25; }
  .split-head h2, .section-heading h2 { font-size: 1.75rem; line-height: 1.3; }
  .app-shell .eyebrow, .standard-dialog .eyebrow { font-size: .8125rem; line-height: 1.5; letter-spacing: .12em; color: #496f76; }
  .primary-btn, .secondary-btn, .ghost-light, .text-btn { font-size: 1rem; line-height: 1.4; min-height: 44px; }
  .sidebar .nav-item { font-size: .9375rem; line-height: 1.4; padding-block: 14px; }
  .sidebar .nav-item span { flex-shrink: 0; }
  .sidebar .nav-item em { font-size: .8125rem; }
  .sidebar-note span, .sidebar-note small, .profile-card small { font-size: .875rem; line-height: 1.5; }
  .profile-card b { font-size: .9375rem; }
  .sidebar .brand small { font-size: .625rem; }
  .split-head > div > p:last-child, .print-hint, .empty-state p { font-size: 1rem; line-height: 1.6; }
  .search input, .location-side select { font-size: 1rem; line-height: 1.5; min-height: 46px; }
  .location-side > label:not(.search) { font-size: .9375rem; line-height: 1.5; margin-block: 16px; }
  .location-list { gap: 10px; }
  .location-row { padding: 16px; gap: 12px; }
  .location-row b { font-size: 1.0625rem; line-height: 1.4; margin-bottom: 5px; }
  .location-row small, .location-select .coordinate-status { font-size: .875rem; line-height: 1.5; color: #4e6870; }
  .location-select .coordinate-status { color: #17606b; }
  .location-row .type-tag { font-size: .75rem !important; }
  .location-row .protection-badge, .protection-badge { font-size: .875rem; line-height: 1.5; padding: 7px 10px; margin-top: 9px; }
  .location-row-actions { margin-left: 0; gap: 8px; }
  .edit-location-btn { min-width: 44px; min-height: 44px; font-size: 1.125rem; }
  .map-guide-bar { padding-top: 16px; font-size: 1rem; line-height: 1.5; }
  .locations-grid .map-large { display: flex; flex-direction: column; }
  .locations-grid .map-large .map { height: auto; min-height: 570px; flex: 1; }
  .map-guide-bar .secondary-btn { font-size: .875rem; padding: 10px 12px; }
  .map-legend { font-size: .875rem; line-height: 1.6; gap: 8px 18px; margin-top: 14px; color: #345b65; }
  .map-legend span:before { margin-right: 7px; }
  .location-map-label { font: 600 .875rem/1.4 Arial,sans-serif; padding: 5px 8px; max-width: 240px; white-space: normal; }
  .location-popup { font-size: 1rem; line-height: 1.6; }
  .location-popup > b { font-size: 1.0625rem; line-height: 1.4; }
  .location-popup > small, .location-popup .map-coordinates { font-size: .875rem; }
  .location-popup .primary-btn { font-size: .9375rem; }
  .guide-section h3, .standard-dialog .dialog-body h3 { font-size: 1.125rem; line-height: 1.4; }
  .guide-section p { font-size: 1rem; line-height: 1.65; }
  .guide-section a, .guide-section dl { font-size: .9375rem; line-height: 1.6; }
  .guide-section dl { grid-template-columns: 150px 1fr; }
  .standard-dialog .dialog-head h2 { font-size: 1.5rem; line-height: 1.3; }
  .standard-dialog .dialog-body label, .standard-dialog .form-grid label, .standard-dialog .agenda-check { font-size: .9375rem; line-height: 1.5; text-transform: none; letter-spacing: 0; }
  .standard-dialog .dialog-body input, .standard-dialog .dialog-body select, .standard-dialog .dialog-body textarea { font-size: 1rem; line-height: 1.5; min-height: 44px; }
  .standard-dialog .agenda-check input { min-height: 20px; }
  .standard-dialog .hint, .standard-dialog .form-grid label small, .standard-dialog .agenda-local-note, .standard-dialog .dialog-actions > span { font-size: .875rem; line-height: 1.6; }
  .standard-dialog .form-grid { gap: 20px; }
  .standard-dialog .backup-details summary, .standard-dialog .agenda-preview-label { font-size: .9375rem; line-height: 1.5; }
  .standard-dialog .dialog-head { gap: 12px; }
  .standard-dialog .dialog-head > div { min-width: 0; overflow-wrap: anywhere; }
  .standard-dialog .close-btn { min-width: 44px; min-height: 44px; flex-shrink: 0; }
  .hero-copy h2 { font-size: 2.125rem; }
  .hero-copy p { font-size: 1rem; line-height: 1.6; max-width: 380px; }
  .hero-copy .pill { font-size: .75rem; }
  .big-stat span, .stat-row small, .metric small, .record-metrics small { font-size: .875rem; line-height: 1.5; }
  .stat-row b, .metric b, .record-metrics b { font-size: 1.125rem; }
  .hero-grid > * { min-width: 0; }
  .stats-card { display: block; }
  .stat-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stat-row > span { min-width: 0; overflow-wrap: anywhere; }
  .stats-note { margin: 18px 0 0; color: var(--muted); font-size: .8125rem; line-height: 1.5; }
  .dive-classification { margin: 20px auto 0; width: min(740px,calc(100% - 32px)); border: 1px solid #bcd2d1; border-radius: 12px; padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; background: #f0f8f7; }
  .dive-classification legend { color: var(--teal); font-weight: 700; font-size: 1rem; padding: 0 5px; }
  .dive-classification label { font-size: 1rem; line-height: 1.5; min-width: 0; }
  .dive-classification select { display: block; width: 100%; min-height: 44px; font: inherit; color: var(--ink); background: white; border: 1px solid #a8c6c5; border-radius: 8px; padding: 8px; margin-top: 6px; }
  .dive-classification .dive-night { display: flex; align-items: center; gap: 10px; }
  .dive-night input { width: 22px; height: 22px; flex-shrink: 0; accent-color: var(--teal); }
  .dive-classification p { grid-column: 1/-1; color: var(--muted); font-size: .875rem; line-height: 1.5; margin: 0; }
  .dive-card h3, .record h3, .fauna-card h3, .cert-card h3, .operator-card h3, .event-highlight h4 { font-size: 1.125rem; line-height: 1.4; }
  .dive-card > small, .record p, .fauna-card p, .cert-card p, .operator-card p, .operator-card a, .event-highlight p { font-size: .9375rem; line-height: 1.55; }
  .date-badge small, .record-date small, .event-date, .agency-strip span { font-size: .8125rem; line-height: 1.5; }
  .panel h3 { font-size: 1.125rem; }
  .toolbar-actions > span { font-size: .9375rem; line-height: 1.5; }
  .agenda-card h3 { font-size: 1.25rem; line-height: 1.4; }
  .agenda-card p, .agenda-capacity, .agenda-tag, .agenda-price small, .event-decision small, .agenda-date small { font-size: .875rem; line-height: 1.6; }
  .agenda-card .type-tag { font-size: .8125rem !important; }
  .event-decision strong { font-size: 1.0625rem; line-height: 1.4; }
  .agenda-local-note, .participant p, .organizer-panel p, .alert-item p, .quote-row, .rental-choice small { font-size: .9375rem; line-height: 1.6; }
  .participant h4 { font-size: 1.0625rem; }
  .quote-box p { font-size: .875rem; }
  .quote-total { font-size: 1.25rem; }
  #toast { font-size: .9375rem; line-height: 1.5; }
  .developer-credit { font-size: .875rem; line-height: 1.6; }
  .open-catalog-note { font-size: .875rem; line-height: 1.6; color: #345b65; margin: 18px 0 0; }
  .open-catalog-note a { color: #006873; text-underline-offset: 3px; }
  #providerReportBtn { margin-top: 12px; }
  .dive-cluster { background: #056d79; border: 3px solid #fff; border-radius: 50%; color: white; box-shadow: 0 2px 7px #08333c55; display: grid; place-items: center; font: 700 15px/1 Arial,sans-serif; }
  .map-legend .cluster:before { content: '◉'; color: #056d79; }
}
@media screen and (min-width:681px) and (max-width:980px) {
  .sidebar .nav-item { font-size: 0; }
}
@media screen and (max-width:680px) {
  .topbar h1 { font-size: 1.625rem; }
  .split-head h2, .section-heading h2 { font-size: 1.5rem; }
  .sidebar nav { height: 100%; }
  .sidebar .nav-item, .sidebar .nav-item:not(.active), .sidebar .nav-item:nth-child(n+6) { font-size: .6875rem; line-height: 1.25; padding: 6px 1px; height: 100%; min-height: 0; overflow-wrap: anywhere; }
  .sidebar .nav-item span { font-size: 21px; line-height: 1; }
  .sidebar { height: calc(92px + env(safe-area-inset-bottom)); }
  main { padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
  .location-row { padding: 13px 11px; gap: 8px; }
  .location-row b { font-size: 1.0625rem; }
  .location-row-actions { gap: 10px; }
  .location-row .type-tag { padding: 4px 6px; }
  .locations-grid .map-large .map { min-height: 390px; }
  .guide-section dl { grid-template-columns: 1fr; }
  .hero-copy h2 { font-size: 1.875rem; }
  .stats-card { padding: 22px 20px; }
  .dive-classification { grid-template-columns: minmax(0,1fr); }
  .section-heading { flex-wrap: wrap; gap: 12px; }
  .standard-dialog .dialog-head h2 { font-size: 1.375rem; }
  #toast { bottom: calc(106px + env(safe-area-inset-bottom)); }
}
