/* Smatch Design System v2
   Loaded last. UI-only layer: tokens, shared components, and screen-level layouts.
   Business logic stays in app.js. Keep this file reversible. */

:root {
  --smatch-brand-dark-green: #073B31;
  --smatch-brand-green: #128A3A;
  --smatch-brand-mint: #BFEFD8;
  --smatch-brand-mint-soft: #EAFBF1;
  --smatch-brand-lime: #B9F529;
  --smatch-brand-pink: #FF7FA3;
  --smatch-bg-app: #F5F7F6;
  --smatch-bg-card: #FFFFFF;
  --smatch-text-primary: #111817;
  --smatch-text-secondary: #6F7A7D;
  --smatch-border-soft: #E7ECEA;
  --smatch-danger: #D94335;
  --smatch-danger-soft: #FFF1EF;
  --smatch-page-x: 20px;
  --smatch-section-gap: 24px;
  --smatch-card-padding: 18px;
  --smatch-card-gap: 14px;
  --smatch-row-gap: 12px;
  --smatch-bottom-safe: 88px;
  --smatch-radius-card: 24px;
  --smatch-radius-hero: 26px;
  --smatch-radius-button: 18px;
  --smatch-radius-pill: 999px;
  --smatch-radius-sheet: 28px 28px 0 0;
  --smatch-shadow-card: 0 12px 32px rgba(7, 59, 49, 0.08);
  --smatch-shadow-soft: 0 8px 24px rgba(7, 59, 49, 0.06);
  --surface-bg: var(--smatch-bg-app);
  --surface-card: var(--smatch-bg-card);
  --accent-green: var(--smatch-brand-lime);
  --accent-green-dark: var(--smatch-brand-green);
  --border-soft: var(--smatch-border-soft);
  --text-strong: var(--smatch-text-primary);
  --text-muted: var(--smatch-text-secondary);
}

html body.lineoa-theme {
  color: var(--smatch-text-primary) !important;
  background:
    radial-gradient(circle at 82% 2%, rgba(191, 239, 216, .52), transparent 28%),
    linear-gradient(180deg, #fff 0, var(--smatch-bg-app) 260px, var(--smatch-bg-app) 100%) !important;
}

html body.lineoa-theme #dashboard,
html body.lineoa-theme .mobile-shell {
  background: transparent !important;
}

html body.lineoa-theme :where(button, input, select, textarea) {
  font-family: inherit !important;
}

/* AppHeader */
html body.lineoa-theme .top-ribbon.card {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 calc(var(--smatch-page-x) * -1) var(--smatch-section-gap) !important;
  padding: calc(12px + env(safe-area-inset-top, 0px)) var(--smatch-page-x) 12px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(7, 59, 49, .08) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 12px 30px rgba(7, 59, 49, .06) !important;
  backdrop-filter: blur(18px) !important;
}

html body.lineoa-theme .top-ribbon .brand-mini {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  gap: 0 !important;
}

html body.lineoa-theme .top-ribbon .top-brand-logo {
  display: block !important;
  width: min(178px, 42vw) !important;
  height: auto !important;
}

html body.lineoa-theme .top-ribbon .top-brand-avatar {
  order: 3 !important;
  width: 48px !important;
  height: 48px !important;
  margin-left: 8px !important;
  border: 2px solid rgba(77, 218, 165, .34) !important;
  box-shadow: none !important;
}

html body.lineoa-theme .top-ribbon-actions {
  gap: 10px !important;
}

html body.lineoa-theme .top-notify-btn,
html body.lineoa-theme :is(.sheet-close-btn, .sheet-dismiss-btn, .group-match-detail-close, .arena-report-close, .home-match-filter-close, .group-report-picker-back, .notifications-back-btn) {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: var(--smatch-brand-dark-green) !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(.group-match-detail-head, .sheet-header, .home-match-filter-modal-head, .court-filter-modal-head, .court-add-modal-head, .arena-report-head, .report-modal-head, .group-settings-head, .notifications-header) {
  min-height: 62px !important;
  padding: 10px var(--smatch-page-x) !important;
  border-bottom: 1px solid var(--smatch-border-soft) !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(.group-match-detail-head h3, .sheet-title, .home-match-filter-modal-head h3, .court-filter-modal-head h3, .court-add-modal-head h3, .arena-report-head h4, .report-modal-head h3, .group-settings-head h3, .notifications-header h2) {
  margin: 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

/* Page rhythm */
html body.lineoa-theme :is(#matchesTab, #groupsTab, #communityTab, #profileTab).tab-panel.is-active,
html body.lineoa-theme :is(.groups-tab-panel, .community-panel, .profile-dashboard-view, .group-detail-screen) {
  padding-inline: var(--smatch-page-x) !important;
  padding-bottom: calc(var(--smatch-bottom-safe) + env(safe-area-inset-bottom, 0px)) !important;
}

html body.lineoa-theme :is(.home-list-section, .my-matches-section, .community-courts-view, .profile-ref-section, .group-detail-panel-open-inner, .groups-list-section) {
  display: grid !important;
  gap: var(--smatch-card-gap) !important;
}

html body.lineoa-theme :is(.section-kicker, .mini-overline, .group-settings-kicker) {
  color: var(--smatch-brand-green) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

html body.lineoa-theme :is(.home-list-title h3, .my-matches-head h2, .community-courts-head h3, .profile-ref-section-title, .group-open-title, .group-detail-panel-title, .groups-list-header h3) {
  margin: 0 !important;
  color: var(--smatch-brand-green) !important;
  font-size: clamp(1.45rem, 6vw, 1.9rem) !important;
  line-height: 1.14 !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}

/* Core Card */
html body.lineoa-theme :is(.card, .group-detail-card, .groups-hub-card, .groups-list-card, .profile-ranking-card, .profile-stats-card, .group-ranking-list > *, .match-feed-item, .open-match-detail-card, .open-match-detail-players-card, .report-ref-card, .group-settings-card, .court-card) {
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: var(--smatch-bg-card) !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

/* PrimaryActionCard */
html body.lineoa-theme :is(.home-create-match-pill, .groups-create-btn, .community-court-add-btn) {
  min-height: 52px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: var(--smatch-radius-button) !important;
  background: linear-gradient(135deg, var(--smatch-brand-lime), #91df1e) !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 28px rgba(185, 245, 41, .22) !important;
}

/* BottomActionBar */
html body.lineoa-theme :is(.group-match-detail-actions, .qp-step-actions, .home-match-filter-actions, .report-modal-actions, .group-settings-actions, .arena-report-actions) {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 12 !important;
  margin: var(--smatch-section-gap) calc(var(--smatch-page-x) * -1) 0 !important;
  padding: 16px var(--smatch-page-x) calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid var(--smatch-border-soft) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 -12px 30px rgba(7, 59, 49, .06) !important;
  backdrop-filter: blur(18px) !important;
}

html body.lineoa-theme :is(.group-match-detail-actions-row, .qp-step-actions-row, .home-match-filter-actions, .report-modal-actions, .group-settings-actions) {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.55fr) !important;
  gap: 12px !important;
}

html body.lineoa-theme :is(.group-match-detail-edit-btn, .home-match-filter-submit-btn, .report-submit-btn, .primary-btn, .sheet-cta) {
  min-height: 56px !important;
  border: 0 !important;
  border-radius: var(--smatch-radius-button) !important;
  background: var(--smatch-brand-green) !important;
  color: #fff !important;
  font-size: 1.04rem !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 28px rgba(18, 138, 58, .18) !important;
}

html body.lineoa-theme :is(.group-match-detail-share-btn, .home-match-filter-reset-btn, .secondary-btn, .qp-step-back-btn, .court-card-detail-btn) {
  min-height: 56px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-button) !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.02rem !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(.group-match-detail-edit-btn.is-danger, .challenge-join-btn.is-leave, .group-match-detail-cancel-btn) {
  border: 1px solid rgba(217, 67, 53, .26) !important;
  background: var(--smatch-danger-soft) !important;
  color: var(--smatch-danger) !important;
  box-shadow: none !important;
}

/* SegmentedTabs */
html body.lineoa-theme :is(.my-matches-primary-tabs, .profile-view-switch, .community-switch-card, .group-detail-tab-nav, .profile-stat-mode-tabs) {
  min-height: 52px !important;
  padding: 4px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--smatch-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(.my-matches-primary-tabs, .profile-view-switch, .community-switch-card, .group-detail-tab-nav, .profile-stat-mode-tabs) button {
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: #3b4542 !important;
  font-size: .98rem !important;
  font-weight: 850 !important;
}

html body.lineoa-theme :is(.my-matches-primary-tabs, .profile-view-switch, .community-switch-card, .group-detail-tab-nav, .profile-stat-mode-tabs) button.is-active {
  color: var(--smatch-brand-green) !important;
}

html body.lineoa-theme :is(.my-matches-primary-tabs, .profile-view-switch, .community-switch-card, .group-detail-tab-nav, .profile-stat-mode-tabs) button.is-active::after {
  height: 4px !important;
  border-radius: var(--smatch-radius-pill) !important;
  background: var(--smatch-brand-green) !important;
}

/* MatchCardClean */
html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) {
  gap: var(--smatch-card-gap) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-card {
  border: 0 !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-card) !important;
  overflow: hidden !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-main {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 104px !important;
  grid-template-areas:
    "summary status"
    "top status"
    "title avatars"
    "location avatars"
    "tags tags"
    "action action" !important;
  gap: 8px 12px !important;
  min-height: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-main::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: -1 !important;
  height: 126px !important;
  background:
    radial-gradient(circle at 92% 16%, rgba(185, 245, 41, .22), transparent 38%),
    linear-gradient(135deg, rgba(191, 239, 216, .98), rgba(234, 251, 241, .94)) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill-row {
  grid-area: summary !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  max-width: calc(100% - 96px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill,
html body.lineoa-theme .open-match-detail-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: var(--smatch-radius-pill) !important;
  background: rgba(255, 255, 255, .78) !important;
  color: var(--smatch-brand-green) !important;
  font-size: .76rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html body.lineoa-theme :is(.challenge-card-pill, .open-match-detail-pill).is-ranked {
  background: #fff2d7 !important;
  color: #8a5c00 !important;
}

html body.lineoa-theme :is(.challenge-card-pill, .open-match-detail-pill).is-friendly {
  background: #f0eaff !important;
  color: #6c4cc4 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .cmatch-top-row {
  grid-area: top !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-schedule {
  color: var(--smatch-brand-green) !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-top-status {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-count-pill,
html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-host-crown {
  min-height: 32px !important;
  box-shadow: 0 8px 18px rgba(7, 59, 49, .08) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-title {
  grid-area: title !important;
  margin: 28px 0 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: clamp(1.18rem, 5vw, 1.46rem) !important;
  line-height: 1.14 !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-location {
  grid-area: location !important;
  min-width: 0 !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: var(--smatch-text-secondary) !important;
  font-size: .96rem !important;
  font-weight: 650 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .cmatch-meta-row {
  display: contents !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-list {
  grid-area: tags !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 10px !important;
  margin: 12px 0 0 !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(7, 59, 49, .08) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-row {
  display: contents !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-divider {
  display: none !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-item {
  color: var(--smatch-text-secondary) !important;
  font-size: .87rem !important;
  font-weight: 720 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-item .material-symbols-outlined {
  color: var(--smatch-brand-green) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-item.is-court-unbooked .material-symbols-outlined {
  color: var(--smatch-danger) !important;
  line-height: 1 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-avatar-stack {
  grid-area: avatars !important;
  align-self: center !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-slots-left-label {
  margin-top: 5px !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-join-btn {
  grid-area: action !important;
  min-height: 48px !important;
  margin: 12px 0 0 !important;
  border-radius: var(--smatch-radius-button) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
}

/* Match Detail */
html body.lineoa-theme .open-match-detail-main-card,
html body.lineoa-theme .match-detail-main-card {
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-hero) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-card) !important;
}

html body.lineoa-theme .open-match-detail-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  background: #fff !important;
}

html body.lineoa-theme .open-match-detail-cover {
  order: 0 !important;
  width: 100% !important;
  height: clamp(150px, 38vw, 210px) !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

html body.lineoa-theme .open-match-detail-meta-col {
  order: 1 !important;
  display: grid !important;
  gap: 12px !important;
  padding: 18px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(185, 245, 41, .2), transparent 34%),
    linear-gradient(135deg, rgba(191, 239, 216, .98), rgba(234, 251, 241, .96)) !important;
}

html body.lineoa-theme .open-match-detail-pill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

html body.lineoa-theme :is(.open-match-detail-info-row, .match-detail-info-row) {
  min-height: 30px !important;
  margin: 0 !important;
  color: var(--smatch-text-secondary) !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
}

html body.lineoa-theme :is(.open-match-detail-info-row, .match-detail-info-row) strong {
  color: var(--smatch-text-primary) !important;
  font-weight: 900 !important;
}

html body.lineoa-theme :is(.open-match-detail-match-name, .qp-review-match-name) {
  margin: 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: clamp(1.24rem, 4.8vw, 1.55rem) !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .open-match-detail-info-row.is-compact-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 16px !important;
  min-height: 0 !important;
}

html body.lineoa-theme .open-match-detail-mini-meta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--smatch-text-secondary) !important;
  font-weight: 800 !important;
}

html body.lineoa-theme .open-match-detail-mini-meta .material-symbols-outlined {
  color: var(--smatch-brand-green) !important;
  font-size: 1.24rem !important;
  line-height: 1 !important;
}

html body.lineoa-theme .open-match-detail-mini-meta small {
  font-size: .96rem !important;
  line-height: 1.18 !important;
}

html body.lineoa-theme .open-match-detail-player-row {
  align-items: center !important;
  gap: 14px !important;
  overflow-x: auto !important;
  padding-bottom: 2px !important;
}

/* Sheet / Modal surfaces */
html body.lineoa-theme :is(.sheet-card, .group-match-detail-sheet, .arena-report-sheet, .modal-card.home-match-filter-modal-card, .report-modal-card, .court-filter-modal-card, .court-add-modal-card, .group-report-picker-sheet, .notifications-sheet) {
  border-radius: var(--smatch-radius-sheet) !important;
  background: var(--smatch-bg-app) !important;
  box-shadow: 0 -22px 54px rgba(7, 59, 49, .14) !important;
  overflow: hidden !important;
}

html body.lineoa-theme :is(.group-match-detail-content, .qp-step-page, .home-match-filter-fields, .court-filter-fields, .court-add-fields, .arena-report-content, .group-settings-content, .notifications-body) {
  padding: var(--smatch-page-x) !important;
}

/* FormStepIndicator via existing form data state */
html body.lineoa-theme #quickSmatchForm {
  position: relative !important;
  background: var(--smatch-bg-app) !important;
}

html body.lineoa-theme #quickSmatchForm::before {
  content: none !important;
  display: none !important;
}

html body.lineoa-theme .qp-step-indicator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 14px var(--smatch-page-x) 4px !important;
}

html body.lineoa-theme .qp-step-dot {
  display: inline-grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: var(--smatch-radius-pill) !important;
  background: #eef2ef !important;
  color: var(--smatch-text-secondary) !important;
  font-size: .92rem !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .qp-step-line {
  flex: 1 1 40px !important;
  max-width: 72px !important;
  height: 1px !important;
  background: var(--smatch-border-soft) !important;
}

html body.lineoa-theme #quickSmatchForm[data-quick-step="settings"] .qp-step-dot[data-step="settings"],
html body.lineoa-theme #quickSmatchForm[data-quick-step="details"] .qp-step-dot[data-step="details"],
html body.lineoa-theme #quickSmatchForm[data-quick-step="review"] .qp-step-dot[data-step="review"] {
  background: var(--smatch-brand-green) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(18, 138, 58, .22) !important;
}

html body.lineoa-theme #quickSmatchForm[data-quick-step="details"] .qp-step-dot[data-step="settings"],
html body.lineoa-theme #quickSmatchForm[data-quick-step="review"] .qp-step-dot[data-step="settings"],
html body.lineoa-theme #quickSmatchForm[data-quick-step="review"] .qp-step-dot[data-step="details"] {
  background: var(--smatch-brand-mint-soft) !important;
  color: var(--smatch-brand-green) !important;
}

/* ChoiceCard + form layout */
html body.lineoa-theme :is(.qp-settings-card, .qp-detail-card, .home-match-filter-fields > *, .court-filter-fields > *, .court-add-fields > *, .report-ref-card, .group-settings-card) {
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme #quickSmatchForm :is(.qp-setting-row, .qp-detail-row),
html body.lineoa-theme :is(.home-match-filter-select-field, .home-match-filter-group, .group-settings-row) {
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 14px !important;
  min-height: 62px !important;
  padding: 14px 0 !important;
  align-items: center !important;
}

html body.lineoa-theme #quickSmatchForm .qp-title-setting-row {
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

html body.lineoa-theme :is(.qp-setting-label, .qp-row-label, .home-match-filter-select-field > span, .group-settings-row > span) {
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

html body.lineoa-theme :is(.qp-divider, .home-match-filter-divider) {
  margin: 0 !important;
  background: var(--smatch-border-soft) !important;
}

html body.lineoa-theme :is(.post-type-card, .qp-pill, .qp-requirement-pill, .home-match-filter-choice-chip, .group-settings-pill-set button, .court-surface-filter button) {
  min-height: 50px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 17px !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  font-size: .98rem !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(.post-type-card.is-active, .qp-pill.is-active, .qp-requirement-pill.is-active, .home-match-filter-choice-chip.is-active, .group-settings-pill-set button.is-active, .court-surface-filter button.is-active, .court-surface-filter button[aria-selected="true"]) {
  border-color: rgba(18, 138, 58, .28) !important;
  background: var(--smatch-brand-mint-soft) !important;
  color: var(--smatch-brand-green) !important;
}

html body.lineoa-theme .post-type-card {
  min-height: 124px !important;
  padding: 16px !important;
}

html body.lineoa-theme :is(input:not([type="range"]), select, textarea) {
  min-height: 50px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
}

html body.lineoa-theme :is(input:not([type="range"]), select, textarea):focus {
  border-color: rgba(18, 138, 58, .42) !important;
  box-shadow: 0 0 0 4px rgba(191, 239, 216, .58) !important;
}

html body.lineoa-theme .qp-booked-toggle {
  min-height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  align-items: center !important;
}

html body.lineoa-theme .qp-booked-toggle-box {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
}

/* Report Result */
html body.lineoa-theme .arena-report-sheet .report-match-card,
html body.lineoa-theme .match-detail-summary-card {
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-hero) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(185, 245, 41, .2), transparent 34%),
    linear-gradient(135deg, rgba(191, 239, 216, .98), rgba(234, 251, 241, .96)) !important;
  box-shadow: var(--smatch-shadow-card) !important;
}

html body.lineoa-theme .set-score-section {
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .set-score-grid {
  border-radius: 22px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  background: var(--smatch-bg-app) !important;
  padding: 12px !important;
}

html body.lineoa-theme .set-cell {
  min-height: 56px !important;
  border-radius: 16px !important;
  font-size: 1.28rem !important;
  font-weight: 900 !important;
}

/* Group Dashboard */
html body.lineoa-theme .groups-list-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
}

html body.lineoa-theme .groups-create-btn[hidden],
html body.lineoa-theme .groups-create-btn.hidden {
  display: none !important;
}

html body.lineoa-theme .groups-hub-card {
  padding: var(--smatch-card-padding) !important;
}

html body.lineoa-theme .groups-list-card {
  padding: 14px !important;
}

html body.lineoa-theme .group-detail-tab-nav {
  position: static !important;
  top: auto !important;
}

/* Ranking / Stats */
html body.lineoa-theme .profile-stats-card {
  color: #fff !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(185, 245, 41, .2), transparent 36%),
    linear-gradient(135deg, #102016, var(--smatch-brand-dark-green)) !important;
}

html body.lineoa-theme .profile-stat-breakdown span {
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .1) !important;
}

html body.lineoa-theme .profile-ranking-card {
  padding: var(--smatch-card-padding) !important;
}

/* Court list */
html body.lineoa-theme #courtList {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html body.lineoa-theme .court-card {
  overflow: hidden !important;
  border-radius: 22px !important;
}

html body.lineoa-theme .court-card-media {
  aspect-ratio: 1.5 / 1 !important;
  border-radius: 0 !important;
}

html body.lineoa-theme .court-card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

html body.lineoa-theme .court-card-body {
  padding: 12px !important;
}

html body.lineoa-theme .court-card h4 {
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .court-card-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

html body.lineoa-theme .court-card-actions button {
  min-height: 42px !important;
  border-radius: 14px !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .court-search-shell {
  min-height: 54px !important;
  border-radius: 18px !important;
}

/* EmptyState */
html body.lineoa-theme :is(.empty-card, .empty-state, .feed-empty-card, .groups-empty-card, .group-tournament-coming-soon-card) {
  display: grid !important;
  gap: 8px !important;
  padding: 22px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme :is(.empty-card h3, .empty-state h3, .feed-empty-card strong, .group-tournament-coming-soon-card strong) {
  color: var(--smatch-text-primary) !important;
  font-size: 1.14rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

html body.lineoa-theme :is(.empty-card p, .empty-state p, .feed-empty-card p, .group-tournament-coming-soon-card p) {
  color: var(--smatch-text-secondary) !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
}

/* =========================================================
   Structural Redesign Pass
   Goal: make legacy screens feel like one task per surface.
   ========================================================= */

html body.lineoa-theme :is(
  .smatch-sheet:not(.hidden),
  .modal-shell:not(.hidden),
  .arena-report-modal:not(.hidden),
  .group-match-detail-modal:not(.hidden),
  .group-settings-modal:not(.hidden),
  .notifications-modal:not(.hidden)
) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100dvh !important;
  padding: 0 !important;
  background:
    radial-gradient(circle at top, rgba(191, 239, 216, 0.38), transparent 34%),
    rgba(7, 59, 49, 0.18) !important;
  backdrop-filter: blur(12px) !important;
}

html body.lineoa-theme :is(
  .sheet-backdrop,
  .modal-backdrop,
  .arena-report-backdrop,
  .group-match-detail-backdrop,
  .group-settings-backdrop,
  .notifications-backdrop
) {
  position: absolute !important;
  inset: 0 !important;
  background: transparent !important;
}

html body.lineoa-theme :is(
  .sheet-card,
  .modal-card.home-match-filter-modal-card,
  .court-filter-modal-card,
  .court-add-modal-card,
  .arena-report-sheet,
  .group-match-detail-sheet,
  .group-settings-sheet,
  .notifications-sheet
) {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 480px) !important;
  height: min(96dvh, 900px) !important;
  max-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(231, 236, 234, 0.92) !important;
  border-radius: var(--smatch-radius-sheet) !important;
  background: var(--smatch-bg-app) !important;
  box-shadow: 0 -18px 56px rgba(7, 59, 49, 0.16) !important;
}

html body.lineoa-theme :is(
  .sheet-header,
  .home-match-filter-modal-head,
  .court-filter-modal-head,
  .court-add-modal-head,
  .arena-report-head,
  .group-match-detail-head,
  .group-settings-head,
  .notifications-head
) {
  flex: 0 0 auto !important;
  min-height: 64px !important;
  padding: 14px var(--smatch-page-x) !important;
  display: grid !important;
  grid-template-columns: 44px 1fr 44px !important;
  align-items: center !important;
  gap: 8px !important;
  border-bottom: 1px solid var(--smatch-border-soft) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(14px) !important;
}

html body.lineoa-theme :is(
  .sheet-title,
  .home-match-filter-modal-head h3,
  .court-filter-modal-head h3,
  .court-add-modal-head h3,
  .arena-report-head h3,
  .group-match-detail-head h3,
  .group-settings-head h3,
  .notifications-head h3
) {
  margin: 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

html body.lineoa-theme :is(
  .sheet-close-btn,
  .sheet-dismiss-btn,
  .home-match-filter-close,
  .court-filter-close,
  .court-add-close,
  .arena-report-close,
  .group-match-detail-close,
  .group-settings-head button,
  .notifications-close
) {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: var(--smatch-text-primary) !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(
  #quickSmatchForm,
  #homeMatchFilterForm,
  #courtFilterForm,
  #courtAddForm,
  #groupSettingsForm
) {
  min-height: 0 !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

html body.lineoa-theme :is(
  .qp-step-page,
  .home-match-filter-fields,
  .court-filter-fields,
  .court-add-fields,
  .arena-report-content,
  .group-settings-content,
  .notifications-body,
  .group-match-detail-content
) {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: var(--smatch-page-x) !important;
}

html body.lineoa-theme #quickSmatchForm .qp-step-page:not(.is-active) {
  display: none !important;
}

html body.lineoa-theme #quickSmatchForm .qp-step-page.is-active {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--smatch-section-gap) !important;
}

html body.lineoa-theme :is(
  .qp-step-actions,
  .home-match-filter-actions,
  .court-filter-actions,
  .court-add-actions,
  .arena-report-actions,
  .group-settings-actions,
  .group-match-detail-actions
) {
  flex: 0 0 auto !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 8 !important;
  margin: 0 !important;
  padding: 14px var(--smatch-page-x) calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid var(--smatch-border-soft) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: 0 -14px 34px rgba(7, 59, 49, 0.06) !important;
}

html body.lineoa-theme :is(
  .qp-step-actions-row,
  .group-match-detail-actions-row,
  .home-match-filter-actions,
  .court-filter-actions,
  .court-add-actions,
  .group-settings-actions
) {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

html body.lineoa-theme :is(
  .qp-step-actions-row--single,
  .qp-step-actions--single .group-match-detail-actions-row
) {
  grid-template-columns: 1fr !important;
}

html body.lineoa-theme :is(
  .group-match-detail-edit-btn,
  .home-match-filter-submit-btn,
  .court-filter-submit-btn,
  .court-add-submit-btn,
  .sheet-cta,
  .primary-btn
) {
  min-height: 56px !important;
  border: 0 !important;
  border-radius: var(--smatch-radius-button) !important;
  background: linear-gradient(180deg, #159b42, var(--smatch-brand-green)) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 28px rgba(18, 138, 58, 0.18) !important;
}

html body.lineoa-theme :is(
  .group-match-detail-share-btn,
  .home-match-filter-reset-btn,
  .court-filter-reset-btn,
  .court-add-cancel-btn,
  .qp-step-back-btn
) {
  min-height: 56px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-button) !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

html body.lineoa-theme .group-match-detail-edit-btn.is-destructive,
html body.lineoa-theme [data-group-match-detail-cancel="true"],
html body.lineoa-theme [data-action="cancel"] {
  border: 1px solid rgba(217, 67, 53, 0.24) !important;
  background: var(--smatch-danger-soft) !important;
  color: var(--smatch-danger) !important;
  box-shadow: none !important;
}

/* Create/Edit Match: one decision at a time */
html body.lineoa-theme .qp-step-indicator {
  flex: 0 0 auto !important;
  padding: 14px var(--smatch-page-x) 4px !important;
  background: var(--smatch-bg-app) !important;
}

html body.lineoa-theme .qp-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin: 0 !important;
}

html body.lineoa-theme .qp-section-title {
  margin: 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.28rem !important;
  font-weight: 900 !important;
  line-height: 1.24 !important;
}

html body.lineoa-theme :is(.qp-settings-card, .qp-detail-card, .qp-review-card) {
  margin: 0 !important;
  padding: var(--smatch-card-padding) !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: var(--smatch-bg-card) !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .qp-detail-card.qp-match-type-card-wrap {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .qp-settings-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

html body.lineoa-theme :is(.qp-setting-row, .qp-detail-row, .group-settings-row) {
  display: grid !important;
  grid-template-columns: minmax(82px, 0.32fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 66px !important;
  padding: 12px 0 !important;
}

html body.lineoa-theme :is(.qp-row-label, .qp-setting-label, .group-settings-row > span, .sheet-field-label) {
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

html body.lineoa-theme .qp-title-setting-row {
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  align-items: start !important;
}

html body.lineoa-theme :is(
  .qp-title-setting-row input,
  .qp-detail-row input,
  .qp-detail-row textarea,
  .qp-time-select,
  .qp-venue-input-wrap input,
  .home-match-filter-fields input,
  .court-filter-fields input,
  .court-add-fields input,
  .court-add-fields textarea,
  .group-settings-court-shell input,
  .group-settings-field input
) {
  min-height: 54px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}

html body.lineoa-theme .qp-type-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.lineoa-theme .post-type-card {
  min-height: 128px !important;
  padding: 18px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 22px !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  box-shadow: none !important;
}

html body.lineoa-theme .post-type-card.is-active {
  border-color: rgba(18, 138, 58, 0.38) !important;
  background: linear-gradient(180deg, #fff, var(--smatch-brand-mint-soft)) !important;
  color: var(--smatch-brand-dark-green) !important;
  box-shadow: inset 0 0 0 1px rgba(18, 138, 58, 0.08) !important;
}

html body.lineoa-theme .post-type-card .qp-type-icon {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  background: var(--smatch-brand-mint-soft) !important;
  color: var(--smatch-brand-green) !important;
  font-size: 1.8rem !important;
}

html body.lineoa-theme .qp-type-title {
  font-size: 1rem !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .qp-type-sub {
  color: var(--smatch-text-secondary) !important;
  font-size: 0.86rem !important;
  font-weight: 650 !important;
  text-align: center !important;
}

html body.lineoa-theme :is(
  .qp-pill-group,
  .qp-requirement-pill-set,
  .home-match-filter-chip-row,
  .group-settings-pill-set,
  .court-surface-filter
) {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}

html body.lineoa-theme :is(
  .qp-pill,
  .qp-requirement-pill,
  .home-match-filter-choice-chip,
  .group-settings-pill-set button,
  .court-surface-filter button
) {
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-pill) !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  font-size: 0.96rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(
  .qp-pill.is-active,
  .qp-requirement-pill.is-active,
  .home-match-filter-choice-chip.is-active,
  .group-settings-pill-set button.is-active,
  .court-surface-filter button[aria-selected="true"]
) {
  border-color: transparent !important;
  background: var(--smatch-brand-lime) !important;
  color: var(--smatch-text-primary) !important;
}

html body.lineoa-theme .qp-level-gauge {
  padding: 16px 0 0 !important;
}

html body.lineoa-theme .qp-level-gauge-labels {
  margin-top: 12px !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

html body.lineoa-theme .qp-level-gauge-labels button {
  min-height: 42px !important;
  padding: 0 2px !important;
  border-radius: 14px !important;
  font-size: 0.78rem !important;
  line-height: 1.16 !important;
}

html body.lineoa-theme .quick-party-slots {
  margin-top: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .quick-party-player-chip {
  min-height: 112px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid var(--smatch-border-soft) !important;
}

html body.lineoa-theme .quick-party-player-circle {
  width: 62px !important;
  height: 62px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

/* Filter and settings: quiet sections, fixed actions */
html body.lineoa-theme :is(.home-match-filter-fields, .court-filter-fields, .court-add-fields) {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

html body.lineoa-theme :is(
  .home-match-filter-group,
  .home-match-filter-select-field,
  .court-filter-nearby-group,
  .court-add-section,
  .group-settings-card
) {
  margin: 0 !important;
  padding: var(--smatch-card-padding) !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme :is(.home-match-filter-group h4, .court-add-section h4, .group-settings-card-head h4) {
  margin: 0 0 14px !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .home-match-filter-inline-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

html body.lineoa-theme .home-match-filter-location-menu {
  z-index: 20 !important;
  border-radius: 20px !important;
  border-color: var(--smatch-border-soft) !important;
  box-shadow: var(--smatch-shadow-card) !important;
}

/* Report result: score first, metadata second */
html body.lineoa-theme .report-match-card {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .report-ref-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

html body.lineoa-theme .report-ref-card,
html body.lineoa-theme .report-score-card,
html body.lineoa-theme .report-summary-card {
  margin: 0 !important;
  padding: var(--smatch-card-padding) !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .report-score-card {
  background: linear-gradient(180deg, #fff, var(--smatch-brand-mint-soft)) !important;
}

html body.lineoa-theme .report-ref-card h4,
html body.lineoa-theme .report-score-card h4,
html body.lineoa-theme .report-summary-card h4 {
  margin: 0 0 12px !important;
  font-size: 1.12rem !important;
  font-weight: 900 !important;
}

html body.lineoa-theme :is(.report-team-row, .report-ref-row, .report-score-row) {
  min-height: 58px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(231, 236, 234, 0.8) !important;
}

html body.lineoa-theme .set-score-grid {
  gap: 10px !important;
}

html body.lineoa-theme .set-cell input {
  min-height: 56px !important;
  border-radius: 16px !important;
  font-size: 1.24rem !important;
  font-weight: 900 !important;
}

/* Match detail: hero first, rows later */
html body.lineoa-theme .open-match-detail-main-card,
html body.lineoa-theme .match-detail-main-card {
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(18, 138, 58, 0.14) !important;
  border-radius: var(--smatch-radius-hero) !important;
  background: linear-gradient(145deg, var(--smatch-brand-mint), var(--smatch-brand-mint-soft)) !important;
  box-shadow: var(--smatch-shadow-card) !important;
}

html body.lineoa-theme .open-match-detail-cover {
  border-radius: 22px !important;
  overflow: hidden !important;
}

html body.lineoa-theme .open-match-detail-meta-col {
  gap: 12px !important;
}

html body.lineoa-theme .open-match-detail-match-name {
  margin: 2px 0 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.32rem !important;
  font-weight: 900 !important;
  line-height: 1.22 !important;
}

html body.lineoa-theme .open-match-detail-info-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1rem !important;
}

html body.lineoa-theme .open-match-detail-card {
  margin: 0 !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

/* Group dashboard and hub: task cards instead of dense lists */
html body.lineoa-theme .groups-hub-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

html body.lineoa-theme :is(.groups-hub-card, .groups-list-card, .group-dashboard-card, .group-detail-card) {
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .group-detail-tab-nav {
  position: static !important;
  top: auto !important;
  margin: 8px 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.lineoa-theme .group-open-header-row {
  align-items: center !important;
  margin-bottom: 16px !important;
}

html body.lineoa-theme .group-open-feed-list {
  gap: 14px !important;
}

/* Ranking and stats: insight first */
html body.lineoa-theme :is(.profile-ranking-card, .profile-stats-card, .profile-ref-card, .community-ranking-card) {
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .profile-rank-hero,
html body.lineoa-theme .profile-stat-panel {
  border-radius: 24px !important;
  background: linear-gradient(145deg, #073b31, #122116) !important;
  color: #fff !important;
  box-shadow: var(--smatch-shadow-card) !important;
}

html body.lineoa-theme .profile-stat-breakdown span {
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

/* Court list: fast scan, not marketplace-heavy */
html body.lineoa-theme .court-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html body.lineoa-theme .court-card {
  overflow: hidden !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .court-card-media {
  aspect-ratio: 1.25 / 1 !important;
  min-height: 0 !important;
}

html body.lineoa-theme .court-card-body {
  padding: 14px !important;
}

html body.lineoa-theme .court-card h4 {
  font-size: 1rem !important;
  line-height: 1.16 !important;
}

html body.lineoa-theme .court-card-foot button {
  min-height: 42px !important;
  border-radius: 14px !important;
  font-size: 0.88rem !important;
}

/* Empty/loading states: calm and action-led */
html body.lineoa-theme :is(.empty-state, .feed-empty, .home-feed-empty, .my-matches-empty, .group-empty-state) {
  padding: 30px 22px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  color: var(--smatch-text-secondary) !important;
  text-align: left !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme :is(.empty-state strong, .feed-empty strong, .home-feed-empty strong, .my-matches-empty strong) {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
}

/* Main tab surfaces */
html body.lineoa-theme :is(.my-matches-screen, .groups-tab-panel, #tab-arena, #tab-profile) {
  padding-inline: var(--smatch-page-x) !important;
  padding-bottom: calc(var(--smatch-bottom-safe) + env(safe-area-inset-bottom, 0px)) !important;
}

html body.lineoa-theme :is(.my-matches-head, .groups-list-header, .courts-view-head, .profile-ref-section-head) {
  margin: 0 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

html body.lineoa-theme :is(.my-matches-head h2, .groups-list-header h3, .courts-view-head h3, .profile-ref-section-title) {
  margin: 0 !important;
  color: var(--smatch-brand-dark-green) !important;
  font-size: clamp(1.38rem, 5.6vw, 1.82rem) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
}

html body.lineoa-theme :is(.my-matches-primary-tabs, .profile-switch, .community-ref-tab-nav, .group-detail-tab-nav) {
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 4px !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 1fr !important;
  gap: 4px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body.lineoa-theme :is(.my-matches-primary-tabs button, .profile-switch button, .group-detail-tab-btn) {
  min-height: 48px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: transparent !important;
  color: var(--smatch-text-secondary) !important;
  font-size: 0.94rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(.my-matches-primary-tabs button.is-active, .profile-switch button.is-active, .group-detail-tab-btn.is-active) {
  background: #fff !important;
  color: var(--smatch-brand-green) !important;
  box-shadow: 0 8px 20px rgba(7, 59, 49, 0.06) !important;
}

html body.lineoa-theme :is(.my-matches-primary-tabs button.is-active::after, .profile-switch button.is-active::after, .group-detail-tab-btn.is-active::after) {
  display: none !important;
}

html body.lineoa-theme .my-matches-relation-pills {
  margin: 0 0 18px !important;
  gap: 10px !important;
}

html body.lineoa-theme .my-matches-relation-pills button {
  min-height: 46px !important;
  padding: 0 18px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-pill) !important;
  background: #fff !important;
  color: var(--smatch-text-primary) !important;
  font-size: 0.94rem !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

html body.lineoa-theme .my-matches-relation-pills button.is-active {
  border-color: transparent !important;
  background: var(--smatch-brand-lime) !important;
}

html body.lineoa-theme :is(.group-open-matches-card, .community-courts-shell, .profile-ranking-view, .profile-ref-dashboard) {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .home-open-list-head.group-open-list-head {
  margin: 0 0 16px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 14px !important;
  align-items: center !important;
}

html body.lineoa-theme .home-open-list-head h3 {
  margin: 0 !important;
  color: var(--smatch-brand-dark-green) !important;
  font-size: clamp(1.35rem, 5.3vw, 1.8rem) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
}

html body.lineoa-theme :is(.groups-create-btn, .group-open-create-btn, .court-add-btn, .home-list-filter-btn) {
  min-height: 48px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: var(--smatch-radius-pill) !important;
  background: var(--smatch-brand-lime) !important;
  color: var(--smatch-text-primary) !important;
  font-size: 0.95rem !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 24px rgba(185, 245, 41, 0.2) !important;
}

html body.lineoa-theme .home-list-filter-btn {
  border: 1px solid var(--smatch-border-soft) !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.lineoa-theme .group-open-filter-row {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
}

html body.lineoa-theme :is(.group-open-date-tabs, .group-detail-date-tabs) {
  min-height: 52px !important;
  padding: 0 !important;
  gap: 12px !important;
  border: 0 !important;
  background: transparent !important;
}

html body.lineoa-theme :is(.group-open-date-tabs button, .group-detail-date-tabs button) {
  min-width: 82px !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  color: var(--smatch-text-secondary) !important;
  font-weight: 800 !important;
}

html body.lineoa-theme :is(.group-open-date-tabs button.is-active, .group-detail-date-tabs button.is-active) {
  background: #fff !important;
  color: var(--smatch-brand-green) !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .groups-list-header {
  margin-top: 4px !important;
}

html body.lineoa-theme .groups-hub-card {
  min-height: 124px !important;
  padding: 14px !important;
}

html body.lineoa-theme .groups-card-body {
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) 28px !important;
  gap: 14px !important;
  align-items: center !important;
}

html body.lineoa-theme .groups-cover-wrap {
  width: 78px !important;
  height: 78px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

html body.lineoa-theme .groups-ref-title-row h4 {
  margin: 0 !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.08rem !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

html body.lineoa-theme :is(.groups-ref-meta, .groups-ref-desc) {
  color: var(--smatch-text-secondary) !important;
  font-size: 0.88rem !important;
  line-height: 1.34 !important;
}

html body.lineoa-theme .community-switch-card {
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .court-search-shell {
  margin: 0 0 14px !important;
  padding: 0 0 0 14px !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) 52px !important;
  align-items: center !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .court-search-shell input {
  min-height: 54px !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 0.98rem !important;
}

html body.lineoa-theme .court-search-shell button {
  width: 52px !important;
  height: 54px !important;
  border: 0 !important;
  border-left: 1px solid rgba(18, 138, 58, 0.08) !important;
  border-radius: 0 22px 22px 0 !important;
  background: var(--smatch-brand-mint-soft) !important;
  color: var(--smatch-brand-green) !important;
}

html body.lineoa-theme .courts-view-head small {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  margin-inline-start: 8px !important;
  padding: 0 12px !important;
  border-radius: var(--smatch-radius-pill) !important;
  background: var(--smatch-brand-mint-soft) !important;
  color: var(--smatch-brand-dark-green) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  vertical-align: middle !important;
}

html body.lineoa-theme .court-surface-filter {
  margin: 0 0 18px !important;
}

html body.lineoa-theme .profile-view-switch {
  margin-bottom: 22px !important;
}

html body.lineoa-theme .profile-view-btn small {
  font-size: 0.78rem !important;
  font-weight: 800 !important;
}

@media (max-width: 430px) {
  :root {
    --smatch-page-x: 16px;
  }

  html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-main {
    grid-template-columns: minmax(0, 1fr) 92px !important;
  }

  html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill-row {
    max-width: calc(100% - 88px) !important;
  }

  html body.lineoa-theme #quickSmatchForm :is(.qp-setting-row, .qp-detail-row),
  html body.lineoa-theme :is(.home-match-filter-select-field, .home-match-filter-group, .group-settings-row) {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }

  html body.lineoa-theme #courtList {
    gap: 10px !important;
  }

  html body.lineoa-theme .court-card-body {
    padding: 10px !important;
  }
}

@media (min-width: 640px) {
  html body.lineoa-theme :is(#matchesTab, #groupsTab, #communityTab, #profileTab).tab-panel.is-active,
  html body.lineoa-theme :is(.groups-tab-panel, .community-panel, .profile-dashboard-view, .group-detail-screen) {
    max-width: 720px !important;
    margin-inline: auto !important;
  }
}
