html.av-phone-layout { font-size: calc(16px * var(--av-phone-scale, 1)); }
html.av-tools-open, html.av-tools-open body { overflow: hidden; }
@media (max-width: 760px) {
/* One mobile hierarchy, shared by phone detection and narrow windows. */
.app-shell { --shell-gap: 0; display: block; height: auto; min-height: 100dvh; padding: 0; overflow: visible; }
.app-shell > .workspace { display: block; width: 100%; min-width: 0; height: auto; min-height: 100dvh; overflow: visible; }
.app-shell > .workspace > .app-topbar { position: relative; top: auto; backdrop-filter: none; -webkit-backdrop-filter: none; transform: none; filter: none; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: .75rem; padding: max(.75rem, env(safe-area-inset-top, 0px)) 1rem .75rem; min-height: 0; border-radius: 0; border-width: 0 0 1px; }
.app-shell .app-topbar .menu-toggle { display: grid; width: 3rem; height: 3rem; margin: 0; }
.app-shell .app-topbar:not(.search-open) > .breadcrumb { display: block; min-width: 0; }
.app-shell .app-topbar .breadcrumb h1 { font-size: 1.25rem; line-height: 1.3; letter-spacing: -.02em; margin: 0; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.app-shell .app-topbar .breadcrumb :is(.breadcrumb-team, .breadcrumb-season), .app-shell .app-topbar .breadcrumb > svg { display: none; }
.app-shell .app-topbar .page-responsibles { display: flex; flex-wrap: wrap; gap: .375rem; font-size: .875rem; }
.app-shell .app-topbar .topbar-tools { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .625rem; width: 100%; min-width: 0; }
.app-shell .app-topbar :is(.icon-button, .language button) { min-width: 3rem; min-height: 3rem; font-size: 1rem; }
.app-shell .app-topbar :is(.icon-button, .menu-toggle) svg { width: 1.375rem; height: 1.375rem; }
.app-shell .app-topbar .topbar-social { display: flex; flex-wrap: wrap; gap: .625rem; }
.app-shell .app-topbar .topbar-social a { display: grid; place-items: center; min-width: 3rem; min-height: 3rem; }
.app-shell .app-topbar .topbar-social svg { width: 1.375rem; height: 1.375rem; }
.app-shell .app-topbar [data-action-inbox] { flex: 0 0 auto; margin-inline-end: .5rem; }
.app-shell .app-topbar .action-inbox-bell { width: 3rem; height: 3rem; min-width: 3rem; min-height: 3rem; }
.app-shell .app-topbar .action-inbox-glyph { width: 1.5rem; height: 1.5rem; }
.app-shell .app-topbar .action-inbox-count { top: -.375rem; right: -.375rem; min-width: 1.375rem; height: 1.375rem; border-width: .125rem; padding-inline: .25rem; font-size: .75rem; line-height: 1; }
.app-shell .app-topbar .season-select { width: 100%; max-width: none; min-width: 0; min-height: 3.25rem; font-size: 1rem; padding: .75rem; }
.app-shell .app-topbar .dashboard-updates-button { min-height: 3.25rem; font-size: 1rem; padding: .75rem 1rem; white-space: normal; }
.app-shell .app-topbar .profile-badge { width: 3rem; height: 3rem; font-size: 1rem; }
.app-shell .app-topbar .unified-search.is-open { width: 100%; max-width: none; }
.app-shell .app-topbar.search-open { grid-template-columns: minmax(0, 1fr); }
.app-shell .app-topbar.search-open .topbar-tools { grid-column: 1; }
.app-shell .app-topbar .unified-search input { min-height: 3rem; font-size: 1rem; }
.app-shell .mobile-topbar-options { margin-left: auto; }
.app-shell .mobile-topbar-options > summary { display: flex; align-items: center; justify-content: center; min-height: 3rem; padding: .625rem 1rem; border: 1px solid #666870; border-radius: .75rem; background: #26272d; color: #f5f5f7; font-size: 1rem; font-weight: 700; cursor: pointer; list-style: none; }
.app-shell .mobile-topbar-options > summary::-webkit-details-marker { display: none; }
.app-shell .mobile-topbar-panel { position: fixed; inset: 0; z-index: 40; padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1.25rem, env(safe-area-inset-bottom, 0px)); background: #1b1b1f; color: #f5f5f7; overflow-y: auto; overscroll-behavior: contain; }
.app-shell .mobile-topbar-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; font-size: 1.125rem; }
.app-shell .mobile-topbar-panel-head button { min-height: 3rem; font-size: 1rem; padding: .625rem .875rem; }
.app-shell .mobile-topbar-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.app-shell .mobile-topbar-controls :is(.dashboard-updates-button, .season-select, .topbar-social) { flex: 1 0 100%; }
.app-shell .mobile-topbar-controls .topbar-social { padding-block: .75rem; border-block: 1px solid #45464e; }
.app-shell .mobile-topbar-controls .language { margin-right: auto; }
.app-shell .mobile-topbar-options :focus-visible { outline: 3px solid #ffdb1a; outline-offset: 3px; }
.app-shell > .workspace > .main-frame { height: auto; min-height: 0; overflow: visible; border: 0; border-radius: 0; margin: 0; padding: 0; }
.app-shell > .workspace > .main-frame > .main-content { width: 100%; max-width: none; height: auto; min-height: 0; overflow: visible; padding: 1.25rem 1rem max(2rem, env(safe-area-inset-bottom, 0px)); font-size: 1rem; line-height: 1.55; }
.app-shell .main-content #page-content { min-width: 0; }
.app-shell .main-content :is(.activity-grid, .resource-grid, .board-grid, .dashboard-grid, .detail-grid, .form-grid, .finance-ledger-grid, .finance-request-grid) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.app-shell .main-content .activity-grid > * { grid-column: auto; min-width: 0; }
.app-shell .main-content :is(.activity-card:not(.team-person-card), .resource-card, .board-card, .finance-ledger-card) { padding: 1.125rem; border-radius: 1rem; gap: 1rem; height: auto; min-height: 0; }
.app-shell .main-content :is(.activity-card, .resource-card, .board-card, .finance-ledger-card) :is(h2, h3) { font-size: 1.125rem; line-height: 1.4; margin: 0; overflow-wrap: anywhere; }
.app-shell .main-content :is(.activity-card, .resource-card, .board-card, .finance-ledger-card) p { display: block; font-size: 1rem; line-height: 1.55; -webkit-line-clamp: unset; overflow: visible; }
.app-shell .main-content :is(.activity-meta, .board-card-meta, .meeting-card-names, .detail-copy, .resource-card > a, .panel-body p, .empty-inline) { font-size: 1rem; line-height: 1.55; overflow-wrap: anywhere; }
.app-shell .main-content :is(.progress-caption, .activity-card-top, .board-card-top, .board-kind, .badge, .status-badge, .count-pill, .meeting-card-team small) { font-size: .875rem; line-height: 1.4; }
.app-shell .main-content :is(.activity-meta, .activity-card-top, .card-bottom, .avatar-stack) { flex-wrap: wrap; gap: .625rem; }
.app-shell .main-content .activity-meta svg { width: 1rem; height: 1rem; }
.app-shell .main-content .progress-track { height: .375rem; }
.app-shell .main-content :is(.board-card, .activity-card) :is(summary, .skill-pill, .skill-tag, .related-skills) { font-size: .875rem; line-height: 1.5; }
.app-shell .main-content :is(.board-card, .activity-card) summary { min-height: 3rem; padding: .75rem; }
.app-shell .main-content :is(.button, .text-button, .icon-button, .segmented button, .activity-view-options button) { min-height: 3rem; padding: .75rem 1rem; font-size: 1rem; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
.app-shell .main-content .icon-button { min-width: 3rem; padding: .625rem; }
.app-shell .main-content :is(.button, .icon-button) > svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.app-shell .main-content :is(.activities-topbar, .activities-topbar-actions, .activity-filter-bar, .toolbar, .filters, .heading-actions, .meeting-topbar, .pagination) { display: flex; flex-wrap: wrap; gap: .75rem; width: 100%; min-width: 0; }
.app-shell .main-content .activities-topbar { flex-direction: column; align-items: stretch; margin-bottom: 1rem; }
.app-shell .main-content .activities-topbar-actions > .button { width: 100%; }
.app-shell .main-content .activity-view-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: .5rem; }
.app-shell .main-content .activity-view-options > button { width: 100%; min-width: 0; }
.app-shell .main-content #activity-filters { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; width: 100%; }
.app-shell .main-content #activity-filters > * { width: 100%; min-width: 0; }
.app-shell .main-content #activity-filters :is(fieldset, legend, label) { min-width: 0; font-size: .9375rem; line-height: 1.4; }
.app-shell .main-content #activity-filters :is(.filter-pills, .filter-group, .filter-options, .check-group) { display: flex; flex-wrap: wrap; gap: .5rem; }
.app-shell .main-content #activity-filters :is(button, .check-label) { min-height: 3rem; font-size: .9375rem; white-space: normal; }
.app-shell .main-content :is(.field, .inline-fields, .heading-actions) { min-width: 0; max-width: 100%; }
.app-shell .main-content :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { min-width: 0; max-width: 100%; min-height: 3.25rem; font-size: 1rem; line-height: 1.5; padding: .75rem; }
.app-shell .main-content :is(.field label, .field-label, .detail-grid dt) { font-size: .9375rem; line-height: 1.4; margin-bottom: .5rem; }
.app-shell .main-content :is(.detail-grid dd, .row-main strong) { font-size: 1rem; line-height: 1.5; }
.app-shell .main-content :is(.row-main small, .data-table td small, .page-heading p:not(.eyebrow), .pagination) { font-size: .875rem; line-height: 1.5; }
.app-shell .main-content :is(.panel-head, .panel-body) { padding: 1rem; }
.app-shell .main-content :is(.panel-head h2, .page-heading h1) { font-size: 1.25rem; line-height: 1.35; }
.app-shell .main-content .page-heading { align-items: flex-start; flex-direction: column; gap: 1rem; margin-bottom: 1.5rem; }
.app-shell .main-content :is(.table-wrap, .calendar-scroll, .team-planner-scroll, .pdi-history-table) { max-width: 100%; overflow-x: auto; }
.app-shell .main-content .data-table { font-size: .9375rem; }
.app-shell .main-content .data-table th { font-size: .8125rem; padding: .875rem; }
.app-shell .main-content .data-table td { padding: 1rem .875rem; }
.app-shell .main-content :is(.kpi-grid, .fll-analytics-metrics, .fll-impact-stats) { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.app-shell .main-content :is(.kpi, .fll-analytics-metric) { padding: 1rem; }
.app-shell .main-content :is(.kpi-top, .kpi small, .fll-analytics-metric span, .fll-analytics-metric small) { font-size: .9375rem; line-height: 1.45; }
.app-shell .main-content :is(.kpi strong, .fll-analytics-metric strong) { font-size: 1.875rem; }
.app-shell .main-content :is(.fll-lab-overview, .fll-lab-overview-panel > .fll-analytics) { padding: 0; background: transparent; border: 0; border-radius: 0; }
.app-shell .main-content .fll-lab-overview-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .375rem; padding: .375rem; margin-bottom: 1rem; }
.app-shell .main-content .fll-lab-overview-tabs button { min-width: 0; min-height: 3.25rem; font-size: .9375rem; line-height: 1.35; padding: .625rem; }
.app-shell .main-content .fll-analytics { gap: 1rem; font-size: 1rem; }
.app-shell .main-content .fll-analytics-head { display: flex; flex-direction: column; gap: .875rem; padding: 1.125rem; }
.app-shell .main-content .fll-analytics-head h1 { font-size: 1.5rem; line-height: 1.25; }
.app-shell .main-content .fll-analytics-head :is(p, small) { font-size: .9375rem; line-height: 1.5; }
.app-shell .main-content .fll-analytics-head button { width: 100%; margin: 0; min-height: 3rem; padding: .75rem 1rem; font-size: 1rem; white-space: normal; }
.app-shell .main-content .fll-analytics-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.app-shell .main-content :is(.fll-analytics-card, .fll-analytics-method) { grid-column: auto; padding: 1rem; }
.app-shell .main-content :is(.fll-analytics-card h2, .fll-analytics-method h2) { font-size: 1.125rem; line-height: 1.35; }
.app-shell .main-content :is(.fll-analytics-legend, .fll-analytics-fine, .fll-analytics-bar-row) { font-size: .875rem; line-height: 1.5; }
.app-shell .main-content .fll-analytics-country-list { max-height: none; overflow: visible; }
.app-shell .main-content .fll-analytics-country-list > div { grid-template-columns: minmax(0, 1fr) auto; padding: .875rem 0; font-size: .9375rem; gap: .375rem .75rem; }
.app-shell .main-content .fll-analytics-country-list small { grid-column: 2; font-size: .875rem; }
.app-shell .main-content .fll-analytics-time-columns .fll-analytics-bars { grid-template-columns: minmax(0, 1fr); }
.app-shell .main-content .fll-analytics-bar-row { grid-template-columns: minmax(0, 1fr) minmax(2rem, .7fr) auto; }
.app-shell .sidebar-frame .side-nav button, .app-shell .sidebar-frame .nav-section-toggle { min-height: 3.25rem; padding: .875rem; font-size: 1rem; line-height: 1.4; }
.app-shell .sidebar-frame .nav-section-title { font-size: 1rem; }
.app-shell .sidebar-frame .side-nav button svg { width: 1.375rem; height: 1.375rem; flex-basis: 1.375rem; }
.app-shell .sidebar-frame .sidebar-label { font-size: .875rem; margin: 1.25rem .5rem .75rem; }
.app-shell .sidebar-frame .sidebar-foot p { font-size: .875rem; }
.app-shell .sidebar-frame .mobile-menu-close { min-height: 3rem; min-width: 5.5rem; font-size: 1rem; padding: .75rem; }
.dialog:not(.av-pp-dialog):not(.activity-attachment-dialog) { width: calc(100% - 1rem); max-width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
.dialog:not(.av-pp-dialog) :is(.dialog-head, .dialog-body, .dialog-foot) { padding: 1rem; }
.dialog:not(.av-pp-dialog) .dialog-head h2 { font-size: 1.25rem; line-height: 1.35; }
.dialog:not(.av-pp-dialog) :is(.field label, .field-label) { font-size: .9375rem; }
.dialog:not(.av-pp-dialog) :is(.button, .icon-button, input:not([type=checkbox]):not([type=radio]), select, textarea) { min-height: 3rem; font-size: 1rem; }
.dialog:not(.av-pp-dialog) .form-grid { grid-template-columns: minmax(0, 1fr); }

.app-shell .main-content .social-fll-hub { padding: 0; font-size: 1rem; }
.app-shell .main-content .social-fll-hub-hero { display: flex; flex-direction: column; align-items: stretch; gap: 1.25rem; padding: 1.125rem; }
.app-shell .main-content .social-fll-hub-hero :is(h1, h2) { font-size: 1.5rem; line-height: 1.25; }
.app-shell .main-content .social-fll-hub :is(p, label, select, summary) { font-size: 1rem; line-height: 1.55; }
.app-shell .main-content .social-fll-hub :is(small, .eyebrow) { font-size: .875rem; line-height: 1.45; }
.app-shell .main-content :is(.social-fll-hub-overview, .social-fll-lab-grid, .social-fll-lab-summary, .social-fll-hub-stats) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.app-shell .main-content .social-fll-hub-overview article { padding: 1.125rem; }
.app-shell .main-content .social-fll-hub-overview article h2 { font-size: 1.375rem; line-height: 1.35; }
.app-shell .main-content :is(.social-fll-hub-hero-actions, .social-fll-hub-heading, .social-fll-lab-heading) { display: flex; flex-wrap: wrap; gap: .75rem; }
.app-shell .main-content :is(.social-fll-hub-hero-actions, .social-fll-hub-hero) .button { width: 100%; }
.app-shell .main-content .social-fll-hub-nav { display: flex; flex-wrap: nowrap; width: 100%; overflow-x: auto; gap: .375rem; padding: .375rem; scroll-padding-inline: .375rem; }
.app-shell .main-content .social-fll-hub-nav button { flex: 0 0 auto; min-height: 3rem; font-size: 1rem; padding: .75rem 1rem; white-space: nowrap; }
.app-shell .main-content :is(.social-fll-hub-panel, .social-fll-lab-team, .social-fll-lab-card) { min-width: 0; padding: 1rem; }
.app-shell .main-content .social-fll-hub-about { padding: 1rem; }
.app-shell .main-content :is(.social-fll-hub-heading h2, .social-fll-lab h2) { font-size: 1.375rem; line-height: 1.35; }
.app-shell .main-content .social-fll-lab-team :is(h3, strong) { font-size: 1.125rem; }
.app-shell .main-content .social-fll-lab-empty { padding: 1rem; font-size: 1rem; }

.app-shell > .sidebar-frame, .app-shell.menu-collapsed > .sidebar-frame { position: fixed; z-index: 30; inset: 0; width: 100%; max-width: none; height: 100dvh; padding: max(.5rem, env(safe-area-inset-top, 0px)) .5rem max(.5rem, env(safe-area-inset-bottom, 0px)); border: 0; border-radius: 0; transform: translateX(-100%); visibility: hidden; pointer-events: none; }
.app-shell.menu-open > .sidebar-frame { transform: translateX(0); visibility: visible; pointer-events: auto; }
.app-shell .sidebar-frame > .sidebar.sidebar { padding: .5rem 1rem 1.125rem; height: 100%; overflow-y: auto; }
.app-shell .sidebar-frame > .sidebar.sidebar > .mobile-menu-header { position: sticky; top: 0; z-index: 6; display: flex; align-items: center; justify-content: space-between; min-height: 4rem; gap: .75rem; background: #1b1b1f; }
.app-shell .sidebar-frame .mobile-menu-close { display: inline-flex; align-items: center; justify-content: center; }
.app-shell .sidebar-frame .mobile-menu-header .wordmark { margin: 0; padding: 0; }
.app-shell .sidebar-frame .brand-name { font-size: 1rem; }
.app-shell .sidebar-frame .brand-mark { width: 2.5rem; height: 2.75rem; }
.app-shell.menu-open > .sidebar-scrim { display: block; position: fixed; inset: 0; z-index: 29; width: 100%; height: 100%; border: 0; border-radius: 0; background: #0009; }

.app-shell > .workspace > .main-frame::before, .app-shell > .workspace > .main-frame::after { display: none; }

.app-shell .main-content :is(.status, .activity-card-top small, .activity-card-top .muted, .deadline-badge, .overdue-todo-badge, .activity-origin) { font-size: .875rem; line-height: 1.4; white-space: normal; }
.app-shell .main-content #activity-filters .filter-chip { min-height: 3rem; padding: .625rem .875rem; font-size: .9375rem; gap: .5rem; }
.app-shell .main-content #activity-filters .filter-chip input { width: 1.125rem; height: 1.125rem; flex: 0 0 1.125rem; }
.app-shell .main-content :is(.board-child, .board-info, .board-step, .board-impediment) { font-size: .9375rem; line-height: 1.5; }
.app-shell .main-content :is(.board-child-meta small, .board-step small, .related-skills-count) { font-size: .875rem; }
.app-shell .main-content .activity-card .responsible-person-link { min-width: 2.75rem; min-height: 2.75rem; }
.app-shell .main-content .activity-card .responsible-avatar { width: 2.5rem; height: 2.5rem; }
.app-shell .main-content .social-fll-hub-stats > div { padding: .75rem; border: 1px solid var(--hub-border); border-radius: .75rem; }
.app-shell .main-content .social-fll-hub .social-fll-hub-stats strong { font-size: 1.125rem; line-height: 1.4; margin-top: .375rem; }
.app-shell .main-content .social-fll-hub-identity { justify-items: start; gap: 1rem; }
.app-shell .main-content .social-fll-hub-identity img { max-width: 7.5rem; }

.app-shell .main-content .activity-card-top .muted[style] { font-size: .875rem !important; }

.app-shell .main-content .activity-card .forum-rich-body { font-size: 1rem; line-height: 1.55; }

.app-shell .main-content .fll-community.fll-impact-screen { padding: 0; font-size: 1rem; }
.app-shell .main-content .fll-impact-screen .fll-impact-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.app-shell .main-content .fll-impact-screen .fll-impact-stats { grid-template-columns: minmax(0, 1fr); gap: .75rem; margin-bottom: 1rem; }
.app-shell .main-content .fll-impact-screen .fll-impact-stats :is(strong, .fll-usage-stat) { padding: 1rem; font-size: 1.75rem; }
.app-shell .main-content .fll-impact-screen :is(.fll-impact-stats small, .fll-usage-title, .fll-usage-status) { font-size: .9375rem; line-height: 1.45; }
.app-shell .main-content .fll-impact-screen .fll-map-head { flex-wrap: wrap; padding: 1rem; gap: .75rem; }
.app-shell .main-content .fll-impact-screen :is(.fll-map-head h2, .fll-recent-access h3) { font-size: 1.125rem; }
.app-shell .main-content .fll-impact-screen :is(.fll-world-button, .fll-map-head button, .fll-country-list button, .fll-region-list button, [data-team-more]) { min-height: 3rem; padding: .75rem; font-size: 1rem; }
.app-shell .main-content .fll-impact-screen .fll-country-list { grid-template-columns: minmax(0, 1fr); }
.app-shell .main-content .fll-impact-screen .fll-recent-access { height: auto; padding: 1rem; overflow: visible; }
.app-shell .main-content .fll-impact-screen .fll-recent-access .fll-team-list { display: grid; grid-template-columns: minmax(0, 1fr); max-height: none; height: auto; overflow: visible; gap: .75rem; }
.app-shell .main-content .fll-impact-screen .fll-team-list article { height: auto; min-height: 0; padding: 1rem; gap: .875rem; }
.app-shell .main-content .fll-impact-screen .fll-team-list article :is(strong, p) { font-size: 1rem; line-height: 1.45; }
.app-shell .main-content .fll-impact-screen .fll-team-list article small { font-size: .875rem; line-height: 1.45; }
.app-shell .main-content .fll-impact-screen .fll-team-logo { width: 3rem; height: 3rem; flex-basis: 3rem; }
}
/* One mobile hierarchy, shared by phone detection and narrow windows. */
html.av-phone-layout .app-shell { --shell-gap: 0; display: block; height: auto; min-height: 100dvh; padding: 0; overflow: visible; }
html.av-phone-layout .app-shell > .workspace { display: block; width: 100%; min-width: 0; height: auto; min-height: 100dvh; overflow: visible; }
html.av-phone-layout .app-shell > .workspace > .app-topbar { position: relative; top: auto; backdrop-filter: none; -webkit-backdrop-filter: none; transform: none; filter: none; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: .75rem; padding: max(.75rem, env(safe-area-inset-top, 0px)) 1rem .75rem; min-height: 0; border-radius: 0; border-width: 0 0 1px; }
html.av-phone-layout .app-shell .app-topbar .menu-toggle { display: grid; width: 3rem; height: 3rem; margin: 0; }
html.av-phone-layout .app-shell .app-topbar:not(.search-open) > .breadcrumb { display: block; min-width: 0; }
html.av-phone-layout .app-shell .app-topbar .breadcrumb h1 { font-size: 1.25rem; line-height: 1.3; letter-spacing: -.02em; margin: 0; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
html.av-phone-layout .app-shell .app-topbar .breadcrumb :is(.breadcrumb-team, .breadcrumb-season), html.av-phone-layout .app-shell .app-topbar .breadcrumb > svg { display: none; }
html.av-phone-layout .app-shell .app-topbar .page-responsibles { display: flex; flex-wrap: wrap; gap: .375rem; font-size: .875rem; }
html.av-phone-layout .app-shell .app-topbar .topbar-tools { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .625rem; width: 100%; min-width: 0; }
html.av-phone-layout .app-shell .app-topbar :is(.icon-button, .language button) { min-width: 3rem; min-height: 3rem; font-size: 1rem; }
html.av-phone-layout .app-shell .app-topbar :is(.icon-button, .menu-toggle) svg { width: 1.375rem; height: 1.375rem; }
html.av-phone-layout .app-shell .app-topbar .topbar-social { display: flex; flex-wrap: wrap; gap: .625rem; }
html.av-phone-layout .app-shell .app-topbar .topbar-social a { display: grid; place-items: center; min-width: 3rem; min-height: 3rem; }
html.av-phone-layout .app-shell .app-topbar .topbar-social svg { width: 1.375rem; height: 1.375rem; }
html.av-phone-layout .app-shell .app-topbar [data-action-inbox] { flex: 0 0 auto; margin-inline-end: .5rem; }
html.av-phone-layout .app-shell .app-topbar .action-inbox-bell { width: 3rem; height: 3rem; min-width: 3rem; min-height: 3rem; }
html.av-phone-layout .app-shell .app-topbar .action-inbox-glyph { width: 1.5rem; height: 1.5rem; }
html.av-phone-layout .app-shell .app-topbar .action-inbox-count { top: -.375rem; right: -.375rem; min-width: 1.375rem; height: 1.375rem; border-width: .125rem; padding-inline: .25rem; font-size: .75rem; line-height: 1; }
html.av-phone-layout .app-shell .app-topbar .season-select { width: 100%; max-width: none; min-width: 0; min-height: 3.25rem; font-size: 1rem; padding: .75rem; }
html.av-phone-layout .app-shell .app-topbar .dashboard-updates-button { min-height: 3.25rem; font-size: 1rem; padding: .75rem 1rem; white-space: normal; }
html.av-phone-layout .app-shell .app-topbar .profile-badge { width: 3rem; height: 3rem; font-size: 1rem; }
html.av-phone-layout .app-shell .app-topbar .unified-search.is-open { width: 100%; max-width: none; }
html.av-phone-layout .app-shell .app-topbar.search-open { grid-template-columns: minmax(0, 1fr); }
html.av-phone-layout .app-shell .app-topbar.search-open .topbar-tools { grid-column: 1; }
html.av-phone-layout .app-shell .app-topbar .unified-search input { min-height: 3rem; font-size: 1rem; }
html.av-phone-layout .app-shell .mobile-topbar-options { margin-left: auto; }
html.av-phone-layout .app-shell .mobile-topbar-options > summary { display: flex; align-items: center; justify-content: center; min-height: 3rem; padding: .625rem 1rem; border: 1px solid #666870; border-radius: .75rem; background: #26272d; color: #f5f5f7; font-size: 1rem; font-weight: 700; cursor: pointer; list-style: none; }
html.av-phone-layout .app-shell .mobile-topbar-options > summary::-webkit-details-marker { display: none; }
html.av-phone-layout .app-shell .mobile-topbar-panel { position: fixed; inset: 0; z-index: 40; padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1.25rem, env(safe-area-inset-bottom, 0px)); background: #1b1b1f; color: #f5f5f7; overflow-y: auto; overscroll-behavior: contain; }
html.av-phone-layout .app-shell .mobile-topbar-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; font-size: 1.125rem; }
html.av-phone-layout .app-shell .mobile-topbar-panel-head button { min-height: 3rem; font-size: 1rem; padding: .625rem .875rem; }
html.av-phone-layout .app-shell .mobile-topbar-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
html.av-phone-layout .app-shell .mobile-topbar-controls :is(.dashboard-updates-button, .season-select, .topbar-social) { flex: 1 0 100%; }
html.av-phone-layout .app-shell .mobile-topbar-controls .topbar-social { padding-block: .75rem; border-block: 1px solid #45464e; }
html.av-phone-layout .app-shell .mobile-topbar-controls .language { margin-right: auto; }
html.av-phone-layout .app-shell .mobile-topbar-options :focus-visible { outline: 3px solid #ffdb1a; outline-offset: 3px; }
html.av-phone-layout .app-shell > .workspace > .main-frame { height: auto; min-height: 0; overflow: visible; border: 0; border-radius: 0; margin: 0; padding: 0; }
html.av-phone-layout .app-shell > .workspace > .main-frame > .main-content { width: 100%; max-width: none; height: auto; min-height: 0; overflow: visible; padding: 1.25rem 1rem max(2rem, env(safe-area-inset-bottom, 0px)); font-size: 1rem; line-height: 1.55; }
html.av-phone-layout .app-shell .main-content #page-content { min-width: 0; }
html.av-phone-layout .app-shell .main-content :is(.activity-grid, .resource-grid, .board-grid, .dashboard-grid, .detail-grid, .form-grid, .finance-ledger-grid, .finance-request-grid) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
html.av-phone-layout .app-shell .main-content .activity-grid > * { grid-column: auto; min-width: 0; }
html.av-phone-layout .app-shell .main-content :is(.activity-card:not(.team-person-card), .resource-card, .board-card, .finance-ledger-card) { padding: 1.125rem; border-radius: 1rem; gap: 1rem; height: auto; min-height: 0; }
html.av-phone-layout .app-shell .main-content :is(.activity-card, .resource-card, .board-card, .finance-ledger-card) :is(h2, h3) { font-size: 1.125rem; line-height: 1.4; margin: 0; overflow-wrap: anywhere; }
html.av-phone-layout .app-shell .main-content :is(.activity-card, .resource-card, .board-card, .finance-ledger-card) p { display: block; font-size: 1rem; line-height: 1.55; -webkit-line-clamp: unset; overflow: visible; }
html.av-phone-layout .app-shell .main-content :is(.activity-meta, .board-card-meta, .meeting-card-names, .detail-copy, .resource-card > a, .panel-body p, .empty-inline) { font-size: 1rem; line-height: 1.55; overflow-wrap: anywhere; }
html.av-phone-layout .app-shell .main-content :is(.progress-caption, .activity-card-top, .board-card-top, .board-kind, .badge, .status-badge, .count-pill, .meeting-card-team small) { font-size: .875rem; line-height: 1.4; }
html.av-phone-layout .app-shell .main-content :is(.activity-meta, .activity-card-top, .card-bottom, .avatar-stack) { flex-wrap: wrap; gap: .625rem; }
html.av-phone-layout .app-shell .main-content .activity-meta svg { width: 1rem; height: 1rem; }
html.av-phone-layout .app-shell .main-content .progress-track { height: .375rem; }
html.av-phone-layout .app-shell .main-content :is(.board-card, .activity-card) :is(summary, .skill-pill, .skill-tag, .related-skills) { font-size: .875rem; line-height: 1.5; }
html.av-phone-layout .app-shell .main-content :is(.board-card, .activity-card) summary { min-height: 3rem; padding: .75rem; }
html.av-phone-layout .app-shell .main-content :is(.button, .text-button, .icon-button, .segmented button, .activity-view-options button) { min-height: 3rem; padding: .75rem 1rem; font-size: 1rem; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
html.av-phone-layout .app-shell .main-content .icon-button { min-width: 3rem; padding: .625rem; }
html.av-phone-layout .app-shell .main-content :is(.button, .icon-button) > svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
html.av-phone-layout .app-shell .main-content :is(.activities-topbar, .activities-topbar-actions, .activity-filter-bar, .toolbar, .filters, .heading-actions, .meeting-topbar, .pagination) { display: flex; flex-wrap: wrap; gap: .75rem; width: 100%; min-width: 0; }
html.av-phone-layout .app-shell .main-content .activities-topbar { flex-direction: column; align-items: stretch; margin-bottom: 1rem; }
html.av-phone-layout .app-shell .main-content .activities-topbar-actions > .button { width: 100%; }
html.av-phone-layout .app-shell .main-content .activity-view-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: .5rem; }
html.av-phone-layout .app-shell .main-content .activity-view-options > button { width: 100%; min-width: 0; }
html.av-phone-layout .app-shell .main-content #activity-filters { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; width: 100%; }
html.av-phone-layout .app-shell .main-content #activity-filters > * { width: 100%; min-width: 0; }
html.av-phone-layout .app-shell .main-content #activity-filters :is(fieldset, legend, label) { min-width: 0; font-size: .9375rem; line-height: 1.4; }
html.av-phone-layout .app-shell .main-content #activity-filters :is(.filter-pills, .filter-group, .filter-options, .check-group) { display: flex; flex-wrap: wrap; gap: .5rem; }
html.av-phone-layout .app-shell .main-content #activity-filters :is(button, .check-label) { min-height: 3rem; font-size: .9375rem; white-space: normal; }
html.av-phone-layout .app-shell .main-content :is(.field, .inline-fields, .heading-actions) { min-width: 0; max-width: 100%; }
html.av-phone-layout .app-shell .main-content :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { min-width: 0; max-width: 100%; min-height: 3.25rem; font-size: 1rem; line-height: 1.5; padding: .75rem; }
html.av-phone-layout .app-shell .main-content :is(.field label, .field-label, .detail-grid dt) { font-size: .9375rem; line-height: 1.4; margin-bottom: .5rem; }
html.av-phone-layout .app-shell .main-content :is(.detail-grid dd, .row-main strong) { font-size: 1rem; line-height: 1.5; }
html.av-phone-layout .app-shell .main-content :is(.row-main small, .data-table td small, .page-heading p:not(.eyebrow), .pagination) { font-size: .875rem; line-height: 1.5; }
html.av-phone-layout .app-shell .main-content :is(.panel-head, .panel-body) { padding: 1rem; }
html.av-phone-layout .app-shell .main-content :is(.panel-head h2, .page-heading h1) { font-size: 1.25rem; line-height: 1.35; }
html.av-phone-layout .app-shell .main-content .page-heading { align-items: flex-start; flex-direction: column; gap: 1rem; margin-bottom: 1.5rem; }
html.av-phone-layout .app-shell .main-content :is(.table-wrap, .calendar-scroll, .team-planner-scroll, .pdi-history-table) { max-width: 100%; overflow-x: auto; }
html.av-phone-layout .app-shell .main-content .data-table { font-size: .9375rem; }
html.av-phone-layout .app-shell .main-content .data-table th { font-size: .8125rem; padding: .875rem; }
html.av-phone-layout .app-shell .main-content .data-table td { padding: 1rem .875rem; }
html.av-phone-layout .app-shell .main-content :is(.kpi-grid, .fll-analytics-metrics, .fll-impact-stats) { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
html.av-phone-layout .app-shell .main-content :is(.kpi, .fll-analytics-metric) { padding: 1rem; }
html.av-phone-layout .app-shell .main-content :is(.kpi-top, .kpi small, .fll-analytics-metric span, .fll-analytics-metric small) { font-size: .9375rem; line-height: 1.45; }
html.av-phone-layout .app-shell .main-content :is(.kpi strong, .fll-analytics-metric strong) { font-size: 1.875rem; }
html.av-phone-layout .app-shell .main-content :is(.fll-lab-overview, .fll-lab-overview-panel > .fll-analytics) { padding: 0; background: transparent; border: 0; border-radius: 0; }
html.av-phone-layout .app-shell .main-content .fll-lab-overview-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .375rem; padding: .375rem; margin-bottom: 1rem; }
html.av-phone-layout .app-shell .main-content .fll-lab-overview-tabs button { min-width: 0; min-height: 3.25rem; font-size: .9375rem; line-height: 1.35; padding: .625rem; }
html.av-phone-layout .app-shell .main-content .fll-analytics { gap: 1rem; font-size: 1rem; }
html.av-phone-layout .app-shell .main-content .fll-analytics-head { display: flex; flex-direction: column; gap: .875rem; padding: 1.125rem; }
html.av-phone-layout .app-shell .main-content .fll-analytics-head h1 { font-size: 1.5rem; line-height: 1.25; }
html.av-phone-layout .app-shell .main-content .fll-analytics-head :is(p, small) { font-size: .9375rem; line-height: 1.5; }
html.av-phone-layout .app-shell .main-content .fll-analytics-head button { width: 100%; margin: 0; min-height: 3rem; padding: .75rem 1rem; font-size: 1rem; white-space: normal; }
html.av-phone-layout .app-shell .main-content .fll-analytics-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
html.av-phone-layout .app-shell .main-content :is(.fll-analytics-card, .fll-analytics-method) { grid-column: auto; padding: 1rem; }
html.av-phone-layout .app-shell .main-content :is(.fll-analytics-card h2, .fll-analytics-method h2) { font-size: 1.125rem; line-height: 1.35; }
html.av-phone-layout .app-shell .main-content :is(.fll-analytics-legend, .fll-analytics-fine, .fll-analytics-bar-row) { font-size: .875rem; line-height: 1.5; }
html.av-phone-layout .app-shell .main-content .fll-analytics-country-list { max-height: none; overflow: visible; }
html.av-phone-layout .app-shell .main-content .fll-analytics-country-list > div { grid-template-columns: minmax(0, 1fr) auto; padding: .875rem 0; font-size: .9375rem; gap: .375rem .75rem; }
html.av-phone-layout .app-shell .main-content .fll-analytics-country-list small { grid-column: 2; font-size: .875rem; }
html.av-phone-layout .app-shell .main-content .fll-analytics-time-columns .fll-analytics-bars { grid-template-columns: minmax(0, 1fr); }
html.av-phone-layout .app-shell .main-content .fll-analytics-bar-row { grid-template-columns: minmax(0, 1fr) minmax(2rem, .7fr) auto; }
html.av-phone-layout .app-shell .sidebar-frame .side-nav button, html.av-phone-layout .app-shell .sidebar-frame .nav-section-toggle { min-height: 3.25rem; padding: .875rem; font-size: 1rem; line-height: 1.4; }
html.av-phone-layout .app-shell .sidebar-frame .nav-section-title { font-size: 1rem; }
html.av-phone-layout .app-shell .sidebar-frame .side-nav button svg { width: 1.375rem; height: 1.375rem; flex-basis: 1.375rem; }
html.av-phone-layout .app-shell .sidebar-frame .sidebar-label { font-size: .875rem; margin: 1.25rem .5rem .75rem; }
html.av-phone-layout .app-shell .sidebar-frame .sidebar-foot p { font-size: .875rem; }
html.av-phone-layout .app-shell .sidebar-frame .mobile-menu-close { min-height: 3rem; min-width: 5.5rem; font-size: 1rem; padding: .75rem; }
html.av-phone-layout .dialog:not(.av-pp-dialog):not(.activity-attachment-dialog) { width: calc(100% - 1rem); max-width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
html.av-phone-layout .dialog:not(.av-pp-dialog) :is(.dialog-head, .dialog-body, .dialog-foot) { padding: 1rem; }
html.av-phone-layout .dialog:not(.av-pp-dialog) .dialog-head h2 { font-size: 1.25rem; line-height: 1.35; }
html.av-phone-layout .dialog:not(.av-pp-dialog) :is(.field label, .field-label) { font-size: .9375rem; }
html.av-phone-layout .dialog:not(.av-pp-dialog) :is(.button, .icon-button, input:not([type=checkbox]):not([type=radio]), select, textarea) { min-height: 3rem; font-size: 1rem; }
html.av-phone-layout .dialog:not(.av-pp-dialog) .form-grid { grid-template-columns: minmax(0, 1fr); }

html.av-phone-layout .app-shell .main-content .social-fll-hub { padding: 0; font-size: 1rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-hero { display: flex; flex-direction: column; align-items: stretch; gap: 1.25rem; padding: 1.125rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-hero :is(h1, h2) { font-size: 1.5rem; line-height: 1.25; }
html.av-phone-layout .app-shell .main-content .social-fll-hub :is(p, label, select, summary) { font-size: 1rem; line-height: 1.55; }
html.av-phone-layout .app-shell .main-content .social-fll-hub :is(small, .eyebrow) { font-size: .875rem; line-height: 1.45; }
html.av-phone-layout .app-shell .main-content :is(.social-fll-hub-overview, .social-fll-lab-grid, .social-fll-lab-summary, .social-fll-hub-stats) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-overview article { padding: 1.125rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-overview article h2 { font-size: 1.375rem; line-height: 1.35; }
html.av-phone-layout .app-shell .main-content :is(.social-fll-hub-hero-actions, .social-fll-hub-heading, .social-fll-lab-heading) { display: flex; flex-wrap: wrap; gap: .75rem; }
html.av-phone-layout .app-shell .main-content :is(.social-fll-hub-hero-actions, .social-fll-hub-hero) .button { width: 100%; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-nav { display: flex; flex-wrap: nowrap; width: 100%; overflow-x: auto; gap: .375rem; padding: .375rem; scroll-padding-inline: .375rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-nav button { flex: 0 0 auto; min-height: 3rem; font-size: 1rem; padding: .75rem 1rem; white-space: nowrap; }
html.av-phone-layout .app-shell .main-content :is(.social-fll-hub-panel, .social-fll-lab-team, .social-fll-lab-card) { min-width: 0; padding: 1rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-about { padding: 1rem; }
html.av-phone-layout .app-shell .main-content :is(.social-fll-hub-heading h2, .social-fll-lab h2) { font-size: 1.375rem; line-height: 1.35; }
html.av-phone-layout .app-shell .main-content .social-fll-lab-team :is(h3, strong) { font-size: 1.125rem; }
html.av-phone-layout .app-shell .main-content .social-fll-lab-empty { padding: 1rem; font-size: 1rem; }

html.av-phone-layout .app-shell > .sidebar-frame, html.av-phone-layout .app-shell.menu-collapsed > .sidebar-frame { position: fixed; z-index: 30; inset: 0; width: 100%; max-width: none; height: 100dvh; padding: max(.5rem, env(safe-area-inset-top, 0px)) .5rem max(.5rem, env(safe-area-inset-bottom, 0px)); border: 0; border-radius: 0; transform: translateX(-100%); visibility: hidden; pointer-events: none; }
html.av-phone-layout .app-shell.menu-open > .sidebar-frame { transform: translateX(0); visibility: visible; pointer-events: auto; }
html.av-phone-layout .app-shell .sidebar-frame > .sidebar.sidebar { padding: .5rem 1rem 1.125rem; height: 100%; overflow-y: auto; }
html.av-phone-layout .app-shell .sidebar-frame > .sidebar.sidebar > .mobile-menu-header { position: sticky; top: 0; z-index: 6; display: flex; align-items: center; justify-content: space-between; min-height: 4rem; gap: .75rem; background: #1b1b1f; }
html.av-phone-layout .app-shell .sidebar-frame .mobile-menu-close { display: inline-flex; align-items: center; justify-content: center; }
html.av-phone-layout .app-shell .sidebar-frame .mobile-menu-header .wordmark { margin: 0; padding: 0; }
html.av-phone-layout .app-shell .sidebar-frame .brand-name { font-size: 1rem; }
html.av-phone-layout .app-shell .sidebar-frame .brand-mark { width: 2.5rem; height: 2.75rem; }
html.av-phone-layout .app-shell.menu-open > .sidebar-scrim { display: block; position: fixed; inset: 0; z-index: 29; width: 100%; height: 100%; border: 0; border-radius: 0; background: #0009; }

html.av-phone-layout .app-shell > .workspace > .main-frame::before, html.av-phone-layout .app-shell > .workspace > .main-frame::after { display: none; }

html.av-phone-layout .app-shell .main-content :is(.status, .activity-card-top small, .activity-card-top .muted, .deadline-badge, .overdue-todo-badge, .activity-origin) { font-size: .875rem; line-height: 1.4; white-space: normal; }
html.av-phone-layout .app-shell .main-content #activity-filters .filter-chip { min-height: 3rem; padding: .625rem .875rem; font-size: .9375rem; gap: .5rem; }
html.av-phone-layout .app-shell .main-content #activity-filters .filter-chip input { width: 1.125rem; height: 1.125rem; flex: 0 0 1.125rem; }
html.av-phone-layout .app-shell .main-content :is(.board-child, .board-info, .board-step, .board-impediment) { font-size: .9375rem; line-height: 1.5; }
html.av-phone-layout .app-shell .main-content :is(.board-child-meta small, .board-step small, .related-skills-count) { font-size: .875rem; }
html.av-phone-layout .app-shell .main-content .activity-card .responsible-person-link { min-width: 2.75rem; min-height: 2.75rem; }
html.av-phone-layout .app-shell .main-content .activity-card .responsible-avatar { width: 2.5rem; height: 2.5rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-stats > div { padding: .75rem; border: 1px solid var(--hub-border); border-radius: .75rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub .social-fll-hub-stats strong { font-size: 1.125rem; line-height: 1.4; margin-top: .375rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-identity { justify-items: start; gap: 1rem; }
html.av-phone-layout .app-shell .main-content .social-fll-hub-identity img { max-width: 7.5rem; }

html.av-phone-layout .app-shell .main-content .activity-card-top .muted[style] { font-size: .875rem !important; }

html.av-phone-layout .app-shell .main-content .activity-card .forum-rich-body { font-size: 1rem; line-height: 1.55; }

html.av-phone-layout .app-shell .main-content .fll-community.fll-impact-screen { padding: 0; font-size: 1rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-impact-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-impact-stats { grid-template-columns: minmax(0, 1fr); gap: .75rem; margin-bottom: 1rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-impact-stats :is(strong, .fll-usage-stat) { padding: 1rem; font-size: 1.75rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen :is(.fll-impact-stats small, .fll-usage-title, .fll-usage-status) { font-size: .9375rem; line-height: 1.45; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-map-head { flex-wrap: wrap; padding: 1rem; gap: .75rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen :is(.fll-map-head h2, .fll-recent-access h3) { font-size: 1.125rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen :is(.fll-world-button, .fll-map-head button, .fll-country-list button, .fll-region-list button, [data-team-more]) { min-height: 3rem; padding: .75rem; font-size: 1rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-country-list { grid-template-columns: minmax(0, 1fr); }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-recent-access { height: auto; padding: 1rem; overflow: visible; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-recent-access .fll-team-list { display: grid; grid-template-columns: minmax(0, 1fr); max-height: none; height: auto; overflow: visible; gap: .75rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-team-list article { height: auto; min-height: 0; padding: 1rem; gap: .875rem; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-team-list article :is(strong, p) { font-size: 1rem; line-height: 1.45; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-team-list article small { font-size: .875rem; line-height: 1.45; }
html.av-phone-layout .app-shell .main-content .fll-impact-screen .fll-team-logo { width: 3rem; height: 3rem; flex-basis: 3rem; }

/* Readable navigation and overview at every drawer width. Keep the original controls. */
@media (max-width: 1100px) {
  .app-shell .sidebar-frame .side-nav .forum-new-badge {
    min-height: 1.5rem; padding: .1875rem .5rem; font-size: .875rem; line-height: 1.25;
  }
}
html.av-phone-layout .app-shell .sidebar-frame .side-nav .forum-new-badge {
  min-height: 1.5rem; padding: .1875rem .5rem; font-size: .875rem; line-height: 1.25;
}
@media (max-width: 760px) {
  .app-shell .app-topbar .topbar-tools > [data-action="logout"] {
    width: auto; min-width: 4.75rem; min-height: 3rem; padding: .625rem .875rem;
    display: inline-flex; align-items: center; justify-content: center; gap: .375rem;
    border-color: #74767c; color: #f5f5f7; font-size: 1rem; font-weight: 700;
  }
  .app-shell .app-topbar .topbar-tools > [data-action="logout"]::after { content: "Sair"; }
  html:lang(en) .app-shell .app-topbar .topbar-tools > [data-action="logout"]::after { content: "Sign out"; }
  .app-shell .main-content .dashboard-hero { min-width: 0; padding: 1.25rem; gap: 1rem; }
  .app-shell .main-content .dashboard-hero h2 { font-size: 1.5rem; line-height: 1.3; }
  .app-shell .main-content .dashboard-hero :is(p, .eyebrow) { font-size: 1rem; line-height: 1.5; }
  .app-shell .main-content .dashboard-hero .hero-side .button { min-height: 3rem; font-size: 1rem; }
  .app-shell .main-content .kpi-grid .kpi :is(.kpi-top, small) { font-size: .875rem; line-height: 1.45; }
}
html.av-phone-layout .app-shell .app-topbar .topbar-tools > [data-action="logout"] {
  width: auto; min-width: 4.75rem; min-height: 3rem; padding: .625rem .875rem;
  display: inline-flex; align-items: center; justify-content: center; gap: .375rem;
  border-color: #74767c; color: #f5f5f7; font-size: 1rem; font-weight: 700;
}
html.av-phone-layout .app-shell .app-topbar .topbar-tools > [data-action="logout"]::after { content: "Sair"; }
html.av-phone-layout:lang(en) .app-shell .app-topbar .topbar-tools > [data-action="logout"]::after { content: "Sign out"; }
html.av-phone-layout .app-shell .main-content .dashboard-hero { min-width: 0; padding: 1.25rem; gap: 1rem; }
html.av-phone-layout .app-shell .main-content .dashboard-hero h2 { font-size: 1.5rem; line-height: 1.3; }
html.av-phone-layout .app-shell .main-content .dashboard-hero :is(p, .eyebrow) { font-size: 1rem; line-height: 1.5; }
html.av-phone-layout .app-shell .main-content .dashboard-hero .hero-side .button { min-height: 3rem; font-size: 1rem; }
html.av-phone-layout .app-shell .main-content .kpi-grid .kpi :is(.kpi-top, small) { font-size: .875rem; line-height: 1.45; }

/* The team catalog's 480px rules otherwise shrink award labels to 9–10px. */
@media (max-width: 600px) {
  :is(.app-shell .main-content, .first-team-dialog, .first-team-inline) .first-award-metric :is(span, small),
  .app-shell .main-content .first-catalog-badge,
  .first-sources-dialog .first-source-item :is(dt, dd) { font-size: .875rem; line-height: 1.45; }
  :is(.app-shell .main-content, .first-team-dialog, .first-team-inline) .first-award-metric { min-width: 0; }
}
html.av-phone-layout :is(.app-shell .main-content, .first-team-dialog, .first-team-inline) .first-award-metric :is(span, small),
html.av-phone-layout .app-shell .main-content .first-catalog-badge,
html.av-phone-layout .first-sources-dialog .first-source-item :is(dt, dd) { font-size: .875rem; line-height: 1.45; }
html.av-phone-layout :is(.app-shell .main-content, .first-team-dialog, .first-team-inline) .first-award-metric { min-width: 0; }

/* PP preview is a dialog outside the app shell, so it needs its own text floor. */
@media (max-width: 700px) {
  .av-pp-dialog .av-pp-name h3 { font-size: 1rem; }
  .av-pp-dialog .av-pp-path { min-height: 2.75rem; font-size: .875rem; }
  .av-pp-dialog .av-pp-path small { font-size: .75rem; white-space: normal; }
  .av-pp-dialog .av-pp-timeline output { font-size: .875rem; }
}
html.av-phone-layout .av-pp-dialog .av-pp-name h3 { font-size: 1rem; }
html.av-phone-layout .av-pp-dialog .av-pp-path { min-height: 2.75rem; font-size: .875rem; }
html.av-phone-layout .av-pp-dialog .av-pp-path small { font-size: .75rem; white-space: normal; }
html.av-phone-layout .av-pp-dialog .av-pp-timeline output { font-size: .875rem; }

/* Forum header pair controls were forced to 29px/11px by a more specific rule. */
@media (max-width: 760px) {
  .app-shell .main-content .forum-page-heading .forum-heading-actions.is-pair .button {
    min-height: 2.75rem; height: auto; padding: .625rem .75rem; font-size: .875rem; line-height: 1.3; white-space: normal;
  }
  .app-shell .main-content .forum-page-heading :is(.forum-page-intro, .eyebrow) { font-size: .875rem; line-height: 1.45; }
}
html.av-phone-layout .app-shell .main-content .forum-page-heading .forum-heading-actions.is-pair .button {
  min-height: 2.75rem; height: auto; padding: .625rem .75rem; font-size: .875rem; line-height: 1.3; white-space: normal;
}
html.av-phone-layout .app-shell .main-content .forum-page-heading :is(.forum-page-intro, .eyebrow) { font-size: .875rem; line-height: 1.45; }

/* Reserve the full touch target: the desktop 40px slot overlaps Sign out at phone scale. */
@media (max-width: 760px) {
  .app-shell .app-topbar .unified-search:not(.is-open) { flex: 0 0 3rem; width: 3rem; min-width: 3rem; max-width: 3rem; gap: 0; }
  .app-shell .app-topbar .unified-search:not(.is-open) > [data-search-toggle] { flex: 0 0 3rem; width: 3rem; min-width: 3rem; height: 3rem; min-height: 3rem; }
  .app-shell .app-topbar .unified-search:not(.is-open) > .unified-search-drawer { display: none; }
  .app-shell .app-topbar .topbar-tools > [data-action="logout"] { flex: 0 0 auto; white-space: nowrap; }
  .app-shell .app-topbar.search-open .topbar-tools > :not(.unified-search) { display: none; }
}
html.av-phone-layout .app-shell .app-topbar .unified-search:not(.is-open) { flex: 0 0 3rem; width: 3rem; min-width: 3rem; max-width: 3rem; gap: 0; }
html.av-phone-layout .app-shell .app-topbar .unified-search:not(.is-open) > [data-search-toggle] { flex: 0 0 3rem; width: 3rem; min-width: 3rem; height: 3rem; min-height: 3rem; }
html.av-phone-layout .app-shell .app-topbar .unified-search:not(.is-open) > .unified-search-drawer { display: none; }
html.av-phone-layout .app-shell .app-topbar .topbar-tools > [data-action="logout"] { flex: 0 0 auto; white-space: nowrap; }
html.av-phone-layout .app-shell .app-topbar.search-open .topbar-tools > :not(.unified-search) { display: none; }
