.m-hero{padding:18px;border-radius:24px;background:linear-gradient(135deg,#7ec4e8,#5eead4);color:#10241c}
.m-hero .lab{opacity:.72;font-size:13px}
.m-hero .sum{font-size:32px;font-weight:800;line-height:1.15}
.m-hero .sub{opacity:.82;font-size:13px;margin-top:4px}
.m-hero .stats{display:flex;gap:18px;margin-top:14px}
.m-hero .in{color:#0c6a38}
.m-hero .out{color:#b3261e}
[data-theme="light"] .m-hero{background:linear-gradient(135deg,#1f7aa3,#12a454);color:#fff}
[data-theme="light"] .m-hero .in{color:#b6f5cf}
[data-theme="light"] .m-hero .out{color:#ffd0cb}
.m-week,.m-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.m-week span{text-align:center;font-size:13px;font-weight:700;color:var(--muted)}
.m-week span.we{color:#e85d75}
.m-day{min-height:58px;border:0;border-radius:10px;background:transparent;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 0;font:inherit}
.m-day .n{font-size:16px;line-height:1.1}
.m-day.has{background:rgba(43,176,166,.16)}
.m-day.has .n,.m-day.today .n{font-weight:650}
.m-day.on{box-shadow:inset 0 0 0 1.5px var(--accent)}
.m-day .pay{font-size:11px;font-weight:650;color:#3ddc84;line-height:1.15;margin-top:2px}
[data-theme="light"] .m-day .pay{color:#0c6a38}
button.m-field{text-align:left;cursor:pointer}
.m-donut{width:148px;height:148px;border-radius:50%;margin:8px auto}
.m-bar{display:flex;align-items:flex-end;gap:4px;height:96px;margin-top:8px}
.m-bar i{flex:1;display:flex;align-items:flex-end;gap:2px;height:100%}
.m-bar b{display:block;width:50%;border-radius:6px 6px 2px 2px;min-height:2px}
.m-bar .in{background:#3ddc84}
.m-bar .out{background:#e85d75}
.m-spark{width:100%;height:64px;display:block;margin-top:6px}
.m-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0}
.m-cat{border:0;background:var(--bg-3);color:var(--text);padding:6px 2px;border-radius:12px}
.m-cat.on{background:color-mix(in srgb,var(--accent) 28%,var(--bg-3));box-shadow:inset 0 0 0 1px var(--accent)}
.m-cat span{display:block;font-size:18px}
.m-cat small{display:block;font-size:11px;color:var(--text)}
.m-drum{display:flex;align-items:center;gap:4px}
.m-drum-col{height:148px;width:64px;overflow-y:auto;scroll-snap-type:y mandatory;border-radius:12px;background:var(--bg-3);scrollbar-width:none}
.m-drum-col::-webkit-scrollbar{display:none}
.m-drum-col button{scroll-snap-align:center;height:36px;width:100%;border:0;background:transparent;color:var(--muted);font:inherit;font-size:16px;font-variant-numeric:tabular-nums}
.m-drum-col button.on{font-weight:800;font-size:22px;color:var(--text)}
.m-pad{height:44px}
.m-field{width:100%;margin-bottom:6px;padding:8px;border-radius:12px;border:1px solid var(--line);background:var(--bg-3);color:var(--text);box-sizing:border-box}
select.m-field, select.m-field option{background:var(--bg-3);color:var(--text)}
.m-undo{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:12px;background:var(--bg-3)}
.m-limit{height:6px;border-radius:99px;background:var(--line);margin-top:4px}
.m-limit b{display:block;height:6px;border-radius:99px;background:var(--accent)}
.m-limit.over b{background:#e85d75}
