/* MV Teams — matches the mv-monarch theme (navy #062049, blue #3b6d9c, orange #f8981d). */
.mv-team-card, .mv-team, .mv-team-code {
	--t-navy: #062049; --t-blue: #3b6d9c; --t-orange: #f8981d; --t-ink: #2b2b24; --t-muted: #636459;
	--t-line: #e4e1d8; --t-soft: #f7f6f2;
	max-width: 62rem; margin: 2rem auto; padding: clamp(1.25rem, 3vw, 2.25rem);
	border: 1px solid var(--t-line); border-radius: 0.9rem; background: #fff; color: var(--t-ink);
	box-shadow: 0 1px 3px rgba(6, 32, 73, 0.06);
}
.mv-team-card { max-width: 40rem; }
.mv-team-card h2, .mv-team__title, .mv-team-code__heading { margin: 0 0 0.75rem; color: var(--t-navy); font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.6rem); font-weight: 700; }
.mv-team-card--success { border-top: 4px solid var(--t-orange); }
.mv-team-muted { color: var(--t-muted); font-size: 0.95rem; margin: 0; }

.mv-team-button, .mv-team-card button.mv-team-button {
	display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.7rem 1.35rem; border: 0; border-radius: 999px;
	background: var(--t-orange); color: var(--t-navy); font-weight: 700; text-decoration: none; cursor: pointer; font-size: 1rem;
}
.mv-team-button:hover, .mv-team-button:focus-visible { background: #e3830a; color: var(--t-navy); }
.mv-team-link { font-weight: 600; color: var(--t-blue); margin-left: 1rem; }
td .mv-team-link, .mv-team__export .mv-team-link { margin-left: 0; }
.mv-team-copy {
	padding: 0.5rem 0.9rem; border: 2px solid var(--t-blue); border-radius: 0.5rem; background: #fff; color: var(--t-blue);
	font-weight: 600; cursor: pointer; white-space: nowrap;
}
.mv-team-copy:hover, .mv-team-copy:focus-visible { background: var(--t-blue); color: #fff; }
.mv-team-copy.is-copied { background: #198754; border-color: #198754; color: #fff; }

/* Invitation code */
.mv-team-code { border-top: 4px solid var(--t-orange); }
.mv-team-code__row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 0.75rem 0; }
.mv-team-code__code {
	padding: 0.5rem 0.9rem; border-radius: 0.5rem; background: var(--t-soft); border: 1px dashed var(--t-blue);
	color: var(--t-navy); font-size: 1.35rem; font-weight: 800; letter-spacing: 0.12em;
}
.mv-team-code__link { flex: 1 1 18rem; min-width: 0; padding: 0.55rem 0.75rem; border: 1px solid var(--t-line); border-radius: 0.5rem; background: var(--t-soft); font-size: 0.9rem; }
.mv-team-code__next { margin: 1.25rem 0 0; }

/* Join form */
.mv-team-join form { margin: 0; }
.mv-team-field { margin: 0 0 1rem; }
.mv-team-field label { display: block; margin-bottom: 0.3rem; font-weight: 600; color: var(--t-navy); }
.mv-team-field input[type="text"], .mv-team-field input[type="email"], .mv-team-field input[type="password"] {
	width: 100%; padding: 0.65rem 0.8rem; border: 1px solid #b9b6ad; border-radius: 0.5rem; font-size: 1rem; background: #fff;
}
.mv-team-field input:focus-visible { outline: 3px solid rgba(59, 109, 156, 0.35); border-color: var(--t-blue); }
.mv-team-field input[aria-invalid="true"] { border-color: #b02a37; }
.mv-team-field__code { text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; max-width: 16rem; }
.mv-team-field__hint { font-weight: 400; color: var(--t-muted); font-size: 0.9rem; }
.mv-team-field__error { margin: 0.35rem 0 0; color: #b02a37; font-size: 0.92rem; }
.mv-team-field__error a { color: inherit; font-weight: 700; }
.mv-team-field-row { display: grid; gap: 0 1rem; grid-template-columns: 1fr; }
@media (min-width: 576px) { .mv-team-field-row { grid-template-columns: 1fr 1fr; } }
.mv-team-field--check { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0.5rem; }
.mv-team-field--check input { margin-top: 0.3rem; width: 1.1rem; height: 1.1rem; }
.mv-team-field--check label { flex: 1; font-weight: 400; color: var(--t-ink); margin: 0; }
.mv-team-field--check .mv-team-field__error { flex-basis: 100%; }
.mv-team-join__as, .mv-team-join__intro, .mv-team-join__login { color: var(--t-muted); }
.mv-team-alert { margin: 0 0 1.25rem; padding: 0.85rem 1rem; border-left: 4px solid #b02a37; border-radius: 0.5rem; background: #fbeaec; color: #6a1a22; }

/* Dashboard */
.mv-team__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1rem 2rem; margin-bottom: 1.25rem; }
.mv-team__stats { display: flex; gap: 0.75rem; margin: 0; }
.mv-team__stats div { min-width: 6.5rem; padding: 0.6rem 0.9rem; border-radius: 0.6rem; background: var(--t-soft); text-align: center; }
.mv-team__stats dt { font-size: 0.8rem; font-weight: 600; color: var(--t-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.mv-team__stats dd { margin: 0; font-size: 1.4rem; font-weight: 800; color: var(--t-navy); }
.mv-team__invite { padding: 1rem 1.25rem; border-radius: 0.75rem; background: #eef4fa; margin-bottom: 1.5rem; }
.mv-team__invite-label { margin: 0; font-weight: 700; color: var(--t-navy); }
.mv-team-empty { padding: 1.25rem; border: 1px dashed var(--t-line); border-radius: 0.75rem; color: var(--t-muted); text-align: center; }
.mv-team__table-wrap { overflow-x: auto; }
.mv-team__table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.mv-team__table th, .mv-team__table td { padding: 0.75rem 0.6rem; border-bottom: 1px solid var(--t-line); text-align: left; vertical-align: middle; }
.mv-team__table thead th { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--t-muted); border-bottom-width: 2px; white-space: nowrap; }
.mv-team__name { display: block; font-weight: 700; color: var(--t-navy); }
.mv-team__email { display: block; font-weight: 400; color: var(--t-muted); font-size: 0.85rem; word-break: break-all; }
.mv-team__bar { display: block; width: 100%; max-width: 12rem; height: 0.45rem; border-radius: 999px; background: #e9e6dd; overflow: hidden; margin-bottom: 0.4rem; }
.mv-team__bar span { display: block; height: 100%; background: var(--t-orange); }
.mv-team__modules { display: inline-flex; gap: 0.2rem; vertical-align: middle; }
.mv-team__dot { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; font-size: 0.72rem; font-weight: 700; }
.mv-team__dot--done { background: var(--t-blue); color: #fff; }
.mv-team__dot--progress { background: #fde2bd; color: var(--t-navy); box-shadow: inset 0 0 0 2px var(--t-orange); }
.mv-team__dot--todo { background: #eeece6; color: var(--t-muted); }
.mv-team__count { margin-left: 0.4rem; font-size: 0.85rem; color: var(--t-muted); white-space: nowrap; }
.mv-team__status { display: inline-block; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.82rem; font-weight: 700; white-space: nowrap; }
.mv-team__status--completed { background: #d1e7dd; color: #0f5132; }
.mv-team__status--progress { background: #fde2bd; color: #6b3d00; }
.mv-team__status--not-started { background: #eeece6; color: #4a4a40; }
.mv-team__status--ended { background: #f3d6d9; color: #6a1a22; }
.mv-team__export { margin: 1rem 0 0; }

/* Product page tier table */
.mv-team-tiers { margin: 1.25rem 0; }
.mv-team-tiers__table { width: 100%; border-collapse: collapse; margin: 0 0 0.75rem; }
.mv-team-tiers__table caption { caption-side: top; text-align: left; font-weight: 700; color: #062049; padding-bottom: 0.4rem; }
.mv-team-tiers__table th, .mv-team-tiers__table td { padding: 0.55rem 0.75rem; border: 1px solid #e4e1d8; text-align: left; }
.mv-team-tiers__table thead th { background: #47473b; color: #fff; font-weight: 600; }
.mv-team-tiers__table tr.is-active th, .mv-team-tiers__table tr.is-active td { background: #fff4e3; font-weight: 700; }
.mv-team-tiers__total { font-size: 1.1rem; font-weight: 700; color: #062049; margin: 0.25rem 0; }
.mv-team-tiers__note { font-size: 0.9rem; color: #636459; }

@media (max-width: 640px) {
	.mv-team__table thead { display: none; }
	.mv-team__table tr { display: block; padding: 0.75rem 0; border-bottom: 1px solid var(--t-line); }
	.mv-team__table th, .mv-team__table td { display: block; border: 0; padding: 0.25rem 0; }
}

/* Product page: which team the seats go to */
.mv-team-target { margin: 0 0 1rem; padding: 0.9rem 1rem; border: 1px solid #e4e1d8; border-radius: 0.6rem; background: #f7f6f2; }
.mv-team-target legend { float: left; width: 100%; margin: 0 0 0.5rem; font-weight: 700; color: #062049; font-size: 1rem; }
.mv-team-target label { display: flex; gap: 0.5rem; align-items: flex-start; margin: 0.35rem 0; font-size: 0.95rem; cursor: pointer; }
.mv-team-target input { margin-top: 0.3rem; }
a.mv-team-copy.mv-team-add { text-decoration: none; }

/* "How to invite someone" under the invitation code */
.mv-team-howto { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(6, 32, 73, .12); }
.mv-team-howto__title { margin: 0 0 .5rem; font-size: 1.05rem; font-weight: 700; color: var(--t-navy, #062049); }
.mv-team-howto ol { margin: 0 0 .75rem; padding-left: 1.4rem; }
.mv-team-howto li { margin: 0 0 .35rem; line-height: 1.55; }
.mv-team-howto .mv-team-muted { margin: 0; }
