:root{--mm-green: #1f7a4d;--mm-green-600: #196340;--mm-green-50: #eaf5ef;--brand-accent: var(--mm-green);--series-1: #1f7a4d;--series-2: #2a78d6;--series-3: #eb6834;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #fafbfc;--line: #e3e6ea;--line-strong: #cfd4da;--ink: #12161c;--ink-2: #4a5560;--ink-3: #79838e;--pos: #1f7a4d;--neg: #b3261e;--warn: #9a6400;--r-sm: 6px;--r: 10px;--r-lg: 14px;--shadow: 0 1px 2px rgba(18, 22, 28, .06), 0 2px 8px rgba(18, 22, 28, .04);--shadow-pop: 0 8px 28px rgba(18, 22, 28, .16);--rail: 232px;--bar: 56px;--strip: 46px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #101418;--surface: #171c22;--surface-2: #1c222a;--line: #262d36;--line-strong: #333c47;--ink: #eef1f4;--ink-2: #a9b4bf;--ink-3: #7c8894;--mm-green: #46b07a;--mm-green-600: #63c493;--mm-green-50: #16281f;--series-1: #2f9e68;--series-2: #3987e5;--series-3: #d95926;--pos: #46b07a;--neg: #e5726a;--warn: #d8a13c;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);--shadow-pop: 0 8px 28px rgba(0, 0, 0, .55)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.app{display:grid;grid-template-columns:auto 1fr;grid-template-rows:minmax(0,1fr);height:100dvh;overflow:hidden}.main{display:grid;grid-template-rows:var(--bar) minmax(0,1fr) var(--strip);min-width:0}.rail{position:relative;width:var(--rail);min-width:var(--rail);z-index:40}.rail.auto{width:14px;min-width:14px}.rail-body{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;background:var(--surface);border-right:1px solid var(--line);min-height:0}.rail.auto .rail-body{position:absolute;inset:0 auto 0 0;width:var(--rail);box-shadow:var(--shadow-pop);transition:transform .16s ease}.rail.auto:not(.peek):not(:hover):not(:focus-within) .rail-body{transform:translate(calc(-1 * var(--rail)))}.rail-grip{position:absolute;inset:0 auto 0 0;width:14px;display:grid;place-items:center;background:var(--surface);border-right:1px solid var(--line)}.rail-grip:after{content:"";width:3px;height:34px;border-radius:2px;background:var(--line-strong)}.rail:not(.auto) .rail-grip{display:none}.brand{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:12px 16px 13px;min-height:var(--bar);border-bottom:1px solid var(--line);white-space:nowrap}.brand-wordmark{display:inline-flex;align-items:baseline;font-size:19px;font-weight:700;letter-spacing:-.025em;text-transform:lowercase;line-height:1;color:var(--ink)}.brand-wordmark sup{font-size:.45em;margin-left:1px;font-weight:600;opacity:.75;top:-.15em;position:relative}.brand-tag{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-accent);line-height:1}.rail-scroll{overflow-y:auto;padding:10px 8px}.rail-scroll::-webkit-scrollbar{width:8px}.rail-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.rail-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:12px 10px 6px}.aud{width:100%;display:block;text-align:left;border:0;background:transparent;border-radius:var(--r);padding:9px 10px;color:var(--ink-2)}.aud:hover{background:var(--surface-2);color:var(--ink)}.aud.on{background:var(--mm-green-50);color:var(--mm-green-600)}.aud-title{font-weight:600;font-size:13.5px}.aud.on .aud-title{font-weight:680}.aud-blurb{font-size:11.5px;color:var(--ink-3);margin-top:1px}.subj{width:100%;text-align:left;border:0;background:transparent;border-radius:var(--r-sm);padding:7px 10px 7px 20px;color:var(--ink-2);font-size:13px}.subj:hover{background:var(--surface-2);color:var(--ink)}.subj.on{color:var(--mm-green-600);font-weight:620}.pod{border-top:1px solid var(--line);padding:8px;position:relative}.pod-btn{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:var(--r);padding:8px;text-align:left}.pod-btn:hover{background:var(--surface-2)}.avatar{width:30px;height:30px;flex:none;border-radius:50%;background:var(--mm-green);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:650}.pod-name{font-size:13px;font-weight:600;line-height:1.15}.pod-sub{font-size:11.5px;color:var(--ink-3)}.pop{position:absolute;bottom:calc(100% + 6px);left:8px;right:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:8px;z-index:60}.pop h4{margin:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border-radius:var(--r-sm);font-size:13px}.pop-row+.pop-row{border-top:1px solid var(--line)}.pop-meta{font-size:11.5px;color:var(--ink-3);padding:4px 8px 8px}.seg{display:inline-flex;background:var(--surface-2);border-radius:8px;padding:2px}.seg button{border:0;background:transparent;color:var(--ink-2);font-size:12px;padding:4px 10px;border-radius:6px}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.bar{display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--line);min-width:0}.bar-scroll{display:flex;align-items:center;gap:8px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:none}.bar-scroll::-webkit-scrollbar{display:none}.field{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12.5px;color:var(--ink-2);white-space:nowrap}.field input,.field select{border:0;background:transparent;color:var(--ink);font:inherit;outline:none;padding:0}select option{background:var(--surface);color:var(--ink)}.pop-row select,.pop-row input,.sheet select,.sheet input{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 8px;font:inherit}.field label{color:var(--ink-3);font-size:11.5px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--mm-green-50);color:var(--mm-green-600);border:1px solid transparent;border-radius:999px;padding:5px 6px 5px 11px;font-size:12.5px;font-weight:550;white-space:nowrap}.chip button{border:0;background:transparent;color:inherit;line-height:1;padding:2px 4px;border-radius:50%;opacity:.75}.chip button:hover{opacity:1;background:#00000012}.linkish{border:0;background:transparent;color:var(--ink-3);font-size:12.5px;text-decoration:underline;white-space:nowrap}.linkish:hover{color:var(--ink)}.picker{position:relative}.picker-btn{display:inline-flex;align-items:baseline;gap:7px;cursor:pointer;max-width:280px}.picker-btn.on{border-color:var(--mm-green);color:var(--ink)}.picker-label{color:var(--ink-3);font-size:11.5px}.picker-value{color:var(--ink);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-caret{color:var(--ink-3);font-size:10px}.picker-pop{position:fixed;z-index:90;width:300px;max-width:86vw;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:8px}.picker-search{width:100%;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;font:inherit;outline:none}.picker-search:focus{border-color:var(--mm-green)}.picker-list{max-height:320px;overflow-y:auto;margin-top:6px}.picker-row{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border:0;background:transparent;color:var(--ink);text-align:left;font-size:13px;padding:7px 9px;border-radius:var(--r-sm)}.picker-row:hover{background:var(--surface-2)}.picker-hint{color:var(--ink-3);font-size:11.5px;white-space:nowrap}.picker-group{color:var(--mm-green-600);font-weight:600;font-size:12px;text-transform:none}.picker-all{color:var(--ink-2);font-weight:600}.tick{width:15px;height:15px;flex:none;border:1.5px solid var(--line-strong);border-radius:4px;display:inline-block;position:relative}.tick.on{background:var(--mm-green);border-color:var(--mm-green)}.tick.on:after{content:"";position:absolute;left:4px;top:.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.picker-row{align-items:center}.picker-name{flex:1}.picker-row.picked{background:var(--mm-green-50)}.picker-row.picked .picker-name{color:var(--mm-green-600);font-weight:550}.picker-done{width:100%;margin-top:6px;border:0;border-radius:var(--r-sm);background:var(--mm-green);color:#fff;font-weight:600;font-size:13px;padding:8px}.picker-done:hover{background:var(--mm-green-600)}.picker-empty{padding:12px 9px;color:var(--ink-3);font-size:12.5px}.canvas{overflow:hidden;padding:12px;min-width:0;display:grid;grid-template-rows:minmax(0,1fr)}.grid{display:grid;gap:12px;min-height:0;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:11px 14px 6px}.card-title{font-size:12.5px;font-weight:620;color:var(--ink-2)}.card-hint{font-size:11.5px;color:var(--ink-3)}.card-body{padding:4px 8px 10px;min-height:0;overflow:hidden}.kpis{grid-column:span 12;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:12px 14px;min-width:0}.kpi-label{font-size:11.5px;color:var(--ink-3);font-weight:550}.kpi-value{font-size:25px;font-weight:680;letter-spacing:-.02em;margin-top:2px;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-foot{font-size:11.5px;margin-top:3px;color:var(--ink-3)}.up{color:var(--pos);font-weight:600}.down{color:var(--neg);font-weight:600}.grid-2row{grid-template-rows:auto minmax(0,1fr)}.grid-head{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px;min-width:0}.grid-head .page-q{margin:2px 0 0}.toolbar{grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch}.toolbar-search{width:100%}.toolbar-search input{width:100%;min-width:0}@media(max-width:700px){.toolbar{grid-template-columns:1fr 1fr}.toolbar-search{grid-column:1 / -1}}.prov{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:8px;background:var(--line)}.prov i{display:block;height:100%}.prov .m{background:var(--mm-green)}.prov .v{background:#7fb3d5}.prov .d{background:var(--line-strong)}.tbl{width:100%;height:100%;overflow:auto}.tbl table{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th{position:sticky;top:0;z-index:1;background:var(--surface);text-align:left;font-weight:600;color:var(--ink-3);padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:11.5px}.tbl td{padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}.tbl tr:hover td{background:var(--surface-2)}.tbl td.num,.tbl th.num{text-align:right}.tbl tr.pick td{background:var(--mm-green-50)}.tbl tbody tr{cursor:pointer}.strip{display:flex;align-items:center;gap:4px;padding:0 12px;background:var(--surface);border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.strip::-webkit-scrollbar{display:none}.tab{border:0;background:transparent;padding:7px 12px;border-radius:8px;font-size:13px;color:var(--ink-2);white-space:nowrap}.tab:hover{background:var(--surface-2);color:var(--ink)}.tab.on{background:var(--mm-green-50);color:var(--mm-green-600);font-weight:620}.tab.soon{color:var(--ink-3)}.tab.soon:after{content:"snart";margin-left:7px;font-size:10px;border:1px solid var(--line-strong);border-radius:4px;padding:0 4px;color:var(--ink-3)}.state{display:grid;place-items:center;height:100%;color:var(--ink-3);font-size:13px}.state.err{color:var(--neg)}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:sh 1.3s ease infinite;border-radius:var(--r-sm)}@keyframes sh{0%{background-position:100% 50%}to{background-position:0 50%}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1266;z-index:70}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:71;background:var(--surface);border-radius:16px 16px 0 0;box-shadow:var(--shadow-pop);padding:12px 14px calc(14px + env(safe-area-inset-bottom));max-height:78dvh;overflow-y:auto}.sheet h3{margin:4px 0 10px;font-size:15px}.only-mobile{display:none}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)}}@media(max-width:700px){.app{grid-template-columns:1fr}.rail,.rail.auto{position:fixed;inset:0 auto 0 0;z-index:80;width:min(84vw,var(--rail));min-width:0;transform:translate(-100%);transition:transform .18s ease}.rail.open,.rail.auto.open{transform:none}.rail.auto .rail-body,.rail .rail-body{position:static;width:auto;transform:none;box-shadow:none}.rail-grip{display:none}.main{grid-template-rows:var(--bar) minmax(0,1fr) var(--strip)}.canvas{overflow-y:auto;-webkit-overflow-scrolling:touch;display:block}.grid{height:auto;grid-template-rows:none}.card{min-height:260px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:21px}.only-mobile{display:inline-flex}.no-mobile{display:none!important}}@media(max-width:420px){.kpis{grid-template-columns:1fr 1fr}.kpi-value{font-size:19px}}.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s12{grid-column:span 12}@media(max-width:700px){.s3,.s4,.s5,.s6,.s7,.s8{grid-column:span 12}}.stack{display:flex;flex-direction:column;gap:2px;height:100%;overflow:auto}.stack-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid var(--line)}.stack-row:last-child{border-bottom:0}.stack-label{font-size:12.5px;color:var(--ink-2)}.stack-label.strong{font-weight:600;color:var(--ink)}.stack-hint{font-size:11px;color:var(--ink-3);margin-top:2px}.stack-value{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap}.mirror{display:grid;grid-template-rows:auto auto auto auto;gap:10px}.mirror-dates{display:flex;gap:8px;flex-wrap:wrap}.mirror-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mirror-stat{font-size:19px;font-weight:650;color:var(--ink);margin-top:2px;white-space:nowrap}.mirror-chart{height:190px}.hour-chart{height:170px}.mirror-foot{font-size:11px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:7px}.diff{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.diff-cell{border-left:2px solid var(--line);padding-left:10px}.diff-label{font-size:11.5px;color:var(--ink-3)}.diff-value{font-size:20px;font-weight:650;color:var(--ink);margin:3px 0;white-space:nowrap}.diff-foot{font-size:11px;color:var(--ink-3)}@media(max-width:900px){.diff{grid-template-columns:repeat(2,minmax(0,1fr))}.mirror-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.grid-mirror{grid-template-rows:none;grid-auto-rows:min-content;align-content:start;overflow-y:auto;overflow-x:hidden;padding-right:2px}.field-bad{border-color:var(--neg)}.field-bad label,.field-bad input{color:var(--neg)}.page-q{grid-column:span 12;font-size:19px;font-weight:650;letter-spacing:-.01em;margin:2px 0 6px}.quiet{grid-column:span 12;font-size:12px;color:var(--ink-3);margin:0}.callout{grid-column:span 12;font-size:13px;padding:10px 14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.callout.err{color:var(--neg);border-color:var(--neg)}.login{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:340px;padding:28px 26px 26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.login-brand{margin-bottom:18px}.login-wordmark{display:block;font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--mm-green)}.login-tag{display:block;margin-top:2px;font-size:10.5px;font-weight:650;letter-spacing:1.6px;color:var(--ink-3)}.login-hint{margin:0 0 18px;font-size:12.5px;color:var(--ink-2)}.login-label{display:block;margin-bottom:5px;font-size:11.5px;font-weight:620;color:var(--ink-2)}.login-input{width:100%;box-sizing:border-box;margin-bottom:14px;padding:9px 10px;font:inherit;font-size:13px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-sm)}.login-input:focus{outline:2px solid var(--mm-green);outline-offset:-1px;border-color:var(--mm-green)}.login-btn{width:100%;padding:10px;font:inherit;font-size:13px;font-weight:640;color:#fff;background:var(--mm-green);border:0;border-radius:var(--r-sm);cursor:pointer}.login-btn:hover:not(:disabled){background:var(--mm-green-600)}.login-btn:disabled{opacity:.6;cursor:default}.login-error{margin:0 0 14px;font-size:12px;color:var(--neg)}.pop-out{padding:0;font:inherit;font-size:12px;color:var(--ink-2);background:none;border:0;cursor:pointer;text-decoration:underline}.pop-out:hover{color:var(--ink)}.rail-pinned{display:flex;align-items:center;gap:9px;width:100%;margin:0 0 2px;padding:9px 10px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:13px;color:var(--ink-2);text-align:left;cursor:pointer}.rail-pinned:hover{background:var(--surface-2);color:var(--ink)}.rail-pinned.on{background:var(--mm-green-50);color:var(--mm-green-600);font-weight:620}.rail-pinned-icon{display:grid;place-items:center;width:18px;font-size:14px;opacity:.8}.strip-group{display:flex;align-items:center;gap:4px;padding-right:6px}.strip-group+.strip-group{margin-left:4px;padding-left:10px;border-left:1px solid var(--line)}.strip-group-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-right:2px;white-space:nowrap}.exp-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.exp-field{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:620;color:var(--ink-2)}.exp-field select,.exp-field input{font:inherit;font-size:13px;font-weight:400;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:7px 9px;min-width:150px}.exp-field select:focus,.exp-field input:focus{outline:2px solid var(--brand-accent);outline-offset:-1px;border-color:var(--brand-accent)}.exp-action{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.exp-btn{width:auto;min-width:170px}.exp-note{flex:1 1 320px;margin:0;font-size:11.5px;line-height:1.5}.field.bad{border-color:var(--neg);color:var(--neg)}.field.bad input{color:var(--neg)}.field-note{font-weight:700;color:var(--warn);padding-left:2px}.picker-divider{height:1px;margin:6px 8px;background:var(--line)}.picker-action{color:var(--mm-green-600);font-weight:620}.picker-action:hover{background:var(--mm-green-50)}
