:root {
  /* MODEL TV palette sampled from the supplied logo: blue #004574 and pink #D81E5B. */
  --mtv-navy: #004574;
  --mtv-blue-light: #004574;
  --mtv-navy-deep: #184B68;
  --mtv-navy-ink: #102F43;
  /* Ink ramp — every text and icon colour in the interface. Pure black for primary
     type, then neutral blacks at the tones the old blue greys carried, so muted
     text stays muted. dark.css swaps the whole ramp for near-white. */
  --mtv-ink: #000000;
  --mtv-ink-2: rgba(0, 0, 0, .86);
  --mtv-ink-3: rgba(0, 0, 0, .74);
  --mtv-ink-4: rgba(0, 0, 0, .64);
  --mtv-ink-5: rgba(0, 0, 0, .55);
  --mtv-magenta: #D81E5B;
  --mtv-magenta-soft: #B41650;
  --mtv-paper: #F7F7F7;
  --mtv-white: #FFFFFF;
  --mtv-text: #F1F1F1;
  --mtv-text-dim: #B3B3B3;
  --mtv-hairline: rgba(0, 0, 0, .11);
  --mtv-radius: 14px;
  --mtv-radius-sm: 8px;
  --mtv-shadow: 0 18px 50px rgba(0, 0, 0, .45);
  --mtv-font-display: "Georgia", "Times New Roman", serif;
  --mtv-font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--mtv-white);
  color: var(--mtv-ink);
  font-family: var(--mtv-font-ui);
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.mtv-infobar {
  background: var(--mtv-magenta); color: #fff;
  display: flex; justify-content: center; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 9px 16px; font-size: 12.5px; letter-spacing: .05em;
}
.mtv-infobar a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mtv-infobar a:hover { color: #FFE4EC; }
.mtv-infobar__sep { opacity: .55; }

.mtv-header {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; gap: 28px;
  width: 100%;
  padding: 11px max(2vw, calc((100vw - 1640px) / 2 + 14px));
  background: #fff;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0, 69, 116, .15);
}
.mtv-logo { display: flex; align-items: center; }
.mtv-logo img { height: 34px; width: auto; border-radius: 4px; }
.mtv-nav { display: flex; gap: 22px; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.mtv-nav a { color: var(--mtv-ink-4); padding: 6px 2px; border-bottom: 2px solid transparent; }
.mtv-nav a:hover, .mtv-nav a.active { color: var(--mtv-ink); border-bottom-color: var(--mtv-magenta); }
.mtv-search { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.mtv-search input {
  background: rgba(0,69,116,.06); border: 1px solid rgba(0,69,116,.18);
  color: var(--mtv-ink); border-radius: 999px; padding: 7px 14px; font-size: 13px; width: 320px;
}
.mtv-search input::placeholder { color: var(--mtv-ink-5); }
.mtv-search input:focus { outline: none; border-color: var(--mtv-magenta); width: 420px; transition: width .2s; }

.mtv-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--mtv-magenta); color: #fff; border: 0; cursor: pointer;
  font: 600 14px/1 var(--mtv-font-ui); letter-spacing: .03em;
  padding: 12px 22px; border-radius: 999px;
}
.mtv-btn:hover { background: var(--mtv-magenta-soft); }
.mtv-btn--ghost { background: transparent; border: 1px solid rgba(0,69,116,.22); color: var(--mtv-ink); }
.mtv-btn--ghost:hover { border-color: var(--mtv-magenta); background: rgba(216,30,91,.08); color: var(--mtv-magenta); }
.mtv-header .mtv-btn--ghost { background: var(--mtv-magenta); border-color: var(--mtv-magenta); color: #fff; }
.mtv-header .mtv-btn--ghost:hover { background: var(--mtv-magenta-soft); border-color: var(--mtv-magenta-soft); }
.mtv-main { width: min(1640px, 96vw); margin: 0 auto; padding: 0 clamp(14px, 2.5vw, 36px) 80px; }
.mtv-section { margin-top: 56px; }
.mtv-section__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.mtv-section__title { font: 400 26px/1.2 var(--mtv-font-display); letter-spacing: .02em; margin: 0; color: var(--mtv-ink); }
.mtv-section__link { color: var(--mtv-magenta); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.mtv-section__link:hover { color: var(--mtv-magenta-soft); }

/* Hero */
.mtv-hero {
  margin-top: 32px; position: relative; border-radius: calc(var(--mtv-radius) * 1.6);
  overflow: hidden; box-shadow: var(--mtv-shadow);
  min-height: clamp(340px, 52vh, 560px); display: flex; align-items: flex-end;
}
.mtv-hero__bg { position: absolute; inset: 0; }
.mtv-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(16,47,67,.92) 100%); }
.mtv-hero__body { position: relative; padding: clamp(20px, 4vw, 44px); max-width: 720px; }
.mtv-hero__kicker { color: var(--mtv-magenta-soft); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.mtv-hero__title { font: 400 clamp(28px, 4.6vw, 52px)/1.1 var(--mtv-font-display); margin: 10px 0 8px; color: #fff; }
.mtv-hero__desc { color: var(--mtv-text-dim); font-size: 15px; line-height: 1.6; margin: 0 0 18px; }
.mtv-hero__actions { display: flex; gap: 12px; align-items: center; }

/* Badges */
.mtv-badge {
  display: inline-block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(0,69,116,.3); color: var(--mtv-ink);
}
.mtv-badge--premium { background: var(--mtv-magenta); border-color: var(--mtv-magenta); color: #fff; }
.mtv-badge--live { background: #B91C1C; border-color: #B91C1C; color: #fff; }

/* Cards */
.mtv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.mtv-card {
  background: #fff; border: 1px solid rgba(0,69,116,.14);
  border-radius: var(--mtv-radius); overflow: hidden; transition: transform .18s, border-color .18s, box-shadow .18s;
  box-shadow: 0 2px 10px rgba(0,69,116,.06);
  display: block;
}
.mtv-card:hover { transform: translateY(-4px); border-color: rgba(216,30,91,.55); box-shadow: 0 12px 30px rgba(0,69,116,.12); }
.mtv-card__poster { position: relative; aspect-ratio: 16/9; display: flex; align-items: flex-end; padding: 12px; }
.mtv-card__duration {
  position: absolute; right: 10px; top: 10px; background: rgba(16,47,67,.8);
  font-size: 12px; padding: 3px 8px; border-radius: 6px; color: #fff;
}
.mtv-card__body { padding: 14px 16px 16px; }
.mtv-card__title { font: 400 17px/1.3 var(--mtv-font-display); margin: 0 0 6px; color: var(--mtv-ink); }
.mtv-card__meta { color: var(--mtv-ink-4); font-size: 12.5px; display: flex; gap: 10px; align-items: center; }

/* Poster gradients (deterministic, from seed data) */
.mtv-poster--0 { background: linear-gradient(135deg, #004574 0%, #184B68 60%, #102F43 100%); }
.mtv-poster--1 { background: linear-gradient(135deg, #D81E5B 0%, #8E1240 55%, #2A0F26 100%); }
.mtv-poster--2 { background: linear-gradient(135deg, #004574 0%, #004574 45%, #D81E5B 120%); }
.mtv-poster--3 { background: linear-gradient(160deg, #102F43 0%, #004574 55%, #B41650 130%); }
.mtv-poster--4 { background: linear-gradient(135deg, #2C1B45 0%, #004574 60%, #D81E5B 125%); }
.mtv-poster__wordmark {
  font: 400 clamp(20px, 3vw, 34px)/1 var(--mtv-font-display);
  color: rgba(255,255,255,.92); letter-spacing: .08em; text-shadow: 0 2px 18px rgba(0,0,0,.5);
}

/* Model tiles */
.mtv-models { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 18px; }
.mtv-model { text-align: center; }
.mtv-model__avatar {
  width: 140px; height: 140px; margin: 0 auto 12px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font: 400 34px var(--mtv-font-display); color: #fff;
  border: 2px solid rgba(0,69,116,.15); transition: border-color .18s;
}
.mtv-model:hover .mtv-model__avatar { border-color: var(--mtv-magenta); }
.mtv-model__name { font: 400 16px var(--mtv-font-display); color: var(--mtv-ink); }
.mtv-model__role { color: var(--mtv-ink-4); font-size: 12.5px; margin-top: 3px; }

/* Video detail */
.mtv-player {
  margin-top: 28px; aspect-ratio: 16/9; border-radius: var(--mtv-radius);
  display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;
  box-shadow: var(--mtv-shadow);
}
.mtv-player__notice {
  position: absolute; bottom: 14px; left: 16px; font-size: 12px;
  color: #fff; background: rgba(16,47,67,.75); padding: 6px 12px; border-radius: 8px;
}
.mtv-player__play {
  width: 84px; height: 84px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(216,30,91,.92); color: #fff; font-size: 30px;
  display: flex; align-items: center; justify-content: center;
  transition: transform .15s, background .15s;
}
.mtv-player__play:hover { transform: scale(1.07); background: var(--mtv-magenta); }

/* Category chips */
.mtv-chips { display: flex; flex-wrap: wrap; gap: 12px; }
.mtv-chip {
  border: 1px solid rgba(0,69,116,.2); border-radius: 999px; padding: 10px 20px;
  font-size: 13.5px; letter-spacing: .04em; color: var(--mtv-ink);
  background: #fff; transition: border-color .15s, background .15s;
}
.mtv-chip:hover, .mtv-chip--active { border-color: var(--mtv-magenta); background: rgba(216,30,91,.08); color: var(--mtv-ink); }
.mtv-chip__count { color: var(--mtv-ink-5); font-size: 12px; margin-left: 6px; }

/* Empty states */
.mtv-empty {
  border: 1px dashed rgba(0,69,116,.3); border-radius: var(--mtv-radius);
  padding: 40px 24px; text-align: center; color: var(--mtv-ink-4); background: rgba(0,69,116,.03);
}
.mtv-empty h3 { color: var(--mtv-ink); font: 400 20px var(--mtv-font-display); margin: 0 0 8px; }

.mtv-footer {
  background: linear-gradient(120deg, var(--mtv-magenta) 0%, #B41650 100%);
  color: #fff; margin-top: 90px;
  padding: 64px max(2vw, calc((100vw - 1640px) / 2 + 14px)) 0;
}
.mtv-footer__grid {
  display: grid; gap: 48px;
  grid-template-columns: minmax(280px, 1.4fr) repeat(auto-fit, minmax(180px, 1fr));
}
.mtv-footer__brand .mtv-footer__logo {
  height: 52px; margin-bottom: 18px; background: #fff;
  padding: 10px 14px; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.mtv-footer__brand p { color: rgba(255,255,255,.85); line-height: 1.7; font-size: 15px; max-width: 420px; margin: 0; }
.mtv-footer h4 { font: 400 18px/1.2 var(--mtv-font-display); margin: 0 0 16px; letter-spacing: .04em; }
.mtv-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mtv-footer ul a { color: rgba(255,255,255,.85); font-size: 14.5px; }
.mtv-footer ul a:hover { color: #fff; text-decoration: underline; }
.mtv-footer__bottom {
  margin-top: 56px; border-top: 1px solid rgba(255,255,255,.3);
  padding: 20px 0; display: flex; gap: 16px; flex-wrap: wrap;
  font-size: 13px; color: rgba(255,255,255,.8);
}
.mtv-footer__bottom span:last-child { margin-left: auto; }

.mtv-page-title { font: 400 clamp(26px, 4vw, 40px) var(--mtv-font-display); margin: 36px 0 6px; color: var(--mtv-ink); }
.mtv-page-sub { color: var(--mtv-ink-4); margin: 0 0 28px; }
.mtv-meta-line { color: var(--mtv-ink-3); font-size: 13px; display: flex; gap: 14px; flex-wrap: wrap; margin: 10px 0 22px; }
.mtv-meta-line a { color: var(--mtv-magenta); }

@media (max-width: 640px) {
  .mtv-header { flex-wrap: wrap; gap: 10px 16px; }
  .mtv-nav { order: 3; width: 100%; overflow-x: auto; gap: 16px; padding-bottom: 4px; }
  .mtv-search { margin-left: auto; }
  .mtv-search input { width: 190px; }
  .mtv-search input:focus { width: 220px; }
}

/* ---- Phase 1: accounts, profiles, follows ---- */
.mtv-btn--primary { background: var(--mtv-magenta); color: #fff; }
.mtv-btn--primary:hover { background: var(--mtv-magenta-soft); }
.mtv-btn--solid { background: var(--mtv-magenta); color: #fff; }
.mtv-btn--outline { background: transparent; color: var(--mtv-ink); border: 1px solid rgba(0,69,116,.35); }
.mtv-btn--outline:hover { border-color: var(--mtv-magenta); color: var(--mtv-magenta); }
.mtv-btn--block { width: 100%; justify-content: center; }
.mtv-btn--sm { padding: 8px 16px; font-size: 13px; }
.mtv-btn:disabled { opacity: .5; cursor: not-allowed; }

.mtv-authnav { display: flex; align-items: center; gap: 10px; margin-left: 18px; }
.mtv-auth-page { background: #fff; }
.mtv-auth { width: min(520px, 92vw); margin: clamp(40px, 8vh, 90px) auto 80px; }
.mtv-auth__logo img { height: 64px; }
.mtv-auth h1 { font: 400 34px/1.15 var(--mtv-font-display); color: var(--mtv-ink); margin: 18px 0 6px; }
.mtv-auth__sub { color: var(--mtv-ink-3); margin: 0 0 24px; }
.mtv-auth__errors { border: 1px solid rgba(216,30,91,.4); background: rgba(216,30,91,.06); border-radius: 10px; padding: 12px 16px; margin-bottom: 18px; }
.mtv-auth__errors ul { margin: 0; padding-left: 18px; color: var(--mtv-magenta); font-size: 14px; }
.mtv-auth__form { display: grid; gap: 14px; }
.mtv-auth__form label { display: grid; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--mtv-ink); }
.mtv-auth__form input:not([type=checkbox]) { font: 400 15px var(--mtv-font-ui); padding: 12px 14px; border: 1px solid var(--mtv-hairline); border-radius: 10px; background: #fff; color: var(--mtv-ink); }
.mtv-auth__form input:focus { outline: none; border-color: var(--mtv-magenta); }
.mtv-auth__form small { font-weight: 400; color: var(--mtv-ink-4); }
.mtv-auth__check { display: flex !important; flex-direction: row; align-items: center; gap: 8px !important; font-weight: 500 !important; }
.mtv-auth__alt { margin-top: 22px; font-size: 14px; color: var(--mtv-ink-4); }
.mtv-auth__alt a { color: var(--mtv-magenta); font-weight: 600; }

.mtv-toast { width: min(1640px, 96vw); margin: 18px auto 0; padding: 12px 18px; border-radius: 10px; background: rgba(216,30,91,.08); border: 1px solid rgba(216,30,91,.3); color: var(--mtv-magenta); font-weight: 600; font-size: 14px; }

.mtv-panel { background: #fff; border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); padding: clamp(20px, 4vw, 44px); box-shadow: 0 10px 30px rgba(0,69,116,.06); }
.mtv-panel h1 { font: 400 30px/1.15 var(--mtv-font-display); color: var(--mtv-ink); margin: 0 0 6px; }
.mtv-muted { color: var(--mtv-ink-4); }
.mtv-form { display: grid; gap: 14px; margin-top: 18px; }
.mtv-form label { display: grid; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--mtv-ink); }
.mtv-form input:not([type=checkbox]), .mtv-form textarea { font: 400 15px var(--mtv-font-ui); padding: 11px 13px; border: 1px solid var(--mtv-hairline); border-radius: 10px; background: #fff; color: var(--mtv-ink); }
.mtv-form input:focus, .mtv-form textarea:focus { outline: none; border-color: var(--mtv-magenta); }
.mtv-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.mtv-form--privacy { margin-top: 40px; border-top: 1px dashed rgba(0,69,116,.25); padding-top: 22px; }
.mtv-fieldset { border: 1px solid var(--mtv-hairline); border-radius: 12px; padding: 16px 18px 18px; display: grid; gap: 12px; }
.mtv-fieldset legend { font-weight: 700; color: var(--mtv-ink); font-size: 13.5px; padding: 0 8px; }
.mtv-checkrow { display: flex !important; flex-direction: row; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; }

.mtv-rolegrid { display: flex; flex-wrap: wrap; gap: 10px; }
.mtv-rolechip { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 8px; border: 1px solid rgba(0,69,116,.2); border-radius: 999px; padding: 9px 16px; cursor: pointer; font-weight: 500 !important; background: #fff; }
.mtv-rolechip:has(input:checked) { border-color: var(--mtv-magenta); background: rgba(216,30,91,.08); color: var(--mtv-magenta); }
.mtv-rolechip input { accent-color: var(--mtv-magenta); }

.mtv-profile { background: #fff; border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); overflow: hidden; box-shadow: 0 10px 30px rgba(0,69,116,.06); }
.mtv-profile__banner { height: clamp(120px, 18vw, 220px); background: linear-gradient(120deg, var(--mtv-navy) 0%, var(--mtv-magenta) 100%); }
.mtv-profile__head { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; padding: 0 clamp(18px, 3vw, 36px) 32px; align-items: start; }
.mtv-profile__head > .mtv-avatar { margin-top: -44px; }
.mtv-profile__id { padding-top: 16px; }
.mtv-profile__id h1 { font: 400 28px/1.1 var(--mtv-font-display); color: var(--mtv-ink); margin: 0; }
.mtv-profile__handle { color: var(--mtv-ink-4); margin: 4px 0 10px; }
.mtv-profile__roles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.mtv-profile__bio { margin: 0 0 10px; max-width: 60ch; }
.mtv-profile__meta { margin: 0 0 8px; font-size: 14px; color: var(--mtv-ink-3); display: flex; flex-wrap: wrap; gap: 8px; }
.mtv-profile__meta a { color: var(--mtv-magenta); }
.mtv-profile__stats { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 12px; font-size: 14px; }
.mtv-profile__stats a { color: var(--mtv-ink); text-decoration: none; }
.mtv-profile__stats a:hover { color: var(--mtv-magenta); }
.mtv-profile__actions { display: grid; gap: 10px; padding-top: 70px; justify-items: stretch; }
.mtv-profile-services { margin: 8px 0 14px; }
.mtv-profile-services__summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 46px; padding: 10px 15px; border: 1px solid rgba(0,69,116,.12);
  border-radius: 15px; background: linear-gradient(110deg, rgba(0,69,116,.045), rgba(216,30,91,.045));
  color: var(--mtv-ink); font-size: 14px; font-weight: 700; cursor: pointer; list-style: none;
}
.mtv-profile-services__summary::-webkit-details-marker { display: none; }
.mtv-profile-services__summary::after { content: "+"; color: var(--mtv-magenta); font-size: 20px; line-height: 1; }
.mtv-profile-services[open] .mtv-profile-services__summary::after { content: "−"; }
.mtv-profile-services__count { margin-left: auto; color: var(--mtv-ink-4); font-size: 12px; font-weight: 600; }
.mtv-profile-services__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 10px; padding-top: 10px; }
.mtv-profile-services__list > .mtv-card { min-width: 0; padding: 13px; text-decoration: none; }

.mtv-avatar { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: linear-gradient(140deg, var(--mtv-navy), var(--mtv-magenta)); color: #fff; font-weight: 700; text-decoration: none; }
.mtv-avatar--nav { width: 34px; height: 34px; font-size: 12px; }
.mtv-avatar--xl { width: 92px; height: 92px; font-size: 30px; border: 4px solid #fff; box-shadow: 0 6px 18px rgba(0,69,116,.18); }
.mtv-people { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 14px; }
.mtv-people li { display: flex; gap: 14px; align-items: center; }
.mtv-people__name { font-weight: 700; color: var(--mtv-ink); text-decoration: none; }
.mtv-people__name:hover { color: var(--mtv-magenta); }
.mtv-pagination { margin-top: 24px; display: flex; justify-content: center; }
.mtv-pager { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
.mtv-pager__num, .mtv-pager__step { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 38px; padding: 0 14px; border: 1px solid var(--mtv-hairline); border-radius: 999px; background: #fff; color: var(--mtv-ink); font-size: 13.5px; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; }
.mtv-pager__num:hover, .mtv-pager__step:hover { border-color: var(--mtv-magenta); color: var(--mtv-magenta); }
.mtv-pager__num.is-now { background: var(--mtv-magenta); border-color: var(--mtv-magenta); color: #fff; }
.mtv-pager__num.is-now:hover { color: #fff; }
.mtv-pager__step.is-off { opacity: .38; }
.mtv-pager__gap { padding: 0 2px; color: var(--mtv-ink-5); font-size: 14px; }
@media (max-width: 760px) {
  .mtv-pager__num:not(.is-now) { display: none; }
  .mtv-pager__gap { display: none; }
}

@media (max-width: 760px) {
  .mtv-authnav { margin-left: 0; }
  .mtv-profile__head { grid-template-columns: 1fr; }
  .mtv-profile__actions { padding-top: 0; grid-template-columns: 1fr 1fr; }
  .mtv-profile__head > .mtv-avatar { margin-top: -46px; }
  .mtv-profile-services { margin: 4px 0 10px; }
  .mtv-profile-services__summary { min-height: 42px; padding: 9px 13px; font-size: 13px; }
  .mtv-profile-services__list { grid-template-columns: 1fr; gap: 8px; padding-top: 8px; }
  .mtv-profile-services__list > .mtv-card { padding: 11px 13px; }
}

/* ---- Phase 2: feed, posts, interactions ---- */
.mtv-feed { display: grid; grid-template-columns: 220px minmax(0, 640px) 300px; gap: 32px; align-items: start; }
.mtv-feed__left { position: sticky; top: 86px; height: calc(100vh - 104px); display: flex; flex-direction: column; }
.mtv-sidenav { display: grid; gap: 4px; overflow-y: auto; min-height: 0; scrollbar-width: thin; }
.mtv-sidenav a { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 10px; color: var(--mtv-ink); text-decoration: none; font-weight: 600; font-size: 15px; }
.mtv-sidenav a:hover { background: rgba(216,30,91,.06); color: var(--mtv-magenta); }
.mtv-sidenav a.active { background: rgba(216,30,91,.1); color: var(--mtv-magenta); }
.mtv-sidenav__account { margin-top: auto; padding: 14px 2px 2px; border-top: 1px solid var(--mtv-hairline); display: grid; gap: 10px; }
.mtv-sidenav__user { display: flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; color: var(--mtv-ink); }
.mtv-sidenav__names { display: grid; line-height: 1.25; min-width: 0; }
.mtv-sidenav__name { font-weight: 700; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mtv-sidenav__handle { color: var(--mtv-ink-4); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mtv-sidenav__user:hover .mtv-sidenav__name { color: var(--mtv-magenta); }
.mtv-sidenav__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.mtv-sidenav__actions form { display: contents; }
.mtv-sidenav__post { margin-top: 12px; justify-content: center; }
.mtv-feed__center { display: grid; gap: 16px; min-width: 0; }
.mtv-feed__right { display: grid; gap: 16px; position: sticky; top: 86px; max-height: calc(100vh - 104px); overflow-y: auto; scrollbar-width: thin; }

.mtv-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--mtv-hairline); }
.mtv-tabs a { padding: 12px 18px; text-decoration: none; color: var(--mtv-ink-3); font-weight: 600; font-size: 14.5px; border-bottom: 2px solid transparent; }
.mtv-tabs a.active { color: var(--mtv-magenta); border-bottom-color: var(--mtv-magenta); }

.mtv-sidecard { border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); background: #fff; padding: 18px 20px; box-shadow: 0 10px 30px rgba(0,69,116,.06); }
.mtv-sidecard h3 { margin: 0 0 12px; font: 400 18px var(--mtv-font-display); color: var(--mtv-ink); }
.mtv-sidecard ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mtv-sidecard li { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; }
.mtv-sidecard a { color: var(--mtv-ink); text-decoration: none; font-weight: 600; }
.mtv-sidecard a:hover { color: var(--mtv-magenta); }

.mtv-composer { border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); background: #fff; padding: 18px 20px; box-shadow: 0 10px 30px rgba(0,69,116,.06); }
.mtv-composer__row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; }
.mtv-composer__fields { display: grid; gap: 12px; min-width: 0; }
.mtv-composer textarea { width: 100%; box-sizing: border-box; border: 0; resize: vertical; font: 400 16px/1.5 var(--mtv-font-ui); color: var(--mtv-ink); background: transparent; }
.mtv-composer textarea:focus { outline: none; }
.mtv-composer__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.mtv-composer__file { font-size: 13px; color: var(--mtv-ink); display: grid; gap: 4px; }
.mtv-composer__file input { font-size: 12px; max-width: 210px; }
.mtv-composer select { border: 1px solid var(--mtv-hairline); border-radius: 8px; padding: 6px 8px; font: 600 12.5px var(--mtv-font-ui); color: var(--mtv-ink); background: #fff; }
.mtv-composer__hint { font-size: 11.5px; color: var(--mtv-ink-5); margin-right: auto; }
.mtv-composer__errors { margin: 0 0 12px; padding: 10px 14px 10px 30px; border-left: 3px solid var(--mtv-magenta); background: rgba(216,30,91,.06); border-radius: 0 10px 10px 0; font-size: 13px; color: var(--mtv-ink); }
.mtv-composer__errors li { margin: 2px 0; }
.mtv-composer__preview { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.mtv-composer__preview[hidden] { display: none; }
.mtv-composer__chip { font-size: 11.5px; color: var(--mtv-ink-4); background: rgba(0,69,116,.07); border-radius: 999px; padding: 4px 10px; }
.mtv-composer__thumb { width: 54px; height: 54px; object-fit: cover; border-radius: 10px; border: 1px solid var(--mtv-hairline); }

.mtv-post { border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); background: #fff; padding: 18px 20px; box-shadow: 0 10px 30px rgba(0,69,116,.06); }
.mtv-post + .mtv-post { margin-top: 14px; }
.mtv-post__reposted { margin: 0 0 10px; font-size: 12.5px; color: var(--mtv-ink-4); }
.mtv-post__reposted a { color: var(--mtv-magenta); text-decoration: none; font-weight: 600; }
.mtv-post__main { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; }
.mtv-post__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.mtv-post__name { font-weight: 700; color: var(--mtv-ink); text-decoration: none; }
.mtv-post__name:hover { color: var(--mtv-magenta); }
.mtv-post__handle, .mtv-post__time, .mtv-post__dot { font-size: 13px; color: var(--mtv-ink-4); }
.mtv-post__time { text-decoration: none; }
.mtv-post__time:hover { color: var(--mtv-magenta); }
.mtv-post__owner-actions { margin-left: auto; display: flex; gap: 10px; font-size: 12.5px; }
.mtv-post__owner-actions a { color: var(--mtv-ink-4); text-decoration: none; }
.mtv-post__owner-actions button { border: 0; background: none; padding: 0; font: 600 12.5px var(--mtv-font-ui); color: var(--mtv-ink-4); cursor: pointer; }
.mtv-post__owner-actions a:hover, .mtv-post__owner-actions button:hover { color: var(--mtv-magenta); }
.mtv-post__text { margin: 8px 0 0; white-space: pre-wrap; word-break: break-word; line-height: 1.55; }
.mtv-link { color: var(--mtv-magenta); text-decoration: none; font-weight: 600; }
.mtv-link:hover { text-decoration: underline; }
.mtv-post__media { display: grid; gap: 6px; margin-top: 12px; border-radius: 12px; overflow: hidden; }
.mtv-post__media img { width: 100%; height: 100%; object-fit: cover; display: block; background: rgba(0,69,116,.06); min-height: 120px; }
.mtv-post__media.count-1 { grid-template-columns: 1fr; }
.mtv-post__media.count-2 { grid-template-columns: repeat(2, 1fr); }
.mtv-post__media.count-3, .mtv-post__media.count-4 { grid-template-columns: repeat(2, 1fr); }
.mtv-post__actions { display: flex; align-items: center; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.mtv-post__actions form { margin: 0; }
.mtv-post__actions button, .mtv-post__action { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; cursor: pointer; padding: 7px 10px; border-radius: 999px; color: var(--mtv-ink-4); font: 600 13px var(--mtv-font-ui); text-decoration: none; }
.mtv-post__actions button:hover, .mtv-post__action:hover { background: rgba(216,30,91,.08); color: var(--mtv-magenta); }
.mtv-post__actions svg, .mtv-post__action svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.mtv-post__actions button.on { color: var(--mtv-magenta); }
.mtv-post__actions button.on svg { fill: currentColor; }
.mtv-post__guest { margin: 12px 0 0; font-size: 13px; color: var(--mtv-ink-4); }
.mtv-post__guest a { color: var(--mtv-magenta); font-weight: 700; }
.mtv-badge--followers { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mtv-ink); background: rgba(0,69,116,.1); border-radius: 999px; padding: 3px 9px; }

.mtv-thread { max-width: 720px; margin: 0 auto; display: grid; gap: 16px; }
.mtv-panel--head { padding-bottom: 20px; }
.mtv-thread__head { font: 400 20px var(--mtv-font-display); color: var(--mtv-ink); margin: 10px 0 0; }
.mtv-thread__empty { text-align: center; padding: 20px 0; }
.mtv-thread__reply { margin-left: clamp(0px, 4vw, 34px); }
.mtv-replybox { display: grid; gap: 10px; border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); padding: 16px 18px; background: #fff; }
.mtv-replybox textarea { border: 1px solid var(--mtv-hairline); border-radius: 10px; padding: 10px 12px; font: 400 15px var(--mtv-font-ui); resize: vertical; }
.mtv-replybox textarea:focus { outline: none; border-color: var(--mtv-magenta); }
.mtv-replybox button { justify-self: end; }

.mtv-notifs { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 6px; }
.mtv-notifs li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 10px; border-radius: 10px; }
.mtv-notifs li.unread { background: rgba(216,30,91,.05); }
.mtv-notifs p { margin: 0; font-size: 14px; line-height: 1.5; }
.mtv-notifs a { color: var(--mtv-magenta); text-decoration: none; font-weight: 600; }
.mtv-notifs .mtv-muted { display: inline-block; margin-left: 6px; font-size: 12.5px; }

.mtv-bell { position: relative; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--mtv-hairline); color: var(--mtv-ink); }
.mtv-bell:hover { border-color: var(--mtv-magenta); color: var(--mtv-magenta); }
.mtv-bell svg { width: 18px; height: 18px; fill: currentColor; }
.mtv-pill { background: var(--mtv-magenta); color: #fff; border-radius: 999px; font-size: 11px; font-weight: 700; padding: 2px 7px; }

.mtv-searchbar { display: flex; gap: 10px; }
.mtv-searchbar input { flex: 1; border: 1px solid var(--mtv-hairline); border-radius: 999px; padding: 12px 18px; font: 400 15px var(--mtv-font-ui); }
.mtv-searchbar input:focus { outline: none; border-color: var(--mtv-magenta); }
.mtv-people--tight li { font-size: 13.5px; }
.mtv-profile__posts { margin-top: 34px; }
.mtv-section__title { font: 400 22px var(--mtv-font-display); color: var(--mtv-ink); margin: 0 0 14px; }

@media (max-width: 900px) {
  .mtv-feed { grid-template-columns: 200px minmax(0, 1fr); }
  .mtv-feed__right { display: none; }
}
@media (max-width: 820px) {
  .mtv-feed { grid-template-columns: 1fr; }
  .mtv-feed__left { position: static; height: auto; }
  .mtv-sidenav { grid-auto-flow: column; overflow-x: auto; overflow-y: hidden; }
  .mtv-sidenav__account { display: none; }
}

/* ---- Phase 3: chat ---- */
.mtv-chat { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.mtv-chat__list, .mtv-chat__thread { border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); background: #fff; box-shadow: 0 10px 30px rgba(0,69,116,.06); }
.mtv-chat__list { padding: 18px 20px 20px; }
.mtv-chat__thread { padding: 0 20px 20px; display: grid; gap: 16px; }
.mtv-chat__head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; border-bottom: 1px solid var(--mtv-hairline); padding: 18px 0 14px; }
.mtv-chat__thread .mtv-chat__head { padding-top: 22px; }
.mtv-chat__title { font: 400 26px/1.1 var(--mtv-font-display); color: var(--mtv-ink); margin: 0; }
.mtv-chat__head p { margin: 6px 0 0; font-size: 13.5px; }

.mtv-threads { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 4px; }
.mtv-threads a { display: flex; align-items: flex-start; gap: 12px; padding: 12px 10px; border-radius: 12px; text-decoration: none; color: var(--mtv-ink); }
.mtv-threads a:hover { background: rgba(216,30,91,.05); }
.mtv-threads .mtv-avatar { width: 40px; height: 40px; font-size: 14px; flex: none; }
.mtv-threads__body { display: grid; gap: 3px; min-width: 0; flex: 1; }
.mtv-threads__top { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: 14.5px; }
.mtv-threads__top strong { color: var(--mtv-ink); }
.mtv-threads__top em { margin-left: auto; font-style: normal; font-size: 12px; color: var(--mtv-ink-5); white-space: nowrap; }
.mtv-threads__preview { font-size: 13.5px; color: var(--mtv-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtv-threads .mtv-pill { align-self: center; flex: none; }

.mtv-bubbles { display: grid; gap: 14px; padding: 4px 0 6px; }
.mtv-bubble { display: flex; gap: 12px; align-items: flex-start; }
.mtv-bubble > div { min-width: 0; max-width: 62ch; }
.mtv-bubble__meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; margin: 0 0 4px; font-size: 12.5px; color: var(--mtv-ink-4); }
.mtv-bubble__meta strong { font-size: 14px; color: var(--mtv-ink); }
.mtv-bubble__text { margin: 0; white-space: pre-wrap; word-wrap: break-word; font-size: 15px; line-height: 1.55; background: rgba(0,69,116,.05); border-radius: 4px 14px 14px 14px; padding: 10px 14px; }
.mtv-bubble--mine { flex-direction: row-reverse; }
.mtv-bubble--mine > div { display: grid; justify-items: end; }
.mtv-bubble--mine .mtv-bubble__meta { justify-content: flex-end; }
.mtv-bubble--mine .mtv-bubble__text { background: rgba(216,30,91,.08); border-radius: 14px 4px 14px 14px; }
.mtv-bubble__media { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.mtv-bubble__media img { max-width: 220px; max-height: 220px; border-radius: 12px; display: block; border: 1px solid var(--mtv-hairline); }
.mtv-bubble__ref { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--mtv-magenta); text-decoration: none; border-left: 2px solid var(--mtv-magenta); padding-left: 10px; }
.mtv-bubble__one { display: block; }
.mtv-bubble__clip { margin: 0; display: grid; gap: 4px; }
.mtv-bubble__clip audio { width: min(280px, 100%); height: 40px; }
.mtv-bubble__clip video { width: min(320px, 100%); max-height: 240px; border-radius: 12px; border: 1px solid var(--mtv-hairline); background: #000; display: block; }
.mtv-bubble__clip figcaption { font-size: 11.5px; color: var(--mtv-ink-4); max-width: 320px; overflow-wrap: anywhere; }
.mtv-filechip { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--mtv-ink); border: 1px solid var(--mtv-hairline); border-radius: 12px; padding: 8px 12px; background: #fff; max-width: 320px; }
.mtv-filechip__kind { font: 700 10.5px var(--mtv-font-ui); letter-spacing: .06em; color: var(--mtv-magenta); border: 1px solid rgba(216,30,91,.35); border-radius: 6px; padding: 3px 6px; flex: none; }
.mtv-filechip__body { display: grid; gap: 2px; min-width: 0; }
.mtv-filechip__body strong { font-size: 13px; overflow-wrap: anywhere; }
.mtv-filechip__body small { font-size: 11.5px; color: var(--mtv-ink-4); }
.mtv-chat__picks { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0; grid-column: 1 / -1; }
.mtv-chat__pick { display: inline-flex; gap: 6px; align-items: baseline; font-size: 12px; border: 1px solid var(--mtv-hairline); border-radius: 999px; padding: 3px 10px; background: #fff; max-width: 100%; }
.mtv-chat__pick strong { font-weight: 600; overflow-wrap: anywhere; }
.mtv-chat__pick small { color: var(--mtv-ink-4); }
.mtv-chat__pick--over { border-color: var(--mtv-magenta); background: rgba(216,30,91,.06); }
.mtv-chat__pick--over em { color: var(--mtv-magenta); font-style: normal; font-weight: 600; }
.mtv-chat__total { font-size: 12px; font-weight: 700; color: var(--mtv-ink-4); align-self: center; }
.mtv-chat__composerBar [type=submit]:disabled { opacity: .5; cursor: not-allowed; }
.mtv-avatar--sm { width: 34px; height: 34px; font-size: 12px; flex: none; }

.mtv-chat__composer { border: 1px solid var(--mtv-hairline); border-radius: 14px; background: #fff; padding: 12px 14px; display: grid; gap: 10px; }
.mtv-chat__composer textarea { width: 100%; box-sizing: border-box; border: 0; resize: vertical; font: 400 15px/1.5 var(--mtv-font-ui); color: var(--mtv-ink); background: transparent; }
.mtv-chat__composer textarea:focus { outline: none; }
.mtv-chat__composerBar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

.mtv-field { display: grid; gap: 6px; margin: 16px 0; }
.mtv-field > span { font-size: 13px; font-weight: 700; color: var(--mtv-ink); }
.mtv-field input[type=text] { border: 1px solid var(--mtv-hairline); border-radius: 10px; padding: 11px 14px; font: 400 15px var(--mtv-font-ui); color: var(--mtv-ink); }
.mtv-field input[type=text]:focus { outline: none; border-color: var(--mtv-magenta); }

.mtv-picker { border: 1px solid var(--mtv-hairline); border-radius: 12px; padding: 14px 16px 16px; display: grid; gap: 10px; margin: 0 0 20px; }
.mtv-picker legend { font-weight: 700; color: var(--mtv-ink); font-size: 13.5px; padding: 0 8px; }
.mtv-picker label { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: var(--mtv-ink); cursor: pointer; }
.mtv-picker label:hover { color: var(--mtv-magenta); }

@media (max-width: 1080px) {
  .mtv-chat { grid-template-columns: minmax(0, 1fr); }
  .mtv-chat__side { display: none; }
}
@media (max-width: 620px) {
  .mtv-bubble > div { max-width: 100%; }
  .mtv-threads__top em { margin-left: 0; }
}

/* ---- YouTube integration: player, discovery rails, administration ---- */
.mtv-playerwrap { position: relative; border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); overflow: hidden; background: #102F43; box-shadow: 0 14px 40px rgba(16,47,67,.16); }
.mtv-playerwrap--loading { aspect-ratio: 16/9; }
.mtv-playerwrap__mount { display: grid; }
.mtv-frame, .mtv-playerwrap iframe { position: relative; width: 100%; height: auto; aspect-ratio: 16/9; border: 0; display: block; background: #000; }

.mtv-facade { position: relative; display: block; width: 100%; aspect-ratio: 16/9; border: 0; padding: 0; cursor: pointer; background: #102F43; overflow: hidden; }
.mtv-facade[hidden] { display: none; }
.mtv-facade img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mtv-facade:hover img { filter: brightness(.88); }
.mtv-facade__plate { position: absolute; inset: 0; }
.mtv-facade__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 78px; height: 78px; border-radius: 999px; background: var(--mtv-magenta); color: #fff; font-size: 26px; box-shadow: 0 10px 30px rgba(0,0,0,.35); transition: transform .16s ease; }
.mtv-facade:hover .mtv-facade__play { transform: translate(-50%, -50%) scale(1.06); }
.mtv-facade__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 18px; background: linear-gradient(transparent, rgba(16,47,67,.85)); color: #fff; font-size: 14px; font-weight: 600; text-align: left; }

.mtv-player__loading { position: absolute; inset: 0; display: grid; place-items: center; gap: 10px; margin: 0; color: #fff; background: rgba(16,47,67,.9); font-size: 14px; }
.mtv-player__loading[hidden] { display: none; }
.mtv-spinner { width: 26px; height: 26px; border-radius: 999px; border: 3px solid rgba(255,255,255,.25); border-top-color: var(--mtv-magenta); animation: mtv-spin .8s linear infinite; }
@keyframes mtv-spin { to { transform: rotate(360deg); } }

.mtv-player__error { padding: 26px 24px; background: #fff; }
.mtv-player__error h3 { margin: 0 0 6px; font: 400 20px var(--mtv-font-display); color: var(--mtv-ink); }
.mtv-player__error p { margin: 0 0 14px; color: var(--mtv-ink-3); }

.mtv-player__attrib { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; font-size: 13px; color: var(--mtv-ink-3); }
.mtv-player__attrib a { color: var(--mtv-magenta); text-decoration: none; font-weight: 600; }
.mtv-player__attrib a:hover { text-decoration: underline; }
.mtv-player__watch { margin-left: auto; }

.mtv-chips--collections { gap: 10px; }
.mtv-chip--action { border-style: dashed; color: var(--mtv-magenta); }

.mtv-rail { margin-bottom: 34px; }
.mtv-rail__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.mtv-rail__title { font: 400 24px var(--mtv-font-display); margin: 0; color: var(--mtv-ink); }
.mtv-rail__title a { color: inherit; text-decoration: none; }
.mtv-rail__title a:hover { color: var(--mtv-magenta); }
.mtv-rail__blurb { margin: 4px 0 0; font-size: 13.5px; color: var(--mtv-ink-4); }
.mtv-rail__more { font-size: 13.5px; font-weight: 700; color: var(--mtv-magenta); text-decoration: none; white-space: nowrap; }
.mtv-rail__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 320px); gap: 18px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.mtv-rail__item { scroll-snap-align: start; min-width: 0; }
.mtv-rail__empty { margin: 0; padding: 18px 20px; border: 1px dashed var(--mtv-hairline); border-radius: 12px; color: var(--mtv-ink-4); font-size: 14px; }

.mtv-card__poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mtv-card__poster { position: relative; }
.mtv-card__flag { position: absolute; right: 12px; top: 12px; background: #B91C1C; color: #fff; font-size: 11px; font-weight: 700; padding: 4px 8px; border-radius: 6px; }

.mtv-alert { border-radius: 10px; padding: 12px 16px; font-size: 14px; margin: 0 0 18px; }
.mtv-alert--ok { background: rgba(216,30,91,.07); border: 1px solid rgba(216,30,91,.25); color: var(--mtv-ink); }
.mtv-alert--error { background: rgba(185,28,28,.06); border: 1px solid rgba(185,28,28,.3); color: #7F1D1D; }
.mtv-alert ul { margin: 0; padding-left: 18px; }

.mtv-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mtv-table th { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--mtv-hairline); color: var(--mtv-ink); font-size: 13px; }
.mtv-table td { padding: 12px 8px; border-bottom: 1px solid rgba(0,69,116,.08); vertical-align: top; }

.mtv-tag { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-radius: 999px; padding: 3px 9px; }
.mtv-tag--pending { background: rgba(0,69,116,.1); color: var(--mtv-ink); }
.mtv-tag--approved { background: rgba(216,30,91,.12); color: var(--mtv-magenta); }
.mtv-tag--rejected { background: rgba(185,28,28,.1); color: #B91C1C; }

.mtv-statrow { display: flex; flex-wrap: wrap; gap: 18px; font-size: 14px; color: var(--mtv-ink-3); }
.mtv-statrow strong { color: var(--mtv-ink); font-size: 17px; }

.mtv-adminlist { display: grid; gap: 14px; }
.mtv-adminrow { border: 1px solid var(--mtv-hairline); border-radius: 12px; padding: 16px 18px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: start; }
.mtv-adminrow h3 { margin: 0 0 6px; font: 400 19px var(--mtv-font-display); color: var(--mtv-ink); display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.mtv-adminrow h3 a { color: inherit; text-decoration: none; }
.mtv-adminrow h3 a:hover { color: var(--mtv-magenta); }
.mtv-adminrow p { margin: 0 0 6px; font-size: 13.5px; }
.mtv-adminrow__note { color: var(--mtv-ink); background: rgba(0,69,116,.05); border-radius: 8px; padding: 8px 10px; }
.mtv-adminrow__actions { display: grid; gap: 10px; }
.mtv-adminrow__actions form { display: grid; gap: 8px; }

.mtv-inlineform { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mtv-inlineform input[type=text] { flex: 1; min-width: 160px; border: 1px solid var(--mtv-hairline); border-radius: 8px; padding: 9px 12px; font: 400 14px var(--mtv-font-ui); }
.mtv-market-filter-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px; }
.mtv-market-filter-grid input,
.mtv-market-filter-grid select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--mtv-hairline); border-radius: 11px; color: var(--mtv-ink); background: rgba(255,255,255,.92); font: 400 14px var(--mtv-font-ui); }
.mtv-market-filter-grid input:focus,
.mtv-market-filter-grid select:focus { outline: 2px solid rgba(216,30,91,.2); border-color: var(--mtv-magenta); }
.mtv-market-filter__search { grid-column: span 5; }
.mtv-market-filter__category { grid-column: span 4; }
.mtv-market-filter__location { grid-column: span 3; }
.mtv-market-filter__submit { grid-column: span 3; }
.mtv-market-filter-grid select[name=sort] { grid-column: span 3; }
@media (max-width: 700px) {
  .mtv-market-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mtv-market-filter__search,
  .mtv-market-filter__category,
  .mtv-market-filter__location,
  .mtv-market-filter__submit,
  .mtv-market-filter-grid select[name=sort] { grid-column: 1 / -1; }
}
.mtv-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--mtv-ink); }
.mtv-field select, .mtv-field textarea, .mtv-field input[type=number] { border: 1px solid var(--mtv-hairline); border-radius: 10px; padding: 11px 14px; font: 400 15px var(--mtv-font-ui); color: var(--mtv-ink); background: #fff; }
.mtv-field small { font-size: 12.5px; }
.mtv-field--inline { margin: 0; }
.mtv-catlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mtv-btn--danger { background: #B91C1C; border-color: #B91C1C; color: #fff; }
.mtv-btn--danger:hover { background: #911616; }

@media (max-width: 900px) {
  .mtv-adminrow { grid-template-columns: 1fr; }
  .mtv-facade__play { width: 62px; height: 62px; font-size: 21px; }
  .mtv-rail__track { grid-auto-columns: minmax(230px, 78%); }
}

/* ---- Creator profiles, portfolio curation, safety actions ---- */
.mtv-avatar { overflow: hidden; }
.mtv-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.mtv-profile__cover { display: block; width: 100%; height: 230px; object-fit: cover; border-radius: 18px; }
.mtv-profile__skills { margin: 6px 0 0; font-size: 14px; color: var(--mtv-ink-3); }
.mtv-profile__panel { margin-top: 26px; display: grid; gap: 22px; }
.mtv-badge--verified {
  display: inline-flex; align-items: center; gap: 4px;
  background: #0B7A40; border-color: #0B7A40; color: #fff;
}
.mtv-badge--verified svg {
  width: 13px; height: 13px; flex: none;
  fill: none; stroke: currentColor; stroke-width: 2.2;
  stroke-linecap: round; stroke-linejoin: round;
}
.mtv-tabs strong { margin-left: 5px; font-size: 12.5px; color: var(--mtv-ink-5); }
.mtv-tabs a.active strong { color: var(--mtv-magenta); }
.mtv-pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
@media (max-width: 1000px) {
  .mtv-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.mtv-pitem { display: grid; background: #fff; border: 1px solid var(--mtv-hairline); border-radius: 14px; overflow: hidden; }
.mtv-pitem.is-featured { border-color: var(--mtv-magenta); }
.mtv-pitem__media { position: relative; display: block; aspect-ratio: 4 / 5; background: rgba(0,69,116,.06); }
.mtv-pitem__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mtv-pitem__text { position: absolute; inset: 14px; display: grid; place-items: center; font-size: 14px; color: var(--mtv-ink); text-align: center; }
.mtv-pitem__flag { position: absolute; left: 12px; top: 12px; background: var(--mtv-magenta); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; padding: 4px 9px; border-radius: 999px; }
.mtv-pitem__body { display: grid; gap: 8px; padding: 14px 16px 16px; font-size: 14px; color: var(--mtv-ink); }
.mtv-pitem__cat { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--mtv-ink-4); }
.mtv-pitem__body a { color: var(--mtv-magenta); font-weight: 600; text-decoration: none; }
.mtv-facts { display: grid; gap: 10px; margin: 0; }
.mtv-facts > div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 12px; }
.mtv-facts dt { font-size: 13px; color: var(--mtv-ink-4); }
.mtv-facts dd { margin: 0; font-size: 14px; color: var(--mtv-ink); }

/* Creator profile refresh: editorial cover, clear identity and compact social actions. */
.mtv-profile--premium {
  border-radius: 24px;
  border-color: rgba(0,69,116,.1);
  box-shadow: 0 22px 60px rgba(11,34,51,.12);
}
.mtv-profile--premium .mtv-profile__cover,
.mtv-profile--premium .mtv-profile__banner {
  width: 100%; height: clamp(150px, 22vw, 260px); border-radius: 0;
}
.mtv-profile--premium .mtv-profile__head {
  grid-template-columns: 132px minmax(0,1fr);
  column-gap: 22px; row-gap: 0;
  padding: 0 clamp(20px, 4vw, 42px) 30px;
  background: linear-gradient(180deg, rgba(247,250,253,.88), #fff 34%);
}
.mtv-profile--premium .mtv-profile__head > .mtv-avatar {
  width: 124px; height: 124px; margin-top: -54px;
  border: 5px solid #fff; box-shadow: 0 10px 28px rgba(11,34,51,.18);
  position: relative; z-index: 1;
}
.mtv-profile--premium .mtv-profile__id { min-width: 0; padding-top: 18px; }
.mtv-profile--premium .mtv-profile__id h1 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: clamp(27px, 3vw, 38px); }
.mtv-profile--premium .mtv-profile__handle { margin: 5px 0 13px; font-size: 15px; }
.mtv-profile--premium .mtv-profile__roles { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.mtv-profile--premium .mtv-profile__roles .mtv-chip {
  border: 1px solid rgba(216,30,91,.16); background: rgba(216,30,91,.045);
  color: var(--mtv-ink); font-size: 12px; font-weight: 700; padding: 5px 11px;
}
.mtv-profile--premium .mtv-profile__bio { font-size: 15px; line-height: 1.55; }
.mtv-profile--premium .mtv-profile__stats {
  align-items: baseline; gap: 6px 20px; margin-top: 18px; padding-top: 15px;
  border-top: 1px solid rgba(0,69,116,.1); color: var(--mtv-ink-3);
}
.mtv-profile--premium .mtv-profile__stats strong { color: var(--mtv-ink); font-size: 15px; }
.mtv-profile--premium .mtv-profile__stats a { margin-left: auto; font-weight: 700; }
.mtv-profile--premium .mtv-profile__actions {
  grid-column: 2; display: flex; flex-wrap: wrap; gap: 9px;
  padding: 18px 0 0; justify-content: flex-start;
}
.mtv-profile--premium .mtv-profile__actions > * { flex: 1 1 150px; }
.mtv-profile--premium .mtv-profile__actions .mtv-btn { min-height: 44px; border-radius: 13px; }
.mtv-role-option.is-disabled { opacity: .48; }
.mtv-role-option input:disabled { cursor: not-allowed; }
@media (max-width: 760px) {
  .mtv-profile--premium { border-radius: 22px; }
  .mtv-profile--premium .mtv-profile__cover,
  .mtv-profile--premium .mtv-profile__banner { height: 158px; }
  .mtv-profile--premium .mtv-profile__head {
    grid-template-columns: 102px repeat(3, minmax(0, 1fr));
    grid-auto-flow: row; gap: 0 12px; padding: 0 18px 22px;
    background: linear-gradient(180deg, #f8fafd, #fff 24%);
  }
  .mtv-profile--premium .mtv-profile__head > .mtv-avatar { grid-column: 1; grid-row: 1 / span 2; width: 102px; height: 102px; margin-top: -48px; }
  .mtv-profile--premium .mtv-profile__id { display: contents; }
  .mtv-profile--premium .mtv-profile__id h1 { grid-column: 2 / -1; grid-row: 1; align-self: end; font-size: clamp(20px, 6vw, 27px); }
  .mtv-profile--premium .mtv-profile__handle { grid-column: 2 / -1; grid-row: 2; align-self: start; margin: 4px 0 0; font-size: 13px; }
  .mtv-profile--premium .mtv-profile__roles { grid-column: 1 / -1; margin: 13px 0 5px; }
  .mtv-profile--premium .mtv-profile__bio,
  .mtv-profile--premium .mtv-profile__skills,
  .mtv-profile--premium .mtv-profile__meta { grid-column: 1 / -1; }
  .mtv-profile--premium .mtv-profile__stats {
    grid-column: 1 / -1; grid-row: 3; flex-wrap: wrap;
    gap: 4px 12px; margin: 16px 0 0; padding: 13px 0 0;
    border-top: 1px solid rgba(0,69,116,.1); font-size: 12px;
  }
  .mtv-profile--premium .mtv-profile__stats strong { font-size: 14px; }
  .mtv-profile--premium .mtv-profile__stats a { display: inline-flex; margin-left: auto; }
  .mtv-profile--premium .mtv-profile__actions { grid-column: 1 / -1; padding-top: 16px; }
  .mtv-profile--premium .mtv-profile__actions > * { flex: 1 1 calc(50% - 9px); }
  .mtv-profile--premium .mtv-profile__actions .mtv-btn { min-height: 42px; padding-inline: 10px; }
}
.mtv-profile--premium {
  background: linear-gradient(145deg, #f1f6fb 0%, #fbfcfe 56%, #fff7fa 100%);
  border-color: rgba(0,69,116,.16);
}
.mtv-profile--premium .mtv-profile__head {
  background: linear-gradient(180deg, #eaf1f8 0%, #f5f8fc 38%, #fff 100%);
}
.mtv-profile--premium .mtv-profile__handle,
.mtv-profile--premium .mtv-profile__meta,
.mtv-profile--premium .mtv-profile__skills { color: var(--mtv-ink-3); }
.mtv-profile--premium .mtv-profile__bio { color: var(--mtv-ink); }
.mtv-profile--premium .mtv-profile__roles .mtv-chip {
  border-color: rgba(0,69,116,.16);
  background: linear-gradient(135deg, #edf3f8, #fff);
  box-shadow: 0 3px 10px rgba(11,34,51,.05);
}
.mtv-profile--premium .mtv-profile__stats {
  padding: 12px 14px;
  border: 1px solid rgba(0,69,116,.12);
  border-radius: 14px;
  background: linear-gradient(110deg, #edf3f8, #f8fafd 72%, #fff4f8);
  color: var(--mtv-ink-3);
}
.mtv-profile--premium .mtv-profile__actions { position: relative; }
.mtv-profile--premium .mtv-profile__actions > .mtv-profile__more {
  position: relative;
  flex: 0 0 auto;
}
.mtv-profile__more > summary {
  display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 7px;
  padding: 0 15px; border: 1px solid rgba(0,69,116,.14); border-radius: 13px;
  background: linear-gradient(135deg, #edf3f8, #fff); color: var(--mtv-ink);
  font-size: 14px; font-weight: 700; cursor: pointer; list-style: none;
}
.mtv-profile__more > summary::-webkit-details-marker { display: none; }
.mtv-profile__more > summary span:first-child { color: var(--mtv-magenta); font-size: 22px; line-height: .6; letter-spacing: 1px; }
.mtv-profile__more > summary:hover,
.mtv-profile__more[open] > summary { border-color: rgba(216,30,91,.35); background: #fff1f6; }
.mtv-profile__more-menu {
  position: absolute; z-index: 20; top: calc(100% + 8px); right: 0;
  display: grid; gap: 6px; width: min(260px, calc(100vw - 56px));
  padding: 10px; border: 1px solid rgba(0,69,116,.14); border-radius: 16px;
  background: #fff; box-shadow: 0 18px 42px rgba(11,34,51,.2);
}
.mtv-profile__more-menu > * { width: 100%; margin: 0; }
.mtv-profile__more-menu .mtv-btn { justify-content: flex-start; min-height: 40px; padding: 9px 12px; border-radius: 10px; }
.mtv-profile__more-menu .mtv-report { display: grid; }
.mtv-profile__more-menu .mtv-report > summary { padding: 10px 12px; border-radius: 10px; }
.mtv-profile__more-menu .mtv-report > summary:hover,
.mtv-profile__more-menu .mtv-report[open] > summary { background: #f3f6fa; color: var(--mtv-ink); }
.mtv-profile__more-menu .mtv-report form { position: static; width: 100%; margin-top: 6px; box-shadow: none; background: #f7f9fc; }
@media (max-width: 760px) {
  .mtv-profile--premium .mtv-profile__head {
    background: linear-gradient(180deg, #eaf1f8 0%, #f4f7fb 30%, #fff 100%);
  }
  .mtv-profile--premium .mtv-profile__actions > .mtv-profile__more { flex: 0 0 auto; }
  .mtv-profile__more > summary { min-height: 42px; padding-inline: 13px; }
}
.mtv-report { display: inline-grid; gap: 8px; }
.mtv-report summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--mtv-ink-4); }
.mtv-report form { display: grid; gap: 8px; padding: 10px; background: #fff; border: 1px solid var(--mtv-hairline); border-radius: 10px; }
.mtv-post__report { position: relative; display: inline-flex; }
.mtv-post__report summary { display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 999px; color: var(--mtv-ink-4); list-style: none; cursor: pointer; }
.mtv-post__report summary::-webkit-details-marker { display: none; }
.mtv-post__report summary:hover, .mtv-post__report[open] summary { background: rgba(216,30,91,.08); color: var(--mtv-magenta); }
.mtv-post__report summary svg { width: 17px; height: 17px; }
.mtv-post__report summary svg circle { fill: currentColor; stroke: none; }
.mtv-post__report form { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 6; width: min(310px, 78vw); box-shadow: 0 14px 34px rgba(0,69,116,.16); }
.mtv-post__report form p { margin: 0; font-size: 12px; }
@media (max-width: 520px) {
  /* A pinned popup on a thumb-width screen risks horizontal overflow — let it flow in the card instead. */
  .mtv-post__report form { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
}
.mtv-adminrow__thumb { max-width: 130px; margin-top: 8px; border-radius: 10px; }
@media (max-width: 760px) {
  .mtv-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .mtv-facts > div { grid-template-columns: 1fr; gap: 2px; }
  .mtv-profile__cover { height: 150px; }
}

/* Casting board — one card per call, pay stated up front, never colour-only meaning. */
.mtv-callinglist { display: grid; gap: 14px; margin-top: 6px; }
.mtv-calling { background: #fff; border: 1px solid var(--mtv-hairline); border-radius: var(--mtv-radius); padding: 20px 22px; }
.mtv-calling__title { font: 400 21px/1.2 var(--mtv-font-display); color: var(--mtv-ink); margin: 0 0 8px; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.mtv-calling__title a { color: inherit; text-decoration: none; }
.mtv-calling__title a:hover { color: var(--mtv-magenta); }
.mtv-calling__blurb { font-size: 14.5px; line-height: 1.55; color: var(--mtv-ink-3); margin: 10px 0 8px; }
.mtv-calling__body { font-size: 15.5px; line-height: 1.65; color: var(--mtv-ink); margin: 0 0 18px; }
.mtv-calling__pay { display: inline-block; margin: 0 0 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .02em; border-radius: 999px; padding: 4px 11px; background: rgba(185,28,28,.08); color: #B91C1C; }
.mtv-calling__pay--paid { background: rgba(216,30,91,.12); color: var(--mtv-magenta); }
.mtv-calling__grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: clamp(20px, 4vw, 40px); align-items: start; }
@media (max-width: 860px) { .mtv-calling__grid { grid-template-columns: 1fr; } }
.mtv-workstrip { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.mtv-workstrip__item { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; border: 1px solid var(--mtv-hairline); border-radius: 10px; padding: 5px 11px 5px 5px; font-size: 12.5px; color: var(--mtv-ink); text-decoration: none; background: #fff; }
.mtv-workstrip__item img { width: 32px; height: 32px; object-fit: cover; border-radius: 7px; }
.mtv-workstrip__item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtv-tag--submitted { background: rgba(0,69,116,.08); color: var(--mtv-ink-3); }
.mtv-tag--viewed { background: rgba(0,69,116,.14); color: var(--mtv-ink); }
.mtv-tag--shortlisted, .mtv-tag--hired { background: rgba(216,30,91,.12); color: var(--mtv-magenta); }
.mtv-tag--closed, .mtv-tag--declined { background: rgba(185,28,28,.1); color: #B91C1C; }

/* Keep the public feed readable on narrow screens without making its desktop rails wider. */
@media (max-width: 820px) {
  .mtv-feed { grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 12px; }
  .mtv-feed__left { display: none; }
  .mtv-feed__center { min-width: 0; width: 100%; }
  .mtv-empty { min-width: 0; max-width: 100%; padding: 28px 18px; overflow-wrap: anywhere; }
  .mtv-empty h3 { line-height: 1.25; }
  .mtv-empty p { margin: 0; line-height: 1.5; }
}

@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: clip; }

  .mtv-infobar {
    gap: 3px 8px;
    padding: 8px 14px;
    text-align: center;
    line-height: 1.35;
    letter-spacing: .025em;
  }
  .mtv-infobar__sep { display: none; }
  .mtv-infobar > span:first-child,
  .mtv-infobar > a { flex: 1 1 100%; }
  .mtv-infobar > span:first-child { font-size: 11px; font-weight: 700; }
  .mtv-infobar > span:nth-of-type(3) { display: none; }
  .mtv-infobar > a { font-size: 11px; }

  .mtv-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px 12px;
    padding: 10px 16px 8px;
  }
  .mtv-logo { grid-column: 1; grid-row: 1; }
  .mtv-logo img { height: 24px; }
  .mtv-authnav { grid-column: 2; grid-row: 1; margin: 0; justify-content: flex-end; gap: 7px; flex-wrap: nowrap; }
  .mtv-authnav .mtv-btn { padding: 10px 14px !important; font-size: 12px; }
  .mtv-search { grid-column: 1 / -1; grid-row: 2; min-width: 0; width: 100%; margin: 0; gap: 7px; }
  .mtv-search input,
  .mtv-search input:focus { flex: 1 1 0; width: 0; min-width: 0; padding: 10px 13px; font-size: 14px; }
  .mtv-search .mtv-btn { flex: 0 0 auto; padding: 11px 16px !important; font-size: 13px; }
  .mtv-nav {
    grid-column: 1 / -1;
    grid-row: 3;
    order: initial;
    width: 100%;
    min-width: 0;
    justify-content: space-between;
    gap: 10px;
    padding: 3px 0 4px;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .mtv-nav a { font-size: 12px; }
  .mtv-nav::-webkit-scrollbar { display: none; }

  .mtv-main { width: 100%; min-width: 0; padding: 0 14px 48px; }
  .mtv-feed { width: 100%; }
  .mtv-tabs { min-width: 0; }
  .mtv-tabs a { padding: 11px 14px; }
  .mtv-empty { padding: 26px 16px; }
  .mtv-empty h3 { font-size: 19px; }
  .mtv-composer, .mtv-post { padding: 14px; }

  .mtv-footer { margin-top: 52px; padding: 36px 20px 0; }
  .mtv-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .mtv-footer__brand { grid-column: 1 / -1; }
  .mtv-footer__brand .mtv-footer__logo { height: 44px; margin-bottom: 14px; }
  .mtv-footer__brand p { max-width: 38rem; font-size: 14px; line-height: 1.6; }
  .mtv-footer h4 { font-size: 16px; margin-bottom: 12px; }
  .mtv-footer ul { gap: 9px; }
  .mtv-footer ul a { font-size: 13px; line-height: 1.4; }
  .mtv-footer__bottom { margin-top: 30px; padding: 16px 0; gap: 7px; flex-direction: column; align-items: flex-start; }
  .mtv-footer__bottom span:last-child { margin-left: 0; }
}

/* Refined site chrome: a steady header and a more editorial footer. */
.mtv-header {
  display: grid;
  grid-template-columns: auto minmax(250px, auto) minmax(220px, 1fr) auto;
  gap: clamp(14px, 2vw, 28px);
  box-shadow: 0 5px 18px rgba(8, 27, 44, .045);
  background: rgba(255, 255, 255, .97);
}
.mtv-logo img { transition: transform .18s ease; }
.mtv-logo:hover img { transform: translateY(-1px); }
.mtv-nav { gap: clamp(14px, 1.7vw, 24px); }
.mtv-nav a { transition: color .16s ease, border-color .16s ease; }
.mtv-search { min-width: 0; }
.mtv-search input,
.mtv-search input:focus { width: min(100%, 340px); transition: width .18s ease, border-color .18s ease, background .18s ease; }
.mtv-search input:focus { background: #fff; }
.mtv-header .mtv-search .mtv-btn { white-space: nowrap; }
.mtv-authnav { gap: 8px; }
.mtv-footer {
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at 94% 0%, rgba(216, 30, 91, .25), transparent 36%), linear-gradient(135deg, #102F4B 0%, #102F43 72%);
  padding-top: 58px;
}
.mtv-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--mtv-magenta), #E85A83 50%, rgba(232, 90, 131, 0));
}
.mtv-footer__grid { position: relative; gap: clamp(24px, 4vw, 54px); }
.mtv-footer__brand .mtv-footer__logo { height: 42px; margin-bottom: 16px; background: transparent; padding: 0; border-radius: 0; box-shadow: none; }
.mtv-footer h4 { font-family: var(--mtv-font-ui); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.mtv-footer ul a { transition: color .15s ease, padding-left .15s ease; }
.mtv-footer ul a:hover { padding-left: 3px; color: #F3A1B8; }
.mtv-footer__bottom { border-top-color: rgba(255, 255, 255, .18); }

@media (min-width: 641px) and (max-width: 1020px) {
  .mtv-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 18px;
    padding: 11px 22px;
  }
  .mtv-logo { grid-column: 1; grid-row: 1; }
  .mtv-authnav { grid-column: 2; grid-row: 1; }
  .mtv-nav { grid-column: 1 / -1; grid-row: 2; }
  .mtv-search { grid-column: 1 / -1; grid-row: 3; margin: 0; }
  .mtv-search input,
  .mtv-search input:focus { width: 100%; }
}

@media (max-width: 640px) {
  .mtv-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
    box-shadow: 0 4px 14px rgba(8, 27, 44, .055);
  }
  .mtv-search input,
  .mtv-search input:focus { width: 0; }
  .mtv-footer { padding-top: 38px; }
}

/* Footer layout from the approved mobile reference. */
.mtv-footer {
  margin: 82px 0 0;
  padding: clamp(34px, 5vw, 56px) max(2vw, calc((100vw - 1640px) / 2 + 14px)) 0;
  border-radius: 0;
  background: linear-gradient(140deg, var(--mtv-navy) 0%, var(--mtv-magenta) 100%);
  color: #F7F7FA;
}
.mtv-footer::before { display: none; }
.mtv-footer__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px 28px;
  margin-top: 34px;
}
.mtv-footer__brand .mtv-footer__logo {
  height: 38px;
  margin: 0 0 18px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.mtv-footer__tagline {
  margin: 0 0 12px;
  color: #fff;
  font: 700 clamp(20px, 2.4vw, 27px)/1.25 var(--mtv-font-ui);
  letter-spacing: -.02em;
}
.mtv-footer__brand p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .84);
  font-size: 16px;
  line-height: 1.55;
}
.mtv-footer__group h4 {
  margin: 0 0 16px;
  color: #fff;
  font: 700 18px/1.25 var(--mtv-font-ui);
  letter-spacing: 0;
  text-transform: none;
}
.mtv-footer__group ul { gap: 12px; }
.mtv-footer__group a,
.mtv-footer__group span {
  color: rgba(255, 255, 255, .84);
  font-size: 15px;
  line-height: 1.45;
}
.mtv-footer__group a { transition: color .15s ease; }
.mtv-footer__group a:hover { padding-left: 0; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mtv-footer__join {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 36px;
  padding: 28px 0;
  border-top: 1px solid rgba(255, 255, 255, .13);
  border-bottom: 1px solid rgba(255, 255, 255, .13);
}
.mtv-footer__join h3 {
  margin: 0 0 10px;
  color: #fff;
  font: 700 clamp(19px, 2.3vw, 25px)/1.25 var(--mtv-font-ui);
}
.mtv-footer__join p { margin: 0; color: rgba(255, 255, 255, .84); font-size: 16px; line-height: 1.5; }
.mtv-footer__join-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 14px;
  background: #fff;
  color: var(--mtv-ink);
  font-size: 17px;
  font-weight: 750;
  text-align: center;
  white-space: nowrap;
  transition: background .15s ease, transform .15s ease;
}
.mtv-footer__join-button:hover { background: #08090D; color: #fff; transform: translateY(-1px); }
.mtv-footer__bottom {
  justify-content: space-between;
  margin-top: 0;
  padding: 22px 0;
  border-top: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
  line-height: 1.5;
}
.mtv-footer__bottom span:last-child { margin-left: 0; text-align: right; }

@media (max-width: 760px) {
  .mtv-footer {
    margin: 56px 0 0;
    padding-top: 34px;
    border-radius: 0;
  }
  .mtv-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; margin-top: 28px; }
  .mtv-footer__brand .mtv-footer__logo { height: 34px; margin-bottom: 18px; }
  .mtv-footer__tagline { font-size: 20px; }
  .mtv-footer__brand p { font-size: 15px; line-height: 1.55; }
  .mtv-footer__group h4 { margin-bottom: 13px; font-size: 16px; }
  .mtv-footer__group ul { gap: 11px; }
  .mtv-footer__group a,
  .mtv-footer__group span { font-size: 14px; line-height: 1.45; }
  .mtv-footer__join { flex-direction: column; align-items: stretch; gap: 16px; margin-top: 30px; padding: 24px 0; }
  .mtv-footer__join h3 { margin-bottom: 9px; font-size: 19px; }
  .mtv-footer__join p { font-size: 15px; }
  .mtv-footer__join-button { width: 100%; min-height: 54px; font-size: 17px; }
  .mtv-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px 0; font-size: 13px; }
  .mtv-footer__bottom span:last-child { text-align: left; }
}

@media (min-width: 641px) and (max-width: 1020px) {
  .mtv-footer { padding-left: 22px; padding-right: 22px; }
}

@media (max-width: 640px) {
  .mtv-footer { padding-left: 16px; padding-right: 16px; }
  .mtv-authnav { gap: 6px; }
  .mtv-authnav .mtv-bell { width: 30px; height: 30px; }
  .mtv-authnav .mtv-bell svg { width: 15px; height: 15px; }
  .mtv-authnav .mtv-btn { padding: 9px 10px !important; font-size: 11px; }
}

/* Five primary destinations: the row must never wrap into the logo or squeeze a label. */
.mtv-nav { flex-wrap: nowrap; }
.mtv-nav a { white-space: nowrap; }
@media (max-width: 1020px) {
  .mtv-nav { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .mtv-nav::-webkit-scrollbar { display: none; }
}

.mtv-section-title {
  font: 400 clamp(20px, 2.6vw, 26px)/1.2 var(--mtv-font-display);
  letter-spacing: .02em; color: var(--mtv-ink);
  margin: 0 0 10px; padding-top: 4px;
}

/* The role chips on Creators mark the active filter with .is-now. */
.mtv-chip.is-now { border-color: var(--mtv-magenta); background: rgba(216,30,91,.1); color: var(--mtv-ink); font-weight: 700; }

/* Account menu: a native details element, so it works with a keyboard and without site JS. */
.mtv-menu { position: relative; }
.mtv-menu summary { list-style: none; cursor: pointer; }
.mtv-menu summary::-webkit-details-marker { display: none; }
.mtv-menu__trigger {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 2px 4px 2px 2px; border-radius: 999px; border: 1px solid transparent;
}
.mtv-menu__trigger:hover { border-color: rgba(216,30,91,.4); }
.mtv-menu__trigger:focus-visible, .mtv-menu__item:focus-visible { outline: 2px solid var(--mtv-magenta); outline-offset: 2px; }
.mtv-menu__chev { width: 12px; height: 12px; fill: var(--mtv-ink-4); transition: transform .16s ease; }
.mtv-menu[open] .mtv-menu__chev { transform: rotate(180deg); }
.mtv-menu__panel {
  position: absolute; right: 0; top: calc(100% + 10px); z-index: 60;
  width: min(272px, 84vw); padding: 8px;
  background: #fff; border: 1px solid rgba(0,69,116,.16); border-radius: 14px;
  box-shadow: 0 16px 40px rgba(8,27,44,.16);
  display: grid; gap: 2px;
}
.mtv-menu__who { padding: 10px 12px 12px; border-bottom: 1px solid rgba(0,69,116,.1); margin-bottom: 6px; }
.mtv-menu__name { display: block; font: 600 15px var(--mtv-font-ui); color: var(--mtv-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtv-menu__who .mtv-muted { font-size: 12.5px; color: var(--mtv-ink-4); }
.mtv-menu__item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 10px 12px; border-radius: 10px;
  font: 500 14px var(--mtv-font-ui); color: var(--mtv-ink); text-decoration: none;
  background: none; border: 0; cursor: pointer; text-align: left;
}
.mtv-menu__item:hover { background: rgba(0,69,116,.06); color: var(--mtv-magenta); }
.mtv-menu__item--action { color: var(--mtv-magenta); font-weight: 700; }
.mtv-menu__item--action:hover { background: rgba(216,30,91,.08); }
@media (max-width: 640px) {
  .mtv-menu__panel { position: fixed; right: 8px; left: auto; top: auto; }
}

/* Explore: the directory of sections, with an honest live / not-open state on every card. */
.mtv-explore {
  display: grid; gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.mtv-explore__card {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 20px; border-radius: var(--mtv-radius);
  background: #fff; border: 1px solid rgba(0,69,116,.14);
  box-shadow: 0 6px 18px rgba(0,69,116,.05);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.mtv-explore__card:hover { transform: translateY(-3px); border-color: rgba(216,30,91,.5); box-shadow: 0 14px 32px rgba(0,69,116,.12); }
.mtv-explore__card:focus-visible { outline: 2px solid var(--mtv-magenta); outline-offset: 3px; }
.mtv-explore__card.is-soon { background: linear-gradient(180deg, #fff, var(--mtv-paper)); border-style: dashed; }
.mtv-explore__icon {
  flex: none; width: 48px; height: 48px; border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(140deg, rgba(0,69,116,.1), rgba(216,30,91,.14));
}
.mtv-explore__icon svg { width: 24px; height: 24px; fill: var(--mtv-ink); }
.mtv-explore__card.is-soon .mtv-explore__icon svg { fill: var(--mtv-ink-5); }
.mtv-explore__body { display: grid; gap: 6px; min-width: 0; }
.mtv-explore__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mtv-explore__title { font: 400 19px/1.2 var(--mtv-font-display); color: var(--mtv-ink); }
.mtv-explore__tag {
  font-size: 10.5px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 999px;
}
.mtv-explore__tag.is-live { background: rgba(216,30,91,.12); color: var(--mtv-magenta); }
.mtv-explore__tag.is-soon { background: rgba(0,69,116,.1); color: var(--mtv-ink-3); }
.mtv-explore__blurb { font-size: 14px; line-height: 1.55; color: var(--mtv-ink-3); }
.mtv-explore__foot { font-size: 12.5px; color: var(--mtv-ink-4); }
@media (max-width: 560px) {
  .mtv-explore { grid-template-columns: 1fr; }
  .mtv-explore__card { padding: 16px; gap: 13px; }
}

.mtv-role-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.mtv-role-option {
  display: flex; align-items: center; gap: 10px; min-height: 44px;
  padding: 10px 12px; border: 1px solid rgba(0,69,116,.15); border-radius: 10px;
  color: var(--mtv-ink); background: #fff; cursor: pointer;
}
.mtv-role-option input { accent-color: var(--mtv-magenta); }
.mtv-studios-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.mtv-studio-card {
  display: flex; flex-direction: column; gap: 14px; min-width: 0;
  padding: 20px; border: 1px solid rgba(0,69,116,.14); border-radius: var(--mtv-radius);
  background: #fff; box-shadow: 0 6px 18px rgba(0,69,116,.05);
}
.mtv-studio-card__top { display: flex; align-items: center; gap: 13px; min-width: 0; }
.mtv-studio-card__avatar {
  display: grid; place-items: center; flex: none; width: 50px; height: 50px;
  border-radius: 15px; background: linear-gradient(140deg, var(--mtv-navy), var(--mtv-magenta));
  color: #fff; font-size: 17px; font-weight: 800;
}
.mtv-studio-card__identity { min-width: 0; }
.mtv-studio-card__identity h2 { margin: 0; font: 650 17px/1.25 var(--mtv-font-ui); overflow-wrap: anywhere; }
.mtv-studio-card__identity h2 a { color: var(--mtv-ink); text-decoration: none; }
.mtv-studio-card__identity h2 a:hover { color: var(--mtv-magenta); }
.mtv-studio-card__identity p,
.mtv-studio-card__skills,
.mtv-studio-card__bio { margin: 4px 0 0; color: var(--mtv-ink-3); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.mtv-studio-card__skills { color: var(--mtv-ink); font-weight: 650; }
.mtv-studio-card__bio { margin-top: -8px; }
.mtv-studio-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(0,69,116,.1); color: var(--mtv-ink-4); font-size: 13px; }
.mtv-event-list { display: grid; gap: 14px; }
.mtv-event-card {
  display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px;
  padding: 18px; border: 1px solid rgba(0,69,116,.14); border-radius: var(--mtv-radius);
  background: #fff; box-shadow: 0 6px 18px rgba(0,69,116,.05);
}
.mtv-event-card__date {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
  min-height: 82px; padding: 8px; border-radius: 13px; background: rgba(216,30,91,.09); color: var(--mtv-magenta);
  text-align: center; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .06em;
}
.mtv-event-card__date strong { color: var(--mtv-ink); font-size: 27px; line-height: 1.05; letter-spacing: 0; }
.mtv-event-card__content { min-width: 0; }
.mtv-event-card__eyebrow { margin: 0 0 5px; color: var(--mtv-magenta); font-size: 12px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.mtv-event-card__content h2 { margin: 0; font: 600 20px/1.3 var(--mtv-font-display); overflow-wrap: anywhere; }
.mtv-event-card__content h2 a { color: var(--mtv-ink); text-decoration: none; }
.mtv-event-card__content h2 a:hover { color: var(--mtv-magenta); }
.mtv-event-card__content > p:not(.mtv-event-card__eyebrow) { margin: 8px 0; color: var(--mtv-ink-3); font-size: 14px; line-height: 1.55; }
.mtv-event-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; color: var(--mtv-ink-4); font-size: 12.5px; }
@media (max-width: 560px) {
  .mtv-studio-card { padding: 16px; }
  .mtv-event-card { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .mtv-event-card__date { min-height: 72px; padding: 6px; font-size: 10px; }
  .mtv-event-card__date strong { font-size: 23px; }
  .mtv-event-card__content h2 { font-size: 18px; }
  .mtv-event-card__meta { gap: 6px 10px; }
}

/* For You ranking note: the explanation is part of the product, not fine print. */
.mtv-ranknote {
  margin: 12px 0 16px; padding: 10px 14px;
  border: 1px solid rgba(0,69,116,.14); border-radius: 12px;
  background: rgba(0,69,116,.035);
  font-size: 13px; color: var(--mtv-ink-3);
}
.mtv-ranknote summary {
  cursor: pointer; font-weight: 650; color: var(--mtv-ink);
  list-style: none;
}
.mtv-ranknote summary::-webkit-details-marker { display: none; }
.mtv-ranknote summary::after { content: " ▾"; color: var(--mtv-ink-5); font-size: 11px; }
.mtv-ranknote[open] summary::after { content: " ▴"; }
.mtv-ranknote summary:focus-visible { outline: 2px solid var(--mtv-magenta); outline-offset: 2px; }
.mtv-ranknote p { margin: 8px 0 0; line-height: 1.55; }

/* ---------------------------------------------------------------------------
   Studio — the staff console. A separate shell from the public site: dark
   sidebar, compact sans headings, hairline tables. Brand magenta is reserved
   for things that need a decision, so queues read at a glance.
   --------------------------------------------------------------------------- */
body.mtv-studio {
  background: #F3F6F9;
  color: var(--mtv-ink);
  -webkit-font-smoothing: antialiased;
}
.mtv-studio a { color: inherit; }
.mtv-studio__skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: #fff; color: var(--mtv-ink); padding: 10px 16px; border-radius: 0 0 8px 0;
  font-size: 13px; font-weight: 600;
}
.mtv-studio__skip:focus { left: 0; }

.mtv-studio__shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; }

/* Sidebar */
.mtv-studio__sidebar {
  position: sticky; top: 0; height: 100vh; overflow-y: auto;
  display: flex; flex-direction: column;
  padding: 24px 14px 16px;
  background: #0B2233;
  color: #A9BCCB;
}
.mtv-studio__brand {
  display: flex; align-items: center; gap: 9px;
  padding: 0 8px 22px;
}
.mtv-studio__wordmark {
  color: #fff; font: 700 15px/1 var(--mtv-font-ui);
  letter-spacing: .2em;
}
.mtv-studio__badge {
  padding: 3px 7px; border-radius: 4px;
  background: rgba(216,30,91,.18); border: 1px solid rgba(216,30,91,.35);
  color: #FF9DBB; font-size: 10px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
}
.mtv-studio__label {
  margin: 0 0 6px; padding: 0 12px;
  color: var(--mtv-ink-4); font-size: 10px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
}
.mtv-studio__nav { display: grid; gap: 2px; }
.mtv-studio__link {
  position: relative;
  display: flex; align-items: center; gap: 11px;
  padding: 9px 12px; border-radius: 7px;
  color: #A9BCCB; font-size: 13.5px; font-weight: 500;
  transition: background .15s, color .15s;
}
.mtv-studio__link svg { width: 17px; height: 17px; fill: currentColor; opacity: .75; flex: none; }
.mtv-studio__link:hover { background: rgba(255,255,255,.05); color: #fff; }
.mtv-studio__link:hover svg { opacity: 1; }
.mtv-studio__link.is-active { background: rgba(255,255,255,.08); color: #fff; }
.mtv-studio__link.is-active svg { opacity: 1; }
.mtv-studio__link.is-active::before {
  content: ""; position: absolute; left: 0; top: 8px; bottom: 8px;
  width: 3px; border-radius: 0 3px 3px 0; background: var(--mtv-magenta);
}
.mtv-studio__foot { margin-top: auto; padding-top: 18px; }
.mtv-studio__sitelink {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 12px; border-radius: 7px;
  color: #8FA6B5; font-size: 12.5px;
}
.mtv-studio__sitelink svg { width: 15px; height: 15px; fill: currentColor; opacity: .8; }
.mtv-studio__sitelink:hover { background: rgba(255,255,255,.05); color: #fff; }
.mtv-studio__user {
  display: flex; align-items: center; gap: 10px;
  margin-top: 12px; padding: 12px 8px 0;
  border-top: 1px solid rgba(255,255,255,.09);
}
.mtv-studio__user .mtv-avatar--nav { width: 32px; height: 32px; font-size: 11px; flex: none; }
.mtv-studio__usertext { display: grid; min-width: 0; line-height: 1.25; }
.mtv-studio__usertext strong {
  color: #EAF1F7; font-size: 12.5px; font-weight: 600;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mtv-studio__usertext span { color: #7E96A6; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtv-studio__signout {
  display: grid; place-items: center; width: 28px; height: 28px; margin-left: auto;
  border: 0; border-radius: 6px; background: transparent; color: #7E96A6; cursor: pointer;
}
.mtv-studio__signout svg { width: 16px; height: 16px; fill: currentColor; }
.mtv-studio__signout:hover { background: rgba(255,255,255,.07); color: #fff; }

/* Body and top bar */
.mtv-studio__body { min-width: 0; display: flex; flex-direction: column; }
.mtv-studio__topbar {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  height: 54px; padding: 0 clamp(20px, 3vw, 40px);
  background: rgba(255,255,255,.92); backdrop-filter: blur(10px);
  border-bottom: 1px solid #E1E7ED;
}
.mtv-studio__crumb {
  margin: 0; color: var(--mtv-ink-5);
  font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
.mtv-studio__crumb span { color: #C0CCD4; margin: 0 7px; }
.mtv-studio__topactions { display: flex; align-items: center; gap: 14px; }
.mtv-studio__status {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 9px; border-radius: 999px;
  background: #EDF6F0; color: #2C6B43;
  font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.mtv-studio__status i { width: 6px; height: 6px; border-radius: 999px; background: #3E9A61; }
.mtv-studio__toplink { color: var(--mtv-ink-3); font-size: 12.5px; font-weight: 600; }
.mtv-studio__toplink:hover { color: var(--mtv-magenta); }

.mtv-studio__main {
  width: 100%; max-width: 1440px; margin: 0 auto;
  padding: clamp(24px, 3vw, 40px) clamp(20px, 3vw, 40px) 72px;
}
.mtv-studio__flash {
  margin: 0 0 18px; padding: 11px 14px;
  border: 1px solid #CBE4D3; border-radius: 8px;
  background: #F0F8F2; color: #256B3B; font-size: 13px;
}
.mtv-studio__flash--error { border-color: #EAC5C5; background: #FDF2F2; color: #9B1C1C; }

/* Page heading */
.mtv-studio__pagehead {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; margin-bottom: 26px;
}
.mtv-studio__eyebrow {
  margin: 0 0 7px; color: var(--mtv-magenta);
  font-size: 10.5px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
}
.mtv-studio__pagehead h1 {
  margin: 0; color: var(--mtv-ink);
  font: 650 clamp(24px, 3vw, 30px)/1.12 var(--mtv-font-ui);
  letter-spacing: -.025em;
}
.mtv-studio__sub {
  max-width: 720px; margin: 8px 0 0;
  color: var(--mtv-ink-3); font-size: 13.5px; line-height: 1.55;
}
.mtv-studio__pageactions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Buttons */
.mtv-studio-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 13px; border: 1px solid transparent; border-radius: 6px;
  background: #fff; color: var(--mtv-ink); cursor: pointer;
  font: 600 12.5px/1.2 var(--mtv-font-ui); white-space: nowrap;
  transition: background .15s, border-color .15s, color .15s;
}
.mtv-studio-btn.is-primary { background: #102F43; color: #fff; }
.mtv-studio-btn.is-primary:hover { background: #0B2233; }
.mtv-studio-btn.is-ghost { border-color: #D5DEE5; color: var(--mtv-ink-2); }
.mtv-studio-btn.is-ghost:hover { border-color: #B6C5CF; background: #F7FAFB; }
.mtv-studio-btn.is-danger { border-color: #E7C3C3; color: #B91C1C; background: #fff; }
.mtv-studio-btn.is-danger:hover { background: #FDF2F2; border-color: #D9A6A6; }
.mtv-studio-btn.is-sm { padding: 6px 10px; font-size: 12px; }

/* Scoped overrides for the older admin forms */
.mtv-studio .mtv-btn { border-radius: 6px; padding: 9px 14px; font-size: 12.5px; }
.mtv-studio .mtv-btn--sm { padding: 6px 10px; font-size: 12px; }
.mtv-studio .mtv-btn--primary { background: #102F43; }
.mtv-studio .mtv-btn--primary:hover { background: #0B2233; }
.mtv-studio .mtv-btn--ghost { border-color: #D5DEE5; }
.mtv-studio .mtv-inlineform input[type=text],
.mtv-studio .mtv-inlineform input[type=number],
.mtv-studio .mtv-field select {
  border: 1px solid #D5DEE5; border-radius: 6px;
  padding: 7px 10px; font-size: 12.5px; color: var(--mtv-ink); background: #fff;
}
.mtv-studio .mtv-inlineform input[type=text]:focus,
.mtv-studio .mtv-inlineform input[type=number]:focus,
.mtv-studio .mtv-field select:focus {
  outline: none; border-color: #8FA6B5; box-shadow: 0 0 0 3px rgba(16,47,67,.06);
}
.mtv-studio .mtv-field { font-size: 12px; color: var(--mtv-ink-3); }
.mtv-studio .mtv-checkbox { font-size: 12.5px; color: var(--mtv-ink-3); }

/* Stat cards */
.mtv-studio__stats {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px; margin-bottom: 20px;
}
.mtv-studio-stat {
  display: flex; align-items: flex-start; gap: 13px;
  padding: 17px 18px;
  background: #fff; border: 1px solid #E1E7ED; border-radius: 10px;
  box-shadow: 0 1px 2px rgba(16,47,67,.04);
  transition: border-color .15s, box-shadow .15s;
}
.mtv-studio-stat:hover { border-color: #C9D5DE; box-shadow: 0 4px 14px rgba(16,47,67,.06); }
.mtv-studio-stat__icon {
  display: grid; place-items: center; flex: none;
  width: 36px; height: 36px; border-radius: 8px;
  background: #EFF3F6; color: var(--mtv-ink-3);
}
.mtv-studio-stat__icon svg { width: 18px; height: 18px; fill: currentColor; }
.mtv-studio-stat strong {
  display: block; color: var(--mtv-ink);
  font: 650 27px/1 var(--mtv-font-ui); letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.mtv-studio-stat__label { display: block; margin-top: 4px; color: var(--mtv-ink-3); font-size: 12.5px; }
.mtv-studio-stat__hint { display: block; margin-top: 8px; color: #93A3AE; font-size: 11px; }
.mtv-studio-stat.is-alert .mtv-studio-stat__icon { background: rgba(216,30,91,.08); color: var(--mtv-magenta); }
.mtv-studio-stat.is-alert strong { color: var(--mtv-magenta); }

/* Metric strip (videos / casting) */
.mtv-studio-statstrip {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 20px;
  background: #fff; border: 1px solid #E1E7ED; border-radius: 10px;
  box-shadow: 0 1px 2px rgba(16,47,67,.04);
  overflow: hidden;
}
.mtv-studio-statstrip > div { padding: 14px 18px; border-right: 1px solid #EDF1F4; }
.mtv-studio-statstrip > div:last-child { border-right: 0; }
.mtv-studio-statstrip strong {
  display: block; color: var(--mtv-ink);
  font: 650 21px/1 var(--mtv-font-ui); font-variant-numeric: tabular-nums;
}
.mtv-studio-statstrip span { display: block; margin-top: 4px; color: var(--mtv-ink-5); font-size: 11.5px; }

/* Cards */
.mtv-studio-panel {
  background: #fff; border: 1px solid #E1E7ED; border-radius: 10px;
  box-shadow: 0 1px 2px rgba(16,47,67,.04);
  overflow: hidden;
}
.mtv-studio-panel--spaced { margin-top: 20px; }
.mtv-studio-panel__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  padding: 17px 20px; border-bottom: 1px solid #EDF1F4;
}
.mtv-studio-panel__head h2 { margin: 0; color: var(--mtv-ink); font: 600 14.5px/1.35 var(--mtv-font-ui); letter-spacing: -.01em; }
.mtv-studio-panel__head p { margin: 4px 0 0; color: var(--mtv-ink-5); font-size: 12.5px; line-height: 1.5; }
.mtv-studio-panel__body { padding: 18px 20px; }
.mtv-studio-panel__link { color: var(--mtv-magenta); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.mtv-studio-panel__link:hover { color: var(--mtv-magenta-soft); }

.mtv-studio__grid { display: grid; gap: 18px; margin-bottom: 20px; }
.mtv-studio__grid--overview { grid-template-columns: minmax(0, 2.1fr) minmax(250px, 1fr); }

/* Queues on the overview */
.mtv-studio-queues { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mtv-studio-queue { padding: 16px 18px 18px; border-right: 1px solid #EDF1F4; }
.mtv-studio-queue:last-child { border-right: 0; }
.mtv-studio-queue__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.mtv-studio-queue__head h3 {
  margin: 0; color: var(--mtv-ink-3);
  font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
}
.mtv-studio-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: #EFF3F6; color: var(--mtv-ink-3); font-size: 11px; font-weight: 700;
}
.mtv-studio-queue__row {
  display: grid; gap: 2px; padding: 9px 0;
  border-bottom: 1px solid #F0F3F6;
}
.mtv-studio-queue__row:last-of-type { border-bottom: 0; }
.mtv-studio-queue__title { color: var(--mtv-ink); font-size: 12.5px; font-weight: 550; line-height: 1.4; }
.mtv-studio-queue__row:hover .mtv-studio-queue__title { color: var(--mtv-magenta); }
.mtv-studio-queue__meta { color: #93A3AE; font-size: 11px; }
.mtv-studio-queue__all {
  display: inline-flex; align-items: center; gap: 5px;
  margin-top: 12px; color: var(--mtv-magenta);
  font-size: 11.5px; font-weight: 600;
}
.mtv-studio-empty { margin: 0; padding: 20px; color: #8A9BA7; font-size: 12.5px; }
.mtv-studio-queue .mtv-studio-empty { padding: 12px 0; }

/* Community metrics */
.mtv-studio-metrics { display: grid; grid-template-columns: repeat(3, 1fr); background: #EDF1F4; gap: 1px; }
.mtv-studio-metrics > div { background: #fff; padding: 17px 12px; text-align: center; }
.mtv-studio-metrics strong {
  display: block; color: var(--mtv-ink);
  font: 650 23px/1 var(--mtv-font-ui); font-variant-numeric: tabular-nums;
}
.mtv-studio-metrics span {
  display: block; margin-top: 5px; color: var(--mtv-ink-5);
  font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase;
}
.mtv-studio-note { margin: 0 0 14px; color: var(--mtv-ink-5); font-size: 12px; line-height: 1.55; }
.mtv-studio-note--toolbar { margin: -4px 0 16px; }

/* Tables */
.mtv-studio-tablewrap { overflow-x: auto; }
.mtv-studio-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.mtv-studio-table th {
  padding: 9px 20px; background: #FAFBFC; border-bottom: 1px solid #EDF1F4;
  color: var(--mtv-ink-5); font: 600 10px var(--mtv-font-ui);
  letter-spacing: .08em; text-transform: uppercase; text-align: left; white-space: nowrap;
}
.mtv-studio-table td { padding: 12px 20px; border-bottom: 1px solid #F0F3F6; vertical-align: middle; color: var(--mtv-ink-2); }
.mtv-studio-table tbody tr:last-child td { border-bottom: 0; }
.mtv-studio-table tbody tr:hover { background: #FAFCFD; }
.mtv-studio-table .is-right { text-align: right; }
.mtv-studio-person { display: flex; align-items: center; gap: 11px; min-width: 0; }
.mtv-studio-person .mtv-avatar--nav { flex: none; }
.mtv-studio-person__name { display: block; color: var(--mtv-ink); font-size: 13px; font-weight: 600; }
.mtv-studio-person__name:hover { color: var(--mtv-magenta); }
.mtv-studio-person__meta { display: block; color: #93A3AE; font-size: 11.5px; }
.mtv-studio-pill {
  display: inline-flex; align-items: center;
  padding: 3px 9px; border-radius: 999px;
  background: #F1F4F6; color: var(--mtv-ink-3);
  font-size: 11px; font-weight: 600; white-space: nowrap;
}
.mtv-studio-pill.is-ok { background: #EAF4EE; color: #256B3B; }
.mtv-studio-cellnote { display: block; margin-top: 3px; color: #93A3AE; font-size: 11px; }
.mtv-studio-muted { color: var(--mtv-ink-5); font-size: 12px; }
.mtv-studio-inlinelink { color: var(--mtv-magenta); font-size: 12.5px; font-weight: 600; }
.mtv-studio-rowactions { display: inline-flex; align-items: center; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.mtv-studio-rowactions form { margin: 0; }

/* Toolbars and filters */
.mtv-studio-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap; margin-bottom: 18px;
}
.mtv-studio-segmented {
  display: inline-flex; align-items: center; gap: 2px; flex-wrap: wrap;
  padding: 3px; border-radius: 8px; background: #E9EEF2;
}
.mtv-studio-segmented a {
  padding: 6px 11px; border-radius: 6px;
  color: var(--mtv-ink-3); font-size: 12.5px; white-space: nowrap;
}
.mtv-studio-segmented a:hover { color: var(--mtv-ink); }
.mtv-studio-segmented a.is-active {
  background: #fff; color: var(--mtv-ink); font-weight: 600;
  box-shadow: 0 1px 2px rgba(16,47,67,.08);
}
.mtv-studio-segmented a span { margin-left: 4px; color: #93A3AE; font-size: 11px; }
.mtv-studio-search { display: flex; gap: 8px; }
.mtv-studio-search input {
  min-width: 230px; padding: 8px 12px;
  border: 1px solid #D5DEE5; border-radius: 6px;
  background: #fff; color: var(--mtv-ink); font: 400 12.5px var(--mtv-font-ui);
}
.mtv-studio-search input::placeholder { color: #93A3AE; }
.mtv-studio-search input:focus { outline: none; border-color: #8FA6B5; box-shadow: 0 0 0 3px rgba(16,47,67,.06); }

/* Lists reuse the admin rows, restyled for the console */
.mtv-studio-list { display: grid; gap: 10px; }
.mtv-studio .mtv-adminrow {
  grid-template-columns: minmax(0, 1fr) 250px;
  padding: 16px 18px;
  background: #fff; border: 1px solid #E1E7ED; border-radius: 10px;
  box-shadow: 0 1px 2px rgba(16,47,67,.04);
}
.mtv-studio .mtv-adminrow h3 {
  font: 600 14.5px/1.35 var(--mtv-font-ui); letter-spacing: -.01em;
  color: var(--mtv-ink);
}
.mtv-studio .mtv-adminrow h3 a:hover { color: var(--mtv-magenta); }
.mtv-studio .mtv-adminrow p { color: var(--mtv-ink-3); font-size: 12.5px; line-height: 1.5; }
.mtv-studio .mtv-adminrow__note {
  color: var(--mtv-ink-3); background: #F7FAFB; border: 1px solid #EDF1F4;
  border-radius: 6px; padding: 8px 10px; font-size: 12px;
}
.mtv-studio .mtv-adminrow__actions { gap: 8px; }
.mtv-studio .mtv-adminrow__actions form { gap: 7px; }
.mtv-studio .mtv-catlist { margin: 16px 0 0; padding: 0; list-style: none; }
.mtv-studio .mtv-catlist li { padding: 9px 0; border-top: 1px solid #EDF1F4; }
.mtv-studio .mtv-tag { font-size: 10px; }
.mtv-studio .mtv-tag--pending { background: #FEF3E2; color: #9A5B00; }
.mtv-studio .mtv-tag--approved { background: #EAF4EE; color: #256B3B; }
.mtv-studio .mtv-tag--rejected,
.mtv-studio .mtv-tag--closed { background: #FDF2F2; color: #B91C1C; }
.mtv-studio-pagination { margin-top: 18px; }

/* Responsive */
@media (max-width: 900px) {
  .mtv-studio__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mtv-studio__grid--overview { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  /* minmax(0, …) is load-bearing: a plain 1fr column grows to the widest
     min-content child (the filter row), which pushes the whole console past
     the viewport on a phone. */
  .mtv-studio__shell { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .mtv-studio__sidebar {
    position: static; height: auto; overflow: visible; min-width: 0;
    flex-direction: row; flex-wrap: wrap; align-items: center;
    gap: 10px 14px; padding: 12px 16px;
  }
  .mtv-studio__brand { flex: 1; padding: 0; }
  .mtv-studio__label, .mtv-studio__sitelink, .mtv-studio__usertext { display: none; }
  .mtv-studio__foot { margin: 0; padding: 0; }
  .mtv-studio__user { margin: 0; padding: 0; border: 0; }
  .mtv-studio__nav {
    order: 3; flex-basis: 100%;
    display: flex; flex-wrap: wrap; gap: 4px;
    margin: 0; padding-top: 2px;
  }
  .mtv-studio__nav::-webkit-scrollbar { display: none; }
  .mtv-studio__link { flex: 0 0 auto; padding: 7px 10px; font-size: 12.5px; }
  .mtv-studio__link.is-active::before { display: none; }
  .mtv-studio__topbar { display: none; }
  .mtv-studio__main { padding-top: 24px; }
  .mtv-studio-queues { grid-template-columns: 1fr; }
  .mtv-studio-queue { border-right: 0; border-bottom: 1px solid #EDF1F4; }
  .mtv-studio-queue:last-child { border-bottom: 0; }
}
@media (max-width: 720px) {
  .mtv-studio__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .mtv-studio-stat { padding: 14px; gap: 10px; }
  .mtv-studio-stat__icon { width: 32px; height: 32px; }
  .mtv-studio-stat strong { font-size: 23px; }
  .mtv-studio-stat__hint { display: none; }
  .mtv-studio-statstrip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mtv-studio-statstrip > div:nth-child(2n) { border-right: 0; }
  .mtv-studio-statstrip > div:nth-child(-n+2) { border-bottom: 1px solid #EDF1F4; }
  .mtv-studio__pagehead { align-items: flex-start; }
  .mtv-studio__pagehead h1 { font-size: 24px; }
  .mtv-studio-toolbar { align-items: stretch; }
  .mtv-studio-segmented { width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .mtv-studio-segmented::-webkit-scrollbar { display: none; }
  .mtv-studio-segmented a { flex: 0 0 auto; }
  .mtv-studio-search { width: 100%; }
  .mtv-studio-search input { flex: 1; min-width: 0; }
  .mtv-studio .mtv-adminrow { grid-template-columns: 1fr; padding: 14px; }
  .mtv-studio .mtv-adminrow__actions { padding-top: 12px; border-top: 1px solid #EDF1F4; }
  .mtv-studio .mtv-catlist .mtv-inlineform {
    display: grid; grid-template-columns: minmax(0, 1fr) 70px auto; gap: 8px;
  }
  .mtv-studio .mtv-catlist .mtv-inlineform input[type=text] { grid-column: 1 / -1; width: 100%; min-width: 0; }
  .mtv-studio .mtv-catlist .mtv-inlineform .mtv-studio-muted { grid-column: 1; align-self: center; min-width: 0; }
  .mtv-studio .mtv-catlist .mtv-inlineform input[type=number] { width: 70px; }
  .mtv-studio .mtv-catlist .mtv-inlineform button { justify-self: end; }
  .mtv-studio-panel__head { padding: 14px 16px; flex-wrap: wrap; }
  .mtv-studio-panel__body { padding: 14px 16px; }
  .mtv-studio-table thead { display: none; }
  .mtv-studio-table, .mtv-studio-table tbody, .mtv-studio-table tr, .mtv-studio-table td { display: block; width: 100%; }
  .mtv-studio-table tr { padding: 13px 16px; border-bottom: 1px solid #EDF1F4; }
  .mtv-studio-table tr:last-child { border-bottom: 0; }
  .mtv-studio-table td { padding: 4px 0; border: 0; }
  .mtv-studio-table td[data-label]::before {
    content: attr(data-label); display: block; margin-bottom: 2px;
    color: #93A3AE; font-size: 9.5px; font-weight: 600;
    letter-spacing: .08em; text-transform: uppercase;
  }
  .mtv-studio-table td.is-right { margin-top: 8px; text-align: left; }
  .mtv-studio-rowactions { justify-content: flex-start; }
}


/* ---------------------------------------------------------------------------
   Studio sign-in — staff enter through their own door, not the member auth card.
   --------------------------------------------------------------------------- */
body.mtv-studio--login { background: #F3F6F9; }
.mtv-studio-login {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  min-height: 100vh;
}

.mtv-studio-login__brand {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  padding: 36px clamp(28px, 4.5vw, 64px) 30px;
  background:
    radial-gradient(820px 460px at 8% -10%, rgba(216,30,91,.28), transparent 60%),
    linear-gradient(155deg, #0B2233 0%, #0C2639 52%, #102F43 100%);
  color: #A9BCCB;
}
.mtv-studio-login__brand::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 78%);
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 78%);
}
.mtv-studio-login__brand::after {
  content: ""; position: absolute; right: -140px; bottom: -180px;
  width: 460px; height: 460px; border-radius: 50%;
  border: 1px solid rgba(216,30,91,.28);
  box-shadow: 0 0 0 60px rgba(216,30,91,.05), 0 0 0 61px rgba(216,30,91,.12);
  pointer-events: none;
}
.mtv-studio-login__mark {
  position: relative; z-index: 1;
  display: inline-flex; align-items: center; gap: 9px; align-self: flex-start;
}
.mtv-studio-login__intro {
  position: relative; z-index: 1;
  margin: auto 0; padding: 56px 0; max-width: 500px;
}
.mtv-studio-login__kicker {
  margin: 0 0 14px; color: #FF9DBB;
  font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.mtv-studio-login__intro h1 {
  margin: 0 0 16px; color: #fff;
  font: 600 clamp(34px, 4vw, 50px)/1.05 var(--mtv-font-ui); letter-spacing: -.03em;
}
.mtv-studio-login__lede {
  margin: 0 0 30px; max-width: 44ch;
  color: #B7C8D4; font-size: 14.5px; line-height: 1.65;
}
.mtv-studio-login__facts {
  display: grid; gap: 0; margin: 0; padding: 0; list-style: none;
  border-top: 1px solid rgba(255,255,255,.1);
}
.mtv-studio-login__facts li {
  display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 14px; align-items: baseline;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.07);
}
.mtv-studio-login__facts strong {
  color: #EAF1F7; font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
}
.mtv-studio-login__facts span { color: #8FA6B5; font-size: 13px; }
.mtv-studio-login__foot {
  position: relative; z-index: 1; margin: 0;
  color: var(--mtv-ink-4); font-size: 11.5px; letter-spacing: .02em;
}
.mtv-studio-login__foot span { margin: 0 6px; color: var(--mtv-ink-3); }

.mtv-studio-login__panel {
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  gap: 22px; padding: 40px 24px;
}
.mtv-studio-login__card {
  width: min(400px, 100%); padding: 36px 34px 30px;
  background: #fff; border: 1px solid #E1E7ED; border-radius: 12px;
  box-shadow: 0 18px 50px rgba(16,47,67,.08);
}
.mtv-studio-login__card .mtv-studio-login__kicker { color: var(--mtv-magenta); }
.mtv-studio-login__card h2 {
  margin: 0 0 8px; color: var(--mtv-ink);
  font: 600 27px/1.15 var(--mtv-font-ui); letter-spacing: -.02em;
}
.mtv-studio-login__sub { margin: 0 0 22px; color: var(--mtv-ink-5); font-size: 13px; line-height: 1.6; }

.mtv-studio-login__errors {
  margin: 0 0 18px; padding: 11px 14px;
  border: 1px solid #F0C7C7; border-radius: 7px; background: #FDF2F2;
}
.mtv-studio-login__errors ul { margin: 0; padding-left: 16px; color: #B91C1C; font-size: 12.5px; line-height: 1.5; }

.mtv-studio-login__form { display: grid; gap: 7px; }
.mtv-studio-login__form label:not(.mtv-studio-login__check) {
  margin-top: 8px; color: var(--mtv-ink-2); font-size: 12px; font-weight: 600;
}
.mtv-studio-login__form label:first-of-type { margin-top: 0; }
.mtv-studio-login__form input[type=email],
.mtv-studio-login__form input[type=password] {
  width: 100%; padding: 11px 12px;
  border: 1px solid #D5DEE5; border-radius: 6px; background: #fff; color: var(--mtv-ink);
  font: 400 14px var(--mtv-font-ui);
  transition: border-color .15s, box-shadow .15s;
}
.mtv-studio-login__form input:focus {
  outline: none; border-color: #102F43; box-shadow: 0 0 0 3px rgba(16,47,67,.09);
}
.mtv-studio-login__check {
  display: flex; align-items: center; gap: 8px;
  margin: 10px 0 4px; color: var(--mtv-ink-3); font-size: 12.5px; cursor: pointer;
}
.mtv-studio-login__check input { accent-color: #102F43; }
.mtv-studio-login__submit {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; margin-top: 12px; padding: 12px 16px;
  border: 1px solid transparent; border-radius: 6px;
  background: #102F43; color: #fff; cursor: pointer;
  font: 600 13.5px/1.2 var(--mtv-font-ui);
  transition: background .15s;
}
.mtv-studio-login__submit:hover { background: #0B2233; }
.mtv-studio-login__submit svg { width: 16px; height: 16px; fill: currentColor; }
.mtv-studio-login__member {
  margin: 22px 0 0; padding-top: 18px; border-top: 1px solid #EDF1F4;
  color: #8A9BA7; font-size: 12px; line-height: 1.5; text-align: center;
}
.mtv-studio-login__member a { color: var(--mtv-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.mtv-studio-login__legal { margin: 0; color: #93A3AE; font-size: 11px; }
.mtv-studio-login__legal a { color: var(--mtv-ink-3); text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 900px) {
  .mtv-studio-login { grid-template-columns: 1fr; }
  .mtv-studio-login__brand { padding: 22px 20px 24px; }
  .mtv-studio-login__intro { margin: 0; padding: 34px 0 26px; max-width: none; }
  .mtv-studio-login__intro h1 { font-size: 32px; }
  .mtv-studio-login__lede { margin-bottom: 20px; font-size: 13.5px; }
  .mtv-studio-login__facts, .mtv-studio-login__foot { display: none; }
  .mtv-studio-login__panel { justify-content: flex-start; padding: 28px 16px 40px; }
  .mtv-studio-login__card { padding: 26px 22px 24px; border-radius: 10px; }
  .mtv-studio-login__card h2 { font-size: 23px; }
}
@media (max-width: 380px) {
  .mtv-studio-login__brand { padding: 18px 16px 20px; }
  .mtv-studio-login__panel { padding: 20px 12px 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .mtv-studio-login__submit, .mtv-studio-login__form input { transition: none; }
}

/* Super Admin door: same shell as staff sign-in, with brand magenta marking the rank. */
.mtv-studio--super .mtv-studio-login__brand {
  background:
    radial-gradient(760px 520px at 92% -6%, rgba(216,30,91,.34), transparent 62%),
    linear-gradient(150deg, #081A27 0%, #0B2233 46%, #163A50 100%);
}
.mtv-studio--super .mtv-studio__badge {
  background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.24); color: #fff;
}
.mtv-studio--super .mtv-studio-login__card { border-top: 3px solid var(--mtv-magenta); }
.mtv-studio--super .mtv-studio-login__submit { background: var(--mtv-magenta); }
.mtv-studio--super .mtv-studio-login__submit:hover { background: #B8174C; }
.mtv-studio-login__member--alt {
  margin-top: 10px; padding-top: 0; border-top: 0;
}
.mtv-studio-pill.is-super { background: #102F43; color: #fff; }

/* Branding refresh: the four supplied logos are opaque JPEGs, so each surface keeps
   its own supplied variant and dark-backed artwork is composited instead of boxed. */
.mtv-logo img { height: 44px; border-radius: 8px; }
.mtv-logo__on-light { mix-blend-mode: darken; }
.mtv-logo__on-dark { mix-blend-mode: screen; }
.mtv-auth__logo img { height: 60px; width: auto; border-radius: 12px; }
.mtv-auth__logo .mtv-logo__on-dark { mix-blend-mode: screen; }
.mtv-footer__lockup { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; }
.mtv-footer__mark {
  height: 44px; width: auto; border-radius: 10px; mix-blend-mode: screen;
}
.mtv-footer__brand .mtv-footer__logo {
  height: 64px; width: auto; margin: 0; padding: 0; background: none;
  border-radius: 0; box-shadow: none; mix-blend-mode: screen;
}
.mtv-studio__mark {
  height: 30px; width: auto; border-radius: 7px; mix-blend-mode: screen;
  flex: 0 0 auto;
}
@media (max-width: 640px) {
  .mtv-logo img { height: 34px; }
  .mtv-auth__logo img { height: 52px; }
  .mtv-footer__lockup { gap: 10px; margin-bottom: 14px; }
  .mtv-footer__mark { height: 36px; }
  .mtv-footer__brand .mtv-footer__logo { height: 52px; }
  .mtv-studio__mark { height: 26px; }
}

/* Booking marketplace listing layout: five columns on desktop, two on phones. */
.mtv-market-listings { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.mtv-service-show-grid { grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); grid-template-areas: "intro booking" "details booking"; align-items: start; }
.mtv-service-show-intro { grid-area: intro; min-width: 0; }
.mtv-service-show-booking { grid-area: booking; min-width: 0; }
.mtv-service-show-details { grid-area: details; min-width: 0; }
.mtv-service-card { min-width: 0; }
.mtv-service-card__image { overflow: hidden; }
.mtv-service-card__image img { display: block; }
.mtv-service-search .mtv-market-filter-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.mtv-service-search .mtv-market-filter__search { grid-column: 1 / -1; }
.mtv-service-search .mtv-market-filter__category,
.mtv-service-search .mtv-market-filter__location { grid-column: span 6; }
.mtv-service-search .mtv-market-filter__submit { grid-column: span 5; }
.mtv-market-category-strip { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; min-width: 0; margin: 8px 0 25px; padding: 4px 0 10px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.mtv-market-category-strip .mtv-chip { display: inline-flex; flex: 0 0 auto; align-items: center; white-space: nowrap; line-height: 1.2; text-decoration: none; }
.mtv-market-results-head { gap: 14px; margin-bottom: 14px; }
.mtv-market-sort { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.mtv-market-sort select { min-height: 40px; padding: 8px 30px 8px 11px; border: 1px solid var(--mtv-hairline); border-radius: 11px; background: #fff; color: var(--mtv-ink); font: 600 13px var(--mtv-font-ui); }
@media (max-width: 900px) {
  .mtv-market-listings { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .mtv-service-search .mtv-market-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mtv-service-search .mtv-market-filter__search { grid-column: 1 / -1; }
  .mtv-service-search .mtv-market-filter__category,
  .mtv-service-search .mtv-market-filter__location { grid-column: span 1; }
  .mtv-service-search .mtv-market-filter__submit { grid-column: span 1; }
  .mtv-market-listings { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .mtv-market-results-head { align-items: flex-start !important; }
  .mtv-market-results-head .mtv-section-title { font-size: 1.2rem !important; }
  .mtv-market-sort { align-items: flex-start; flex-direction: column; gap: 4px; }
  .mtv-market-sort select { max-width: 150px; min-height: 36px; }
}
@media (max-width: 640px) {
  .mtv-service-search-disclosure { margin-bottom: 20px; }
  .mtv-service-search-disclosure > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border: 1px solid rgba(0, 69, 116, .18);
    border-radius: 14px;
    background: linear-gradient(135deg, #EAF3F8 0%, #F8EDF2 100%);
    color: var(--mtv-ink);
    list-style: none;
    cursor: pointer;
  }
  .mtv-service-search-disclosure > summary::-webkit-details-marker { display: none; }
  .mtv-service-search-disclosure > summary::after { content: "+"; color: var(--mtv-magenta); font-size: 22px; font-weight: 500; line-height: 1; }
  .mtv-service-search-disclosure[open] > summary::after { content: "−"; }
  .mtv-service-search-disclosure > summary span { display: grid; gap: 3px; }
  .mtv-service-search-disclosure > summary small { color: var(--mtv-ink-4); font-size: 12px; }
  .mtv-service-search-disclosure:not([open]) > form { display: none; }
  .mtv-service-search-disclosure[open] > form { margin-bottom: 0 !important; }
  .mtv-service-search__heading { display: none; }
}
@media (max-width: 640px) {
  .mtv-service-card__body { padding: 11px !important; gap: 0 !important; }
  .mtv-service-card__body > div:first-child { margin-bottom: 4px; }
  .mtv-service-card__copy { display: block; margin: 0 !important; padding: 0 !important; line-height: 1.15; }
  .mtv-service-card__creator-overlay { top: 8px; left: 8px; max-width: calc(100% - 50px); }
  .mtv-service-card__creator-name { font-size: 10px; }
  .mtv-service-card__creator-verified { width: 15px; height: 15px; font-size: 10px; }
  .mtv-service-card__favorite { top: 8px; right: 8px; }
  .mtv-service-card__favorite-button { width: 34px; height: 34px; }
  .mtv-service-card__favorite-button svg { width: 19px; height: 19px; }
  .mtv-service-card__provider { gap: 6px !important; }
  .mtv-service-card__provider .mtv-avatar { width: 30px; height: 30px; }
  .mtv-service-card__provider strong { font-size: 12px; }
  .mtv-service-card__handle { font-size: 10px; }
  .mtv-service-card__copy .mtv-card__title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin: 0 !important; font-size: 13px !important; line-height: 1.25; }
  .mtv-service-card__description { display: none; }
  .mtv-service-card__details { align-items: flex-end !important; flex-direction: row; gap: 5px !important; margin-top: 0 !important; padding-top: 0 !important; }
  .mtv-service-card__details > span:first-child > strong { font-size: 14px !important; }
  .mtv-service-card__location { max-width: 48%; text-align: right !important; font-size: 9px; line-height: 1.2; }
  .mtv-service-card__actions { gap: 5px !important; }
  .mtv-service-card__actions > a.mtv-btn { padding: 8px 5px; font-size: 10px; line-height: 1.2; white-space: nowrap; }
  .mtv-service-card__actions form .mtv-btn { min-width: 34px; padding: 7px; }
}
@media (max-width: 700px) {
  .mtv-service-show-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "booking" "details"; gap: 14px; }
  .mtv-service-show-grid > article,
  .mtv-service-show-grid > aside { width: 100%; min-width: 0; box-sizing: border-box; }
  .mtv-service-show-grid > aside { position: static !important; top: auto !important; }
}

/* Mobile brand lockup with a subtle live pulse. */
.mtv-mobile-wordmark,
.mtv-live-indicator { display: none; }
@media (max-width: 640px) {
  .mtv-logo { display: inline-flex; align-items: center; gap: 7px; min-width: 0; white-space: nowrap; }
  .mtv-mobile-wordmark { display: inline; color: var(--mtv-ink); font: 800 14px/1 var(--mtv-font-ui); letter-spacing: .045em; }
  .mtv-live-indicator { display: inline-flex; align-items: center; gap: 4px; color: var(--mtv-magenta); font: 800 9px/1 var(--mtv-font-ui); letter-spacing: .07em; }
  .mtv-live-indicator__dot { position: relative; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #e11d48; }
  .mtv-live-indicator__dot::after { position: absolute; inset: -3px; border: 1px solid #e11d48; border-radius: 50%; content: ""; animation: mtv-live-pulse 1.6s ease-out infinite; }
}

/* Softer fields for creator service and availability forms. */
.mtv-service-editor .mtv-field input:not([type=checkbox]):not([type=hidden]),
.mtv-service-editor .mtv-field select,
.mtv-service-editor .mtv-field textarea {
  background-color: #F1F6FA;
  border-color: rgba(0, 69, 116, .22);
}
.mtv-service-editor .mtv-field input::placeholder,
.mtv-service-editor .mtv-field textarea::placeholder { color: var(--mtv-ink-5); }
.mtv-service-editor .mtv-field input:focus,
.mtv-service-editor .mtv-field select:focus,
.mtv-service-editor .mtv-field textarea:focus {
  background-color: #F7FAFC;
  border-color: var(--mtv-magenta);
  box-shadow: 0 0 0 3px rgba(216, 30, 91, .11);
  outline: none;
}
.mtv-service-search .mtv-market-filter-grid input,
.mtv-service-search .mtv-market-filter-grid select {
  background-color: #F1F6FA;
  border-color: rgba(0, 69, 116, .22);
}
.mtv-service-search .mtv-market-filter-grid input:focus,
.mtv-service-search .mtv-market-filter-grid select:focus {
  background-color: #F7FAFC;
  border-color: var(--mtv-magenta);
  box-shadow: 0 0 0 3px rgba(216, 30, 91, .11);
  outline: none;
}
.mtv-service-editor form.mtv-studio-panel,
.mtv-service-search.mtv-studio-panel {
  background: linear-gradient(135deg, #EAF3F8 0%, #F8EDF2 100%);
  border-color: rgba(0, 69, 116, .2);
  box-shadow: 0 8px 24px rgba(0, 69, 116, .08);
}
.mtv-service-search-disclosure { margin-bottom: 20px; }
.mtv-service-search-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  border: 1px solid rgba(0, 69, 116, .18);
  border-radius: 14px;
  background: linear-gradient(135deg, #EAF3F8 0%, #F8EDF2 100%);
  color: var(--mtv-ink);
  list-style: none;
  cursor: pointer;
}
.mtv-service-search-disclosure > summary::-webkit-details-marker { display: none; }
.mtv-service-search-disclosure > summary::after { content: "+"; color: var(--mtv-magenta); font-size: 22px; font-weight: 500; line-height: 1; }
.mtv-service-search-disclosure[open] > summary::after { content: "−"; }
.mtv-service-search-disclosure > summary span { display: grid; gap: 3px; }
.mtv-service-search-disclosure > summary small { color: var(--mtv-ink-4); font-size: 12px; }
.mtv-service-search-disclosure:not([open]) > form { display: none; }
.mtv-service-search-disclosure[open] > form { display: block; margin-bottom: 0 !important; }
.mtv-market-sort select {
  background: linear-gradient(135deg, #DCEBF4 0%, #F4DDE8 100%) !important;
  border: 1px solid rgba(0, 69, 116, .38) !important;
  box-shadow: 0 3px 10px rgba(0, 69, 116, .13);
  color: var(--mtv-ink) !important;
  font-weight: 700;
}
.mtv-market-sort select:focus-visible {
  border-color: var(--mtv-magenta);
  box-shadow: 0 0 0 3px rgba(216, 30, 91, .13);
  outline: none;
}
.mtv-service-card__favorite {
  position: absolute;
  z-index: 4;
  top: 10px;
  right: 10px;
  margin: 0;
}
.mtv-service-card__favorite-button {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 50%;
  background: rgba(17, 48, 72, .86);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .28);
  color: #FF8CAF;
  font: 700 23px/1 var(--mtv-font-ui);
  text-decoration: none;
  cursor: pointer;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}
.mtv-service-card__favorite-button span { transform: translateY(-1px); }
.mtv-service-card__favorite-button svg { display: block; width: 20px; height: 20px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.mtv-service-card__favorite-button:hover,
.mtv-service-card__favorite-button:focus-visible,
.mtv-service-card__favorite-button.is-saved {
  border-color: #D81E5B;
  background: #D81E5B;
  color: #fff;
}
.mtv-service-card__favorite-button:hover svg,
.mtv-service-card__favorite-button.is-saved svg { fill: currentColor; }
.mtv-service-card__favorite-button.is-owner { cursor: default; }
.mtv-service-card__favorite-button:hover { transform: scale(1.06); }
.mtv-service-card__favorite-button:focus-visible { outline: 3px solid rgba(216, 30, 91, .35); outline-offset: 2px; }
.mtv-service-card__creator-overlay {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 10px;
  display: flex;
  max-width: calc(100% - 58px);
  align-items: center;
  gap: 5px;
  padding: 5px 7px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 9px;
  background: rgba(17, 48, 72, .88);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.mtv-service-card__creator-name {
  min-width: 0;
  overflow: hidden;
  color: #fff;
  font: 700 12px/1.2 var(--mtv-font-ui);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mtv-service-card__creator-name:hover { color: #FFD2E1; }
.mtv-service-card__creator-verified {
  display: grid;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  place-items: center;
  border-radius: 50%;
  background: #0B7A40;
  color: #fff;
  font: 800 11px/1 var(--mtv-font-ui);
}
.mtv-service-optional { border-top: 1px solid rgba(0, 69, 116, .16); border-bottom: 1px solid rgba(0, 69, 116, .16); padding: 12px 0; }
.mtv-service-optional > summary { color: var(--mtv-magenta); font-size: 14px; font-weight: 700; cursor: pointer; }

/* Feed post, poll, place, and reply fields have a visible resting and focus state. */
.mtv-composer textarea,
.mtv-replybox textarea,
.mtv-post-edit .mtv-form textarea,
.mtv-postbox .mtv-postbox__pollopt input,
.mtv-postbox .mtv-postbox__place input {
  background-color: #F1F6FA;
  border: 1px solid rgba(0, 69, 116, .22);
  border-radius: 11px;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.mtv-composer textarea { padding: 12px 14px; }
.mtv-replybox textarea,
.mtv-post-edit .mtv-form textarea { color: var(--mtv-ink); }
.mtv-composer textarea:focus,
.mtv-replybox textarea:focus,
.mtv-post-edit .mtv-form textarea:focus,
.mtv-postbox .mtv-postbox__pollopt input:focus,
.mtv-postbox .mtv-postbox__place input:focus {
  background-color: #F7FAFC;
  border-color: var(--mtv-magenta);
  box-shadow: 0 0 0 3px rgba(216, 30, 91, .12);
  outline: none;
}
.mtv-composer textarea::placeholder,
.mtv-replybox textarea::placeholder,
.mtv-post-edit .mtv-form textarea::placeholder,
.mtv-postbox .mtv-postbox__pollopt input::placeholder,
.mtv-postbox .mtv-postbox__place input::placeholder { color: var(--mtv-ink-5); }

/* Make the global header search controls easy to track with a keyboard. */
.mtv-header .mtv-search input {
  background-color: #F1F6FA;
  border-color: rgba(0, 69, 116, .22);
}
.mtv-header .mtv-search input::placeholder { color: var(--mtv-ink-5); }
.mtv-header .mtv-search input:focus {
  background-color: #F7FAFC;
  border-color: var(--mtv-magenta);
  box-shadow: 0 0 0 3px rgba(216, 30, 91, .12);
  outline: none;
}
.mtv-header .mtv-search input:focus-visible {
  border-color: var(--mtv-magenta);
  box-shadow: 0 0 0 3px rgba(216, 30, 91, .14);
  outline: none;
}
.mtv-header .mtv-search button:focus-visible {
  outline: 3px solid rgba(216, 30, 91, .32);
  outline-offset: 3px;
}

@keyframes mtv-live-pulse {
  0% { opacity: .75; transform: scale(.7); }
  100% { opacity: 0; transform: scale(1.8); }
}
@media (prefers-reduced-motion: reduce) {
  .mtv-live-indicator__dot::after { animation: none; }
}
@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .mtv-live-indicator__dot::after { animation: mtv-live-pulse 1.6s ease-out infinite; }
}

/* Use the same pulsing ring on phones and desktop, including iOS reduced-motion mode. */
@media (max-width: 640px) {
  .mtv-live-indicator__dot { animation: none !important; }
  .mtv-live-indicator__dot::after { animation: mtv-live-pulse 1.6s ease-out infinite !important; }
}

