/* Opción B: tipografía de interfaz compartida. No selecciona textos del SVG. */
@media (max-width:760px), (orientation:landscape) and (max-height:600px) and (max-width:1100px){
 :root{
  --reading-copy:15px;
  --reading-control:15px;
  --reading-label:14px;
  --reading-detail:12px;
  --reading-input:16px;
 }

 /* Acciones, formularios y diálogos de los cuatro módulos. */
 .button,.btn,.text-button,.page-tab,.quick-menu-list button,
 .module-actions-group button,.module-actions-group a,
 .account-menu-actions button,.account-menu-actions a,.account-menu-account,
 .account-menu-back,.account-menu-primary{
  font-size:var(--reading-control);line-height:1.4;
 }
 .button,.btn{white-space:normal}
 .field,.checkbox-line,.check,.check-inline,form>label,form legend,
 .avatar-control legend,.color-picker legend,.topic-checks legend,.selection-checks legend{
  font-size:var(--reading-label);line-height:1.4;
 }
 input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),
 select,textarea,.field input,.field select,.field textarea,.search-field input{
  font-size:var(--reading-input);line-height:1.4;
 }
 .field small,.field-help,.dialog-intro,.panel-intro,.form-error,
 .account-menu-dialog p,.account-menu-form label,.module-actions-context,
 .participant-menu-dialog p,.participant-menu-dialog .field-help,
 .participant-nomination-dialog p,dialog .dialog-body p{
  font-size:var(--reading-copy);line-height:1.5;
 }
 .badge,.counter,.status,.header-request-count{
  font-size:var(--reading-detail);
 }
 .module-actions-group h3{font-size:var(--reading-detail)}
 .module-actions-group .module-actions-count{font-size:var(--reading-detail)}
 .toast,#message,#reader-message{font-size:var(--reading-copy);line-height:1.45}

 /* Marca y contexto: se conserva el tamaño del nombre de la aplicación. */
 .module-menu .module-title small,
 .qr-reader .module-header-navigation .module-title small{font-size:11px}
 .module-menu .module-title small>span{font-size:inherit}
 .workspace-header .workspace-context small{font-size:13px;line-height:1.4}
 .workspace-header .workspace-context strong{font-size:var(--reading-control);line-height:1.4}
 .workspace-header .workspace-selection{font-size:var(--reading-label);line-height:1.4}
 .workspace-header .workspace-selection .selection-label small{font-size:var(--reading-detail);line-height:1.4}

 /* Análisis: barra, pie, opciones y paneles; el grafo conserva sus estilos. */
 .home-toolbar .quick-menu>summary,.home-toolbar .active-network-mode,
 .home-toolbar .quick-view{font-size:var(--reading-label);line-height:1.4}
 .home-toolbar .quick-menu-list button{font-size:var(--reading-control);line-height:1.4}
 .home-footer .map-exploration,.home-footer .home-legend,
 .home-footer .summary-toggle{font-size:var(--reading-detail);line-height:1.4}
 .home-footer .summary-toggle{white-space:normal;min-width:0;text-align:center}
 .map-notices .notice,.participant-view .map-notices .notice,.shared-selection-notice>summary,
 .shared-selection-notice p,.participant-view .personal-tree-notice>span{
  font-size:var(--reading-label);line-height:1.4;
 }
 .work-panel-body .graph-arrangement>label,.work-panel .view-labels-toggle,
 .panel-settings .check-inline,.work-panel-body .checkbox-line,
 .size-panel .role-size-heading label{font-size:var(--reading-label);line-height:1.4}
 .work-panel-body .graph-arrangement select{font-size:var(--reading-input)}
 .work-panel-body .graph-arrangement p,.work-panel-body .small,
 .panel-gesture-note,.panel-footnote,.selection-state{
  font-size:var(--reading-copy);line-height:1.5;
 }
 .work-panel-body .dynamic-controls>span,.role-range-line,
 .role-size-heading output,.network-summary dt{font-size:var(--reading-detail);line-height:1.4}
 .work-panel-body .btn{font-size:var(--reading-control)}
 .section-page .page-heading p,.section-page .card-header p,
 .section-page .setting-copy p,.section-page .notice p,.section-page .empty p,
 .section-page .request-body p,.section-page .step-note{
  font-size:var(--reading-copy);line-height:1.5;
 }
 .section-page .setting-copy strong,.section-page .person-cell strong,
 .section-page .history-row h3{font-size:var(--reading-control);line-height:1.4}
 .section-page .person-cell small,.section-page .stat-note,
 .section-page th,.section-page .history-metrics{font-size:var(--reading-detail)}
 .work-panel .centrality-filters legend,.coverage-marker-filter legend{font-size:var(--reading-label)}
 .coverage-comparison summary,.coverage-options summary{font-size:var(--reading-control);line-height:1.4}
 .coverage-selector>span,.compact .coverage-selector>span,
 .coverage-live,.compact .coverage-live,.coverage-efficiency-live,.compact .coverage-efficiency-live,
 .coverage-color-key,.coverage-unreachable-key,.compact .coverage-unreachable-key,
 .coverage-unreachable-key>span,.coverage-marker-point,.coverage-table{
  font-size:var(--reading-detail);line-height:1.4;
 }
 .coverage-point:not([data-point=star]){font-size:var(--reading-detail)}
 .lab-tools .btn,.lab-history .btn{font-size:var(--reading-control);line-height:1.4}
 .lab-status-row,.lab-intro p{font-size:var(--reading-copy);line-height:1.5}
 .lab-editor-footer,.lab-editor:fullscreen .lab-editor-footer{font-size:var(--reading-detail);line-height:1.4}

 /* Reuniones: lectura personal, solicitudes y preparación de temas. */
 .participant-phase{font-size:var(--reading-detail);line-height:1.4}
 .compact-participant .participant-tabs .button{font-size:var(--reading-control);line-height:1.4}
 .compact-participant .content-intro p,.participant-heading p,
 .participant-help,.participant-about>div,.compact-participant .request-card p,
 .compact-participant .participant-status-note,.participation-topic>div{
  font-size:var(--reading-copy);line-height:1.5;
 }
 .compact-participant .theme-picker,.theme-participation-state .nomination-cap,
 .compact-participant .theme-availability,.compact-participant .theme-availability .check,
 .compact-participant .person-options,.compact-participant .theme-availability>summary,
 .theme-participation-state .theme-availability>summary span{
  font-size:var(--reading-label);line-height:1.4;
 }
 .compact-participant .person-heading h3{font-size:16px;line-height:1.4}
 .compact-participant .person-actions>.button,.compact-participant .request-card .button,
 .participant-quick-actions .button,.person-options .button{
  font-size:var(--reading-control);line-height:1.4;
 }
 .compact-participant .person-actions>.badge,.theme-participation-state .badge,
 .participant-vote-notice small,.participation-topic summary small{
  font-size:var(--reading-detail);line-height:1.4;
 }
 .participant-vote-notice strong,.participant-vote-notice .button,
 .compact-participant .request-group>h3,.participant-settings>summary,
 .participation-topic summary strong{font-size:var(--reading-control);line-height:1.4}
 .participant-nomination-dialog label,.live-search-input{font-size:var(--reading-label);line-height:1.4}
 .live-search-result small{font-size:var(--reading-detail);line-height:1.4}
 .live-participation-back{font-size:var(--reading-label);line-height:1.4}
 .welcome-story>p,.join-card>p,.join-card .field-help,.join-card .no-account,
 .previous-meetings>p,.previous-meeting-access small,.prepare .page-intro p,
 .host-actions p,.access-card>p,.guide-card li,.auth-card .auth-links,
 .proposal-notification-settings p,.narrow p{
  font-size:var(--reading-copy);line-height:1.5;
 }
 .prepare label,.topic-row .check,.check,.inline-form label,
 .live-toolbar .compact-label{font-size:var(--reading-label);line-height:1.4}
 .host-actions .button,.access-card .button,.roster-actions .button{font-size:var(--reading-control);line-height:1.4}
 .roster-person,.roster-card .section-title>span,.stat-grid span,
 .access-card .step-label,.access-card .join-address,.access-card .access-note,
 .live-toolbar .eyebrow,.map-caption,.live-card.meeting-map-fullscreen .map-caption{
  font-size:var(--reading-detail);line-height:1.4;
 }
 .live-toolbar .compact-label select{font-size:var(--reading-input);min-height:44px}
 .live-card.meeting-map-fullscreen .compact-label{font-size:var(--reading-label)}

 /* Propuestas: el contador puede pasar a otra línea sin ensanchar la página. */
 #workspace .meeting-context>p,#workspace .choice p,#workspace .quiet,
 #workspace .rule-list,#workspace .notice-inline,#workspace .proposal-explanation,
 #workspace .proposal-notification-settings p,#workspace .saved-ballot,
 #workspace .ballot-confirmation>.quiet{
  font-size:var(--reading-copy);line-height:1.5;
 }
 #workspace .choice strong{font-size:var(--reading-control);line-height:1.4}
 #workspace .choice small,#workspace .status,.meeting-census span{
  font-size:var(--reading-detail);line-height:1.4;
 }
 #workspace .section-title:has(#live-progress){flex-wrap:wrap}
 #workspace #live-progress{white-space:normal;max-width:100%;overflow-wrap:anywhere}
 #workspace .ballot-section>legend,#workspace .check,#workspace .nomination-grid .choice,
 #workspace .proposal-options>summary{font-size:var(--reading-label);line-height:1.4}
 #workspace .ballot-actions{min-width:0}
 #workspace .ballot-actions>*{min-width:0}
 #workspace .ballot-actions>.button{font-size:var(--reading-control);min-height:46px}
 #workspace .ballot-actions>.saved-ballot{font-size:var(--reading-detail);line-height:1.4}
 #workspace .ballot-section .choice{scroll-margin-block:16px 180px}
 .lab-footer{font-size:var(--reading-detail);line-height:1.4}

 /* Lector QR: instrucciones, acciones y configuración con la misma escala. */
 .qr-reader .reader-intro p,.qr-reader .reader-stage small,
 .qr-reader .scan-status,.qr-reader .reader-footnote,.qr-reader .envelope-summary p,
 .qr-reader .shared-warning,.qr-reader .qr-session-list p{
  font-size:var(--reading-copy);line-height:1.5;
 }
 .qr-reader .reader-toolbar label,.qr-reader .technical-entry summary,
 .qr-reader .summary-rows summary,.qr-reader .shared-progress span,
 .qr-reader .shared-setup label,.qr-reader .shared-setup .check{
  font-size:var(--reading-label);line-height:1.4;
 }
 .qr-reader .reader-toolbar .button,.qr-reader .reader-intro>button,
 .qr-reader .shared-actions .button,.qr-reader .reserved-entry .button,
 .qr-reader .session-entry .button,.qr-reader .envelope-entry .button{
  font-size:var(--reading-control);line-height:1.4;
 }
 .qr-reader .reader-person-name,.qr-reader .card-info small,
 .qr-reader .session-entry small,.qr-reader .envelope-entry small,
 .qr-reader .qr-sync,.qr-reader .summary-references span{
  font-size:var(--reading-detail);line-height:1.4;
 }
 .qr-reader .qr-reference-row{grid-template-columns:38px minmax(0,1fr) minmax(110px,.7fr)}
 .qr-reader .qr-reference-row select,.qr-reader .qr-link-box input{font-size:var(--reading-input)}
}

/* En horizontal corto, el envío no ocupa una franja permanente sobre las opciones. */
@media (orientation:landscape) and (max-height:450px) and (max-width:1100px){
 body[data-proposal-role=participant] .ballot-confirmation{position:static}
}
