/* MEC Studio — built from MEC Mail's stylesheet (mec-email/assets/app/mail-app.css)
   with the ms- prefix and an orange accent. Keep the two in step. */
:root {
	--bg: #F6F4F1;
	--card: #fff;
	--ink: #17121F;
	--muted: #6F6878;
	--line: #E6E1DA;
	--soft: #EFEBE5;
	--pink: #C2540A;       /* the accent; white text passes 4.5:1 on it */
	--pink-soft: #FFB27A;
	--purple: #B4500A;
	--purple-ink: #8F3F08;
	--purple-bg: #FFF1E3;
	--ok: #12A150;
	--ok-ink: #0E7A3D;
	--ok-bg: #E8F8EF;
	--bad: #B0124F;
	--display: 'Big Shoulders Display', Impact, sans-serif;
	--body: Manrope, -apple-system, system-ui, sans-serif;
	--mono: 'JetBrains Mono', ui-monospace, monospace;
	--tabbar: calc(64px + env(safe-area-inset-bottom));
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body); -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; min-height: 100dvh; }
a { color: var(--purple); text-decoration: none; }
button { font: inherit; color: inherit; }
button, a, input, select, textarea { touch-action: manipulation; }
:focus-visible { outline: 2px solid var(--purple); outline-offset: 2px; }
.ms-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ── Login ─────────────────────────────────────────────── */
.ms-login__wrap { max-width: 420px; margin: 0 auto; min-height: 100dvh; padding: max(32px, env(safe-area-inset-top)) 22px max(24px, env(safe-area-inset-bottom)); display: flex; flex-direction: column; justify-content: center; gap: 28px; }
.ms-login__brand { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.ms-login__brand p { margin: 0; color: var(--muted); font-size: 14px; }
.ms-login__icon { width: 84px; height: 84px; border-radius: 22px; background: var(--ink); display: grid; place-items: center; }
.ms-word { margin: 0; font-family: var(--display); font-weight: 900; font-size: 44px; line-height: 1; letter-spacing: .02em; }
.ms-word span { color: var(--pink); }
.ms-login__form { display: flex; flex-direction: column; gap: 12px; }
.ms-login__forgot { align-self: center; font-size: 13px; font-weight: 700; padding: 10px; }
.ms-login__foot { margin: 0; text-align: center; font-size: 12px; color: var(--muted); }

/* ── Form bits ─────────────────────────────────────────── */
label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 800; color: var(--muted); }
input[type=text], input[type=email], input[type=password], input[type=search], input[type=tel], input[type=date], input[type=datetime-local], input[type=number], select, textarea {
	width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff;
	font: 600 16px var(--body); color: var(--ink); /* 16px: iOS zooms into anything smaller */
}
textarea { padding: 12px 14px; line-height: 1.5; resize: vertical; }
select { padding: 0 10px; }
.ms-alert { margin: 0; padding: 12px 14px; border-radius: 12px; background: #FDECF2; color: var(--bad); font-size: 14px; font-weight: 700; }
.ms-note { margin: 0; font-size: 12.5px; color: var(--muted); line-height: 1.5; }

.ms-btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 18px; border: 0; border-radius: 14px; font: 800 15px var(--body); cursor: pointer; text-align: center; }
.ms-btn[disabled] { opacity: .55; cursor: default; }
.ms-btn--pink { background: var(--pink); color: #fff; }
.ms-btn--dark { background: var(--ink); color: #fff; }
.ms-btn--ghost { background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line); }
.ms-btn--danger { background: #fff; color: var(--bad); box-shadow: inset 0 0 0 1.5px #F2C6D9; }
.ms-btn--sm { min-height: 40px; padding: 0 14px; border-radius: 12px; font-size: 13.5px; }

/* ── App frame ─────────────────────────────────────────── */
.ms-app { max-width: 560px; margin: 0 auto; }
.ms-screen { padding: max(16px, env(safe-area-inset-top)) 16px calc(var(--tabbar) + 28px); display: flex; flex-direction: column; gap: 18px; }
.ms-screen--sub { padding-top: 0; }
.ms-topbar { position: sticky; top: 0; z-index: 5; margin: 0 -16px; padding: env(safe-area-inset-top) 8px 0; min-height: calc(60px + env(safe-area-inset-top)); display: flex; align-items: center; gap: 4px; background: #fff; border-bottom: 1px solid var(--line); }
.ms-topbar h1 { flex: 1; margin: 0; font-size: 16px; font-weight: 800; }
.ms-iconbtn { width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: none; color: var(--ink); border-radius: 12px; cursor: pointer; }

.ms-head { display: flex; align-items: center; justify-content: space-between; }
.ms-logo { font-family: var(--display); font-weight: 900; font-size: 22px; letter-spacing: .02em; }
.ms-logo span { color: var(--pink); }
.ms-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.ms-h1 { margin: 0; font-family: var(--display); font-weight: 900; font-size: 40px; line-height: 1; text-transform: uppercase; text-wrap: balance; }
.ms-sub { font-size: 14px; color: var(--muted); }
.ms-sub b { color: var(--ink); }
.ms-label { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.ms-row-between { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.ms-section { display: flex; flex-direction: column; gap: 10px; }

.ms-hero { background: var(--ink); color: #fff; border-radius: 22px; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.ms-hero__k { font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; color: var(--pink-soft); }
.ms-hero__t { font-size: 20px; font-weight: 800; line-height: 1.25; }
.ms-hero__p { font-size: 13.5px; color: #CFC8DC; line-height: 1.45; }
.ms-hero__btns { display: grid; grid-template-columns: 2fr 1fr; gap: 8px; }
.ms-hero .ms-btn--alt { background: #2E2638; color: #fff; }

.ms-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ms-stat { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 14px; }
.ms-stat b { display: block; font-family: var(--display); font-weight: 900; font-size: 30px; line-height: 1; font-variant-numeric: tabular-nums; }
.ms-stat small { display: block; margin-top: 4px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ms-stat--ok b { color: var(--ok-ink); }

.ms-list { background: var(--card); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.ms-item { display: flex; gap: 12px; align-items: center; padding: 13px 14px; border-bottom: 1px solid #F0EDF5; color: var(--ink); }
.ms-item:last-child { border-bottom: 0; }
.ms-item__m { flex: 1; min-width: 0; }
.ms-item__t { font-size: 14.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ms-item__s { font-size: 12.5px; color: var(--muted); }
.ms-item__r { text-align: right; flex: none; }
.ms-item__r b { display: block; font-size: 15px; }
.ms-item__r small { font-size: 10.5px; color: var(--muted); }
.ms-empty { padding: 18px; text-align: center; color: var(--muted); font-size: 13.5px; }

.ms-pill { flex: none; font-size: 11px; font-weight: 800; padding: 5px 9px; border-radius: 99px; background: var(--soft); color: var(--muted); }
.ms-pill--sent { background: var(--ok-bg); color: var(--ok-ink); }
.ms-pill--sched, .ms-pill--sending { background: var(--purple-bg); color: var(--purple-ink); }

.ms-card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.ms-code { padding: 12px; border-radius: 12px; background: var(--ink); color: #fff; font: 700 13.5px var(--mono); word-break: break-all; }
.ms-code span { color: var(--pink-soft); }
.ms-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ms-steps { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: s; }
.ms-steps li { display: flex; gap: 10px; align-items: center; font-size: 14px; counter-increment: s; }
.ms-steps li::before { content: counter(s); width: 26px; height: 26px; flex: none; border-radius: 50%; background: var(--soft); display: grid; place-items: center; font-weight: 800; font-size: 12px; }
.ms-who { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-bottom: 1px solid #F0EDF5; }
.ms-who:last-child { border-bottom: 0; }
.ms-who b { display: block; font-size: 14px; }
.ms-who small { font-size: 12px; color: var(--muted); }

.ms-soon { background: var(--card); border: 1px dashed #C9C2D6; border-radius: 18px; padding: 22px 18px; display: flex; flex-direction: column; gap: 8px; text-align: center; color: var(--muted); font-size: 14px; line-height: 1.5; }
.ms-soon b { color: var(--ink); font-size: 16px; }

/* ── Tab bar ───────────────────────────────────────────── */
/* Solid on purpose: a backdrop blur re-composites on every scrolled frame,
   and on iPhone that was most of the jank. */
.ms-tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; height: var(--tabbar); padding: 6px 10px env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ms-stack { display: flex; flex-direction: column; gap: 18px; }
.ms-tabs a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 11px; font-weight: 700; color: var(--muted); }
.ms-tabs a[aria-current=page] { color: var(--pink); font-weight: 800; }
@media (min-width: 600px) { .ms-tabs { max-width: 560px; margin: 0 auto; border-radius: 18px 18px 0 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); } }

/* ── Toast ─────────────────────────────────────────────── */
.ms-toast { position: fixed; left: 50%; bottom: calc(var(--tabbar) + 14px); transform: translateX(-50%); z-index: 50; max-width: calc(100% - 32px); padding: 12px 16px; border-radius: 14px; background: var(--ink); color: #fff; font-size: 14px; font-weight: 700; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); }
.ms-toast--bad { background: var(--bad); }

.ms-skel { height: 64px; border-radius: 16px; background: linear-gradient(90deg, #ECE9F2 0, #F6F4FA 50%, #ECE9F2 100%); background-size: 200% 100%; animation: ms-sh 1.2s infinite linear; }
@keyframes ms-sh { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .ms-skel { animation: none; } }

/* ── Part 2: sheets, new email, editor ─────────────────── */
.ms-noscroll, .ms-noscroll body { overflow: hidden; }
.ms-sheet { position: fixed; inset: 0; z-index: 40; }
.ms-sheet__bg { position: absolute; inset: 0; border: 0; padding: 0; background: rgba(23,18,31,.45); cursor: default; }
.ms-sheet__box { position: absolute; left: 0; right: 0; bottom: 0; max-width: 560px; margin: 0 auto; max-height: 88dvh; display: flex; flex-direction: column; background: #fff; border-radius: 22px 22px 0 0; padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -10px 40px -20px rgba(0,0,0,.4); }
.ms-sheet--full .ms-sheet__box { max-height: calc(100dvh - env(safe-area-inset-top) - 12px); height: calc(100dvh - env(safe-area-inset-top) - 12px); }
.ms-sheet__grip { align-self: center; width: 40px; height: 5px; margin: 10px 0 4px; border-radius: 9px; background: #D9D4E2; flex: none; }
.ms-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 16px 10px; flex: none; }
.ms-sheet__head b { font-size: 17px; }
.ms-sheet__body { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 0 16px 24px; display: flex; flex-direction: column; gap: 14px; }

.ms-tile { min-height: 132px; padding: 14px; border-radius: 18px; border: 1px solid var(--line); background: #fff; color: var(--ink); display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; text-align: left; cursor: pointer; font: inherit; }
.ms-tile b { display: block; font-size: 15.5px; }
.ms-tile small { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); }
.ms-tile--dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.ms-tile--dark small { color: #CFC8DC; }
.ms-tile[disabled] { opacity: .6; }

.ms-tpls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ms-tpl { display: flex; flex-direction: column; gap: 2px; padding: 0 0 12px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; text-align: left; cursor: pointer; font: inherit; color: var(--ink); }
.ms-tpl b, .ms-tpl small { padding: 0 12px; }
.ms-tpl b { font-size: 13.5px; margin-top: 10px; }
.ms-tpl small { font-size: 11.5px; color: var(--muted); }
.ms-tpl__thumb { height: 92px; padding: 10px; background: #F7F5FA; display: flex; flex-direction: column; gap: 6px; }
.ms-tpl__thumb i { display: block; border-radius: 4px; background: #E7E3EE; height: 5px; }
.ms-tpl__thumb i:first-child { height: 40px; background: #2A0F40; }
.ms-tpl__thumb i:nth-child(3) { width: 70%; }
.ms-tpl__thumb i:last-child { align-self: center; width: 50%; height: 10px; background: var(--pink); }
.ms-item--btn { width: 100%; border: 0; background: #fff; text-align: left; cursor: pointer; font: inherit; }
.ms-item--btn .ms-item__t, .ms-item--btn .ms-item__s { display: block; }

.ms-ed { min-height: 100dvh; background: #E9E6F0; padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
.ms-ed__top { margin: 0; gap: 2px; padding-right: 8px; }
.ms-ed__title { flex: 1; min-width: 0; border: 0; background: none; text-align: left; padding: 4px; cursor: pointer; font: inherit; color: var(--ink); }
.ms-ed__title b { display: block; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ms-ed__title small { font-size: 11px; font-weight: 700; color: var(--ok-ink); }
.ms-ed__title small.is-bad { color: var(--bad); }
.ms-lock { margin: 12px 12px 0; padding: 12px 14px; border-radius: 14px; background: #FFF6E5; color: #7A4A00; font-size: 13.5px; display: flex; flex-direction: column; gap: 10px; }
.ms-canvas { margin: 14px 10px; max-width: 600px; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 24px -16px rgba(23,18,31,.45); }
@media (min-width: 620px) { .ms-canvas { margin: 14px auto; } }
.ms-blk { position: relative; }
.ms-blk__html { overflow: hidden; }
.ms-blk__html img { max-width: 100%; height: auto; }
.ms-blk.is-sel { outline: 2.5px solid var(--pink); outline-offset: -2.5px; z-index: 2; }
.ms-tb { position: absolute; top: 6px; right: 6px; z-index: 3; display: flex; align-items: center; gap: 2px; padding: 4px; border-radius: 12px; background: var(--ink); box-shadow: 0 6px 16px -6px rgba(0,0,0,.5); }
.ms-tb__name { padding: 0 8px 0 6px; font-size: 11px; font-weight: 800; color: #CFC8DC; white-space: nowrap; max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
.ms-tb button { width: 38px; height: 38px; border: 0; border-radius: 9px; background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; }
.ms-tb button.is-primary { background: var(--pink); }
.ms-tb button[disabled] { opacity: .35; }
.ms-tb button[data-act=del] { color: var(--pink-soft); }
.ms-ed__bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; max-width: 560px; margin: 0 auto; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); display: grid; grid-template-columns: 2fr 1fr; gap: 8px; }

.ms-palette { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ms-palette button { min-height: 84px; padding: 8px 4px; border: 1px solid var(--line); border-radius: 14px; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; font: 700 12px var(--body); color: var(--ink); cursor: pointer; text-align: center; }

.ms-form { display: flex; flex-direction: column; gap: 14px; }
.ms-f[hidden] { display: none; }
.ms-field { display: flex; flex-direction: column; gap: 8px; }
.ms-field__l { font-size: 12px; font-weight: 800; color: var(--muted); }
label output { float: right; font: 700 12px var(--mono); color: var(--ink); }
input[type=range] { width: 100%; min-height: 32px; accent-color: var(--pink); }
.ms-check { flex-direction: row; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; color: var(--ink); font-weight: 700; }
.ms-check input { width: 22px; height: 22px; accent-color: var(--pink); }
.ms-swatches { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ms-sw { width: 34px; height: 34px; border-radius: 50%; border: 0; padding: 0; cursor: pointer; box-shadow: 0 0 0 1px var(--line); position: relative; overflow: hidden; }
.ms-sw[aria-pressed=true] { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--ink); }
.ms-sw--none { background: repeating-linear-gradient(45deg, #fff 0 4px, #F0EDF5 4px 8px); }
.ms-sw--pick { display: grid; place-items: center; background: conic-gradient(#ff2e93, #ffb02e, #12a150, #2e7dff, #8b5cf6, #ff2e93); }
.ms-sw--pick input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; cursor: pointer; }
.ms-img { min-height: 90px; border-radius: 14px; border: 1.5px dashed #D9D4E2; background: #FAF9FC; display: grid; place-items: center; overflow: hidden; color: var(--muted); font-size: 13px; }
.ms-img img { display: block; width: 100%; max-height: 220px; object-fit: cover; }
.ms-upload { position: relative; }
.ms-chip { align-self: flex-start; min-height: 36px; padding: 0 12px; border-radius: 99px; border: 1.5px solid var(--line); background: #fff; font: 700 12.5px var(--body); color: var(--purple-ink); cursor: pointer; margin-top: -6px; }
.ms-rtb { display: flex; gap: 6px; flex-wrap: wrap; }
.ms-rtb button { min-width: 44px; min-height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: 700 14px var(--body); color: var(--ink); cursor: pointer; }
.ms-rich { min-height: 130px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; font: 500 16px/1.55 var(--body); color: var(--ink); outline: none; overflow-wrap: anywhere; }
.ms-rich:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(109,63,214,.15); }

.ms-pv { display: flex; flex-direction: column; gap: 10px; }
.ms-pv__meta { display: flex; flex-direction: column; gap: 2px; padding: 0 2px; }
.ms-pv__meta small { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ms-pv__meta b { font-size: 15px; }
.ms-pv__meta span { font-size: 13px; color: var(--muted); }
.ms-pv__frame { width: 100%; min-height: 70dvh; border: 0; border-radius: 14px; background: #f4f4f5; }

.ms-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.ms-media .ms-skel { grid-column: 1 / -1; }
.ms-media__i { aspect-ratio: 1; padding: 0; border: 0; border-radius: 10px; overflow: hidden; background: var(--soft); cursor: pointer; }
.ms-media__i img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-media__i:active { outline: 3px solid var(--pink); outline-offset: -3px; }

/* ── Part 3: audience, test, send ──────────────────────── */
.ms-aud { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
.ms-aud__bar { grid-template-columns: 1fr auto; align-items: center; }
.ms-aud__bar .ms-btn { min-width: 150px; }
.ms-aud__n b { display: block; font-family: var(--display); font-weight: 900; font-size: 30px; line-height: 1; font-variant-numeric: tabular-nums; }
.ms-aud__n small { font-size: 12px; color: var(--muted); }
.ms-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ms-chip--lg { min-height: 42px; margin: 0; color: var(--ink); font-size: 13.5px; }
.ms-chipx { display: inline-flex; align-items: center; min-height: 38px; padding-left: 12px; border-radius: 99px; background: var(--ink); color: #fff; font-weight: 800; font-size: 13px; }
.ms-chipx button { min-height: 38px; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; padding: 0 4px; }
.ms-chipx button:first-child { padding-left: 0; }
.ms-chipx button:last-child { width: 34px; color: #CFC8DC; display: grid; place-items: center; }
#ms-to .ms-chipx { background: var(--soft); color: var(--ink); }
#ms-to .ms-chipx button { color: var(--muted); }
.ms-seg { display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; padding: 3px; border-radius: 11px; background: #E7E3EE; }
.ms-seg button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 9px; background: transparent; font: 700 12.5px var(--body); color: var(--muted); cursor: pointer; }
.ms-seg button[aria-checked=true] { background: #fff; color: var(--ink); font-weight: 800; box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.ms-seg--full { display: grid; }
.ms-seg--full button { min-height: 42px; font-size: 14px; }
.ms-cond { display: flex; align-items: center; gap: 4px; padding: 4px 4px 4px 14px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.ms-cond__m { flex: 1; min-width: 0; min-height: 52px; border: 0; background: none; text-align: left; padding: 6px 0; cursor: pointer; font: inherit; color: var(--ink); }
.ms-cond__m small { display: block; font-size: 11.5px; font-weight: 800; color: var(--muted); }
.ms-cond__m b { display: block; font-size: 14.5px; overflow-wrap: anywhere; }
.ms-dashed { min-height: 48px; border: 1.5px dashed #C9C2D6; border-radius: 14px; background: transparent; font: 800 14px var(--body); color: var(--purple-ink); cursor: pointer; }
.ms-empty--soft { background: #fff; border: 1px solid var(--line); border-radius: 16px; text-align: left; }
.ms-who--sw { cursor: pointer; color: var(--ink); font-size: 14px; font-weight: 600; flex-direction: row; }
.ms-switch { -webkit-appearance: none; appearance: none; flex: none; width: 52px; height: 32px; min-height: 0; padding: 0; border: 0; border-radius: 99px; background: #D9D4E2; position: relative; cursor: pointer; transition: background .2s; }
.ms-switch::after { content: ""; position: absolute; top: 4px; left: 4px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: left .2s; }
.ms-switch:checked { background: var(--ok); }
.ms-switch:checked::after { left: 24px; }
.ms-ms { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.ms-ms__o { flex-direction: row; align-items: center; gap: 12px; min-height: 50px; padding: 0 14px; border-bottom: 1px solid #F0EDF5; font-size: 15px; font-weight: 600; color: var(--ink); cursor: pointer; }
.ms-ms__o:last-child { border-bottom: 0; }
.ms-ms__o[hidden] { display: none; }
.ms-ms__o input { width: 22px; height: 22px; flex: none; accent-color: var(--pink); }
.ms-ms__o span { flex: 1; min-width: 0; }
.ms-ms__o small { font: 700 12px var(--mono); color: var(--muted); }
.ms-sum > div, .ms-sum > a { display: flex; flex-direction: column; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid #F0EDF5; color: var(--ink); }
.ms-sum > a { position: relative; }
.ms-sum small { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ms-sum b { font-size: 15.5px; }
.ms-sum span { font-size: 13.5px; color: var(--muted); overflow-wrap: anywhere; }
.ms-sum em { position: absolute; right: 0; top: 14px; font-style: normal; font-size: 13px; font-weight: 800; color: var(--purple); }
.ms-sum .ms-grid2 { border: 0; padding: 0; }
.ms-inline { display: flex; gap: 6px; }
.ms-inline input { flex: 1; min-width: 0; }
.ms-btn--big { min-height: 58px; font-size: 16.5px; }
.ms-done { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 40px 8px; }
.ms-done h2 { margin: 0; font-family: var(--display); font-weight: 900; font-size: 38px; text-transform: uppercase; }
.ms-done p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }

/* ── Part 4: emails list, contacts, automations ────────── */
.ms-iconbtn--pink { width: 48px; height: 48px; border-radius: 14px; background: var(--pink); color: #fff; }
.ms-pills { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px; padding: 0 16px 2px; scrollbar-width: none; }
.ms-pills::-webkit-scrollbar { display: none; }
.ms-pills button { flex: none; min-height: 38px; padding: 0 14px; border-radius: 99px; border: 1.5px solid var(--line); background: #fff; font: 700 13px var(--body); color: var(--ink); cursor: pointer; }
.ms-pills button[aria-selected=true] { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 800; }
.ms-search { flex-direction: row; align-items: center; gap: 10px; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.ms-search input { flex: 1; min-width: 0; min-height: 46px; border: 0; padding: 0; background: transparent; outline: none; }
.ms-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ms-stats--3 .ms-stat { padding: 11px; }
.ms-stats--3 .ms-stat b { font-size: 22px; overflow-wrap: anywhere; }
.ms-stats--3 .ms-stat small { font-size: 10px; letter-spacing: .05em; }
.ms-ava { width: 42px; height: 42px; flex: none; border-radius: 50%; background: var(--purple-bg); color: var(--purple-ink); display: grid; place-items: center; font-weight: 800; font-size: 14px; }
.ms-ava--lg { width: 60px; height: 60px; font-size: 20px; }
.ms-chead { display: flex; gap: 14px; align-items: center; }
.ms-chead b { display: block; font-size: 19px; }
.ms-chead small { font-size: 12.5px; color: var(--muted); }
.ms-switch--bad:checked { background: var(--bad); }
.ms-flows { display: flex; flex-direction: column; gap: 10px; }
.ms-flow { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 18px; background: #fff; border: 1px solid var(--line); }
.ms-flow.is-on { border-color: #B9E8CC; }
.ms-flow__m { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ms-flow__m b { font-size: 15px; }
.ms-flow__m > small { font-size: 12.5px; color: var(--muted); line-height: 1.4; }
.ms-flow__meta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.ms-flow__meta a { font-size: 12.5px; font-weight: 800; }
.ms-flow .ms-switch { margin-top: 4px; }

/* ══ MEC Studio only ══════════════════════════════════════ */
.ms-btn--accent { background: var(--pink); color: #fff; }
.ms-tabs--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); padding-left: 4px; padding-right: 4px; }
.ms-tabs--5 a { font-size: 10.5px; }
.ms-muted { color: var(--muted); }
.ms-mono { font: 500 11px var(--mono); color: var(--muted); white-space: nowrap; }
.ms-link { border: 0; background: none; padding: 6px 0; font: 800 13px var(--body); color: var(--purple); cursor: pointer; }
.ms-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13.5px; }
.is-ok { color: var(--ok-ink); font-weight: 800; }
.is-bad { color: var(--bad); font-weight: 800; }
.ms-dot { width: 9px; height: 9px; flex: none; border-radius: 50%; }

.ms-head { gap: 8px; }
.ms-picker { flex-direction: row; align-items: center; gap: 4px; position: relative; min-width: 0; flex: 0 1 auto; margin-left: auto; color: var(--ink); }
.ms-picker select { min-height: 40px; max-width: 170px; padding: 0 28px 0 12px; border-radius: 99px; border: 1.5px solid var(--line); font: 700 13px var(--body); -webkit-appearance: none; appearance: none; text-overflow: ellipsis; }
.ms-picker svg { position: absolute; right: 10px; pointer-events: none; }

.ms-live { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--line); font-size: 13.5px; }
.ms-live > div { flex: 1; min-width: 0; }
.ms-live__dot { width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 4px var(--ok-bg); }
.ms-live__d { font: 700 12px var(--mono); white-space: nowrap; }
.ms-live__d.is-up, .ms-delta.is-up { color: var(--ok-ink); }
.ms-live__d.is-down, .ms-delta.is-down { color: var(--bad); }
.ms-delta { font: 700 11px var(--mono); }

.ms-next { display: block; background: var(--ink); color: #fff; border-radius: 22px; overflow: hidden; }
.ms-next__top { display: flex; gap: 14px; padding: 16px; }
.ms-next__top img, .ms-next__ph { width: 76px; height: 96px; flex: none; border-radius: 12px; object-fit: cover; background: #3A1A0A; display: grid; place-items: center; }
.ms-next__top > div { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ms-next__k { font: 700 10.5px var(--mono); letter-spacing: .12em; color: #FFB27A; text-transform: uppercase; }
.ms-next__t { font-family: var(--display); font-weight: 900; font-size: 32px; line-height: 1; text-transform: uppercase; overflow-wrap: anywhere; }
.ms-next__w { font-size: 12.5px; color: #CFC8DC; }
.ms-next__body { padding: 0 16px 16px; display: flex; flex-direction: column; gap: 10px; }
.ms-next .ms-meter { background: #2E2638; }
.ms-next__c { padding: 10px; border-radius: 12px; background: #241D2C; display: flex; flex-direction: column; gap: 2px; }
.ms-next__c small { font-size: 11px; color: #CFC8DC; }
.ms-next__c b { font-size: 14px; }
.ms-next__c em { font-style: normal; font-size: 11.5px; color: #FFB27A; }

.ms-meter { height: 10px; border-radius: 9px; background: var(--soft); overflow: hidden; }
.ms-meter > span { display: block; height: 100%; border-radius: 9px; background: #FF8A1F; }
.ms-meter > span.is-ok { background: var(--ok); }
.ms-meter > span.is-done { background: #9C95A6; }
.ms-meter--thin { height: 6px; }
.ms-stat__f { display: flex; justify-content: space-between; align-items: baseline; margin-top: 4px; }
.ms-stat__f small { margin: 0; }

.ms-card__t { font-size: 15px; font-weight: 800; }
.ms-bars { display: flex; align-items: flex-end; gap: 4px; border-bottom: 1px solid var(--soft); padding-top: 4px; }
.ms-bars__b { flex: 1; min-width: 3px; border-radius: 4px 4px 0 0; background: #FFC596; }
.ms-bars__b.is-top { background: #E8650A; }
.ms-bars__b.is-last { background: var(--ink); }
.ms-axis { display: flex; justify-content: space-between; font: 500 10.5px var(--mono); color: var(--muted); }
.ms-tierbar { display: flex; flex-direction: column; gap: 5px; }
.ms-tierbar .ms-row { font-size: 13px; }

.ms-srcbar { display: flex; height: 14px; border-radius: 9px; overflow: hidden; gap: 2px; }
.ms-srcbar span { display: block; height: 100%; }
.ms-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; font-size: 13px; }
.ms-legend div { display: flex; align-items: center; gap: 8px; }
.ms-legend i { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.ms-legend b { margin-left: auto; }

.ms-heat { display: grid; grid-template-columns: 34px repeat(6, minmax(0, 1fr)); gap: 4px; align-items: center; font: 500 10px var(--mono); color: var(--muted); }
.ms-heat__h { text-align: center; }
.ms-heat__c { display: block; height: 22px; border-radius: 5px; background: #F4EFE9; }
.ms-heat__c--1 { background: #FFE3CC; } .ms-heat__c--2 { background: #FFC596; } .ms-heat__c--3 { background: #FF9D52; } .ms-heat__c--4 { background: #E8650A; }

.ms-rank { width: 20px; flex: none; font: 700 13px var(--mono); color: var(--muted); }
.ms-alertrow { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--line); color: var(--ink); }
.ms-alertrow > div { flex: 1; min-width: 0; font-size: 13.5px; }
.ms-alertrow small { display: block; color: var(--muted); font-size: 12px; }
.ms-alertrow.is-warn { background: #FFF3E6; border-color: #FFE0C2; color: #7A3A05; }
.ms-alertrow.is-warn small { color: #8F5A2B; }
.ms-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ms-quick a { min-height: 84px; border-radius: 16px; background: #fff; border: 1px solid var(--line); color: var(--ink); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; font-size: 11.5px; font-weight: 800; text-align: center; }
.ms-quick a.is-dark { background: var(--ink); border-color: var(--ink); color: #fff; }

.ms-evlist { display: flex; flex-direction: column; gap: 8px; }
.ms-ev { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 16px; background: #fff; border: 1px solid var(--line); color: var(--ink); }
.ms-ev img, .ms-ev__ph { width: 54px; height: 54px; flex: none; border-radius: 12px; object-fit: cover; background: var(--purple-bg); display: grid; place-items: center; }
.ms-ev__m { flex: 1; min-width: 0; }
.ms-ev__m b { display: block; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ms-ev__m small { font-size: 12.5px; color: var(--muted); }

.ms-eventpage { padding-bottom: 40px; }
.ms-hero { min-height: 250px; position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: max(12px, env(safe-area-inset-top)) 12px 18px; background: #3A1A0A center / cover no-repeat; color: #fff; }
.ms-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,18,31,.35) 0%, rgba(23,18,31,.15) 40%, rgba(23,18,31,.85) 100%); }
.ms-hero > * { position: relative; }
.ms-hero__bar { display: flex; justify-content: space-between; }
.ms-round { width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(23,18,31,.55); color: #fff; display: grid; place-items: center; cursor: pointer; }
.ms-hero__txt { padding: 0 6px; }
.ms-hero__t { font-family: var(--display); font-weight: 900; font-size: 44px; line-height: .95; text-transform: uppercase; overflow-wrap: anywhere; }
.ms-hero__w { font-size: 13px; color: #EBD9CC; margin-top: 4px; }
.ms-screen--flat { padding-top: 16px; padding-bottom: 24px; }
.ms-group { display: flex; flex-direction: column; gap: 8px; }
.ms-tier { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--line); text-align: left; cursor: pointer; font: inherit; color: var(--ink); }
.ms-tier__n { width: 28px; height: 28px; flex: none; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 12px; background: var(--soft); color: var(--muted); }
.ms-tier.is-active .ms-tier__n { background: var(--ok-bg); color: var(--ok-ink); }
.ms-tier.is-sold_out { opacity: .7; }
.ms-tier__m { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ms-tier__m b { font-size: 14.5px; }
.ms-tier__m small { font-size: 12px; color: var(--muted); }
.ms-tier__p { text-align: right; flex: none; }
.ms-tier__p b { display: block; }
.ms-tier__p small { font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.ms-tier.is-active .ms-tier__p small { color: var(--ok-ink); }
.ms-tier.is-sold_out .ms-tier__p small { color: var(--bad); }
.ms-kv { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #F1EDE7; font-size: 14px; }
.ms-kv:last-child { border-bottom: 0; }
.ms-kv span { color: var(--muted); }
.ms-kv b { text-align: right; }

/* part 2 — sales */
.ms-pill.is-ok { background: var(--ok-bg); color: var(--ok-ink); }
.ms-pill.is-warn, small.is-warn { color: #9A4A06; }
.ms-pill.is-warn { background: #FFF1E3; }
.ms-pill.is-bad { background: #FDECF2; color: var(--bad); }
.ms-qrs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ms-qr { margin: 0; padding: 10px; border-radius: 16px; background: #fff; border: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; align-items: center; text-align: center; }
.ms-qr img { width: 100%; max-width: 160px; aspect-ratio: 1; image-rendering: pixelated; }
.ms-qr figcaption b { display: block; font-size: 13px; }
.ms-qr figcaption small { font-size: 11.5px; color: var(--muted); }
.ms-qr--big img { max-width: 220px; }
.ms-box { padding-bottom: calc(150px + env(safe-area-inset-bottom)); }
.ms-boxbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; max-width: 560px; margin: 0 auto; padding: 12px 16px calc(14px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.ms-bigmoney { font-family: var(--display); font-weight: 900; font-size: 34px; line-height: 1; font-variant-numeric: tabular-nums; }
.ms-stepper { display: flex; align-items: center; gap: 10px; padding: 12px 12px 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.ms-stepper .ms-item__m b { display: block; font-size: 15px; }
.ms-stepper .ms-item__m small { font-size: 12.5px; color: var(--muted); }
.ms-stepper__b { width: 44px; height: 44px; flex: none; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; font: 800 20px var(--body); color: var(--ink); cursor: pointer; }
.ms-stepper__b.is-plus { border: 0; background: var(--ink); color: #fff; }
.ms-stepper__q { width: 30px; text-align: center; font-family: var(--display); font-weight: 900; font-size: 26px; font-variant-numeric: tabular-nums; }
.ms-seg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ms-coupon.is-off { opacity: .6; }
.ms-coupon__code { font: 800 17px var(--mono); letter-spacing: .04em; }
.ms-coupon__off { font-family: var(--display); font-weight: 900; font-size: 24px; color: var(--purple-ink); }

/* part 3 — team & door */
.ms-prom { gap: 10px; }
.ms-prom .ms-row { justify-content: flex-start; }
.ms-prom .ms-item__m { flex: 1; min-width: 0; }
.ms-prom__a { display: flex; gap: 6px; flex-wrap: wrap; }
.ms-prom__a .ms-btn { flex: 1 1 auto; }
.ms-livebadge { display: flex; align-items: center; gap: 6px; margin-right: 10px; font: 700 11px var(--mono); color: var(--ok-ink); }
.ms-doorcard { background: var(--ink); color: #fff; border-radius: 22px; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.ms-doorcard .ms-muted { color: #CFC8DC; font-size: 16px; }
.ms-doorcard .ms-meter { background: #2E2638; }
.ms-doorcard__n { font-family: var(--display); font-weight: 900; font-size: 72px; line-height: .9; font-variant-numeric: tabular-nums; margin-right: 8px; }
.ms-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; font-size: 12px; color: #CFC8DC; }
.ms-grid3 b { display: block; font-size: 18px; color: #fff; }

/* part 4 — más */
.ms-item--nav { min-height: 58px; }
.ms-me { flex-direction: row; align-items: center; gap: 12px; }
.ms-me img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.ms-me .ms-avatar { width: 50px; height: 50px; font-size: 18px; }
.ms-me .ms-item__m { flex: 1; min-width: 0; }
.ms-booth { width: 40px; height: 40px; flex: none; border-radius: 10px; background: var(--soft); display: grid; place-items: center; font: 800 13px var(--mono); }

/* ── Métricas de un evento ───────────────────────────────── */
.ms-funnel { display: grid; gap: 10px; }
.ms-funnel__s { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; font-size: 13px; font-weight: 700; }
.ms-funnel__s b { font-variant-numeric: tabular-nums; }
.ms-funnel__s i { grid-column: 1 / -1; height: 10px; border-radius: 99px; background: var(--soft); overflow: hidden; }
.ms-funnel__s em { display: block; height: 100%; border-radius: 99px; background: var(--pink); }
.ms-funnel__s small { grid-column: 1 / -1; font-size: 11.5px; font-weight: 600; color: var(--muted); }
.ms-funnel__s.is-worst small { color: var(--bad); font-weight: 800; }
.ms-tblwrap { overflow-x: auto; }
.ms-tbl { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.ms-tbl th { text-align: right; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 0 0 6px 8px; }
.ms-tbl td { text-align: right; padding: 8px 0 8px 8px; border-top: 1px solid var(--line); font-weight: 600; white-space: nowrap; }
.ms-tbl th:first-child, .ms-tbl td:first-child { text-align: left; padding-left: 0; font-weight: 800; }
.ms-tbl td .ms-dot { display: inline-block; margin-right: 7px; }
.ms-tbl tr.is-hl td { color: var(--purple-ink); }
.ms-pace { width: 100%; height: auto; display: block; }
.ms-pace text { fill: var(--muted); font: 500 9px var(--mono); }
.ms-pace__grid { stroke: var(--line); stroke-width: 1; }
.ms-pace__past { fill: none; stroke: #BDB5AB; stroke-width: 1.5; stroke-linejoin: round; }
.ms-pace__mine { fill: none; stroke: #E8650A; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.ms-pace__dot { fill: #E8650A; stroke: #fff; stroke-width: 2; }
.ms-insight { background: var(--purple-bg); color: var(--purple-ink); border-radius: 14px; padding: 10px 12px; font-size: 13px; font-weight: 700; line-height: 1.45; }
.ms-card .ms-chips span { font-size: 12px; font-weight: 700; background: var(--soft); border-radius: 99px; padding: 5px 10px; }

/* ── Fechas (todas las pantallas) ────────────────────────── */
.ms-range { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 8px 14px; border-radius: 14px; border: 1.5px solid var(--ink); background: var(--card); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.ms-range__t { display: flex; flex-direction: column; min-width: 0; }
.ms-range__t b { font-size: 14px; font-weight: 800; }
.ms-range__t em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--muted); }
.ms-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ms-presets button { min-height: 44px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--card); font: 700 13px var(--body); color: var(--ink); cursor: pointer; }
.ms-presets button[aria-pressed=true] { background: var(--ink); border-color: var(--ink); color: #fff; }
.ms-seg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ── Gráfica con comparación ─────────────────────────────── */
.ms-cc { width: 100%; height: auto; display: block; }
.ms-cc__bar { fill: #FFB27A; }
.ms-cc__bar.is-last { fill: #E8650A; }
.ms-cc__base { stroke: var(--line); stroke-width: 1; }
.ms-cc__cmp { fill: none; stroke: #9C95A6; stroke-width: 2; stroke-dasharray: 4 3; stroke-linejoin: round; }
.ms-cc text { fill: var(--muted); font: 500 9px var(--mono); }

/* ── Ventas: filtros y desgloses ─────────────────────────── */
.ms-picker--full { margin-left: 0; width: 100%; }
.ms-picker--full select { max-width: none; width: 100%; min-height: 44px; border-radius: 14px; background: var(--card); color: var(--ink); }
.ms-dims { display: flex; gap: 6px; overflow-x: auto; margin: 0 -14px; padding: 0 14px 2px; scrollbar-width: none; }
.ms-dims::-webkit-scrollbar { display: none; }
.ms-dim { flex: none; min-height: 34px; padding: 0 12px; border-radius: 99px; border: 1.5px solid var(--line); background: var(--card); font: 700 12.5px var(--body); color: var(--ink); cursor: pointer; }
.ms-dim[aria-pressed=true] { background: var(--ink); border-color: var(--ink); color: #fff; }
.ms-filters { display: flex; gap: 6px; overflow-x: auto; margin: 0 -16px; padding: 0 16px 2px; scrollbar-width: none; }
.ms-filters::-webkit-scrollbar { display: none; }
.ms-filter { flex: none; position: relative; }
.ms-filter select { min-height: 36px; max-width: 200px; padding: 0 12px; border-radius: 99px; border: 1.5px solid var(--line); background: var(--card); color: var(--ink); font: 700 12.5px var(--body); -webkit-appearance: none; appearance: none; text-overflow: ellipsis; }
.ms-tbl td.is-up { color: var(--ok-ink); font-weight: 800; }
.ms-tbl td.is-down { color: var(--bad); font-weight: 800; }
.ms-tbl td.ms-tbl__name { white-space: normal; max-width: 150px; }
.ms-coupon__r { font-size: 12.5px; }

/* ── Taquilla completa ───────────────────────────────────── */
#ms-tql { display: flex; flex-direction: column; gap: 10px; }
.ms-boxline { display: flex; flex-direction: column; gap: 8px; }
.ms-boxline.is-off .ms-item__m b { color: var(--muted); }
.ms-boxline .ms-pill { padding: 2px 7px; font-size: 10.5px; margin-left: 4px; vertical-align: 1px; }
.ms-pill.is-bad { background: #FDE8EF; color: var(--bad); }
.ms-pricemode { display: flex; gap: 6px; flex-wrap: wrap; }
.ms-pricemode button { min-height: 32px; padding: 0 11px; border-radius: 99px; border: 1.5px solid var(--line); background: var(--card); font: 700 12px var(--body); color: var(--ink); cursor: pointer; }
.ms-pricemode button[aria-checked=true] { background: var(--purple-bg); border-color: var(--pink); color: var(--purple-ink); }
.ms-boxprice { flex-direction: row; align-items: center; gap: 10px; text-transform: none; letter-spacing: 0; font-size: 13px; color: var(--ink); }
.ms-boxprice input { flex: 1; min-width: 0; max-width: 140px; }
.ms-picked { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: var(--ok-bg); color: var(--ok-ink); font-size: 13px; font-weight: 700; }
.ms-seg--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ms-seg--4 button { padding: 0 4px; font-size: 12.5px; }

/* ── Promotor ────────────────────────────────────────────── */
.ms-ava--img { object-fit: cover; padding: 0; }
.ms-ava--lg { width: 60px; height: 60px; font-size: 20px; }
.ms-promhero { display: flex; align-items: center; gap: 14px; }
.ms-promhero .ms-item__t { font-size: 17px; }
.ms-prom__top { color: inherit; text-decoration: none; gap: 10px; }
.ms-prom__top .ms-item__r .ms-delta { display: block; }
.ms-checks { display: flex; flex-direction: column; max-height: 260px; overflow-y: auto; border: 1px solid var(--line); border-radius: 14px; padding: 2px 12px; background: var(--card); }
.ms-checks .ms-check { min-height: 42px; border-bottom: 1px solid var(--line); }
.ms-checks .ms-check:last-child { border-bottom: 0; }
.ms-checks .ms-check small { font-weight: 600; margin-left: auto; }

/* ── Comparar eventos ────────────────────────────────────── */
.ms-cmpchips { display: flex; flex-wrap: wrap; gap: 6px; }
.ms-cmpchip { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 6px 0 10px; border-radius: 99px; background: var(--card); border: 1.5px solid var(--line); font-size: 12.5px; font-weight: 800; max-width: 100%; }
.ms-cmpchip i { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.ms-cmpchip button { border: 0; background: none; padding: 4px; cursor: pointer; color: var(--muted); display: grid; }
.ms-tbl--cmp td:first-child { color: var(--muted); font-weight: 700; }
.ms-tbl--cmp th { text-align: right; }
.ms-dots span + span::before { content: " · "; }

/* ── Links con rastreo ───────────────────────────────────── */
.ms-linkcard { color: inherit; text-decoration: none; gap: 10px; }
.ms-linkcard.is-off { opacity: .6; }
.ms-linktag { font: 600 12px var(--mono); color: var(--purple-ink); background: var(--purple-bg); border-radius: 8px; padding: 3px 8px; overflow-wrap: anywhere; }
.ms-linktag--big { font-size: 14px; padding: 6px 10px; text-align: center; }
.ms-linknums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; text-align: center; }
.ms-linknums b { display: block; font-family: var(--display); font-weight: 900; font-size: 22px; line-height: 1.1; overflow-wrap: anywhere; }
.ms-linknums small { font-size: 10px; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.ms-prefix { display: flex; align-items: center; border: 1.5px solid var(--line); border-radius: 12px; background: var(--card); overflow: hidden; }
.ms-prefix span { padding: 0 2px 0 10px; font: 600 12px var(--mono); color: var(--muted); white-space: nowrap; text-transform: none; letter-spacing: 0; }
.ms-prefix input { border: 0; flex: 1; min-width: 0; padding-left: 0; }
.ms-qrcard { align-items: center; text-align: center; }
.ms-qrimg { width: 200px; max-width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--line); image-rendering: pixelated; }
.ms-qrcard .ms-grid2 { width: 100%; }

/* ── Nueva versión ───────────────────────────────────────── */
.ms-update { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(var(--tabbar) + 12px); z-index: 60; max-width: calc(100% - 32px); min-height: 44px; padding: 0 18px; border: 0; border-radius: 99px; background: var(--ink); color: #fff; font: 800 13.5px var(--body); box-shadow: 0 10px 30px rgba(23,18,31,.3); cursor: pointer; }
.ms-invite-text { margin: 0; white-space: pre-wrap; word-break: break-word; font: 500 13px/1.45 var(--body); background: var(--soft); border-radius: 12px; padding: 10px 12px; }
.ms-atpoint .is-up { color: var(--ok-ink); } .ms-atpoint .is-down { color: var(--bad); }

/* The hidden attribute always wins (cards are display:flex, which used to beat it: Equipo's search hid nothing). */
[hidden] { display: none !important; }

/* ── Interactive charts (MS.ix): drag to read, tap to pin ── */
.ms-ix { position: relative; touch-action: pan-y; -webkit-user-select: none; user-select: none; cursor: crosshair; border-radius: 8px; -webkit-tap-highlight-color: transparent; }
.ms-ix:focus-visible { outline: 2px solid #E8650A; outline-offset: 4px; }
.ms-ix__tip { position: absolute; top: -6px; transform: translate(-50%, -100%); background: var(--ink); color: #fff; border-radius: 10px; padding: 7px 10px; font-size: 12px; line-height: 1.4; white-space: nowrap; pointer-events: none; box-shadow: 0 6px 18px rgba(23, 18, 31, .25); z-index: 5; }
.ms-ix__tip small { display: block; color: #C9C2D2; font: 500 10.5px var(--mono); }
.ms-ix__r { display: block; }
.ms-ix__r i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 5px; }
.ms-ix__r b { font-weight: 800; }
.ms-ix__guide { stroke: var(--ink); stroke-width: 1; stroke-dasharray: 2 2; }
.ms-bars__b.is-hover { background: #E8650A; }
.ms-bars__b.is-last.is-hover { background: #E8650A; }
.ms-chartbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.ms-pick { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid var(--soft); padding-top: 10px; font-size: 13px; }
.ms-pick b { font-weight: 800; }
.ms-pick .ms-link { white-space: nowrap; }
.ms-lgt { display: flex; flex-wrap: wrap; gap: 6px; }
.ms-lgt button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: #fff; border-radius: 99px; padding: 5px 10px 5px 8px; font: 700 12px var(--body); color: var(--ink); cursor: pointer; }
.ms-lgt button i { width: 10px; height: 10px; border-radius: 50%; }
.ms-lgt button[aria-pressed="false"] { color: var(--muted); text-decoration: line-through; }
.ms-lgt button[aria-pressed="false"] i { opacity: .3; }
.ms-proj { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; }
.ms-proj input { accent-color: #E8650A; width: 16px; height: 16px; margin: 0; }

/* Preview of a push notification (Avisos) */
.ms-notifprev { display: flex; flex-direction: column; gap: 2px; background: var(--soft); border-radius: 14px; padding: 10px 12px; font-size: 13px; }
.ms-notifprev b { font-weight: 800; }

.ms-tabs--1 { grid-template-columns: minmax(0, 1fr); }

/* ── Finanzas (studio-fin.js) ── */
.mf-hero { background: var(--ink); color: #fff; border-radius: 20px; padding: 16px 16px 14px; display: flex; flex-direction: column; gap: 2px; }
.mf-hero small { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #C9C2D2; }
.mf-hero b { font-family: var(--display); font-weight: 900; font-size: 46px; line-height: 1; color: #FFB27A; font-variant-numeric: tabular-nums; }
.mf-hero b.is-bad { color: #FF8FB5; }
.mf-hero__s { font-size: 13px; color: #C9C2D2; }
.mf-svg { width: 100%; height: auto; display: block; overflow: visible; }
.mf-svg text { fill: var(--muted); font: 500 9px var(--mono); }
.mf-svg .mf-wf__v { fill: var(--ink); font-weight: 700; }
.mf-axis { stroke: var(--line); stroke-width: 1; }
.mf-axis--zero { stroke: var(--ink); }
.mf-wf--base { fill: var(--ink); }
.mf-wf--neg { fill: #E8650A; }
.mf-wf--ok { fill: var(--ok); }
.mf-wf--bad { fill: var(--bad); }
.mf-banner { background: var(--ok-bg); color: var(--ok-ink); border-radius: 14px; padding: 10px 12px; font-size: 13px; }
.mf-banner--budget { background: #FFF6DC; color: #6B4A00; }
.mf-banner .ms-link { padding: 0; }
.mf-pill--budget { background: #FFF6DC; color: #6B4A00; }
.mf-pill--due { background: #FDECF2; color: var(--bad); }
.mf-steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.mf-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mf-chips button { border: 1.5px dashed var(--line); background: #fff; border-radius: 99px; padding: 7px 12px; font: 700 12.5px var(--body); color: var(--ink); cursor: pointer; }
.mf-cat { display: flex; flex-direction: column; }
.mf-cat + .mf-cat { margin-top: 6px; }
.mf-cat__h { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0; font-weight: 800; font-size: 14px; }
.mf-cat__h i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 7px; }
.mf-exp { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; width: 100%; text-align: left; border: 0; border-top: 1px dashed #EDE8E1; background: none; padding: 9px 0 9px 17px; font: 600 14px var(--body); color: var(--ink); cursor: pointer; font-variant-numeric: tabular-nums; }
.mf-exp:disabled { cursor: default; color: var(--ink); }
.mf-exp__w { min-width: 0; }
.mf-exp small { grid-column: 1; color: var(--muted); font-size: 12px; font-weight: 600; }
.mf-exp b { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-weight: 800; }
.mf-exp--auto { cursor: default; }
.mf-total { border-top: 2px solid var(--ink); margin-top: 6px; padding-left: 0; padding-right: 0; }
.mf-total span, .mf-total b { color: var(--ink); font-weight: 800; }
.mf-partner { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 10px 0; border-top: 1px solid #F1EDE7; }
.mf-partner:first-of-type { border-top: 0; }
.mf-ava { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 800; }
.mf-partner__m { min-width: 0; display: flex; flex-direction: column; gap: 1px; font-size: 14px; }
.mf-partner__m small { color: var(--muted); font-size: 12px; }
.mf-partner__r { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.mf-partner__r b { font-family: var(--display); font-weight: 900; font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; }
.mf-partner__r small { color: var(--muted); font-size: 12px; }
.mf-partner__r .ms-link { padding: 2px 0; font-size: 12px; }
.mf-hbar { display: grid; grid-template-columns: 96px minmax(0, 1fr) 76px; gap: 8px; align-items: center; font-size: 12.5px; }
.mf-hbar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.mf-hbar i { height: 14px; border-radius: 99px; background: var(--soft); overflow: hidden; display: block; }
.mf-hbar em { display: block; height: 100%; border-radius: 99px; }
.mf-hbar b { text-align: right; font-variant-numeric: tabular-nums; }
.mf-mix { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.mf-mix + .mf-mix { margin-top: 8px; }
.mf-calc { margin: -6px 0 0; font: 700 12px var(--mono); color: var(--ink); }

#mf-ov .is-up, #mf-ev .is-up, #mf-cmp .is-up { color: var(--ok-ink); }
#mf-ov .is-down, #mf-ev .is-down, #mf-cmp .is-down { color: var(--bad); }

.mf-chips--ro span { border: 1px solid var(--line); border-radius: 99px; padding: 5px 10px; font-size: 12px; font-weight: 700; background: #fff; }
.mf-fxrow { display: grid; grid-template-columns: minmax(0, 1fr) 96px 40px; gap: 6px; align-items: center; }

/* ── Wallet (#wallet/ID) ─────────────────────────────── */
.mw-meter { height: 8px; border-radius: 99px; background: var(--soft); overflow: hidden; display: flex; }
.mw-meter i { display: block; height: 100%; }
.mw-warn { background: #FFF7E0; color: #7A5200; border-radius: 16px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 1.45; }
.mw-count { margin-top: -6px; text-align: right; font: 700 11px var(--mono); color: var(--muted); }
.mw-lock { background: #1C1426; border-radius: 16px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.mw-notif { background: rgba(255,255,255,.9); border-radius: 14px; padding: 10px 12px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; }
.mw-notif--g { background: #fff; border-radius: 18px; }
.mw-ic { width: 34px; height: 34px; border-radius: 8px; background: #000; color: #FF8A2A; display: grid; place-items: center; font: 900 12px var(--display); }
.mw-notif--g .mw-ic { border-radius: 50%; background: #1A73E8; color: #fff; }
.mw-who { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 800; color: #111; }
.mw-who span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mw-who em { font-style: normal; font-weight: 600; color: #666; flex: none; }
.mw-notif p { margin: 2px 0 0; font-size: 13px; line-height: 1.35; color: #111; overflow-wrap: anywhere; }
.mw-confirm { border: 2px solid var(--pink); border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 10px; background: var(--purple-bg); }
.mw-confirm p { margin: 0; font-size: 14px; font-weight: 700; }
.mw-log { display: grid; gap: 2px; padding: 12px 14px; font-size: 14px; }
.mw-log small { color: var(--muted); font-size: 12px; font-weight: 700; }
.mw-log b { font: 700 12px var(--mono); color: var(--ok-ink); }
.mw-test { display: flex; flex-direction: column; gap: 8px; padding-top: 10px; border-top: 1px dashed var(--line); }

/* Contador público (studio-counter.js) */
.mc-card { display: flex; flex-direction: column; gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); }
.ms-label + .mc-card { border-top: 0; padding-top: 0; }
.mc-pvs { background: #0E0A14; border-radius: 16px; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.mc-pv { background: #1C1426; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; color: #fff; }
.mc-pv b { font: 800 15px var(--display); }
.mc-pv__st { font-size: 12px; font-weight: 700; color: #34D399; }
.mc-pv__st--out { color: #F87171; }
.mc-pv__bar { height: 6px; border-radius: 99px; background: rgba(255,255,255,.12); overflow: hidden; }
.mc-pv__bar i { display: block; height: 100%; background: linear-gradient(90deg, #FF8A2A, #FF3D6E); border-radius: inherit; }
.mc-pv small { font-size: 12px; color: rgba(255,255,255,.75); }

/* Tareas (studio-tasks.js) — admins only */
#mt-box { padding-bottom: 72px; }
.mt-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.mt-stat { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px 10px; text-align: left; cursor: pointer; font: inherit; color: var(--ink); }
.mt-stat b { display: block; font-family: var(--display); font-weight: 900; font-size: 30px; line-height: 1; font-variant-numeric: tabular-nums; }
.mt-stat small { display: block; margin-top: 4px; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.mt-stat--late b { color: var(--bad); }
.mt-stat--today b { color: var(--purple); }
.mt-stat--done b { color: var(--ok-ink); }
@media (max-width: 360px) { .mt-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-seg4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mt-seg4 button { padding: 0 4px; }
.mt-item { display: flex; gap: 10px; align-items: flex-start; padding: 12px 12px 12px 6px; border-bottom: 1px solid #F0EDF5; }
.mt-item:last-child { border-bottom: 0; }
.mt-check { flex: none; width: 44px; height: 44px; margin: -6px 0; display: grid; place-items: center; border: 0; background: none; cursor: pointer; }
.mt-check i { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #CFC8D6; display: grid; place-items: center; transition: background .15s, border-color .15s; }
.mt-check svg { opacity: 0; }
.mt-item.is-done .mt-check i { background: var(--ok); border-color: var(--ok); }
.mt-item.is-done .mt-check svg { opacity: 1; }
.mt-item__m { flex: 1; min-width: 0; border: 0; background: none; text-align: left; padding: 0; cursor: pointer; font: inherit; color: var(--ink); display: flex; flex-direction: column; gap: 4px; }
.mt-item__t { font-size: 14.5px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.mt-item.is-done .mt-item__t { color: var(--muted); text-decoration: line-through; text-decoration-thickness: 1.5px; }
.mt-item__s { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 12.5px; color: var(--muted); }
.mt-due { font-weight: 800; }
.mt-due--late { color: var(--bad); }
.mt-due--today { color: var(--purple); }
.mt-who { display: inline-flex; align-items: center; gap: 5px; }
.mt-av { width: 18px; height: 18px; border-radius: 50%; display: inline-grid; place-items: center; font-style: normal; font-size: 9.5px; font-weight: 800; background: var(--ink); color: #fff; }
.mt-av--c { background: var(--pink); }
.mt-av--e { background: #7C6F8A; }
.mt-wait { font-size: 12px; font-weight: 700; color: var(--bad); }
.mt-pill { flex: none; align-self: center; font-size: 11px; font-weight: 800; padding: 5px 9px; border-radius: 99px; white-space: nowrap; }
.mt-pill--curso { background: var(--purple-bg); color: var(--purple-ink); }
.mt-pill--trabada { background: #FDECF2; color: var(--bad); }
.mt-more { width: 100%; min-height: 46px; border: 0; border-top: 1px solid #F0EDF5; background: #fff; font: 800 13.5px var(--body); color: var(--purple-ink); cursor: pointer; }
.ms-list > .mt-more:first-child { border-top: 0; }
.mt-sw { padding: 0; border: 0; justify-content: space-between; }
.mt-fab { position: fixed; right: max(16px, calc((100vw - 560px) / 2 + 16px)); bottom: calc(var(--tabbar) + 16px); z-index: 9; min-height: 54px; padding: 0 20px 0 16px; border: 0; border-radius: 99px; background: var(--pink); color: #fff; font: 800 15px var(--body); display: flex; align-items: center; gap: 8px; cursor: pointer; box-shadow: 0 10px 24px -10px rgba(194,84,10,.7); }
.mt-foot { display: grid; grid-template-columns: 1fr 2fr; gap: 8px; }
.mt-foot > :only-child { grid-column: 1 / -1; }
.mt-log { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--muted); line-height: 1.4; }
.mt-log b { color: var(--ink); }
.mt-toast { display: flex; gap: 14px; align-items: center; }
.mt-toast button { border: 0; background: none; color: var(--pink-soft); font: 800 14px var(--body); cursor: pointer; padding: 4px; }
.mt-toast[hidden] { display: none; }
.mt-hero { background: var(--ink); color: #fff; border-radius: 22px; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.mt-hero__k { font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; color: var(--pink-soft); }
.mt-hero__t { font-size: 20px; font-weight: 800; line-height: 1.25; }
.mt-hero ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.mt-hero li { display: flex; gap: 10px; align-items: baseline; font-size: 14px; line-height: 1.35; }
.mt-hero li small { flex: none; min-width: 58px; font: 700 11px var(--mono); color: var(--pink-soft); }
.mt-hero li small.is-late { color: #FF8FB4; }
.mt-hero__btn { background: #2E2638; color: #fff; }

/* Textos de WhatsApp (studio-texts.js; Promo › Links uses the same cards) */
.mx-head { display: flex; flex-direction: column; gap: 8px; }
.mx-head select { width: 100%; }
.mx-sum { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--purple-ink); }
.mx-list { display: flex; flex-direction: column; gap: 10px; }
.mx-t { display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--line); border-radius: 16px; padding: 12px; background: var(--card); }
.mx-t.is-today { border-color: var(--pink); background: var(--purple-bg); }
.mx-t__h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.mx-t__n { font-size: 14px; font-weight: 800; }
.mx-t__w { font-size: 12px; color: var(--muted); }
.mx-badge { flex: none; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--purple-ink); }
.mx-badge--soft { color: var(--muted); }
.mx-t pre { margin: 0; white-space: pre-wrap; word-break: break-word; font: 500 14px/1.45 var(--body); color: var(--ink); }
.mx-acts { display: flex; gap: 8px; }
.mx-acts > * { flex: 1; }
.mx-acts > .mx-edit { flex: 0 0 auto; }
.mx-wa { background: #0E7A6E; color: #fff; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.mx-line { display: flex; gap: 8px; }
.mx-line input { flex: 1; min-width: 0; }

/* Sprint (Equipo › Retos) */
.ms-fday { border: 1px solid var(--line); border-radius: 14px; padding: 0 12px; background: var(--card); }
.ms-fday > summary { min-height: 44px; display: flex; align-items: center; font-size: 14px; font-weight: 700; cursor: pointer; }
.ms-fday[open] { padding-bottom: 12px; }
.ms-fday[open] > summary { margin-bottom: 4px; }

/* Booths: reservation editor (stepper, money summary, payments, reminder) */
.ms-btn--debt { background: #FDECF2; color: var(--bad); }
.ms-btn--wa { background: #E7F8EE; color: #0B6B37; box-shadow: inset 0 0 0 1.5px #BFE9CF; text-decoration: none; }
.ms-btn:disabled { opacity: .5; cursor: default; }
.ms-step { display: flex; align-items: center; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1.5px var(--line); }
.ms-step button { width: 54px; height: 50px; border: 0; background: var(--soft); font: 800 22px var(--body); color: var(--ink); cursor: pointer; }
.ms-step output { flex: 1; text-align: center; font-family: var(--display); font-weight: 900; font-size: 26px; font-variant-numeric: tabular-nums; }
.ms-money3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; text-align: center; }
.ms-money3 > div { background: #fff; border-radius: 12px; padding: 10px 4px; box-shadow: inset 0 0 0 1.5px var(--line); }
.ms-money3 b { display: block; font-family: var(--display); font-weight: 900; font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ms-money3 small { font-size: 11px; font-weight: 700; color: var(--muted); }
.ms-money3 .is-due b { color: var(--bad); }
.ms-sec { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.ms-payrow { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; border-radius: 10px; background: var(--soft); font-size: 13.5px; font-weight: 700; }
.ms-payrow b { font-variant-numeric: tabular-nums; }
.ms-msg { margin: 0; padding: 10px 12px; border-radius: 10px; border: 1.5px dashed var(--line); background: #fff; font-size: 13.5px; line-height: 1.45; user-select: text; -webkit-user-select: text; }
.ms-orph { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 8px; font-size: 12.5px; }
.ms-orph > span { min-width: 0; }

/* Pronósticos */
.ms-fc__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ms-fc__tiles .ms-stat { padding: 12px 10px; }
.ms-fc__tiles .ms-stat b { font-size: 26px; }
.ms-fc__t { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.ms-fc__t th { text-align: right; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 4px 0; }
.ms-fc__t td { text-align: right; padding: 8px 0; border-top: 1px solid var(--line); }
.ms-fc__t th:first-child, .ms-fc__t td:first-child { text-align: left; }
.ms-fc__t td.is-low { color: var(--bad); font-weight: 800; }
.ms-fc__t td.is-high { color: var(--ok-ink); font-weight: 800; }
