/*
  Smatch clean UI trial layer
  Reversible design-only overrides. Business logic, routes, IDs, and data hooks stay unchanged.
*/

:root {
  --clean-bg: #f6f8f7;
  --clean-surface: #ffffff;
  --clean-ink: #121917;
  --clean-muted: #6f7b78;
  --clean-soft: #f1f5f3;
  --clean-line: #e4ebe7;
  --clean-green: #108a3c;
  --clean-green-dark: #073b31;
  --clean-lime: #bdf21f;
  --clean-mint: #c7f3e4;
  --clean-mint-strong: #85e0c4;
  --clean-danger: #d84e4e;
  --clean-warning: #f6c85f;
  --clean-radius: 22px;
  --clean-radius-sm: 14px;
  --clean-gutter: clamp(16px, 4.4vw, 24px);
  --clean-shadow: 0 16px 36px rgba(7, 59, 49, 0.08);
  --clean-shadow-soft: 0 8px 22px rgba(15, 37, 29, 0.06);
}

html,
body {
  background: var(--clean-bg);
}

body {
  color: var(--clean-ink);
}

.mobile-shell {
  width: min(520px, 100%);
  max-width: 520px;
  background:
    radial-gradient(circle at 90% 8%, rgba(199, 243, 228, 0.32), transparent 22rem),
    var(--clean-bg);
  padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px));
}

.dashboard-shell {
  background: transparent;
}

.tab-panel,
.groups-tab-panel,
.profile-dashboard-view,
.profile-static-view,
.community-panel,
.community-courts-shell,
.community-ranking-view,
.my-matches-screen,
.groups-list-shell,
.groups-list-panel,
.group-detail-shell {
  padding-inline: var(--clean-gutter);
}

.tab-panel {
  padding-top: 22px;
}

.card,
.challenge-match-card,
.groups-hub-card,
.court-card,
.profile-stats-card,
.profile-ranking-card,
.group-detail-card,
.profile-static-soon-card,
.notifications-panel-card {
  border: 1px solid rgba(7, 59, 49, 0.08);
  border-radius: var(--clean-radius);
  background: var(--clean-surface);
  box-shadow: var(--clean-shadow-soft);
}

/* Top and bottom navigation */
.top-ribbon {
  position: sticky;
  top: 0;
  z-index: 90;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: calc(env(safe-area-inset-top, 0px) + 14px) var(--clean-gutter) 14px;
  border: 0;
  border-bottom: 1px solid var(--clean-line);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 20px rgba(7, 59, 49, 0.04);
  backdrop-filter: blur(16px);
}

.brand-mini {
  min-width: 0;
}

.top-brand-logo {
  width: clamp(134px, 34vw, 168px);
  height: auto;
  display: block;
}

.top-ribbon-actions {
  gap: 12px;
}

.top-notify-btn,
.top-profile-btn,
.group-detail-ribbon-icon,
.sheet-close-btn,
.sheet-dismiss-btn,
.group-match-detail-close,
.home-match-filter-close {
  width: 42px;
  min-width: 42px;
  height: 42px;
  border: 1px solid var(--clean-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--clean-green-dark);
  box-shadow: none;
}

.top-profile-btn {
  padding: 3px;
  border-radius: 999px;
  border-color: rgba(78, 209, 165, 0.42);
}

.top-brand-avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
}

.bottom-nav {
  left: 50%;
  right: auto;
  width: min(520px, 100%);
  max-width: 520px;
  transform: translateX(-50%);
  margin: 0;
  padding: 8px var(--clean-gutter) calc(10px + env(safe-area-inset-bottom, 0px));
  border: 0;
  border-top: 1px solid var(--clean-line);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -12px 30px rgba(7, 59, 49, 0.07);
  backdrop-filter: blur(18px);
}

.tab-btn {
  min-height: 58px;
  border-radius: 18px;
  color: #7b8582;
}

.tab-btn.is-active {
  background: transparent;
  color: var(--clean-green);
}

.tab-btn.is-active .tab-icon {
  color: var(--clean-green);
  font-variation-settings: 'FILL' 1, 'wght' 520, 'GRAD' 0, 'opsz' 24;
}

.tab-label {
  font-weight: 650;
}

/* Page hierarchy */
.my-matches-head,
.groups-list-header,
.home-open-list-head,
.profile-ref-section-head,
.community-title,
.court-directory-head,
.profile-static-head {
  margin: 0 0 14px;
  padding: 0;
}

.my-matches-head h2,
.groups-list-header h3,
.home-list-head-copy h3,
.profile-ref-section-title,
.court-directory-head h3,
.community-title h3,
.profile-static-head h3,
.profile-ranking-title {
  margin: 0;
  color: var(--clean-green);
  font-size: clamp(1.45rem, 6vw, 2rem);
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.18;
}

.section-kicker {
  color: var(--clean-green);
  font-size: 0.74rem;
  letter-spacing: 0.03em;
  text-transform: none;
}

/* Tabs and filters */
.my-matches-primary-tabs,
.group-detail-tab-nav,
.profile-view-switch,
.community-switch-card,
.court-surface-filter {
  border: 0;
  border-bottom: 1px solid var(--clean-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.my-matches-primary-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-bottom: 16px;
}

.my-matches-primary-tabs button,
.group-detail-tab-btn,
.profile-view-btn,
.community-switch-card button {
  position: relative;
  min-height: 52px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #3e4644;
  font-size: 0.98rem;
  font-weight: 650;
}

.my-matches-primary-tabs button::after,
.group-detail-tab-btn::after,
.profile-view-btn::after,
.community-switch-card button::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -1px;
  height: 4px;
  border-radius: 999px;
  background: transparent;
}

.my-matches-primary-tabs button.is-active,
.group-detail-tab-btn.is-active,
.profile-view-btn.is-active,
.community-switch-card button.is-active {
  color: var(--clean-green);
  font-weight: 800;
}

.my-matches-primary-tabs button.is-active::after,
.group-detail-tab-btn.is-active::after,
.profile-view-btn.is-active::after,
.community-switch-card button.is-active::after {
  background: var(--clean-green);
}

.my-matches-relation-pills,
.home-match-filter-chip-row,
.group-settings-pill-set,
.qp-pill-group,
.qp-requirement-pill-set,
.court-surface-filter {
  gap: 8px;
}

.my-matches-relation-pills button,
.home-match-filter-choice-chip,
.group-settings-pill-set button,
.qp-pill,
.qp-requirement-pill,
.court-surface-filter button {
  min-height: 40px;
  border: 1px solid var(--clean-line);
  border-radius: 999px;
  background: #fff;
  color: var(--clean-ink);
  font-size: 0.9rem;
  font-weight: 700;
  box-shadow: none;
}

.my-matches-relation-pills button.is-active,
.home-match-filter-choice-chip.is-active,
.group-settings-pill-set button.is-active,
.qp-pill.is-active,
.qp-requirement-pill.is-active,
.court-surface-filter button[aria-selected="true"] {
  border-color: var(--clean-lime);
  background: var(--clean-lime);
  color: #102100;
}

/* Primary action card */
.groups-create-btn,
.group-open-create-btn,
.home-create-match-pill {
  min-height: 44px;
  border: 0;
  border-radius: 16px;
  padding: 0 16px;
  background: linear-gradient(135deg, var(--clean-lime), #8bd91e);
  color: #102100;
  font-weight: 800;
  box-shadow: 0 14px 28px rgba(76, 178, 31, 0.16);
}

.home-open-list-head,
.groups-list-header {
  align-items: center;
}

/* Match cards */
.my-matches-list,
.feed-list,
.home-feed-list,
.group-open-feed-list {
  gap: 14px;
}

.challenge-match-card {
  overflow: hidden;
  padding: 0;
  list-style: none;
}

.challenge-match-main {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 16px;
  border-radius: var(--clean-radius);
  background:
    linear-gradient(180deg, rgba(199, 243, 228, 0.92) 0, rgba(199, 243, 228, 0.92) 112px, #fff 112px, #fff 100%);
}

.challenge-card-pill-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 28px;
  padding-right: 130px;
}

.challenge-card-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--clean-green);
  font-size: 0.76rem;
  font-weight: 800;
}

.challenge-card-pill .material-symbols-outlined {
  font-size: 1rem;
}

.challenge-card-pill.is-ranked {
  background: #fff3d7;
  color: #8a5a00;
}

.challenge-card-pill.is-friendly {
  background: #eef8ed;
  color: var(--clean-green);
}

.cmatch-top-row {
  display: block;
  margin-top: 10px;
}

.challenge-schedule {
  justify-content: flex-start;
  gap: 8px;
  max-width: calc(100% - 132px);
  color: var(--clean-green);
  font-size: 0.86rem;
  font-weight: 760;
}

.challenge-schedule-part {
  gap: 5px;
}

.challenge-schedule-part .material-symbols-outlined {
  color: var(--clean-green);
  font-size: 1rem;
}

.challenge-top-status {
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  align-items: center;
  gap: 7px;
  z-index: 2;
}

.challenge-count-pill {
  min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #23302d;
  font-size: 0.78rem;
  font-weight: 780;
}

.challenge-count-pill .material-symbols-outlined {
  font-size: 1rem;
}

.challenge-host-crown {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--clean-green);
  color: #fff;
}

.challenge-host-crown .material-symbols-outlined {
  font-size: 1.1rem;
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

.challenge-match-title {
  margin: 34px 128px 8px 0;
  color: var(--clean-ink);
  font-size: clamp(1.25rem, 5.3vw, 1.65rem);
  font-weight: 850;
  line-height: 1.16;
  letter-spacing: -0.02em;
}

.challenge-match-location {
  margin: 0 0 14px;
  padding: 12px 0 0;
  border-top: 1px solid rgba(7, 59, 49, 0.08);
  color: #4d5956;
  font-size: 0.95rem;
}

.challenge-match-location > .material-symbols-outlined {
  color: var(--clean-green);
  font-size: 1.18rem;
}

.challenge-court-name-link {
  color: inherit;
  font: inherit;
  font-weight: 650;
}

.cmatch-meta-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 14px;
}

.challenge-detail-list {
  gap: 0;
  min-width: 0;
}

.challenge-detail-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  padding: 0;
}

.challenge-detail-item {
  gap: 6px;
  min-width: 0;
  color: #53615e;
  font-size: 0.9rem;
  font-weight: 650;
}

.challenge-detail-item .material-symbols-outlined {
  color: var(--clean-green);
  font-size: 1.16rem;
}

.challenge-detail-divider {
  width: 1px;
  height: 22px;
  margin: 0 2px;
  background: var(--clean-line);
}

.challenge-avatar-stack {
  align-items: center;
  min-width: 94px;
}

.challenge-avatar-row {
  justify-content: center;
}

.challenge-party-avatar,
.challenge-avatar-empty,
.challenge-avatar-more {
  width: 48px;
  height: 48px;
  border-radius: 999px;
}

.challenge-avatar-empty {
  display: grid;
  place-items: center;
  border: 2px dashed #cbd7d3;
  background: rgba(255, 255, 255, 0.72);
  color: #77837f;
}

.challenge-slots-left-label {
  margin-top: 4px;
  color: #6e7c78;
  font-size: 0.8rem;
  line-height: 1.35;
}

.challenge-join-btn {
  width: 100%;
  min-height: 46px;
  margin-top: 14px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--clean-lime), #8bd91e);
  color: #102100;
  font-size: 0.98rem;
  font-weight: 820;
  box-shadow: 0 14px 28px rgba(76, 178, 31, 0.14);
}

.challenge-join-btn.is-host-edit,
.challenge-join-btn.is-report,
.challenge-join-btn.is-joined {
  background: #effbd0;
  color: #234a0c;
  box-shadow: none;
}

.challenge-join-btn.is-leave,
.challenge-join-btn.is-disabled {
  border: 1px solid var(--clean-line);
  background: var(--clean-soft);
  color: #7d8784;
  box-shadow: none;
}

.open-match-section-heading {
  padding: 8px 2px 2px;
  background: transparent;
  box-shadow: none;
}

.open-match-section-title,
.open-match-section-count {
  color: var(--clean-green);
  font-weight: 800;
}

/* Group hub and detail */
.groups-hub-card {
  padding: 14px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.groups-hub-card h4 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  line-height: 1.25;
}

.groups-cover-thumb {
  width: 72px;
  height: 72px;
  border-radius: 20px;
}

.group-detail-screen {
  background: var(--clean-bg);
}

.group-detail-ribbon {
  margin: 0 calc(-1 * var(--clean-gutter));
  padding: 10px var(--clean-gutter) 12px;
  border: 0;
  border-bottom: 1px solid var(--clean-line);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: none;
}

.group-detail-title-row h2 {
  font-size: 1.05rem;
  font-weight: 850;
}

.group-detail-title-avatar {
  width: 42px;
  height: 42px;
  border-radius: 14px;
}

.group-detail-tab-nav {
  margin: 0 calc(-1 * var(--clean-gutter)) 18px;
  padding: 0 var(--clean-gutter);
  background: rgba(255, 255, 255, 0.66);
}

.group-open-matches-card {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.group-open-filter-row {
  gap: 10px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--clean-line);
}

.group-open-date-tabs,
.group-detail-date-tabs {
  min-height: 52px;
}

.home-list-filter-btn,
.group-open-filter-btn {
  min-height: 42px;
  border: 1px solid var(--clean-line);
  border-radius: 999px;
  background: #fff;
  color: var(--clean-ink);
  font-weight: 800;
}

/* Sheets and modals */
.smatch-sheet-modal,
.group-match-detail-modal,
.home-match-filter-modal,
.report-modal,
.court-filter-modal {
  background: rgba(18, 25, 23, 0.34);
  backdrop-filter: blur(8px);
}

.sheet-card,
.group-match-detail-sheet,
.modal-card.home-match-filter-modal-card,
.report-modal-card,
.court-filter-modal-card {
  width: min(520px, 100%);
  max-width: 520px;
  border: 0;
  border-radius: 26px 26px 0 0;
  background: #fff;
  box-shadow: 0 -18px 48px rgba(7, 59, 49, 0.14);
}

.sheet-header,
.qp-sheet-header,
.group-match-detail-head,
.home-match-filter-modal-head,
.report-modal-head,
.court-filter-modal-head {
  min-height: 58px;
  padding: 8px var(--clean-gutter);
  border-bottom: 1px solid var(--clean-line);
  background: #fff;
}

.sheet-title,
.group-match-detail-head h3,
.home-match-filter-modal-head h3,
.report-modal-head h3,
.court-filter-modal-head h3 {
  color: var(--clean-ink);
  font-size: 1.05rem;
  font-weight: 850;
  line-height: 1.2;
}

.qp-form,
.group-match-detail-content,
.home-match-filter-fields,
.report-modal-body,
.group-settings-content {
  padding-inline: var(--clean-gutter);
}

.group-match-detail-actions,
.home-match-filter-actions,
.report-modal-actions,
.group-settings-actions,
.qp-step-actions {
  padding: 12px var(--clean-gutter) calc(14px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--clean-line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -10px 30px rgba(7, 59, 49, 0.06);
}

.group-match-detail-actions-row {
  gap: 10px;
}

.group-match-detail-edit-btn,
.home-match-filter-submit-btn,
.report-submit-btn,
.primary-btn {
  min-height: 50px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #15913f, #0e7e36);
  color: #fff;
  font-weight: 850;
  box-shadow: 0 16px 30px rgba(16, 138, 60, 0.18);
}

.group-match-detail-share-btn,
.home-match-filter-reset-btn,
.secondary-btn {
  min-height: 50px;
  border: 1px solid var(--clean-line);
  border-radius: 16px;
  background: #fff;
  color: var(--clean-ink);
  font-weight: 800;
  box-shadow: none;
}

.is-danger,
.group-match-detail-share-btn.is-danger,
.group-match-detail-edit-btn.is-danger {
  border-color: rgba(216, 78, 78, 0.24);
  background: #fff4f4;
  color: var(--clean-danger);
}

/* Quick match flow */
.qp-section {
  margin: 0;
  padding: 18px 0 0;
}

.qp-section-title {
  margin: 0 0 12px;
  color: var(--clean-ink);
  font-size: 1.02rem;
  font-weight: 850;
}

.qp-settings-card,
.qp-detail-card,
.group-settings-card,
.home-match-filter-group {
  border: 1px solid var(--clean-line);
  border-radius: var(--clean-radius);
  background: #fff;
  box-shadow: var(--clean-shadow-soft);
}

.qp-settings-card,
.qp-detail-card {
  padding: 4px 14px;
}

.qp-setting-row,
.qp-detail-row,
.group-settings-row,
.home-match-filter-select-field {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 13px 0;
  border-bottom: 1px solid var(--clean-line);
}

.qp-setting-row:last-child,
.qp-detail-row:last-child,
.group-settings-row:last-child,
.home-match-filter-select-field:last-child {
  border-bottom: 0;
}

.qp-setting-label,
.qp-row-label,
.group-settings-row > span,
.home-match-filter-select-field > span {
  color: var(--clean-ink);
  font-size: 0.95rem;
  font-weight: 850;
  line-height: 1.2;
}

.qp-title-setting-row,
.qp-match-type-card-wrap {
  grid-template-columns: 1fr;
  align-items: stretch;
}

.qp-title-setting-row input,
.qp-venue-input-wrap input,
.home-match-filter-location-toggle,
.court-picker-input-shell input,
.group-settings-court-shell input,
.qp-time-cell,
.qp-date-nav,
.profile-edit-name-field input {
  min-height: 46px;
  border: 1px solid var(--clean-line);
  border-radius: 16px;
  background: #fff;
  color: var(--clean-ink);
  box-shadow: none;
}

.qp-type-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.post-type-card {
  min-height: 116px;
  border: 1px solid var(--clean-line);
  border-radius: 18px;
  background: #fff;
  color: var(--clean-ink);
  box-shadow: none;
}

.post-type-card.is-active {
  border-color: var(--clean-lime);
  background: linear-gradient(180deg, #fbffe8, #f5ffe0);
  box-shadow: 0 14px 28px rgba(189, 242, 31, 0.12);
}

.qp-type-icon {
  color: var(--clean-green);
}

.qp-level-gauge {
  min-width: 0;
}

.qp-level-gauge-labels button {
  color: #7a8582;
  font-size: 0.78rem;
}

.qp-level-gauge-labels button.is-active {
  color: var(--clean-ink);
}

.quick-party-range-wrap,
.group-settings-range-wrap {
  border-radius: 999px;
}

.quick-party-slots {
  background: transparent;
}

.quick-party-player-chip {
  border-color: var(--clean-line);
  border-radius: 18px;
}

.quick-party-player-chip.is-empty .quick-party-player-circle {
  display: grid;
  place-items: center;
}

.qp-booked-toggle {
  min-height: 54px;
  border: 0;
  background: transparent;
  box-shadow: none;
  align-items: center;
}

.qp-booked-toggle-box {
  width: 42px;
  height: 42px;
}

.qp-note-row {
  grid-template-columns: 1fr;
}

.qp-note-row textarea {
  min-height: 110px;
  border: 1px solid var(--clean-line);
  border-radius: 16px;
  background: #fff;
}

/* Detail hero */
.open-match-detail-main-card {
  overflow: hidden;
  border: 1px solid var(--clean-line);
  border-radius: var(--clean-radius);
  background: #fff;
  box-shadow: var(--clean-shadow-soft);
}

.open-match-detail-grid {
  background: linear-gradient(145deg, rgba(199, 243, 228, 0.9), rgba(255, 255, 255, 0.78));
}

.open-match-detail-pill {
  border: 0;
  background: rgba(255, 255, 255, 0.72);
}

.open-match-detail-info-row {
  color: #4c5855;
}

.open-match-detail-info-row strong {
  color: var(--clean-ink);
}

.open-match-detail-players-card {
  background: #fff;
}

/* Filters */
.home-match-filter-modal-card {
  padding: 0;
}

.home-match-filter-fields,
.court-filter-fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 16px;
  padding-bottom: 16px;
}

.home-match-filter-group {
  padding: 14px;
}

.home-match-filter-group h4 {
  margin: 0 0 12px;
  color: var(--clean-ink);
  font-size: 0.98rem;
  font-weight: 850;
}

.home-match-filter-chip-row {
  align-items: center;
}

.home-match-filter-location-menu,
.court-picker-dropdown,
.home-court-dropdown {
  border: 1px solid var(--clean-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--clean-shadow);
}

/* Courts and ranking */
.court-directory-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#courtResultMeta {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-radius: 999px;
  padding: 0 10px;
  background: #eef8ed;
  color: var(--clean-green);
  font-weight: 800;
}

.court-search-shell {
  min-height: 46px;
  border: 1px solid var(--clean-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
}

.court-card {
  overflow: hidden;
}

.court-card-media {
  min-height: 128px;
}

.court-card-body {
  padding: 12px;
}

.court-card h4 {
  font-size: 1rem;
  line-height: 1.24;
}

.ranking-table,
.profile-ranking-card {
  border-color: var(--clean-line);
}

/* Group settings */
.group-settings-card {
  padding: 14px;
}

.group-settings-profile-card {
  display: grid;
  gap: 14px;
}

.group-settings-avatar-block {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.group-settings-avatar-pick {
  width: 72px;
  height: 72px;
  border: 1px solid var(--clean-line);
  border-radius: 22px;
  background: #fff;
}

.group-settings-avatar-preview {
  width: 100%;
  height: 100%;
  border-radius: 22px;
  object-fit: cover;
}

.group-settings-kicker {
  color: var(--clean-green);
  font-size: 0.76rem;
  font-weight: 850;
}

.group-settings-profile-name-btn {
  justify-content: flex-start;
  gap: 6px;
}

.group-settings-card-head h4 {
  margin: 2px 0 0;
  font-size: 1.15rem;
  color: var(--clean-ink);
}

.group-settings-pill-set {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.group-settings-court-picker {
  min-width: 0;
}

.group-settings-court-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--clean-line);
  border-radius: 16px;
  background: #fff;
}

.group-settings-court-shell input {
  border: 0;
  border-radius: 0;
}

.group-settings-court-clear {
  width: 42px;
  border: 0;
  border-left: 1px solid var(--clean-line);
  background: #f7faf8;
  color: var(--clean-muted);
}

.group-settings-capacity {
  display: grid;
  gap: 8px;
}

.group-settings-capacity-copy {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #67736f;
}

/* Profile and empty states */
.profile-view-switch {
  margin-bottom: 18px;
}

.profile-static-soon-card,
.group-tournament-coming-soon-card,
.empty-card,
.home-empty-card,
.feed-empty,
.group-empty-state {
  padding: 22px;
  text-align: center;
  color: var(--clean-muted);
}

.profile-static-soon-content h4,
.profile-static-soon-title,
.group-tournament-coming-soon-inner strong {
  color: var(--clean-ink);
  font-size: 1.1rem;
  font-weight: 850;
}

.group-tournament-coming-soon-icon,
.profile-static-soon-content .material-symbols-outlined {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: inline-grid;
  place-items: center;
  background: #eef8ed;
  color: var(--clean-green);
}

/* Accessibility and polish */
button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(78, 209, 165, 0.42);
  outline-offset: 2px;
}

.material-symbols-outlined {
  line-height: 1;
}

@media (max-width: 390px) {
  :root {
    --clean-gutter: 14px;
  }

  .challenge-match-main {
    padding: 14px;
    background: linear-gradient(180deg, rgba(199, 243, 228, 0.92) 0, rgba(199, 243, 228, 0.92) 118px, #fff 118px, #fff 100%);
  }

  .challenge-card-pill-row {
    padding-right: 110px;
  }

  .challenge-match-title {
    margin-right: 104px;
    font-size: 1.18rem;
  }

  .cmatch-meta-row {
    grid-template-columns: 1fr;
  }

  .challenge-avatar-stack {
    justify-self: end;
  }

  .qp-setting-row,
  .qp-detail-row,
  .group-settings-row,
  .home-match-filter-select-field {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* ------------------------------------------------------------------
   Clean trial v2 cascade shield
   The existing LINE OA theme has many id-qualified selectors plus
   !important. These mirrors intentionally sit at the end of the trial
   layer so the redesign is visible while staying reversible.
------------------------------------------------------------------- */

html body.lineoa-theme {
  background: var(--clean-bg) !important;
  color: var(--clean-ink) !important;
}

html body.lineoa-theme .mobile-shell {
  width: min(520px, 100%) !important;
  max-width: 520px !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  background:
    radial-gradient(circle at 95% 4%, rgba(199, 243, 228, 0.38), transparent 20rem),
    var(--clean-bg) !important;
  padding-top: 0 !important;
  padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
}

html body.lineoa-theme .dashboard-shell {
  gap: 0 !important;
  background: transparent !important;
}

html body.lineoa-theme .top-ribbon {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 74px !important;
  margin: 0 !important;
  padding: calc(env(safe-area-inset-top, 0px) + 14px) var(--clean-gutter) 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--clean-line) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 8px 20px rgba(7, 59, 49, 0.04) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
}

html body.lineoa-theme.is-groups-tab.is-group-detail-open .top-ribbon {
  display: none !important;
}

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

html body.lineoa-theme .top-brand-logo {
  display: block !important;
  width: clamp(136px, 34vw, 170px) !important;
  height: auto !important;
  object-fit: contain !important;
}

html body.lineoa-theme .top-ribbon-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: auto !important;
}

html body.lineoa-theme .top-notify-btn,
html body.lineoa-theme .top-profile-btn,
html body.lineoa-theme .group-detail-ribbon-icon,
html body.lineoa-theme .sheet-close-btn,
html body.lineoa-theme .sheet-dismiss-btn,
html body.lineoa-theme .group-match-detail-close,
html body.lineoa-theme .home-match-filter-close {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: var(--clean-green-dark) !important;
  box-shadow: none !important;
}

html body.lineoa-theme .top-profile-btn {
  overflow: hidden !important;
  padding: 3px !important;
  border-radius: 999px !important;
  border-color: rgba(78, 209, 165, 0.45) !important;
}

html body.lineoa-theme .top-brand-avatar {
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

html body.lineoa-theme .bottom-nav {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  width: min(520px, 100%) !important;
  max-width: 520px !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 8px var(--clean-gutter) calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  border: 0 !important;
  border-top: 1px solid var(--clean-line) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 -12px 30px rgba(7, 59, 49, 0.07) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

html body.lineoa-theme .bottom-nav .tab-btn {
  min-height: 58px !important;
  border-radius: 18px !important;
  background: transparent !important;
  color: #7b8582 !important;
  box-shadow: none !important;
}

html body.lineoa-theme .bottom-nav .tab-btn.is-active {
  color: var(--clean-green) !important;
}

html body.lineoa-theme .bottom-nav .tab-btn.is-active .tab-icon {
  color: var(--clean-green) !important;
  font-variation-settings: "FILL" 1, "wght" 520, "GRAD" 0, "opsz" 24 !important;
}

html body.lineoa-theme #dashboard > #tab-home[data-tab="matches"].tab-panel,
html body.lineoa-theme #dashboard > #tab-groups.tab-panel,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel {
  width: 100% !important;
  max-width: 520px !important;
  margin-inline: auto !important;
  padding: 22px var(--clean-gutter) 28px !important;
  background: transparent !important;
}

html body.lineoa-theme #dashboard > #tab-home[data-tab="matches"].tab-panel > .my-matches-screen,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel > #communitySwitchCard,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel > .community-view,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel > #profileSwitchCard,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel > .profile-view {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.lineoa-theme #dashboard > #tab-arena.tab-panel #communityCourtsView.profile-view > .community-courts-shell.card,
html body.lineoa-theme #dashboard > #tab-arena.tab-panel #communityRankingView.profile-view > .community-ranking-admin-content,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel #profileDashboardView.profile-view > .profile-ref-section,
html body.lineoa-theme #dashboard > #tab-profile.tab-panel #profileStatsView.profile-view > .profile-ref-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .my-matches-head,
html body.lineoa-theme .groups-list-header,
html body.lineoa-theme .group-open-list-head,
html body.lineoa-theme .court-directory-head,
html body.lineoa-theme .profile-ref-section-head {
  margin: 0 0 14px !important;
  padding: 0 !important;
}

html body.lineoa-theme .my-matches-head h2,
html body.lineoa-theme .groups-list-header h3,
html body.lineoa-theme .group-open-list-head h3,
html body.lineoa-theme .court-directory-head h3,
html body.lineoa-theme .profile-ref-section-title,
html body.lineoa-theme .profile-ranking-title {
  margin: 0 !important;
  color: var(--clean-green) !important;
  font-family: var(--font-headline) !important;
  font-size: clamp(1.45rem, 6vw, 2rem) !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.18 !important;
}

html body.lineoa-theme .my-matches-primary-tabs,
html body.lineoa-theme .group-detail-tab-nav,
html body.lineoa-theme .profile-view-switch,
html body.lineoa-theme .community-switch-card,
html body.lineoa-theme .court-surface-filter {
  border: 0 !important;
  border-bottom: 1px solid var(--clean-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .my-matches-primary-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  margin: 0 0 16px !important;
}

html body.lineoa-theme .my-matches-primary-tabs button,
html body.lineoa-theme .group-detail-tab-btn,
html body.lineoa-theme .profile-view-btn,
html body.lineoa-theme .community-switch-card button {
  position: relative !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #3e4644 !important;
  font-family: var(--font-body) !important;
  font-size: 0.98rem !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

html body.lineoa-theme .my-matches-primary-tabs button::after,
html body.lineoa-theme .group-detail-tab-btn::after,
html body.lineoa-theme .profile-view-btn::after,
html body.lineoa-theme .community-switch-card button::after {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: -1px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: transparent !important;
}

html body.lineoa-theme .my-matches-primary-tabs button.is-active,
html body.lineoa-theme .group-detail-tab-btn.is-active,
html body.lineoa-theme .profile-view-btn.is-active,
html body.lineoa-theme .community-switch-card button.is-active {
  color: var(--clean-green) !important;
  font-weight: 800 !important;
}

html body.lineoa-theme .my-matches-primary-tabs button.is-active::after,
html body.lineoa-theme .group-detail-tab-btn.is-active::after,
html body.lineoa-theme .profile-view-btn.is-active::after,
html body.lineoa-theme .community-switch-card button.is-active::after {
  background: var(--clean-green) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) {
  display: grid !important;
  gap: 14px !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-card {
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid rgba(7, 59, 49, 0.08) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(7, 59, 49, 0.08) !important;
  list-style: none !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-main {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(88px, 110px) !important;
  grid-template-areas:
    "summary status"
    "top top"
    "title avatars"
    "location avatars"
    "tags tags"
    "action action" !important;
  align-items: start !important;
  gap: 8px 12px !important;
  min-height: 0 !important;
  padding: 15px !important;
  border: 0 !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(199, 243, 228, 0.94) 0, rgba(199, 243, 228, 0.94) 118px, #ffffff 118px, #ffffff 100%) !important;
  box-shadow: none !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% - 90px) !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-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: 999px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: var(--clean-green) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill.is-ranked {
  background: #fff3d7 !important;
  color: #8a5a00 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill.is-friendly {
  background: #eef8ed !important;
  color: var(--clean-green) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .cmatch-top-row {
  grid-area: top !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  margin: 4px 0 0 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-schedule {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  max-width: calc(100% - 18px) !important;
  margin: 0 !important;
  color: var(--clean-green) !important;
  font-family: var(--font-body) !important;
  font-size: 0.84rem !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-schedule-part .material-symbols-outlined {
  color: var(--clean-green) !important;
  font-size: 1rem !important;
}

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

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-count-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.84) !important;
  color: #23302d !important;
  font-size: 0.78rem !important;
  font-weight: 780 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-count-pill .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1rem !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-host-crown {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: var(--clean-green) !important;
  color: #fff !important;
  box-shadow: none !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-host-crown .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.08rem !important;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-title {
  grid-area: title !important;
  min-width: 0 !important;
  margin: 22px 0 2px !important;
  overflow-wrap: anywhere !important;
  color: var(--clean-ink) !important;
  font-family: var(--font-headline) !important;
  font-size: clamp(1.22rem, 5.2vw, 1.58rem) !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.16 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-location {
  grid-area: location !important;
  display: grid !important;
  grid-template-columns: 19px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #4d5956 !important;
  font-family: var(--font-body) !important;
  font-size: 0.94rem !important;
  font-weight: 560 !important;
  line-height: 1.28 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-location .material-symbols-outlined {
  color: var(--clean-green) !important;
  font-size: 1.16rem !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-court-name-link {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: inherit !important;
  font: inherit !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !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;
  min-width: 0 !important;
  margin: 10px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(7, 59, 49, 0.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-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  overflow: visible !important;
  color: #53615e !important;
  font-family: var(--font-body) !important;
  font-size: 0.86rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

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

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-divider {
  display: block !important;
  width: 1px !important;
  height: 20px !important;
  background: var(--clean-line) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-avatar-stack {
  grid-area: avatars !important;
  display: grid !important;
  align-self: center !important;
  justify-items: center !important;
  gap: 4px !important;
  min-width: 92px !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-avatar-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-avatar-row > * + * {
  margin-left: -8px !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-party-avatar,
html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-avatar-empty,
html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-avatar-more {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-party-avatar:first-child {
  border: 2px solid #31b321 !important;
  box-shadow: 0 0 0 2px rgba(189, 242, 31, 0.46), 0 4px 12px rgba(7, 59, 49, 0.14) !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-avatar-empty {
  display: grid !important;
  place-items: center !important;
  border: 2px dashed #cbd7d3 !important;
  background: rgba(255, 255, 255, 0.7) !important;
  color: #77837f !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-slots-left-label {
  margin: 0 !important;
  color: #6e7c78 !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 520 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-join-btn {
  grid-area: action !important;
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  margin: 8px 0 0 !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--clean-lime), #8bd91e) !important;
  color: #102100 !important;
  box-shadow: 0 14px 28px rgba(76, 178, 31, 0.14) !important;
  font-family: var(--font-headline) !important;
  font-size: 0.96rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-join-btn:is(.is-host-edit, .is-report, .is-joined) {
  background: #effbd0 !important;
  color: #234a0c !important;
  box-shadow: none !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-join-btn:is(.is-leave, .is-disabled),
html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-join-btn:disabled {
  border: 1px solid var(--clean-line) !important;
  background: var(--clean-soft) !important;
  color: #7d8784 !important;
  box-shadow: none !important;
}

html body.lineoa-theme .sheet-card,
html body.lineoa-theme .group-match-detail-sheet,
html body.lineoa-theme .modal-card.home-match-filter-modal-card,
html body.lineoa-theme .report-modal-card,
html body.lineoa-theme .court-filter-modal-card {
  width: min(520px, 100%) !important;
  max-width: 520px !important;
  border: 0 !important;
  border-radius: 26px 26px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 -18px 48px rgba(7, 59, 49, 0.14) !important;
}

html body.lineoa-theme .sheet-header,
html body.lineoa-theme .qp-sheet-header,
html body.lineoa-theme .group-match-detail-head,
html body.lineoa-theme .home-match-filter-modal-head,
html body.lineoa-theme .report-modal-head,
html body.lineoa-theme .court-filter-modal-head,
html body.lineoa-theme .group-settings-head {
  min-height: 58px !important;
  height: 58px !important;
  padding: 8px var(--clean-gutter) !important;
  border-bottom: 1px solid var(--clean-line) !important;
  background: #fff !important;
}

html body.lineoa-theme .sheet-title,
html body.lineoa-theme .group-match-detail-head h3,
html body.lineoa-theme .home-match-filter-modal-head h3,
html body.lineoa-theme .report-modal-head h3,
html body.lineoa-theme .court-filter-modal-head h3,
html body.lineoa-theme .group-settings-head h3 {
  color: var(--clean-ink) !important;
  font-family: var(--font-headline) !important;
  font-size: 1.05rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

html body.lineoa-theme .group-match-detail-actions,
html body.lineoa-theme .home-match-filter-actions,
html body.lineoa-theme .report-modal-actions,
html body.lineoa-theme .group-settings-actions,
html body.lineoa-theme .qp-step-actions {
  padding: 12px var(--clean-gutter) calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid var(--clean-line) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 -10px 30px rgba(7, 59, 49, 0.06) !important;
}

html body.lineoa-theme .group-match-detail-edit-btn,
html body.lineoa-theme .home-match-filter-submit-btn,
html body.lineoa-theme .report-submit-btn,
html body.lineoa-theme .primary-btn {
  min-height: 50px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #15913f, #0e7e36) !important;
  color: #fff !important;
  font-weight: 850 !important;
  box-shadow: 0 16px 30px rgba(16, 138, 60, 0.18) !important;
}

html body.lineoa-theme .group-match-detail-share-btn,
html body.lineoa-theme .home-match-filter-reset-btn,
html body.lineoa-theme .secondary-btn {
  min-height: 50px !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--clean-ink) !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

@media (max-width: 390px) {
  html body.lineoa-theme #dashboard > #tab-home[data-tab="matches"].tab-panel,
  html body.lineoa-theme #dashboard > #tab-groups.tab-panel,
  html body.lineoa-theme #dashboard > #tab-arena.tab-panel,
  html body.lineoa-theme #dashboard > #tab-profile.tab-panel {
    padding-inline: 14px !important;
  }

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

/* Clean task redesign v3: unify remaining sheets, forms, filters, rankings, courts */
:root {
  --task-card-radius: 24px;
  --task-row-height: 52px;
  --task-field-radius: 16px;
  --task-section-gap: 14px;
}

html body.lineoa-theme :is(.smatch-sheet-modal, .group-match-detail-modal, .home-match-filter-modal, .court-filter-modal, .arena-report-modal, .modal-shell) {
  align-items: flex-end !important;
  background: rgba(18, 25, 23, 0.34) !important;
  backdrop-filter: blur(8px) !important;
}

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) {
  width: min(520px, 100%) !important;
  max-width: 520px !important;
  max-height: min(92dvh, 820px) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border: 0 !important;
  border-radius: 26px 26px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 -18px 48px rgba(7, 59, 49, 0.14) !important;
}

html body.lineoa-theme :is(.sheet-header, .qp-sheet-header, .group-match-detail-head, .arena-report-head, .home-match-filter-modal-head, .report-modal-head, .court-filter-modal-head, .court-add-modal-head, .group-settings-head, .group-report-picker-head, .notifications-header) {
  min-height: 58px !important;
  height: 58px !important;
  padding: 8px var(--clean-gutter) !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  border-bottom: 1px solid var(--clean-line) !important;
  background: #fff !important;
}

html body.lineoa-theme :is(.sheet-title, .group-match-detail-head h3, .arena-report-head h4, .home-match-filter-modal-head h3, .report-modal-head h3, .court-filter-modal-head h3, .court-add-modal-head h3, .group-settings-head h3, .group-report-picker-head h3, .notifications-header h2) {
  margin: 0 !important;
  color: var(--clean-ink) !important;
  font-family: var(--font-headline) !important;
  font-size: 1.05rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

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: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: var(--clean-ink) !important;
  box-shadow: none !important;
}

html body.lineoa-theme :is(.qp-form, .group-settings-form, .report-ref-form) {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--clean-bg) !important;
}

html body.lineoa-theme #quickSmatchForm :is(.qp-step-page, .qp-review-screen),
html body.lineoa-theme .home-match-filter-fields,
html body.lineoa-theme .court-filter-fields,
html body.lineoa-theme .court-add-fields,
html body.lineoa-theme .arena-report-sheet .report-match-card,
html body.lineoa-theme .group-match-detail-content,
html body.lineoa-theme .group-settings-content,
html body.lineoa-theme .group-report-picker-list,
html body.lineoa-theme .notifications-body {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  padding: 16px var(--clean-gutter) 96px !important;
  background: linear-gradient(180deg, #fff 0%, var(--clean-bg) 100%) !important;
}

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

html body.lineoa-theme :is(.qp-section, .home-match-filter-fields, .court-filter-fields, .court-add-fields, .group-settings-content, .group-match-detail-content) {
  gap: var(--task-section-gap) !important;
}

html body.lineoa-theme :is(.qp-section-title, .home-match-filter-group h4, .court-add-group h4, .report-ref-card h4, .profile-ref-section-title, .group-settings-card-head h4) {
  margin: 0 0 12px !important;
  color: var(--clean-ink) !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

html body.lineoa-theme :is(.qp-settings-card, .qp-detail-card, .home-match-filter-fields > .home-match-filter-group, .home-match-filter-fields > .home-match-filter-select-field, .court-filter-fields > .home-match-filter-group, .court-add-fields > .home-match-filter-group, .report-ref-card, .open-match-detail-players-card, .open-match-detail-card, .group-settings-card, .profile-stats-card, .profile-ranking-card, .community-courts-shell, .group-detail-card) {
  border: 1px solid var(--clean-line) !important;
  border-radius: var(--task-card-radius) !important;
  background: #fff !important;
  box-shadow: var(--clean-shadow-soft) !important;
}

html body.lineoa-theme #quickSmatchForm :is(.qp-settings-card, .qp-detail-card),
html body.lineoa-theme :is(.home-match-filter-fields > .home-match-filter-group, .home-match-filter-fields > .home-match-filter-select-field, .court-filter-fields > .home-match-filter-group, .court-add-fields > .home-match-filter-group, .report-ref-card, .group-settings-card) {
  padding: 14px 16px !important;
}

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

html body.lineoa-theme #quickSmatchForm :is(.qp-title-setting-row, .qp-match-type-card-wrap, .qp-note-row, .qp-players-row),
html body.lineoa-theme .court-add-field:has(textarea),
html body.lineoa-theme .report-ref-card {
  grid-template-columns: 1fr !important;
}

html body.lineoa-theme #quickSmatchForm :is(.qp-setting-label, .qp-row-label),
html body.lineoa-theme .home-match-filter-select-field > span,
html body.lineoa-theme .group-settings-row > span,
html body.lineoa-theme .court-add-field > span,
html body.lineoa-theme .report-ref-label {
  color: var(--clean-ink) !important;
  font-size: .92rem !important;
  font-weight: 820 !important;
  line-height: 1.25 !important;
}

html body.lineoa-theme #quickSmatchForm .qp-match-type-card-wrap {
  margin: 10px 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(7, 59, 49, 0.08) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #fff, #fbfdfb) !important;
}

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

html body.lineoa-theme #quickSmatchForm .post-type-card {
  min-height: 104px !important;
  padding: 14px 10px !important;
  justify-content: center !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.lineoa-theme #quickSmatchForm .post-type-card.is-active {
  border-color: var(--clean-green) !important;
  background: linear-gradient(135deg, rgba(199, 243, 228, 0.84), rgba(239, 251, 208, 0.86)) !important;
}

html body.lineoa-theme #quickSmatchForm .qp-type-icon {
  color: var(--clean-green) !important;
  font-size: 1.7rem !important;
}

html body.lineoa-theme #quickSmatchForm .qp-type-title {
  font-size: .98rem !important;
  font-weight: 850 !important;
}

html body.lineoa-theme #quickSmatchForm .qp-type-sub {
  font-size: .78rem !important;
  color: var(--clean-muted) !important;
}

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

html body.lineoa-theme #quickSmatchForm :is(.qp-pill, .qp-requirement-pill),
html body.lineoa-theme :is(.home-match-filter-choice-chip, .group-settings-pill-set button, .report-ref-segmented button, .court-surface-filter button) {
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--clean-ink) !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

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

html body.lineoa-theme #quickSmatchForm :is(input:not([type="range"]), textarea, .qp-time-cell, .qp-date-nav, .qp-venue-input-wrap),
html body.lineoa-theme :is(.home-match-filter-location-toggle, .home-match-filter-location-search, .home-match-filter-range-input-row input, .home-match-filter-range-input-row select, .court-picker-input-shell, .court-add-field input, .report-ref-picker input, .report-notes-field textarea, .group-settings-court-shell) {
  min-height: 48px !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: var(--task-field-radius) !important;
  background: #fff !important;
  color: var(--clean-ink) !important;
  box-shadow: none !important;
}

html body.lineoa-theme #quickSmatchForm :is(textarea, input:not([type="range"])),
html body.lineoa-theme :is(.court-add-field input, .report-ref-picker input, .report-notes-field textarea, .home-match-filter-location-search input) {
  padding-inline: 14px !important;
}

html body.lineoa-theme #quickSmatchForm .qp-divider,
html body.lineoa-theme .home-match-filter-group + .home-match-filter-group,
html body.lineoa-theme .group-settings-row + .group-settings-row {
  border-color: rgba(7, 59, 49, 0.08) !important;
}

html body.lineoa-theme #quickSmatchForm .qp-level-gauge,
html body.lineoa-theme .quick-party-capacity-range,
html body.lineoa-theme .group-settings-capacity {
  padding: 10px 0 4px !important;
}

html body.lineoa-theme :is(.qp-step-actions, .group-match-detail-actions, .home-match-filter-actions, .report-modal-actions, .group-settings-actions) {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 8 !important;
  padding: 12px var(--clean-gutter) calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid var(--clean-line) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 -10px 30px 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, .group-settings-actions) {
  display: grid !important;
  grid-template-columns: 1fr 1.6fr !important;
  gap: 10px !important;
}

html body.lineoa-theme .qp-step-actions-row--single,
html body.lineoa-theme .qp-step-actions--single .qp-step-actions-row {
  grid-template-columns: 1fr !important;
}

html body.lineoa-theme :is(.group-match-detail-edit-btn, .home-match-filter-submit-btn, .report-submit-btn, .primary-btn, #reportSubmitBtn) {
  min-height: 50px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #15913f, #0e7e36) !important;
  color: #fff !important;
  font-weight: 850 !important;
  box-shadow: 0 16px 30px rgba(16, 138, 60, 0.18) !important;
}

html body.lineoa-theme :is(.group-match-detail-share-btn, .home-match-filter-reset-btn, .secondary-btn, .court-card-detail-btn) {
  min-height: 50px !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--clean-ink) !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

/* Match detail and court detail sheets */
html body.lineoa-theme .open-match-detail-main-card {
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: var(--clean-shadow) !important;
}

html body.lineoa-theme .open-match-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

html body.lineoa-theme .open-match-detail-meta-col {
  padding: 18px !important;
  background: linear-gradient(135deg, rgba(199, 243, 228, 0.96), rgba(239, 251, 208, 0.82)) !important;
}

html body.lineoa-theme .open-match-detail-cover {
  order: -1 !important;
  width: 100% !important;
  height: 148px !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

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

html body.lineoa-theme .open-match-detail-pill {
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  color: var(--clean-green) !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
}

html body.lineoa-theme .open-match-detail-info-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 10px 0 !important;
  color: #59645f !important;
}

html body.lineoa-theme .open-match-detail-info-row strong {
  color: var(--clean-ink) !important;
  font-weight: 850 !important;
}

html body.lineoa-theme .open-match-detail-info-row .material-symbols-outlined {
  color: var(--clean-green) !important;
}

html body.lineoa-theme :is(.open-match-detail-players-card, .open-match-detail-card) {
  margin-top: 14px !important;
  padding: 16px !important;
}

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

/* Report result: score-first, less dense */
html body.lineoa-theme .arena-report-sheet .report-match-card {
  padding-top: 14px !important;
}

html body.lineoa-theme .report-ref-form {
  gap: 14px !important;
  background: transparent !important;
}

html body.lineoa-theme .report-ref-card {
  padding: 16px !important;
}

html body.lineoa-theme .set-score-section {
  order: -1 !important;
  background: linear-gradient(135deg, rgba(199, 243, 228, 0.92), rgba(255, 255, 255, 0.96)) !important;
}

html body.lineoa-theme .set-score-grid {
  border: 0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(7, 59, 49, 0.08) !important;
}

html body.lineoa-theme .set-score-row {
  min-height: 58px !important;
}

html body.lineoa-theme .set-cell {
  width: 48px !important;
  height: 44px !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--clean-ink) !important;
  font-size: 1.15rem !important;
  font-weight: 850 !important;
}

html body.lineoa-theme .report-score-hint {
  color: var(--clean-muted) !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

html body.lineoa-theme .report-team-row,
html body.lineoa-theme .report-ref-row {
  min-height: 54px !important;
  border-color: rgba(7, 59, 49, 0.08) !important;
}

html body.lineoa-theme .report-player-chip {
  border-radius: 18px !important;
  background: #f8fbf9 !important;
}

/* Filter sheets: readable sections, hidden clutter on main surface */
html body.lineoa-theme .home-match-filter-inline-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}

html body.lineoa-theme .home-match-filter-location-top {
  gap: 10px !important;
}

html body.lineoa-theme .home-nearme-pill,
html body.lineoa-theme .home-location-gps {
  min-height: 46px !important;
  border-radius: 16px !important;
}

html body.lineoa-theme .home-match-filter-location-menu,
html body.lineoa-theme .court-picker-dropdown,
html body.lineoa-theme .group-settings-court-list {
  border: 1px solid var(--clean-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: var(--clean-shadow) !important;
}

/* Group/ranking/courts task surfaces */
html body.lineoa-theme .group-detail-shell {
  gap: 14px !important;
}

html body.lineoa-theme .group-open-matches-card {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .group-open-list-head {
  margin-bottom: 12px !important;
}

html body.lineoa-theme .group-open-filter-row {
  margin: 0 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--clean-line) !important;
}

html body.lineoa-theme .group-detail-tab-panel {
  padding-top: 12px !important;
}

html body.lineoa-theme .profile-leaderboard-table-wrap,
html body.lineoa-theme .table-wrap {
  overflow: hidden !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--clean-shadow-soft) !important;
}

html body.lineoa-theme :is(.leaderboard-table, .profile-leaderboard-table) {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

html body.lineoa-theme :is(.leaderboard-table, .profile-leaderboard-table) th {
  height: 44px !important;
  background: #f8fbf9 !important;
  color: var(--clean-muted) !important;
  font-size: .78rem !important;
}

html body.lineoa-theme :is(.leaderboard-table, .profile-leaderboard-table) td {
  padding: 12px 10px !important;
  border-top: 1px solid rgba(7, 59, 49, 0.07) !important;
}

html body.lineoa-theme .profile-ranking-row.is-self {
  background: #effbd0 !important;
}

html body.lineoa-theme .profile-stats-card {
  overflow: hidden !important;
  padding: 18px !important;
  background: linear-gradient(135deg, #073b31, #102016) !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(7, 59, 49, 0.2) !important;
}

html body.lineoa-theme .profile-stat-panel-head,
html body.lineoa-theme .profile-stat-breakdown {
  gap: 10px !important;
}

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

html body.lineoa-theme .community-courts-shell {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.lineoa-theme .court-directory-head {
  margin-bottom: 12px !important;
}

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

html body.lineoa-theme #courtList {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

html body.lineoa-theme .court-card {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  overflow: hidden !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--clean-shadow-soft) !important;
}

html body.lineoa-theme .court-card-media {
  min-height: 100% !important;
  height: auto !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 {
  margin: 0 0 4px !important;
  font-size: .96rem !important;
  line-height: 1.25 !important;
}

html body.lineoa-theme .court-feature-row {
  gap: 8px !important;
  font-size: .76rem !important;
}

html body.lineoa-theme .court-card-foot {
  align-items: center !important;
  gap: 8px !important;
}

html body.lineoa-theme .court-card-actions {
  gap: 8px !important;
}

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

/* Assistant and empty states */
html body.lineoa-theme :is(.feed-empty, .home-empty-card, .group-empty-state, .group-detail-report-empty, .my-matches-empty-state, .notifications-empty, .profile-static-soon-card, .group-tournament-coming-soon-card) {
  display: grid !important;
  place-items: center !important;
  gap: 10px !important;
  min-height: 150px !important;
  padding: 24px 18px !important;
  border: 1px solid var(--clean-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  color: var(--clean-muted) !important;
  text-align: center !important;
  box-shadow: var(--clean-shadow-soft) !important;
}

html body.lineoa-theme :is(.profile-static-soon-title, .group-tournament-coming-soon-inner strong, .feed-empty strong, .home-empty-card strong, .group-empty-state strong) {
  color: var(--clean-ink) !important;
  font-size: 1.05rem !important;
  font-weight: 850 !important;
}

@media (max-width: 390px) {
  html body.lineoa-theme #quickSmatchForm :is(.qp-setting-row, .qp-detail-row),
  html body.lineoa-theme .group-settings-row,
  html body.lineoa-theme .home-match-filter-select-field,
  html body.lineoa-theme .court-add-field {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html body.lineoa-theme #quickSmatchForm .qp-type-grid {
    gap: 10px !important;
  }

  html body.lineoa-theme .court-card {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}

/* Live UI correction 2026-04-29: align production with the clean reference pass. */
html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-main {
  grid-template-columns: minmax(0, 1fr) 94px !important;
  grid-template-areas:
    "summary status"
    "top status"
    "count avatars"
    "location avatars"
    "tags tags"
    "action action" !important;
  gap: 8px 12px !important;
  padding: 14px !important;
  background:
    linear-gradient(180deg, rgba(199, 243, 228, 0.98) 0, rgba(199, 243, 228, 0.98) 112px, #ffffff 112px, #ffffff 100%) !important;
}

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

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-title {
  grid-area: count !important;
  margin: 10px 0 0 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow-wrap: normal !important;
  color: var(--clean-ink) !important;
  font-size: clamp(1rem, 4.1vw, 1.18rem) !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-title::first-letter {
  text-transform: none;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-location {
  margin-top: 4px !important;
  font-size: .9rem !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-list {
  gap: 8px 11px !important;
  margin-top: 11px !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-detail-item {
  font-size: .82rem !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-join-btn {
  margin-top: 10px !important;
}

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

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

html body.lineoa-theme .open-match-detail-cover {
  order: 0 !important;
  display: block !important;
  width: 100% !important;
  height: clamp(132px, 34vw, 172px) !important;
  max-height: 180px !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

html body.lineoa-theme .open-match-detail-meta-col {
  order: 1 !important;
  padding: 16px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(189, 242, 31, .18), transparent 36%),
    linear-gradient(135deg, rgba(199, 243, 228, .95), rgba(255, 255, 255, .96)) !important;
}

html body.lineoa-theme .open-match-detail-info-row {
  min-height: 28px !important;
  margin: 7px 0 !important;
  line-height: 1.35 !important;
}

html body.lineoa-theme .open-match-detail-info-row strong,
html body.lineoa-theme .open-match-detail-info-row small {
  overflow-wrap: anywhere !important;
}

html body.lineoa-theme .open-match-detail-calendar-link {
  margin-left: auto !important;
  white-space: nowrap !important;
}

html body.lineoa-theme .open-match-detail-copy-card {
  overflow: visible !important;
}

html body.lineoa-theme .open-match-detail-copy-card p {
  margin: 8px 0 0 !important;
  overflow: visible !important;
  display: block !important;
}

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

html body.lineoa-theme .court-card {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  border-radius: 20px !important;
}

html body.lineoa-theme .court-card-media {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 1.42 / 1 !important;
}

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

html body.lineoa-theme .court-card-main {
  display: block !important;
  min-width: 0 !important;
}

html body.lineoa-theme .court-card h4 {
  display: -webkit-box !important;
  min-height: 2.45em !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  font-size: .98rem !important;
  line-height: 1.22 !important;
}

html body.lineoa-theme .court-card-main p {
  display: grid !important;
  grid-template-columns: 17px minmax(0, 1fr) !important;
  gap: 4px !important;
  margin: 5px 0 0 !important;
  font-size: .74rem !important;
  line-height: 1.25 !important;
}

html body.lineoa-theme .court-price {
  display: block !important;
  margin-top: 8px !important;
  color: var(--clean-green) !important;
  font-size: 1.08rem !important;
  line-height: 1.1 !important;
}

html body.lineoa-theme .court-feature-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  margin-top: 9px !important;
}

html body.lineoa-theme .court-feature-row span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.lineoa-theme .court-card-foot {
  display: grid !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

html body.lineoa-theme .court-status {
  font-size: .72rem !important;
}

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

html body.lineoa-theme .court-card-actions button {
  min-height: 34px !important;
  padding: 0 6px !important;
  border-radius: 12px !important;
  font-size: .72rem !important;
  line-height: 1.05 !important;
}

@media (max-width: 360px) {
  html body.lineoa-theme #courtList {
    grid-template-columns: 1fr !important;
  }
}

/* --------------------------------------------------------------------------
   Smatch Design System v2
   Clean, task-based, LINE-native layer. This maps new reusable component
   decisions onto current markup while preserving IDs, routes, and JS hooks.
   -------------------------------------------------------------------------- */

: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);

  --smatch-h1-size: clamp(1.75rem, 7vw, 2rem);
  --smatch-h2-size: clamp(1.35rem, 5vw, 1.5rem);
  --smatch-card-title-size: clamp(1.12rem, 4.5vw, 1.32rem);
  --smatch-body-size: 1rem;
  --smatch-meta-size: .88rem;
  --smatch-button-size: 1.02rem;

  --clean-bg: var(--smatch-bg-app);
  --clean-surface: var(--smatch-bg-card);
  --clean-ink: var(--smatch-text-primary);
  --clean-muted: var(--smatch-text-secondary);
  --clean-line: var(--smatch-border-soft);
  --clean-green: var(--smatch-brand-green);
  --clean-green-dark: var(--smatch-brand-dark-green);
  --clean-lime: var(--smatch-brand-lime);
  --clean-mint: var(--smatch-brand-mint);
  --clean-radius: var(--smatch-radius-card);
  --clean-gutter: var(--smatch-page-x);
  --clean-shadow: var(--smatch-shadow-card);
  --clean-shadow-soft: var(--smatch-shadow-soft);
}

html body.lineoa-theme {
  background:
    radial-gradient(circle at 100% 6%, rgba(191, 239, 216, 0.36), transparent 260px),
    var(--smatch-bg-app) !important;
  color: var(--smatch-text-primary) !important;
  font-size: 16px;
}

html body.lineoa-theme .mobile-shell {
  background:
    radial-gradient(circle at 100% 5%, rgba(191, 239, 216, 0.28), transparent 270px),
    var(--smatch-bg-app) !important;
  padding-bottom: calc(var(--smatch-bottom-safe) + env(safe-area-inset-bottom, 0px)) !important;
}

html body.lineoa-theme .tab-panel,
html body.lineoa-theme .groups-tab-panel,
html body.lineoa-theme .profile-dashboard-view,
html body.lineoa-theme .profile-static-view,
html body.lineoa-theme .community-panel,
html body.lineoa-theme .community-courts-shell,
html body.lineoa-theme .community-ranking-view,
html body.lineoa-theme .my-matches-screen,
html body.lineoa-theme .groups-list-shell,
html body.lineoa-theme .groups-list-panel,
html body.lineoa-theme .group-detail-shell {
  padding-inline: var(--smatch-page-x) !important;
}

html body.lineoa-theme .tab-panel,
html body.lineoa-theme .groups-tab-panel,
html body.lineoa-theme .profile-dashboard-view,
html body.lineoa-theme .community-panel {
  padding-top: var(--smatch-section-gap) !important;
}

/* Component: AppHeader */
html body.lineoa-theme .top-ribbon {
  min-height: 64px !important;
  padding: calc(env(safe-area-inset-top, 0px) + 12px) var(--smatch-page-x) 12px !important;
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid var(--smatch-border-soft) !important;
  box-shadow: 0 8px 24px rgba(7, 59, 49, .045) !important;
}

html body.lineoa-theme .group-match-detail-head,
html body.lineoa-theme .sheet-header,
html body.lineoa-theme .home-match-filter-modal-head,
html body.lineoa-theme .court-filter-modal-head,
html body.lineoa-theme .report-modal-head,
html body.lineoa-theme .profile-settings-detail-head,
html body.lineoa-theme .group-settings-head {
  min-height: 64px !important;
  padding: 12px var(--smatch-page-x) !important;
  border-bottom: 1px solid var(--smatch-border-soft) !important;
  background: rgba(255, 255, 255, .97) !important;
}

html body.lineoa-theme .group-match-detail-head h3,
html body.lineoa-theme .sheet-title,
html body.lineoa-theme .home-match-filter-modal-head h3,
html body.lineoa-theme .court-filter-modal-head h3,
html body.lineoa-theme .report-modal-head h3,
html body.lineoa-theme .profile-settings-detail-head h3,
html body.lineoa-theme .group-settings-head h3 {
  color: var(--smatch-text-primary) !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.22 !important;
}

/* Component: BottomActionBar */
html body.lineoa-theme .group-match-detail-actions,
html body.lineoa-theme .qp-step-actions,
html body.lineoa-theme .home-match-filter-actions,
html body.lineoa-theme .report-modal-actions,
html body.lineoa-theme .group-settings-actions {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 12 !important;
  margin: 0 calc(var(--smatch-page-x) * -1) !important;
  padding: 14px var(--smatch-page-x) calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  background: rgba(255, 255, 255, .97) !important;
  border-top: 1px solid var(--smatch-border-soft) !important;
  box-shadow: 0 -10px 28px rgba(7, 59, 49, .055) !important;
}

html body.lineoa-theme .group-match-detail-actions-row,
html body.lineoa-theme .qp-step-actions-row,
html body.lineoa-theme .home-match-filter-actions {
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

html body.lineoa-theme .qp-step-actions-row--single {
  grid-template-columns: 1fr !important;
}

html body.lineoa-theme .group-match-detail-edit-btn,
html body.lineoa-theme .home-match-filter-submit-btn,
html body.lineoa-theme .profile-settings-primary-btn,
html body.lineoa-theme .primary-btn,
html body.lineoa-theme .sheet-cta {
  min-height: 54px !important;
  border-radius: var(--smatch-radius-button) !important;
  border: 0 !important;
  background: linear-gradient(180deg, #1ba245 0%, var(--smatch-brand-green) 100%) !important;
  color: #fff !important;
  font-size: var(--smatch-button-size) !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 26px rgba(18, 138, 58, .16) !important;
}

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

html body.lineoa-theme .is-danger,
html body.lineoa-theme .is-cancel,
html body.lineoa-theme [data-action="cancel"],
html body.lineoa-theme [data-group-match-detail-cancel="true"] {
  border-color: rgba(217, 67, 53, .28) !important;
  background: var(--smatch-danger-soft) !important;
  color: var(--smatch-danger) !important;
}

/* Component: section headers */
html body.lineoa-theme .section-head,
html body.lineoa-theme .my-matches-head,
html body.lineoa-theme .community-courts-head,
html body.lineoa-theme .profile-ref-section-head,
html body.lineoa-theme .group-open-section-head,
html body.lineoa-theme .groups-section-head {
  margin: 0 0 14px !important;
}

html body.lineoa-theme h1,
html body.lineoa-theme .page-title {
  font-size: var(--smatch-h1-size) !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

html body.lineoa-theme h2,
html body.lineoa-theme .my-matches-head h2,
html body.lineoa-theme .profile-ref-section-title {
  color: var(--smatch-brand-green) !important;
  font-size: var(--smatch-h2-size) !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

html body.lineoa-theme h3,
html body.lineoa-theme h4 {
  letter-spacing: 0 !important;
}

/* Component: cards */
html body.lineoa-theme .card,
html body.lineoa-theme .challenge-match-card,
html body.lineoa-theme .group-detail-card,
html body.lineoa-theme .groups-hub-card,
html body.lineoa-theme .court-card,
html body.lineoa-theme .profile-stats-card,
html body.lineoa-theme .profile-ranking-card,
html body.lineoa-theme .profile-static-soon-card,
html body.lineoa-theme .home-match-filter-group,
html body.lineoa-theme .qp-settings-card,
html body.lineoa-theme .qp-detail-card,
html body.lineoa-theme .report-ref-card,
html body.lineoa-theme .group-settings-card {
  border: 1px solid rgba(7, 59, 49, .08) !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-settings-card,
html body.lineoa-theme .qp-detail-card,
html body.lineoa-theme .report-ref-card,
html body.lineoa-theme .group-settings-card,
html body.lineoa-theme .home-match-filter-group {
  padding: var(--smatch-card-padding) !important;
}

/* Component: SegmentedTabs */
html body.lineoa-theme .my-matches-primary-tabs,
html body.lineoa-theme .profile-stat-mode-tabs,
html body.lineoa-theme .profile-view-switcher,
html body.lineoa-theme .community-switch-card,
html body.lineoa-theme .group-detail-tab-nav {
  gap: 8px !important;
  padding: 5px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .76) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body.lineoa-theme .my-matches-primary-tabs button,
html body.lineoa-theme .profile-stat-mode-tabs button,
html body.lineoa-theme .profile-view-btn,
html body.lineoa-theme .community-switch-card button,
html body.lineoa-theme .group-detail-tab-btn {
  min-height: 44px !important;
  border-radius: 16px !important;
  color: var(--smatch-text-secondary) !important;
  font-size: .95rem !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

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

/* Component: PrimaryActionCard */
html body.lineoa-theme .home-create-match-pill,
html body.lineoa-theme .groups-create-btn,
html body.lineoa-theme .profile-static-soon-btn {
  min-height: 52px !important;
  padding: 0 18px !important;
  border-radius: var(--smatch-radius-button) !important;
  background: linear-gradient(135deg, var(--smatch-brand-green), #0b6c32) !important;
  color: #fff !important;
  font-size: var(--smatch-button-size) !important;
  font-weight: 850 !important;
  box-shadow: 0 14px 30px rgba(18, 138, 58, .16) !important;
}

/* Component: MatchCardClean compatibility */
html body.lineoa-theme .challenge-match-card {
  overflow: hidden !important;
  margin-bottom: var(--smatch-card-gap) !important;
}

html body.lineoa-theme .challenge-match-main {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px 16px !important;
  padding: 0 !important;
}

html body.lineoa-theme .cmatch-top-row {
  grid-column: 1 / -1 !important;
  padding: 14px 16px 10px !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(255, 255, 255, .44), transparent 150px),
    linear-gradient(135deg, rgba(191, 239, 216, .94), rgba(234, 251, 241, .96)) !important;
  border-bottom: 1px solid rgba(7, 59, 49, .06) !important;
}

html body.lineoa-theme .challenge-schedule {
  color: var(--smatch-brand-green) !important;
  font-size: .9rem !important;
  font-weight: 850 !important;
}

html body.lineoa-theme .challenge-top-status {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 2 !important;
}

html body.lineoa-theme .challenge-count-pill {
  min-height: 34px !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-text-primary) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

html body.lineoa-theme .challenge-host-crown {
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  background: var(--smatch-brand-green) !important;
  color: #fff !important;
}

html body.lineoa-theme .challenge-match-title {
  grid-column: 1 / 2 !important;
  margin: 14px 0 0 !important;
  padding-inline-start: 16px !important;
  color: var(--smatch-text-primary) !important;
  font-size: var(--smatch-card-title-size) !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .challenge-match-location {
  grid-column: 1 / 2 !important;
  padding-inline-start: 16px !important;
  color: var(--smatch-text-secondary) !important;
  font-size: .96rem !important;
  line-height: 1.3 !important;
}

html body.lineoa-theme .cmatch-meta-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  padding: 8px 16px 0 !important;
}

html body.lineoa-theme .challenge-detail-list {
  align-self: end !important;
}

html body.lineoa-theme .challenge-detail-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
}

html body.lineoa-theme .challenge-detail-row + .challenge-detail-row {
  margin-top: 5px !important;
}

html body.lineoa-theme .challenge-detail-item {
  min-width: 0 !important;
  gap: 6px !important;
  color: var(--smatch-text-secondary) !important;
  font-size: .9rem !important;
  line-height: 1.25 !important;
}

html body.lineoa-theme .challenge-detail-divider {
  height: 20px !important;
  opacity: .55 !important;
}

html body.lineoa-theme .challenge-avatar-stack {
  min-width: 94px !important;
  align-items: center !important;
}

html body.lineoa-theme .challenge-slots-left-label {
  display: block !important;
  width: 100% !important;
  margin-top: 4px !important;
  text-align: center !important;
  color: var(--smatch-text-secondary) !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
}

html body.lineoa-theme .challenge-join-btn {
  grid-column: 1 / -1 !important;
  width: auto !important;
  min-height: 48px !important;
  margin: 4px 16px 16px !important;
  border-radius: 17px !important;
  border: 0 !important;
  background: var(--smatch-brand-mint-soft) !important;
  color: var(--smatch-brand-dark-green) !important;
  font-size: .98rem !important;
  font-weight: 850 !important;
}

html body.lineoa-theme .challenge-join-btn:not(.is-host-edit):not(.is-disabled):not(.is-report):not(.is-leave) {
  background: linear-gradient(180deg, #1aa448, var(--smatch-brand-green)) !important;
  color: #fff !important;
}

/* Component: MatchTypePill */
html body.lineoa-theme .open-match-detail-pill,
html body.lineoa-theme .challenge-detail-item.is-ranked,
html body.lineoa-theme .challenge-detail-item.is-friendly,
html body.lineoa-theme .match-status-chip {
  border-radius: var(--smatch-radius-pill) !important;
  font-weight: 850 !important;
}

html body.lineoa-theme .challenge-detail-item.is-friendly .material-symbols-outlined,
html body.lineoa-theme .open-match-detail-pill.is-friendly .material-symbols-outlined {
  color: #7a4bd8 !important;
}

html body.lineoa-theme .challenge-detail-item.is-ranked .material-symbols-outlined {
  color: #9a6a06 !important;
}

/* Component: Sheet / Modal */
html body.lineoa-theme .sheet-card,
html body.lineoa-theme .modal-card,
html body.lineoa-theme .group-match-detail-sheet {
  border-radius: var(--smatch-radius-sheet) !important;
  background: var(--smatch-bg-app) !important;
  box-shadow: 0 -18px 54px rgba(7, 59, 49, .16) !important;
}

html body.lineoa-theme .group-match-detail-content,
html body.lineoa-theme .qp-form,
html body.lineoa-theme .home-match-filter-fields,
html body.lineoa-theme .court-filter-fields,
html body.lineoa-theme .report-modal-body,
html body.lineoa-theme .group-settings-content {
  padding: var(--smatch-section-gap) var(--smatch-page-x) !important;
}

html body.lineoa-theme .qp-section,
html body.lineoa-theme .home-match-filter-fields,
html body.lineoa-theme .report-modal-body,
html body.lineoa-theme .group-settings-content {
  display: grid !important;
  gap: var(--smatch-card-gap) !important;
}

html body.lineoa-theme .qp-section-title,
html body.lineoa-theme .home-match-filter-group h4,
html body.lineoa-theme .report-section-title,
html body.lineoa-theme .group-settings-card-head h4 {
  margin: 0 0 10px !important;
  color: var(--smatch-text-primary) !important;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

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

html body.lineoa-theme .post-type-card {
  min-height: 116px !important;
  padding: 16px !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

html body.lineoa-theme .post-type-card.is-active,
html body.lineoa-theme .qp-pill.is-active,
html body.lineoa-theme .qp-requirement-pill.is-active,
html body.lineoa-theme .home-match-filter-choice-chip.is-active,
html body.lineoa-theme .group-settings-pill-set button.is-active,
html body.lineoa-theme .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;
}

/* Component: clean forms */
html body.lineoa-theme input,
html body.lineoa-theme select,
html body.lineoa-theme textarea {
  border-color: 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 input::placeholder,
html body.lineoa-theme textarea::placeholder {
  color: #9aa5a7 !important;
  opacity: 1 !important;
}

html body.lineoa-theme input:focus,
html body.lineoa-theme select:focus,
html body.lineoa-theme textarea:focus,
html body.lineoa-theme button:focus-visible {
  outline: 3px solid rgba(185, 245, 41, .42) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 1px rgba(18, 138, 58, .12) !important;
}

/* Component: EmptyState */
html body.lineoa-theme .empty-state,
html body.lineoa-theme .home-empty-state,
html body.lineoa-theme .groups-empty-state,
html body.lineoa-theme .community-empty-state,
html body.lineoa-theme .profile-static-soon-card,
html body.lineoa-theme .group-tournament-coming-soon-card {
  display: grid !important;
  gap: 10px !important;
  padding: 24px !important;
  text-align: left !important;
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  border: 1px solid var(--smatch-border-soft) !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

/* Component: CourtCard */
html body.lineoa-theme #courtList {
  gap: var(--smatch-card-gap) !important;
}

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

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

/* Component: QuickActionList / assistant-style menus */
html body.lineoa-theme .profile-settings-row,
html body.lineoa-theme .notifications-panel-card,
html body.lineoa-theme .groups-hub-card {
  border-radius: 20px !important;
  border: 1px solid var(--smatch-border-soft) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

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

  html body.lineoa-theme .challenge-match-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.lineoa-theme .cmatch-meta-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

/* Smatch Design System v2 / Phase 2: final component consolidation
   This layer intentionally sits last so older clean-trial rules cannot win. */

html body.lineoa-theme {
  background:
    radial-gradient(circle at 82% 4%, rgba(191, 239, 216, .44), transparent 28%),
    linear-gradient(180deg, #ffffff 0, var(--smatch-bg-app) 240px, var(--smatch-bg-app) 100%) !important;
}

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

/* AppHeader */
html body.lineoa-theme .top-ribbon.card {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
  width: auto !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 {
  gap: 0 !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 .smatch-wordmark,
html body.lineoa-theme .top-ribbon .top-brand-logo {
  width: min(178px, 42vw) !important;
  height: auto !important;
}

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

html body.lineoa-theme .top-notify-btn {
  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, .report-modal-header, .group-settings-head) {
  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, .96) !important;
}

html body.lineoa-theme :is(.group-match-detail-head, .sheet-header, .home-match-filter-modal-head, .court-filter-modal-head, .report-modal-header, .group-settings-head) h3,
html body.lineoa-theme .sheet-title {
  color: var(--smatch-text-primary) !important;
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !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) {
  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) {
  display: grid !important;
  gap: var(--smatch-card-gap) !important;
}

html body.lineoa-theme :is(.section-kicker, .mini-overline) {
  color: var(--smatch-brand-green) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !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) {
  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;
}

/* SegmentedTabs */
html body.lineoa-theme :is(.my-matches-primary-tabs, .profile-view-switch, .community-switch-card, .group-detail-tab-nav) {
  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) 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) 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) button.is-active::after {
  height: 4px !important;
  border-radius: 99px !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) 98px !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: 120px !important;
  background:
    radial-gradient(circle at 90% 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 {
  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 #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill .material-symbols-outlined {
  font-size: 1rem !important;
  color: currentColor !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill.is-ranked {
  background: #fff2d7 !important;
  color: #8a5c00 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-card-pill.is-friendly {
  background: rgba(255, 255, 255, .8) !important;
  color: #6c4cc4 !important;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .cmatch-top-row {
  grid-area: top !important;
  margin: 5px 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;
}

html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-count-pill,
html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-host-crown {
  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: 26px 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-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-text-secondary) !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 {
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid var(--smatch-border-soft) !important;
  border-radius: var(--smatch-radius-hero-card) !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(148px, 36vw, 190px) !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: 10px !important;
  padding: 18px !important;
  background:
    radial-gradient(circle at 92% 12%, 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 .open-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 .open-match-detail-info-row strong {
  color: var(--smatch-text-primary) !important;
  font-weight: 900 !important;
}

html body.lineoa-theme .open-match-detail-players-card,
html body.lineoa-theme .open-match-detail-card {
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--smatch-shadow-soft) !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;
}

/* Create/Edit flow + Filter sheets */
html body.lineoa-theme #quickSmatchForm,
html body.lineoa-theme #homeMatchFilterForm,
html body.lineoa-theme #courtFilterForm,
html body.lineoa-theme #reportForm,
html body.lineoa-theme #groupSettingsForm {
  background: var(--smatch-bg-app) !important;
}

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

html body.lineoa-theme :is(.qp-settings-card, .qp-detail-card, .home-match-filter-fields > *, .court-filter-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 .home-match-filter-select-field,
html body.lineoa-theme .home-match-filter-group,
html body.lineoa-theme .group-settings-row {
  grid-template-columns: 118px minmax(0, 1fr) !important;
  gap: 14px !important;
  min-height: 62px !important;
  padding: 14px 0 !important;
  align-items: center !important;
}

html body.lineoa-theme .qp-divider {
  margin: 0 !important;
  background: var(--smatch-border-soft) !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(.post-type-card, .qp-pill, .qp-requirement-pill, .home-match-filter-choice-chip, .group-settings-pill-set button) {
  min-height: 50px !important;
  border-radius: 17px !important;
}

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

html body.lineoa-theme .set-score-section {
  background:
    radial-gradient(circle at 90% 4%, rgba(185, 245, 41, .16), transparent 30%),
    #fff !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: 54px !important;
  border-radius: 16px !important;
  font-size: 1.28rem !important;
  font-weight: 900 !important;
}

/* Group, ranking, stats, courts */
html body.lineoa-theme .groups-hub-card,
html body.lineoa-theme .profile-ranking-card,
html body.lineoa-theme .profile-stats-card,
html body.lineoa-theme .group-ranking-list > *,
html body.lineoa-theme .match-feed-item {
  border-radius: var(--smatch-radius-card) !important;
  background: #fff !important;
  border: 1px solid var(--smatch-border-soft) !important;
  box-shadow: var(--smatch-shadow-soft) !important;
}

html body.lineoa-theme .profile-stats-card {
  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 #courtList {
  gap: 14px !important;
}

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

@media (max-width: 390px) {
  html body.lineoa-theme #dashboard :is(#myMatchesList, #homeFeedList, #groupOpenFeedList) .challenge-match-main {
    grid-template-columns: minmax(0, 1fr) 88px !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 .home-match-filter-select-field,
  html body.lineoa-theme .home-match-filter-group,
  html body.lineoa-theme .group-settings-row {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}
