/* Mis métricas: escala de Inicio/Anualidades y marco común para resultados y gráficos. */
.mr-canvas { background:var(--pro-page-surface,var(--bg,#f3f4f6)); container-type:inline-size; }
.mr-page {
 --mr-control-ink:var(--pro-control-ink);
 /* Reutiliza gray-1/2/3 del sistema público; respaldos para el shell sin core-index. */
 --mr-segment-track:var(--pro-segment-surface);
 --mr-segment-hover:var(--pro-segment-hover);
 /* Ensayo sin tarjetas interiores: acento azul común y datos sobre blanco.
    Los alias teal/mint conservan sus consumidores durante las pruebas. */
 --mr-blue:var(--brand);
 --mr-teal:var(--mr-blue);
 --mr-mint:var(--mr-blue);
 --mr-tile-muted:var(--pro-content-muted);
 --mr-track:var(--qv-neutral-hover,#e5e7eb);
 --mr-empty-cell:var(--qv-neutral-surface,#f3f4f6);
 --mr-empty-mark:var(--qv-neutral-hover,#e5e7eb);
 --mr-unobserved:var(--qv-chart-fill,#b7c1ce);
 max-width:1320px; width:100%; margin:0 auto; padding:30px 32px 56px; color:var(--ink,#172033); font-size:14px;
}
.mr-page *, .mr-dialog * { box-sizing:border-box; }
.mr-page h1,.mr-page h2,.mr-page h3,.mr-page p,.mr-dialog h2,.mr-dialog h3,.mr-dialog p { margin:0; }
.mr-page h1 { font-size:26px; letter-spacing:-.03em; font-weight:700; line-height:1.2; }
.mr-page h2,.mr-dialog h2 { font-size:16px; font-weight:600; letter-spacing:0; line-height:1.4; }
.mr-page h3,.mr-dialog h3 { font-size:14px; font-weight:600; line-height:20px; }
.mr-muted { color:var(--mut); font-size:12px; font-weight:400; line-height:18px; }
.mr-header,.mr-toolbar,.mr-between,.mr-actions,.mr-section-head,.mr-card-head,.mr-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.mr-header { margin-bottom:24px; }.mr-header > div:first-child { display:grid; gap:4px; min-width:0; }.mr-header .mr-muted { margin:0; }
.mr-actions { flex-shrink:0; gap:10px; }
.mr-button,.mr-link,.mr-seg { font:inherit; cursor:pointer; background:transparent; border:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.mr-button { border:1px solid var(--line,#dfe7f1); background:#fff; color:var(--mr-control-ink,#52637b); border-radius:999px; min-height:36px; padding:7px 14px; font-size:13px; font-weight:500; line-height:1.5; }
.mr-primary { background:var(--brand,#0d99ff); border-color:var(--brand,#0d99ff); color:#fff; }
.mr-button:disabled { opacity:.5; cursor:default; }.mr-button:not(:disabled):hover { background:var(--bg); }.mr-primary:not(:disabled):hover { background:var(--brand,#0d99ff); }
.mr-icon { display:inline-flex; }.mr-icon svg { width:16px; height:16px; stroke-width:2; }
.mr-link { color:var(--brand); font-size:13px; font-weight:500; line-height:1.5; min-height:36px; padding:7px 0; white-space:nowrap; }.mr-link:hover { text-decoration:none; }
.mr-page button:focus-visible,.mr-dialog button:focus-visible,.mr-dialog input:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.mr-toolbar { margin-bottom:20px; flex-wrap:wrap; }
.mr-segments { display:inline-flex; align-items:center; padding:3px; gap:2px; background:var(--mr-segment-track); border:1px solid transparent; border-radius:999px; }
.mr-toolbar > .mr-segments { max-width:100%; overflow-x:auto; }
.mr-seg { font-size:13px; font-weight:500; line-height:1.5; color:var(--mr-control-ink); padding:4px 12px; border-radius:999px; min-height:30px; white-space:nowrap; }
.mr-seg[aria-pressed="true"] { background:var(--card,#fff); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line,#e3e9f0); }
.mr-seg:not([aria-pressed="true"]):hover { background:var(--mr-segment-hover); color:var(--ink); }
.mr-month-nav { display:flex; align-items:center; justify-content:center; gap:8px; font:inherit; color:inherit; max-width:100%; }
.mr-month-nav > span { min-width:0; text-align:center; }
.mr-month-nav > button { flex-shrink:0; }
.mr-month-nav .mr-button { width:32px; min-height:32px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--mr-control-ink,#52637b); }
.mr-month-nav .mr-button:not(:disabled):hover { background:transparent; color:var(--ink); }
.mr-month-nav .mr-button:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.mr-month-nav .mr-button:focus:not(:focus-visible) { outline:none; box-shadow:none; }
.mr-month-prev .mr-icon svg { transform:rotate(180deg); }
.mr-refresh-error { display:block; margin-top:4px; }
/* Ensayo de cabecera: una fila amplia, controles agrupados en la siguiente al estrechar. */
#asApp .mr-page .mr-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px 24px; margin-bottom:20px; }
.mr-header > div:first-child { grid-column:1 / -1; grid-row:1; }
.mr-header > .mr-toolbar { grid-column:1; grid-row:2; min-width:0; margin:0; }
.mr-header > .mr-actions { grid-column:2; grid-row:2; margin:0; justify-self:end; }
@container (min-width:1180px) {
 #asApp .mr-page .mr-header { grid-template-columns:minmax(0,1fr) auto auto; }
 .mr-header > div:first-child { grid-column:1; }
 .mr-header > .mr-toolbar { grid-column:2; grid-row:1; flex-wrap:nowrap; gap:24px; }
 .mr-header > .mr-actions { grid-column:3; grid-row:1; }
}
@container (max-width:700px) {
 #asApp .mr-page .mr-header { grid-template-columns:minmax(0,1fr); }
 .mr-header > .mr-toolbar { grid-column:1; grid-row:2; }
 .mr-header > .mr-actions { grid-column:1; grid-row:3; }
}
.mr-preview { margin-bottom:20px!important; font-size:12px; line-height:18px; color:var(--mut); }
.mr-overview { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); align-items:stretch; gap:20px; }
.mr-result-stack { display:flex; flex-direction:column; min-width:0; }
.mr-result-stack > .mr-card { padding:0; border:0; border-radius:0; background:transparent; }
.mr-card { --mr-series-color:var(--mr-blue); border:1px solid var(--line,#dfe7f1); border-radius:var(--pro-card-radius); padding:20px; background:var(--card); min-width:0; }
.mr-card.mr-tone-teal { --mr-series-color:var(--mr-teal); --mr-progress-color:var(--mr-teal); }
.mr-card.mr-tone-mint { --mr-series-color:var(--mr-mint); --mr-progress-color:var(--mr-mint); }
.mr-card-head { align-items:flex-start; margin-bottom:16px; }.mr-card-head > div:first-child { min-width:0; flex:1; }.mr-card-head:has(.mx-info-btn) { flex-wrap:nowrap; }.mr-card-head p { margin-top:4px; }.mr-card-head button { flex-shrink:0; }
.mr-card-title { display:flex; align-items:center; gap:8px; }.mr-card-title > .mr-icon { display:flex; align-items:center; justify-content:center; width:var(--pro-card-icon-size); height:var(--pro-card-icon-size); border-radius:50%; background-color:var(--mr-series-color); color:#fff; flex-shrink:0; }.mr-card-title > .mr-icon svg { width:18px; height:18px; }
.mr-card-head .mr-card-title + p { margin-left:40px; }
.mr-card-head > .mx-info-btn { margin-top:6px; }
.mr-results-card .mr-card-head,.mr-goals-card .mr-card-head { align-items:center; flex-wrap:nowrap; gap:12px; }
.mr-results-card .mr-card-head > div:first-child { display:flex; align-items:center; gap:8px; }
.mr-card-head > .mr-link:hover { text-decoration:none; }
.mr-evolution-card { flex:1; display:flex; flex-direction:column; margin-top:20px; padding-top:20px!important; border-top:1px solid var(--line)!important; }
.mr-evolution-card .mr-card-head { align-items:center; gap:12px; margin-bottom:8px; }
.mr-evolution-card h3 { font-size:13px; line-height:1.5; }
/* Selectores dentro de tarjetas: una densidad compacta y área táctil independiente. */
:is(.mr-evolution-card,.mr-plans-card) { --mr-segment-hover:var(--pro-control-hover); }
:is(.mr-evolution-card,.mr-plans-card) .mr-segments { position:relative; isolation:isolate; padding:2px; gap:0; border:0; background:transparent; flex-shrink:0; }
:is(.mr-evolution-card,.mr-plans-card) .mr-segments::before { content:""; position:absolute; z-index:-1; inset:50% 0 auto; height:28px; transform:translateY(-50%); border-radius:999px; background:var(--pro-segment-compact); }
:is(.mr-evolution-card,.mr-plans-card) .mr-seg { position:relative; isolation:isolate; min-height:24px; padding:2px 8px; }
:is(.mr-evolution-card,.mr-plans-card) .mr-seg[aria-pressed="true"] { background:transparent; box-shadow:none; }
:is(.mr-evolution-card,.mr-plans-card) .mr-seg[aria-pressed="true"]::before { content:""; position:absolute; z-index:-1; inset:50% 0 auto; height:24px; transform:translateY(-50%); border-radius:999px; background:var(--card,#fff); box-shadow:inset 0 0 0 1px var(--line,#e3e9f0); }
:is(.mr-evolution-card,.mr-plans-card) .mr-seg:not([aria-pressed="true"]):hover { background:transparent; }
:is(.mr-evolution-card,.mr-plans-card) .mr-seg:not([aria-pressed="true"]):hover::before { content:""; position:absolute; z-index:-1; inset:50% 0 auto; height:24px; transform:translateY(-50%); border-radius:999px; background:var(--mr-segment-hover); }

.mr-chart-title { appearance:none;display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:36px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer; }
.mr-chart-title > span:first-child { min-width:0; }
.mr-chart-title > .mr-icon { flex:none;color:var(--mut); }
.mr-chart-title:hover, .mr-chart-title:hover > .mr-icon { color:var(--brand); }
.mr-evolution-card .mr-empty { flex:1; min-height:64px; padding:12px 16px; text-align:center; }
.mr-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.mr-result { --mut:var(--mr-tile-muted); position:relative; border:0; border-radius:0; background:transparent; color:inherit; cursor:pointer; text-align:left; padding:0 20px 14px 0; font:inherit; min-width:0; display:flex; flex-direction:column; gap:4px; }
.mr-result + .mr-result { border-left:1px solid var(--line); padding-left:20px; }
.mr-result:last-child { padding-right:0; }
.mr-result:hover > .mr-muted:first-child,.mr-mini-stat:not(.is-rejected):hover .mr-muted { color:var(--brand); }
.mr-number { font-size:28px; font-weight:600; letter-spacing:-.04em; line-height:1.25; font-variant-numeric:tabular-nums; white-space:nowrap; max-width:100%; }
.mr-delta { display:flex; align-items:flex-start; gap:4px; font-size:12px; color:var(--mut); line-height:18px; }.mr-delta > .mr-icon { flex-shrink:0; margin-top:1px; }
.mr-delta > span:not(.mr-icon) { min-width:0; white-space:nowrap; }
.mr-result-foot { padding-top:4px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mr-footnote { color:var(--mut); font-size:12px; line-height:18px; margin-top:12px!important; }
.mr-comparison { margin-top:0!important; color:var(--qv-content-muted,#64748b); }
.mr-eyebrow { font-size:12px; line-height:18px; color:var(--mut); margin-bottom:16px; }
.mr-goals-card { display:flex; flex-direction:column; }.mr-goal { margin:20px 0; }.mr-goal .mr-between { font-size:12px; line-height:18px; }.mr-goal strong { font-weight:600; }.mr-goal p { margin-top:4px; font-size:12px; }
.mr-goals-action { color:var(--brand); border-color:var(--brand); background:transparent; white-space:normal; text-align:center; }
.mr-goals-action:not(:disabled):hover { background:var(--brand-50); }
.mr-goals-card--setup { background:var(--brand-50); }
.mr-home-goals-preference { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;font-weight:500;line-height:20px;color:var(--mr-control-ink,#52637b); }
.mr-home-goals-switch.ntf-switch { height:44px;background:transparent;padding:0; }
.mr-home-goals-switch::before { content:"";position:absolute;inset:50% 0 auto;height:26px;transform:translateY(-50%);border-radius:999px;background:#cbd5e1; }
.mr-home-goals-switch.is-on::before { background:var(--brand); }
.mr-home-goals-switch .ntf-switch-dot { top:50%;margin-top:-10px; }
.mr-goals-intro { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px 0; text-align:center; }
.mr-goals-intro h2 { font-size:16px; font-weight:600; line-height:1.4; }
.mr-goals-intro > p { max-width:260px; }
.mr-goals-intro > .mr-button { margin-top:4px; }
.mr-goal-prompt,.mr-goal--pending { background:transparent; border-radius:0; padding:12px 0; }
.mr-goal-prompt { display:flex; flex-direction:column; align-items:flex-start; gap:8px; grid-column:1 / -1; }
.mr-goal-prompt h3 { font-size:13px; line-height:1.5; }
.mr-goal--pending > p { margin-top:8px; }
.mr-goal--pending > .mr-button { margin-top:12px; }
.mr-month-goals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; padding-bottom:16px; }
.mr-month-goals > .mr-goal { margin:0; }
.mr-goals-card .mr-goal { --mut:var(--mr-tile-muted); border-radius:0; padding:0; background:transparent; }
.mr-goals-card .mr-goal .mr-between { flex-wrap:wrap; gap:4px 8px; }
.mr-goals-card .mr-goal strong { white-space:nowrap; max-width:100%; min-width:0; }
.mr-goals-period { margin:0 0 16px; }
.mr-week .mr-goal { margin:12px 0 0; }
.mr-goal-target { font-size:12px; font-weight:400; color:var(--pro-control-ink,var(--mut)); }.mr-week .mr-goal-value { font-size:22px; line-height:1.25; font-variant-numeric:tabular-nums; }
.mr-goals-card > .mr-goal .mr-goal-value { font-size:22px; line-height:1.25; font-variant-numeric:tabular-nums; }
.mr-goals-card .mr-goal-remaining { margin-top:8px; font-size:12px; font-weight:400; line-height:18px; color:var(--mut); }
.mr-goal--arc > .mr-between { justify-content:center; }
.mr-goal-gauge { position:relative; width:min(100%,160px); margin:8px auto 0; }
.mr-goal-gauge > svg { display:block; width:100%; height:auto; overflow:visible; }
.mr-goal-gauge path { fill:none; stroke-width:10; stroke-linecap:round; }
.mr-goal-arc-track { stroke:var(--mr-track); }
.mr-goal-arc-fill { stroke:var(--brand); }
.mr-goal-gauge > strong { position:absolute; inset:auto 14% 4px; display:flex; flex-direction:column; align-items:center; line-height:18px; }
.mr-goal-gauge .mr-goal-value { font-size:28px; line-height:35px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.mr-goal--arc > p { text-align:center; }
.mr-goal-segments { display:flex; gap:4px; height:10px; margin-top:12px; }
.mr-goal-segments > span { flex:1; min-width:0; overflow:hidden; background:var(--mr-track); border-radius:3px; }
.mr-goal-segments > span > span { display:block; height:100%; background:var(--brand); }
.mr-page progress.mr-goal-progress { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.mr-page progress { appearance:none; width:100%; height:6px; border:0; display:block; border-radius:8px; overflow:hidden; margin-top:9px; background:var(--mr-track); }
.mr-page progress::-webkit-progress-bar { background:var(--mr-track); border-radius:8px; }.mr-page progress::-webkit-progress-value { background:var(--mr-progress-color,var(--mr-blue)); border-radius:8px; }.mr-page progress::-moz-progress-bar { background:var(--mr-progress-color,var(--mr-blue)); border-radius:8px; }
.mr-goals-card [data-metric="uf"] { --mr-progress-color:var(--mr-teal); }
.mr-goals-card [data-metric="contracts"] { --mr-progress-color:var(--mr-blue); }
.mr-goals-card [data-metric="quotes"] { --mr-progress-color:var(--mr-mint); }
.mr-week { border-top:1px solid var(--line,#dfe7f1); padding:16px 0; margin-top:24px; }.mr-week h3 { font-size:13px; line-height:1.4; }.mr-week .mr-between { gap:8px; }.mr-week-title { display:flex; align-items:center; gap:6px; }.mr-week .mr-between > .mr-muted { font-size:12px; }
.mr-week .mr-goal { margin-top:20px; }
.mr-week .mr-goal-remaining { margin-top:12px; }
.mr-bars { display:flex; height:136px; align-items:stretch; gap:6px; padding:24px 12px 28px; border-bottom:1px solid var(--line,#dfe7f1); overflow:visible; }
.mr-bar-column { position:relative; flex:1; min-width:0; border:0; padding:0; background:transparent; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; cursor:pointer; color:var(--mr-control-ink,#52637b); }
.mr-bar { background:var(--mr-blue); display:block; border-radius:4px 4px 0 0; width:min(100%,32px); min-height:1px; }.mr-bar-column:hover .mr-bar { background:var(--mr-blue); }
.mr-bar-column .mr-bar.is-zero { background:var(--mr-track); }
.mr-bar.is-current-month { position:relative; overflow:hidden; }
.mr-bar.is-current-month::after,.mr-chart-key-swatch::after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(135deg,transparent 0 5px,#ffffff59 5px 8px); }
.mr-chart-key { display:flex; align-items:center; gap:6px; color:var(--mut); font-size:12px; line-height:18px; margin-bottom:4px; }
.mr-chart-key-swatch { position:relative; width:12px; height:12px; flex:none; overflow:hidden; border-radius:3px; background:var(--mr-blue); }
.mr-bar-label { position:absolute; bottom:-25px; left:50%; transform:translateX(-50%); white-space:nowrap; font-size:12px; line-height:18px; color:var(--mut); }.mr-bar-value { position:absolute; bottom:calc(var(--mr-bar-height) + 4px); width:100%; text-align:center; font-size:12px; font-weight:500; line-height:18px; }
.mr-communication { margin-top:32px; }.mr-section-head { margin-bottom:16px; }.mr-section-head h2 { font-size:18px; }.mr-section-head p { margin-top:4px; }
/* WhatsApp usa su verde de marca luminoso, sólo en sus datos.
   Títulos, acciones, planes y series de ventas conservan el azul profesional. */
.mr-communication[data-channel="whatsapp"] { --mr-channel-color:#25d366; }
.mr-communication :is(.mr-heatmap,.mr-heat-legend,.mr-hours,.mr-timing-list,.mr-timing-distribution) {
 --mr-series-color:var(--mr-channel-color,var(--mr-blue));
 --mr-progress-color:var(--mr-channel-color,var(--mr-blue));
}
.mr-communication-summary { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.mr-communication-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:20px; }
.mr-summary-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; border-top:1px solid var(--line); }.mr-summary-footer .mr-footnote { margin-top:0!important; }
.mr-mini-stat { --mut:var(--mr-tile-muted); border:0; border-radius:0; background:transparent; text-align:left; color:inherit; padding:4px 20px; cursor:pointer; font:inherit; min-width:0; display:flex; align-items:center; gap:12px; }
.mr-mini-stat:first-child { padding-left:0; }
.mr-mini-stat + .mr-mini-stat { border-left:1px solid var(--line); }
.mr-mini-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.mr-mini-label { display:flex; align-items:center; gap:8px; }
.mr-mini-label > .mr-icon { flex:none; }
.mr-mini-stat strong { font-size:22px; font-weight:600; line-height:1.25; font-variant-numeric:tabular-nums; }
.mr-mini-stat strong { margin-top:auto; }
.mr-mini-stat.is-rejected :is(.mr-muted,strong) { color:var(--err); }
.mr-analysis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; align-items:stretch; }
.mr-communication-empty { margin-top:20px; }
.mr-analysis-grid > .mr-card { display:flex; flex-direction:column; }
.mr-analysis-grid > .mr-communication-empty { margin-top:0; }
.mr-heatmap { display:grid; grid-template-columns:32px repeat(24,minmax(0,1fr)); grid-template-rows:22px repeat(7,minmax(18px,1fr)); gap:4px; min-width:560px; min-height:220px; flex:1; }
.mr-heat-scroll { overflow-x:auto; padding:6px; margin:-6px; display:flex; flex:1; min-width:0; }.mr-hour,.mr-day { font-size:12px; line-height:18px; color:var(--mut); align-self:center; }.mr-hour { text-align:center; padding-bottom:5px; }.mr-day { padding-right:3px; }
.mr-cell { min-height:18px; border:0; border-radius:3px; background:var(--mr-empty-cell); padding:0; }.mr-cell:is(button) { cursor:pointer; }.mr-cell:is(button):hover { outline:2px solid var(--brand); outline-offset:1px; }
.mr-cell.has-data,.mr-heat-swatch { background:color-mix(in srgb,var(--mr-series-color) var(--mr-intensity),#fff); }
.mr-card-footer { margin-top:auto; padding-top:16px; }.mr-card-footer .mr-footnote { margin-top:0!important; }.mr-card-footer .mr-heat-foot + .mr-footnote { margin-top:8px!important; }
.mr-heat-foot { flex-wrap:wrap; gap:8px; }.mr-heat-foot span { font-size:12px; }.mr-heat-legend { display:flex; align-items:center; gap:4px; white-space:nowrap; }.mr-heat-swatch { width:10px; height:10px; border-radius:2px; }
.mr-speed { --mut:var(--mr-tile-muted); display:flex; flex-direction:column; gap:4px; margin:0 0 12px; padding:0; }.mr-speed strong { font-size:22px; font-weight:600; line-height:1.25; letter-spacing:-.03em; }
.mr-speed span { font-size:12px; }
.mr-timing-distribution { display:flex; height:12px; flex-shrink:0; overflow:hidden; border-radius:6px; background:var(--mr-track); margin-bottom:12px; }
.mr-timing-distribution > span { flex-basis:0; min-width:0; }.mr-timing-distribution > span + span { border-left:2px solid var(--card); }
.mr-timing-fast { background:var(--mr-progress-color,var(--mr-blue)); }.mr-timing-day { background:color-mix(in srgb,var(--mr-progress-color,var(--mr-blue)) 65%,#fff); }.mr-timing-later { background:color-mix(in srgb,var(--mr-progress-color,var(--mr-blue)) 35%,#fff); }
.mr-timing-unknown { background:var(--mr-track); }.mr-timing-unobserved { background:var(--mr-unobserved); }
.mr-timing-list { display:grid; }.mr-timing-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; font-size:12px; line-height:18px; }.mr-timing-row + .mr-timing-row { border-top:1px solid var(--line); }.mr-timing-row strong { font-weight:600; font-variant-numeric:tabular-nums; }
.mr-timing-label { display:flex; align-items:center; gap:10px; }.mr-timing-swatch { flex:none; width:8px; height:8px; border-radius:50%; }
.mr-hours-total { display:flex; align-items:center; gap:12px; margin:0 0 12px; }.mr-hours-total > strong { font-size:22px; font-weight:600; line-height:1.25; font-variant-numeric:tabular-nums; }
.mr-hours-card .mr-chart-scroll { display:flex; align-items:center; flex:1; }
.mr-hours { position:relative; display:flex; align-items:stretch; height:148px; min-width:530px; flex:1; gap:5px; padding:26px 8px 24px; }
.mr-hours::before { content:""; position:absolute; inset:26px 8px auto; border-top:1px dashed var(--line); pointer-events:none; }
.mr-hour-bar { flex:1; min-width:0; display:flex; align-items:center; justify-content:flex-end; flex-direction:column; position:relative; padding:0; border:0; background:none; cursor:pointer; }.mr-hour-bar:disabled { cursor:default; }
.mr-hour-fill { width:min(100%,16px); min-height:2px; border-radius:4px 4px 0 0; background:var(--mr-series-color); }.mr-hour-bar:disabled .mr-hour-fill { background:var(--mr-empty-mark); }
.mr-hour-count { position:absolute; bottom:calc(var(--mr-hour-height) + 6px); font-size:12px; font-weight:500; line-height:18px; font-variant-numeric:tabular-nums; }
.mr-hour-bar small { position:absolute; bottom:-22px; left:50%; transform:translateX(-50%); color:var(--mut); font-size:12px; line-height:18px; white-space:nowrap; }
.mr-hour-breakdown { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:8px; margin-top:8px; border-top:1px solid var(--line); font-size:12px; line-height:18px; }.mr-hour-breakdown > span { display:flex; gap:12px; }.mr-hour-breakdown strong { font-weight:600; }
.mr-plans-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin-bottom:12px; }
.mr-plans-toolbar.has-summary { padding-bottom:12px; margin-bottom:4px; border-bottom:1px solid var(--line); }
.mr-plans-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-width:0; }
.mr-plans-summary { display:flex; align-items:center; flex-shrink:0; gap:16px; margin-left:auto; }.mr-plans-summary > div { display:flex; align-items:baseline; gap:4px; }.mr-plans-summary > div + div { border-left:1px solid var(--line); padding-left:16px; }.mr-plans-summary .mr-muted { white-space:nowrap; }.mr-plans-summary strong { font-size:22px; font-weight:600; line-height:1.25; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
/* Sólo las filas desplazan; su foco y hover conservan aire dentro de la tarjeta. */
.mr-plan-list { flex:0 1 auto; min-height:0; max-height:160px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-gutter:stable; padding:5px; }
.mr-plan-row { --mut:var(--mr-tile-muted); display:grid; grid-template-columns:minmax(0,1fr) 16px; align-items:start; column-gap:12px; width:100%; min-height:48px; margin-top:0; padding:8px 12px; color:inherit; border:0; border-radius:8px; background:transparent; font:inherit; font-size:13px; font-weight:500; line-height:20px; text-align:left; cursor:pointer; }
.mr-plan-row + .mr-plan-row { position:relative; margin-top:8px; }
.mr-plan-row + .mr-plan-row::before { content:""; position:absolute; top:-4px; left:12px; right:12px; border-top:1px solid var(--line); pointer-events:none; }
.mr-plan-data { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:start; gap:8px; min-width:0; }.mr-plan-rank { color:var(--mut); font-size:12px; font-weight:500; line-height:20px; }
.mr-plan-row > .mr-icon { margin-top:2px; color:var(--mut); }
.mr-plan-name { min-width:0; overflow-wrap:anywhere; }
.mr-plan-row strong { flex-shrink:0; font-size:12px; font-weight:400; line-height:18px; color:var(--mut); font-variant-numeric:tabular-nums; }
.mr-plan-row progress { grid-column:1/-1; height:4px; margin-top:8px; }
.mr-plan-list--single .mr-plan-data { display:flex; flex-direction:column; gap:4px; }
.mr-plan-row:focus-visible { background:var(--pro-row-hover); }
.mr-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:136px; padding:24px 16px; text-align:center; color:var(--mut); line-height:1.5; font-size:14px; }.mr-empty .mr-icon svg { width:24px; height:24px; }.mr-empty p { max-width:420px; }.mr-analysis-grid .mr-empty { flex:1; }.mr-source-error { border-radius:12px; background:var(--bg); padding:20px; display:grid; gap:7px; justify-items:start; color:var(--mr-control-ink,#52637b); }.mr-source-error strong { font-size:14px; font-weight:600; line-height:20px; }
.mr-back { position:fixed; inset:0; z-index:420; background:rgba(255,255,255,.78); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:24px; }
.mr-dialog { width:min(620px,100%); max-height:85vh; overflow:auto; background:#fff; border:1px solid #e1e8f0; border-radius:20px; padding:24px; box-shadow:0 24px 80px #21304722; color:var(--ink); font:14px/1.5 Inter,sans-serif; }
.mr-dialog-head { margin-bottom:10px; }.mr-dialog-body { margin-top:20px; }.mr-record { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:15px 0; border-top:1px solid var(--line); }.mr-record strong { font-size:14px; font-weight:600; line-height:20px; }.mr-record p { margin:3px 0 0; }.mr-record > div { min-width:0; overflow-wrap:anywhere; }.mr-record > .mr-link { flex-shrink:0; }
.mr-goal-section + .mr-goal-section { border-top:1px solid var(--line); margin-top:24px; padding-top:24px; }.mr-field { display:grid; gap:6px; margin:14px 0; color:var(--mr-control-ink,#52637b); font-size:13px; }.mr-field input { border:1px solid var(--line); border-radius:12px; min-height:36px; padding:7px 12px; font:inherit; line-height:20px; color:var(--ink); width:100%; }.mr-goal-actions { display:flex; justify-content:flex-end; margin-top:20px; }
.mr-dialog--goals { width:min(420px,100%); border-radius:16px; }
.mr-dialog .mr-goals-description { margin:0 0 20px; }
.mr-dialog--goals .mr-goal-section h3 { font-size:13px; line-height:20px; }
.mr-goal-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mr-goal-section-head:has(.mr-goal-period) { flex-wrap:wrap; row-gap:0; }
.mr-goal-heading--period { flex:1; display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:min(220px,100%); }
.mr-goal-period { white-space:nowrap; }
.mr-goal-section-head > .mr-goal-remove { margin-left:auto; }
.mr-dialog--goals .mr-field { grid-template-columns:minmax(0,1fr) 96px; align-items:center; gap:16px; margin:12px 0; }
.mr-dialog--goals .mr-field input { text-align:right; font-variant-numeric:tabular-nums; font-size:14px; }
.mr-field input:disabled { background:var(--bg); color:var(--mut); }
.mr-field input[aria-invalid="true"] { border-color:var(--brand); }
.mr-goal-remove[hidden] { display:none; }
.mr-goal-remove:disabled { opacity:.5; cursor:default; }
.mr-goal-removal-note:empty { display:none; }
.mr-dialog--goals .mr-goal-actions { gap:8px; margin-top:24px; }
@media (max-width:520px),(pointer:coarse) {
 .mr-dialog--goals .mr-field { grid-template-columns:minmax(0,1fr) 88px; gap:12px; }
 .mr-dialog--goals .mr-field input { font-size:16px; min-height:44px; }
 .mr-dialog--goals .mr-goal-remove { min-height:44px; }
}
@container (max-width:1240px) { .mr-analysis-grid { grid-template-columns:1fr; } }
@container (min-width:1241px) { .mr-heatmap { min-width:0; } }
@container (max-width:1050px) { .mr-overview { grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:20px; }.mr-page { padding:24px; }.mr-card { padding:20px; }.mr-header { align-items:flex-start; } }
@container (max-width:820px) { .mr-overview,.mr-analysis-grid { grid-template-columns:1fr; }.mr-header,.mr-section-head { flex-wrap:wrap; }.mr-actions { margin-left:auto; }.mr-communication-stats { grid-template-columns:repeat(2,1fr);row-gap:20px; }.mr-mini-stat:nth-child(3) { border-left:0; padding-left:0; }.mr-page { padding:22px 18px; } }
@container (max-width:820px) {
 .mr-month-goals { padding-bottom:8px; }
 .mr-goal-gauge { width:min(100%,116px); }
 .mr-goal-gauge > strong { bottom:0; }
 .mr-week { margin-top:8px; padding:12px 0 0; }
 .mr-week .mr-goal { margin-top:12px; }
}
@container (max-width:440px) { .mr-page { padding:20px 12px; }.mr-header h1 { font-size:24px; }.mr-actions { margin-left:0; }.mr-card { padding:16px; }.mr-month-nav { width:100%; justify-content:space-between; }.mr-card-head { flex-wrap:wrap; }.mr-evolution-card .mr-card-head { align-items:flex-start; }.mr-result-foot,.mr-summary-footer { flex-wrap:wrap; }.mr-summary-footer { padding:12px 16px; }.mr-result { padding-right:12px; }.mr-result + .mr-result { padding-left:12px; }.mr-communication-stats { padding:16px; }.mr-mini-stat { padding:4px 12px; gap:8px; } }
@container (max-width:520px) { .mr-plan-data { grid-template-columns:20px minmax(0,1fr); }.mr-plan-data > strong { grid-column:2; } }
@container (max-width:520px) { .mr-plans-summary { margin-left:0; } }

/* Bordes exteriores comunes. Resultados usa subgrid; Metas reparte sus arcos
   y la semana con flex para conservar el alto sin estirar el gráfico vecino. */
@supports (grid-template-rows:subgrid) {
 @container (min-width:821px) {
  .mr-overview { grid-template-rows:auto auto; }
  .mr-overview > .mr-card { grid-row:1 / span 2; }
  .mr-result-stack { grid-column:1; display:grid; grid-template-rows:subgrid; }
  .mr-goals-card { grid-column:2; }
  .mr-results-card { display:flex; flex-direction:column; }
  .mr-results-card .mr-result-foot { margin-top:auto; }
  .mr-evolution-card { margin-top:0; }
  .mr-week { display:flex; flex-direction:column; }
  .mr-week > .mr-between { min-height:24px; }
  .mr-week > .mr-footnote { margin-top:auto!important; }
 }
}

@container (max-width:520px) {
 .mr-plan-data { flex-wrap:wrap; gap:4px 12px; }
 .mr-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mr-result:nth-child(2) { padding-right:0; }
 .mr-result:nth-child(3) { grid-column:1 / -1; border-left:0; border-top:1px solid var(--line); padding:12px 0 0; }
 .mr-result-foot { margin-top:12px; }
}

/* El antiguo riel queda cerrado sin que su borde ensanche el grid un píxel. */
.app:has(> .mr-canvas):not(.has-insights) > .insights { border-left:0; }
.mr-chart-scroll { overflow-x:auto; padding:2px; }
.mr-page progress.is-unobserved::-webkit-progress-value { background:var(--mr-unobserved); }
.mr-page progress.is-unobserved::-moz-progress-bar { background:var(--mr-unobserved); }

.mr-dialog .mr-muted { font-size:14px; line-height:1.5; }
.mr-record .mr-muted,.mr-goal-form .mr-muted { font-size:12px; line-height:18px; }
.mr-dialog-head h2 { min-width:0; overflow-wrap:anywhere; }
@container (max-width:520px) {
 .mr-header h1 { font-size:24px; }
 .mr-page :is(.mr-button,.mr-link,.mr-seg,.mr-chart-title) { min-height:44px; }
 .mr-month-nav .mr-button { width:44px; }
}
@media (max-width:520px), (pointer:coarse) {
 .mr-page :is(.mr-button,.mr-link,.mr-seg,.mr-chart-title),.mr-dialog :is(.mr-button,.mr-link) { min-height:44px; }
 .mr-month-nav .mr-button { width:44px; min-height:44px; }
 .mr-field input { font-size:16px; min-height:44px; }
}
