:root{
  --font-main: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bg:#f5f5f5;
  --card:#ffffff;
  --border:#e7e7e7;
  --text:#111;
  --muted:#666;
  --shadow: 0 8px 24px rgba(0,0,0,.08);
  --ms-profile-shell-frame-max: 1400px;
  --ms-profile-content-max: 1320px;
  --ms-profile-content-card-max: 1260px;
  --ms-profile-detail-card-max: 980px;
  --ms-profile-content-gutter: clamp(16px, 2.2vw, 28px);
  --ms-display-card-gap: clamp(16px, 2vw, 22px);
  --ms-display-card-radius: 22px;
  --ms-display-card-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
  --ms-display-card-media-ratio: 4 / 3;
  --ms-display-card-media-min-height: clamp(220px, 26vw, 320px);
  --ms-display-card-body-pad: 16px;
  --ms-center-column-max: var(--ms-profile-shell-frame-max);
  --ms-center-column-card-max: var(--ms-profile-content-card-max);
  --ms-center-column-gutter: var(--ms-profile-content-gutter);
  --site-content-max-width: var(--ms-profile-content-card-max);
  --module-card-radius: 18px;
  --module-card-thumbnail-height: 190px;
  --module-card-thumbnail-height-mobile: 150px;
  --module-card-thumbnail-radius: 0;
  --module-card-bottom-font-size: 16px;
  --module-card-bottom-font-weight: 400;
  --module-card-bottom-color: #111827;
  --module-card-bottom-line-height: 1.25;
  --app-shell-header-height: 78px;
  --desktop-side-nav-width: 96px;
  --desktop-side-nav-inset: 28px;
  --desktop-side-nav-rail-width: 56px;
  --app-content-column-max: 900px;
  --app-social-content-column-max: 820px;
  --app-social-left-offset: 40px;
  --app-social-column-gap: 32px;
  --app-right-rail-width: 300px;
  --app-shell-column-gap: 28px;
  --profile-page-header-height: 76px;
  --profile-compact-header-height: 68px;
  --profile-action-bg:#0f172a;
  --profile-action-text:#ffffff;
  --profile-action-icon:#ffffff;
  --profile-action-icon-color:#ffffff;
  --profile-accent-color:#0f172a;
  --profile-accent-contrast:#ffffff;
  --profile-accent-on-white:#0f172a;
  --profile-button-bg:#ffffff;
  --profile-button-text:#111827;
  --profile-button-icon:#111827;
  --profile-menu-bg:#0f172a;
  --custom-menu-button-bg:#0f172a;
  --custom-menu-icon-color:#ffffff;
  --custom-action-button-bg:#0f172a;
  --custom-action-icon-color:#ffffff;
}

.module-page-header {
  width: 100%;
  max-width: var(--site-content-max-width, 1260px);
  margin: 0 auto 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.module-page-title-row,
.detail-title-row,
.profile-detail-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.module-page-title {
  margin: 0;
}

.card-thumbnail-wrap {
  position: relative;
}

.card-thumbnail-action,
.card-action-top-right {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
}

.card-thumbnail-action > .universal-actions-menu--card,
.card-action-top-right > .universal-actions-menu--card {
  position: static;
  top: auto;
  right: auto;
}

.universal-actions-menu {
  position: relative;
  display: inline-flex;
  z-index: 40;
}

.universal-actions-menu--card {
  position: absolute;
  top: var(--card-action-top, 12px);
  right: var(--card-action-right, 12px);
}

.blog-card,
.honors-card,
.highlight-card,
.championship-thumb-card {
  --card-action-top: 74px;
}

.recommendation-alumni-card {
  --card-action-top: 78px;
}

.blog-card,
.alumni-card,
.module-thumb-card,
.ms-universal-thumb-card,
.ms-thumb-card,
.facility-grid-item,
.ms-doc-card-shell,
.hof-card,
.game-account-card,
.rank-progress-card,
.setup-rig-card,
.stream-channel-card,
.tournament-card,
.match-result-card,
.podcast-card,
.workout-thumb-card,
.ath-video-card {
  position: relative;
}

.universal-actions-trigger {
  width: 34px;
  height: 34px;
  border: 1px solid #d9dee8;
  border-radius: 50%;
  background: #ffffff;
  color: #111827;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.universal-actions-trigger:hover,
.universal-actions-trigger:focus-visible,
.universal-actions-menu.is-open .universal-actions-trigger {
  background: #f8fafc;
  color: #111827;
  border-color: #cbd5e1;
}

.universal-actions-trigger svg,
.universal-actions-trigger i,
.universal-actions-trigger span {
  color: currentColor;
  fill: currentColor;
  stroke: currentColor;
}

.profile-page .alumni-card-menu-toggle,
.profile-page .blog-card-menu-toggle,
.profile-page .facility-card-menu-toggle,
.profile-page .events-card-menu-toggle,
.profile-page .ms-doc-card-menu-toggle,
.profile-page .drill-thumb-owner-menu .facility-card-menu-toggle,
.profile-page .ath-card-menu-wrap .facility-card-menu-toggle,
.profile-page .roster-guide-card__menu-toggle,
.profile-page .universal-actions-trigger {
  background: #ffffff;
  color: #111827;
  border-color: #d9dee8;
}

.profile-page .alumni-card-menu-toggle:hover,
.profile-page .blog-card-menu-toggle:hover,
.profile-page .facility-card-menu-toggle:hover,
.profile-page .facility-card-menu[open] .facility-card-menu-toggle,
.profile-page .events-card-menu-toggle:hover,
.profile-page .ms-doc-card-menu-toggle:hover,
.profile-page .drill-thumb-owner-menu .facility-card-menu-toggle:hover,
.profile-page .drill-thumb-owner-menu[open] .facility-card-menu-toggle,
.profile-page .ath-card-menu-wrap .facility-card-menu-toggle:hover,
.profile-page .ath-card-menu-wrap.facility-card-menu[open] .facility-card-menu-toggle,
.profile-page .roster-guide-card__menu-toggle:hover,
.profile-page .universal-actions-trigger:hover,
.profile-page .universal-actions-trigger:focus-visible,
.profile-page .universal-actions-menu.is-open .universal-actions-trigger {
  background: #f8fafc;
  color: #111827;
  border-color: #cbd5e1;
}

.universal-actions-dropdown {
  position: absolute;
  top: 40px;
  right: 0;
  min-width: 150px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
  padding: 8px;
  z-index: 50;
  display: none;
}

.universal-actions-menu.is-open .universal-actions-dropdown {
  display: block;
}

.universal-action-form {
  margin: 0;
}

.universal-action-item {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.universal-action-item:hover,
.universal-action-item:focus-visible {
  background: #f3f4f6;
  border-radius: 10px;
  color: #111827;
  text-decoration: none;
}

.universal-action-delete {
  color: #dc2626;
}

.universal-action-delete:hover,
.universal-action-delete:focus-visible {
  color: #dc2626;
  background: #fef2f2;
}

.universal-action-icon {
  width: 18px;
  min-width: 18px;
  text-align: center;
  line-height: 1;
}

.profile-detail-shell{
  display:flex;
  flex-direction:column;
  gap:0;
  width:min(100%, var(--ms-profile-detail-card-max, 980px));
  max-width:var(--ms-profile-detail-card-max, 980px);
  min-width:0;
  margin:0 auto;
  padding:14px 0 30px;
}

.profile-detail-page{
  display:flex;
  flex-direction:column;
  gap:16px;
  width:100%;
  min-width:0;
}

.profile-page-title,
.profile-detail-title{
  margin:0 0 28px;
  color:#111827;
  font-size:34px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.03em;
  overflow-wrap:anywhere;
}

.profile-detail-title-link{
  display:inline-block;
  color:inherit;
  text-decoration:none;
}

.profile-detail-title-link:hover,
.profile-detail-title-link:focus{
  color:inherit;
  text-decoration:none;
}

.profile-detail-title a{
  color:inherit;
  text-decoration:none;
}

.profile-detail-title a:hover,
.profile-detail-title a:focus-visible{
  text-decoration:none;
}

.profile-detail-card{
  width:100%;
  min-width:0;
  border-radius:18px;
}

.profile-detail-shell > .profile-detail-card + .profile-detail-card{
  margin-top:16px;
}

.profile-detail-shell .profile-detail-title{
  margin:0 0 28px !important;
}

.profile-detail-shell.ms-page-wrap,
.profile-detail-shell.ms-doc-detail-shell,
.profile-detail-shell.hof-detail-page,
.profile-detail-shell.events-wrap-detail,
.profile-detail-shell.location-detail-wrap,
.profile-detail-shell.facility-detail-page{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  width:min(100%, var(--ms-profile-detail-card-max, 980px)) !important;
  max-width:var(--ms-profile-detail-card-max, 980px) !important;
  min-width:0;
  margin:0 auto !important;
  padding:14px 0 30px !important;
}

.profile-detail-shell.ms-doc-detail-shell{
  justify-content:flex-start !important;
  margin-top:0 !important;
}

.profile-detail-shell > .profile-detail-card.events-post-card,
.profile-detail-shell > .profile-detail-card.ms-doc-detail-card,
.profile-detail-shell > .profile-detail-card.hof-detail-card,
.profile-detail-shell > .profile-detail-card.facility-post-card,
.profile-detail-shell > .profile-detail-card.facility-engagement-card,
.profile-detail-shell > .profile-detail-card.ms-detail-card,
.profile-detail-shell > .profile-detail-card.ms-coach-teams-detail-card,
.profile-detail-shell > .profile-detail-card.ms-interaction-card,
.profile-detail-shell > .profile-detail-card.location-detail-layout,
.profile-detail-shell > .profile-detail-card.ms-universal-interaction-card{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box;
}

@media (max-width:768px){
  .profile-detail-shell{
    width:100%;
    max-width:100%;
    padding:28px 14px 64px;
  }

  .profile-page-title,
  .profile-detail-title{
    font-size:34px;
    margin-bottom:28px;
  }

  .profile-detail-card{
    border-radius:18px;
  }

  .profile-detail-shell.ms-page-wrap,
  .profile-detail-shell.ms-doc-detail-shell,
  .profile-detail-shell.hof-detail-page,
  .profile-detail-shell.events-wrap-detail,
  .profile-detail-shell.location-detail-wrap,
  .profile-detail-shell.facility-detail-page{
    width:100% !important;
    max-width:100% !important;
    padding:28px 14px 64px !important;
  }

  .profile-detail-shell .profile-detail-title{
    font-size:34px !important;
    margin-bottom:28px !important;
  }
}

*{ box-sizing:border-box; }
html,body{
  height:100%;
  margin:0;
  padding:0;
  font-family: var(--font-main);
  font-weight: 400;
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
}

body.profile-page{
  padding-top:var(--profile-page-header-height);
}

body.profile-home-shell{
  padding-top:0;
}

body.profile-subpage-shell{
  padding-top:0;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.desktop-only,
.mobile-only,
.desktop-nav{
  display:none;
}

.profile-top-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
  box-shadow:0 6px 18px rgba(15, 23, 42, 0.04);
}

.profile-top-header-inner{
  height:60px;
  display:flex;
  align-items:center;
  padding:0 18px;
  box-sizing:border-box;
}

.profile-page-shell-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1100;
  width:100%;
  background:rgba(255,255,255,0.98);
  border-bottom:1px solid rgba(15,23,42,0.08);
  box-shadow:0 8px 20px rgba(15,23,42,0.05);
  backdrop-filter:blur(18px);
}

.profile-page-shell-header-inner{
  width:100%;
  min-height:var(--profile-page-header-height);
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-sizing:border-box;
  position:relative;
}

.profile-page-shell-leading,
.profile-page-shell-actions{
  display:flex;
  align-items:center;
}

.profile-page-shell-leading{
  gap:12px;
  min-width:0;
}

.profile-page-shell-actions{
  gap:8px;
  flex:0 0 auto;
}

.profile-page-shell-brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}

.profile-page-shell-brand-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
}

.profile-page-shell-brand-logo{
  display:block;
  width:clamp(120px, 12vw, 170px);
  height:auto;
}

.profile-page-shell-menu,
.profile-page-shell-action{
  width:40px;
  height:40px;
  flex:0 0 auto;
  border-radius:999px;
  border:1px solid var(--profile-button-bg, rgba(15,23,42,0.08));
  background:var(--profile-button-bg, #fff);
  color:var(--profile-button-icon, var(--profile-button-text, #0f172a));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease, transform .18s ease, color .18s ease;
}

.profile-page-shell-menu:hover,
.profile-page-shell-action:hover{
  background:var(--profile-button-bg, #f8fafc);
  color:var(--profile-button-icon, var(--profile-button-text, #0f172a));
  transform:translateY(-1px);
}

.profile-page-shell-menu{
  position:relative;
}

.profile-page-shell-menu-badge{
  position:absolute;
  top:-2px;
  right:-2px;
  width:11px;
  height:11px;
  border-radius:999px;
  background:#ef4444;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(15,23,42,0.06);
  pointer-events:none;
}

.profile-page-shell-menu.has-notifications{
  box-shadow:0 0 0 3px rgba(239, 68, 68, 0.14);
}

.profile-page-shell-icon{
  width:20px;
  height:20px;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-page-shell-profile{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:#0f172a;
  text-decoration:none;
}

.profile-page-shell-avatar{
  width:42px;
  height:42px;
  border-radius:999px;
  overflow:hidden;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,23,42,0.08);
  background:#0f172a;
}

.profile-page-shell-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.profile-page-shell-copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.profile-page-shell-name{
  display:block;
  font-size:14px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.profile-page-shell-type{
  display:block;
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.desktop-side-nav{
  position:fixed;
  top:0;
  left:var(--desktop-side-nav-inset);
  width:var(--desktop-side-nav-rail-width);
  height:100vh;
  background:transparent;
  border-right:0;
  box-shadow:none;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  overflow:visible;
  padding:14px 6px;
  box-sizing:border-box;
  z-index:1010;
}

.desktop-left-menu-nav{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  flex:1 1 auto;
  width:100%;
  padding:0;
  box-sizing:border-box;
}

.desktop-left-menu-link{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:44px;
  height:44px;
  padding:0;
  border-radius:12px;
  color:#111;
  text-decoration:none;
  font-size:0;
  font-weight:600;
  transition:background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.desktop-left-menu-button{
  border:0;
  background:transparent;
  cursor:pointer;
  font-family:inherit;
}

.desktop-left-menu-link:hover{
  background:#f5f5f5;
  transform:none;
}

.desktop-left-menu-link.has-notifications:not(.active){
  background:#eff6ff;
  color:#1d4ed8;
}

.desktop-left-menu-link.active{
  background:#fff1f1;
  color:#d61f26;
}

.desktop-left-menu-profile-link.active{
  background:transparent;
}

.desktop-left-menu-profile-link.active .desktop-left-menu-avatar{
  outline:2px solid #d61f26;
  outline-offset:3px;
}

.desktop-left-menu-icon{
  width:23px;
  height:23px;
  flex:none;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.desktop-left-menu-label{
  position:absolute;
  left:calc(100% + 12px);
  top:50%;
  transform:translate(4px, -50%);
  opacity:0;
  pointer-events:none;
  z-index:1050;
  display:block;
  width:max-content;
  max-width:220px;
  padding:7px 10px;
  border-radius:9px;
  background:#111827;
  color:#fff;
  box-shadow:0 12px 30px rgba(15, 23, 42, 0.18);
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  transition:opacity .16s ease, transform .16s ease;
}

.desktop-left-menu-link:hover .desktop-left-menu-label,
.desktop-left-menu-link:focus-visible .desktop-left-menu-label{
  opacity:1;
  transform:translate(0, -50%);
}

.desktop-left-menu-badge{
  position:absolute;
  top:4px;
  right:3px;
  min-width:17px;
  height:17px;
  padding:0 5px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  line-height:1;
}

.desktop-left-menu-profile{
  width:100%;
  display:flex;
  justify-content:center;
  padding-top:12px;
}

.desktop-left-menu-avatar{
  width:30px;
  height:30px;
  border-radius:999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
}

.desktop-left-menu-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.desktop-left-menu-faves{
  padding:0 24px 24px;
  box-sizing:border-box;
}

.desktop-left-menu-faves__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  padding-top:4px;
  border-top:1px solid #eef2f7;
}

.desktop-left-menu-faves__title{
  color:#111827;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.desktop-left-menu-faves__feed-link,
.desktop-left-menu-faves__more{
  color:#2563eb;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

.desktop-left-menu-faves__list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.desktop-left-menu-fave-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:#f8fafc;
  color:#111827;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}

.desktop-left-menu-fave-row:hover{
  background:#eef2f7;
  transform:translateX(2px);
}

.desktop-left-menu-fave-row__avatar{
  width:38px;
  height:38px;
  border-radius:999px;
  overflow:hidden;
  background:#dbe4ee;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111827;
  font-size:14px;
  font-weight:900;
}

.desktop-left-menu-fave-row__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.desktop-left-menu-fave-row__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.desktop-left-menu-fave-row__name{
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.desktop-left-menu-fave-row__subtitle{
  color:#6b7280;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.desktop-left-menu-faves__empty{
  margin:0;
  color:#6b7280;
  font-size:13px;
  line-height:1.5;
}

/* =========================================
   NEW FOOTER SYSTEM
   ========================================= */

.profile-view-footer a,
.profile-view-footer a:visited,
.leftnav-footer a,
.leftnav-footer a:visited{
  color:#111 !important;
  text-decoration:none;
}

.profile-view-footer a:hover,
.leftnav-footer a:hover{
  color:#000 !important;
  text-decoration:none;
  opacity:0.78;
}

.profile-view-footer a:focus,
.profile-view-footer a:active,
.leftnav-footer a:focus,
.leftnav-footer a:active{
  color:#111 !important;
  text-decoration:none;
  outline:none;
}

.profile-view-footer{
  width:100%;
  margin:36px auto 0;
  padding:18px 0 8px;
}

.profile-view-footer-inner{
  max-width:var(--ms-profile-content-max);
  margin:0 auto;
  padding:18px 24px 0;
  border-top:1px solid #d9d9d9;
  text-align:center;
}

.profile-view-footer-copy{
  color:#111;
  font-size:14px;
  font-weight:600;
  margin-bottom:10px;
  line-height:1.4;
}

.profile-view-footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 18px;
}

.profile-view-footer-links li{
  display:inline-flex;
  align-items:center;
  line-height:1.4;
}

.profile-view-footer-links li a{
  font-size:14px;
  font-weight:500;
  color:#111 !important;
}

.leftnav-footer{
  margin-top:auto;
  padding:10px 24px 24px;
  text-align:left;
  border-top:1px solid #e5e5e5;
}

.leftnav-footer-links{
  list-style:none;
  padding:0;
  margin:0 0 6px 0;
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
}

.leftnav-footer-links li{
  display:inline;
  line-height:1.35;
}

.leftnav-footer-links li a{
  font-size:12px;
  font-weight:500;
  color:#111 !important;
  line-height:1.35;
}

.leftnav-footer-copy{
  font-size:12px;
  line-height:1.35;
  color:#111;
  font-weight:500;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
  box-shadow:0 6px 18px rgba(15, 23, 42, 0.04);
}

.site-header-inner{
  width:min(1440px, 100%);
  margin:0 auto;
  min-height:64px;
  padding:10px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.site-logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.site-header-profile{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
}

.site-logo-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.site-logo-image{
  width:auto;
  height:40px;
  max-width:220px;
}

.top-icon-nav{
  display:flex;
  align-items:center;
  justify-content:space-evenly;
  gap:8px;
  flex:1 1 auto;
  margin-left:24px;
}

.nav-icon-link{
  width:48px;
  height:48px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111;
  text-decoration:none;
  transition:transform 0.18s ease, opacity 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.nav-icon-link:hover{
  opacity:0.82;
  transform:translateY(-1px);
}

.nav-icon-link.active{
  background:#111827;
  color:#fff;
}

.desktop-nav-svg{
  width:24px;
  height:24px;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nav-icon-link--profile{
  overflow:hidden;
}

.desktop-nav-avatar,
.desktop-nav-avatar-fallback{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.desktop-nav-avatar{
  object-fit:cover;
  border:1px solid rgba(0,0,0,0.1);
}

.desktop-nav-avatar-fallback{
  background:#111827;
  color:#fff;
  font-size:0.8rem;
  font-weight:800;
}

body.profile-page .site-header.desktop-nav{
  width:100%;
  background:#fff;
  border-bottom:1px solid #e8e8e8;
  box-shadow:none;
}

body.profile-page .site-header-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 28px;
  min-height:74px;
  gap:18px;
}

body.profile-page .site-logo{
  justify-self:start;
  flex:0 0 180px;
  width:180px;
  max-width:180px;
}

body.profile-page .site-logo-image{
  height:46px;
  max-width:none;
}

body.profile-page .top-icon-nav{
  flex:1 1 auto;
  margin-left:0;
  justify-content:space-evenly;
  gap:10px;
}

body.profile-page .site-header-profile{
  flex:0 0 88px;
  width:88px;
}

body.profile-page .nav-icon-link{
  width:50px;
  height:50px;
  border-radius:14px;
}

body.profile-page .desktop-nav-svg{
  width:24px;
  height:24px;
}

body.profile-page .desktop-nav-avatar,
body.profile-page .desktop-nav-avatar-fallback{
  width:32px;
  height:32px;
}

.page-shell,
.site-shell{
  min-height:100vh;
  box-sizing:border-box;
}

button, input, textarea, select{
  font-family: inherit;
}

h1, h2, h3{
  font-weight: 700;
}

.entity-title{
  font-family:'Inter', sans-serif;
  font-size:34px;
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.2;
  margin:0 0 8px;
  text-transform:none;
}

.max-title-standard{
  font-size:25px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:0;
  font-family:inherit;
}

.detail-title.detail-title,
.module-card-title.module-card-title{
  font-size:25px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:0;
  font-family:inherit;
}

.max-title-standard,
.module-card-title,
.detail-title,
.profile-body-title,
.ms-section-title,
.ms-module-title,
.ms-form-title,
.blog-title,
.blog-post-title,
.blog-detail-title,
.alumni-card-name,
.championship-thumb-title,
.trophy-title-line,
.honors-card-title-line,
.honors-card-title-part,
.honors-card-title-separator,
.workout-thumb-card__title,
.workout-detail-title,
.highlight-card-title,
.highlight-detail-title,
.events-card-title,
.events-post-title,
.feed-card__title,
.podcast-card-title,
.podcast-detail-title,
.podcast-guest-detail-name,
.ath-board-title,
.ath-card-title,
.ath-video-title,
.ath-media-card-year,
.media-album-card__title,
.album-page-title,
.module-detail-title,
.profile-home-module-card-title,
.profile-home-quick-title,
.profile-section-title,
.article-detail-copy-title,
.article-detail-page-title,
.article-detail-title,
.exercise-name-bold,
.daily-post-title,
.training-log-session-card__title,
.media-caption-block__title,
.box-score-game-card__title,
.facility-detail-title,
.ms-coach-detail-name,
.ms-coach-team-card-title,
.ms-coach-teams-detail-title,
.hof-detail-name,
.staff-detail-name,
.roster-player-detail-name,
.roster-guide__team-name,
.team-information-name,
.team-history-card-name,
.team-history-detail-name,
.parent-info-card-title,
.parent-info-detail-name,
.school-info-detail-name,
.trainer-thumb-title,
.trainer-detail-title,
.watch-library__title,
.press-card-title,
.recommendation-card-title,
.sponsor-card-title,
.links-card-title,
.academics-card-title,
.popular-card-title,
.timeline-feed-card__title,
.timeline-stories__title,
.timeline-right-rail__title,
.timeline-right-rail__card-title,
.thumb-title,
.thumb-title-strong,
.message-shared-card-title,
.group-wall-link-card__title,
.notifications-section__title,
.privacy-card-title,
.sports-card-entry-card__title-row h4,
.settings-title,
.settings-section-title,
.main-page-title,
.explore-title,
.explore-highlights-title,
.ads-title,
.daily-expired-row-title,
.site-access-panel__page-title,
.site-access-panel__section-title,
.shared-section-title,
.users-title,
.users-name,
.top-users-title,
.top-user-name,
.featured-title,
.featured-section-title,
.notify-settings-title,
.notify-setting-title,
.notification-title,
.notifications-ad__title,
.info-title,
.page-title,
.monetize-title,
.monetize-section-title,
.group-explore-card__title,
.group-card__title,
.ms-doc-card-name,
.ms-doc-pin-name,
.ig-title,
.auth-step-title,
.auth-bottom-title,
.auth-title,
.ms-auth-card-title,
.ms-signup-stage-title,
.invite-section-title,
.search-advanced-title,
.sports-signup-card__title,
.privacy-settings-title,
.privacy-settings-section-title,
.blocked-name,
.follow-row-title,
.roster-guide__table-name,
.profile-module-menu-featured-title,
.ms-modal-title,
.ms-media-confirm-title,
.profile-actions-title,
.profile-share-title,
.profile-share-suggestions-title,
.box-score-player-name,
.timeline-right-rail__card-title,
.desktop-left-menu-faves__title,
.ms-external-media__placeholder-title,
.ms-hero-title,
.ms-final-cta__title,
.profile-name,
.profile-module-title,
.messages-empty-state h3,
.thread-empty-state h3,
.link-title,
.roster-guide__empty h3,
.watch-library__empty h3,
.events-sport-modal__header h3,
.ath-media-modal-title,
.ath-media-modal-title--compact,
.faves-title-card h2,
.faves-user-card__name,
.ads-title,
.notifications-empty-wrapper h3,
.ms-doc-preview-file-name{
  font-size:25px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  font-family:inherit !important;
  text-transform:none !important;
}

.detail-title.detail-title{
  display:block;
  max-width:100%;
  margin:0;
  color:#111827;
  text-align:left;
  text-transform:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.profile-page-title.profile-page-title,
.profile-detail-title.profile-detail-title,
.profile-page .profile-page-title.profile-page-title,
.profile-page .profile-detail-title.profile-detail-title{
  margin:0 0 28px !important;
  color:#111827 !important;
  font-size:34px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:-0.03em !important;
  font-family:inherit !important;
  text-transform:none !important;
  overflow-wrap:anywhere;
}

.ms-verified-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  max-width:100%;
  margin-left:6px;
  padding:2px 7px;
  border:1px solid rgba(37, 99, 235, .22);
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  vertical-align:middle;
  white-space:nowrap;
}

.ms-verified-badge--blue{
  border-color:rgba(37, 99, 235, .22);
  background:#eff6ff;
  color:#1d4ed8;
}

.ms-verified-badge--gold{
  border-color:rgba(202, 138, 4, .28);
  background:#fef9c3;
  color:#a16207;
}

.ms-verified-badge--purple{
  border-color:rgba(126, 34, 206, .24);
  background:#f3e8ff;
  color:#7e22ce;
}

.ms-verified-badge--compact{
  margin-left:4px;
  padding:1px 6px;
  font-size:10px;
}

.ms-verified-badge--icon-only{
  width:17px;
  height:17px;
  margin-left:4px;
  padding:0;
  font-size:10px;
}

.verification-page-card{
  overflow:hidden;
}

.verification-help{
  margin:0 0 16px;
  color:#475569;
  font-size:14px;
  font-weight:600;
  line-height:1.45;
}

.verification-status-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
}

.verification-status-label{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}

.verification-status-title{
  margin-top:4px;
  color:#0f172a;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.verification-status-pill{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  background:#e2e8f0;
  color:#334155;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.verification-status-pill--approved{
  background:#dcfce7;
  color:#166534;
}

.verification-status-pill--pending{
  background:#fef9c3;
  color:#854d0e;
}

.verification-status-pill--rejected{
  background:#fee2e2;
  color:#991b1b;
}

.verification-message{
  margin:12px 0;
  padding:12px;
  border-radius:10px;
  background:#eff6ff;
  color:#1e3a8a;
  font-size:14px;
  font-weight:800;
}

.verification-message--success{
  background:#dcfce7;
  color:#166534;
}

.verification-message--warning{
  background:#fef3c7;
  color:#92400e;
}

.verification-meta{
  color:#64748b;
  font-size:13px;
  font-weight:700;
}

.verification-form{
  display:grid;
  gap:14px;
  margin-top:14px;
}

.verification-field{
  display:grid;
  gap:6px;
  color:#0f172a;
  font-size:14px;
  font-weight:900;
}

.verification-field small{
  color:#64748b;
  font-size:12px;
  font-weight:600;
}

.verification-error,
.verification-form-errors{
  color:#b91c1c;
  font-size:13px;
  font-weight:800;
}

.verification-submit{
  justify-self:start;
}

.max-title-standard.max-title-standard *,
.detail-title.detail-title *,
.module-card-title.module-card-title *{
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
}

.max-title-standard .ms-verified-badge,
.detail-title .ms-verified-badge,
.module-card-title .ms-verified-badge{
  color:#1d4ed8 !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.max-title-standard .ms-verified-badge--compact,
.detail-title .ms-verified-badge--compact,
.module-card-title .ms-verified-badge--compact{
  font-size:10px !important;
}

.max-bold-standard{
  font-size:21px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:0;
  font-family:inherit;
}

.max-bold-standard.max-bold-standard,
.max-bold-standard.max-bold-standard *,
.alumni-card-name,
.alumni-card .alumni-card-name,
.alumni-card .athlete-thumb-name,
.alumni-card .parent-info-card-name,
.alumni-card .school-info-card-name,
.alumni-card .team-history-card-name,
.people-thumb-card .alumni-card-name,
.people-thumb-card .athlete-thumb-name,
.alumni-thumb__name,
.blog-card-uploader-name,
.blog-post-uploader-name,
.blog-card .blog-title,
.events-card .events-card-title,
.feed-card__title,
.timeline-feed-card__title,
.popular-card-title,
.post-thumb-name,
.post-thumb-caption-type,
.thumb-title,
.thumb-title-strong,
.championship-thumb-title-row,
.championship-thumb-title,
.championship-thumb-uploader-name,
.alumni-card .trophy-title-line,
.alumni-card .trophy-title-line *,
.honors-card-title-line,
.honors-card-title-line *,
.workout-thumb-card__title,
.workout-thumb-card__uploader-name,
.highlight-card-title,
.media-gallery-card__title,
.podcast-card-title,
.media-album-card__title,
.watch-library__title,
.press-card-title,
.recommendation-card-title,
.sponsor-card-title,
.links-card-title,
.group-card__title,
.group-explore-card__title,
.groups-member-row__topline strong,
.members-row__headline strong,
.members-row__headline a,
.members-group-card__head h3,
.profile-home-module-card-title,
.facility-title,
.module-card__title,
.ms-thumb-name,
.ms-thumb-title,
.hof-card-body h3,
.trainer-thumb-name a,
.team-information-panel-title,
.follow-row-title,
.follow-row-title-wrap,
.exercise-thumb-title,
.drill-thumb-headline,
.drill-thumb-name,
.daily-featured-ad__title,
.daily-link-preview__title,
.notification-title,
.notifications-ad__title,
.ms-doc-card-name,
.ms-doc-preview-file-name,
.faves-user-card__name,
.media-post-card__name,
.roster-player-thumb-card__name,
.academics-card-title,
.sports-signup-card__title,
.sports-card-entry-card__title-row h4,
.ath-media-card .ath-video-title{
  font-size:21px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  font-family:inherit !important;
  text-transform:none !important;
}

strong, .bold{
  font-weight: 600;
}

.small, .meta{
  font-size: 13px;
  font-weight: 500;
  opacity: .8;
}

.no-sidebar .sidebar{
  display:none;
}

.no-sidebar .main{
  padding:0 24px 30px 24px;
}

.no-sidebar .main-inner{
  max-width:100%;
}

.no-sidebar .main-grid{
  grid-template-columns: minmax(0, 1fr);
}

.app-shell{
  display:block;
  min-height:100vh;
  height:auto;
  overflow:visible;
}

.sidebar{
  width:260px;
  background:transparent;
  border-right:0;
  box-shadow:none;
  position:sticky;
  top:0;
  height:100vh;
}

.sidebar,
.sidebar-inner,
.nav{
  background:transparent;
}

.sidebar-inner{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:22px 18px;
  gap:18px;
}

.sidebar-logo{
  margin-top:auto;
  display:flex;
  justify-content:center;
}

.sidebar-logo img{
  width:110px;
  max-width:100%;
  height:auto;
}

.brand-logo{
  max-width: 130px;
  width:100%;
  height:auto;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.15));
}

.brand-title{
  display:flex;
  flex-direction:column;
  line-height:1;
  font-weight:800;
}

.brand-max{
  color:#111;
  font-size:28px;
  letter-spacing:1px;
}

.brand-sportsure{
  color:#d61f26;
  font-size:14px;
  letter-spacing:1.5px;
}

.nav{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-left:12px;
}

.nav-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 10px 10px 18px;
  border-radius:10px;
  color:var(--text);
  text-decoration:none;
  font-weight:700;
  font-size:15px;
}

.nav-item:hover{
  background:#f2f2f2;
}

.nav-text{
  font-size:17px;
  letter-spacing:0;
}

.main-page-title {
  font-size: 25px;
  font-weight: 800;
  margin: 0 0 24px;
}

.nav-item.active{
  background:#111;
  color:#fff;
}

.sidebar-hamburger{
  margin-top:20px;
  padding-top:12px;
  border-top:1px solid #eee;
}

.sidebar-hamburger-btn{
  width:100%;
  border:none;
  background:#111;
  color:#fff;
  font-weight:700;
  padding:12px 16px;
  border-radius:10px;
  cursor:pointer;
}

.sidebar-hamburger{
  display:none !important;
}

.sidebar-hamburger-btn{
  display:none !important;
}

.nav-icon{
  width:22px;
  text-align:center;
  font-size:18px;
}

.sidebar-footer{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.logout-btn{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #b00020;
  background:#b00020;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

.logout-btn:hover{
  background:#97001b;
}

.form-errors{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0 0 12px 0;
  color:#d93025;
  font-size:12px;
  font-weight:600;
}

.form-error{
  color:#d93025;
}

.main{
  flex:1;
  padding:26px 36px 30px 36px;
  height:auto;
  min-height:calc(100vh - 83px);
  overflow:visible;
  position:relative;
}

.main-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,320px);
  gap:var(--app-shell-column-gap);
}

.right-rail{
  display:flex;
  flex-direction:column;
  gap:16px;
  width:100%;
  max-width:var(--app-right-rail-width);
}

.right-rail:empty{
  display:none;
}

.utility-layout.no-sidebar .main{
  padding:24px 24px 32px;
}

.utility-layout.no-sidebar .main-grid{
  width:100%;
  max-width:1440px;
  margin:0 auto;
}

.utility-layout--search.no-sidebar .main-grid{
  grid-template-columns:minmax(0,1fr) minmax(280px,320px);
  align-items:start;
}

.utility-layout--settings .main-grid{
  grid-template-columns:minmax(0,1fr) minmax(280px,320px);
  align-items:start;
}

.utility-layout--settings .main-inner{
  max-width:1020px;
}

.utility-layout--settings.no-sidebar .main-grid{
  grid-template-columns:minmax(0, min(100%, 960px));
  justify-content:center;
}

.settings-right-rail-layout.utility-layout--settings.no-sidebar .main-grid{
  grid-template-columns:minmax(0, min(100%, 960px)) minmax(280px, 320px);
  align-items:start;
  justify-content:center;
}

.settings-right-rail-layout.utility-layout--settings.no-sidebar .right-rail{
  display:flex;
}

body.add-edit-layout .main-inner{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

body.add-edit-layout .main-grid{
  grid-template-columns:minmax(0, min(100%, 900px));
  justify-content:center;
}

body.no-profile-sidebar .desktop-side-nav,
body.profile-form-page .desktop-side-nav{
  display:none !important;
}

body.no-profile-sidebar .main-grid,
body.profile-form-page .main-grid{
  justify-content:center;
}

body.no-profile-sidebar.has-profile-compact-header .main.page-shell,
body.profile-form-page.has-profile-compact-header .main.page-shell{
  padding-top:calc(var(--profile-compact-header-height, 68px) + 40px);
}

.utility-layout--add-edit.no-sidebar .main-grid{
  grid-template-columns:minmax(0, min(100%, var(--ms-center-column-max)));
  justify-content:center;
}

body.add-edit-layout .right-rail{
  display:none !important;
}

body.edit-profile-shell .main-inner{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

body.edit-profile-shell.has-profile-compact-header .main.page-shell{
  padding-top:calc(var(--profile-compact-header-height, 68px) + 28px);
}

body.utility-layout--settings.has-profile-compact-header .main.page-shell{
  padding-top:calc(var(--profile-compact-header-height, 68px) + 28px);
}

body.edit-profile-shell .edit-profile-compact-header-wrap{
  width:min(100%, 820px);
  margin:0 auto 12px;
}

body.edit-profile-shell .main-grid{
  grid-template-columns:minmax(0, min(100%, 820px));
  justify-content:center;
}

body.edit-profile-shell .right-rail{
  display:none !important;
}

body.edit-profile-shell .ms-form-card.ms-center-column-card,
body.edit-profile-shell .profile-form-card.ms-center-column-card,
body.edit-profile-shell .ms-module-card.ms-center-column-card{
  width:min(820px, 100%);
}

body.edit-profile-shell .settings-page .card,
body.edit-profile-shell .ms-module-card,
body.edit-profile-shell .ms-form-card,
body.edit-profile-shell .profile-form-card{
  background:transparent;
  border:0;
  box-shadow:none;
}

@media (max-width: 1024px){
  .main-grid{
    display:block;
  }

  .right-rail{
    display:none;
  }
}

@media (min-width: 1024px){
  .main{
    padding:30px 32px 30px calc(var(--desktop-side-nav-width) + var(--desktop-side-nav-inset));
  }

  .main-grid{
    grid-template-columns:minmax(0, var(--app-content-column-max)) minmax(260px, var(--app-right-rail-width));
    justify-content:center;
    align-items:start;
  }

  .main-inner{
    max-width:var(--app-content-column-max);
    margin:0;
  }

  .main-inner.timeline-main-inner,
  .main-inner.search-main-inner,
  .main-inner.faves-main-inner{
    max-width:var(--app-content-column-max) !important;
    margin:0;
  }

  body.app-content-with-ads .main.page-shell{
    padding-left:calc(var(--desktop-side-nav-width) + var(--desktop-side-nav-inset) + var(--app-social-left-offset));
    padding-right:32px;
  }

  body.app-content-with-ads .main-grid{
    grid-template-columns:minmax(0, var(--app-social-content-column-max)) minmax(260px, var(--app-right-rail-width));
    gap:var(--app-social-column-gap);
    justify-content:center;
    align-items:start;
  }

  body.app-content-with-ads .main-inner{
    max-width:var(--app-social-content-column-max) !important;
    margin:0;
  }

  body.app-content-with-ads .right-rail{
    display:flex;
  }

  .adsense-shell--right-rail{
    width:100%;
    min-height:400px;
  }
}

@media (min-width: 1025px) and (max-width: 1199px){
  .main-grid{
    grid-template-columns:minmax(0, min(100%, var(--app-content-column-max)));
  }

  .right-rail{
    display:none !important;
  }
}

.main-inner{
  width:100%;
  margin:0 auto;
}

.main-inner{
  max-width:1100px;
  margin:0 auto;
  width:100%;
}

.main-inner-default{
  max-width:1100px;
  width:100%;
  margin:0 auto;
}

.main-inner.profile-main-inner{
  max-width:var(--ms-profile-shell-frame-max);
}

.main-inner.ms-main-inner--center-column,
.main-inner-default.ms-main-inner--center-column{
  max-width:var(--ms-center-column-max);
}

.ms-center-column-page{
  width:100%;
  display:flex;
  justify-content:center;
}

.ms-module-page.ms-center-column-page,
.profile-form-shell.ms-center-column-page{
  padding-inline:var(--ms-center-column-gutter);
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow: var(--shadow);
}

.page-title{
  margin:0 0 12px 0;
  font-size:25px;
  font-weight:800;
  color:#444;
}

.explore-title,
.messages-title{
  font-size:25px;
  font-weight:800;
  color:#444;
}

.page-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.daily-camera{
  text-decoration:none;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  padding:6px 10px;
  font-weight:800;
  color:#111;
}

.app-shell-header{
  position:sticky;
  top:0;
  z-index:1005;
  width:100%;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(15, 23, 42, 0.08);
  box-shadow:0 10px 24px rgba(15, 23, 42, 0.05);
}

.app-shell-header-inner{
  width:100%;
  margin:0;
  min-height:var(--app-shell-header-height);
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-sizing:border-box;
  position:relative;
}

.app-shell-header-left,
.app-shell-header-right{
  display:flex;
  align-items:center;
}

.app-shell-header-left{
  min-width:0;
}

.app-shell-header-left--empty{
  min-width:44px;
}

.app-shell-header-right{
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}

.app-shell-header-right--empty{
  min-width:44px;
}

.app-shell-header-brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}

.app-shell-header-brand--with-title{
  gap:12px;
}

.app-shell-header-brand-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
}

.app-shell-header-brand-logo{
  display:block;
  width:clamp(120px, 12vw, 170px);
  height:auto;
}

.app-shell-header-brand--with-title .app-shell-header-brand-logo{
  width:clamp(96px, 8vw, 128px);
}

.app-shell-header-title{
  margin:0;
  color:#0f172a;
  font-size:clamp(24px, 2vw, 34px);
  font-weight:900;
  letter-spacing:0;
  line-height:1;
  pointer-events:auto;
  white-space:nowrap;
}

.app-shell-header-brand--with-title .app-shell-header-title{
  font-size:clamp(20px, 1.6vw, 28px);
}

.app-shell-profile-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:#0f172a;
  text-decoration:none;
}

.app-shell-profile-copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.app-shell-profile-avatar{
  width:42px;
  height:42px;
  border-radius:999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
  border:1px solid rgba(15, 23, 42, 0.08);
  background:#0f172a;
  color:#fff;
}

.app-shell-profile-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.app-shell-profile-avatar-fallback{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:16px;
  font-weight:800;
}

.app-shell-profile-avatar--icon{
  background:#f8fafc;
  color:#0f172a;
}

.app-shell-profile-svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.app-shell-profile-name{
  display:block;
  min-width:0;
  font-size:14px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.app-shell-profile-user-type{
  display:block;
  min-width:0;
  color:#64748b;
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.app-shell-header-action{
  width:44px;
  height:44px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#0f172a;
  text-decoration:none;
  border:1px solid rgba(15, 23, 42, 0.08);
  background:#fff;
  cursor:pointer;
  transition:background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.app-shell-header-menu{
  position:relative;
}

.app-shell-header-menu-badge{
  position:absolute;
  top:-2px;
  right:-2px;
  width:11px;
  height:11px;
  border-radius:999px;
  background:#ef4444;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(15,23,42,0.06);
}

.app-shell-header-action--mobile-only{
  display:inline-flex;
}

.app-shell-header-action:hover{
  transform:translateY(-1px);
  background:#f8fafc;
}

.app-shell-header-action.is-active{
  background:#ffffff;
  color:#111827;
  border-color:#d9dee8;
}

.app-shell-header-menu,
.app-shell-header-menu:hover,
.app-shell-header-menu:focus-visible,
.app-shell-header-menu.is-active{
  border-color:var(--profile-button-bg, rgba(15, 23, 42, 0.08));
  background:var(--profile-button-bg, #ffffff);
  color:var(--profile-button-icon, var(--profile-button-text, #0f172a));
}

.app-shell-header-action.has-notifications{
  box-shadow:0 0 0 3px rgba(59, 130, 246, 0.14);
}

.app-shell-header-action-svg{
  width:20px;
  height:20px;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.profile-page .app-shell-header{
  display:none !important;
}

body.no-app-header .hamburger-panel,
body.profile-home-shell .hamburger-panel{
  top:0;
  height:100vh;
  max-height:100vh;
}

.stories{
  padding:18px;
  margin-bottom:18px;
}

.stories-row{
  display:flex;
  gap:18px;
  overflow:auto;
  padding-bottom:6px;
}

.story{
  width:86px;
  text-align:center;
  flex:0 0 auto;
  text-decoration:none;
  color:inherit;
}

.story-button{
  border:none;
  background:none;
  padding:0;
  cursor:pointer;
}

.story-create{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.story-create-btn{
  text-decoration:none;
  color:inherit;
}

.story-ring{
  width:64px;
  height:64px;
  border-radius:999px;
  background: conic-gradient(#f58529, #dd2a7b, #8134af, #515bd4, #f58529);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 8px;
}

.story-ring.create{
  background:#f0f0f0;
}

.story-ring.create.disabled{
  opacity:0.5;
}

.story-ring.viewed{
  background:#d4d4d4;
}

.story-avatar{
  width:56px;
  height:56px;
  border-radius:999px;
  background:#fff;
  border:3px solid #fff;
  overflow:hidden;
}

.story-plus{
  display:inline-block;
  width:56px;
  height:56px;
  line-height:56px;
  text-align:center;
  font-size:28px;
  font-weight:800;
  color:#111;
}

.story-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.stories-empty{
  margin-top:12px;
  color:#666;
  font-weight:700;
}

.daily-open{
  overflow:hidden;
}

.daily-viewer{
  position:fixed;
  inset:0;
  background:rgba(0, 0, 0, 0.86);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1000;
}

.daily-viewer.show{
  display:flex;
}

.daily-viewer-inner{
  width:min(420px, 92vw);
  height:min(720px, 88vh);
  background:#111;
  border-radius:16px;
  position:relative;
  color:#fff;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.daily-progress{
  display:flex;
  gap:6px;
  padding:12px;
}

.daily-progress-bar{
  flex:1;
  height:3px;
  background:rgba(255,255,255,0.3);
  border-radius:999px;
  position:relative;
  overflow:hidden;
}

.daily-progress-bar.active::after{
  content:"";
  position:absolute;
  inset:0;
  width:var(--daily-progress, 0%);
  background:#fff;
  transition:width 0.1s linear;
}

.daily-progress-bar.done::after{
  content:"";
  position:absolute;
  inset:0;
  width:100%;
  background:#fff;
}

.daily-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px 10px;
  font-weight:700;
}

.daily-user{
  display:flex;
  align-items:center;
  gap:8px;
}

.daily-avatar{
  width:28px;
  height:28px;
  border-radius:999px;
  background:#555;
  background-size:cover;
  background-position:center;
}

.daily-username{
  font-size:14px;
}

.daily-close{
  background:transparent;
  border:none;
  color:#fff;
  font-size:18px;
  cursor:pointer;
}

.daily-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.daily-mute{
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.2);
  color:#fff;
  border-radius:999px;
  padding:4px 10px;
  font-weight:800;
  cursor:pointer;
}

.daily-parent-banner{
  display:none;
  background:rgba(255,255,255,0.12);
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
}

.daily-media{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000;
}

.daily-media-item{
  width:100%;
  height:100%;
  object-fit:cover;
}

.daily-reply{
  display:flex;
  gap:8px;
  padding:12px;
  background:#111;
}

.daily-reply input{
  flex:1;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.3);
  background:transparent;
  color:#fff;
  padding:8px 12px;
}

.daily-reply button{
  background:#fff;
  color:#111;
  border:none;
  border-radius:999px;
  padding:8px 14px;
  font-weight:800;
  cursor:pointer;
}

.story-name{
  font-size:12px;
  color:#666;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.feed{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.post-thumb-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ms-display-card-gap);
}

.post-thumb-grid--single{
  grid-template-columns:minmax(0, 1fr);
  max-width:640px;
  margin:0 auto;
}

.post-thumb-link{
  display:block;
  text-decoration:none;
  color:inherit;
}

@media (min-width: 760px){
  .post-thumb-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px){
  .post-thumb-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.post-thumb-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--ms-display-card-radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:var(--ms-display-card-shadow);
}

.post-thumb-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid var(--border);
}

.post-thumb-user{
  display:flex;
  align-items:center;
  gap:10px;
}

.post-thumb-avatar{
  width:36px;
  height:36px;
  border-radius:999px;
  background:#e5e5e5;
  overflow:hidden;
  flex:0 0 auto;
}

.post-thumb-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ms-smart-image{
  image-orientation:from-image;
}

.post-thumb-name{
  font-weight:900;
  font-size:16px;
  display:flex;
  align-items:baseline;
  gap:8px;
}

.post-thumb-context{
  font-weight:600;
  font-size:12px;
  color:#8a8a8a;
  font-style:italic;
}

.post-thumb-type{
  font-size:12px;
  color:#666;
  font-weight:800;
}

.post-thumb-time{
  font-size:12px;
  color:#666;
  font-weight:500;
}

.post-thumb-time-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin-left:auto;
  text-align:right;
  white-space:nowrap;
}

.post-thumb-media{
  background:#000;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  position:relative;
  aspect-ratio:var(--ms-display-card-media-ratio);
  min-height:var(--ms-display-card-media-min-height);
  overflow:hidden;
}

.post-thumb-media img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  border-radius:0;
  display:block;
}

.post-thumb-media--single{
  padding:0;
}

.post-thumb-grid--single .post-thumb-media img,
.post-thumb-grid--single .post-thumb-video{
  width:100%;
  aspect-ratio:9 / 16;
  max-height:min(78vh, 760px);
  object-fit:cover;
  border-radius:0;
  display:block;
}

.post-thumb-video{
  background:#000;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.post-thumb-video-state{
  position:absolute;
  right:10px;
  top:10px;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(0,0,0,0.55);
  color:#fff;
  font-size:14px;
  font-weight:800;
  pointer-events:none;
}

.feed-thumb-overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  min-height:92px;
  padding:42px 14px 14px;
  box-sizing:border-box;
  background:linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.52) 42%, rgba(0,0,0,0) 100%);
  color:#fff;
  pointer-events:none;
  z-index:6;
}

.feed-thumb-type{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:28px;
  border-radius:999px;
  padding:5px 11px;
  background:rgba(0,0,0,.56);
  font-size:13px;
  line-height:1;
  font-weight:800;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.post-thumb-body{
  padding:12px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.post-thumb-caption{
  display:flex;
  gap:8px;
  font-weight:800;
  color:#333;
}

.post-thumb-caption-type{
  font-weight:500;
  color:#6b7280;
}

.post-thumb-caption-text{
  font-weight:600;
  color:#555;
  flex:1;
}

.post-thumb-stats{
  display:flex;
  gap:18px;
  font-size:13px;
  color:#555;
  font-weight:800;
}

.content-metrics-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  flex-wrap:nowrap;
  line-height:1;
  width:100%;
}

.metric-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#111;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

button.metric-item{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  font:inherit;
  cursor:pointer;
}

button.metric-item:disabled{
  cursor:default;
  opacity:.65;
}

.metric-item--button{
  text-decoration:none;
}

.metric-item--repost.is-active{
  color:#111;
}

.metric-label{
  color:currentColor;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.metric-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  line-height:1;
  color:#111;
}

.metric-icon svg{
  width:18px;
  height:18px;
  display:block;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.metric-item:last-child .metric-icon svg{
  fill:currentColor;
  stroke:none;
}

.metric-item .metric-icon .metric-repost-icon{
  fill:none !important;
  stroke:currentColor !important;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.metric-count{
  color:#111;
}

@media (max-width: 640px){
  .content-metrics-row{
    flex-wrap:wrap;
    row-gap:8px;
  }
}

.post-thumb-open-row{
  margin-top:2px;
}

.post-thumb-open-link{
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  color:#111;
}

.post-thumb-card--ad{
  border-color:#d2dae8;
}

.post-thumb-card--ad .post-thumb-media{
  background:#f2f5fb;
}

.post-thumb-ad-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:4px;
}

.post-thumb-ad-cta{
  text-decoration:none;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font-size:12px;
  font-weight:900;
}

.post-thumb-ad-report{
  border:1px solid #d1d5db;
  background:#fff;
  color:#374151;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.alumni-news-card{
  display:block;
  width:100%;
  max-width:340px;
  text-decoration:none;
  color:#000;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(0,0,0,.08);
}

.alumni-news-card-main{
  display:block;
  text-decoration:none;
  color:inherit;
}

.alumni-news-thumb{
  width:100%;
  background:#f2f2f2;
}

.alumni-thumb{
  margin:0;
}

.alumni-thumb__image img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.alumni-thumb__info{
  padding:14px 16px;
}

.alumni-thumb__name{
  font-size:18px;
  font-weight:700;
  margin-bottom:6px;
}

.alumni-thumb__class{
  font-size:14px;
  font-weight:400;
  color:#6a6a6a;
  line-height:1.4;
}

.alumni-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--ms-display-card-gap);
  align-items:start;
}

@media (min-width: 760px){
  .alumni-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px){
  .alumni-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.alumni-grid > *{
  min-width:0;
}

.alumni-card{
  display:block;
  width:100%;
  text-decoration:none;
}

.ms-universal-thumb-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--ms-display-card-gap, 20px);
  align-items:start;
}

@media (min-width: 760px){
  .ms-universal-thumb-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 980px){
  .ms-universal-thumb-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

.ms-universal-thumb-card{
  position:relative;
  display:block;
  width:100%;
  max-width:none !important;
  min-width:0;
  border:1px solid #ededed;
  border-radius:var(--ms-display-card-radius, 22px) !important;
  background:#fff;
  box-shadow:var(--ms-display-card-shadow, 0 16px 34px rgba(15, 23, 42, 0.08));
  overflow:hidden;
}

.ms-universal-thumb-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.ms-universal-thumb-media{
  width:100%;
  aspect-ratio:4 / 3 !important;
  min-height:220px !important;
  height:auto !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:hidden;
  background:#f0f0f0;
}

.ms-universal-thumb-card .ms-universal-thumb-media img,
.ms-universal-thumb-card .ms-universal-thumb-media .ms-smart-image,
.ms-universal-thumb-card .ms-universal-thumb-image{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-height:100%;
  object-fit:cover !important;
  object-position:center;
  border-radius:0 !important;
  display:block;
}

.ms-universal-thumb-placeholder{
  width:100%;
  height:100%;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #ececec, #dfdfdf);
  color:#94a3b8;
  font-size:18px;
  font-weight:800;
}

.ms-universal-thumb-body{
  padding:var(--ms-display-card-body-pad, 16px) !important;
  display:grid;
  gap:6px;
  min-width:0;
}

.ms-universal-thumb-title{
  margin:0;
  font-size:16px;
  font-weight:400;
  line-height:1.25;
  color:#111827;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.ms-universal-thumb-meta{
  margin:0;
  color:#4b5563;
  font-size:13px;
  font-weight:400;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Shared display thumbnail cards for Feed, Media, Blog, Press, Watch,
   Drills, Exercise, Championship, Trophy Room, Recommendations, and Honors. */
.module-card-grid.module-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
  align-items:stretch;
  padding-left:0;
  padding-right:0;
}

.module-card-grid.module-card-grid--list{
  grid-template-columns:minmax(0, 1fr) !important;
}

.module-thumb-card.module-thumb-card{
  width:100%;
  min-width:0;
  background:#fff;
  border-radius:var(--module-card-radius, 18px) !important;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0, 0, 0, .10) !important;
}

.module-thumb-card .module-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.module-thumb-card .module-thumb-media{
  width:100% !important;
  height:var(--module-card-thumbnail-height, 190px) !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  background:#111827;
  overflow:hidden;
  position:relative;
  display:block;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:var(--module-card-thumbnail-radius, 0) !important;
}

.module-thumb-card .module-thumb-media img,
.module-thumb-card .module-thumb-media video,
.module-thumb-card .module-thumb-media .ms-smart-image,
.module-thumb-card .module-thumb-media .ms-universal-thumb-image,
.module-thumb-card .module-thumb-media .universal-card-thumbnail-img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center;
  display:block;
  border-radius:var(--module-card-thumbnail-radius, 0) !important;
}

.module-thumb-card .module-thumb-body{
  padding:12px 16px 18px !important;
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}

.module-thumb-card .module-thumb-title{
  margin:0;
  color:#111827;
  font-size:16px;
  font-weight:400;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.module-thumb-card .module-thumb-meta{
  margin:0;
  color:#4b5563;
  font-size:13px;
  font-weight:400;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.card-bottom-title{
  margin:0;
  color:#111827;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
  font-family:inherit !important;
  text-transform:none !important;
}

.card-bottom-title > :not(.ms-verified-badge),
.card-bottom-title > :not(.ms-verified-badge) *{
  color:inherit;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
}

.card-bottom-subtitle{
  margin:0;
  color:#4b5563;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
  font-family:inherit !important;
  text-transform:none !important;
}

.card-bottom-subtitle strong,
.card-bottom-subtitle b,
.card-bottom-subtitle > :not(.ms-verified-badge),
.card-bottom-subtitle > :not(.ms-verified-badge) *{
  color:inherit;
  font-size:inherit !important;
  font-weight:400 !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
}

.feed-bottom-text{
  display:block;
  min-width:0;
  max-width:calc(100% - 32px);
  margin:12px 16px 18px;
  color:var(--module-card-bottom-color, #111827);
  text-decoration:none;
  font-size:var(--module-card-bottom-font-size, 16px);
  font-weight:var(--module-card-bottom-font-weight, 400);
  line-height:var(--module-card-bottom-line-height, 1.25);
  letter-spacing:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.feed-bottom-text--events{
  display:grid;
  gap:4px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

.feed-bottom-text--events .feed-bottom-text__line{
  display:block;
  min-width:0;
  overflow:hidden;
  color:#4b5563;
  font-size:13px;
  font-weight:400;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.feed-bottom-text--events .feed-bottom-text__line--title{
  color:#111827;
  font-size:16px;
  font-weight:700;
}

.thumb-card .thumb-title--event,
.thumb-card .thumb-sub--event-date,
.thumb-card .thumb-sub--event-type{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.module-thumb-card .card-bottom-title,
.module-thumb-card .module-thumb-title.card-bottom-title,
.ms-universal-thumb-card .card-bottom-title,
.ms-universal-thumb-card .ms-universal-thumb-title.card-bottom-title,
.profile-page .module-thumb-card .card-bottom-title,
.profile-page .module-thumb-card .module-thumb-title.card-bottom-title,
.profile-page .ms-universal-thumb-card .card-bottom-title,
.profile-page .ms-universal-thumb-card .ms-universal-thumb-title.card-bottom-title,
.profile-page .media-platform-card .card-bottom-title,
.profile-page .ath-media-display-card .card-bottom-title,
.profile-page .ath-media-card .card-bottom-title,
.profile-page .workout-thumb-card .card-bottom-title,
.feed-card .card-bottom-title,
.popular-card .card-bottom-title,
.blog-card .card-bottom-title,
.media-platform-card .card-bottom-title,
.ath-media-display-card .card-bottom-title,
.ath-media-card .card-bottom-title,
.workout-thumb-card .card-bottom-title,
.podcast-card .card-bottom-title,
.ms-doc-card .card-bottom-title,
.facility-card .card-bottom-title,
.thumb-card .card-bottom-title{
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}

.module-thumb-card .card-bottom-subtitle,
.module-thumb-card .module-thumb-meta.card-bottom-subtitle,
.ms-universal-thumb-card .card-bottom-subtitle,
.ms-universal-thumb-card .ms-universal-thumb-meta.card-bottom-subtitle,
.profile-page .module-thumb-card .card-bottom-subtitle,
.profile-page .module-thumb-card .module-thumb-meta.card-bottom-subtitle,
.profile-page .ms-universal-thumb-card .card-bottom-subtitle,
.profile-page .ms-universal-thumb-card .ms-universal-thumb-meta.card-bottom-subtitle,
.profile-page .media-platform-card .card-bottom-subtitle,
.profile-page .ath-media-display-card .card-bottom-subtitle,
.profile-page .ath-media-card .card-bottom-subtitle,
.profile-page .workout-thumb-card .card-bottom-subtitle,
.feed-card .card-bottom-subtitle,
.popular-card .card-bottom-subtitle,
.blog-card .card-bottom-subtitle,
.media-platform-card .card-bottom-subtitle,
.ath-media-display-card .card-bottom-subtitle,
.ath-media-card .card-bottom-subtitle,
.workout-thumb-card .card-bottom-subtitle,
.podcast-card .card-bottom-subtitle,
.ms-doc-card .card-bottom-subtitle,
.facility-card .card-bottom-subtitle,
.thumb-card .card-bottom-subtitle{
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
}

.module-thumb-card .module-thumb-stats{
  margin-top:2px;
}

.module-card-primary-text,
.alumni-news-card .alumni-news-card-title{
  font-weight:800 !important;
}

.card-profile-name{
  color:#111827;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  font-family:inherit !important;
  text-transform:none !important;
  text-decoration:none !important;
}

a.card-profile-name:hover,
a.card-profile-name:focus-visible{
  text-decoration:none !important;
}

.card-profile-type{
  color:#64748b;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
  font-family:inherit !important;
  text-transform:none !important;
}

.card-profile-name > :not(.ms-verified-badge),
.card-profile-name > :not(.ms-verified-badge) *{
  color:inherit;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
}

.card-profile-type strong,
.card-profile-type b,
.card-profile-type > :not(.ms-verified-badge),
.card-profile-type > :not(.ms-verified-badge) *{
  color:inherit;
  font-size:inherit !important;
  font-weight:400 !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
}

.timeline-feed-card .card-profile-name,
.feed-card .card-profile-name,
.popular-card .card-profile-name,
.blog-card .card-profile-name,
.module-thumb-card .card-profile-name,
.post-thumb-card .card-profile-name,
.media-post-card .card-profile-name,
.championship-thumb-card .card-profile-name,
.workout-thumb-card .card-profile-name,
.recommendation-card-uploader-copy .card-profile-name,
.watch-library__creator .card-profile-name,
.profile-page .card-profile-name,
.profile-page .blog-card .card-profile-name,
.profile-page .module-thumb-card .card-profile-name,
.profile-page .post-thumb-card .card-profile-name,
.profile-page .media-post-card .card-profile-name,
.profile-page .championship-thumb-card .card-profile-name,
.profile-page .workout-thumb-card .card-profile-name,
.profile-page .recommendation-card-uploader-copy .card-profile-name,
.profile-page .watch-library__creator .card-profile-name,
.profile-carousel .post-thumb-card .card-profile-name{
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
}

.timeline-feed-card .card-profile-type,
.feed-card .card-profile-type,
.popular-card .card-profile-type,
.blog-card .card-profile-type,
.module-thumb-card .card-profile-type,
.post-thumb-card .card-profile-type,
.media-post-card .card-profile-type,
.championship-thumb-card .card-profile-type,
.workout-thumb-card .card-profile-type,
.recommendation-card-uploader-copy .card-profile-type,
.watch-library__creator .card-profile-type,
.profile-page .card-profile-type,
.profile-page .blog-card .card-profile-type,
.profile-page .module-thumb-card .card-profile-type,
.profile-page .post-thumb-card .card-profile-type,
.profile-page .media-post-card .card-profile-type,
.profile-page .championship-thumb-card .card-profile-type,
.profile-page .workout-thumb-card .card-profile-type,
.profile-page .recommendation-card-uploader-copy .card-profile-type,
.profile-page .watch-library__creator .card-profile-type,
.profile-carousel .post-thumb-card .card-profile-type{
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}

@media (max-width:768px){
  .module-card-grid.module-card-grid:not(.module-card-grid--list){
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }

  .module-thumb-card .module-thumb-media{
    height:var(--module-card-thumbnail-height-mobile, 150px) !important;
  }
}

@media (max-width:480px){
  .module-card-grid.module-card-grid:not(.module-card-grid--list),
  .profile-page--media .media-post-grid.module-card-grid,
  .profile-page--media .media-album-grid.module-card-grid{
    grid-template-columns:minmax(0, 1fr) !important;
  }
}

.profile-page .profile-editorial-card-grid.module-card-grid,
.profile-page .profile-editorial-card-grid.alumni-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  align-items:stretch;
}

.profile-editorial-card-grid > *{
  min-width:0;
}

.profile-editorial-card-grid .module-thumb-card{
  height:100%;
}

.profile-editorial-card-grid .blog-card-main,
.profile-editorial-card-grid .press-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
}

.profile-editorial-card-grid .module-thumb-body{
  flex:1 1 auto;
  min-width:0;
}

.profile-editorial-card-grid .blog-card-caption,
.profile-editorial-card-grid .press-card-author,
.profile-editorial-card-grid .press-card-meta-line,
.profile-editorial-card-grid .card-bottom-title,
.profile-editorial-card-grid .card-bottom-subtitle{
  display:block !important;
  max-width:100%;
  min-width:0;
  overflow:hidden !important;
  overflow-wrap:normal !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  word-break:normal !important;
}

.profile-editorial-card-grid .blog-card-caption br,
.profile-editorial-card-grid .press-card-author br,
.profile-editorial-card-grid .press-card-meta-line br,
.profile-editorial-card-grid .card-bottom-title br,
.profile-editorial-card-grid .card-bottom-subtitle br{
  display:none;
}

@media (min-width:769px){
  .profile-page .profile-editorial-card-grid.module-card-grid,
  .profile-page .profile-editorial-card-grid.alumni-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:768px){
  .profile-page .profile-editorial-card-grid.module-card-grid,
  .profile-page .profile-editorial-card-grid.alumni-grid{
    grid-template-columns:minmax(0, 1fr) !important;
  }
}

.post{
  overflow:hidden;
}

.post-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 14px 10px;
}

.post-user{
  display:flex;
  align-items:center;
  gap:10px;
}

.avatar{
  width:40px;
  height:40px;
  border-radius:999px;
  background:#111;
}

.post-meta{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}

.post-username{
  font-weight:900;
}

.post-sub{
  font-size:12px;
  color:var(--muted);
  font-weight:700;
}

.post-media{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:#f1f1f1;
}

.media-placeholder{
  height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#888;
  font-weight:800;
}

.post-body{
  padding:12px 14px 16px;
}

.post-icons{
  display:flex;
  gap:16px;
  font-size:18px;
  margin-bottom:10px;
}

.post-save{
  margin-left:auto;
}

.post-likes{
  font-weight:900;
  margin-bottom:6px;
}

.post-caption{
  color:#333;
  font-weight:600;
  margin-bottom:8px;
}

.post-comments{
  color:#777;
  font-weight:700;
  font-size:13px;
}

.section-title{
  margin:18px 0 10px;
  font-size:20px;
  font-weight:900;
}

.shorts-placeholder{
  padding:22px;
  text-align:center;
  color:#777;
  font-weight:800;
}

/* Settings/account pages */
.settings-page,
.settings-page-shell{
  width:min(100%, 840px);
  max-width:840px;
  margin:0 auto;
}

.settings-page-stack{
  width:100%;
  margin:0 auto;
  display:grid;
  gap:12px;
}

.settings-page-stack--wide{
  width:100%;
  max-width:840px;
}

.settings-title-card,
.settings-section-card{
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 22px rgba(15, 23, 42, .05);
}

.settings-title-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.settings-title-card h1,
.settings-title-card h2{
  margin:0;
  min-width:0;
}

.settings-section-card{
  display:block;
}

.settings-form-card{
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:16px;
  padding:18px;
  box-shadow:0 8px 22px rgba(15, 23, 42, .05);
}

.settings-information-page-stack{
  gap:16px;
}

.settings-information-header{
  margin-bottom:0;
}

.settings-information-card{
  background:#ffffff;
  border:1px solid #E5E7EB;
  border-radius:18px;
  padding:32px;
  box-shadow:0 12px 30px rgba(15, 23, 42, .06);
}

.settings-information-card .settings-btn,
.more-page .settings-information-card .settings-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:46px;
  margin-top:22px;
  padding:0 20px;
  border:1px solid #000000;
  border-radius:12px;
  background:#000000;
  color:#ffffff;
  font-weight:700;
}

.settings-information-card .settings-btn:hover,
.more-page .settings-information-card .settings-btn:hover{
  background:#000000;
  color:#ffffff;
  border-color:#000000;
  opacity:.94;
}

.settings-section-card-title{
  margin:0 0 10px;
  color:#111827;
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}

.settings-section-card-copy{
  margin:0;
  color:#64748b;
  font-size:14px;
  font-weight:700;
  line-height:1.55;
}

.settings-card-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.settings-card-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:10px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
}

.settings-card-link--muted{
  border-color:#e1e5ec;
  background:#fff;
  color:#111827;
}

.top10-manager-card{
  display:grid;
  gap:16px;
}

.top10-manager-head,
.top10-selected-row,
.top10-search-row,
.top10-search-form{
  display:flex;
  align-items:center;
  gap:14px;
}

.top10-manager-head{
  justify-content:space-between;
}

.top10-limit-message{
  margin:0;
  padding:10px 12px;
  border-radius:12px;
  background:#fff7ed;
  color:#9a3412;
  font-size:14px;
  font-weight:800;
}

.top10-limit-message.is-hidden,
.top10-empty.is-hidden,
.settings-card-actions.is-hidden{
  display:none;
}

.top10-selected-list,
.top10-selected-rows,
.top10-search-results{
  display:grid;
  gap:12px;
}

.top10-selected-row,
.top10-search-row{
  justify-content:space-between;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
}

.top10-selected-profile{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:12px;
  color:#111827;
  text-decoration:none;
}

.top10-selected-avatar{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  overflow:hidden;
  background:#f3f4f6;
}

.top10-selected-avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.top10-selected-copy{
  min-width:0;
  display:grid;
  gap:3px;
}

.top10-selected-name{
  overflow:hidden;
  color:#111827;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.top10-selected-type{
  color:#64748b;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
}

.top10-order-field{
  display:grid;
  gap:5px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
}

.top10-order-field input,
.top10-search-input{
  border:1px solid #d1d5db;
  border-radius:12px;
  background:#fff;
  color:#111827;
}

.top10-order-field input{
  width:74px;
  min-height:38px;
  padding:0 10px;
  font-size:14px;
  font-weight:800;
}

.top10-search-input{
  flex:1 1 auto;
  min-width:0;
  min-height:42px;
  padding:0 14px;
  font-size:14px;
  font-weight:600;
}

.top10-status-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#f3f4f6;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}

.top10-empty{
  padding:16px;
  border:1px dashed #d1d5db;
  border-radius:14px;
  background:#f8fafc;
  color:#64748b;
  font-size:14px;
  font-weight:700;
  text-align:center;
}

.top10-messages{
  display:grid;
  gap:8px;
}

.top10-message{
  margin:0;
  padding:10px 12px;
  border-radius:12px;
  background:#f8fafc;
  color:#111827;
  font-size:14px;
  font-weight:700;
}

@media (max-width: 640px){
  .top10-manager-head,
  .top10-search-form{
    align-items:stretch;
    flex-direction:column;
  }

  .top10-selected-row,
  .top10-search-row{
    align-items:stretch;
    flex-direction:column;
  }

  .top10-order-field input{
    width:100%;
  }
}

.settings-status-card{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #e6e8ec;
  border-radius:14px;
  background:#f8fafc;
  color:#334155;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}

.settings-status-card--success{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534;
}

.settings-status-card--warning{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#9a3412;
}

.settings-field{
  display:grid;
  gap:7px;
  margin:0;
}

.settings-field-label{
  color:#111827;
  font-size:14px;
  font-weight:800;
  line-height:1.25;
}

.settings-field-help{
  color:#64748b;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}

.settings-field-error{
  color:#b00020;
  font-size:13px;
  font-weight:800;
}

.settings-form .settings-checkbox-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:10px 0;
  color:#111827;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}

.settings-form .settings-checkbox-row input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:auto;
  width:18px;
  min-width:18px;
  height:18px;
  min-height:18px;
  margin:1px 0 0;
  padding:0;
  flex:0 0 18px;
  accent-color:#111;
}

.settings-form .settings-checkbox-row input[type="checkbox"]:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}

.settings-form-card .settings-btn,
.settings-section-card .settings-btn{
  width:auto;
  min-width:150px;
  padding:0 18px;
}

.legal-banner-grid{
  display:grid;
  gap:12px;
}

.legal-banner-card{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid #e6e8ec;
  border-radius:14px;
  background:#fff;
  color:#111827;
  text-decoration:none;
}

.legal-banner-card:hover{
  border-color:#cbd5e1;
  background:#fbfdff;
}

.legal-banner-card__title{
  margin:0;
  font-size:17px;
  font-weight:800;
  line-height:1.2;
}

.legal-banner-card__copy{
  margin:0;
  color:#64748b;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}

.legal-banner-card__link{
  color:#111;
  font-size:14px;
  font-weight:800;
}

.legal-meta-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:#64748b;
  font-size:13px;
  font-weight:700;
}

.legal-document-body{
  color:#111827;
  font-size:16px;
  line-height:1.65;
}

.legal-document-body :first-child{
  margin-top:0;
}

.legal-document-body :last-child{
  margin-bottom:0;
}

.site-access-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.site-access-actions .settings-btn{
  width:auto;
  min-width:118px;
  height:40px;
  margin-top:0;
  padding:0 14px;
  font-size:14px;
}

.settings-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.settings-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border:1px solid #e7e7e7;
  border-radius:12px;
  text-decoration:none;
  color:#111;
  font-weight:800;
  background:#fff;
}

.settings-item:hover{
  background:#f6f6f6;
}

.settings-icon{
  width:22px;
  text-align:center;
  font-size:16px;
}

.settings-chevron{
  color:#9aa0a6;
  font-size:18px;
}

.settings-item .settings-label{
  flex:1;
  margin:0;
  font-weight:800;
}

.settings-danger{
  border-color:#ffdddd;
  color:#b00020;
}

.settings-danger:hover{
  background:#fff1f1;
}

.settings-page .card{
  padding:32px 28px 28px;
  border-radius:18px;
  border:1px solid #e6e6e6;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
  background:#fff;
}

.settings-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}

.settings-header--split{
  justify-content:space-between;
}

.settings-back{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid #e6e6e6;
  text-decoration:none;
  color:#111;
  font-size:18px;
  font-weight:800;
  background:#fff;
}

.settings-back:hover{
  background:#f8f8f8;
}

.settings-title{
  font-size:25px;
  font-weight:800;
  margin:0;
}

.settings-section-title{
  font-size:18px;
  font-weight:800;
  margin:22px 0 10px 0;
}

.settings-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.social-links-form{
  gap:14px;
}

.social-link-field-card{
  background:#fff;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}

.social-link-field-card .settings-label{
  display:block;
  font-weight:800;
  margin-bottom:10px;
}

.social-link-field-card input{
  width:100%;
}

.sports-card-settings-form{
  gap:16px;
}

.sports-card-settings-note{
  padding:12px 14px;
  border:1px solid #e3eaf3;
  border-radius:14px;
  background:#f8fbff;
  color:#475569;
  font-size:13px;
  font-weight:600;
  line-height:1.45;
}

.sports-card-settings-grid{
  display:grid;
  gap:12px;
}

.sports-card-settings-grid--2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.sports-card-settings-grid--3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.sports-card-settings-section{
  margin-top:18px;
  padding:20px;
  border:1px solid #e7edf5;
  border-radius:18px;
  background:#fbfcff;
}

.sports-card-settings-section--editor{
  background:#fff;
}

.sports-card-settings-section__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}

.sports-card-settings-section__head--actions{
  align-items:center;
}

.sports-card-settings-section__copy{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:600;
  line-height:1.45;
}

.sports-card-add-btn{
  width:auto;
  margin-top:0;
  padding:0 18px;
  text-decoration:none;
}

.sports-card-entry-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}

.sports-card-entry-card{
  padding:16px 18px;
  border:1px solid #e3eaf3;
  border-radius:16px;
  background:#fff;
}

.sports-card-entry-card.is-primary{
  border-color:#cbdcfb;
  box-shadow:0 8px 18px rgba(15, 23, 42, .05);
}

.sports-card-entry-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.sports-card-entry-card__identity{
  min-width:0;
}

.sports-card-entry-card__title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.sports-card-entry-card__title-row h4{
  margin:0;
  font-size:18px;
  font-weight:800;
  color:#111827;
}

.sports-card-entry-card__summary{
  margin-top:6px;
  color:#475569;
  font-size:14px;
  font-weight:600;
  line-height:1.45;
}

.sports-card-primary-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#e8f1ff;
  color:#174ea6;
  font-size:12px;
  font-weight:800;
}

.sports-card-entry-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.sports-card-entry-actions form{
  margin:0;
}

.sports-card-empty-state{
  margin-top:10px;
  padding:20px;
  border:1px dashed #d8e2ef;
  border-radius:16px;
  background:#fff;
  color:#64748b;
  font-weight:700;
  text-align:center;
}

.sports-card-editor-actions{
  justify-content:flex-end;
}

.sports-card-editor-actions .settings-btn{
  width:auto;
  min-width:160px;
}

.settings-label{
  display:block;
  font-weight:700;
  font-size:14px;
  margin:12px 0 6px;
  color:#111;
}

.settings-section-card > .settings-label:first-child,
.settings-section-card > .settings-section-card-title:first-child{
  margin-top:0;
}

.settings-section-card .notify-settings-intro{
  margin:0;
}

.users-content-heading{
  margin-bottom:14px;
}

@media (max-width: 680px){
  .settings-page-stack{
    width:100%;
  }

  .settings-title-card{
    align-items:center;
    flex-wrap:wrap;
  }

  .settings-title-card .settings-title{
    flex:1 1 auto;
  }

  .site-access-actions{
    flex:1 0 100%;
    margin-left:42px;
    justify-content:flex-start;
  }

  .site-access-actions .settings-btn{
    flex:1 1 132px;
  }

  .settings-page,
  .settings-page-shell{
    width:100%;
  }

  .settings-form-card,
  .settings-section-card,
  .settings-title-card{
    padding:14px;
  }

  .settings-information-card{
    padding:24px;
  }
}

.settings-undertext{
  font-size:12px;
  font-weight:700;
  color:#6a6a6a;
  margin:2px 0 10px;
}

.settings-form input,
.settings-form select,
.settings-form textarea{
  width:100%;
  min-height:46px;
  border-radius:12px;
  border:1px solid #e1e1e1;
  background:#f8f8f8;
  padding:10px 14px;
  font-size:16px;
  outline:none;
}

.settings-form input:focus,
.settings-form select:focus,
.settings-form textarea:focus{
  background:#fff;
  border-color:#c9c9c9;
}

.settings-dob{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
}

.settings-check{
  display:flex;
  gap:6px;
  align-items:center;
  font-weight:600;
  font-size:13px;
  color:#4b4b4b;
  margin:4px 0;
}

.settings-check input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:auto;
  width:16px;
  height:16px;
  border-radius:4px;
  accent-color:#d62828;
  cursor:pointer;
  flex:0 0 auto;
}

.settings-check input[type="checkbox"]:checked{
  border-color:initial;
  background:initial;
}

.settings-check input[type="checkbox"]:checked::after{
  content:none;
}

.settings-check input[type="checkbox"]:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}

/* SITE ACCESS rows */
.settings-checklist{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:16px;
}

.settings-module-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #eee;
}

.settings-module-name{
  font-weight:600;
  font-size:16px;
  flex:1 1 auto;
}

.settings-module-status{
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
}

.settings-module-toggle{
  margin-left:auto;
}

.settings-module-status.is-on{
  color:#1f9d3a;
}

.settings-module-status.is-off{
  color:#d93025;
}

.settings-module-toggle input[type="checkbox"]{
  width:14px;
  height:14px;
  cursor:pointer;
}

.settings-btn{
  width:100%;
  height:46px;
  border:1px solid #d9dee8;
  border-radius:12px;
  background:#ffffff;
  color:#111827;
  font-weight:700;
  font-size:16px;
  margin-top:14px;
  cursor:pointer;
}

.settings-btn:hover{
  background:#f8fafc;
  border-color:#cbd5e1;
  opacity:1;
}

.more-page .settings-btn,
.more-page .settings-btn-muted,
.more-page .notify-settings-save{
  background:#ffffff;
  color:#111827;
  border-color:#d9dee8;
}

.more-page .settings-btn:hover,
.more-page .settings-btn-muted:hover,
.more-page .notify-settings-save:hover{
  background:#f8fafc;
  color:#111827;
  border-color:#cbd5e1;
  opacity:1;
}

.more-page .settings-btn.deactivate-submit,
.more-page .settings-btn.danger.deactivate-submit{
  background:#b00020;
  color:#fff;
  border-color:#b00020;
}

.more-page .settings-btn.deactivate-submit:hover,
.more-page .settings-btn.danger.deactivate-submit:hover{
  background:#97001b;
  color:#fff;
}

.settings-btn.small{
  width:auto;
  height:36px;
  padding:0 14px;
  margin-top:0;
  font-size:13px;
  font-weight:800;
}

.settings-btn.danger{
  background:#b00020;
  color:#fff;
  border-color:#b00020;
}

.settings-btn-dark{
  background:#ffffff;
  color:#111827;
  border-color:#d9dee8;
}

.settings-btn-dark:hover{
  background:#f8fafc;
  border-color:#cbd5e1;
  opacity:1;
}

.settings-actions-inline{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
}

.settings-actions-inline .settings-btn{
  margin-top:0;
}

.settings-btn-muted{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:#f2f2f2;
  color:#111;
  border:1px solid #ddd;
}

.settings-btn-muted:hover{
  background:#ebebeb;
}

.settings-btn-danger{
  background:#b00020;
  color:#fff;
  border-color:#b00020;
}

@media (max-width: 780px){
  .sports-card-settings-grid--2,
  .sports-card-settings-grid--3{
    grid-template-columns:1fr;
  }

  .sports-card-settings-section{
    padding:16px;
  }

  .sports-card-settings-section__head,
  .sports-card-settings-section__head--actions,
  .sports-card-entry-card__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .sports-card-add-btn,
  .sports-card-editor-actions .settings-btn{
    width:100%;
  }

  .sports-card-entry-actions{
    width:100%;
    justify-content:flex-start;
  }
}

.settings-user-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0 12px;
}

.settings-user-avatar{
  width:48px;
  height:48px;
  border-radius:999px;
  background:#e8e8e8;
  overflow:hidden;
  flex:0 0 auto;
}

.settings-user-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.settings-user-name{
  font-weight:800;
}

.settings-user-sub{
  font-size:13px;
  color:#666;
  font-weight:700;
}

.settings-note{
  margin:0 0 10px;
  color:#555;
  font-size:14px;
  font-weight:700;
}

.visually-hidden{
  position:absolute !important;
  height:1px;
  width:1px;
  overflow:hidden;
  clip:rect(1px, 1px, 1px, 1px);
  white-space:nowrap;
}

.color-select{
  position:relative;
}

.color-select-btn{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid #e1e1e1;
  background:#fff;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 12px;
  font-weight:700;
  cursor:pointer;
  position:relative;
}

.color-select-swatch{
  width:22px;
  height:22px;
  border-radius:6px;
  border:1px solid #d0d0d0;
  background:#fff;
  flex:0 0 auto;
}

.color-select-btn::after{
  content:"";
  position:absolute;
  right:12px;
  width:12px;
  height:12px;
  border-right:2px solid #6f6f6f;
  border-bottom:2px solid #6f6f6f;
  transform:rotate(45deg);
  top:50%;
  margin-top:-7px;
}

.color-select-list{
  position:absolute;
  left:0;
  right:0;
  top:52px;
  background:#fff;
  border:1px solid #e1e1e1;
  border-radius:12px;
  padding:8px;
  max-height:260px;
  overflow:auto;
  box-shadow:0 12px 30px rgba(0,0,0,0.18);
  display:none;
  z-index:10;
}

.color-select.open .color-select-list{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.color-option{
  width:100%;
  border:none;
  background:#fff;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
  text-align:left;
}

.color-option:hover{
  background:#f2f2f2;
}

.color-option.is-selected{
  background:#e7f0ff;
}

.color-option-swatch{
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid #cfcfcf;
}

.color-option-check{
  font-size:12px;
  font-weight:900;
  color:#2f6fed;
  width:16px;
  text-align:center;
  visibility:hidden;
}

.color-option.is-selected .color-option-check{
  visibility:visible;
}

.color-option-label{
  font-weight:700;
  font-size:14px;
}

.settings-form-errors{
  padding:12px 14px;
  border:1px solid #fecaca;
  border-radius:12px;
  background:#fef2f2;
  color:#991b1b;
  font-size:14px;
  font-weight:700;
}

.settings-form-errors p{
  margin:0;
}

.button-preview{
  --preview-button-bg:#ffffff;
  --preview-button-text:#111827;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.button-preview-label{
  flex:0 0 100%;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.button-preview-btn,
.button-preview-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--preview-button-bg);
  background:var(--preview-button-bg);
  color:var(--preview-button-text);
  font-weight:800;
  line-height:1;
}

.button-preview-btn{
  min-height:36px;
  padding:0 16px;
  border-radius:999px;
  font-size:13px;
}

.button-preview-icon{
  width:36px;
  height:36px;
  border-radius:999px;
  font-size:16px;
}

.privacy-note{
  font-size:13px;
  color:#666;
  margin-top:-4px;
  margin-bottom:10px;
  font-weight:600;
}

.privacy-card{
  border-bottom:1px solid #e6e6e6;
  padding:12px 0 14px;
}

.privacy-card:last-of-type{
  border-bottom:none;
}

.privacy-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.privacy-card-title{
  font-weight:800;
  font-size:15px;
  color:#111;
}

.privacy-inline-form{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
}

.privacy-inline-form input[type="text"]{
  height:36px;
  border-radius:10px;
  border:1px solid #d7d7d7;
  padding:0 12px;
  font-size:13px;
}

.privacy-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}

.privacy-list-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid #e7e7e7;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
}

.privacy-sub{
  font-size:12px;
  color:#666;
  margin-top:6px;
}

.privacy-info{
  margin-top:6px;
  background:#fff;
  border:1px solid #e1e1e1;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.privacy-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.5);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1000;
}

.privacy-modal.show{
  display:flex;
}

.privacy-modal-card{
  background:#fff;
  border-radius:16px;
  padding:18px;
  width:min(420px, 90vw);
  box-shadow:0 12px 30px rgba(0,0,0,0.2);
}

.privacy-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}

.privacy-modal-header h3{
  margin:0;
  font-size:18px;
  font-weight:800;
}

.privacy-modal-close{
  border:none;
  background:transparent;
  font-size:18px;
  cursor:pointer;
}

.notify-card{
  border-bottom:1px solid #e6e6e6;
  padding:12px 0 14px;
}

.notify-card:last-of-type{
  border-bottom:none;
}

.notify-title{
  font-weight:800;
  font-size:16px;
  margin-bottom:6px;
}

.notify-row{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:14px;
  color:#111;
}

.notify-row input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#d62828;
}

.notify-note{
  font-style:italic;
  color:#666;
  font-size:13px;
  margin-top:6px;
}

.blocked-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.blocked-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e7e7e7;
  border-radius:12px;
}

.blocked-name{
  font-weight:800;
}

.explore-wrap{
  max-width:1050px;
  margin:0 auto;
}

.explore-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}

.explore-title{
  margin:0;
  font-size:25px;
  font-weight:800;
  color:#444;
}

.explore-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}

.explore-tile{
  position:relative;
  display:block;
  border-radius:12px;
  overflow:hidden;
  background:#f1f1f1;
  aspect-ratio: 1 / 1;
}

.explore-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.explore-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.35);
  opacity:0;
  transition: opacity 0.2s ease;
}

.explore-tile:hover .explore-overlay{
  opacity:1;
}

.explore-metrics{
  display:flex;
  gap:16px;
  color:#fff;
  font-weight:800;
}

.explore-pagination{
  margin-top:16px;
  text-align:center;
}

.explore-page-btn{
  display:inline-block;
  padding:10px 16px;
  border-radius:10px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:800;
}

@media (max-width: 900px){
  .explore-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px){
  .explore-grid{
    grid-template-columns: 1fr;
  }
}

.ms-input{
  width:100%;
  height:44px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  padding:0 12px;
  font-size:16px;
  outline:none;
  margin-top:6px;
}

.ms-input:focus{
  border-color:#c7c7c7;
}

.ms-btn{
  width:100%;
  height:44px;
  border:none;
  border-radius:10px;
  background:#000;
  color:#fff;
  font-weight:900;
  font-size:16px;
  margin-top:14px;
  cursor:pointer;
}

.search-tabs{
  display:flex;
  gap:10px;
  margin-bottom:14px;
}

.search-tab{
  padding:8px 14px;
  border-radius:10px;
  border:1px solid var(--border);
  text-decoration:none;
  color:#333;
  font-weight:800;
}

.search-tab.active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.search-panel{
  padding:20px;
  border-radius:26px;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.search-controls{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

.search-panel.search-panel-spaced{
  margin-top:0;
}

.search-panel-copy{
  margin:0 0 16px;
  color:#64748b;
  font-size:14px;
  line-height:1.45;
}

.search-controls-row{
  flex-wrap:nowrap;
}

.search-advance-link{
  margin-top:10px;
  text-align:center;
  font-size:13px;
  font-weight:700;
}

.search-advance-link a{
  color:#666;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:0;
}

.search-advanced{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-weight:800;
  color:#555;
}

.search-advanced-title{
  font-size:14px;
}

.search-advanced-reset{
  font-size:12px;
  color:#777;
  text-decoration:none;
}

.search-row{
  display:flex;
  gap:12px;
  width:100%;
}

.search-input{
  flex:1;
  height:44px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  padding:0 12px;
  font-size:15px;
}

.search-select{
  flex:1;
  height:44px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  padding:0 12px;
  font-size:15px;
}

.search-btn{
  height:44px;
  padding:0 16px;
  border-radius:10px;
  border:none;
  background:#111;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.search-results{
  margin-top:18px;
}

.search-layout .search-results-users{
  background:transparent;
  border:0;
  box-shadow:none;
  margin-top:22px;
  padding:0;
  width:100%;
}

.search-layout .thumb-grid{
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap:12px;
}

.search-layout .thumb-grid--events-search{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.search-layout .thumb-grid--events-search .thumb-image{
  aspect-ratio:auto;
  height:clamp(260px, 26vw, 320px);
  max-height:320px;
  overflow:hidden;
}

.search-layout .search-results-users .thumb-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:clamp(12px, 2vw, 20px);
  width:100%;
}

.search-layout .thumb-card{
  height:100%;
  border-radius:16px;
  border:1px solid rgba(226, 232, 240, 0.95);
  box-shadow:0 12px 28px rgba(15, 23, 42, 0.08);
}

.search-layout .thumb-image{
  aspect-ratio: 4 / 5;
  min-height:0;
  max-height:none;
}

.search-layout .thumb-meta{
  display:grid;
  gap:3px;
  padding:12px 14px 14px;
}

.search-layout .thumb-title,
.search-layout .thumb-title-strong{
  font-size:16px;
  line-height:1.2;
  margin:0;
}

.search-layout .thumb-tag{
  color:#64748b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.15;
  margin:0;
  text-transform:uppercase;
}

.search-layout .thumb-badges{
  margin-top:4px;
}

.search-layout .thumb-sub,
.search-layout .thumb-badge{
  font-size:12px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.search-layout .thumb-card-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.search-layout .thumb-card-link:hover,
.search-layout .thumb-card-link:focus{
  color:inherit;
  text-decoration:none;
}

.search-layout .thumb-image-media,
.search-layout .thumb-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.search-layout .thumb-image-placeholder{
  border-bottom:1px solid rgba(226, 232, 240, 0.95);
}

.search-layout .search-users-thumb-grid .thumb-card{
  border-radius:18px;
}

.search-layout .search-users-thumb-grid .thumb-image{
  aspect-ratio:4 / 5;
  min-height:clamp(170px, 24vw, 280px);
}

.search-layout .search-users-thumb-grid .thumb-title,
.search-layout .search-users-thumb-grid .thumb-title-strong{
  overflow-wrap:anywhere;
}

.search-results-inline-ad{
  grid-column:1 / -1;
  min-height:90px;
  border:1px dashed rgba(148, 163, 184, 0.6);
  border-radius:18px;
  background:rgba(248, 250, 252, 0.7);
  color:#64748b;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.08em;
  text-align:center;
}

.search-results-inline-ad span{
  text-transform:uppercase;
}

@media (min-width: 900px){
  .search-layout .search-results-users .thumb-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.search-layout .explore-highlights-grid{
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap:10px;
}

.search-layout .explore-highlight-media{
  height:116px;
}

.search-layout .post-thumb-grid{
  gap:12px;
}

.search-layout .post-thumb-card{
  border-radius:14px;
}

.search-layout .post-thumb-media{
  padding:0;
}

.search-layout .post-thumb-media img{
  max-height:260px;
  border-radius:12px;
}

.search-layout .post-thumb-grid--single .post-thumb-media img,
.search-layout .post-thumb-grid--single .post-thumb-video{
  max-height:min(54vh, 420px);
  aspect-ratio:4 / 5;
  border-radius:12px;
}

.search-layout .post-thumb-body{
  padding:10px 12px 12px;
  gap:8px;
}

.search-main-inner{
  max-width:var(--app-content-column-max);
  margin:0;
}

.search-layout{
  display:flex;
  align-items:flex-start;
  gap:24px;
  margin-top:22px;
}

.search-main{
  flex:1 1 auto;
  min-width:0;
  width:100%;
}

.search-ads{
  flex:1;
  min-width:240px;
  max-width:320px;
}

.search-ads-card{
  position:sticky;
  top:30px;
  width:240px;
  height:400px;
  padding:16px;
  border:1px dashed var(--border);
  border-radius:16px;
  background:#fff;
  color:#777;
  font-weight:700;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.adsense-shell{
  width:240px;
  min-height:400px;
}

.adsense-shell--in-feed,
.adsense-shell--mobile-banner{
  width:100%;
  min-height:160px;
}

.adsense-unit{
  display:block;
  width:100%;
  min-height:100px;
}

.adsense-placeholder{
  border-style:dashed;
}

.adsense-placeholder-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:12px;
}

.search-advanced-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:14px;
}

.search-apply-btn{
  width:100%;
}

@media (max-width: 1200px){
  .search-layout{
    flex-direction:column;
  }

  .search-main{
    flex:1;
    width:100%;
  }

  .search-ads{
    display:none;
  }
}

@media (max-width: 900px){
  .search-layout .thumb-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .search-controls,
  .search-controls-row,
  .search-row{
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:10px;
  }

  .search-input,
  .search-select,
  .search-btn{
    width:100%;
    flex:0 0 auto;
  }

  .search-layout .thumb-grid--events-search,
  .search-layout .thumb-grid{
    grid-template-columns: 1fr;
  }

  .search-layout .search-results-users .search-users-thumb-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:12px;
  }

  .search-layout .search-users-thumb-grid .thumb-image{
    min-height:clamp(150px, 46vw, 230px);
  }

  .search-results-inline-ad{
    min-height:78px;
    border-radius:16px;
  }

  .search-layout .thumb-grid--events-search .thumb-image{
    height:clamp(200px, 58vw, 240px);
    max-height:240px;
  }

  .search-layout .explore-highlight-media{
    height:132px;
  }
}

@media (max-width: 359px){
  .search-layout .search-results-users .search-users-thumb-grid{
    grid-template-columns:1fr;
  }
}

.thumb-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  gap:var(--ms-display-card-gap);
}

.thumb-card-link{
  text-decoration:none;
  color:inherit;
  display:block;
}

.profile-card{
  padding:24px;
}

.profile-header{
  display:flex;
  gap:18px;
  align-items:center;
}

.profile-avatar{
  width:96px;
  height:96px;
  border-radius:999px;
  overflow:hidden;
  background:#f3f3f3;
  flex:0 0 auto;
}

.profile-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.profile-meta{
  flex:1;
}

.profile-name{
  font-size:25px;
  font-weight:900;
  margin-bottom:4px;
}

.profile-username{
  color:#666;
  font-weight:700;
  margin-bottom:6px;
}

.profile-menu{
  position:relative;
  margin-left:auto;
}

.profile-menu summary{
  list-style:none;
  cursor:pointer;
  font-size:22px;
  font-weight:900;
}

.profile-menu summary::-webkit-details-marker{
  display:none;
}

.profile-menu form{
  position:absolute;
  right:0;
  top:28px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px;
  box-shadow:0 8px 18px rgba(0,0,0,0.08);
}

.profile-menu button{
  background:none;
  border:none;
  padding:6px 10px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}

.thumb-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--ms-display-card-radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:var(--ms-display-card-shadow);
  height:100%;
}

.thumb-image{
  background:#f3f3f3;
  aspect-ratio: var(--ms-display-card-media-ratio);
  min-height:var(--ms-display-card-media-min-height);
  overflow:hidden;
  position:relative;
}

.thumb-image-media,
.thumb-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.thumb-image-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at top, rgba(255,255,255,0.7), transparent 58%),
    linear-gradient(135deg, #e2e8f0, #cbd5e1);
  color:#334155;
}

.thumb-image-placeholder span{
  font-size:clamp(2rem, 4vw, 3.25rem);
  font-weight:900;
  letter-spacing:-0.04em;
}

.thumb-image-empty{
  width:100%;
  height:100%;
  background:linear-gradient(135deg, #ededed, #f7f7f7);
}

.thumb-meta{
  padding:var(--ms-display-card-body-pad);
}

.thumb-actions{
  padding:10px 12px 12px;
  border-top:1px solid #f3f3f3;
}

.thumb-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:#111;
}

.thumb-action:hover{
  text-decoration:underline;
}

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

.championship-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.championship-title{
  font-size:18px;
  letter-spacing:.2px;
}

.championship-year{
  font-size:14px;
  color:#6b7280;
  font-weight:400;
}

.championship-team{
  font-size:13px;
  color:#9ca3af;
}

.championship-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}

.championship-tag{
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:700;
  color:#374151;
}

.thumb-title{
  font-weight:900;
  margin-bottom:4px;
}

.thumb-title-strong{
  font-weight:900;
}

.thumb-sub{
  color:#666;
  font-size:13px;
  font-weight:700;
  margin-bottom:6px;
}

.thumb-tag{
  display:inline-block;
  background:transparent;
  color:#666;
  font-size:12px;
  font-weight:400;
  padding:0;
  border-radius:0;
}

.thumb-badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.thumb-badge{
  display:inline-block;
  background:#f0f0f0;
  color:#444;
  font-size:12px;
  font-weight:800;
  padding:4px 8px;
  border-radius:999px;
}

.thumb-empty{
  color:#777;
  font-weight:700;
  padding:16px 4px;
}

@media (min-width: 760px){
  .thumb-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .thumb-grid.championship-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px){
  .thumb-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .thumb-grid.championship-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.featured-wrap{
  max-width:1050px;
  margin:0 auto;
}

.featured-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}

.featured-title{
  margin:0;
  font-size:25px;
  font-weight:800;
  color:#444;
}

.featured-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
}

.featured-section{
  margin-bottom:22px;
}

.featured-section-title{
  margin:0 0 10px;
  font-size:18px;
  font-weight:900;
  color:#555;
}

.explore-wrap{
  max-width:1050px;
  margin:0;
}

.explore-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}

.explore-layout{
  display:flex;
  gap:24px;
  align-items:flex-start;
}

.explore-main{
  flex:1 1 auto;
  min-width:0;
  width:100%;
}

.explore-ads{
  flex:1;
  min-width:240px;
  max-width:320px;
}

.explore-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:20px;
}

.explore-highlights{
  margin-bottom:18px;
}

.explore-highlights-title{
  font-weight:900;
  font-size:16px;
  margin-bottom:10px;
}

.explore-highlights-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
}

.explore-highlight-card{
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.explore-highlight-media{
  position:relative;
  height:140px;
  background:#f2f2f2;
}

.explore-highlight-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.explore-highlight-lock{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.5);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  text-align:center;
  padding:10px;
}

.explore-highlight-meta{
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.explore-highlight-user{
  font-weight:800;
}

.explore-highlight-views{
  font-size:12px;
  color:#666;
  font-weight:700;
}

.explore-highlight-btn{
  text-decoration:none;
  background:#111;
  color:#fff;
  border-radius:10px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  width:fit-content;
}

.explore-main-inner{
  max-width:1100px;
  margin:0;
}

.explore-title{
  margin:0;
  font-size:25px;
  font-weight:900;
  color:#333;
}

.explore-controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.explore-select{
  height:40px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  padding:0 10px;
  font-size:14px;
}

.explore-btn{
  height:40px;
  padding:0 14px;
  border-radius:10px;
  border:none;
  background:#111;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.explore-top-users{
  margin-left:auto;
  color:#111;
  text-decoration:none;
  font-weight:800;
}

@media (min-width: 900px){
  .explore-controls{
    flex-wrap:nowrap;
  }
}

.explore-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}

.explore-tile{
  position:relative;
  display:block;
  border-radius:14px;
  overflow:hidden;
  background:#f2f2f2;
  text-decoration:none;
  color:inherit;
}

.explore-tile img{
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  display:block;
}

.explore-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.65));
  opacity:0;
  transition:opacity .2s ease;
}

.explore-tile:hover .explore-overlay{
  opacity:1;
}

.explore-metrics{
  position:absolute;
  bottom:8px;
  left:8px;
  right:8px;
  display:flex;
  gap:10px;
  color:#fff;
  font-size:12px;
  font-weight:800;
}

.explore-meta{
  padding:8px 10px 10px;
  background:#fff;
}

.explore-name{
  font-weight:900;
  font-size:14px;
}

.explore-username{
  display:block;
  font-size:12px;
  color:#666;
  font-weight:700;
}

.explore-pagination{
  display:flex;
  justify-content:center;
  margin-top:16px;
}

.explore-page-btn{
  background:#111;
  color:#fff;
  padding:10px 16px;
  border-radius:10px;
  text-decoration:none;
  font-weight:800;
}

@media (min-width: 900px){
  .explore-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1200px){
  .explore-layout{
    flex-direction:column;
  }

  .explore-main{
    flex:1;
    width:100%;
  }

  .explore-ads{
    display:none;
  }
}

.top-users-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.top-users-title{
  margin:0;
  font-size:20px;
  font-weight:900;
}

.top-users-filters{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.top-users-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

.top-user-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #dbe3ef;
  border-radius:22px;
  background:#fff;
  color:#111827;
  text-decoration:none;
  box-shadow:0 18px 38px rgba(15, 23, 42, 0.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.top-user-card:hover,
.top-user-card:focus{
  color:#111827;
  text-decoration:none;
  border-color:#b9cae2;
  box-shadow:0 22px 46px rgba(15, 23, 42, 0.12);
  transform:translateY(-2px);
}

.top-user-card__image{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  min-height:170px;
  overflow:hidden;
  background:#eef2f7;
}

.top-user-card__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.top-user-card__placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg, #111827, #48566f);
  font-size:56px;
  font-weight:900;
}

.top-user-card__rank,
.top-user-card__trophy{
  position:absolute;
  z-index:2;
  top:12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 22px rgba(15, 23, 42, 0.18);
}

.top-user-card__rank{
  left:12px;
  min-width:48px;
  padding:0 12px;
  background:#111827;
}

.top-user-card__trophy{
  right:12px;
  width:34px;
  background:#111827;
}

.top-user-card--gold .top-user-card__rank,
.top-user-card--gold .top-user-card__trophy{
  background:#d99a16;
}

.top-user-card--silver .top-user-card__rank,
.top-user-card--silver .top-user-card__trophy{
  background:#7b8794;
}

.top-user-card--bronze .top-user-card__rank,
.top-user-card--bronze .top-user-card__trophy{
  background:#a76a31;
}

.top-user-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:4px;
  padding:12px 14px 13px;
  min-width:0;
}

.top-user-card__name-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}

.top-user-card__name{
  margin:0;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  color:#111827;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.top-user-card__verified{
  flex:0 0 auto;
  align-self:flex-start;
  border-radius:999px;
  padding:4px 8px;
  background:#e8f7ee;
  color:#177245;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.top-user-card__type{
  color:#5b677a;
  font-size:11px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.top-users-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.top-user-row{
  display:grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  color:inherit;
  font-weight:700;
  text-decoration:none;
}

.top-user-row:hover{
  border-color:#c8d7ef;
  box-shadow:0 10px 24px rgba(10, 26, 56, 0.08);
  text-decoration:none;
}

.top-user-rank{
  min-width:38px;
  color:#555;
  font-weight:900;
}

.top-user-avatar{
  width:44px;
  height:44px;
  overflow:hidden;
  border-radius:50%;
  background:#f1f4f8;
  border:1px solid var(--border);
}

.top-user-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.top-user-main{
  min-width:0;
}

.top-user-username{
  color:#666;
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.top-user-type{
  color:#333;
  font-weight:400;
}

.top-user-stat{
  text-align:right;
  font-weight:900;
}

@media (max-width:640px){
  .top-users-grid{
    grid-template-columns:1fr;
  }

  .top-user-card__image{
    min-height:150px;
  }

  .top-user-row{
    grid-template-columns:auto minmax(0, 1fr) auto;
  }

  .top-user-avatar{
    display:none;
  }

  .top-user-stat-label{
    grid-column:2;
    font-size:13px;
  }

  .top-user-stat{
    grid-column:3;
  }
}

@media (min-width:641px) and (max-width:1024px){
  .top-users-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width:1025px){
  .top-users-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.messages-wrap{
  width:100%;
  max-width:800px;
  margin:0 auto;
  box-sizing:border-box;
}

.messages-card{
  width:100%;
  box-sizing:border-box;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
}

.messages-header{
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.messages-title{
  margin:0;
  font-size:25px;
  font-weight:900;
}

.messages-new{
  text-decoration:none;
  background:#fff;
  color:#111;
  border:1px solid var(--border);
  padding:8px 12px;
  border-radius:10px;
  font-weight:800;
  font-size:12px;
}

.messages-new--primary{
  background:#000;
  color:#fff;
  border-color:#000;
}

.messages-new--primary:hover{
  background:#111;
  color:#fff;
}

.messages-search-form{
  position:relative;
  flex:1 1 auto;
  min-width:0;
}

.messages-search-icon{
  position:absolute;
  top:50%;
  left:13px;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:#64748b;
  pointer-events:none;
}

.messages-search-svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.messages-search-input{
  width:100%;
  height:40px;
  border:1px solid #dbe3ef;
  border-radius:999px;
  background:#fff;
  color:#111827;
  padding:0 14px 0 40px;
  font-size:14px;
  font-weight:600;
  outline:none;
  box-shadow:0 10px 24px rgba(15, 23, 42, 0.04);
}

.messages-search-input::placeholder{
  color:#94a3b8;
  font-weight:600;
}

.messages-search-input:focus{
  border-color:#b9cae2;
  box-shadow:0 0 0 3px rgba(37, 99, 235, 0.08);
}

.messages-compose-button{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border:1px solid #dbe3ef;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111827;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(15, 23, 42, 0.06);
  transition:background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.messages-compose-button:hover,
.messages-compose-button:focus-visible{
  color:#111827;
  background:#f8fafc;
  border-color:#b9cae2;
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(15, 23, 42, 0.1);
  outline:none;
}

.messages-compose-icon{
  width:19px;
  height:19px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.group-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.group-search-form{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:14px;
}

.group-label{
  font-weight:800;
  font-size:13px;
}

.group-input{
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
}

.group-btn{
  margin-top:6px;
  background:#111;
  color:#fff;
  border:none;
  border-radius:10px;
  height:40px;
  font-weight:800;
  cursor:pointer;
}

.group-btn-inline{
  margin-top:0;
  min-width:84px;
}

.group-error{
  color:#b00020;
  font-weight:700;
  font-size:12px;
  line-height:1.4;
}

.message-recipient-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.message-recipient{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}

.message-recipient-form{
  margin:0;
}

.message-check{
  margin-left:auto;
  width:22px;
  height:22px;
}

.messages-compose-page .app-shell{
  position:relative;
}

.messages-compose-overlay{
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 24px;
  background:rgba(15, 23, 42, 0.18);
  backdrop-filter:blur(2px);
  overflow:auto;
}

.messages-compose-modal{
  width:min(560px, calc(100vw - 48px));
  max-height:min(640px, calc(100dvh - 64px));
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(148, 163, 184, 0.18);
  border-radius:24px;
  box-shadow:0 18px 46px rgba(15, 23, 42, 0.16);
  overflow:hidden;
}

.messages-compose-modal .group-form{
  flex:1;
  min-height:0;
  padding:18px 22px 22px;
  overflow:hidden;
}

.messages-compose-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:14px 58px 14px 20px;
  border-bottom:1px solid rgba(15, 23, 42, 0.08);
}

.messages-compose-close{
  position:absolute;
  top:13px;
  right:14px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  text-decoration:none;
  background:#f3f4f6;
  color:#111827;
  font-size:24px;
  font-weight:700;
  line-height:1;
}

.messages-compose-close:hover{
  background:#e5e7eb;
}

.messages-compose-search-row{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(15, 23, 42, 0.08);
}

.messages-compose-to-label{
  flex:0 0 auto;
  padding-top:10px;
  font-size:14px;
  font-weight:800;
  color:#111827;
}

.messages-compose-recipient-field{
  flex:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  min-width:0;
  min-height:46px;
}

.messages-compose-chip-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.messages-compose-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  padding:7px 11px;
  border-radius:999px;
  background:#eef2ff;
  color:#1f2937;
  font-size:12px;
  font-weight:600;
}

.messages-compose-chip-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.messages-compose-chip-remove{
  border:none;
  background:transparent;
  color:#475569;
  font-size:16px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  padding:0;
}

.messages-compose-search-input{
  flex:1 1 180px;
  min-width:120px;
  border:none;
  border-radius:0;
  padding:8px 0;
  box-shadow:none;
}

.messages-compose-search-input:focus{
  outline:none;
}

.messages-compose-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:2px;
}

.messages-compose-results-label{
  font-size:13px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#64748b;
}

.messages-compose-recipient-list{
  min-height:0;
  max-height:272px;
  flex:1 1 auto;
  overflow:auto;
  margin-top:4px;
  padding-right:4px;
}

.messages-compose-recipient-list .message-recipient{
  min-height:62px;
  padding:10px 12px;
  border-radius:16px;
  min-width:0;
}

.messages-compose-recipient-list .message-meta{
  min-width:0;
  padding-right:10px;
}

.messages-compose-recipient-list .message-name{
  font-size:16px;
  font-weight:900;
}

.messages-compose-recipient-list .message-sub{
  margin-top:2px;
  font-size:12px;
  font-weight:500;
  color:#64748b;
}

.messages-compose-submit[disabled]{
  opacity:0.42;
  cursor:not-allowed;
}

.messages-compose-footer{
  display:flex;
  justify-content:center;
  padding-top:10px;
}

.messages-compose-submit{
  width:100%;
  max-width:520px;
  min-height:46px;
  margin:0 auto;
  border-radius:999px;
}

@media (max-width: 767px){
  .messages-compose-overlay{
    align-items:flex-start;
    padding:18px 14px calc(18px + env(safe-area-inset-bottom));
  }

  .messages-compose-modal{
    width:100%;
    max-height:calc(100dvh - 36px - env(safe-area-inset-bottom));
    border-radius:22px;
  }

  .messages-compose-header{
    min-height:64px;
    padding:16px 58px 16px 18px;
  }

  .messages-compose-modal .group-form{
    padding:18px 18px 20px;
  }

  .messages-compose-search-row{
    gap:10px;
  }

  .messages-compose-to-label{
    padding-top:10px;
  }

  .messages-compose-recipient-list{
    max-height:none;
  }
}

@media (max-width: 479px){
  .messages-compose-overlay{
    padding:10px 8px calc(10px + env(safe-area-inset-bottom));
  }

  .messages-compose-modal{
    border-radius:18px;
    max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));
  }

  .messages-compose-header{
    min-height:58px;
    padding:12px 52px 12px 16px;
  }

  .messages-compose-close{
    top:12px;
    right:12px;
  }

  .messages-compose-modal .group-form{
    padding:14px;
  }

  .messages-compose-search-row{
    align-items:stretch;
    flex-direction:column;
    gap:6px;
  }

  .messages-compose-to-label{
    padding-top:0;
  }

  .messages-compose-recipient-field{
    width:100%;
    padding:8px 0 0;
  }

  .messages-compose-search-input{
    flex-basis:100%;
    min-width:0;
  }
}

.messages-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.messages-list-row{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  color:#111;
}

.messages-list-row.is-unread{
  border-color:#cbd5e1;
  background:#f8fbff;
}

.message-avatar{
  width:42px;
  height:42px;
  border-radius:999px;
  background:#e5e5e5;
  overflow:hidden;
  flex:0 0 auto;
}

.message-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.message-avatar span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:900;
  color:#374151;
}

.message-meta,
.messages-row-body{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.messages-row-top,
.messages-row-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.messages-row-top{
  margin-bottom:2px;
}

.messages-row-time{
  flex:0 0 auto;
  color:#6b7280;
  font-size:12px;
  font-weight:700;
}

.message-name{
  font-weight:900;
  min-width:0;
  color:#111827;
  font-size:15px;
  line-height:1.18;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.message-sub{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:#64748b;
  font-size:12px;
  font-weight:500;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.messages-preview{
  min-width:0;
  color:#374151;
  font-size:13px;
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.message-unread-badge{
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
}

.messages-empty-state{
  padding:36px 20px;
  border:1px dashed #d1d5db;
  border-radius:18px;
  background:#fff;
  text-align:center;
}

.messages-empty-state h3{
  margin:0 0 8px;
  font-size:25px;
  font-weight:900;
  color:#111827;
}

.messages-empty-state p{
  margin:0 0 14px;
  color:#6b7280;
  font-size:14px;
  font-weight:600;
}

@media (max-width: 767px){
  .messages-wrap{
    max-width:100%;
    padding-inline:12px;
  }

  .messages-card{
    padding:12px;
    border-radius:18px;
  }

  .messages-header{
    gap:8px;
  }

  .messages-search-input{
    height:44px;
    font-size:14px;
    font-weight:600;
  }

  .messages-compose-button{
    width:44px;
    height:44px;
  }

  .messages-list-row{
    align-items:flex-start;
    padding:10px;
    gap:10px;
  }

  .message-avatar{
    width:40px;
    height:40px;
  }

  .message-name{
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  .message-sub{
    white-space:normal;
    flex-wrap:wrap;
  }

  .messages-empty-state{
    padding:28px 14px;
  }
}

@media (max-width: 479px){
  .messages-wrap{
    padding-inline:8px;
  }

  .messages-card{
    padding:10px;
  }

  .messages-list-row{
    border-radius:13px;
  }
}

.thread-wrap,
.message-thread-shell{
  width:100%;
  max-width:760px;
  margin:0 auto;
  box-sizing:border-box;
}

.thread-header-card{
  width:100%;
  box-sizing:border-box;
  margin-bottom:12px;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15, 23, 42, 0.06);
}

.thread-header-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.thread-header-back{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:50%;
  border:1px solid #d1d5db;
  background:#fff;
  color:#111827;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.thread-header-back:hover{
  background:#f9fafb;
  border-color:#9ca3af;
  transform:translateX(-1px);
}

.thread-header-back svg{
  width:16px;
  height:16px;
  display:block;
}

.thread-header-avatar{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #111827, #374151);
  color:#fff;
  font-size:20px;
  font-weight:900;
}

.thread-header-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.thread-avatar-stack{
  min-width:74px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  padding-left:6px;
}

.thread-avatar-stack-item,
.thread-avatar-stack-more{
  width:42px;
  height:42px;
  margin-left:-6px;
  border:2px solid #fff;
  border-radius:999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #111827, #374151);
  color:#fff;
  font-size:14px;
  font-weight:900;
  box-shadow:0 4px 10px rgba(15, 23, 42, 0.12);
}

.thread-avatar-stack-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.thread-avatar-stack-more{
  background:#f1f5f9;
  color:#0f172a;
  font-size:12px;
}

.thread-header-meta{
  min-width:0;
  flex:1;
}

.message-thread-header-name{
  margin:0;
  font-size:28px;
  line-height:1.15;
  font-weight:800;
  color:#111827;
}

.thread-header-avatar--link,
.message-thread-header-name-link{
  color:inherit;
  text-decoration:none;
}

.thread-header-avatar--link:hover,
.message-thread-header-name-link:hover{
  text-decoration:none;
}

.message-thread-header-type{
  margin:3px 0 0;
  font-size:11px;
  line-height:1.05;
  color:#6b7280;
  font-weight:600;
}

.thread-profile-username{
  display:inline-flex;
  margin-top:3px;
  text-decoration:none;
  color:#2563eb;
  font-size:13px;
  font-weight:800;
}

.thread-profile-username:hover{
  text-decoration:none;
}

.thread-participant-summary{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:0;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  scrollbar-width:none;
}

.thread-participant-summary::-webkit-scrollbar{
  display:none;
}

.thread-participant-card{
  min-width:0;
  max-width:180px;
  flex:0 1 180px;
  display:flex;
  align-items:center;
  gap:8px;
  color:inherit;
  text-decoration:none;
}

.thread-participant-link:hover{
  text-decoration:none;
}

.thread-participant-avatar,
.thread-member-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:999px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef2f7;
  color:#111827;
  font-size:12px;
  font-weight:900;
}

.thread-participant-avatar img,
.thread-member-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.thread-participant-copy,
.thread-member-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.thread-participant-copy span,
.thread-participant-copy small,
.thread-member-copy span,
.thread-member-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.thread-participant-copy span,
.thread-member-copy span{
  color:#111827;
  font-size:14px;
  font-weight:700;
}

.thread-participant-copy small,
.thread-member-copy small{
  color:#64748b;
  font-size:11px;
  font-weight:500;
}

.thread-participant-overflow{
  width:auto;
  min-width:30px;
  height:30px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dbe3ef;
  border-radius:999px;
  padding:0 8px;
  background:#fff;
  color:#475569;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  list-style:none;
  line-height:1;
  white-space:nowrap;
}

.thread-participants-popup{
  position:relative;
  min-width:0;
}

.thread-participants-popup summary::-webkit-details-marker{
  display:none;
}

.thread-participants-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:55;
  width:min(360px, 84vw);
  max-height:min(460px, 72vh);
  box-sizing:border-box;
  overflow:auto;
  padding:14px;
  border:1px solid #dbe3ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 45px rgba(15, 23, 42, 0.18);
}

.thread-participants-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.thread-participants-panel-header h3{
  margin:0;
  color:#111827;
  font-size:14px;
  font-weight:900;
}

.thread-participants-close{
  width:30px;
  height:30px;
  border:1px solid #dbe3ef;
  border-radius:999px;
  background:#fff;
  color:#111827;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

.thread-participants-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.thread-participants-row{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:8px;
  border:1px solid #edf2f7;
  border-radius:14px;
  background:#f8fafc;
}

.thread-member-menu{
  position:relative;
  flex:0 0 auto;
}

.thread-member-menu-button{
  width:40px;
  height:40px;
  border:1px solid #dbe3ef;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111827;
  background:#fff;
  cursor:pointer;
  list-style:none;
  box-shadow:0 6px 16px rgba(15, 23, 42, 0.08);
}

.thread-member-menu-button::-webkit-details-marker{
  display:none;
}

.thread-member-menu-button svg{
  width:20px;
  height:20px;
  display:block;
}

.thread-member-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:50;
  width:min(420px, 86vw);
  max-height:min(620px, 76vh);
  box-sizing:border-box;
  overflow:auto;
  padding:16px;
  border:1px solid #dbe3ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 45px rgba(15, 23, 42, 0.18);
}

.thread-member-panel-section + .thread-member-panel-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #edf2f7;
}

.thread-member-panel h3{
  margin:0 0 10px;
  color:#111827;
  font-size:13px;
  font-weight:900;
}

.thread-member-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.thread-member-row{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px;
  border:1px solid #edf2f7;
  border-radius:14px;
  background:#f8fafc;
}

.thread-member-copy{
  min-width:0;
  flex:1;
}

.thread-member-action{
  flex:0 0 auto;
}

.thread-member-action button,
.thread-member-search button{
  border:0;
  border-radius:999px;
  background:#111827;
  color:#fff;
  padding:7px 11px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.thread-member-action button[aria-label^="Remove"]{
  background:#f1f5f9;
  color:#334155;
}

.thread-member-search{
  display:flex;
  gap:8px;
  margin-bottom:10px;
}

.thread-member-search input{
  flex:1;
  min-width:0;
  height:38px;
  border:1px solid #dbe3ef;
  border-radius:999px;
  padding:0 13px;
  font-size:13px;
  color:#111827;
}

.thread-member-empty{
  margin:0;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

.thread-form-errors{
  margin-bottom:12px;
  padding:12px 14px;
  border:1px solid #fecaca;
  border-radius:16px;
  background:#fef2f2;
  color:#b91c1c;
  font-size:13px;
  font-weight:700;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.thread-form-errors[hidden]{
  display:none !important;
}

.thread-messages-panel{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e5e7eb;
  border-radius:24px;
  background:#fff;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:360px;
  max-height:min(66vh, 720px);
  overflow-y:auto;
  box-shadow:0 12px 28px rgba(15, 23, 42, 0.06);
}

.thread-messages-panel .message-row{
  display:flex;
  width:100%;
}

.thread-messages-panel .message-row.sent{
  justify-content:flex-end;
}

.thread-messages-panel .message-row.received{
  justify-content:flex-start;
}

.message-text-line{
  display:flex;
  align-items:flex-end;
  gap:8px;
  max-width:100%;
}

.message-text-line--outgoing{
  justify-content:flex-end;
}

.message-sender-avatar{
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#e5e7eb;
  color:#111827;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 2px 8px rgba(15, 23, 42, 0.08);
}

.message-sender-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.message-stack{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  max-width:68%;
}

.message-row.sent .message-stack{
  align-items:flex-end;
}

.message-row.received .message-stack{
  align-items:flex-start;
}

.message-row.received .message-text-line + .message-bubble--shared-content{
  margin-left:40px;
}

.message-sender{
  padding:0 4px;
  font-size:12px;
  line-height:1.2;
  color:#6b7280;
  font-weight:800;
}

.message-bubble{
  max-width:100%;
  padding:12px 14px;
  border-radius:18px;
  word-break:break-word;
  overflow-wrap:anywhere;
}

.message-bubble-text{
  display:block;
  font-size:15px;
  line-height:1.45;
}

.incoming-message .message-bubble-text,
.outgoing-message .message-bubble-text{
  font-size:15px;
}

.message-bubble a{
  color:inherit;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:2px;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.message-row.sent .message-bubble{
  background:#111827;
  color:#fff;
}

.message-row.received .message-bubble{
  background:#f3f4f6;
  color:#111827;
}

.message-row.sent .message-bubble--text{
  background:#ffffff;
  color:#111827;
  border:1px solid #e5e7eb;
  box-shadow:0 4px 12px rgba(15, 23, 42, 0.04);
}

.message-row.received .message-bubble--text{
  background:#f1f3f5;
  color:#111827;
  border:1px solid #e5e7eb;
}

.message-bubble--deleted{
  font-size:15px;
  line-height:1.45;
  font-style:italic;
  opacity:0.85;
}

.message-bubble--shared{
  padding:10px;
}

.message-bubble--story-reply{
  width:min(100%, 360px);
}

.message-media-card{
  width:min(100%, 360px);
  max-width:360px;
  box-sizing:border-box;
  overflow:hidden;
  border-radius:20px;
  border:none;
  padding:0;
  background:#e5e7eb;
  box-shadow:0 6px 18px rgba(15, 23, 42, 0.08);
}

.message-media-card img,
.message-media-card video{
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:contain;
  display:block;
  background:#000;
}

.message-media-card--image{
  cursor:pointer;
}

.message-media-card--video{
  position:relative;
}

.message-time{
  padding:0 4px;
  font-size:12px;
  line-height:1.2;
  color:#9ca3af;
  font-weight:700;
}

.thread-empty-state{
  margin:auto;
  text-align:center;
  color:#6b7280;
}

.thread-empty-state h3{
  margin:0 0 8px;
  color:#111827;
  font-size:25px;
  font-weight:900;
}

.thread-empty-state p{
  margin:0;
  font-size:14px;
  font-weight:600;
}

.message-shared-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  max-width:100%;
  text-decoration:none;
  color:inherit;
}

.message-shared-card-image{
  width:64px;
  height:64px;
  flex:0 0 64px;
  border-radius:14px;
  overflow:hidden;
  background:rgba(255, 255, 255, 0.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:900;
}

.message-shared-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.message-row.received .message-shared-card-image{
  background:#d1d5db;
}

.message-story-reply-card-image{
  width:54px;
  height:72px;
  flex-basis:54px;
  border-radius:12px;
}

.message-bubble--shared-content{
  width:240px;
  min-width:240px;
  max-width:240px;
  padding:0;
  background:transparent !important;
  color:#fff;
}

.message-shared-content-card,
.message-shared-content-card:hover,
.message-shared-content-card:focus-visible{
  color:#fff;
  text-decoration:none !important;
}

.message-shared-content-card{
  position:relative;
  display:block;
  width:240px;
  height:300px;
  max-width:100%;
  overflow:hidden;
  border-radius:18px;
  background:#111827;
  box-shadow:0 10px 24px rgba(15, 23, 42, 0.18);
}

.message-shared-content-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(135deg, rgba(0,0,0,0.74) 0%, rgba(0,0,0,0.46) 34%, rgba(0,0,0,0) 62%),
    linear-gradient(315deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.28) 26%, rgba(0,0,0,0) 52%);
  pointer-events:none;
}

.message-shared-content-card:focus-visible{
  outline:3px solid rgba(37, 99, 235, 0.35);
  outline-offset:3px;
}

.message-shared-content-card__image{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111827;
  color:rgba(255,255,255,0.86);
  font-size:42px;
  font-weight:900;
}

.message-shared-content-card__image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

.message-shared-content-card__owner{
  position:absolute;
  z-index:2;
  top:12px;
  left:12px;
  right:44px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:2px;
  text-shadow:0 1px 8px rgba(0,0,0,0.55);
}

.message-shared-content-card__owner-name,
.message-shared-content-card__owner-type{
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-box-orient:vertical;
}

.message-shared-content-card__owner-name{
  -webkit-line-clamp:2;
  font-size:16px;
  line-height:1.14;
  font-weight:900;
  color:#fff;
}

.message-shared-content-card__owner-type{
  -webkit-line-clamp:1;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  color:rgba(255,255,255,0.84);
}

.message-shared-content-card__type-badge{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  max-width:calc(100% - 20px);
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,0.66);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,0.24);
}

.message-shared-content-card--state{
  padding:18px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
  background:#f3f4f6;
  color:#111827;
  box-shadow:none;
  border:1px solid #e5e7eb;
}

.message-shared-content-card--state::before{
  display:none;
}

.message-shared-content-card__state-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  background:linear-gradient(135deg, #d1d5db, #e5e7eb);
}

.message-shared-content-card__state-title{
  color:#111827;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
}

.message-shared-content-card__state-message{
  color:#6b7280;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
}

.message-bubble--document-access{
  display:grid;
  width:min(100%, 420px);
  gap:0;
  padding:0;
  background:transparent !important;
  color:#111827;
}

.message-document-access-card{
  width:100%;
  min-width:0;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  color:#111827;
  box-shadow:0 8px 22px rgba(15, 23, 42, 0.08);
  box-sizing:border-box;
  display:flex;
  align-items:flex-start;
  gap:14px;
  text-decoration:none !important;
  cursor:pointer;
}

.message-document-access-icon{
  width:60px;
  height:60px;
  flex:0 0 60px;
  border-radius:16px;
  background:#111827;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  letter-spacing:0.02em;
  font-size:14px;
  font-weight:900;
  line-height:1;
}

.message-document-access-copy{
  min-width:0;
  flex:1;
  display:grid;
  gap:4px;
}

.message-document-access-label{
  color:#6b7280;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.message-document-access-title{
  color:#111827;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  word-break:break-word;
}

.message-document-access-meta,
.message-document-access-person{
  color:#6b7280;
  font-size:13px;
  line-height:1.3;
  font-weight:600;
}

.message-document-access-open{
  width:max-content;
  min-height:34px;
  margin-top:8px;
  padding:0 14px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:800;
  line-height:1;
}

.message-bubble--document-access a,
.message-bubble--document-access a:hover,
.message-bubble--document-access a:focus-visible{
  color:inherit;
  text-decoration:none !important;
}

.message-document-access-card:hover,
.message-document-access-card:focus-visible{
  border-color:#cbd5e1;
  box-shadow:0 12px 26px rgba(15, 23, 42, 0.12);
}

.message-document-access-card:focus-visible{
  outline:3px solid rgba(17, 24, 39, 0.16);
  outline-offset:2px;
}

.message-shared-card-body{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.message-shared-card-label{
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.message-shared-card-title{
  font-size:15px;
  line-height:1.2;
  font-weight:900;
}

.message-shared-card-subtitle,
.message-shared-card-meta{
  font-size:12px;
  line-height:1.3;
  font-weight:700;
}

.message-row.sent .message-shared-card-label,
.message-row.sent .message-shared-card-subtitle,
.message-row.sent .message-shared-card-meta{
  color:rgba(255, 255, 255, 0.76);
}

.message-row.received .message-shared-card-label,
.message-row.received .message-shared-card-subtitle,
.message-row.received .message-shared-card-meta{
  color:#6b7280;
}

.message-shared-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.message-shared-card-actions form{
  margin:0;
}

.message-access-request-status{
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#e5e7eb;
  color:#374151;
  font-size:12px;
  font-weight:800;
}

.message-shared-card-btn{
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid transparent;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.message-row.sent .message-shared-card-btn{
  background:#fff;
  color:#111827;
}

.message-row.sent .message-shared-card-btn-secondary{
  background:transparent;
  color:#fff;
  border-color:rgba(255, 255, 255, 0.28);
}

.message-row.received .message-shared-card-btn{
  background:#111827;
  color:#fff;
}

.message-row.received .message-shared-card-btn-secondary{
  background:#fff;
  color:#111827;
  border-color:#d1d5db;
}

.message-shared-card-private{
  font-size:12px;
  font-weight:800;
  color:#6b7280;
}

.thread-composer{
  width:100%;
  box-sizing:border-box;
  margin-top:14px;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15, 23, 42, 0.06);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.thread-media-preview{
  margin-bottom:2px;
}

.thread-media-preview-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#f8fafc;
}

.thread-media-preview-remove{
  position:absolute;
  top:10px;
  right:10px;
  width:32px;
  height:32px;
  border:none;
  border-radius:999px;
  background:rgba(17, 24, 39, 0.72);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.thread-media-preview-body{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:#111827;
}

.thread-media-preview-body img,
.thread-media-preview-video{
  width:100%;
  height:auto;
  max-height:280px;
  object-fit:contain;
  display:block;
  background:#000;
}

.thread-media-preview-video-shell{
  position:relative;
}

.thread-media-preview-play{
  position:absolute;
  inset:50% auto auto 50%;
  width:64px;
  height:64px;
  border:none;
  border-radius:999px;
  transform:translate(-50%, -50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(15, 23, 42, 0.62);
  color:#fff;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(15, 23, 42, 0.28);
}

.thread-media-preview-play svg{
  width:28px;
  height:28px;
  display:block;
}

.thread-media-preview-play.is-hidden{
  display:none;
}

.thread-media-preview-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  color:#475569;
  font-size:12px;
  font-weight:700;
}

.thread-media-preview-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.message-send-spinner{
  width:12px;
  height:12px;
  display:inline-block;
  border:2px solid rgba(148, 163, 184, 0.3);
  border-top-color:#475569;
  border-radius:999px;
  animation:message-send-spin 0.8s linear infinite;
  vertical-align:-2px;
  margin-right:6px;
}

@keyframes message-send-spin{
  to{
    transform:rotate(360deg);
  }
}

.message-row.is-pending{
  opacity:0.92;
}

.thread-lightbox{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15, 23, 42, 0.78);
}

.thread-lightbox[hidden]{
  display:none;
}

.thread-lightbox-close{
  position:absolute;
  top:18px;
  right:18px;
  width:40px;
  height:40px;
  border:none;
  border-radius:999px;
  background:rgba(255, 255, 255, 0.14);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.thread-lightbox-stage{
  max-width:min(960px, 100%);
  max-height:min(86vh, 100%);
  display:flex;
  align-items:center;
  justify-content:center;
}

.thread-lightbox-image,
.thread-lightbox-video{
  max-width:100%;
  max-height:86vh;
  display:block;
  border-radius:20px;
  background:#000;
}

body.thread-lightbox-open{
  overflow:hidden;
}

.thread-share-preview{
  padding:10px 12px;
  border-radius:14px;
  background:#f3f4f6;
  color:#111827;
  font-size:13px;
  font-weight:700;
}

.thread-share-preview-card{
  margin-bottom:14px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.thread-share-preview-card span{
  color:#6b7280;
}

.thread-composer-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.thread-tool{
  min-height:38px;
  padding:8px 12px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  color:#111827;
  font-size:13px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  transition:background-color 0.2s ease, border-color 0.2s ease;
}

.thread-tool:hover{
  background:#f9fafb;
  border-color:#d1d5db;
}

.thread-file-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.thread-tool-icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#6b7280;
}

.thread-tool-icon svg,
.thread-send svg{
  width:16px;
  height:16px;
  display:block;
}

.thread-composer-input-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:56px;
  padding:6px 8px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#f9fafb;
}

.thread-attachment-button{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111827;
  cursor:pointer;
  transition:background-color 0.18s ease, color 0.18s ease;
}

.thread-attachment-button:hover{
  background:#eef2f7;
}

.thread-attachment-button svg{
  width:20px;
  height:20px;
  display:block;
}

.thread-compose-input{
  flex:1;
  min-width:0;
  height:42px;
  border:none;
  border-radius:0;
  background:transparent;
  padding:0 6px;
  font-size:15px;
  color:#111827;
}

.thread-compose-input:focus{
  outline:none;
}

.thread-send{
  height:42px;
  padding:0 18px;
  border-radius:999px;
  border:none;
  background:#111827;
  color:#fff;
  font-weight:800;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
}

@media (max-width: 768px){
  .message-thread-shell{
    max-width:100%;
    padding-inline:12px;
    box-sizing:border-box;
  }

  .thread-header-card,
  .thread-messages-panel,
  .thread-composer{
    border-radius:20px;
  }

  .thread-header-main{
    align-items:center;
    gap:8px;
    min-width:0;
  }

  .thread-header-meta{
    min-width:0;
    overflow:hidden;
  }

  .thread-participant-summary{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    max-width:100%;
    padding-bottom:2px;
  }

  .thread-participant-card{
    flex:0 0 min(148px, 48vw);
    max-width:min(148px, 48vw);
  }

  .thread-participants-panel{
    position:fixed;
    top:96px;
    left:12px;
    right:12px;
    width:auto;
    max-height:calc(100dvh - 120px);
  }

  .thread-member-panel{
    position:fixed;
    top:96px;
    left:12px;
    right:12px;
    width:auto;
    max-height:calc(100dvh - 120px);
  }

  .thread-member-search{
    flex-direction:column;
  }

  .thread-member-search button{
    width:100%;
  }

  .thread-header-back{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .message-stack{
    max-width:min(88%, calc(100vw - 58px));
  }

  .message-sender-avatar{
    width:30px;
    height:30px;
    flex-basis:30px;
  }

  .message-row.received .message-text-line + .message-bubble--shared-content{
    margin-left:38px;
  }

  .message-media-card{
    width:min(100%, 78vw);
    max-width:78vw;
  }

  .message-bubble--shared-content{
    width:min(72vw, 240px);
    min-width:0;
    max-width:240px;
  }

  .message-shared-content-card{
    width:100%;
    height:300px;
  }

  .message-bubble--document-access{
    width:100%;
  }

  .message-document-access-card{
    gap:12px;
    padding:12px;
  }

  .message-document-access-icon{
    width:54px;
    height:54px;
    flex-basis:54px;
    border-radius:14px;
    font-size:13px;
  }

  .message-media-card img,
  .message-media-card video{
    max-height:260px;
  }

  .thread-composer-input-row{
    min-height:52px;
    padding:5px 6px;
    gap:6px;
  }

  .thread-attachment-button{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .thread-compose-input{
    height:40px;
  }

  .thread-send{
    height:40px;
    padding:0 14px;
  }

  .thread-media-preview-body img,
  .thread-media-preview-video{
    max-height:220px;
  }

  .thread-lightbox{
    padding:16px;
  }
}

@media (max-width: 640px){
  .message-thread-header-name{
    font-size:22px;
  }
}

@media (max-width: 479px){
  .message-thread-shell{
    padding-inline:8px;
  }

  .thread-header-card,
  .thread-messages-panel,
  .thread-composer{
    border-radius:18px;
  }

  .thread-header-card{
    padding:10px;
  }

  .thread-header-back{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .thread-member-menu-button{
    width:38px;
    height:38px;
  }

  .thread-participants-panel,
  .thread-member-panel{
    top:84px;
    left:8px;
    right:8px;
    max-height:calc(100dvh - 104px);
    padding:12px;
    border-radius:18px;
  }

  .thread-member-row,
  .thread-participants-row{
    padding:8px;
  }

  .thread-member-action button,
  .thread-member-search button{
    padding-inline:10px;
  }

  .thread-messages-panel{
    padding:12px;
    min-height:320px;
    max-height:min(62vh, 640px);
  }

  .message-stack{
    max-width:min(92%, calc(100vw - 44px));
  }

  .message-row.received .message-text-line + .message-bubble--shared-content{
    margin-left:0;
  }

  .message-media-card{
    width:min(100%, 84vw);
    max-width:84vw;
  }

  .message-bubble{
    padding:10px 12px;
  }

  .message-bubble-text{
    font-size:14px;
  }

  .thread-composer{
    padding:10px;
    border-radius:18px;
  }

  .thread-composer-input-row{
    min-height:48px;
  }

  .thread-attachment-button{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .thread-compose-input{
    height:38px;
    font-size:14px;
  }

  .thread-send{
    width:40px;
    min-width:40px;
    padding:0;
    justify-content:center;
  }

  .thread-send span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }
}

/* Users (More -> Users / Add Users) */
.users-page{
  display:flex;
  justify-content:center;
  padding:24px 16px;
}

body.select-user-page .users-page{
  padding-top:12px;
}

body.select-user-page.no-sidebar .main.page-shell{
  padding:24px;
}

body.select-user-page .mobile-bottom-nav{
  display:none !important;
}

.users-card{
  width:100%;
  max-width:720px;
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 22px rgba(15, 23, 42, .05);
}

.users-card--grouped{
  max-width:880px;
}

.users-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.users-back{
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid #eee;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#111;
  font-weight:800;
}

.users-title{
  margin:0;
  font-size:25px;
  font-weight:800;
  color:#111;
}

.users-subtitle{
  margin:4px 0 0;
  color:#667085;
  font-size:14px;
  line-height:1.35;
}

.users-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.users-row{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid #eee;
  border-radius:16px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.users-row:hover,
.users-row:focus-visible,
.users-category-row:hover,
.users-category-row:focus-visible,
.users-category-card:hover,
.users-category-card:focus-visible{
  border-color:#cbd5e1;
  box-shadow:0 10px 28px rgba(15, 23, 42, .08);
  outline:none;
}

.users-section{
  margin-top:18px;
}

.users-section__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.users-section__title{
  margin:0;
  color:#101828;
  font-size:16px;
  line-height:1.2;
  font-weight:900;
}

.users-section__count{
  min-width:28px;
  height:28px;
  padding:0 9px;
  border-radius:999px;
  background:#eef2f7;
  color:#344054;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
}

.users-category-grid{
  margin-top:10px;
  display:grid;
  gap:10px;
}

.users-category-grid--boxes{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  align-items:stretch;
}

.users-category-sections{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:14px;
}

.users-category-section{
  min-width:0;
}

.users-category-section__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.users-category-section__title{
  margin:0;
  color:#344054;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.users-category-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid #eee;
  border-radius:16px;
  background:#fff;
  color:#101828;
  text-decoration:none;
}

.users-category-card{
  position:relative;
  min-width:0;
  min-height:112px;
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  align-items:center;
  gap:12px;
  padding:14px 42px 14px 14px;
  border:1px solid #eee;
  border-radius:16px;
  background:#fff;
  color:#101828;
  text-decoration:none;
}

.add-user-role-form{
  min-width:0;
  height:100%;
  margin:0;
}

.add-user-card .users-category-grid--boxes{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.add-user-profile-categories-title{
  font-size:19px;
}

.add-user-role-card{
  width:100%;
  height:100%;
  appearance:none;
  cursor:pointer;
  font:inherit;
  text-align:left;
}

.add-user-role-title-lines{
  display:flex;
  flex-direction:column;
  gap:0;
}

.add-user-role-title-lines span{
  display:block;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
}

.add-user-role-card.is-disabled,
.add-user-role-card:disabled{
  cursor:not-allowed;
  opacity:.58;
  background:#fcfcfd;
}

.add-user-role-card.is-disabled:hover,
.add-user-role-card.is-disabled:focus-visible,
.add-user-role-card:disabled:hover,
.add-user-role-card:disabled:focus-visible{
  border-color:#eee;
  box-shadow:none;
}

.add-user-under13-note{
  margin:10px 0 0;
  padding:10px 12px;
  border:1px solid #fecaca;
  border-radius:14px;
  background:#fff5f5;
  color:#b42318;
  font-size:13px;
  line-height:1.4;
  font-weight:800;
}

.users-category-card.is-active{
  border-color:#111827;
  box-shadow:0 0 0 2px rgba(17, 24, 39, .08);
}

.users-category-card__media{
  width:44px;
  height:44px;
  border-radius:13px;
  background:#f8fafc;
  color:#101828;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.users-category-card__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.users-category-card__svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.users-category-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  justify-content:center;
}

.users-category-copy strong{
  font-size:17px;
  line-height:1.15;
  font-weight:900;
}

.users-category-card .users-category-copy strong{
  font-size:17px;
}

.users-category-card[data-category-key="parent_guardian"] .users-category-copy strong{
  white-space:nowrap;
}

.users-category-copy span{
  color:#667085;
  font-size:13px;
  font-weight:700;
}

.users-category-card[data-category-key="parent_guardian"] .users-category-copy strong.add-user-role-title-lines{
  white-space:normal;
}

.users-category-copy .add-user-role-title-lines span{
  color:#101828;
  font-size:17px;
  font-weight:900;
  line-height:1.15;
}

.users-category-helper{
  line-height:1.35;
}

.users-category-count{
  color:#101828 !important;
  font-size:15px !important;
  font-weight:900 !important;
}

.users-category-card .users-chevron{
  position:absolute;
  top:50%;
  right:14px;
  transform:translateY(-50%);
}

.users-profile-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.users-status-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 16px;
}

.users-status-filter{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:8px 13px;
  border:1px solid #e1e5ec;
  border-radius:999px;
  background:#fff;
  color:#344054;
  text-decoration:none;
  font-size:14px;
  line-height:1;
  font-weight:800;
}

.users-status-filter strong{
  color:inherit;
  font-size:13px;
  line-height:1;
  font-weight:900;
}

.users-status-filter.is-active{
  border-color:#111827;
  background:#111827;
  color:#fff;
}

.users-profile-card-wrap{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.users-profile-card-form{
  min-width:0;
}

.users-profile-card{
  min-height:96px;
  height:100%;
}

.users-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  overflow:hidden;
  background:#f2f2f2;
  flex:0 0 auto;
}

.users-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.users-meta{
  flex:1;
  min-width:0;
}

.users-create-inline{
  margin-top:2px;
  padding-left:12px;
}

.users-create-inline .users-create-row{
  justify-content:flex-start;
  gap:12px;
}

.users-create-inline .users-create-text{
  font-size:16px;
  font-weight:700;
}

.users-create-inline .users-create-icon{
  width:36px;
  height:36px;
  font-size:20px;
}

.users-card .users-name{
  font-size:22px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  color:#111;
}

.users-type{
  font-size:13px;
  color:#666;
  font-weight:400;
}

.users-status-badge,
.users-current-label,
.users-connection-badge{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.users-status-badge{
  background:#eff6ff;
  color:#1d4ed8;
}

.users-current-label{
  background:#111;
  color:#fff;
}

.users-connection-badge{
  background:#ecfdf3;
  color:#027a48;
}

.users-connection-badge--inactive{
  background:#f2f4f7;
  color:#667085;
}

.users-card-action-form{
  margin:0;
  display:flex;
  justify-content:flex-end;
}

.users-card-action-btn{
  appearance:none;
  border:1px solid #d0d5dd;
  border-radius:999px;
  background:#fff;
  color:#101828;
  padding:8px 12px;
  font:inherit;
  font-size:13px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
}

.users-card-action-btn:hover,
.users-card-action-btn:focus-visible{
  border-color:#111827;
  box-shadow:0 8px 20px rgba(15, 23, 42, .08);
  outline:none;
}

.users-active-dot{
  width:22px;
  height:22px;
  border-radius:50%;
  border:2px solid #cfd7e3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  margin-right:8px;
}

.users-active-dot.is-active{
  background:#111;
  border-color:#111;
}

.users-chevron{
  color:#999;
  font-size:18px;
}

.users-add-wrap{
  display:flex;
  justify-content:center;
  margin-top:18px;
}

.users-active{
  margin-left:auto;
  margin-right:8px;
  background:#d81f26;
  color:#fff;
  font-weight:800;
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
}

.users-add-btn{
  display:block;
  width:min(560px, 100%);
  margin:24px auto 0;
  padding:14px 16px;
  border:none;
  border-radius:14px;
  background:#d62828;
  color:#fff;
  font-weight:800;
  font-size:16px;
  cursor:pointer;
}

.users-create-row{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#111;
  font-weight:800;
}

.users-create-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#eee;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
}

.users-create-text{
  font-size:16px;
}

.users-limit{
  margin-top:12px;
  color:#b00020;
  font-weight:800;
}

.users-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.users-label{
  font-size:13px;
  font-weight:700;
  color:#444;
}

.users-input{
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:10px;
  font-size:14px;
}

.users-errors{
  padding:10px 12px;
  border:1px solid #f2c6c6;
  background:#fff1f1;
  color:#b00020;
  border-radius:12px;
  margin-bottom:10px;
  font-size:13px;
}

.users-empty{
  padding:14px 16px;
  border:1px dashed #d0d5dd;
  border-radius:16px;
  color:#667085;
  font-size:14px;
  font-weight:700;
  background:#fcfcfd;
}

@media (max-width: 760px){
  .users-page{
    padding:18px 12px calc(24px + env(safe-area-inset-bottom, 0px));
  }

  body.select-user-page.no-sidebar .main.page-shell{
    padding-top:10px;
  }

  body.select-user-page .users-page{
    padding-top:8px;
  }

  .users-card{
    border-radius:16px;
    padding:14px;
  }

  .add-user-card .users-category-grid--boxes{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .users-category-grid--boxes,
  .users-profile-grid{
    grid-template-columns:1fr;
  }

  .users-category-card{
    min-height:104px;
    grid-template-columns:42px minmax(0, 1fr);
    padding:12px 38px 12px 12px;
    aspect-ratio:auto;
  }

  .users-category-card__media{
    width:42px;
    height:42px;
  }

  .users-profile-card{
    min-height:88px;
  }

  .users-card .users-name{
    font-size:19px !important;
  }

  .users-current-label,
  .users-status-badge{
    display:none;
  }

  .users-card-action-form{
    justify-content:flex-start;
  }
}

@media (max-width: 640px){
  .add-user-card .users-category-grid--boxes{
    grid-template-columns:1fr;
  }
}

/* Tag Review */
.tag-review-page{
  max-width:920px;
  margin:30px auto 48px;
  padding:0 28px 32px;
}

.tag-review-card{
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  padding:0;
}

.tag-review-intro{
  margin:0 0 16px;
  color:#666;
  font-weight:700;
}

.tag-review-row{
  display:flex;
  gap:14px;
  align-items:center;
  border:1px solid #e7e7e7;
  border-radius:12px;
  padding:12px;
  background:#fff;
}

.tag-review-empty{
  padding:14px 16px;
  border:1px dashed #d0d5dd;
  border-radius:16px;
  background:#fff;
  color:#666;
  font-weight:700;
}

@media (max-width: 760px){
  .tag-review-page{
    margin:22px auto 34px;
    padding:0 14px calc(96px + env(safe-area-inset-bottom, 0px));
  }

  .tag-review-row{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ===== Settings Row Component (Edit Profile + More) ===== */
.ms-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-decoration:none;
  background:#fff;
  border:1px solid #ededed;
  border-radius:12px;
  padding:14px 16px;
  color:#111;
  gap:12px;
}

.ms-row:hover{ background:#fafafa; }

.ms-row__left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.ms-row__icon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
  opacity:.95;
  flex:0 0 22px;
}

.ms-row__label{
  font-weight:800;
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ms-row__chev{
  font-size:22px;
  opacity:.35;
  line-height:1;
  margin-left:auto;
}

.mention{
  color:#0056b3;
  font-weight:700;
  text-decoration:none;
}

.mention:hover{
  text-decoration:underline;
}

/* =========================
   FULL PAGE ADD/EDIT LAYOUT
========================= */

.ms-form-page{
  min-height: 100vh;
  width: 100%;
  max-width: 100%;
  background: #f4f4f4;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 28px var(--ms-center-column-gutter);
}

.ms-form-card{
  width: min(var(--ms-profile-content-card-max), 100%);
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 18px 60px rgba(0,0,0,.12);
  overflow: hidden;
}

.ms-form-topbar{
  padding: 24px 28px 18px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.ms-form-title{
  margin: 0;
  min-width: 0;
  flex: 1 1 auto;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 800;
  color: #111827;
  text-align: left;
}

.ms-form-close{
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(0,0,0,.06);
  display: grid;
  place-items: center;
  text-decoration: none;
  color: #111;
  font-size: 20px;
  line-height: 1;
}

.ms-form-close:hover,
.ms-form-close:focus-visible{
  background: rgba(0,0,0,.12);
}

.ms-form-body{
  padding: 24px 28px 30px;
}

.ms-form-card.ms-center-column-card,
.profile-form-card.ms-center-column-card,
.ms-module-card.ms-center-column-card{
  width:min(var(--ms-center-column-card-max), 100%);
}

.profile-add-edit-main{
  width:100%;
  max-width:900px;
  margin:0 auto;
}

.ms-form-page.profile-add-edit-page{
  min-height:auto;
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:0;
  background:transparent;
}

.ms-form-page .profile-add-edit-card.ms-form-card{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(15, 23, 42, 0.10);
}

.profile-add-edit-card-header.ms-form-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:22px 24px;
  border-bottom:1px solid rgba(15, 23, 42, 0.08);
}

.profile-add-edit-card-title.ms-form-title{
  font-size:28px;
  font-weight:800;
  line-height:1.1;
}

.profile-add-edit-card-body.ms-form-body{
  padding:24px;
}

@media (max-width: 768px){
  .profile-add-edit-main{
    max-width:100%;
  }

  .ms-form-page .profile-add-edit-card.ms-form-card{
    max-width:100% !important;
    border-radius:0;
  }

  .profile-add-edit-card-body.ms-form-body{
    padding:18px 16px;
  }

  .profile-add-edit-card-title.ms-form-title{
    font-size:24px;
  }
}

.ms-module-page{
  width:100%;
}

.ms-module-card{
  width:100%;
  padding:22px;
}

.ms-module-header{
  margin-bottom:18px;
}

.ms-module-body{
  display:grid;
  gap:16px;
}

.ms-black-btn{
  width: 100%;
  border: none;
  background: #000;
  color: #fff;
  padding: 14px 16px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 640px){
  .ms-form-topbar{
    padding: 20px 20px 16px;
    gap: 12px;
  }

  .ms-form-title{
    font-size: 25px;
  }

  .ms-form-close{
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  .ms-form-body{
    padding: 20px;
  }
}

/* =========================
   UNIVERSAL CONTENT META ROW
========================= */

.content-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.content-meta-row__left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}

.content-meta-row__time{
  font-size:12px;
  color:#6b7280;
  font-weight:700;
  white-space:nowrap;
}

.content-meta-row__edited{
  font-size:11px;
  color:#6b7280;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:2px 8px;
  line-height:1.2;
  white-space:nowrap;
}

.content-meta-row__menu{
  border: none;
  background: #f3f4f6;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

/* =========================
   MOBILE NAVIGATION SHELL
========================= */

.mobile-bottom-nav,
.mobile-profile-drawer-overlay{
  display:none;
}

body.mobile-drawer-open{
  overflow:hidden;
}

@media (max-width: 991px){
  :root{
    --profile-page-header-height: 68px;
  }

  html,
  body,
  .app-body{
    overflow-x:hidden;
  }

  .sidebar{
    display:none !important;
  }

  .app-shell{
    display:block;
    min-height:auto;
    height:auto;
    overflow:visible;
    max-width:100%;
  }

  .main{
    height:auto;
    overflow:visible;
    padding:calc(12px + env(safe-area-inset-top, 0px)) 12px calc(94px + env(safe-area-inset-bottom, 0px)) !important;
    max-width:100%;
    min-width:0;
  }

  body.no-sidebar .main{
    padding:calc(12px + env(safe-area-inset-top, 0px)) 12px calc(94px + env(safe-area-inset-bottom, 0px)) !important;
    max-width:100%;
    min-width:0;
  }

  body.add-edit-layout .main{
    padding-bottom:calc(112px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.add-edit-layout .app-shell-header-menu{
    display:none !important;
  }

  body.profile-page .main{
    padding-top:0 !important;
  }

  body.edit-profile-shell.has-profile-compact-header .main.page-shell{
    padding-top:calc(var(--profile-compact-header-height, 68px) + 22px) !important;
  }

  body.no-profile-sidebar.has-profile-compact-header .main.page-shell,
  body.profile-form-page.has-profile-compact-header .main.page-shell{
    padding-top:calc(var(--profile-compact-header-height, 68px) + 32px) !important;
  }

  body.profile-page .main,
  body.profile-page.no-sidebar .main,
  body.profile-page .main.page-shell,
  body.profile-page.no-sidebar .main.page-shell,
  body.profile-page .site-shell.page-shell,
  body.profile-page.no-sidebar .site-shell.page-shell{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .main-grid{
    display:block !important;
    grid-template-columns:minmax(0, 1fr) !important;
    gap:0;
  }

  .main-inner,
  .main-inner-default{
    width:100%;
    max-width:100% !important;
    min-width:0;
    margin:0;
  }

  .right-rail{
    display:none !important;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:10020;
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:0;
    background:rgba(255,255,255,0.98);
    backdrop-filter:blur(16px);
    border-top:1px solid rgba(15,23,42,0.08);
    box-shadow:0 -14px 28px rgba(15,23,42,0.08);
    padding:6px 6px calc(8px + env(safe-area-inset-bottom, 0px));
    isolation:isolate;
  }

  .mobile-bottom-nav-item{
    position:relative;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    color:#4b5563;
    text-decoration:none;
    text-align:center;
    min-height:60px;
    padding:6px 1px 4px;
    border-radius:12px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-bottom-nav-item--button{
    width:100%;
    border:none;
    background:none;
    font:inherit;
    cursor:pointer;
  }

  .mobile-bottom-nav-item > *{
    pointer-events:none;
  }

  .mobile-bottom-nav-icon-wrap{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .mobile-bottom-nav-item::before{
    content:"";
    position:absolute;
    top:-6px;
    left:18%;
    right:18%;
    height:3px;
    border-radius:999px;
    background:transparent;
  }

  .mobile-bottom-nav-svg{
    width:19px;
    height:19px;
    flex:none;
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-bottom-nav .profile-nav-item{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .mobile-bottom-nav .profile-nav-avatar{
    width:24px;
    height:24px;
    border-radius:999px;
    object-fit:cover;
    display:block;
    border:1px solid rgba(15,23,42,0.16);
  }

  .mobile-bottom-nav-badge{
    top:-8px;
    right:-12px;
    min-width:18px;
    height:18px;
    padding:0 4px;
    font-size:11px;
    line-height:18px;
  }

  .mobile-bottom-nav-label{
    display:block;
    min-height:20px;
    font-size:9px;
    font-weight:700;
    line-height:1.1;
    white-space:nowrap;
    max-width:100%;
  }

  .mobile-bottom-nav-item.is-active{
    color:#111827;
    background:#f4f6f8;
  }

  .mobile-bottom-nav-item.is-open{
    color:#111827;
    background:#f4f6f8;
  }

  .mobile-bottom-nav-item.is-active::before{
    background:#111827;
  }

  .mobile-bottom-nav-item.is-open::before{
    background:#111827;
  }

  .mobile-bottom-nav-item.is-active .mobile-bottom-nav-label{
    font-weight:800;
  }

  .mobile-bottom-nav-item.is-open .mobile-bottom-nav-label{
    font-weight:800;
  }

  .mobile-bottom-nav-item.has-notifications:not(.is-active):not(.is-open){
    color:#1f2937;
  }

  .mobile-bottom-nav-item.has-notifications .mobile-bottom-nav-icon-wrap{
    transform:translateY(-1px);
  }

  .mobile-profile-drawer-overlay{
    position:fixed;
    inset:0;
    z-index:10040;
    display:block;
  }

  .mobile-profile-drawer-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,0.44);
    opacity:0;
    transition:opacity 0.22s ease;
  }

  .mobile-profile-drawer-panel{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:min(86vw, 360px);
    background:#fff;
    box-shadow:-18px 0 48px rgba(15,23,42,0.18);
    transform:translateX(100%);
    transition:transform 0.22s ease;
    overflow:auto;
    overscroll-behavior:contain;
    padding:calc(12px + env(safe-area-inset-top, 0px)) 18px calc(20px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-profile-drawer-overlay.is-open .mobile-profile-drawer-backdrop{
    opacity:1;
  }

  .mobile-profile-drawer-overlay.is-open .mobile-profile-drawer-panel{
    transform:translateX(0);
  }

  .mobile-profile-drawer-head{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin-bottom:8px;
  }

  .mobile-profile-drawer-close{
    width:36px;
    height:36px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,0.1);
    background:#f8fafc;
    color:#111827;
    font-size:22px;
    line-height:1;
    cursor:pointer;
  }

  .mobile-profile-drawer-profile{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:4px 0 20px;
    margin-bottom:18px;
    border-bottom:1px solid #edf2f7;
  }

  .mobile-profile-drawer-avatar{
    width:68px;
    height:68px;
    border-radius:999px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#111827;
    color:#fff;
    font-size:26px;
    font-weight:800;
  }

  .mobile-profile-drawer-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .mobile-profile-drawer-copy{
    display:flex;
    flex-direction:column;
    gap:4px;
  }

  .mobile-profile-drawer-name{
    margin:0;
    font-size:24px;
    font-weight:900;
    line-height:1.08;
    color:#111827;
  }

  .mobile-profile-drawer-username{
    font-size:14px;
    font-weight:600;
    color:#6b7280;
  }

  .mobile-profile-drawer-user-type{
    font-size:13px;
    font-weight:700;
    color:#111827;
  }

  .mobile-profile-drawer-stats{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
  }

  .mobile-profile-drawer-stat{
    display:flex;
    align-items:baseline;
    gap:6px;
    color:#4b5563;
    font-size:13px;
  }

  .mobile-profile-drawer-stat strong{
    font-size:15px;
    font-weight:800;
    color:#111827;
  }

  .mobile-profile-drawer-nav{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .mobile-profile-drawer-nav-group{
    display:flex;
    flex-direction:column;
    gap:4px;
  }

  .mobile-profile-drawer-nav-group--primary{
    padding-bottom:12px;
    border-bottom:1px solid #edf2f7;
  }

  .mobile-profile-drawer-link{
    display:flex;
    align-items:center;
    gap:14px;
    padding:13px 14px;
    border-radius:16px;
    text-decoration:none;
    color:#111827;
    font-size:16px;
    font-weight:700;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-profile-drawer-link.is-active{
    background:#f3f4f6;
  }

  .mobile-profile-drawer-svg{
    width:20px;
    height:20px;
    flex:none;
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .app-shell-header-inner{
    gap:12px;
    padding:10px 12px;
    min-height:70px;
  }

  .profile-page-shell-header-inner{
    min-height:var(--profile-page-header-height);
    padding:10px 12px;
    gap:12px;
  }

  .profile-page-shell-leading{
    gap:10px;
  }

  .profile-page-shell-menu{
    display:none;
  }

  .profile-page-shell-leading{
    gap:0;
  }

  .profile-page-shell-copy{
    display:none;
  }

  .profile-page-shell-avatar{
    width:38px;
    height:38px;
  }

  .profile-page-shell-menu,
  .profile-page-shell-action{
    width:38px;
    height:38px;
  }

  .profile-page-shell-brand-logo,
  .app-shell-header-brand-logo{
    width:112px;
  }

  .app-shell-header-brand--with-title{
    gap:8px;
  }

  .app-shell-header-brand--with-title .app-shell-header-brand-logo{
    width:88px;
  }

  .app-shell-header-brand--with-title .app-shell-header-title{
    max-width:38vw;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:18px;
  }

  .app-shell-profile-name{
    display:none;
  }

  .app-shell-profile-user-type{
    display:none;
  }

  .app-shell-profile-avatar{
    width:38px;
    height:38px;
  }

  .app-shell-header-action{
    width:44px;
    height:44px;
  }

  .app-shell-header-action--desktop-only{
    display:none;
  }
}

@media (min-width: 992px){
  .desktop-only{
    display:block;
  }

  .app-shell-header-action--mobile-only{
    display:none;
  }

  .desktop-side-nav{
    display:flex;
  }

  .desktop-nav{
    display:none;
  }

  .mobile-only,
  .mobile-bottom-nav,
  .mobile-profile-drawer-overlay{
    display:none !important;
  }

  body{
    padding-bottom:0;
  }

  .profile-top-header{
    display:none !important;
  }

  body.profile-page .site-header.desktop-nav{
    display:none !important;
  }

  body.profile-page .desktop-side-nav{
    display:flex !important;
  }

  body.profile-page.profile-subpage-shell .desktop-side-nav{
    top:var(--profile-compact-header-height);
    height:calc(100vh - var(--profile-compact-header-height));
    background:transparent;
    box-shadow:none;
    border-right:none;
  }

  body.has-profile-compact-header .desktop-side-nav{
    top:var(--profile-compact-header-height);
    height:calc(100vh - var(--profile-compact-header-height));
  }

  body.profile-page.profile-subpage-shell .desktop-left-menu-nav,
  body.profile-page.profile-subpage-shell .desktop-left-menu-profile{
    background:transparent;
  }

  body.profile-page.profile-subpage-shell .desktop-left-menu-link:hover,
  body.profile-page.profile-subpage-shell .desktop-left-menu-link:focus-within{
    background:rgba(15, 23, 42, 0.06);
    border-radius:14px;
  }

  body.profile-page .main.page-shell,
  body.profile-page .site-shell.page-shell{
    padding-top:0;
    padding-left:calc(var(--desktop-side-nav-width) + 24px);
    padding-right:24px;
    min-height:100vh;
  }

  body.profile-page.profile-home-shell .main.page-shell,
  body.profile-page.profile-home-shell .site-shell.page-shell{
    padding-top:0;
  }

  body.standard-page .site-header.desktop-nav{
    display:none !important;
  }

  body.standard-page .desktop-side-nav{
    display:flex !important;
  }

  body.standard-page .main.page-shell{
    padding-left:calc(var(--desktop-side-nav-width) + 24px);
    padding-right:24px;
    padding-top:24px;
    min-height:100vh;
  }

  body.standard-page .site-shell.page-shell{
    margin-left:var(--desktop-side-nav-width);
    padding:24px;
    min-height:100vh;
  }

  body.standard-page.no-sidebar .main.page-shell{
    padding-left:24px;
  }

  body.standard-page.edit-profile-shell .main.page-shell{
    padding-left:calc(var(--desktop-side-nav-width) + 24px);
    padding-right:24px;
    padding-top:24px;
  }

  body.standard-page.edit-profile-shell.no-sidebar .main.page-shell,
  body.standard-page.no-profile-sidebar .main.page-shell,
  body.standard-page.profile-form-page .main.page-shell{
    padding-left:24px;
    padding-right:24px;
  }

  body.standard-page.no-profile-sidebar.has-profile-compact-header .main.page-shell,
  body.standard-page.profile-form-page.has-profile-compact-header .main.page-shell{
    padding-top:calc(var(--profile-compact-header-height, 68px) + 40px) !important;
  }

  body.standard-page.edit-profile-shell.has-profile-compact-header .main.page-shell{
    padding-top:calc(var(--profile-compact-header-height, 68px) + 28px);
  }

  body.standard-page.utility-layout--settings.has-profile-compact-header .main.page-shell{
    padding-top:calc(var(--profile-compact-header-height, 68px) + 28px);
  }

  body.standard-page.add-edit-layout:not(.no-sidebar) .main.page-shell{
    padding-left:calc(var(--desktop-side-nav-width) + var(--desktop-side-nav-inset));
    padding-right:24px;
    padding-top:calc(var(--profile-compact-header-height, 68px) + 28px);
  }

  body.standard-page.add-edit-layout.no-sidebar .main.page-shell{
    padding-left:24px;
    padding-right:24px;
  }

  body.standard-page .ms-form-page.profile-add-edit-page{
    padding:0;
  }

  body.standard-page.no-sidebar .site-shell.page-shell{
    margin-left:0;
    padding-left:24px;
  }

  body.standard-page .ms-form-page{
    padding:28px var(--ms-center-column-gutter);
  }

  .desktop-side-nav .leftnav-footer{
    margin-top:auto;
  }

  .desktop-left-menu-nav{
    gap:10px;
    padding:0;
  }

  .desktop-left-menu-link{
    padding:0;
    font-size:0;
  }

  body.ms-landing-body .desktop-side-nav{
    display:flex !important;
  }

  body.ms-landing-body .ms-landing-page,
  body.ms-landing-body .ms-landing-footer{
    margin-left:var(--desktop-side-nav-width);
  }
}

/* Desktop icon rail: keep the icon rail unframed across app/profile pages. */
.desktop-side-nav,
body.profile-page .desktop-side-nav,
body.profile-page.profile-subpage-shell .desktop-side-nav,
body.standard-page .desktop-side-nav{
  background:transparent !important;
  border-right:0 !important;
  box-shadow:none !important;
}

.desktop-left-menu-nav,
.desktop-left-menu-profile{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.desktop-left-menu-link,
.desktop-left-menu-button{
  width:56px;
  height:56px;
  border-radius:16px;
  background:transparent;
  border:0;
}

.desktop-left-menu-icon{
  width:30px;
  height:30px;
  stroke-width:2.15;
}

.desktop-left-menu-avatar{
  width:38px;
  height:38px;
}

.desktop-left-menu-link:hover,
.desktop-left-menu-link:focus-within{
  background:rgba(15, 23, 42, 0.06);
}

@media (max-width: 640px){
  body.edit-profile-shell.has-profile-compact-header .main.page-shell{
    padding-top:calc(var(--profile-compact-header-height, 68px) + 22px) !important;
  }

  body.utility-layout--settings.has-profile-compact-header .main.page-shell{
    padding-top:calc(var(--profile-compact-header-height, 68px) + 22px) !important;
  }
}

@media (max-width: 380px){
  .main,
  body.no-sidebar .main{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .mobile-bottom-nav{
    padding-left:4px;
    padding-right:4px;
  }

  .mobile-bottom-nav-item{
    min-height:60px;
    gap:4px;
  }

  .mobile-bottom-nav-svg{
    width:18px;
    height:18px;
  }

  .mobile-bottom-nav-label{
    font-size:9px;
  }

  .mobile-profile-drawer-panel{
    width:min(90vw, 340px);
  }
}

@media (max-width: 991px){
  .profile-view-footer-inner{
    padding-left:16px;
    padding-right:16px;
  }

  .profile-view-footer-copy{
    font-size:13px;
  }

  .profile-view-footer-links li a{
    font-size:13px;
  }

  .leftnav-footer{
    padding-left:0;
    padding-right:0;
  }
}

/* =========================================================
   LAUNCH RESPONSIVE FOUNDATION
   Mobile: <=640px, tablet: 641px-1024px, desktop: >=1025px.
========================================================= */

html,
body,
.app-shell,
.main,
.main-grid,
.main-inner,
.main-inner-default,
.page-shell,
.profile-page,
.profile-body-card,
.ms-module,
.detail-page-shell,
.detail-page-card{
  max-width:100%;
  min-width:0;
}

img,
video,
iframe,
canvas{
  max-width:100%;
}

img,
video{
  height:auto;
}

.filter-pill-row,
.highlight-filter-pills,
.timeline-tabs,
.timeline-filter-row,
.media-view-tabs,
.search-tabs,
.events-tabs,
.invite-tabs,
.category-tabs,
.privacy-chip-row,
.profile-story-strip{
  display:flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.filter-pill-row::-webkit-scrollbar,
.highlight-filter-pills::-webkit-scrollbar,
.timeline-tabs::-webkit-scrollbar,
.timeline-filter-row::-webkit-scrollbar,
.media-view-tabs::-webkit-scrollbar,
.search-tabs::-webkit-scrollbar,
.events-tabs::-webkit-scrollbar,
.invite-tabs::-webkit-scrollbar,
.category-tabs::-webkit-scrollbar,
.privacy-chip-row::-webkit-scrollbar,
.profile-story-strip::-webkit-scrollbar{
  display:none;
}

.responsive-table-wrap,
.sports-schedule-table-wrap,
.schedule-board__table-wrap,
.stats-page__table-wrap,
.box-score-glossary__table-wrap,
.ath-progression-table-wrap,
.events-data-table-wrap,
.ads-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.responsive-table-wrap > table,
.sports-schedule-table-wrap > table,
.schedule-board__table-wrap > table,
.stats-page__table-wrap > table,
.box-score-glossary__table-wrap > table,
.ath-progression-table-wrap > table,
.events-data-table-wrap > table,
.ads-table-wrap > table{
  min-width:640px;
}

.button-row,
.action-row,
.owner-actions,
.detail-action-menu,
.connected-actions,
.detail-connected-links,
.events-actions,
.events-inline-actions,
.events-page-actions,
.media-page-actions,
.profile-section-actions,
.ms-universal-post-actions,
.form-actions,
.module-form-actions,
.module-filter-actions,
.ath-top-bar-actions,
.ath-inline-actions,
.ath-media-card-actions,
.timeline-right-rail__actions,
.timeline-feed-card__ad-actions{
  max-width:100%;
  min-width:0;
}

.button-row .btn,
.action-row .btn,
.owner-actions .btn,
.detail-action-menu .btn,
.connected-actions .btn,
.detail-connected-links .btn,
.events-actions .btn,
.events-inline-actions .btn,
.events-page-actions .btn,
.media-page-actions .btn,
.profile-section-actions .btn,
.ms-universal-post-actions .btn,
.form-actions .btn,
.module-form-actions .btn,
.module-filter-actions .btn,
.button-row a,
.action-row a,
.owner-actions a,
.detail-action-menu a,
.connected-actions a,
.detail-connected-links a,
.events-actions a,
.events-inline-actions a,
.events-page-actions a,
.media-page-actions a,
.profile-section-actions a,
.ms-universal-post-actions a,
.form-actions a,
.module-form-actions a,
.module-filter-actions a,
.button-row button,
.action-row button,
.owner-actions button,
.detail-action-menu button,
.connected-actions button,
.detail-connected-links button,
.events-actions button,
.events-inline-actions button,
.events-page-actions button,
.media-page-actions button,
.profile-section-actions button,
.ms-universal-post-actions button,
.form-actions button,
.module-form-actions button,
.module-filter-actions button{
  max-width:100%;
}

.modal,
.dialog,
[role="dialog"],
.confirm-dialog,
.media-schedule-dialog,
.media-move-modal,
.ath-media-modal{
  max-width:calc(100vw - 24px);
}

@media (max-width:640px){
  .main,
  body.standard-page .main.page-shell,
  body.standard-page.no-sidebar .main.page-shell{
    padding-left:12px;
    padding-right:12px;
  }

  .main-grid{
    display:block !important;
    grid-template-columns:minmax(0, 1fr) !important;
  }

  .right-rail{
    display:none !important;
  }

  .detail-page-shell,
  .detail-page-card,
  .profile-body-card,
  .form-page,
  .form-card,
  .profile-form-card{
    width:100%;
    max-width:100%;
  }

  .button-row,
  .action-row,
  .owner-actions,
  .detail-action-menu,
  .connected-actions,
  .detail-connected-links,
  .events-actions,
  .events-inline-actions,
  .events-page-actions,
  .media-page-actions,
  .profile-section-actions,
  .ms-universal-post-actions,
  .form-actions,
  .module-form-actions,
  .module-filter-actions,
  .ath-top-bar-actions,
  .ath-inline-actions,
  .ath-media-card-actions,
  .timeline-right-rail__actions,
  .timeline-feed-card__ad-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .button-row .btn,
  .action-row .btn,
  .connected-actions .btn,
  .detail-connected-links .btn,
  .events-actions .btn,
  .events-inline-actions .btn,
  .events-page-actions .btn,
  .media-page-actions .btn,
  .ms-universal-post-actions .btn,
  .form-actions .btn,
  .module-form-actions .btn,
  .button-row a,
  .action-row a,
  .connected-actions a,
  .detail-connected-links a,
  .events-actions a,
  .events-inline-actions a,
  .events-page-actions a,
  .media-page-actions a,
  .ms-universal-post-actions a,
  .form-actions a,
  .module-form-actions a,
  .button-row button,
  .action-row button,
  .connected-actions button,
  .detail-connected-links button,
  .events-actions button,
  .events-inline-actions button,
  .events-page-actions button,
  .media-page-actions button,
  .ms-universal-post-actions button,
  .form-actions button,
  .module-form-actions button{
    min-height:44px;
  }

  .form-card,
  .profile-form-card{
    border-radius:18px;
  }

  .form-row-2,
  .form-grid,
  .module-form-grid,
  .module-filter-grid,
  .module-filter-grid--two,
  .module-filter-grid--three,
  .media-upload-grid,
  .media-existing-grid,
  .media-meta-grid,
  .media-source-grid,
  .media-tag-visibility-row{
    grid-template-columns:minmax(0, 1fr) !important;
  }

  input,
  select,
  textarea{
    max-width:100%;
  }

  .modal,
  .dialog,
  [role="dialog"],
  .confirm-dialog,
  .media-schedule-dialog,
  .media-move-modal,
  .ath-media-modal{
    width:calc(100% - 24px);
    max-height:calc(100vh - 24px);
    overflow:auto;
  }
}

@media (min-width:641px) and (max-width:1024px){
  .main-grid{
    grid-template-columns:minmax(0, 1fr) !important;
  }

  .right-rail{
    display:none;
  }

  .form-row-2,
  .module-filter-grid--two{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

.verification-help,
.verification-message,
.verification-meta{
  color:#5b6577;
  font-weight:700;
  line-height:1.45;
}

.verification-message{
  margin:12px 0;
}

.verification-message--success{
  color:#166534;
}

.verification-message--warning{
  color:#7a4b00;
}

.verification-status-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:16px 0;
  padding:16px;
  border:1px solid #e5eaf1;
  border-radius:16px;
  background:#fff;
}

.verification-status-label{
  margin:0 0 4px;
  color:#667085;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.verification-status-title{
  color:#0f172a;
  font-size:20px;
  font-weight:900;
}

.verification-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:#eef2f7;
  color:#344054;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}

.verification-status-pill--approved{
  background:#dcfce7;
  color:#166534;
}

.verification-status-pill--pending{
  background:#e0edff;
  color:#1d4ed8;
}

.verification-status-pill--rejected{
  background:#fee2e2;
  color:#991b1b;
}

.verification-checklist{
  display:grid;
  gap:10px;
  margin:16px 0;
  padding:0;
  list-style:none;
}

.verification-checklist__item{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:10px 12px;
  border:1px solid #e5eaf1;
  border-radius:12px;
  color:#344054;
  font-weight:800;
}

.verification-checklist__item.is-complete{
  background:#f0fdf4;
  border-color:#bbf7d0;
  color:#166534;
}

.verification-checklist__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#eef2f7;
  color:#0f172a;
  font-weight:900;
}

.verification-checklist__item.is-complete .verification-checklist__mark{
  background:#16a34a;
  color:#fff;
}

.verification-checklist__item a{
  margin-left:auto;
  color:#1d4ed8;
  font-weight:900;
  text-decoration:none;
}

.verification-form{
  display:grid;
  gap:14px;
  margin-top:16px;
}

.verification-field{
  display:grid;
  gap:7px;
  color:#0f172a;
  font-weight:900;
}

.verification-field small{
  color:#667085;
  font-weight:700;
}

.verification-error,
.verification-form-errors{
  color:#b91c1c;
  font-weight:900;
}

.verification-submit{
  width:100%;
  margin-top:6px;
}

.verification-admin-list{
  display:grid;
  gap:16px;
}

.verification-admin-card{
  border:1px solid #e5eaf1;
  border-radius:16px;
  padding:16px;
  background:#fff;
}

.verification-admin-card header,
.verification-admin-actions{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px;
  align-items:start;
}

.verification-admin-card h3{
  margin:0;
  font-size:20px;
}

.verification-admin-meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:14px 0;
}

.verification-admin-meta div{
  border:1px solid #eef2f7;
  border-radius:12px;
  padding:10px;
}

.verification-admin-meta dt{
  color:#667085;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.verification-admin-meta dd{
  margin:4px 0 0;
  color:#0f172a;
  font-weight:900;
}

.verification-admin-actions{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  margin-top:14px;
  border-top:1px solid #eef2f7;
  padding-top:14px;
}

.verification-admin-actions form,
.verification-admin-actions label{
  display:grid;
  gap:8px;
}

.verification-admin-actions textarea{
  width:100%;
  border:1px solid #d7dee8;
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
}

.verification-admin-actions button{
  min-height:42px;
  border:0;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-weight:900;
}

@media (max-width:640px){
  .verification-status-card,
  .verification-admin-card header{
    align-items:flex-start;
    flex-direction:column;
  }

  .verification-admin-meta,
  .verification-admin-actions{
    grid-template-columns:1fr;
  }
}

/* Athletic Card metrics history */
.profile-page--athletic_card .ath-card-page--history.metrics-history-page{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:30px 38px 34px;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-card-canvas{
  width:100%;
  max-width:100%;
  gap:24px;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
  gap:24px;
  width:100%;
  margin:0;
  padding:2px 2px 4px;
  border:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-title-row{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  gap:14px;
  margin:0;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-back-button{
  flex:0 0 auto;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-title-link{
  min-width:0;
  color:#111827;
  text-decoration:none;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-title-row .ath-card-title{
  margin:0 !important;
  color:#111827;
  font-size:34px;
  font-weight:900;
  line-height:1.08;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-top-bar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
  flex-wrap:nowrap;
  gap:12px;
  margin-left:auto;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-sport-switch-form,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-metric-history-filter-form{
  flex:0 0 220px;
  min-width:0;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-metric-history-filter-form{
  flex-basis:230px;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-sport-switch-form select,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-metric-history-filter-form select{
  width:100%;
  min-height:42px;
  border:1px solid #d7dee8;
  border-radius:12px;
  padding:10px 38px 10px 14px;
  background:#fff;
  color:#111827;
  font-size:14px;
  font-weight:700;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-card{
  width:100%;
  max-width:100%;
  margin:0;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15, 23, 42, 0.08);
  overflow:hidden;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
  color:#111827;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table th,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table td{
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table thead th{
  padding:18px 20px;
  border-bottom:1px solid #e5eaf1;
  background:#f8fafc;
  color:#111827;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table th:first-child,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table td:first-child{
  padding-left:32px;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table tbody tr{
  border-bottom:1px solid #eef2f7;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table tbody tr:nth-child(even){
  background:#fbfdff;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table tbody tr:hover{
  background:#f8fafc;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table tbody tr:last-child{
  border-bottom:0;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table tbody td{
  padding:17px 20px;
  color:#1f2937;
  font-size:14px;
  font-weight:400;
  line-height:1.35;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table tbody td:first-child,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table .ath-metric-history-value-cell,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table .ath-metric-history-value-cell span{
  color:#111827;
  font-weight:800;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table .ath-metric-history-value-cell small{
  margin-left:4px;
  color:#475569;
  font-size:12px;
  font-weight:700;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-table .ath-metric-history-verification-cell{
  color:#1f2937;
  font-weight:400;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:17px 20px;
  text-transform:none;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-proof-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  border:1px solid #d9dee8;
  border-radius:999px;
  background:#ffffff;
  color:#111827;
  font-size:13px;
  font-weight:600;
  line-height:1;
  text-decoration:none;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-proof-button:hover,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-proof-button:focus-visible{
  background:#f8fafc;
  color:#111827;
  border-color:#cbd5e1;
  text-decoration:none;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-action-link{
  color:#111827;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-action-link:hover,
.profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-action-link:focus-visible{
  text-decoration:underline;
}

.profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-history-empty-value{
  color:#94a3b8;
  font-weight:400;
}

@media (max-width:900px){
  .profile-page--athletic_card .ath-card-page--history.metrics-history-page{
    max-width:100%;
    padding:22px 16px 24px;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-card-canvas{
    gap:18px;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-header{
    flex-wrap:wrap;
    gap:14px;
    padding:0;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-title-row{
    flex:1 1 100%;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-top-bar-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
    margin-left:0;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-sport-switch-form,
  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-metric-history-filter-form{
    flex:1 1 220px;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-card{
    border-radius:16px;
  }
}

@media (max-width:640px){
  .profile-page--athletic_card .ath-card-page--history.metrics-history-page{
    padding:18px 14px 22px;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .metrics-history-title-row .ath-card-title{
    font-size:28px;
  }

  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-sport-switch-form,
  .profile-page--athletic_card .ath-card-page--history.metrics-history-page .ath-metric-history-filter-form{
    flex-basis:100%;
  }
}

.ms-repost-menu[hidden],
.ms-repost-quote-modal[hidden] {
  display: none !important;
}

.ms-repost-menu {
  position: fixed;
  z-index: 12000;
  min-width: 178px;
  padding: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
}

.ms-repost-menu__item {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.ms-repost-menu__item:hover,
.ms-repost-menu__item:focus-visible {
  background: #f3f4f6;
  outline: none;
}

.ms-repost-menu__icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #111827;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.ms-repost-menu__svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.ms-repost-quote-modal-open {
  overflow: hidden;
}

.ms-repost-quote-modal {
  position: fixed;
  inset: 0;
  z-index: 12010;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.ms-repost-quote-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
}

.ms-repost-quote-modal__card {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  max-height: min(720px, calc(100vh - 36px));
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
  display: flex;
  flex-direction: column;
}

.ms-repost-quote-modal__header {
  min-height: 58px;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 8px 14px;
  border-bottom: 1px solid #eef2f7;
}

.ms-repost-quote-modal__header h3 {
  grid-column: 2;
  margin: 0;
  color: #111827;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

.ms-repost-quote-modal__close {
  grid-column: 3;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: #000;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}

.ms-repost-quote-modal__form {
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
}

.ms-repost-quote-modal__textarea {
  width: 100%;
  min-height: 112px;
  resize: vertical;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  color: #111827;
  padding: 14px 16px;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  outline: none;
}

.ms-repost-quote-modal__textarea::placeholder {
  color: #9ca3af;
  font-weight: 400;
}

.ms-repost-quote-modal__textarea:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.ms-repost-quote-modal__footer {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding-top: 2px;
}

.ms-repost-quote-modal__cancel,
.ms-repost-quote-modal__submit {
  min-height: 40px;
  border-radius: 999px;
  padding: 0 18px;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.ms-repost-quote-modal__cancel {
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #111827;
}

.ms-repost-quote-modal__submit {
  border: 1px solid #000;
  background: #000;
  color: #fff;
}

.ms-repost-quote-modal__submit:disabled,
.ms-repost-quote-modal__cancel:disabled {
  cursor: default;
  opacity: 0.55;
}

@media (max-width: 520px) {
  .ms-repost-quote-modal {
    align-items: flex-end;
    padding: 0;
  }

  .ms-repost-quote-modal__card {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 24px 24px 0 0;
  }
}
