.site-nav { z-index: 1030; border-bottom: 1px solid var(--mmf-border); background: color-mix(in srgb, var(--mmf-surface) 96%, transparent); box-shadow: 0 3px 14px rgba(18,52,68,.045); backdrop-filter: blur(12px); }
.site-nav .navbar { min-height: 4.7rem; padding: .5rem 0; }
.app-navbar-container { max-width: 1680px; padding-inline: clamp(.8rem,2.2vw,2rem); }
.brand { display: inline-flex; align-items: center; gap: .65rem; max-width: 15rem; margin-right: clamp(.6rem,1.4vw,1.2rem); padding: 0; color: var(--mmf-text); font-size: 1.02rem; }
.brand:hover { color: var(--mmf-text); }
.brand-logo-frame { display: block; flex: 0 0 auto; width: 2.75rem; height: 2.75rem; overflow: hidden; border: 1px solid var(--mmf-border); border-radius: .72rem; background: #fff; box-shadow: var(--mmf-shadow-sm); }
.brand-logo-frame .brand-logo { display: block; width: 3.45rem; height: auto; max-width: none; margin-left: -.36rem; margin-top: -.08rem; border: 0; border-radius: 0; box-shadow: none; }
.brand > .brand-logo { width: 2.75rem; height: 2.75rem; border: 1px solid var(--mmf-border); border-radius: .72rem; background: #fff; object-fit: contain; box-shadow: var(--mmf-shadow-sm); }
.brand-name { letter-spacing: -.025em; }
.brand-accent { color: var(--mmf-accent); }
.site-nav .navbar-nav { gap: .1rem; }
.site-nav .nav-link { display: inline-flex; align-items: center; gap: .42rem; min-height: 2.6rem; border-radius: .7rem; padding: .55rem .64rem; color: var(--mmf-secondary); font-size: .84rem; font-weight: 700; white-space: nowrap; }
.site-nav .nav-link:hover,.site-nav .nav-link:focus { background: var(--mmf-surface-hover); color: var(--mmf-primary); text-decoration: none; }
.site-nav .nav-link.active { background: var(--mmf-primary-light); color: var(--mmf-primary); }
.site-nav .nav-link .bi { font-size: 1rem; }
.mobile-navigation-toggle { font-size: 1.25rem; }
.notification-button { margin-inline: .1rem; }
.notification-badge { position: absolute; top: -.12rem; right: -.12rem; min-width: 1.15rem; height: 1.15rem; border: 2px solid var(--mmf-surface); border-radius: 999px; background: var(--mmf-danger); color: #fff; font-size: .59rem; font-weight: 800; line-height: .95rem; text-align: center; }
.notification-menu { width: min(22rem, calc(100vw - 1.5rem)); }
.notification-item { padding-block: .65rem; border-bottom: 1px solid var(--mmf-border); }
.notification-item small { color: var(--mmf-text-muted); }
.user-menu-button { display: inline-flex; align-items: center; gap: .25rem; min-height: 2.7rem; padding: .18rem .35rem; border: 1px solid transparent; border-radius: .75rem; }
.user-menu-button:hover { border-color: var(--mmf-border); background: var(--mmf-surface-hover); transform: none; }
.user-avatar { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: 50%; background: var(--mmf-primary); color: #fff; font-size: .86rem; font-weight: 800; line-height: 1; }
.user-menu-chevron { color: var(--mmf-text-muted); font-size: .68rem; }
.user-dropdown { min-width: 12rem; }
.navigation-mega-menu { width: 40rem; padding: .75rem; grid-template-columns: 1fr .9fr 1.15fr; gap: .5rem; }
.navigation-mega-menu.show { display: grid; }
.nav-menu-group { display: flex; flex-direction: column; gap: .14rem; }
.nav-menu-label,.context-nav-label { padding: .35rem .65rem; color: var(--mmf-text-soft); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.navigation-mega-menu .dropdown-item { display: flex; align-items: center; gap: .55rem; padding: .48rem .62rem; }
.navigation-mega-menu .dropdown-item .bi { width: 1.1rem; color: var(--mmf-primary); text-align: center; }

.app-layout { width: 100%; min-height: calc(100vh - 11rem); }
.app-layout.layout-without-sidebar { display: block; }
.app-layout.layout-with-sidebar { display: grid; grid-template-columns: 15rem minmax(0,1fr); gap: 0; max-width: none; margin: 0; padding: 0; }
.app-layout.layout-with-sidebar > :not(.context-sidebar-wrap) { grid-column: 2; min-width: 0; }
.context-sidebar-wrap { grid-column: 1; grid-row: 1 / span 50; border-right: 1px solid var(--mmf-border); background: var(--mmf-surface); }
.context-sidebar { position: sticky; top: 4.7rem; max-height: calc(100vh - 4.7rem); overflow-y: auto; padding: 1.2rem .8rem 2rem; scrollbar-width: thin; }
.context-sidebar-heading { display: flex; align-items: center; gap: var(--mmf-space-3); margin: 0 .25rem var(--mmf-space-3); padding: .65rem .55rem .85rem; border-bottom: 1px solid var(--mmf-border); }
.context-sidebar-heading > div { display: flex; flex-direction: column; }
.context-sidebar-heading .eyebrow { line-height: 1.2; }
.context-sidebar-icon { display: grid; flex: 0 0 auto; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .7rem; background: var(--mmf-primary-light); color: var(--mmf-primary); }
.context-nav-section,.mobile-nav-section { display:flex; flex-direction:column; gap:.12rem; margin:0; padding:0; }
.nav-group + .nav-group { margin-top:.28rem; }
.nav-group-toggle { display:flex; width:100%; min-height:2.65rem; align-items:center; justify-content:space-between; gap:var(--mmf-space-3); border:0; border-radius:var(--mmf-radius-md); padding:.58rem .68rem; background:transparent; box-shadow:none; color:var(--mmf-secondary); font-family:inherit; font-size:.82rem; font-weight:650; letter-spacing:0; line-height:1.25; text-align:left; transition:background-color .16s ease,color .16s ease; }
.nav-group-toggle:hover { border:0; background:var(--mmf-surface-hover); color:var(--mmf-primary); transform:none; }
.nav-group-toggle:focus-visible { outline:0; box-shadow:0 0 0 3px color-mix(in srgb,var(--mmf-focus) 32%,transparent); }
.nav-group-label { display:inline-flex; min-width:0; align-items:center; gap:.62rem; }
.nav-group-icon { flex:0 0 1.15rem; width:1.15rem; color:var(--mmf-text-muted); font-size:.98rem; text-align:center; transition:color .16s ease; }
.nav-group-chevron { flex:0 0 auto; color:var(--mmf-text-soft); font-size:.72rem; transition:transform .18s ease,color .16s ease; }
.nav-group-toggle[aria-expanded="true"] { background:var(--mmf-accent-light); color:var(--mmf-primary); }
.nav-group-toggle[aria-expanded="true"] .nav-group-icon,.nav-group.is-active>.nav-group-toggle .nav-group-icon { color:var(--mmf-accent); }
.nav-group-toggle[aria-expanded="true"] .nav-group-chevron { color:var(--mmf-primary); transform:rotate(90deg); }
.nav-group.is-active>.nav-group-toggle { background:var(--mmf-primary-light); color:var(--mmf-primary); }
.nav-group.is-active.is-open>.nav-group-toggle { background:var(--mmf-accent-light); }
.nav-group-links { display:grid; gap:.1rem; margin:.12rem 0 .18rem; padding:.05rem 0 .08rem .58rem; }
.nav-group-links[hidden] { display:none; }
.context-nav-link { display: flex; align-items: center; gap: .62rem; min-height: 2.45rem; border-left: 3px solid transparent; border-radius: var(--mmf-radius-sm); padding: .45rem .62rem; color: var(--mmf-secondary); font-size: .84rem; font-weight: 550; }
.context-nav-link:hover { background: var(--mmf-surface-hover); color: var(--mmf-primary); text-decoration: none; }
.context-nav-link.active { border-left-color: var(--mmf-accent); background: var(--mmf-primary-light); color: var(--mmf-primary); }
.context-nav-link .bi { width: 1.15rem; color: currentColor; text-align: center; }
.mobile-navigation-offcanvas { width: min(22rem,92vw); }
.mobile-navigation { padding: .25rem .85rem 2rem; }
.mobile-nav-section .nav-group-toggle { min-height:2.85rem; }
.mobile-nav-section + .mobile-nav-section { margin-top:.28rem; }
.mobile-nav-link { display: flex; align-items: center; gap: .62rem; min-height: 2.65rem; border-left: 3px solid transparent; border-radius: var(--mmf-radius-sm); padding: .5rem .62rem; color: var(--mmf-secondary); font-size:.88rem; font-weight: 550; }
.mobile-nav-link:hover,.mobile-nav-link:focus { background: var(--mmf-surface-hover); color: var(--mmf-primary); text-decoration: none; }
.mobile-nav-link.active { border-left-color: var(--mmf-accent); background: var(--mmf-primary-light); color: var(--mmf-primary); }
.mobile-nav-link .bi { width: 1.2rem; color: currentColor; text-align: center; }

.page-shell { width: 100%; padding: clamp(1.6rem,3.2vw,2.75rem) 0 clamp(3rem,5vw,5rem); }
.layout-without-sidebar .page-shell > .container { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: clamp(1rem,2.4vw,2rem); }
.layout-with-sidebar .page-shell > .container { width: 100%; max-width: none; padding-inline: clamp(1rem,2vw,1.5rem); }

.site-footer { border-top: 1px solid var(--mmf-border); background: var(--mmf-surface); color: var(--mmf-text-muted); }
.footer-container { display: grid; grid-template-columns: minmax(13rem,1fr) auto minmax(13rem,1fr); align-items: center; gap: 1rem 2rem; max-width: 1680px; min-height: 6rem; padding: 1rem clamp(1rem,2.2vw,2rem); }
.footer-brand { display: flex; align-items: center; gap: .65rem; color: var(--mmf-text); }
.footer-brand img { width: 2.5rem; height: 2.5rem; border: 1px solid var(--mmf-border); border-radius: .65rem; object-fit: contain; }
.footer-brand div { display: flex; flex-direction: column; }
.footer-brand span { color: var(--mmf-text-muted); font-size: .72rem; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem 1rem; }
.footer-links a,.footer-links button { border: 0; background: none; color: var(--mmf-text-muted); font: inherit; font-size: .78rem; padding: .25rem 0; }
.footer-links a:hover,.footer-links button:hover { color: var(--mmf-primary); text-decoration: underline; }
.footer-meta { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; font-size: .72rem; }
.version-chip { border-radius: 999px; padding: .23rem .48rem; background: var(--mmf-neutral-light); color: var(--mmf-neutral); }

@media (max-width: 1199.98px) {
  .site-nav .navbar-collapse { order: 4; width: 100%; margin-top: .65rem; border-top: 1px solid var(--mmf-border); padding-top: .55rem; }
  .site-nav .navbar-nav { align-items: stretch; }
  .site-nav .nav-link { display: flex; padding-inline: .75rem; }
  .site-nav .dropdown-menu { position: static; width: 100%; box-shadow: none; }
  .navigation-mega-menu.show { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .app-layout.layout-with-sidebar { grid-template-columns: 13.5rem minmax(0,1fr); gap: 0; padding: 0; }
  .context-sidebar { padding-inline: .6rem; }
  .context-nav-link { gap: .5rem; padding-inline: .58rem; font-size: .82rem; }
}
@media (max-width: 991.98px) {
  .app-layout.layout-with-sidebar { display: block; max-width: none; padding-inline: 0; }
  .app-layout.layout-with-sidebar > :not(.context-sidebar-wrap) { grid-column: auto; }
  .layout-with-sidebar .page-shell > .container { max-width: 960px; margin-inline: auto; padding-inline: clamp(1rem,2.4vw,2rem); }
}
@media (max-width: 767.98px) {
  .site-nav .navbar { min-height: 4rem; }
  .brand-logo-frame { width: 2.5rem; height: 2.5rem; }
  .brand-logo-frame .brand-logo { width: 3.15rem; margin-left: -.33rem; }
  .brand > .brand-logo { width: 2.5rem; height: 2.5rem; }
  .brand-name { display: none; }
  .navigation-mega-menu.show { display: block; }
  .nav-menu-group + .nav-menu-group { margin-top: .65rem; }
  .user-menu-chevron { display: none; }
  .footer-container { grid-template-columns: 1fr; justify-items: center; padding-block: 1.25rem; text-align: center; }
  .footer-meta { justify-content: center; }
  .page-shell { padding-top: 1.4rem; }
}

/* Centro de reportes · UX-4 */
.reports-page { --report-ink:#123f48; --report-teal:#0b766e; --report-teal-soft:#e7f5f2; --report-blue:#3977c2; --report-blue-soft:#edf4fb; }
.reports-container { width:min(100%,76rem); }
.reports-hero { display:flex; align-items:end; justify-content:space-between; gap:2rem; padding:.5rem 0 1.7rem; border-bottom:1px solid var(--mmf-border); }
.reports-hero>div:first-child { max-width:48rem; }
.reports-hero h1,.report-detail-hero h1 { margin:.45rem 0 .65rem; color:var(--report-ink); font-size:clamp(2.1rem,4vw,3.35rem); line-height:1.02; letter-spacing:-.045em; }
.reports-hero p,.report-detail-hero>div>p { margin:0; color:var(--mmf-text-muted); font-size:clamp(1rem,1.6vw,1.18rem); line-height:1.6; }
.reports-hero-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.55rem; }
.report-featured { display:grid; grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr); gap:clamp(1.5rem,4vw,3.5rem); overflow:hidden; margin-top:1.5rem; border:1px solid color-mix(in srgb,var(--report-teal) 24%,var(--mmf-border)); border-radius:1.5rem; background:linear-gradient(145deg,color-mix(in srgb,var(--report-teal-soft) 86%,var(--mmf-surface)),var(--mmf-surface)); box-shadow:0 18px 42px rgba(18,63,72,.08); }
.report-featured-visual { position:relative; display:grid; place-items:center; min-height:20rem; background:linear-gradient(145deg,#0b5962,#0b766e); }
.report-featured-visual>span { display:grid; place-items:center; width:6rem; height:6rem; border:1px solid rgba(255,255,255,.28); border-radius:1.5rem; background:rgba(255,255,255,.12); color:#fff; font-size:2.5rem; box-shadow:0 18px 30px rgba(0,0,0,.12); }
.report-featured-bars { position:absolute; right:1.4rem; bottom:1.2rem; left:1.4rem; display:flex; align-items:end; justify-content:center; gap:.45rem; height:4rem; opacity:.55; }
.report-featured-bars i { width:12%; border-radius:.4rem .4rem 0 0; background:#fff; }
.report-featured-bars i:nth-child(1) { height:35%; }.report-featured-bars i:nth-child(2) { height:62%; }.report-featured-bars i:nth-child(3) { height:48%; }.report-featured-bars i:nth-child(4) { height:85%; }
.report-featured-copy { align-self:center; padding:clamp(1.5rem,4vw,3rem) clamp(1.3rem,4vw,3rem) clamp(1.5rem,4vw,3rem) 0; }
.report-featured-copy h2 { margin:.4rem 0 .7rem; color:var(--report-ink); font-size:clamp(1.7rem,3vw,2.45rem); letter-spacing:-.035em; }
.report-featured-copy>p { max-width:40rem; color:var(--mmf-text-muted); font-size:1rem; line-height:1.65; }
.report-featured-meta { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; margin:1rem 0 1.25rem; color:var(--mmf-text-muted); font-size:.76rem; }
.report-featured-meta i { color:var(--report-teal); }
.report-guide,.report-catalog,.report-history-section,.report-section { margin-top:clamp(2rem,5vw,3.8rem); }
.report-catalog-tools { display:grid; grid-template-columns:minmax(16rem,1.4fr) minmax(13rem,.6fr); gap:.75rem; margin-bottom:1rem; padding:1rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); box-shadow:var(--mmf-shadow-sm); }
.report-catalog-tools .form-label { color:var(--mmf-text-muted); font-size:.66rem; font-weight:800; }
.report-catalog-tools .input-group-text { border-color:var(--mmf-border); background:var(--mmf-bg); color:var(--report-teal); }
.report-catalog-empty { display:grid; place-items:center; min-height:10rem; border:1px dashed var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); color:var(--mmf-text-muted); text-align:center; }
.report-catalog-empty[hidden] { display:none; }.report-catalog-empty i { color:var(--report-teal); font-size:1.6rem; }.report-catalog-empty strong,.report-catalog-empty span { display:block; }.report-catalog-empty strong { color:var(--report-ink); }
.report-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.05rem; }
.report-section-heading h2 { margin:.25rem 0 0; color:var(--report-ink); font-size:clamp(1.35rem,2.3vw,1.85rem); letter-spacing:-.025em; }
.report-section-heading>p { max-width:27rem; margin:0; color:var(--mmf-text-muted); font-size:.78rem; text-align:right; }
.report-section-heading>a { font-size:.78rem; font-weight:800; }
.report-guide-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.65rem; }
.report-guide-list>a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.6rem; min-height:6rem; padding:.85rem; border:1px solid var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); color:var(--mmf-text); text-decoration:none; transition:.2s ease; }
.report-guide-list>a:hover { border-color:var(--report-teal); transform:translateY(-2px); box-shadow:var(--mmf-shadow-sm); }
.report-guide-icon,.report-category-icon,.report-card-icon,.report-history-icon,.report-insight-icon,.report-export-icon { display:grid; place-items:center; flex:0 0 auto; width:2.35rem; height:2.35rem; border-radius:.7rem; background:var(--report-teal-soft); color:var(--report-teal); }
.report-guide-list strong,.report-guide-list small { display:block; }
.report-guide-list strong { color:var(--report-ink); font-size:.75rem; line-height:1.3; }
.report-guide-list small { margin-top:.2rem; color:var(--mmf-text-muted); font-size:.62rem; }
.report-guide-list>a>.bi { color:var(--report-teal); font-size:.75rem; }
.report-count { border-radius:99rem; background:var(--report-teal-soft); color:var(--report-teal); padding:.35rem .7rem; font-size:.7rem; font-weight:800; }
.report-category-group { margin-top:1.35rem; }
.report-category-group>summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem; margin-bottom:.7rem; cursor:default; list-style:none; }.report-category-group>summary::-webkit-details-marker { display:none; }
.report-category-group h3 { margin:0; color:var(--report-ink); font-size:1.05rem; }
.report-category-group p { margin:.15rem 0 0; color:var(--mmf-text-muted); font-size:.7rem; }
.report-category-count { color:var(--mmf-text-muted); font-size:.7rem; }.report-category-count i { display:none; }
.report-category-group:not([open])>.report-card-grid { display:grid; }
.report-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.report-card { display:flex; flex-direction:column; min-height:17rem; padding:1.05rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); box-shadow:0 7px 18px rgba(18,63,72,.03); }
.report-card.is-primary { border-color:color-mix(in srgb,var(--report-teal) 35%,var(--mmf-border)); background:linear-gradient(145deg,var(--report-teal-soft),var(--mmf-surface)); }
.report-card-top { display:flex; align-items:start; justify-content:space-between; gap:.7rem; }
.report-cadence { max-width:9rem; color:var(--mmf-text-muted); font-size:.62rem; text-align:right; }
.report-card h4 { margin:.8rem 0 .4rem; color:var(--report-ink); font-size:1rem; }
.report-card>p { margin:0; color:var(--mmf-text-muted); font-size:.73rem; line-height:1.5; }
.report-card-question { margin:.8rem 0; padding:.6rem; border-radius:.65rem; background:var(--mmf-bg); }
.report-card-question span,.report-card-question strong { display:block; }
.report-card-question span { color:var(--mmf-text-muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; }
.report-card-question strong { margin-top:.15rem; color:var(--report-ink); font-size:.7rem; }
.report-card>a { margin-top:auto; font-size:.73rem; font-weight:800; }
.report-history-section { padding:clamp(1rem,3vw,1.5rem); border:1px solid var(--mmf-border); border-radius:1.2rem; background:var(--mmf-surface); }
.report-history-section.is-focused { margin-top:1.5rem; }
.report-history-list { display:grid; gap:.5rem; }
.report-history-list article { display:grid; grid-template-columns:auto minmax(10rem,1fr) minmax(16rem,.75fr) auto; align-items:center; gap:.8rem; padding:.75rem; border:1px solid var(--mmf-border); border-radius:.8rem; }
.report-history-main strong,.report-history-main span { display:block; }
.report-history-main strong { color:var(--report-ink); font-size:.82rem; }
.report-history-main span,.report-history-meta { color:var(--mmf-text-muted); font-size:.65rem; }
.report-history-meta { display:flex; flex-wrap:wrap; gap:.45rem .8rem; }
.report-format { border-radius:99rem; background:var(--report-blue-soft); color:var(--report-blue); padding:.16rem .45rem; font-weight:800; }
.report-history-actions { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; font-size:.68rem; font-weight:700; }
.report-history-empty { display:flex; align-items:center; gap:.9rem; padding:1rem; border:1px dashed var(--mmf-border); border-radius:.8rem; background:var(--mmf-bg); }
.report-history-empty h3,.report-history-empty p { margin:0; }.report-history-empty h3 { color:var(--report-ink); font-size:.9rem; }.report-history-empty p { color:var(--mmf-text-muted); font-size:.7rem; }.report-history-empty .btn { margin-left:auto; }
.report-pagination { display:flex; justify-content:space-between; padding-top:.7rem; font-size:.72rem; font-weight:800; }
.reports-back-catalog { margin-top:1rem; text-align:center; }
.report-detail-hero { display:flex; align-items:end; justify-content:space-between; gap:2rem; padding:.4rem 0 1.4rem; border-bottom:1px solid var(--mmf-border); }
.report-detail-hero>div:first-child { max-width:52rem; }
.report-back-link { display:inline-flex; align-items:center; gap:.35rem; margin-bottom:1.1rem; color:var(--mmf-text-muted); font-size:.72rem; font-weight:700; text-decoration:none; }
.report-detail-hero .eyebrow { display:block; }
.report-detail-hero h1 { font-size:clamp(2rem,3.7vw,3rem); }
.report-detail-meta { display:flex; flex-wrap:wrap; gap:.6rem 1rem; margin-top:1rem; color:var(--mmf-text-muted); font-size:.7rem; }
.report-detail-meta i { color:var(--report-teal); }
.report-export-dropdown { flex:0 0 auto; }
.report-export-menu { width:19rem; padding:.45rem; }
.report-export-menu form { margin:0; }
.report-export-menu .dropdown-item { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.65rem; border-radius:.55rem; padding:.65rem; }
.report-export-menu .dropdown-item>i { color:var(--report-teal); font-size:1.15rem; }
.report-export-menu strong,.report-export-menu small { display:block; }.report-export-menu strong { font-size:.76rem; }.report-export-menu small { color:var(--mmf-text-muted); font-size:.62rem; }
.report-context-bar { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:.75rem; border:1px solid var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); box-shadow:0 5px 15px rgba(18,63,72,.035); }
.report-context-summary { display:flex; flex-wrap:wrap; gap:.5rem 1.3rem; }
.report-context-summary>span { padding-right:1.2rem; border-right:1px solid var(--mmf-border); color:var(--mmf-text-muted); font-size:.65rem; }
.report-context-summary>span:last-child { border:0; }.report-context-summary strong { display:block; color:var(--report-ink); font-size:.72rem; }
.report-filter-panel { position:absolute; z-index:20; top:calc(100% + .4rem); right:0; left:0; padding:1rem; border:1px solid var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); box-shadow:0 18px 35px rgba(18,63,72,.14); }
.report-filter-mobile-head { display:none; }
.report-filter-grid { display:grid; grid-template-columns:minmax(13rem,1fr) minmax(13rem,1fr) auto; align-items:end; gap:.75rem; }
.report-filter-submit .btn { min-width:7rem; }
.report-custom-dates { display:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:.75rem; }
.report-custom-dates.is-visible { display:grid; }
.report-advanced-filters { margin-top:.8rem; padding-top:.7rem; border-top:1px solid var(--mmf-border); }
.report-advanced-filters>summary { cursor:pointer; color:var(--report-teal); font-size:.72rem; font-weight:800; }
.report-filter-grid.is-advanced { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:.7rem; }
.report-insight { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; margin-top:1.5rem; padding:1.25rem; border-radius:1.1rem; background:linear-gradient(135deg,var(--report-teal-soft),var(--mmf-surface)); }
.report-insight.is-empty { background:var(--report-blue-soft); }
.report-insight h2 { margin:.2rem 0 .4rem; color:var(--report-ink); font-size:clamp(1.15rem,2vw,1.45rem); }
.report-insight p { max-width:55rem; margin:0; color:var(--mmf-text-muted); font-size:.8rem; line-height:1.6; }
.report-insight .btn,.report-inline-link { display:inline-block; margin-top:.75rem; }
.report-inline-link { font-size:.74rem; font-weight:800; }
.report-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.65rem; }
.report-kpi-card { min-height:8.7rem; padding:.95rem; border:1px solid var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); }
.report-kpi-card>span,.report-kpi-card>strong,.report-kpi-card>small { display:block; }
.report-kpi-card>span { min-height:2em; color:var(--mmf-text-muted); font-size:.66rem; }
.report-kpi-card>strong { margin:.5rem 0; color:var(--report-ink); font-size:clamp(1rem,1.7vw,1.35rem); letter-spacing:-.025em; overflow-wrap:anywhere; }
.report-kpi-card>small { color:var(--mmf-text-muted); font-size:.6rem; line-height:1.4; }
.report-kpi-card .is-up,.report-comparison-grid .is-up { color:#14786a; }.report-kpi-card .is-down,.report-comparison-grid .is-down { color:#a64b51; }
.report-chart-section { padding:1.15rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.report-chart-section .report-section-heading { margin-bottom:.5rem; }.report-chart-section .report-section-heading>span { color:var(--mmf-text-muted); font-size:.68rem; }
.report-chart-canvas { height:22rem; }
.report-chart-note { margin:.75rem 0 0; color:var(--mmf-text-muted); font-size:.65rem; }
.report-chart-empty { display:flex; align-items:center; gap:.85rem; padding:1rem; border:1px dashed var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); }.report-chart-empty>i { color:var(--report-teal); font-size:1.5rem; }.report-chart-empty h2,.report-chart-empty p { margin:0; }.report-chart-empty h2 { color:var(--report-ink); font-size:.95rem; }.report-chart-empty p { color:var(--mmf-text-muted); font-size:.72rem; }
.report-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.report-comparison-grid article { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; padding:1rem; border:1px solid var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); }
.report-comparison-grid article>span,.report-comparison-grid article>p { grid-column:1/-1; }.report-comparison-grid article>span { color:var(--mmf-text-muted); font-size:.65rem; }.report-comparison-grid strong,.report-comparison-grid small { display:block; }.report-comparison-grid strong { color:var(--report-ink); font-size:1rem; }.report-comparison-grid small { color:var(--mmf-text-muted); font-size:.58rem; }.report-comparison-grid p { margin:0; font-size:.67rem; }
.report-table-section { border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.report-table-section>details>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; cursor:pointer; list-style:none; }.report-table-section>details>summary::-webkit-details-marker { display:none; }
.report-table-section summary span span,.report-table-section summary strong,.report-table-section summary small { display:block; }.report-table-section summary strong { margin:.15rem 0; color:var(--report-ink); }.report-table-section summary small { color:var(--mmf-text-muted); font-size:.64rem; }.report-table-section details[open]>summary>.bi { transform:rotate(180deg); }
.report-table-content { border-top:1px solid var(--mmf-border); }.report-data-table { margin:0; font-size:.72rem; }.report-data-table th { white-space:nowrap; color:var(--mmf-text-muted); font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; }.report-data-table td { vertical-align:middle; }
.report-detail-empty { padding:2rem; text-align:center; }.report-detail-empty i { color:var(--report-teal); font-size:1.8rem; }.report-detail-empty h3 { margin:.6rem 0 .25rem; color:var(--report-ink); font-size:1rem; }.report-detail-empty p { margin:0; color:var(--mmf-text-muted); font-size:.72rem; }.report-detail-empty a { display:inline-block; margin-top:.6rem; font-size:.73rem; font-weight:800; }
.report-data-quality { display:grid; grid-template-columns:auto 1fr; gap:.85rem; margin-top:1rem; padding:1rem; border:1px solid #e8cf9a; border-radius:.9rem; background:#fff8e7; }.report-data-quality>span { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:.7rem; background:#ffedbd; color:#8c620e; }.report-data-quality h2,.report-data-quality p { margin:0; }.report-data-quality h2 { margin:.15rem 0 .25rem; color:#654b18; font-size:.95rem; }.report-data-quality p { color:#765d2c; font-size:.72rem; }
.report-methodology { margin-top:1rem; border:1px solid var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); }.report-methodology>details>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; cursor:pointer; list-style:none; }.report-methodology summary>span { display:flex; align-items:center; gap:.7rem; }.report-methodology summary>span>i { color:var(--report-teal); font-size:1.25rem; }.report-methodology strong,.report-methodology small { display:block; }.report-methodology strong { color:var(--report-ink); font-size:.82rem; }.report-methodology small { color:var(--mmf-text-muted); font-size:.62rem; }.report-methodology details[open]>summary>.bi { transform:rotate(180deg); }.report-methodology-body { padding:0 1rem 1rem; }.report-methodology dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:0; }.report-methodology dl>div { padding:.7rem; border-radius:.65rem; background:var(--mmf-bg); }.report-methodology dt { color:var(--mmf-text-muted); font-size:.62rem; }.report-methodology dd { margin:.2rem 0 0; color:var(--mmf-text); font-size:.7rem; overflow-wrap:anywhere; }
.report-export-section { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1rem; padding:1.2rem; border-radius:1rem; background:linear-gradient(135deg,var(--report-teal-soft),var(--mmf-surface)); }.report-export-section>div { display:flex; align-items:center; gap:.8rem; }.report-export-section h2,.report-export-section p { margin:0; }.report-export-section h2 { margin:.15rem 0 .2rem; color:var(--report-ink); font-size:1rem; }.report-export-section p { color:var(--mmf-text-muted); font-size:.68rem; }.report-export-section form { margin:0; }
[data-bs-theme="dark"] .reports-page { --report-ink:#d7f2ef; --report-teal-soft:#123f3f; --report-blue-soft:#152d43; }.report-data-quality { color-scheme:light; }

@media (max-width:1199.98px) {
  .report-guide-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .report-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .report-filter-grid.is-advanced { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
  .reports-hero,.report-detail-hero { align-items:flex-start; flex-direction:column; }.reports-hero-actions { justify-content:flex-start; }
  .report-featured { grid-template-columns:minmax(13rem,.55fr) minmax(0,1.45fr); }
  .report-guide-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-history-list article { grid-template-columns:auto minmax(0,1fr) auto; }.report-history-meta { grid-column:2; }.report-history-actions { grid-column:3; grid-row:1/3; flex-direction:column; align-items:flex-end; }
  .report-context-bar { align-items:flex-start; flex-direction:column; }.report-filter-panel { position:static; width:100%; margin-top:.35rem; box-shadow:none; }
  .report-comparison-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
  .reports-page.page-shell { padding-top:1rem; }.reports-hero h1,.report-detail-hero h1 { font-size:2rem; }.reports-hero-actions,.reports-hero-actions .btn { width:100%; }
  .report-featured { grid-template-columns:1fr; }.report-featured-visual { min-height:10rem; }.report-featured-visual>span { width:4.5rem; height:4.5rem; font-size:2rem; }.report-featured-bars { display:none; }.report-featured-copy { padding:1.2rem; }
  .report-section-heading { align-items:flex-start; flex-direction:column; gap:.35rem; }.report-section-heading>p { text-align:left; }
  .report-guide-list { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.35rem; }.report-guide-list>a { flex:0 0 82%; scroll-snap-align:start; }
  .report-catalog-tools { position:sticky; z-index:5; top:4.3rem; grid-template-columns:1fr; padding:.75rem; }.report-card-grid { grid-template-columns:1fr; }.report-card { min-height:auto; }.report-card-question { margin-bottom:.6rem; }
  .report-category-group { border:1px solid var(--mmf-border); border-radius:.9rem; background:var(--mmf-surface); }.report-category-group>summary { align-items:start; margin:0; padding:.8rem; cursor:pointer; }.report-category-group[open]>summary { border-bottom:1px solid var(--mmf-border); }.report-category-group:not([open])>.report-card-grid { display:none; }.report-category-group>.report-card-grid { padding:.65rem; }.report-category-icon { margin-top:.1rem; }.report-category-count i { display:inline-block; margin-left:.25rem; transition:transform .2s ease; }.report-category-group[open] .report-category-count i { transform:rotate(180deg); }
  .report-history-section { padding:.85rem; }.report-history-list article { grid-template-columns:auto minmax(0,1fr); }.report-history-meta,.report-history-actions { grid-column:2; grid-row:auto; justify-content:flex-start; flex-direction:row; align-items:center; }.report-history-actions { flex-wrap:wrap; }.report-history-empty { align-items:flex-start; flex-wrap:wrap; }.report-history-empty .btn { width:100%; margin:0; }
  .report-detail-meta { display:grid; grid-template-columns:1fr; }.report-export-dropdown,.report-export-dropdown>.btn { width:100%; }.report-export-menu { width:min(19rem,calc(100vw - 2rem)); }
  .report-context-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }.report-context-summary>span { padding:0; border:0; }.report-context-summary>span:nth-child(3) { grid-column:1/-1; }.report-context-bar>button { width:100%; }
  .report-filter-panel { position:fixed; z-index:1060; inset:auto 0 0; max-height:82vh; margin:0; overflow-y:auto; border-radius:1.2rem 1.2rem 0 0; padding:0 1rem calc(1rem + env(safe-area-inset-bottom)); box-shadow:0 -16px 45px rgba(18,63,72,.2); }.report-filter-mobile-head { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; z-index:1; margin-inline:-1rem; padding:.9rem 1rem; border-bottom:1px solid var(--mmf-border); background:var(--mmf-surface); }.report-filter-mobile-head button { display:grid; width:2.2rem; height:2.2rem; place-items:center; border:0; border-radius:.6rem; background:var(--mmf-bg); color:var(--mmf-text); }.report-filter-panel form { padding-top:1rem; }
  .report-filter-grid,.report-filter-grid.is-advanced,.report-custom-dates { grid-template-columns:1fr; }.report-filter-submit .btn { width:100%; }
  .report-insight { grid-template-columns:1fr; }.report-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.report-kpi-card { min-height:8rem; }.report-chart-canvas { height:18rem; }
  .report-data-table thead { display:none; }.report-data-table,.report-data-table tbody,.report-data-table tr,.report-data-table td { display:block; width:100%; }.report-data-table tr { padding:.65rem; border-bottom:1px solid var(--mmf-border); }.report-data-table td { display:grid; grid-template-columns:minmax(7rem,.7fr) minmax(0,1.3fr); gap:.6rem; border:0; padding:.25rem; text-align:right; overflow-wrap:anywhere; }.report-data-table td::before { content:attr(data-label); color:var(--mmf-text-muted); font-size:.6rem; font-weight:800; text-align:left; text-transform:uppercase; }
  .report-methodology dl { grid-template-columns:1fr; }.report-export-section { align-items:stretch; flex-direction:column; }.report-export-section>div:last-child { display:grid; grid-template-columns:repeat(2,1fr); }.report-export-section form,.report-export-section button { width:100%; }.report-export-section .btn-link { grid-column:1/-1; }
}

/* MoneyMentor Score · UX-3 */
.score-page { --score-ink:#123f48; --score-teal:#0b766e; --score-teal-soft:#e7f5f2; --score-blue-soft:#edf4fb; --score-warm:#fff7e8; color:var(--mmf-text); }
.score-container { width:min(100%,76rem); }
.score-page .eyebrow { letter-spacing:.1em; }
.score-hero { overflow:hidden; border:1px solid color-mix(in srgb,var(--score-teal) 24%,var(--mmf-border)); border-radius:1.6rem; background:linear-gradient(145deg,color-mix(in srgb,var(--score-teal-soft) 86%,var(--mmf-surface)),var(--mmf-surface) 58%); box-shadow:0 20px 45px rgba(18,63,72,.09); }
.score-hero-main { display:flex; justify-content:space-between; gap:2rem; padding:clamp(1.4rem,3.5vw,2.7rem) clamp(1.35rem,4vw,3.2rem) 1.25rem; }
.score-hero-copy { max-width:43rem; }
.score-hero-copy h1,.score-subpage-header h1 { margin:.45rem 0 .7rem; color:var(--score-ink); font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.045em; line-height:1.02; }
.score-hero-copy>p { margin:0; color:var(--mmf-text-muted); font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.6; }
.score-disclaimer { display:flex; align-items:flex-start; gap:.6rem; margin-top:1rem; color:var(--mmf-text-muted); font-size:.78rem; }
.score-disclaimer i { color:var(--score-teal); }
.score-hero-actions { display:flex; align-items:flex-start; flex-wrap:wrap; justify-content:flex-end; gap:.55rem; }
.score-hero-result { display:grid; grid-template-columns:minmax(15rem,.72fr) minmax(20rem,1.28fr); align-items:center; gap:clamp(1.4rem,4vw,4rem); padding:clamp(1.4rem,4vw,3rem); border-top:1px solid color-mix(in srgb,var(--score-teal) 15%,var(--mmf-border)); background:color-mix(in srgb,var(--mmf-surface) 88%,transparent); }
.score-dial { display:grid; place-items:center; width:clamp(12rem,19vw,15.5rem); aspect-ratio:1; margin:auto; border-radius:50%; background:conic-gradient(var(--score-teal) calc(var(--score) * 1%),color-mix(in srgb,var(--score-teal) 10%,var(--mmf-surface)) 0); box-shadow:0 12px 30px rgba(11,118,110,.15); }
.score-dial::before { content:""; grid-area:1/1; width:79%; aspect-ratio:1; border-radius:50%; background:var(--mmf-surface); box-shadow:inset 0 0 0 1px var(--mmf-border); }
.score-dial>div { z-index:1; grid-area:1/1; display:flex; align-items:baseline; flex-direction:column; text-align:center; }
.score-dial strong { color:var(--score-ink); font-size:clamp(3rem,6vw,4.5rem); letter-spacing:-.07em; line-height:.9; }
.score-dial span { margin-top:.55rem; color:var(--mmf-text-muted); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.score-state-label,.score-status { display:inline-flex; align-items:center; gap:.35rem; width:max-content; border-radius:99rem; background:var(--score-teal-soft); color:var(--score-teal); padding:.32rem .7rem; font-size:.72rem; font-weight:800; }
.score-hero-summary h2 { max-width:35rem; margin:.65rem 0 .45rem; color:var(--score-ink); font-size:clamp(1.35rem,2.4vw,2rem); letter-spacing:-.025em; }
.score-hero-summary>p { max-width:38rem; margin-bottom:1.2rem; color:var(--mmf-text-muted); }
.score-coverage-line { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.45rem; color:var(--mmf-text-muted); font-size:.78rem; }
.score-coverage-line strong { color:var(--score-ink); font-size:1rem; }
.score-progress,.score-dimension-track { overflow:hidden; height:.48rem; border-radius:99rem; background:color-mix(in srgb,var(--score-teal) 12%,var(--mmf-surface)); }
.score-progress span,.score-dimension-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--score-teal),#32a69a); }
.score-hero-meta { display:flex; flex-wrap:wrap; gap:1rem; margin-top:.85rem; color:var(--mmf-text-muted); font-size:.75rem; }
.score-normalized { margin-top:.8rem; color:var(--mmf-text-muted); font-size:.75rem; }
.score-normalized summary { color:var(--score-teal); cursor:pointer; font-weight:700; }
.score-normalized p { margin:.5rem 0 0; }
.score-section { margin-top:clamp(2rem,5vw,4rem); }
.score-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.1rem; }
.score-section-heading h2 { margin:.25rem 0 0; color:var(--score-ink); font-size:clamp(1.35rem,2.3vw,1.85rem); letter-spacing:-.025em; }
.score-section-heading>p { max-width:27rem; margin:0; color:var(--mmf-text-muted); font-size:.82rem; text-align:right; }
.score-section-heading>a { font-size:.82rem; font-weight:700; }
.score-priority-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:1rem; }
.score-primary-priority { position:relative; display:grid; grid-template-columns:auto 1fr; gap:1rem; overflow:hidden; min-height:17rem; padding:1.5rem; border-radius:1.2rem; background:linear-gradient(150deg,#0b5962,#0b766e); color:#fff; box-shadow:0 16px 30px rgba(11,89,98,.15); }
.score-priority-number { color:rgba(255,255,255,.32); font-size:2.5rem; font-weight:800; line-height:1; }
.score-primary-priority .score-kicker { color:#a8e4da; }
.score-primary-priority h3 { margin:.25rem 0 .65rem; font-size:1.65rem; }
.score-primary-priority p { color:rgba(255,255,255,.78); }
.score-primary-priority .btn { margin-top:.4rem; border-color:#fff; background:#fff; color:#0b5962; }
.score-recommendation-list { display:grid; gap:.7rem; }
.score-recommendation-list article { display:grid; grid-template-columns:auto 1fr; gap:.9rem; padding:1rem 1.1rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.score-recommendation-list h3 { margin:.15rem 0 .25rem; color:var(--score-ink); font-size:1rem; }
.score-recommendation-list p { margin:0 0 .35rem; color:var(--mmf-text-muted); font-size:.78rem; }
.score-recommendation-list a { font-size:.75rem; font-weight:800; }
.score-card-icon,.score-dimension-icon { display:grid; place-items:center; flex:0 0 auto; width:2.35rem; height:2.35rem; border-radius:.72rem; background:var(--score-teal-soft); color:var(--score-teal); }
.score-kicker { color:var(--score-teal); font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.score-diagnosis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.score-insight-card { min-height:19rem; padding:1.35rem; border:1px solid var(--mmf-border); border-radius:1.15rem; background:var(--mmf-surface); }
.score-strengths { background:linear-gradient(145deg,color-mix(in srgb,var(--score-teal-soft) 74%,var(--mmf-surface)),var(--mmf-surface)); }
.score-attention { background:linear-gradient(145deg,color-mix(in srgb,var(--score-warm) 68%,var(--mmf-surface)),var(--mmf-surface)); }
.score-attention .score-card-icon { background:#fff1cf; color:#976710; }
.score-card-title { display:flex; align-items:center; gap:.8rem; }
.score-card-title h3 { margin:.15rem 0 0; color:var(--score-ink); font-size:1.15rem; }
.score-insight-list { display:grid; gap:.15rem; margin:1rem 0 0; padding:0; list-style:none; }
.score-insight-list li { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:.7rem; padding:.72rem 0; border-top:1px solid color-mix(in srgb,var(--mmf-border) 78%,transparent); }
.score-rank { display:grid; place-items:center; width:1.9rem; height:1.9rem; border-radius:.55rem; background:var(--mmf-surface); color:var(--score-teal); }
.score-insight-list strong,.score-insight-list span { display:block; }
.score-insight-list span { color:var(--mmf-text-muted); font-size:.75rem; line-height:1.45; }
.score-empty-copy { margin:1.2rem 0; color:var(--mmf-text-muted); }
.score-dimension-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.score-dimension-card { padding:1.15rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); box-shadow:0 7px 18px rgba(18,63,72,.035); }
.score-dimension-card.is-missing { border-color:#e8cf9a; }
.score-dimension-card.is-history { border-color:#aac7e2; }
.score-dimension-card.is-neutral { background:color-mix(in srgb,var(--mmf-surface) 90%,var(--mmf-bg)); }
.score-dimension-top { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem; }
.score-dimension-name h3 { margin:0 0 .3rem; color:var(--score-ink); font-size:1rem; }
.score-status { padding:.2rem .48rem; font-size:.62rem; }
.is-missing .score-status { background:#fff1cf; color:#895b08; }
.is-history .score-status { background:var(--score-blue-soft); color:#2e6191; }
.is-neutral .score-status { background:var(--mmf-bg); color:var(--mmf-text-muted); }
.score-dimension-points { text-align:right; }
.score-dimension-points strong,.score-dimension-points span { display:block; }
.score-dimension-points strong { color:var(--score-ink); font-size:1.45rem; line-height:1; }
.score-dimension-points span { margin-top:.25rem; color:var(--mmf-text-muted); font-size:.65rem; }
.score-dimension-track { height:.35rem; margin:.85rem 0; }
.is-missing .score-dimension-track span,.is-history .score-dimension-track span,.is-neutral .score-dimension-track span { width:0!important; }
.score-dimension-summary { min-height:2.5rem; margin:0; color:var(--mmf-text-muted); font-size:.76rem; line-height:1.55; }
.score-dimension-actions { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:.7rem; padding-top:.7rem; border-top:1px solid var(--mmf-border); font-size:.72rem; font-weight:700; }
.score-dimension-result{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.85rem}.score-dimension-result strong{color:var(--score-ink);font-size:1rem;line-height:1.35}.score-dimension-result small{flex:0 0 auto;color:var(--mmf-text-muted);font-size:.68rem}.score-dimension-actions{flex-wrap:wrap}
.score-dimension-actions details { position:relative; }
.score-dimension-actions summary { cursor:pointer; color:var(--score-teal); }
.score-technical-detail { margin-top:.75rem; font-weight:400; }
.score-technical-detail dl { display:grid; gap:.45rem; margin:0; }
.score-technical-detail dl>div { display:grid; grid-template-columns:8.5rem 1fr; gap:.6rem; }
.score-technical-detail dt { color:var(--mmf-text-muted); }
.score-technical-detail dd { margin:0; overflow-wrap:anywhere; }
.score-technical-detail p { margin:.65rem 0 0; padding:.6rem; border-radius:.6rem; background:var(--mmf-bg); color:var(--mmf-text-muted); }
.score-coverage-section { padding:clamp(1.2rem,3vw,2rem); border-radius:1.25rem; background:color-mix(in srgb,var(--score-blue-soft) 66%,var(--mmf-surface)); }
.score-coverage-total { color:var(--score-teal); font-size:2.2rem; font-weight:800; letter-spacing:-.04em; }
.score-coverage-layout { display:grid; grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr); gap:1.25rem; }
.score-coverage-summary { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; }
.score-coverage-summary>div { padding:1rem; border:1px solid color-mix(in srgb,var(--mmf-border) 72%,transparent); border-radius:.8rem; background:color-mix(in srgb,var(--mmf-surface) 84%,transparent); }
.score-coverage-summary strong,.score-coverage-summary span { display:block; }
.score-coverage-summary strong { color:var(--score-ink); font-size:1.6rem; }
.score-coverage-summary span { color:var(--mmf-text-muted); font-size:.68rem; }
.score-missing-list { padding:.2rem .4rem; }
.score-missing-list h3 { margin:.15rem 0 .4rem; color:var(--score-ink); font-size:1rem; }
.score-missing-list>div { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem; padding:.65rem 0; border-bottom:1px solid color-mix(in srgb,var(--mmf-border) 72%,transparent); }
.score-missing-list p,.score-missing-list strong,.score-missing-list span { display:block; margin:0; }
.score-missing-list strong { color:var(--score-ink); font-size:.78rem; }
.score-missing-list span { color:var(--mmf-text-muted); font-size:.69rem; }
.score-missing-list a { font-size:.68rem; font-weight:800; white-space:nowrap; }
.score-complete-state { grid-template-columns:auto 1fr!important; border:0!important; }
.score-complete-state>i { color:var(--score-teal); font-size:2rem; }
.score-complete-state h3,.score-complete-state p { margin:0; }
.score-evolution-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(16rem,.65fr); gap:1rem; }
.score-history-card,.score-change-card { min-height:18rem; padding:1.2rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.score-chart-wrap { height:15.5rem; }
.score-chart-large { height:23rem; }
.score-change-card h3 { margin:.85rem 0 .65rem; color:var(--score-ink); font-size:1.25rem; line-height:1.35; }
.score-change-card p { color:var(--mmf-text-muted); font-size:.8rem; }
.score-history-empty { display:grid; place-items:center; height:100%; text-align:center; }
.score-history-empty i { color:var(--score-teal); font-size:2rem; }
.score-history-empty h3 { margin:.55rem 0 .2rem; color:var(--score-ink); font-size:1.05rem; }
.score-history-empty p { margin:0; color:var(--mmf-text-muted); font-size:.78rem; }
.score-improvement-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.score-improvement-grid article { padding:1.15rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.score-improvement-grid i { color:var(--score-teal); font-size:1.4rem; }
.score-improvement-grid h3 { margin:.65rem 0 .35rem; color:var(--score-ink); font-size:1rem; }
.score-improvement-grid p { min-height:3.8rem; color:var(--mmf-text-muted); font-size:.75rem; }
.score-improvement-grid a { font-size:.74rem; font-weight:800; }
.score-transparency { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.4rem; border:1px solid color-mix(in srgb,var(--score-teal) 25%,var(--mmf-border)); border-radius:1rem; background:linear-gradient(135deg,var(--score-teal-soft),var(--mmf-surface)); }
.score-transparency>div { display:flex; gap:1rem; }
.score-transparency h2 { margin:.2rem 0 .3rem; color:var(--score-ink); font-size:1.15rem; }
.score-transparency p { max-width:43rem; margin:0; color:var(--mmf-text-muted); font-size:.78rem; }
.score-snapshot-actions { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1rem; padding:1.1rem 0; }
.score-snapshot-actions h2 { margin:0 0 .25rem; color:var(--score-ink); font-size:1rem; }
.score-snapshot-actions p { max-width:43rem; margin:0; color:var(--mmf-text-muted); font-size:.72rem; }
.score-snapshot-actions>div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
.score-subpage-header { display:flex; align-items:end; justify-content:space-between; gap:2rem; padding:.5rem 0 1.5rem; border-bottom:1px solid var(--mmf-border); }
.score-subpage-header>div { max-width:48rem; }
.score-subpage-header h1 { font-size:clamp(2rem,3.6vw,3rem); }
.score-subpage-header p { margin:0; color:var(--mmf-text-muted); font-size:1rem; }
.score-history-explorer { margin-top:2rem; }
.score-version-tabs { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1rem; }
.score-version-tabs button { border:1px solid var(--mmf-border); border-radius:.75rem; background:var(--mmf-surface); color:var(--mmf-text); padding:.55rem .85rem; font-weight:800; }
.score-version-tabs button span { margin-left:.35rem; color:var(--mmf-text-muted); font-size:.65rem; font-weight:500; }
.score-version-tabs button.is-active { border-color:var(--score-teal); background:var(--score-teal); color:#fff; }
.score-version-tabs button.is-active span { color:rgba(255,255,255,.75); }
.score-version-single { width:max-content; margin-bottom:1rem; border-radius:99rem; background:var(--score-teal-soft); color:var(--score-teal); padding:.4rem .75rem; font-size:.75rem; font-weight:800; }
.score-history-overview { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(16rem,.45fr); gap:1rem; }
.score-history-chart-card,.score-history-notes { padding:1.15rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.score-history-notes h3 { margin:.8rem 0 .45rem; color:var(--score-ink); font-size:1.05rem; }
.score-history-notes p { color:var(--mmf-text-muted); font-size:.77rem; }
.score-history-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:.8rem; }
.score-history-kpis article { padding:1rem; border:1px solid var(--mmf-border); border-radius:.85rem; background:var(--mmf-surface); }
.score-history-kpis span,.score-history-kpis strong,.score-history-kpis small { display:block; }
.score-history-kpis span { color:var(--mmf-text-muted); font-size:.68rem; }
.score-history-kpis strong { margin:.25rem 0; color:var(--score-ink); font-size:1.65rem; }
.score-history-kpis small { color:var(--mmf-text-muted); }
.score-history-table { margin-top:.8rem; border:1px solid var(--mmf-border); border-radius:.85rem; background:var(--mmf-surface); }
.score-history-table>summary { padding:.85rem 1rem; cursor:pointer; color:var(--score-teal); font-size:.78rem; font-weight:800; }
.score-history-table .table-shell { border-top:1px solid var(--mmf-border); }
.score-history-guidance,.score-disclaimer-panel { display:flex; gap:1rem; margin-top:1rem; padding:1.1rem; border-radius:1rem; background:var(--score-blue-soft); }
.score-history-guidance i,.score-disclaimer-panel>i { color:#3977c2; font-size:1.25rem; }
.score-history-guidance h2,.score-disclaimer-panel h2 { margin:0 0 .25rem; color:var(--score-ink); font-size:1rem; }
.score-history-guidance p,.score-disclaimer-panel p { margin:0; color:var(--mmf-text-muted); font-size:.76rem; }
.score-history-empty-page { min-height:20rem; margin-top:2rem; padding:2rem; border:1px dashed var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.score-method-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:1.4rem; }
.score-method-overview article { display:flex; gap:.8rem; padding:1rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.score-method-overview span,.score-method-overview strong,.score-method-overview small { display:block; }
.score-method-overview article div>span { color:var(--mmf-text-muted); font-size:.68rem; }
.score-method-overview strong { margin:.15rem 0; color:var(--score-ink); }
.score-method-overview small { color:var(--mmf-text-muted); }
.score-method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.score-method-grid>article { padding:1.1rem; border:1px solid var(--mmf-border); border-radius:1rem; background:var(--mmf-surface); }
.score-method-card-top { display:flex; justify-content:space-between; }
.score-method-weight { height:max-content; border-radius:99rem; background:var(--score-teal-soft); color:var(--score-teal); padding:.25rem .55rem; font-size:.66rem; font-weight:800; }
.score-method-grid h3 { margin:.75rem 0 .35rem; color:var(--score-ink); font-size:1rem; }
.score-method-grid p,.score-method-grid small { color:var(--mmf-text-muted); font-size:.74rem; }
.score-method-grid details { margin-top:.75rem; padding-top:.7rem; border-top:1px solid var(--mmf-border); }
.score-method-grid summary { cursor:pointer; color:var(--score-teal); font-size:.72rem; font-weight:800; }
.score-method-grid dl { display:grid; gap:.5rem; margin:.75rem 0 0; }
.score-method-grid dl>div { display:grid; grid-template-columns:7rem 1fr; gap:.5rem; font-size:.68rem; }
.score-method-grid dd { margin:0; overflow-wrap:anywhere; }
.score-method-grid code { color:var(--mmf-text); white-space:normal; }
.score-policy-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.score-policy-grid article { padding:1rem; border-radius:.85rem; background:var(--mmf-surface); border:1px solid var(--mmf-border); }
.score-policy-grid i { color:var(--score-teal); }
.score-policy-grid h3 { margin:.6rem 0 .25rem; color:var(--score-ink); font-size:.9rem; }
.score-policy-grid p { margin:0; color:var(--mmf-text-muted); font-size:.7rem; }
.score-method-interpretation { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr); gap:1.2rem; padding:1.35rem; border-radius:1rem; background:linear-gradient(135deg,var(--score-teal-soft),var(--mmf-surface)); }
.score-method-interpretation>div { display:flex; align-items:flex-start; gap:.9rem; }
.score-method-interpretation h2 { margin:.2rem 0 .4rem; color:var(--score-ink); font-size:1.15rem; }
.score-method-interpretation p,.score-method-interpretation li { color:var(--mmf-text-muted); font-size:.76rem; }
.score-method-interpretation ul { margin:0; }
[data-bs-theme="dark"] .score-page { --score-ink:#d7f2ef; --score-teal-soft:#123f3f; --score-blue-soft:#152d43; --score-warm:#3b3120; }

@media (max-width: 991.98px) {
  .score-hero-main,.score-subpage-header { align-items:flex-start; flex-direction:column; }
  .score-hero-actions { justify-content:flex-start; }
  .score-hero-result { grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr); }
  .score-priority-grid,.score-coverage-layout,.score-evolution-grid,.score-history-overview { grid-template-columns:1fr; }
  .score-recommendation-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .score-recommendation-list article:first-child:last-child { grid-column:1/-1; }
  .score-policy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .score-method-interpretation { grid-template-columns:1fr; }
}
@media (max-width: 767.98px) {
  .score-page.page-shell { padding-top:1rem; }
  .score-hero-main { padding:1.2rem 1rem 1rem; }
  .score-hero-copy h1,.score-subpage-header h1 { font-size:2rem; }
  .score-hero-actions { width:100%; }
  .score-hero-actions .btn { flex:1; }
  .score-hero-result { grid-template-columns:1fr; gap:1.2rem; padding:1.2rem 1rem; }
  .score-dial { width:11.5rem; }
  .score-dial strong { font-size:3.1rem; }
  .score-section { margin-top:2rem; }
  .score-section-heading { align-items:flex-start; flex-direction:column; gap:.35rem; }
  .score-section-heading>p { text-align:left; }
  .score-priority-grid,.score-diagnosis-grid,.score-dimension-grid,.score-improvement-grid,.score-method-grid,.score-method-overview { grid-template-columns:1fr; }
  .score-dimension-result{align-items:flex-start;flex-direction:column;gap:.25rem}
  .score-primary-priority { min-height:auto; }
  .score-recommendation-list { grid-template-columns:1fr; }
  .score-insight-card { min-height:auto; }
  .score-coverage-section { margin-inline:-.25rem; padding:1rem; }
  .score-coverage-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .score-missing-list>div { grid-template-columns:auto 1fr; }
  .score-missing-list>div>a { grid-column:2; }
  .score-evolution-grid { grid-template-columns:1fr; }
  .score-improvement-grid article p { min-height:0; }
  .score-transparency,.score-snapshot-actions { align-items:stretch; flex-direction:column; }
  .score-snapshot-actions>div:last-child,.score-snapshot-actions form,.score-snapshot-actions button { width:100%; }
  .score-history-kpis { grid-template-columns:1fr; }
  .score-chart-large { height:18rem; }
  .score-policy-grid { grid-template-columns:1fr; }
  .score-method-grid dl>div,.score-technical-detail dl>div { grid-template-columns:1fr; gap:.1rem; }
  .score-method-interpretation>div { flex-direction:column; }
}
@media (max-width: 389.98px) {
  .app-navbar-container { padding-inline: .55rem; }
  .site-nav .d-flex.gap-1 { gap: 0; }
  .btn-icon { width: 2.35rem; height: 2.35rem; }
  .user-avatar { width: 1.95rem; height: 1.95rem; }
}

/* Dashboard ejecutivo · UX-2 */
.dashboard-executive .container { max-width: 1500px; }
.dashboard-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; padding: .35rem 0 1rem; }
.dashboard-hero .page-title { margin: .35rem 0; }
.dashboard-hero-copy { margin: 0; color: var(--mmf-text-muted); font-size: 1rem; }
.dashboard-hero-actions { display: flex; align-items: center; gap: .65rem; }
.dashboard-data-state { display: inline-flex; align-items: center; gap: .38rem; border-radius: 999px; padding: .42rem .7rem; font-size: .76rem; font-weight: 750; }
.dashboard-data-state.is-complete { background: var(--mmf-success-light); color: var(--mmf-success); }
.dashboard-data-state.is-partial { background: var(--mmf-warning-light); color: var(--mmf-warning); }
.dashboard-data-state.is-initial { background: var(--mmf-info-light); color: var(--mmf-info); }
.dashboard-context { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.55rem; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-lg); padding: .55rem .65rem .55rem 1rem; background: var(--mmf-surface); box-shadow: var(--mmf-shadow-sm); }
.dashboard-context-summary { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.2rem; color: var(--mmf-secondary); font-size: .82rem; font-weight: 700; }
.dashboard-context-summary span { display: inline-flex; align-items: center; gap: .42rem; }
.dashboard-context-summary .bi { color: var(--mmf-primary); }
.dashboard-filter-toggle .bi { margin-left: .3rem; transition: transform .2s ease; }
.dashboard-filter-toggle[aria-expanded="true"] .bi { transform: rotate(180deg); }
.dashboard-filter-panel { margin-top: .65rem; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-lg); background: var(--mmf-surface); box-shadow: var(--mmf-shadow-md); }
.dashboard-filter-form { display: grid; grid-template-columns: repeat(3,minmax(10rem,1fr)) auto; align-items: end; gap: .8rem; padding: 1rem; }
.dashboard-filter-actions { display: flex; align-items: center; gap: .4rem; }
.dashboard-more-filters { min-width: auto; padding-inline: .35rem; }
.dashboard-custom-dates { grid-column: 1 / -1; }
.dashboard-custom-dates.show { display: grid; grid-template-columns: repeat(2,minmax(10rem,16rem)); gap: .8rem; }
.dashboard-inline-message { display: flex; align-items: center; gap: .65rem; margin-top: .75rem; border-radius: var(--mmf-radius-md); padding: .72rem .9rem; background: var(--mmf-warning-light); color: var(--mmf-warning); font-size: .84rem; }
.dashboard-inline-message span { flex: 1; }
.dashboard-inline-message a { font-weight: 750; }
.dashboard-section { margin-top: 2.25rem; }
.dashboard-section-heading,.dashboard-card-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.dashboard-section-heading h2,.dashboard-card-heading h2 { margin: .22rem 0 0; color: var(--mmf-text); font-size: 1.24rem; }
.dashboard-section-heading > a,.dashboard-card-link { font-size: .82rem; font-weight: 750; }
.dashboard-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; margin-top: 2.25rem; }
.dashboard-card { border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-xl); padding: clamp(1.15rem,2vw,1.5rem); background: var(--mmf-surface); box-shadow: var(--mmf-shadow-sm); }
.dashboard-grid-featured .dashboard-score-summary { grid-column: span 5; }
.dashboard-grid-featured .dashboard-commitments { grid-column: span 7; }
.dashboard-grid-tail .dashboard-trend-card { grid-column: span 8; }
.dashboard-grid-tail .dashboard-quick-actions { grid-column: span 4; }

.dashboard-kpi-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; }
.financial-kpi { display: flex; min-height: 10.25rem; flex-direction: column; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-xl); padding: 1.15rem; background: var(--mmf-surface); box-shadow: var(--mmf-shadow-sm); }
.financial-kpi-primary { grid-column: span 4; }
.financial-kpi-secondary { grid-column: span 6; min-height: 8.8rem; }
.financial-kpi-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .7rem; }
.financial-kpi-icon,.progress-card-icon,.recommendation-icon,.attention-icon,.dashboard-section-icon { display: inline-grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: .72rem; background: var(--mmf-primary-light); color: var(--mmf-primary); }
.financial-kpi .metric-label { margin: 0; }
.financial-kpi-value { margin: .2rem 0 .4rem; color: var(--mmf-text); font-size: clamp(1.42rem,2vw,2rem); font-weight: 780; letter-spacing: -.035em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.financial-kpi-context { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem .75rem; margin-top: auto; color: var(--mmf-text-muted); font-size: .76rem; }
.financial-kpi-change { display: inline-flex; align-items: center; gap: .25rem; font-weight: 750; }
.financial-kpi-change.is-positive { color: var(--mmf-success); }
.financial-kpi-change.is-negative { color: var(--mmf-danger); }

.dashboard-attention { border: 1px solid color-mix(in srgb,var(--mmf-warning) 24%,var(--mmf-border)); border-radius: var(--mmf-radius-xl); padding: 1.25rem; background: color-mix(in srgb,var(--mmf-warning-light) 45%,var(--mmf-surface)); }
.attention-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
.attention-card { display: grid; grid-template-columns: auto 1fr; gap: .85rem; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-lg); padding: 1rem; background: var(--mmf-surface); }
.attention-icon { background: var(--mmf-warning-light); color: var(--mmf-warning); }
.attention-level { color: var(--mmf-warning); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.attention-card h3 { margin: .2rem 0 .35rem; font-size: .95rem; }
.attention-card p { margin: 0 0 .55rem; color: var(--mmf-text-muted); font-size: .78rem; }
.attention-card a { font-size: .76rem; font-weight: 750; }
.dashboard-positive-empty { display: flex; align-items: center; gap: .8rem; border-radius: var(--mmf-radius-lg); padding: 1rem; background: var(--mmf-surface); color: var(--mmf-success); }
.dashboard-positive-empty > i { font-size: 1.5rem; }
.dashboard-positive-empty div { display: flex; flex-direction: column; }
.dashboard-positive-empty span { color: var(--mmf-text-muted); font-size: .78rem; }

.score-version { border-radius: 999px; padding: .3rem .55rem; background: var(--mmf-neutral-light); color: var(--mmf-neutral); font-size: .7rem; font-weight: 800; }
.score-summary-body { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.15rem; }
.score-summary-number { display: flex; align-items: baseline; gap: .22rem; }
.score-summary-number strong { color: var(--mmf-accent); font-size: clamp(2.55rem,4vw,3.5rem); line-height: 1; letter-spacing: -.06em; }
.score-summary-number span { color: var(--mmf-text-muted); font-size: .8rem; }
.score-state { color: var(--mmf-primary); font-weight: 800; }
.score-summary-copy p { margin: .25rem 0 0; color: var(--mmf-text-muted); font-size: .78rem; }
.score-summary-meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.1rem; color: var(--mmf-text-muted); font-size: .76rem; }
.dashboard-progress-track { height: .48rem; overflow: hidden; border-radius: 999px; background: var(--mmf-neutral-light); }
.dashboard-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--mmf-primary),var(--mmf-accent)); }
.dashboard-score-summary .dashboard-progress-track { margin-top: .45rem; }
.score-opportunity { display: grid; grid-template-columns: auto 1fr; gap: .65rem; margin: 1rem 0; border-radius: var(--mmf-radius-md); padding: .75rem; background: var(--mmf-accent-light); }
.score-opportunity > i { color: var(--mmf-success); }
.score-opportunity div { display: flex; flex-direction: column; }
.score-opportunity span { color: var(--mmf-text-muted); font-size: .74rem; }

.commitment-list { margin: 0; padding: 0; list-style: none; }
.commitment-list li + li { border-top: 1px solid var(--mmf-border); }
.commitment-list a { display: grid; grid-template-columns: 2.8rem minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .72rem .25rem; color: var(--mmf-text); text-decoration: none; }
.commitment-list a:hover { color: var(--mmf-primary); }
.commitment-date { display: flex; height: 2.8rem; flex-direction: column; align-items: center; justify-content: center; border-radius: .68rem; background: var(--mmf-bg-secondary); line-height: 1; }
.commitment-date strong { font-size: .9rem; }
.commitment-date small { margin-top: .2rem; color: var(--mmf-text-muted); font-size: .58rem; }
.commitment-copy { display: flex; min-width: 0; flex-direction: column; }
.commitment-copy strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.commitment-copy small { color: var(--mmf-text-muted); font-size: .7rem; text-transform: capitalize; }
.commitment-amount { color: var(--mmf-secondary); font-size: .8rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.dashboard-card-link { display: inline-flex; align-items: center; gap: .32rem; margin-top: .8rem; }
.dashboard-card-empty { display: flex; min-height: 10rem; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; border: 1px dashed var(--mmf-border-strong); border-radius: var(--mmf-radius-lg); padding: 1.2rem; color: var(--mmf-text-muted); text-align: center; }
.dashboard-card-empty > i { margin-bottom: .25rem; color: var(--mmf-primary); font-size: 1.65rem; }
.dashboard-card-empty span { font-size: .78rem; }

.progress-card-grid,.recommendation-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; }
.progress-card,.recommendation-card { grid-column: span 4; display: flex; min-height: 13.5rem; flex-direction: column; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-xl); padding: 1.15rem; background: var(--mmf-surface); box-shadow: var(--mmf-shadow-sm); }
.progress-card-icon { margin-bottom: .8rem; }
.progress-card-heading,.recommendation-card-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.progress-card h3,.recommendation-card h3 { margin: 0; font-size: .95rem; }
.progress-card-heading > strong { color: var(--mmf-primary); font-size: 1.05rem; }
.progress-card p { margin: .4rem 0; color: var(--mmf-text); font-size: .82rem; }
.progress-card .dashboard-progress-track { margin: .35rem 0 .55rem; }
.progress-card small { color: var(--mmf-text-muted); }
.progress-card > a { margin-top: auto; padding-top: .8rem; font-size: .77rem; font-weight: 750; }
.progress-card-empty { border-style: dashed; box-shadow: none; }
.recommendation-card { min-height: 12.5rem; }
.recommendation-card h3 { margin-top: .85rem; }
.recommendation-card p { margin: .45rem 0; color: var(--mmf-text-muted); font-size: .8rem; }
.recommendation-card > a { margin-top: auto; font-size: .77rem; font-weight: 750; }
.next-quetzal-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; border-radius: var(--mmf-radius-xl); padding: 1rem 1.15rem; background: linear-gradient(125deg,var(--mmf-primary-light),var(--mmf-accent-light)); }
.next-quetzal-cta div { display: flex; flex-direction: column; }
.dashboard-recommendation-empty { min-height: 8rem; }

.trend-selector { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .75rem; }
.trend-selector .btn { border: 1px solid transparent; background: var(--mmf-bg-secondary); color: var(--mmf-secondary); }
.trend-selector .btn.is-active { border-color: var(--mmf-primary); background: var(--mmf-primary-light); color: var(--mmf-primary); }
.dashboard-trend-canvas { position: relative; height: 18rem; }
.dashboard-trend-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed var(--mmf-border-strong); border-radius: var(--mmf-radius-lg); color: var(--mmf-text-muted); text-align: center; }
.dashboard-trend-empty[hidden] { display: none; }
.dashboard-trend-empty i { color: var(--mmf-primary); font-size: 1.7rem; }
.dashboard-trend-empty span { max-width: 24rem; font-size: .78rem; }
.quick-action-grid { display: grid; gap: .55rem; }
.quick-action { display: grid; grid-template-columns: 2rem 1fr; align-items: center; gap: .6rem; min-height: 3rem; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-md); padding: .55rem .7rem; color: var(--mmf-text); text-decoration: none; }
.quick-action:hover { border-color: var(--mmf-primary); background: var(--mmf-surface-hover); text-decoration: none; }
.quick-action .bi { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .55rem; background: var(--mmf-primary-light); color: var(--mmf-primary); }
.quick-action span { display: flex; min-width: 0; flex-direction: column; }
.quick-action strong { font-size: .8rem; }
.quick-action small { color: var(--mmf-text-muted); font-size: .66rem; }
.quick-action-primary { border-color: color-mix(in srgb,var(--mmf-primary) 35%,var(--mmf-border)); background: var(--mmf-primary-light); }

.dashboard-onboarding { display: grid; grid-template-columns: minmax(15rem,.8fr) minmax(24rem,1.2fr); gap: 1rem; margin-top: 1.25rem; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-xl); padding: 1.25rem; background: linear-gradient(130deg,var(--mmf-surface),var(--mmf-primary-light)); }
.dashboard-onboarding-copy { display: flex; gap: .8rem; }
.dashboard-onboarding h2 { margin: .2rem 0; font-size: 1.15rem; }
.dashboard-onboarding p { margin: 0; color: var(--mmf-text-muted); font-size: .82rem; }
.dashboard-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; counter-reset: onboarding; }
.dashboard-checklist a { display: flex; align-items: center; gap: .5rem; height: 100%; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-md); padding: .65rem; background: var(--mmf-surface); color: var(--mmf-text); font-size: .78rem; font-weight: 750; text-decoration: none; }
.dashboard-checklist .bi { color: var(--mmf-primary); }
.dashboard-additional { margin-top: 2.25rem; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-xl); background: var(--mmf-surface); }
.dashboard-additional > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; cursor: pointer; list-style: none; }
.dashboard-additional > summary::-webkit-details-marker { display: none; }
.dashboard-additional > summary > span { display: grid; grid-template-columns: auto 1fr; column-gap: .65rem; }
.dashboard-additional > summary > span .bi { grid-row: span 2; align-self: center; color: var(--mmf-primary); font-size: 1.2rem; }
.dashboard-additional > summary small { color: var(--mmf-text-muted); }
.dashboard-additional[open] > summary > .bi { transform: rotate(180deg); }
.dashboard-additional-content { border-top: 1px solid var(--mmf-border); padding: 0 1.15rem 1.15rem; }
.dashboard-personalization { width: min(36rem,96vw); }
.personalization-list { display: grid; gap: .55rem; }
.personalization-row { display: grid; grid-template-columns: minmax(10rem,1fr) auto auto; align-items: center; gap: .65rem; border: 1px solid var(--mmf-border); border-radius: var(--mmf-radius-md); padding: .65rem; }
.personalization-row .form-check { margin: 0; }
.personalization-order { display: flex; align-items: center; gap: .4rem; color: var(--mmf-text-muted); font-size: .7rem; }
.personalization-order .form-select { width: 4.5rem; min-height: 2.1rem; padding-block: .2rem; }
.dashboard-performance { margin: 1rem 0 0; color: var(--mmf-text-soft); font-size: .68rem; text-align: right; }

@media (max-width: 1199.98px) {
  .dashboard-filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-filter-actions { justify-content: flex-end; }
  .financial-kpi-primary,.financial-kpi-secondary { grid-column: span 6; }
  .financial-kpi:first-child { grid-column: 1 / -1; }
  .attention-grid { grid-template-columns: 1fr; }
  .dashboard-grid-featured .dashboard-score-summary,.dashboard-grid-featured .dashboard-commitments,.dashboard-grid-tail .dashboard-trend-card,.dashboard-grid-tail .dashboard-quick-actions { grid-column: span 6; }
  .progress-card,.recommendation-card { grid-column: span 6; }
}
@media (max-width: 767.98px) {
  .dashboard-executive.page-shell { padding-top: 1rem; }
  .dashboard-hero { align-items: flex-start; padding-bottom: .75rem; }
  .dashboard-hero .page-title { font-size: 1.75rem; }
  .dashboard-hero-copy { font-size: .84rem; }
  .dashboard-hero-actions { align-items: flex-end; flex-direction: column; }
  .dashboard-hero-actions .btn { width: 2.5rem; overflow: hidden; white-space: nowrap; color: transparent; }
  .dashboard-hero-actions .btn .bi { color: var(--mmf-secondary); }
  .dashboard-data-state { font-size: .68rem; }
  .dashboard-context { align-items: stretch; flex-direction: column; padding: .65rem; }
  .dashboard-context-summary { gap: .35rem .75rem; font-size: .73rem; }
  .dashboard-context-summary span:nth-child(3) { display: none; }
  .dashboard-filter-toggle { width: 100%; }
  .dashboard-filter-form { grid-template-columns: 1fr; }
  .dashboard-filter-actions { justify-content: space-between; }
  .dashboard-custom-dates,.dashboard-custom-dates.show { grid-column: auto; grid-template-columns: 1fr; }
  .dashboard-inline-message { align-items: flex-start; }
  .dashboard-section,.dashboard-grid { margin-top: 1.55rem; }
  .dashboard-section-heading { align-items: flex-start; }
  .dashboard-section-heading h2,.dashboard-card-heading h2 { font-size: 1.08rem; }
  .dashboard-kpi-grid,.dashboard-grid,.progress-card-grid,.recommendation-grid { grid-template-columns: 1fr; }
  .financial-kpi-primary,.financial-kpi-secondary,.financial-kpi:first-child,.dashboard-grid-featured .dashboard-score-summary,.dashboard-grid-featured .dashboard-commitments,.dashboard-grid-tail .dashboard-trend-card,.dashboard-grid-tail .dashboard-quick-actions,.progress-card,.recommendation-card { grid-column: 1; }
  .financial-kpi { min-height: 8.5rem; padding: 1rem; }
  .financial-kpi-value { font-size: 1.5rem; }
  .financial-kpi-top { margin-bottom: .45rem; }
  .dashboard-attention,.dashboard-card { padding: 1rem; }
  .attention-card { padding: .8rem; }
  .score-summary-body { grid-template-columns: 1fr; gap: .5rem; }
  .score-summary-number strong { font-size: 2.7rem; }
  .commitment-list a { grid-template-columns: 2.6rem minmax(0,1fr); }
  .commitment-amount { grid-column: 2; }
  .progress-card,.recommendation-card { min-height: 11.5rem; }
  .next-quetzal-cta { align-items: stretch; flex-direction: column; }
  .dashboard-trend-canvas { height: 15rem; }
  .dashboard-onboarding { grid-template-columns: 1fr; }
  .dashboard-checklist { grid-template-columns: 1fr; }
  .personalization-row { grid-template-columns: minmax(9rem,1fr) auto; }
  .personalization-row > button { grid-column: 1 / -1; }
}
