/* ---------- brand ---------- */
.mm-heading{margin:0;font-family:var(--font-display-a);font-weight:950;font-size:96px;line-height:.77;letter-spacing:-.01em;text-transform:uppercase;padding-top:.08em}
.mm-heading-b{font-family:var(--font-display-b);font-weight:800;font-size:72px}
.mm-center{text-align:center}
.mm-tone-blue{color:var(--heading)}
.mm-tone-dough{color:var(--on-brand)}
.mm-tone-red{color:var(--emphasis)}
.mm-tone-ink{color:var(--ink)}
.mm-tone-muted{color:var(--ink-muted)}
.mm-emphasis{color:var(--emphasis)}
.mm-tone-dough .mm-emphasis{color:var(--on-brand)}
.mm-subheading{margin:0;font-family:var(--font-subhead-a);font-weight:700;font-size:28px;line-height:1;text-transform:uppercase}
.mm-subheading-b{font-family:var(--font-subhead-b);font-size:24px;text-transform:none}
.mm-subheading-c{font-family:var(--font-text);font-size:20px;line-height:1.2;text-transform:none}
.mm-box{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);color:var(--on-brand)}
.mm-box-blue{background:var(--accessible-blue)}
.mm-box-red{background:var(--accessible-red)}
.mm-box-brand-blue{background:var(--brand-blue)}
.mm-box-brand-red{background:var(--brand-red)}
.mm-box-dough{background:var(--surface);color:var(--ink)}
.mm-box-cut-bottom{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--box-chamfer)),calc(100% - var(--box-chamfer)) 100%,var(--box-chamfer) 100%,0 calc(100% - var(--box-chamfer)))}
.mm-box-cut-top{clip-path:polygon(var(--box-chamfer) 0,calc(100% - var(--box-chamfer)) 0,100% var(--box-chamfer),100% 100%,0 100%,0 var(--box-chamfer))}
.mm-box-cut-right{clip-path:polygon(0 0,calc(100% - var(--box-chamfer)) 0,100% var(--box-chamfer),100% calc(100% - var(--box-chamfer)),calc(100% - var(--box-chamfer)) 100%,0 100%)}
.mm-box-cut-left{clip-path:polygon(var(--box-chamfer) 0,100% 0,100% 100%,var(--box-chamfer) 100%,0 calc(100% - var(--box-chamfer)),0 var(--box-chamfer))}
.mm-flag{display:inline-block;align-self:flex-start;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--accessible-red);color:var(--on-brand);font-family:var(--font-subhead-a);font-weight:700;font-size:14px;line-height:1;text-transform:uppercase}
.mm-flag-dough{background:var(--surface);color:var(--dark-red)}
.mm-price{white-space:nowrap}
.mm-price-sign{font-size:.55em;vertical-align:.7em;line-height:0}
.mm-tile{display:block}

/* ---------- shared ---------- */
.mm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mm-icon{flex:none;display:inline-block;vertical-align:-3px}
:where(.mm-btn,.mm-seg-item,.mm-select,.mm-nav-link,.mm-tab,.mm-th-btn,.mm-bar,.mm-svg-focus):focus-visible,:where(.mm-btn,.mm-seg-item,.mm-select,.mm-nav-link,.mm-tab,.mm-th-btn,.mm-svg-focus).is-focus{outline:2px solid var(--focus);outline-offset:2px}
.mm-on-color :focus-visible,.mm-on-color .is-focus{outline-color:var(--on-brand)}
.mm-card{background:var(--surface-raised);border-radius:var(--radius-md);padding:var(--space-4);color:var(--ink);font-family:var(--font-text);box-sizing:border-box;min-width:0}
.mm-text-negative{color:var(--negative)}
.mm-refreshing{opacity:.55;transition:opacity .2s}
.mm-spinner{width:14px;height:14px;border-radius:var(--radius-pill);border:2px solid currentColor;border-right-color:transparent;animation:mm-spin .8s linear infinite;flex:none}
@keyframes mm-spin{to{transform:rotate(360deg)}}
.mm-skel{display:block;border-radius:var(--radius-sm);background:var(--surface-sunken);animation:mm-pulse 1.4s ease-in-out infinite}
@keyframes mm-pulse{50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.mm-skel,.mm-spinner{animation:none}}

/* ---------- buttons ---------- */
.mm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-text);font-weight:700;font-size:15px;line-height:1.35;cursor:pointer;transition:background .12s}
.mm-btn-sm{min-height:32px;padding:0 var(--space-2);font-size:14px}
.mm-btn-primary{background:var(--action);color:var(--on-brand)}
.mm-btn-primary:hover,.mm-btn-primary.is-hover{background:var(--action-hover)}
.mm-btn-primary:active,.mm-btn-primary.is-pressed{background:var(--action-hover);box-shadow:var(--shadow-pressed);transform:translateY(1px)}
.mm-btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--control-border)}
.mm-btn-secondary:hover,.mm-btn-secondary.is-hover{background:var(--surface-raised)}
.mm-btn-secondary:active,.mm-btn-secondary[aria-pressed=true],.mm-btn-secondary.is-pressed{background:var(--surface-sunken);box-shadow:var(--shadow-pressed)}
.mm-btn-ghost{background:transparent;color:var(--link)}
.mm-btn-ghost:hover,.mm-btn-ghost.is-hover{background:var(--surface-sunken)}
.mm-btn-ghost:active,.mm-btn-ghost[aria-pressed=true],.mm-btn-ghost.is-pressed{background:var(--surface-sunken);box-shadow:var(--shadow-pressed)}
.mm-btn:disabled{background:var(--surface-sunken);color:var(--ink-muted);border-color:transparent;box-shadow:none;transform:none;cursor:not-allowed}
.mm-btn[aria-busy=true]{cursor:progress}

/* ---------- segmented, fields ---------- */
.mm-seg{display:inline-flex;align-self:flex-start;width:max-content;padding:2px;gap:2px;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface)}
.mm-seg-item{min-height:34px;padding:0 var(--space-3);border:0;border-radius:4px;background:transparent;color:var(--ink);font-family:var(--font-text);font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}
.mm-seg-item:hover,.mm-seg-item.is-hover{background:var(--surface-sunken)}
.mm-seg-item:active,.mm-seg-item.is-pressed{box-shadow:var(--shadow-pressed)}
.mm-seg-item[aria-checked=true]{background:var(--action);color:var(--on-brand)}
.mm-seg-item[aria-checked=true]:hover,.mm-seg-item[aria-checked=true].is-hover{background:var(--action-hover)}
.mm-seg-item:disabled{color:var(--ink-muted);background:transparent;cursor:not-allowed;opacity:.75}
.mm-seg-item[aria-checked=true]:disabled{background:var(--surface-sunken);color:var(--ink-muted)}
.mm-field{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-text)}
.mm-field-label{font-size:13px;line-height:1.3;color:var(--ink-muted)}
.mm-select-wrap{position:relative;display:flex;align-items:center}
.mm-field-icon{position:absolute;left:10px;color:var(--ink-muted);pointer-events:none}
.mm-select-chevron{position:absolute;right:10px;color:var(--ink);pointer-events:none}
.mm-select{appearance:none;-webkit-appearance:none;width:100%;min-height:40px;min-width:180px;padding:0 36px 0 34px;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-text);font-weight:700;font-size:15px;cursor:pointer;box-sizing:border-box}
.mm-date{padding-right:10px;min-width:170px}
.mm-select:hover,.mm-select.is-hover{background:var(--surface-raised)}
.mm-select:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}
.mm-datefilter{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}
.mm-filterbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}
.mm-filterbar-trailing{margin-left:auto;display:flex;align-items:flex-end;gap:var(--space-2)}

/* ---------- navigation ---------- */
.mm-nav-c{container-type:inline-size;container-name:mmnav}
.mm-nav{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-2) var(--space-5);min-height:64px;background:var(--surface);border-bottom:1px solid var(--line);font-family:var(--font-text)}
.mm-nav-brand{display:flex;align-items:center;gap:var(--space-2)}
.mm-nav-title{padding-left:var(--space-3);border-left:1px solid var(--line);font-family:var(--font-subhead-a);font-weight:700;font-size:22px;line-height:1;text-transform:uppercase;color:var(--heading)}
.mm-nav-list{display:flex;gap:var(--space-1);list-style:none;margin:0;padding:0}
.mm-nav-link{display:flex;align-items:center;min-height:64px;padding:0 var(--space-3);color:var(--ink);font-weight:700;font-size:15px;text-decoration:none;border-bottom:3px solid transparent;box-sizing:border-box}
.mm-nav-link:hover,.mm-nav-link.is-hover{background:var(--surface-raised)}
.mm-nav-link:active,.mm-nav-link.is-pressed{background:var(--surface-sunken)}
.mm-nav-link[aria-current=page]{color:var(--link);border-bottom-color:var(--link)}
.mm-nav-link[aria-disabled=true]{color:var(--ink-muted);cursor:not-allowed;background:none}
.mm-nav-trailing{margin-left:auto}
.mm-tabbar{display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);padding:var(--space-1) 0 var(--space-2);font-family:var(--font-text)}
.mm-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;justify-content:center;color:var(--ink-muted);font-size:13px;font-weight:700;text-decoration:none;border-radius:var(--radius-sm)}
.mm-tab:hover,.mm-tab.is-hover{color:var(--ink);background:var(--surface-raised)}
.mm-tab:active,.mm-tab.is-pressed{background:var(--surface-sunken)}
.mm-tab[aria-current=page]{color:var(--link)}

/* ---------- status ---------- */
.mm-delta{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-text);font-weight:700;font-size:14px;line-height:1.3}
.mm-delta-good{color:var(--positive)}
.mm-delta-bad{color:var(--negative)}
.mm-delta-neutral,.mm-delta-missing{color:var(--ink-muted)}
.mm-delta-missing{font-weight:400}
.mm-delta-vs{font-weight:400;color:var(--ink-muted)}
.mm-tag{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-text);font-weight:700;font-size:13px;line-height:1.4;background:var(--surface-sunken);color:var(--ink)}
.mm-tag-good{color:var(--positive)}
.mm-tag-bad{color:var(--negative)}
.mm-tag-warning,.mm-tag-closed,.mm-tag-neutral,.mm-tag-info{color:var(--ink)}
.mm-fresh{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-family:var(--font-text);font-size:13px;line-height:1.3;color:var(--ink-muted)}
.mm-fresh strong{color:var(--ink);font-weight:700}
.mm-fresh-detail{flex-basis:100%}
.mm-notice{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink);font-family:var(--font-text);font-size:14px;line-height:1.35;border-left:0}
.mm-notice .mm-icon{margin-top:1px}
.mm-notice-body{display:flex;flex-direction:column;gap:2px;flex:1}
.mm-notice-bad .mm-icon,.mm-notice-bad strong{color:var(--negative)}
.mm-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);color:var(--ink-muted);font-family:var(--font-text)}
.mm-state-title{color:var(--ink);font-size:15px}
.mm-state-body{margin:0;font-size:14px;line-height:1.35;max-width:min(36ch,100%);white-space:normal}
.mm-state-error .mm-icon,.mm-state-error .mm-state-title{color:var(--negative)}

/* ---------- KPI ---------- */
.mm-kpi{display:flex;flex-direction:column;gap:var(--space-2);min-height:150px}
.mm-kpi-label{margin:0;font-size:14px;line-height:1.3;font-weight:400;color:var(--ink-muted)}
.mm-kpi-body{display:flex;flex-direction:column;gap:var(--space-2)}
.mm-kpi-value{font-size:32px;line-height:1.1;font-weight:700;color:var(--ink)}
.mm-kpi-hero{font-size:48px;line-height:1.05}
.mm-kpi-none{color:var(--ink-muted)}
.mm-kpi-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}
.mm-kpi-msg{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.3;color:var(--ink-muted)}
.mm-kpi-partial{color:var(--ink)}
.mm-kpi-note{font-size:13px;line-height:1.3;color:var(--ink-muted)}
.mm-spark-line{stroke:var(--chart-ty);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.mm-spark-dot{fill:var(--chart-ty);stroke:var(--surface-raised);stroke-width:2}

/* ---------- table ---------- */
.mm-table-wrap{overflow-x:auto;border-radius:var(--radius-md);background:var(--surface-raised)}
.mm-table{width:100%;border-collapse:collapse;font-family:var(--font-text);font-size:15px;line-height:1.35;color:var(--ink)}
.mm-table thead th{position:sticky;top:0;background:var(--surface-sunken);font-size:13px;font-weight:700;color:var(--ink);text-align:left;padding:0;white-space:nowrap}
.mm-table thead th:not(:has(button)){padding:var(--space-2) var(--space-3)}
.mm-th-btn{display:flex;align-items:center;gap:4px;width:100%;min-height:40px;padding:0 var(--space-3);border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.mm-num .mm-th-btn{justify-content:flex-end}
.mm-th-btn:hover,.mm-th-btn.is-hover{background:var(--surface-raised)}
.mm-th-btn:active,.mm-th-btn.is-pressed{box-shadow:var(--shadow-pressed)}
.mm-th-icon{color:var(--ink-muted)}
.mm-th-active{color:var(--link)}
.mm-th-active .mm-th-icon{color:var(--link)}
.mm-table tbody th,.mm-table td,.mm-table tfoot th{padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);white-space:nowrap;text-align:left;font-weight:400}
.mm-table tbody th{font-weight:700}
.mm-table .mm-num{text-align:right}
.mm-table tbody tr:hover,.mm-table tbody tr.is-hover{background:var(--surface)}
.mm-row-selected{background:var(--surface);box-shadow:inset 3px 0 0 var(--link)}
.mm-cell-good{color:var(--positive);font-weight:700}
.mm-cell-bad{color:var(--negative);font-weight:700}
.mm-cell-missing{color:var(--ink-muted)}
.mm-cell-flag{color:var(--negative);font-weight:700}
.mm-cell-flag .mm-icon{margin-right:4px}
.mm-table tfoot th,.mm-table tfoot td{font-weight:700;border-top:2px solid var(--control-border)}
.mm-table .mm-table-state{padding:0;white-space:normal}
.mm-table-compact{font-size:14px;margin-top:var(--space-3)}

/* ---------- charts ---------- */
.mm-chart{margin:0;display:flex;flex-direction:column;gap:var(--space-3)}
.mm-chart-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3)}
.mm-chart-title{margin:0;font-family:var(--font-text);font-weight:700;font-size:16px;line-height:1.3;color:var(--ink)}
.mm-chart-sub{font-size:13px;color:var(--ink-muted)}
.mm-chart-skel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0}
.mm-chart-foot{display:flex;justify-content:flex-end}
.mm-svg{display:block;width:100%;overflow:visible;font-family:var(--font-text)}
.mm-svg-focus{border-radius:var(--radius-sm)}
.mm-grid{stroke:var(--line);stroke-width:1;shape-rendering:crispEdges}
.mm-axis{fill:var(--ink-muted);font-size:13px}
.mm-bar{cursor:default;outline:none}
.mm-hit{fill:transparent}
.mm-bar:focus-visible .mm-hit,.mm-bar.is-focus .mm-hit{stroke:var(--focus);stroke-width:2}
.mm-bar-rect{fill:var(--chart-ty)}
.mm-bar-on .mm-bar-rect,.mm-bar:hover .mm-bar-rect,.mm-bar.is-hover .mm-bar-rect{fill:var(--dark-blue)}
.mm-bar-on .mm-hit,.mm-bar:hover .mm-hit,.mm-bar.is-hover .mm-hit{fill:var(--surface)}
.mm-bar-label{fill:var(--ink);font-size:14px;font-weight:700}
.mm-bar-value{fill:var(--ink);font-size:13px}
.mm-bar-missing{fill:var(--ink-muted);font-size:13px;font-style:italic}
.mm-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.mm-line-ty{stroke:var(--chart-ty)}
.mm-line-ly{stroke:var(--chart-ly)}
.mm-dot{stroke:var(--surface-raised);stroke-width:2}
.mm-dot-ty{fill:var(--chart-ty)}
.mm-dot-ly{fill:var(--chart-ly)}
.mm-crosshair{stroke:var(--ink-muted);stroke-width:1}
.mm-legend{display:flex;gap:var(--space-3);list-style:none;margin:0 0 0 auto;padding:0;font-size:13px;color:var(--ink-muted)}
.mm-legend li{display:flex;align-items:center;gap:6px}
.mm-key{display:inline-block;width:16px;height:3px;border-radius:2px}
.mm-key-ty{background:var(--chart-ty)}
.mm-key-ly{background:var(--chart-ly)}
.mm-tooltip{position:absolute;z-index:2;display:flex;flex-direction:column;gap:2px;min-width:140px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-popover);font-family:var(--font-text);font-size:13px;line-height:1.35;pointer-events:none}
.mm-tip-x{color:var(--ink-muted)}
.mm-tip-row{display:flex;align-items:center;gap:6px}
.mm-tip-row strong{font-size:15px}
.mm-tip-key{display:inline-block;width:12px;height:3px;border-radius:2px}
.mm-bar-hl .mm-bar-rect{fill:var(--dark-blue)}
.mm-bar-hl .mm-bar-label{text-decoration:underline;text-underline-offset:3px}

/* ---------- company logo ---------- */
.mm-logo{display:inline-flex;align-items:center;background:var(--logo-plate);border-radius:var(--radius-sm);line-height:0;flex:none}
.mm-logo-white{background:var(--white)}
.mm-logo-img{display:block;height:auto;max-width:none;object-fit:contain}
.mm-logo-full .mm-logo-img,.mm-logo-wide{aspect-ratio:3612/1838}
.mm-logo-mark .mm-logo-img,.mm-logo-narrow{aspect-ratio:1/1}
.mm-logo-auto .mm-logo-narrow{display:none}
a.mm-logo:focus-visible,a.mm-logo.is-focus{outline:2px solid var(--focus);outline-offset:2px}
.mm-nav-brand{display:flex;align-items:center;gap:var(--space-3)}
.mm-rot90{transform:rotate(90deg)}
.mm-rot270{transform:rotate(-90deg)}
@container mmnav (max-width: 760px){
  .mm-logo-auto .mm-logo-wide{display:none}
  .mm-logo-auto .mm-logo-narrow{display:block}
  .mm-nav{padding:var(--space-2) var(--space-3);gap:var(--space-3);min-height:56px}
  .mm-nav-main{display:none}
  .mm-nav-title{font-size:20px}
}

/* ---------- period / week ---------- */
.mm-period{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-text);min-width:0}
.mm-period-row{display:flex;align-items:stretch;gap:var(--space-1);flex-wrap:nowrap;min-width:0}
.mm-period-back{align-self:flex-start}
.mm-period-exs{font-weight:700;color:var(--ink)}
.mm-period-step{min-width:40px;padding:0}
.mm-period-trigger{flex:1 1 auto;display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-1) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
.mm-period-trigger:hover,.mm-period-trigger.is-hover{background:var(--surface-raised)}
.mm-period-trigger:active,.mm-period-trigger.is-pressed,.mm-period-trigger.is-open{background:var(--surface-sunken);box-shadow:var(--shadow-pressed)}
.mm-period-trigger:focus-visible,.mm-period-trigger.is-focus{outline:2px solid var(--focus);outline-offset:2px}
.mm-period-trigger:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed;box-shadow:none}
.mm-period-trigger[aria-busy=true]{cursor:progress}
.mm-period-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.mm-period-main{font-size:17px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-period-range{font-size:13px;line-height:1.3;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-period-ex{margin-left:var(--space-1);font-weight:700}
.mm-period-chev{margin-left:auto;color:var(--ink)}
.mm-period-compact .mm-period-row{flex-wrap:nowrap}
.mm-period-compact .mm-period-trigger{flex:1}
.mm-period-compact .mm-period-ex{display:none}

.mm-pp{display:flex;flex-direction:column;gap:var(--space-4);width:min(100%,560px);box-sizing:border-box;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-text);box-shadow:var(--shadow-popover);border:1px solid var(--line)}
.mm-pp-sheet{width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0;padding-top:var(--space-2)}
.mm-pp-grab{align-self:center;width:40px;height:4px;border-radius:var(--radius-pill);background:var(--control-border)}
.mm-pp-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}
.mm-pp-title{font-size:17px;line-height:1.3}
.mm-pp-body{display:flex;flex-direction:column;gap:var(--space-3)}
.mm-pp-group{display:flex;flex-direction:column;gap:var(--space-1)}
.mm-pp-group .mm-seg{flex-wrap:wrap;max-width:100%}
.mm-pp-periods{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1)}
.mm-pp-cell{position:relative;min-height:44px;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.mm-pp-cell:hover,.mm-pp-cell.is-hover{background:var(--surface-raised)}
.mm-pp-cell:active,.mm-pp-cell.is-pressed{box-shadow:var(--shadow-pressed)}
.mm-pp-cell:focus-visible,.mm-pp-cell.is-focus{outline:2px solid var(--focus);outline-offset:2px}
.mm-pp-cell[aria-checked=true]{background:var(--action);border-color:var(--action);color:var(--on-brand)}
.mm-pp-cell[aria-checked=true]:hover{background:var(--action-hover)}
.mm-pp-cell:disabled{background:var(--surface-sunken);border-color:transparent;color:var(--ink-muted);cursor:not-allowed;opacity:.75}
.mm-pp-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:var(--radius-pill);background:currentColor}
.mm-pp-sum{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-raised);font-size:14px;line-height:1.35}
.mm-pp-note{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-muted)}
.mm-pp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.mm-pp-spacer{flex:1}

.mm-cal{display:flex;flex-direction:column;gap:var(--space-2)}
.mm-cal-head{display:flex;align-items:center;justify-content:space-between}
.mm-cal-title{font-size:16px}
.mm-cal-grid{width:100%;border-collapse:separate;border-spacing:0 4px;table-layout:fixed}
.mm-cal-grid th{font-size:13px;font-weight:700;color:var(--ink-muted);padding:0 0 2px;text-align:center}
.mm-cal-grid .mm-cal-wkh,.mm-cal-wk{width:64px;text-align:right}
.mm-cal-wk{font-size:13px;font-weight:700;color:var(--ink-muted);padding-left:var(--space-2);white-space:nowrap}
.mm-cal-td{padding:0;text-align:center}
.mm-cal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:44px;border:2px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:inherit;font-size:15px;font-weight:400;cursor:pointer;box-sizing:border-box}
.mm-cal-num{line-height:1}
.mm-cal-day:hover,.mm-cal-day.is-hover{background:var(--surface-sunken)}
.mm-cal-day:active,.mm-cal-day.is-pressed{box-shadow:var(--shadow-pressed)}
.mm-cal-day:focus-visible,.mm-cal-day.is-focus{outline:2px solid var(--focus);outline-offset:2px;z-index:1}
.mm-cal-out{color:var(--ink-muted)}
.mm-cal-dis{color:var(--ink-muted);cursor:not-allowed;opacity:.5;text-decoration:line-through;text-decoration-thickness:1px}
.mm-cal-dis:hover,.mm-cal-dis.is-hover{background:transparent}
.mm-cal-rowhov .mm-cal-td{background:var(--surface-raised)}
.mm-cal-rowhov .mm-cal-td:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.mm-cal-rowhov .mm-cal-td:nth-child(7){border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.mm-cal-in{background:var(--surface-sunken);box-shadow:inset 0 2px 0 var(--link),inset 0 -2px 0 var(--link)}
.mm-cal-first{border-radius:var(--radius-sm) 0 0 var(--radius-sm);box-shadow:inset 2px 0 0 var(--link),inset 0 2px 0 var(--link),inset 0 -2px 0 var(--link)}
.mm-cal-last{border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:inset -2px 0 0 var(--link),inset 0 2px 0 var(--link),inset 0 -2px 0 var(--link)}
.mm-cal-first.mm-cal-last{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--link)}
.mm-cal-in .mm-cal-day{color:var(--ink);font-weight:700}
.mm-cal-in .mm-cal-day:hover,.mm-cal-in .mm-cal-day.is-hover{background:var(--surface-raised)}
.mm-cal-rowsel .mm-cal-wk span{display:inline-block;padding:3px 6px;border-radius:4px;background:var(--action);color:var(--on-brand)}
.mm-cal-pstart{border-color:var(--period-start);box-shadow:inset 0 0 0 1px var(--period-start)}
.mm-cal-pstart:hover,.mm-cal-pstart.is-hover{background:var(--surface-raised)}
.mm-cal-plabel{font-size:11px;font-weight:700;line-height:1;margin-top:3px;color:var(--ink)}
.mm-cal-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);list-style:none;margin:0;padding:0;font-size:13px;color:var(--ink-muted)}
.mm-cal-legend li{display:flex;align-items:center;gap:6px}
.mm-cal-key{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-size:11px;font-weight:700;box-sizing:border-box}
.mm-cal-key-start{border:2px solid var(--period-start);color:var(--ink)}
.mm-cal-key-sel{background:var(--surface-sunken);box-shadow:inset 0 0 0 2px var(--link)}
.mm-cal-key-dis{color:var(--ink-muted);text-decoration:line-through;opacity:.6}

.mm-pp-wrap{position:relative}
.mm-pop{position:absolute;z-index:20;top:calc(100% + 6px);left:0}
.mm-sheet-layer{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:flex-end}
.mm-sheet-scrim{position:absolute;inset:0;background:rgba(71,43,16,.45)}
.mm-sheet-layer .mm-pp{position:relative;max-height:88vh;overflow:auto}
.mm-pp-sheet .mm-pp-spacer{display:none}
.mm-pp-sheet .mm-pp-foot>.mm-btn{flex:1 1 40%}
.mm-pp-sheet .mm-pp-foot>.mm-btn-ghost{flex-basis:100%}
