/* Page components added by portal-pages.js. Load after portal.css and library.css. */

/* Institutional channels remain grouped by brand, before the search control. */
.topbar {
  height: auto;
  min-height: 78px;
  padding-top: 11px;
  padding-bottom: 11px;
  gap: 18px;
}
.topbar .breadcrumb { min-width: 0; flex-shrink: 1; }
.topbar .breadcrumb strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar .top-actions { min-width: 0; gap: 11px; }
.topbar .search-trigger {
  display: flex;
  width: clamp(145px, 14vw, 205px);
  min-width: 145px;
  font-size: 14px;
  color: #676b82;
}
.topbar .search-trigger kbd { font-size: 14px; }
.topbar .search-trigger > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-social-groups {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
  margin-right: 2px;
}
.top-social-brand { display: grid; align-content: center; gap: 4px; min-width: 0; }
.top-social-brand > span { font-size: 14px; font-weight: 650; line-height: 1.15; color: #65617e; }
.top-social-brand + .top-social-brand { padding-left: 14px; border-left: 1px solid #e8e6f0; }
.top-social-brand > div { display: flex; align-items: center; gap: 4px; }
.top-social-groups .social-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border: 1px solid transparent;
  border-radius: 9px;
  text-decoration: none;
  box-shadow: none;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.top-social-groups .social-button .icon { width: 17px; height: 17px; opacity: 1; stroke-width: 1.8; }
.top-social-groups .social-instagram { color: #a74d7e; background: linear-gradient(140deg, #f7eafb 0%, #fdebf1 55%, #fff1e4 100%); border-color: #f0dce8; }
.top-social-groups .social-instagram:hover { border-color: #dbb4cd; box-shadow: 0 2px 7px #a74d7e12; }
.top-social-groups .social-youtube { color: #bb4a4e; background: #fff0f0; border-color: #f4dfe0; }
.top-social-groups .social-youtube:hover { background: #ffe7e8; border-color: #e4b7ba; }
.top-social-groups .social-facebook { color: #3d66a4; background: #edf4ff; border-color: #dfe8f7; }
.top-social-groups .social-facebook:hover { background: #e4efff; border-color: #b9cdeb; }
.top-social-groups .social-site { color: #514787; background: #f0eef9; border-color: #e4e0f1; }
.top-social-groups .social-site:hover { background: #e9e5f7; border-color: #c7bfdf; }
.top-social-groups .social-button:focus-visible { outline: 3px solid #a79bd3; outline-offset: 3px; }

/* Shared page layout. */
.workspace-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.workspace-heading > div:first-child { min-width: 0; }
.workspace-heading .eyebrow,
.achievement-summary .eyebrow { margin: 0 0 8px; font-size: 14px; line-height: 1.4; letter-spacing: .09em; font-weight: 700; color: #726987; }
.workspace-heading h1 { margin: 0 0 9px; font-size: 28px; line-height: 1.25; letter-spacing: -.035em; color: #242044; overflow-wrap: anywhere; }
.workspace-heading > div > p:last-child { margin: 0; font-size: 15px; line-height: 1.65; color: var(--muted, #72758b); }
.workspace-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; flex-shrink: 0; padding-top: 4px; }
.workspace-actions .button { font-size: 14px; min-height: 40px; padding: 9px 13px; }
.workspace-actions .icon { width: 17px; height: 17px; }
.workspace-panel { padding: 24px; margin-top: 22px; }
.workspace-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.workspace-panel h2 { color: var(--navy, #15105f); font-size: 20px; line-height: 1.35; letter-spacing: -.02em; margin: 0 0 12px; }
.workspace-panel h3 { font-size: 17px; line-height: 1.4; color: var(--navy, #15105f); }
.workspace-panel > header h2 { margin-bottom: 5px; }
.workspace-panel > p,
.workspace-panel > header p { color: var(--muted, #72758b); font-size: 15px; line-height: 1.7; margin: 8px 0 16px; }
.workspace-panel > header p { margin-bottom: 0; }
.workspace-panel .pill,
.event-detail .pill { font-size: 14px; line-height: 1.4; }
.source-note { margin: 18px 2px 0; color: #70687f; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.source-note a { color: #5c4f8f; text-decoration: underline; text-underline-offset: 3px; }
.source-note a:hover { color: var(--navy, #15105f); }
.module-status { display: flex; align-items: flex-start; gap: 13px; padding: 16px; background: #fffcf0; border: 1px solid #eee7cb; border-radius: 10px; margin-top: 22px; }
.module-status .pill { flex-shrink: 0; }
.module-status p { font-size: 14px; line-height: 1.65; color: #78715c; margin: 0; }
.empty-workspace { display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; min-height: 220px; padding: 32px 20px; }
.empty-workspace > .icon { width: 42px; height: 42px; color: #a69bc5; margin-bottom: 13px; }
.empty-workspace h3 { margin: 0 0 9px; font-size: 18px; }
.empty-workspace p { margin: 0; max-width: 510px; font-size: 14px; line-height: 1.75; color: var(--muted, #72758b); }
.workspace-panel .empty-note { font-size: 14px; line-height: 1.7; }
.main-content .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.main-content .search-result { display: block; font-size: 15px; line-height: 1.5; padding: 15px 17px; border: 1px solid transparent; }
.main-content .search-result:hover { background: #ece8f8; border-color: #d9d2ed; }
.main-content .search-result[hidden] { display: none; }
.main-content .dialog-search { font-size: 16px; min-height: 46px; color: var(--navy, #15105f); }
#library-host.workspace-panel { padding: 0; border: 0; overflow: visible; background: transparent; }

/* Cycle colors mark the supplied audience without changing its permissions. */
.cycle-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 20px; margin: 0 0 21px; padding: 2px 0; }
.cycle-legend > span { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; line-height: 1.5; color: #746e86; }
.cycle-legend i { display: inline-block; width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; box-shadow: 0 0 0 2px #ffffff; }
.cycle-card { position: relative; overflow: hidden; }
.cycle-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--cycle-band, #dad5ea); pointer-events: none; }
.agenda-item.cycle-card { padding: 16px 2px 13px; }
.agenda-item.cycle-card::before { height: 3px; }

/* Temporary visual filter. It does not grant access. */
.view-filter { padding: 22px; margin-bottom: 22px; background: #fff; border: 1px solid #dcd6eb; border-radius: 13px; box-shadow: 0 5px 18px #15105f05; }
.view-filter[hidden] { display: none; }
.view-filter > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.view-filter h2 { margin: 0 0 6px; font-size: 19px; line-height: 1.35; color: var(--navy, #15105f); }
.view-filter header p { max-width: 660px; margin: 0; font-size: 14px; line-height: 1.65; color: var(--muted, #72758b); }
.view-filter .button { font-size: 14px; }
.view-filter > header > .button { flex-shrink: 0; }
.filter-unit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.filter-unit-grid > fieldset { min-width: 0; margin: 0; padding: 11px 16px; background: #faf9fd; border: 1px solid #e6e2ef; border-radius: 9px; }
.filter-unit-grid legend { padding: 0 6px; font-size: 14px; font-weight: 700; color: var(--navy, #15105f); }
.filter-unit-grid .check-label { font-size: 14px; line-height: 1.5; margin: 11px 0; }
.filter-unit-grid .check-label input { flex-shrink: 0; width: 18px; height: 18px; }
.filter-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 18px; margin-top: 18px; border-top: 1px solid #ece9f2; }
.filter-bottom > span { font-size: 14px; line-height: 1.5; color: #78708f; }

/* Monthly and annual calendar. Small screens can scroll the full month horizontally. */
.full-calendar { padding: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.big-calendar-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 21px 23px; border-bottom: 1px solid var(--line, #e5e7f0); }
.calendar-period { display: flex; align-items: center; gap: 11px; }
.calendar-period h2 { margin: 0; color: var(--navy, #15105f); font-size: 21px; line-height: 1.35; font-weight: 700; text-transform: capitalize; font-variant-numeric: tabular-nums; }
.calendar-period .icon-button { width: 33px; height: 35px; flex: 0 0 33px; }
.calendar-period .button { font-size: 14px; min-height: 35px; padding: 6px 12px; margin-left: 6px; }
.view-switch { display: inline-flex; padding: 3px; gap: 3px; border-radius: 9px; border: 1px solid #e6e3ee; background: #f7f6fb; }
.view-switch > a { display: inline-flex; align-items: center; justify-content: center; min-width: 58px; min-height: 31px; padding: 5px 12px; border-radius: 6px; font-size: 14px; line-height: 1.5; color: #726981; }
.view-switch > a:hover { background: #eeebf7; color: var(--navy, #15105f); }
.view-switch > a.current { background: #fff; color: var(--navy, #15105f); box-shadow: 0 1px 4px #24145510; font-weight: 700; }
.month-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); min-width: 770px; }
.month-weekday { padding: 11px 7px; background: #fafafe; color: #776a88; font-size: 14px; font-weight: 600; text-align: center; border-bottom: 1px solid var(--line, #e5e7f0); }
.month-day { min-height: 140px; min-width: 0; padding: 8px 7px 10px; border-right: 1px solid #eceaf2; border-bottom: 1px solid #eceaf2; background: #fff; }
.month-day:nth-child(7n) { border-right: 0; }
.month-day:nth-last-child(-n+7) { border-bottom: 0; }
.month-day.outside { background: #fafafd; }
.month-day.is-today { background: #fffcf0; }
.month-date { display: grid; place-items: center; width: 30px; height: 30px; min-height: 30px; border-radius: 8px; background: transparent; color: #655e7a; font-size: 14px; font-weight: 600; margin-bottom: 7px; padding: 0; }
.month-date:hover { background: #eeebf7; color: var(--navy, #15105f); }
.month-day.outside .month-date { color: #796f88; }
.month-day.is-today .month-date { background: var(--navy, #15105f); color: #fff; }
.month-events { display: grid; align-content: start; gap: 6px; }
.calendar-event { display: block; width: 100%; min-width: 0; border: 1px solid #e9e6f1; border-radius: 6px; padding: 10px 7px 8px; color: #4e4767; background: #f8f6fc; text-align: left; line-height: 1.35; transition: border-color .15s ease, background-color .15s ease; }
.calendar-event::before { height: 3px; }
.calendar-event > span { display: block; font-size: 14px; line-height: 1.3; color: #756783; margin-bottom: 3px; }
.calendar-event > span:empty { display: none; }
.calendar-event > strong { display: block; font-size: 14px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.calendar-event:hover { background: #f0ebfa; border-color: #cfc5e3; }
.year-calendar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; padding: 23px; }
.year-month { min-width: 0; border: 1px solid #e8e5f0; border-radius: 10px; padding: 14px 12px 12px; background: #fff; }
.year-month > a { display: block; border-radius: 5px; }
.year-month h3 { font-size: 16px; text-transform: capitalize; margin: 0 0 11px; line-height: 1.4; color: var(--navy, #15105f); }
.year-month > a:hover h3 { color: #77609d; }
.year-month .calendar-days { gap: 3px; }
.year-month .calendar-days .weekday { font-size: 14px; color: #796b88; padding: 4px 0 5px; }
.year-month .calendar-day { font-size: 14px; line-height: 1.3; min-height: 27px; border-radius: 6px; text-decoration: none; }
.year-month .calendar-day.outside { color: #796f88; }
.year-month .calendar-day.event::after { width: 4px; height: 4px; bottom: 2px; }
.year-month .calendar-day.today.event::after { background: var(--yellow, #ffdc22); }

/* Calendar detail and plantão cards. */
.event-detail { margin-top: 22px; padding: 25px; scroll-margin-top: 20px; }
.event-detail[hidden] { display: none; }
.event-detail h2 { font-size: 23px; line-height: 1.35; letter-spacing: -.025em; color: var(--navy, #15105f); margin: 16px 0 12px; }
.event-detail > p { font-size: 15px; line-height: 1.75; color: #787185; margin: 12px 0 18px; }
.detail-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; font-size: 14px; line-height: 1.5; color: #74677e; }
.detail-facts { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px 26px; padding: 16px 0; border-top: 1px solid #efecf5; border-bottom: 1px solid #efecf5; }
.detail-facts > span { display: inline-flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.6; color: #635970; }
.detail-facts .icon { width: 17px; height: 17px; color: #9788b1; margin-top: 3px; }
.event-detail .event-audience { background: #f7f5fc; border-radius: 8px; padding: 12px 14px; font-size: 14px; line-height: 1.7; color: #796d8b; }
.event-detail .dialog-note { font-size: 14px; }
.event-day-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 17px; }
.event-day-list > p { grid-column: 1 / -1; color: var(--muted, #72758b); font-size: 14px; line-height: 1.7; margin: 0; }
.event-day-list .calendar-event { min-height: 75px; padding: 15px; }
.event-day-list .calendar-event > strong { font-size: 15px; }
.session-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.session-grid > .empty-note { grid-column: 1 / -1; margin: 0; }
.session-card { padding: 22px 19px 19px; border: 1px solid #e7e2ef; border-radius: 11px; background: #fcfbfe; }
.session-card h3 { font-size: 18px; line-height: 1.4; margin: 14px 0 11px; }
.session-card p { font-size: 14px; line-height: 1.65; color: #74627e; margin: 8px 0; }
.session-card .button { margin-top: 10px; font-size: 14px; }
.session-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 19px; }
.session-actions .button { font-size: 14px; }
#session-status { font-size: 14px; line-height: 1.5; background: #f0edf8; color: #675883; padding: 8px 11px; border-radius: 7px; }

/* Achievement totals and records. */
.achievement-summary { margin: 0 0 24px; padding: 24px; border: 1px solid #e6e1ef; border-radius: 13px; background: #fff; }
.achievement-summary-title { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 21px; }
.achievement-summary-title h2 { margin: 0; font-size: 22px; line-height: 1.35; letter-spacing: -.025em; color: var(--navy, #15105f); }
.achievement-summary-title > div:last-child { display: grid; grid-template-columns: auto auto auto auto; align-items: baseline; gap: 6px 10px; }
.achievement-summary-title > div:last-child > strong { color: var(--navy, #15105f); font-size: 28px; line-height: 1.2; font-weight: 750; font-variant-numeric: tabular-nums; }
.achievement-summary-title > div:last-child > strong:nth-of-type(2) { margin-left: 16px; }
.achievement-summary-title > div:last-child > span { color: #766981; font-size: 14px; line-height: 1.4; }
.medal-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.medal { --award-color: #856c9f; --award-light: #efe7f7; display: grid; grid-template-columns: 43px minmax(0, 1fr); align-items: center; column-gap: 12px; row-gap: 5px; padding: 17px 15px; border-radius: 10px; border: 1px solid #e6dff0; background: #faf7fe; min-width: 0; }
.medal.gold { --award-color: #806015; --award-light: #ffeeb4; border-color: #eee1b9; background: #fffbec; }
.medal.silver { --award-color: #626b84; --award-light: #e8ebf3; border-color: #e2e6ef; background: #f7f8fb; }
.medal.bronze { --award-color: #935f3a; --award-light: #f4e1cf; border-color: #ecddcf; background: #fdf6ef; }
.medal.honorable_mention { --award-color: #795590; --award-light: #eae0f6; border-color: #e5dbef; background: #f9f5fe; }
.medal-symbol { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 11px; color: var(--award-color); background: var(--award-light); }
.medal-symbol > .icon { width: 23px; height: 23px; }
.medal > div { min-width: 0; }
.medal > div > strong { display: block; font-size: 29px; font-weight: 750; line-height: 1.2; font-variant-numeric: tabular-nums; color: #3c3054; }
.medal > div > span { display: block; margin-top: 2px; color: var(--award-color); font-size: 14px; font-weight: 650; line-height: 1.4; }
.medal > small { grid-column: 2; color: #77617f; font-size: 14px; line-height: 1.5; }
.table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; border: 1px solid #e8e3ee; border-radius: 10px; }
.records-table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; text-align: left; }
.records-table th { font-size: 14px; font-weight: 650; line-height: 1.5; color: #74627e; background: #f8f6fc; border-bottom: 1px solid #e8e3ee; padding: 12px 14px; vertical-align: top; white-space: nowrap; }
.records-table td { font-size: 14px; line-height: 1.6; padding: 15px 14px; border-bottom: 1px solid #efebf4; color: #74657f; vertical-align: middle; }
.records-table tr:last-child td { border-bottom: 0; }
.records-table tbody tr:hover { background: #fdfbff; }
.records-table td > strong { display: block; color: #4d3d5f; font-weight: 650; }
.records-table td > small { display: block; font-size: 14px; color: #7e6b88; margin-top: 3px; }
.award-chip { display: inline-flex; align-items: center; border-radius: 6px; padding: 4px 8px; font-size: 14px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.award-chip.gold { background: #fff1bd; color: #967018; }
.award-chip.silver { background: #eceff5; color: #5f6b83; }
.award-chip.bronze { background: #f5e4d4; color: #94603b; }
.award-chip.honorable_mention { background: #efe5f9; color: #7d4e99; }
.row-action { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; background: #f5f1fb; color: #806396; padding: 6px 8px; border-radius: 6px; font-size: 14px; line-height: 1.5; margin: 3px 4px 3px 0; white-space: nowrap; }
.row-action:hover { border-color: #decee9; background: #ece2f6; }
.row-action.danger { background: #fff0f3; color: #974967; }
.row-action.danger:hover { border-color: #ecc2d0; background: #ffe5ed; }
.trash-list > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid #ece5f1; }
.trash-list > div:first-child { padding-top: 0; }
.trash-list > div:last-child { border-bottom: 0; padding-bottom: 0; }
.trash-list > div > span { min-width: 0; overflow-wrap: anywhere; }
.trash-list strong { display: block; font-size: 15px; line-height: 1.5; color: #5c416f; }
.trash-list small { display: block; font-size: 14px; color: #786080; margin-top: 5px; line-height: 1.5; }
.trash-list .button { flex-shrink: 0; font-size: 14px; }

/* Forms retain native inputs and explicit unit/segment choices. */
.inline-form { margin: 18px 0; padding: 22px; background: #faf9fd; border: 1px solid #e6e0ed; border-radius: 11px; }
.inline-form h3 { margin: 0 0 18px; color: var(--navy, #15105f); font-size: 18px; line-height: 1.4; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.form-grid > label { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 0; font-size: 14px; line-height: 1.5; font-weight: 600; color: #715c82; }
.form-grid > .span-2 { grid-column: span 2; }
.inline-form input:not([type="radio"]):not([type="checkbox"]) { display: block; width: 100%; min-width: 0; min-height: 45px; padding: 10px 12px; border: 1px solid #dbd5e5; border-radius: 8px; background: #fff; color: #493256; font-size: 16px; line-height: 1.5; }
.inline-form input::placeholder { color: #826f8c; font-weight: 400; }
.inline-form input:not([type="radio"]):not([type="checkbox"]):focus { border-color: #a890be; box-shadow: 0 0 0 3px #a890be16; }
.radio-options { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; padding: 14px 15px 16px; min-width: 0; border: 1px solid #e2d9eb; border-radius: 9px; }
.radio-options legend { color: #765b89; padding: 0 6px; font-size: 14px; line-height: 1.5; font-weight: 700; }
.radio-options .check-label { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 9px 11px; background: #fff; border: 1px solid #e6ddec; border-radius: 7px; color: #846791; font-size: 14px; line-height: 1.5; }
.radio-options .check-label:hover { border-color: #cab5d7; background: #fcf9fe; }
.radio-options .check-label:has(input:checked) { color: #69487e; border-color: #b9a0ca; background: #f4ecfa; }
.radio-options input,
.scope-units .check-label input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--navy, #15105f); }
.workspace-panel .scope-unit { min-width: 0; margin: 0; background: #fbf9fe; }
.workspace-panel .scope-unit legend,
.workspace-panel .scope-unit .check-label { font-size: 14px; line-height: 1.5; }
.workspace-panel .scope-unit .check-label { margin: 13px 0; }
.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; padding-top: 3px; }
.inline-form .button { font-size: 14px; }
.fee-result { padding: 17px 19px; margin-top: 20px; border: 1px solid #e4d2ed; border-radius: 9px; background: #f6effa; color: #6f467f; font-size: 18px; line-height: 1.6; font-weight: 700; font-variant-numeric: tabular-nums; }
.fee-result:empty { display: none; }
.workspace-panel .dialog-note { font-size: 14px; line-height: 1.7; }
#achievement-form[hidden] { display: none; }

/* Focus remains visible against both pastel surfaces and the calendar. */
.workspace-actions a:focus-visible,
.view-filter button:focus-visible,
.view-filter input:focus-visible,
.full-calendar a:focus-visible,
.full-calendar button:focus-visible,
.event-detail a:focus-visible,
.event-detail button:focus-visible,
.workspace-panel button:focus-visible,
.workspace-panel input:focus-visible,
.workspace-panel a:focus-visible {
  outline: 3px solid #a99acb;
  outline-offset: 2px;
}

@media (min-width: 1700px) {
  .top-social-brand { grid-template-columns: auto auto; align-items: center; gap: 9px; }
  .top-social-groups { gap: 19px; }
  .top-social-brand + .top-social-brand { padding-left: 19px; }
  .topbar .top-actions { gap: 15px; }
}
@media (max-width: 1280px) {
  .topbar .search-trigger kbd { display: none; }
  .year-calendar-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .session-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .medal-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .achievement-summary-title { align-items: flex-start; }
  .achievement-summary-title > div:last-child { grid-template-columns: auto auto; }
  .achievement-summary-title > div:last-child > strong:nth-of-type(2) { margin-left: 0; }
}
@media (max-width: 980px) {
  .topbar { flex-wrap: wrap; gap: 10px; }
  .topbar .top-actions { flex: 1 1 100%; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
  .top-social-groups { margin-right: auto; }
  .topbar .search-trigger { width: 150px; min-width: 130px; }
  .workspace-heading { flex-direction: column; gap: 14px; }
  .workspace-actions { justify-content: flex-start; padding-top: 0; }
  .year-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .big-calendar-toolbar { padding: 18px; }
  .calendar-period { gap: 7px; }
  .calendar-period h2 { font-size: 19px; }
}
@media (max-width: 860px) {
  .topbar .top-actions { display: grid; grid-template-columns: minmax(0, 1fr) 38px 36px; align-items: center; column-gap: 10px; row-gap: 12px; }
  .top-social-groups { grid-column: 1 / -1; grid-row: 1; justify-content: flex-start; margin: 0; }
  .topbar .search-trigger { grid-column: 1; grid-row: 2; width: 100%; min-width: 0; }
  .topbar .top-separator { display: none; }
  .topbar .notification-btn { grid-column: 2; grid-row: 2; }
  .topbar .top-actions > .avatar { grid-column: 3; grid-row: 2; }
  .view-filter > header { flex-wrap: wrap; }
  .achievement-summary-title { flex-direction: column; gap: 16px; }
  .achievement-summary-title > div:last-child { grid-template-columns: auto auto auto auto; }
  .achievement-summary-title > div:last-child > strong:nth-of-type(2) { margin-left: 16px; }
}
@media (max-width: 720px) {
  .topbar { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; height: auto; min-height: 0; padding: 12px 18px 14px; column-gap: 10px; row-gap: 12px; }
  .topbar > .menu-toggle { grid-column: 1; grid-row: 1; width: 34px; height: 34px; }
  .topbar > .breadcrumb { grid-column: 2; grid-row: 1; }
  .topbar > .top-actions { grid-column: 1 / -1; grid-row: 2; }
  .top-social-groups { gap: 18px; justify-content: flex-start; padding: 3px 0 1px; }
  .top-social-brand + .top-social-brand { padding-left: 18px; }
  .top-social-groups .social-button { width: 34px; height: 34px; flex-basis: 34px; }
  .top-social-brand > div { gap: 5px; }
  .top-social-brand > span { line-height: 1.25; }
  .workspace-heading { margin-bottom: 20px; }
  .workspace-heading h1 { font-size: 25px; }
  .workspace-heading > div > p:last-child { font-size: 14px; }
  .workspace-panel,
  .achievement-summary,
  .event-detail { padding: 20px; }
  .workspace-panel > header { flex-wrap: wrap; gap: 10px; }
  .view-filter { padding: 18px; }
  .filter-unit-grid { grid-template-columns: 1fr; gap: 13px; }
  .filter-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
  .cycle-legend { gap: 8px 15px; }
  .cycle-legend > span { font-size: 14px; }
  .year-calendar-grid { padding: 17px; gap: 13px; }
  .year-month { padding: 12px 9px; }
  .year-month .calendar-days { gap: 2px; }
  .session-grid,
  .event-day-list { grid-template-columns: 1fr; }
  .event-detail h2 { font-size: 21px; }
  .detail-facts { flex-direction: column; gap: 11px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid > .span-2 { grid-column: auto; }
  .inline-form { padding: 18px; }
  .radio-options { padding: 12px; }
  .radio-options .check-label { width: 100%; }
  .workspace-panel .scope-units { grid-template-columns: 1fr; }
  .module-status { flex-direction: column; }
  .trash-list > div { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 520px) {
  .top-social-groups { justify-content: space-between; gap: 12px; }
  .top-social-brand + .top-social-brand { padding-left: 12px; }
  .top-social-groups .social-button { width: 32px; height: 32px; flex-basis: 32px; }
  .top-social-brand > div { gap: 4px; }
  .top-social-groups .social-button .icon { width: 17px; height: 17px; }
  .workspace-actions { width: 100%; }
  .workspace-actions .button { flex: 1 1 auto; }
  .workspace-panel,
  .achievement-summary,
  .event-detail { padding: 17px; }
  .achievement-summary-title h2 { font-size: 21px; }
  .achievement-summary-title > div:last-child { grid-template-columns: auto auto; column-gap: 10px; }
  .achievement-summary-title > div:last-child > strong:nth-of-type(2) { margin-left: 0; }
  .medal-counts { gap: 10px; }
  .medal { grid-template-columns: 1fr; justify-items: start; padding: 14px; gap: 8px; }
  .medal > small { grid-column: 1; }
  .medal > div > strong { font-size: 27px; }
  .medal-symbol { width: 36px; height: 36px; border-radius: 9px; }
  .medal-symbol > .icon { width: 20px; height: 20px; }
  .big-calendar-toolbar { align-items: flex-start; padding: 16px 13px; gap: 12px; }
  .calendar-period { flex-wrap: wrap; gap: 5px; }
  .calendar-period h2 { font-size: 17px; }
  .calendar-period .icon-button { width: 28px; flex-basis: 28px; }
  .calendar-period .button { margin-left: 2px; padding: 6px 8px; }
  .year-calendar-grid { grid-template-columns: 1fr; padding: 16px; }
  .year-month { padding: 15px; }
  .year-month .calendar-day { min-height: 31px; }
  .form-actions { align-items: stretch; }
  .form-actions .button { flex: 1 1 auto; }
  .session-actions { align-items: stretch; flex-direction: column; }
  .session-actions .button { width: 100%; }
  #session-status { align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .top-social-groups .social-button,
  .calendar-event { transition: none; }
}

/* Totais alinhados, com separador discreto entre ano e histórico. */
.achievement-summary-title>.achievement-totals{display:flex;align-items:center;gap:0;flex-shrink:0}
.achievement-totals>.achievement-total{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#766981;font-size:14px;line-height:1.4}
.achievement-totals>.achievement-total+ .achievement-total{border-left:1px solid #e4e0ec;margin-left:20px;padding-left:20px}
.achievement-total>strong{font-size:28px;line-height:1.1;color:var(--navy);font-weight:750;font-variant-numeric:tabular-nums}
@media(max-width:400px){.achievement-totals>.achievement-total+ .achievement-total{margin-left:12px;padding-left:12px}.achievement-totals>.achievement-total{gap:6px;font-size:13px}.achievement-total>strong{font-size:25px}}

.systems-nav{margin-top:22px}.system-nav-badge{width:23px;height:23px;display:grid;place-items:center;flex:none;background:#ffffff15;border-radius:6px;font-size:12px;font-weight:700}.selected .system-nav-badge{background:#edeaf8}.embedded-system iframe{display:block;width:100%;height:calc(100svh - 280px);min-height:520px;border:0;background:white}.embedded-system-note{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 18px;background:#faf9fd;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.embedded-system-note a{color:var(--navy);text-decoration:underline}@media(max-width:720px){.embedded-system iframe{height:72svh;min-height:440px}}

.event-venue-card{border:1px solid var(--line);border-radius:11px;display:grid;grid-template-columns:minmax(220px,340px) 1fr;overflow:hidden;margin:22px 0}.event-venue-card>div:last-child{padding:22px;align-self:center}.event-venue-card h3{font-size:17px;margin:0 0 12px}.event-venue-card a{color:var(--navy);font-size:14px;line-height:1.6;text-decoration:underline}.event-venue-card a .icon{display:inline;vertical-align:middle;width:15px;height:15px}.event-venue-card p{font-size:13px;color:var(--muted);margin:9px 0 0}.venue-photo img{width:100%;height:220px;object-fit:cover;display:block}.venue-photo-empty{background:#f2f0f8;min-height:180px;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column;color:#8a83a1;font-size:14px}.detail-facts a{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:14px;text-decoration:underline}@media(max-width:640px){.event-venue-card{grid-template-columns:1fr}.venue-photo img{height:210px}}
.global-year-select{position:relative;display:flex;align-items:center;gap:8px;flex:none;font-size:12px;color:#77718d;margin-right:auto;margin-left:20px}
.global-year-caption{white-space:nowrap}
.global-year-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;min-width:88px;border:1px solid #e1dded;background:#faf9fe;padding:8px 12px;border-radius:8px;color:#241765;font:inherit;font-weight:700;cursor:pointer}
.global-year-toggle:after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;flex:none}
.global-year-toggle[aria-expanded=true]{border-color:#706197;background:#f1eef9}
.global-year-toggle:focus-visible,.global-year-option:focus-visible{outline:2px solid #625090;outline-offset:2px}
.global-year-options{position:absolute;top:calc(100% + 6px);left:0;bottom:auto;z-index:60;width:144px;max-height:320px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-sizing:border-box;padding:4px;background:#fff;border:1px solid #e1dded;border-radius:10px;box-shadow:0 12px 28px #19103b26}
.global-year-options[hidden]{display:none!important}
.global-year-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:6px;background:#fff;color:#30244f;font:inherit;font-size:14px;text-align:left;cursor:pointer}
.global-year-option:hover,.global-year-option:focus{background:#f4f1fb}
.global-year-option[aria-selected=true]{font-weight:700;background:#ebe6f7;color:#241765}
.global-year-option[aria-selected=true]:after{content:'✓';margin-left:12px}
@media(max-width:1200px){.global-year-caption{display:none}.global-year-select{margin-left:8px}}
@media(max-width:650px){.global-year-select{margin-left:0;margin-right:8px}.global-year-toggle{min-width:82px;padding:8px 10px}}


.achievement-summary a.medal,.achievement-summary a.achievement-total{color:inherit;text-decoration:none}.achievement-summary a.medal:hover{background:#f5f3fc}.achievement-summary a.medal:focus-visible,.achievement-summary a.achievement-total:focus-visible{outline:3px solid #6f63b7;outline-offset:3px}

/* Home: one reading order, with upcoming cards below the calendar across the workspace. */
.dashboard-grid.home-dashboard{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:start}
.home-dashboard>.panel{margin:0}
.home-dashboard>.home-access{grid-column:1;grid-row:1}
.home-dashboard>.home-calendar{grid-column:2;grid-row:1}
.home-dashboard>.home-upcoming{grid-column:1/-1;grid-row:2}
.home-dashboard .home-access .module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.home-dashboard .home-upcoming .agenda-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;padding:0 21px 21px}
.home-dashboard .home-upcoming .agenda-item{border:1px solid var(--line);border-radius:11px;padding:16px;align-items:flex-start;gap:13px;min-width:0;height:100%;background:#fff;text-decoration:none}
.home-dashboard .home-upcoming .agenda-item:hover{background:#faf9fe;border-color:#c1bcdf}
.home-dashboard .home-upcoming a.agenda-item:focus-visible{outline:3px solid #6f63b7;outline-offset:3px}
.home-dashboard .home-upcoming .agenda-copy h3{font-size:.9rem;line-height:1.45;overflow-wrap:anywhere;margin:0 0 8px}
.home-dashboard .home-upcoming .agenda-copy p{font-size:.75rem;line-height:1.6;overflow-wrap:anywhere}
.home-dashboard .home-upcoming .date-box{width:44px;padding:8px 2px}
.home-dashboard .home-upcoming .empty-note{grid-column:1/-1}
.home-dashboard>.home-secondary{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;align-items:start;min-width:0}
.home-dashboard .home-secondary>.panel,.home-dashboard .home-secondary>.focus-card{margin:0}
.home-dashboard .home-secondary>.focus-card[hidden]{display:none}
.home-dashboard .home-secondary .focus-card h2,.home-dashboard .home-secondary .focus-card p{max-width:none}
@media(max-width:960px){
 .dashboard-grid.home-dashboard{grid-template-columns:1fr;gap:18px}
 .home-dashboard>.home-access,.home-dashboard>.home-calendar,.home-dashboard>.home-upcoming{grid-column:1;grid-row:auto}
 .home-dashboard .home-upcoming .panel-header{flex-wrap:wrap}
 .home-dashboard .home-upcoming .agenda-list{padding:0 17px 17px}
 .home-dashboard>.home-secondary{gap:18px}
 .home-dashboard .home-calendar .calendar-wrap{max-width:560px;margin-inline:auto}
}

/* Indicadores e conquistas compartilham uma faixa quando há espaço real. */
.home-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,540px),1fr));gap:18px;margin:0 0 20px;align-items:stretch}
.home-summary-grid>.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:14px;min-width:0}
.home-summary-grid>.achievement-summary{margin:0;min-width:0;padding:20px;display:flex;flex-direction:column;justify-content:space-between}
.home-summary-grid .achievement-summary-title{gap:16px;margin-bottom:18px;align-items:center}
.home-summary-grid .medal-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-summary-grid .stat-card{padding:18px}
@media(max-width:460px){.home-summary-grid{gap:16px}.home-summary-grid>.overview-grid{gap:10px}.home-summary-grid .stat-card{padding:14px}.home-summary-grid .stat-top{gap:6px}.home-summary-grid>.achievement-summary{padding:16px}.home-summary-grid .achievement-summary-title{align-items:flex-start}.home-summary-grid .medal{padding:12px 10px;grid-template-columns:32px minmax(0,1fr);column-gap:8px}.home-summary-grid .medal-symbol{width:32px;height:32px}.home-summary-grid .medal>div>span{font-size:12px}}

/* Ano e histórico ficam lado a lado em cada categoria de premiação. */
.medal .medal-data{width:100%;min-width:0}
.medal .medal-data>.medal-label{margin:0 0 8px;font-size:14px;line-height:1.35;font-weight:650;color:var(--award-color)}
.medal-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.medal-values>div{min-width:0}
.medal-values>div+div{border-left:1px solid color-mix(in srgb,var(--award-color) 22%,transparent);padding-left:10px}
.medal-values strong{display:block;font-size:27px;line-height:1.2;font-weight:750;font-variant-numeric:tabular-nums;color:#3c3054;overflow-wrap:anywhere}
.medal-values small{display:block;margin-top:3px;color:#77617f;font-size:12px;line-height:1.4}
@media(max-width:460px){.home-summary-grid .medal{grid-template-columns:1fr}.medal-values{gap:8px}.medal-values>div+div{padding-left:8px}.medal-values strong{font-size:24px}.medal .medal-data>.medal-label{font-size:13px}}

.medal.equipe{--award-color:#245875;--award-light:#dfedf7;border-color:#cfdfeb;background:#f1f7fb}
.achievement-summary .medal-counts{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.home-summary-grid .medal-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-summary-grid .medal.equipe{grid-column:1/-1}

.olympics-medal-breakdown .equipe,.olympics-award-badge.equipe{color:#245875;background:#e5f0f8;border-color:#cfdfeb}

/* Compact dashboard summaries while retaining every value and explanation. */
.home-summary-grid{gap:14px}
.home-summary-grid>.overview-grid{gap:10px}
.home-summary-grid .stat-card{padding:12px 16px}
.home-summary-grid .stat-icon{width:28px;height:28px;border-radius:8px}
.home-summary-grid .stat-number{margin:6px 0 5px;font-size:1.65rem}
.home-summary-grid .stat-foot{display:block;line-height:1.45}
.home-summary-grid>.achievement-summary{padding:16px;justify-content:flex-start}
.home-summary-grid .achievement-summary-title{margin-bottom:12px;gap:12px}
.home-summary-grid .achievement-summary .eyebrow{margin-bottom:4px;font-size:12px}
.home-summary-grid .achievement-summary-title h2{font-size:20px}
.home-summary-grid .medal-counts{gap:8px}
.home-summary-grid .medal{padding:10px 12px;grid-template-columns:32px minmax(0,1fr);column-gap:10px}
.home-summary-grid .medal-symbol{width:32px;height:32px;border-radius:8px}
.home-summary-grid .medal-symbol>.icon{width:19px;height:19px}
.home-summary-grid .medal-data>.medal-label{margin-bottom:4px;font-size:13px}
.home-summary-grid .medal-values strong{font-size:24px}
.home-summary-grid .medal-values small{margin-top:2px;font-size:11px}
@media(max-width:520px){.home-summary-grid .medal{grid-template-columns:1fr}.home-summary-grid .stat-card{padding:12px}.home-summary-grid .achievement-summary-title{gap:10px}}

.home-summary-grid .stat-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;column-gap:12px;row-gap:6px}
.home-summary-grid .stat-top{min-width:0;grid-column:1;grid-row:1}
.home-summary-grid .stat-number{grid-column:2;grid-row:1;align-self:center;margin:0}
.home-summary-grid .stat-foot{grid-column:1/-1;grid-row:2}

/* Use the existing dashboard row height for the awards instead of leaving its lower half empty. */
.home-summary-grid>.achievement-summary{min-height:0;box-sizing:border-box;align-self:stretch}
.home-summary-grid .medal-counts{flex:1;grid-auto-rows:minmax(0,1fr);align-content:stretch}
.home-summary-grid .medal{height:100%;align-content:center}

/* Achievement cards: tactile color, clear emblems, and legible year/history figures. */
:is(.achievement-summary,.student-medal-summary){--achievement-dot-opacity:5%}
:is(.achievement-summary,.student-medal-summary) .medal{--award-ink:#49335d;--award-accent:#8055a0;--award-surface:#f5edf9;--award-edge:#decce9;position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--award-edge);border-radius:15px;background:radial-gradient(circle at 91% 8%,color-mix(in srgb,var(--award-accent) var(--achievement-dot-opacity),transparent) 0 1px,transparent 2px) 0 0/11px 11px,linear-gradient(135deg,color-mix(in srgb,#fff 42%,var(--award-surface)),var(--award-surface));box-shadow:inset 0 1px 0 #ffffffc9,0 4px 12px #3022440c;color:var(--award-ink);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
:is(.achievement-summary,.student-medal-summary) .medal::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--award-accent);z-index:0}
:is(.achievement-summary,.student-medal-summary) .medal::after{content:"";position:absolute;right:-23px;top:-30px;width:94px;height:94px;border:1px solid color-mix(in srgb,var(--award-accent) 20%,transparent);border-radius:50%;pointer-events:none;z-index:0}
.achievement-summary a.medal:hover{transform:translateY(-2px);border-color:var(--award-accent);background:radial-gradient(circle at 91% 8%,color-mix(in srgb,var(--award-accent) var(--achievement-dot-opacity),transparent) 0 1px,transparent 2px) 0 0/11px 11px,linear-gradient(135deg,color-mix(in srgb,#fff 42%,var(--award-surface)),var(--award-surface));box-shadow:inset 0 1px 0 #ffffffd9,0 9px 20px #3022441c}
:is(.achievement-summary,.student-medal-summary) .medal.gold,:is(.achievement-summary,.student-medal-summary) .medal.ouro{--award-ink:#5d3909;--award-accent:#b67716;--award-surface:#fff1ca;--award-edge:#edcf8c}
:is(.achievement-summary,.student-medal-summary) .medal.silver,:is(.achievement-summary,.student-medal-summary) .medal.prata{--award-ink:#34455a;--award-accent:#71869d;--award-surface:#e9f0f5;--award-edge:#c5d3df}
:is(.achievement-summary,.student-medal-summary) .medal.bronze{--award-ink:#693c28;--award-accent:#ae633e;--award-surface:#f9e7db;--award-edge:#e6baa0}
:is(.achievement-summary,.student-medal-summary) .medal.honorable_mention,:is(.achievement-summary,.student-medal-summary) .medal.honra{--award-ink:#553764;--award-accent:#9261a8;--award-surface:#f3e8f8;--award-edge:#d9bee7}
:is(.achievement-summary,.student-medal-summary) .medal.equipe{--award-ink:#174c5b;--award-accent:#247f93;--award-surface:#dff2f2;--award-edge:#afd9dc}
:is(.achievement-summary,.student-medal-summary) .medal.robotics-level.is-regional{--award-ink:#22503a;--award-accent:#34845d;--award-surface:#e5f3e8;--award-edge:#bcdcc6}
:is(.achievement-summary,.student-medal-summary) .medal.robotics-level.is-nacional{--award-ink:#2c4670;--award-accent:#537fba;--award-surface:#e6effa;--award-edge:#bad0ed}
:is(.achievement-summary,.student-medal-summary) .medal.robotics-level.is-mundial{--award-ink:#50366c;--award-accent:#8b64b1;--award-surface:#efe8f9;--award-edge:#d2bde9}
:is(.achievement-summary,.student-medal-summary) .medal-symbol{position:relative;z-index:1;color:var(--award-ink);background:color-mix(in srgb,#fff 74%,var(--award-surface));border:1px solid color-mix(in srgb,var(--award-accent) 24%,transparent);box-shadow:0 2px 7px #30224413}
:is(.achievement-summary,.student-medal-summary) .medal-data,:is(.achievement-summary,.student-medal-summary) .medal-heading{position:relative;z-index:1}
:is(.achievement-summary,.student-medal-summary) .medal .medal-label{font-size:15px;line-height:1.3;color:var(--award-ink);font-weight:750;text-shadow:none}
:is(.achievement-summary,.student-medal-summary) .medal-values{border-top:1px solid color-mix(in srgb,var(--award-accent) 25%,transparent);padding-top:8px}
:is(.achievement-summary,.student-medal-summary) .medal-values strong{color:var(--award-ink);font-weight:800;letter-spacing:-.035em}
:is(.achievement-summary,.student-medal-summary) .medal-values small{color:color-mix(in srgb,var(--award-ink) 78%,#333);font-weight:650}
.home-summary-grid .achievement-summary .medal{align-content:center;padding:12px 14px 12px 17px}
.home-summary-grid .achievement-summary .medal-values>div{text-align:center}
.home-summary-grid .achievement-summary .medal-symbol{width:36px;height:36px;border-radius:10px}
@media(max-width:520px){.home-summary-grid .achievement-summary .medal{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:10px 9px 10px 13px}.home-summary-grid .achievement-summary .medal-symbol{width:32px;height:32px}}

/* Dashboard medals share the compact heading used in the Olympic summary. */
.home-summary-grid>.dashboard-achievement-summary{justify-content:flex-start;align-self:start}
.dashboard-achievement-summary .medal-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-auto-rows:auto;align-content:start;gap:10px;flex:0}
.dashboard-achievement-summary .medal,.home-summary-grid .dashboard-achievement-summary .medal{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;grid-column:auto;height:auto;min-height:112px;padding:10px 12px 10px 16px}
.dashboard-achievement-summary .medal-heading{display:flex;align-items:center;gap:8px;min-width:0;min-height:32px}
.dashboard-achievement-summary .medal-heading .medal-symbol{display:grid;place-items:center;flex:none;width:32px;height:32px;font-size:20px;line-height:1;border-radius:9px}
.dashboard-achievement-summary .medal-heading .medal-label{margin:0;font-size:15px;line-height:1.3;font-weight:750;overflow-wrap:anywhere}
.dashboard-achievement-summary .medal-values>div{text-align:center}
.dashboard-achievement-summary .medal-values strong{font-size:24px}
@media(max-width:420px){.dashboard-achievement-summary .medal-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-achievement-summary .medal-heading{gap:6px}.dashboard-achievement-summary .medal-heading .medal-label{font-size:14px}.dashboard-achievement-summary .medal-values small{font-size:10px}}
@media(max-width:300px){.dashboard-achievement-summary .medal-counts{grid-template-columns:1fr}}
