:root {
    --nb-bg: #f5f7fb;
    --nb-card: #ffffff;
    --nb-text: #172033;
    --nb-muted: #667085;
    --nb-border: #e5e7eb;
    --nb-primary: #1f6feb;
    --nb-primary-hover: #1557c0;
    --nb-success: #16a34a;
    --nb-danger: #dc2626;
    --nb-warning: #f59e0b;
    --nb-radius: 18px;
    --nb-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
    --nb-shell-width: 1200px;
    --nb-shell-padding: 24px;
}

/* =========================================================
   ICON SYSTEM
========================================================= */

.nobench-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #eff6ff;
    color: var(--nb-primary);
}

.nobench-icon svg {
    width: 20px;
    height: 20px;
}

/* =========================================================
   CARDS / FORMS / BUTTONS
========================================================= */

.nobench-game-card,
.nobench-join-box,
.nobench-admin-confirmation,
.nobench-create-game-form {
    border: 1px solid var(--nb-border);
    padding: 22px;
    margin-bottom: 20px;
    border-radius: var(--nb-radius);
    background: var(--nb-card);
    box-shadow: var(--nb-shadow);
    box-sizing: border-box;
}

.nobench-game-card h2,
.nobench-game-card h3,
.nobench-game-card h4 {
    margin-top: 0;
    color: var(--nb-text);
    letter-spacing: -0.02em;
}

.nobench-game-card p,
.nobench-join-box p,
.nobench-admin-confirmation p {
    color: var(--nb-muted);
    margin: 8px 0;
}

.nobench-game-card strong,
.nobench-join-box strong,
.nobench-admin-confirmation strong {
    color: var(--nb-text);
}

.nobench-games-filter,
.nobench-create-game-form {
    border: 1px solid var(--nb-border);
    border-radius: var(--nb-radius);
    background: var(--nb-card);
    box-shadow: var(--nb-shadow);
}

.nobench-games-filter {
    margin-bottom: 24px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

@media (min-width: 701px) {
    .nobench-games-filter {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(130px, 1fr)) auto auto !important;
        gap: 12px !important;
        align-items: center !important;
    }
}

.nobench-games-filter select,
.nobench-games-filter input,
.nobench-create-game-form select,
.nobench-create-game-form input,
.nobench-join-box input {
    padding: 12px 14px;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    min-height: 46px;
    background: #fff;
    color: var(--nb-text);
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    width: 100%;
    box-sizing: border-box;
}

.nobench-games-filter select:focus,
.nobench-games-filter input:focus,
.nobench-create-game-form select:focus,
.nobench-create-game-form input:focus,
.nobench-join-box input:focus {
    border-color: var(--nb-primary);
    box-shadow: 0 0 0 4px rgba(31, 111, 235, 0.12);
}

.nobench-button,
a.nobench-button,
.nobench-game-card button,
.nobench-join-box button,
.nobench-create-game-form button,
.nobench-games-filter button,
.nobench-admin-confirmation button,
.nobench-venue-dashboard button {
    background: var(--nb-primary) !important;
    color: #fff !important;
    padding: 11px 18px !important;
    border: 0 !important;
    border-radius: 12px !important;
    cursor: pointer;
    font-weight: 750 !important;
    min-height: 44px !important;
    box-shadow: 0 8px 18px rgba(31, 111, 235, 0.22) !important;
    transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

.nobench-button:hover,
a.nobench-button:hover,
.nobench-game-card button:hover,
.nobench-join-box button:hover,
.nobench-create-game-form button:hover,
.nobench-games-filter button:hover,
.nobench-admin-confirmation button:hover,
.nobench-venue-dashboard button:hover {
    background: var(--nb-primary-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    text-decoration: none !important;
}

.nobench-games-filter a {
    padding: 11px 16px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 12px !important;
    color: var(--nb-text) !important;
    background: #fff !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
    font-weight: 750 !important;
}

.nobench-danger,
button.nobench-danger {
    background: var(--nb-danger) !important;
    box-shadow: 0 8px 18px rgba(220, 38, 38, 0.18) !important;
}

.nobench-success,
button.nobench-success {
    background: var(--nb-success) !important;
    box-shadow: 0 8px 18px rgba(22, 163, 74, 0.18) !important;
}

/* Normal links inside cards */
.nobench-game-card p a:not(.nobench-button),
.nobench-my-games a:not(.nobench-button),
.nobench-venue-dashboard a:not(.nobench-button),
.nobench-venue-calendar a:not(.nobench-button) {
    color: var(--nb-primary) !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: auto !important;
    display: inline !important;
    font-weight: 650 !important;
    text-decoration: none !important;
}

/* =========================================================
   BADGES / PROGRESS / TABLES
========================================================= */

.nobench-status-badge,
.nobench-visibility-badge {
    display: inline-block;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}

.nobench-status-open {
    background: #dcfce7;
    color: #166534;
}

.nobench-status-fully_funded,
.nobench-status-confirmation_pending {
    background: #fef3c7;
    color: #92400e;
}

.nobench-status-confirmed {
    background: #dbeafe;
    color: #1e40af;
}

.nobench-status-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.nobench-visibility-public {
    background: #eef2ff;
    color: #3730a3;
}

.nobench-visibility-private {
    background: #f3e8ff;
    color: #6b21a8;
}

.nobench-player-progress {
    margin: 14px 0;
}

.nobench-player-progress-label {
    margin-bottom: 7px;
    color: var(--nb-text);
}

.nobench-game-state-note {
    margin: -3px 0 12px;
    color: var(--nb-muted);
    font-size: 14px;
    font-weight: 500;
}

.nobench-progress-track {
    width: 100%;
    height: 11px;
    background: #edf0f5;
    border-radius: 999px;
    overflow: hidden;
}

.nobench-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--nb-primary), #38bdf8);
    border-radius: 999px;
}

.nobench-progress-percent {
    margin-top: 6px;
    font-size: 13px;
    color: var(--nb-muted);
}

.nobench-player-list {
    padding: 14px;
    background: #f8fafc;
    border: 1px solid var(--nb-border);
    border-radius: 14px;
}

.nobench-player-list ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.nobench-player-list li {
    padding: 7px 0;
    border-bottom: 1px solid #edf0f5;
    color: var(--nb-text);
}

.nobench-player-list li:last-child {
    border-bottom: 0;
}

.nobench-my-games table,
.nobench-venue-dashboard table,
.nobench-calendar-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 16px;
    background: #fff;
    border: 1px solid var(--nb-border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--nb-shadow);
}

.nobench-my-games th,
.nobench-my-games td,
.nobench-venue-dashboard th,
.nobench-venue-dashboard td,
.nobench-calendar-table th,
.nobench-calendar-table td {
    text-align: left;
    border-bottom: 1px solid #eef0f4;
    padding: 12px;
    vertical-align: top;
}

.nobench-my-games th,
.nobench-venue-dashboard th,
.nobench-calendar-table th {
    background: #f8fafc;
    color: var(--nb-text);
    font-weight: 800;
}

.nobench-my-games tr:last-child td,
.nobench-venue-dashboard tr:last-child td,
.nobench-calendar-table tr:last-child td {
    border-bottom: 0;
}

/* =========================================================
   HOMEPAGE
========================================================= */

.nobench-home {
    padding-top: 0 !important;
}

.nobench-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    gap: 24px;
    align-items: stretch;
    margin-bottom: 42px;
}

.nobench-home-hero-content {
    background: linear-gradient(135deg, #1f6feb 0%, #38bdf8 100%);
    color: #fff;
    border-radius: 30px;
    padding: 52px;
    box-shadow: 0 24px 60px rgba(31, 111, 235, 0.24);
}

.nobench-home-hero-content h1 {
    color: #fff;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 0.95;
    margin: 12px 0 18px;
    letter-spacing: -0.06em;
    max-width: 760px;
}

.nobench-home-hero-content p {
    color: rgba(255,255,255,0.88);
    font-size: 20px;
    line-height: 1.55;
    max-width: 720px;
    margin-bottom: 26px;
}

.nobench-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.nobench-home-hero-panel {
    background: #ffffff;
    border: 1px solid var(--nb-border);
    border-radius: 30px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
}

.nobench-home-hero-panel h3 {
    margin-top: 0;
    font-size: 24px;
}

.nobench-home-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f8fafc;
    border: 1px solid var(--nb-border);
    border-radius: 18px;
    padding: 16px;
    margin-bottom: 12px;
}

.nobench-home-stat-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 12px;
}

.nobench-home-stat strong {
    color: var(--nb-text);
    margin-right: auto;
}

.nobench-home-stat > span:not(.nobench-icon) {
    font-size: 28px;
    font-weight: 900;
    color: var(--nb-primary);
}

.nobench-home-section {
    margin: 42px 0;
}

.nobench-home-section h2,
.nobench-home-cta h2 {
    font-size: 34px;
    letter-spacing: -0.04em;
    margin-bottom: 18px;
}

.nobench-home-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.nobench-home-step {
    background: #ffffff;
    border: 1px solid var(--nb-border);
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--nb-shadow);
}

.nobench-home-step-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.nobench-home-step-top > span:not(.nobench-icon) {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eff6ff;
    color: var(--nb-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.nobench-home-step-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 14px;
}

.nobench-home-step h3 {
    margin: 0 0 8px;
}

.nobench-home-step p {
    color: var(--nb-muted);
    margin: 0;
}

.nobench-section-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
}

.nobench-section-header h2 {
    margin: 0;
}

.nobench-section-header a {
    color: var(--nb-primary);
    font-weight: 800;
    text-decoration: none;
}

.nobench-home-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.nobench-home-cta {
    background: var(--nb-text);
    color: #ffffff;
    border-radius: 30px;
    padding: 42px;
    margin: 48px 0 10px;
    text-align: center;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.nobench-home-cta h2 {
    color: #ffffff;
    margin-top: 0;
}

.nobench-home-cta p {
    color: rgba(255,255,255,0.78);
    font-size: 18px;
}

.nobench-home-cta .nobench-button {
    background: #ffffff !important;
    color: var(--nb-text) !important;
    box-shadow: none !important;
}

/* =========================================================
   PREMIUM GAME CARDS
========================================================= */

.nobench-game-card-premium {
    padding: 24px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nobench-game-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 18px;
}

.nobench-sport-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 11px;
    border-radius: 999px;
    background: #eff6ff;
    color: var(--nb-primary);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 10px;
}

.nobench-game-card-premium h3 {
    margin: 0 0 8px !important;
    font-size: 24px;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.nobench-game-card-premium h3 a {
    color: var(--nb-text) !important;
    text-decoration: none !important;
}

.nobench-game-card-premium h3 a:hover {
    color: var(--nb-primary) !important;
}

.nobench-game-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    color: var(--nb-muted);
    font-size: 14px;
    font-weight: 650;
}

.nobench-game-meta-line a {
    color: var(--nb-primary) !important;
    text-decoration: none !important;
}

.nobench-game-price {
    min-width: 92px;
    text-align: right;
    background: #f8fafc;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    padding: 12px 14px;
}

.nobench-game-price strong {
    display: block;
    color: var(--nb-text);
    font-size: 24px;
    line-height: 1;
}

.nobench-game-price span {
    display: block;
    margin-top: 4px;
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 700;
}

.nobench-game-card-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 18px 0;
}

.nobench-game-info-box {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f8fafc;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    padding: 13px 14px;
}

.nobench-info-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 10px;
}

.nobench-info-icon svg {
    width: 18px;
    height: 18px;
}

.nobench-game-info-box span:not(.nobench-icon) {
    display: block;
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 5px;
}

.nobench-game-info-box strong {
    color: var(--nb-text);
    font-size: 15px;
}

.nobench-game-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0 18px;
}

.nobench-game-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.nobench-game-actions form {
    margin: 0;
}

.nobench-secondary-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px !important;
    padding: 11px 18px !important;
    border-radius: 12px !important;
    border: 1px solid #d0d5dd !important;
    color: var(--nb-text) !important;
    background: #ffffff !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.nobench-secondary-link:hover {
    border-color: var(--nb-primary) !important;
    color: var(--nb-primary) !important;
    text-decoration: none !important;
}

.nobench-closed-label {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 11px 16px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #64748b;
    font-weight: 800;
}

.nobench-paid-label {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 11px 16px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
}

.nobench-game-participants {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-game-participants-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.nobench-game-participants-head h3 {
    margin: 2px 0 0;
}

.nobench-game-participants-head p {
    margin: 0;
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-participant-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.nobench-participant-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 68px;
    padding: 10px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
}

.nobench-participant-card img.avatar,
.nobench-participant-empty-avatar {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    flex: 0 0 auto;
}

.nobench-participant-empty-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #64748b;
    font-weight: 800;
}

.nobench-participant-card strong,
.nobench-participant-card span,
.nobench-participant-card small {
    display: block;
}

.nobench-participant-card strong {
    color: var(--nb-text);
}

.nobench-participant-card span,
.nobench-participant-card small {
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-participant-card.is-paid {
    border-color: #86efac;
    background: #f0fdf4;
}

.nobench-participant-card.is-paid span {
    color: #166534;
    font-weight: 800;
}

.nobench-participant-card.is-pending {
    border-color: #fde68a;
    background: #fffbeb;
}

.nobench-participant-card.is-pending span {
    color: #92400e;
    font-weight: 800;
}

.nobench-inline-action-form {
    display: inline-flex;
    margin: 0;
}

.nobench-private-game-manager {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--nb-border);
}

.nobench-private-game-manager-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.nobench-private-game-manager-head strong,
.nobench-private-game-manager-head span {
    display: block;
}

.nobench-private-game-manager-head span {
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-private-game-add-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin: 0 0 12px;
}

.nobench-private-game-edit-list {
    display: grid;
    gap: 8px;
}

.nobench-private-game-edit-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
}

.nobench-private-game-edit-row > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-weight: 700;
}

.nobench-private-game-edit-row img.avatar {
    width: 32px;
    height: 32px;
    border-radius: 999px;
}

.nobench-private-game-edit-row em {
    color: var(--nb-muted);
    font-style: normal;
    font-size: 13px;
}

.nobench-private-game-edit-row form {
    margin: 0;
}

.nobench-private-game-edit-row button.nobench-secondary-link {
    min-height: 36px;
    padding: 8px 12px;
}

.nobench-recommended-players {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--nb-border);
}

.nobench-recommended-players-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.nobench-recommended-players-head h3 {
    margin: 2px 0 0;
}

.nobench-recommended-players-head p {
    max-width: 520px;
    margin: 0;
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-recommended-player-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
}

.nobench-recommended-player-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
}

.nobench-recommended-player-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.nobench-recommended-player-main img.avatar {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    flex: 0 0 auto;
}

.nobench-recommended-player-main strong,
.nobench-recommended-player-main span {
    display: block;
}

.nobench-recommended-player-main strong {
    color: var(--nb-text);
}

.nobench-recommended-player-main span {
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-recommended-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.nobench-recommended-reasons span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
}

.nobench-recommended-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.nobench-recommended-actions form {
    margin: 0;
}

.nobench-recommended-actions .nobench-button,
.nobench-recommended-actions .nobench-secondary-link {
    min-height: 38px;
    padding: 9px 12px;
}

@media (max-width: 640px) {
    .nobench-game-participants-head,
    .nobench-private-game-manager-head,
    .nobench-recommended-players-head {
        display: block;
    }

    .nobench-private-game-add-form,
    .nobench-private-game-edit-row {
        grid-template-columns: 1fr;
    }

    .nobench-private-game-edit-row em {
        justify-self: start;
    }
}

/* =========================================================
   VENUES / IMAGES
========================================================= */

.nobench-venue-cover {
    margin-bottom: 24px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
}

.nobench-venue-cover-image {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
}

.nobench-venue-gallery {
    margin: 28px 0;
}

.nobench-venue-gallery h3 {
    margin-bottom: 16px;
    color: var(--nb-text);
}

.nobench-venue-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.nobench-venue-gallery-item {
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    border: 1px solid var(--nb-border);
}

.nobench-venue-gallery-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease;
}

.nobench-venue-gallery-item:hover .nobench-venue-gallery-image {
    transform: scale(1.04);
}

.nobench-venue-thumb-link {
    display: block !important;
    margin: -22px -22px 18px -22px;
    border-radius: 18px 18px 0 0;
    overflow: hidden;
    background: #eef2f7;
}

.nobench-venue-thumb {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease;
}

.nobench-venue-thumb-link:hover .nobench-venue-thumb {
    transform: scale(1.03);
}

/* =========================================================
   CALENDAR
========================================================= */

.nobench-calendar-booked {
    padding: 12px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid var(--nb-border);
}

.nobench-free-slot,
.nobench-closed-slot {
    display: inline-block;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
}

.nobench-free-slot {
    background: #dcfce7;
    color: #166534;
}

.nobench-closed-slot {
    background: #f1f5f9;
    color: #64748b;
}

.nb-booking-calendar {
    display: grid;
    gap: 14px;
    width: 100%;
}

.nb-booking-calendar-hero {
    display: grid;
    grid-template-columns: minmax(240px, 0.9fr) minmax(460px, 1.45fr);
    gap: 16px;
    align-items: stretch;
    padding: 20px;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.nb-booking-calendar-hero h3 {
    margin: 6px 0 6px;
    font-size: 26px;
    line-height: 1.15;
}

.nb-booking-calendar-hero p {
    margin: 0;
    color: #526071;
    font-weight: 700;
}

.nb-booking-calendar-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.nb-booking-calendar-kpis div,
.nb-calendar-detail-summary span {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    background: #f9fbfd;
}

.nb-booking-calendar-kpis span,
.nb-calendar-detail-summary span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.nb-booking-calendar-kpis strong,
.nb-calendar-detail-summary strong {
    color: #061228;
    font-size: 18px;
    line-height: 1.05;
}

.nb-booking-calendar-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto 170px auto auto auto auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.nb-calendar-toolbar-field {
    display: grid;
    gap: 5px;
}

.nb-calendar-toolbar-field span {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.nb-booking-calendar-toolbar select,
.nb-booking-calendar-toolbar input,
.nb-booking-calendar-toolbar button,
.nb-booking-calendar-toolbar a {
    min-height: 44px;
    border-radius: 8px;
}

.nb-calendar-segment {
    display: inline-grid;
    grid-template-columns: 1fr 1fr;
    padding: 3px;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #f4f7fb;
}

.nb-calendar-segment a,
.nb-calendar-nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    color: #1f2a44 !important;
    text-decoration: none !important;
    font-weight: 900;
}

.nb-booking-calendar .nb-calendar-segment a,
.nb-booking-calendar .nb-calendar-nav-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #1f2a44 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.nb-calendar-segment a.is-active {
    color: #fff !important;
    background: #2563eb;
    border-radius: 6px;
    box-shadow: none;
}

.nb-calendar-nav-button {
    border: 1px solid #dbe3ee;
    background: #fff;
}

.nb-booking-calendar .nb-calendar-segment a.is-active {
    color: #fff !important;
    background: #2563eb !important;
}

.nb-booking-calendar .nb-calendar-nav-button {
    border: 1px solid #dbe3ee !important;
    background: #fff !important;
}

.nb-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #d8dee8;
}

.nb-calendar-weekday {
    padding: 10px 8px;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    background: #f4f7fb;
}

.nb-calendar-day {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    gap: 9px;
    min-height: 126px;
    padding: 12px;
    color: #0f172a !important;
    text-decoration: none !important;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.nb-calendar-day:hover,
.nb-calendar-day.is-selected {
    transform: none;
    box-shadow: inset 0 0 0 2px #2563eb;
}

.nb-calendar-day.is-selected {
    background: #f5f8ff;
}

.nb-calendar-day.no-bookings {
    background: #fbfcfe;
}

.nb-calendar-day.has-bookings {
    background: #fff;
}

.nb-calendar-day.is-muted {
    opacity: 0.48;
}

.nb-calendar-day.is-today .nb-calendar-day-top strong {
    color: #2563eb;
}

.nb-calendar-day-top,
.nb-calendar-day-metrics {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.nb-calendar-day-top strong {
    font-size: 20px;
}

.nb-calendar-day-top em,
.nb-calendar-day-metrics span,
.nb-calendar-day-main span,
.nb-calendar-day-money {
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.nb-calendar-day-main {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: start;
}

.nb-calendar-day-main strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    padding: 0 8px;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    border-radius: 999px;
    background: #2563eb;
}

.nb-calendar-chip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 7px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #64748b !important;
    white-space: nowrap;
}

.nb-calendar-chip-warn {
    background: #fff7ed;
    color: #9a3412 !important;
}

.nb-calendar-chip-ok {
    background: #ecfdf5;
    color: #047857 !important;
}

.nb-calendar-day.no-bookings .nb-calendar-day-main strong {
    color: #64748b;
    background: #e8eef7;
}

.nb-calendar-day.no-bookings .nb-calendar-day-main span {
    color: #94a3b8;
}

.nb-calendar-day.has-bookings .nb-calendar-day-main span {
    color: #1f2a44;
}

.nb-calendar-day.no-bookings .nb-calendar-day-money {
    color: #94a3b8;
}

.nb-calendar-progress {
    display: none;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.nb-calendar-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #22c55e, #2563eb);
}

.nb-calendar-day-money {
    align-self: end;
    color: #0f172a;
    font-size: 11px;
    font-weight: 900;
}

.nb-calendar-detail {
    padding: 20px;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.nb-calendar-detail-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: start;
    margin-bottom: 16px;
}

.nb-calendar-detail-head h3 {
    margin: 6px 0 0;
    font-size: 24px;
}

.nb-calendar-detail-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: 10px;
}

.nb-calendar-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #fff;
}

.nb-calendar-bookings-table th,
.nb-calendar-bookings-table td {
    vertical-align: middle;
}

.nb-calendar-bookings-table {
    margin: 0;
}

.nb-calendar-actions {
    min-width: 190px;
}

.nb-calendar-actions form {
    display: inline-flex;
    margin: 0 6px 6px 0;
}

.nb-calendar-actions button,
.nb-calendar-actions a {
    min-height: 36px;
    padding: 8px 12px !important;
    border-radius: 10px !important;
}

.nb-calendar-empty {
    padding: 28px;
    color: #64748b;
    font-weight: 800;
    text-align: center;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    background: #f8fafc;
}

/* Google Calendar style venue schedule */
.nb-gcal-header {
    grid-template-columns: minmax(260px, 0.78fr) minmax(460px, 1.5fr);
    align-items: center;
    padding: 16px;
}

.nb-gcal-title h3 {
    margin: 4px 0;
    font-size: 24px;
}

.nb-gcal-title p {
    color: #334155;
}

.nb-gcal-toolbar {
    grid-template-columns: minmax(230px, 1fr) auto 170px auto auto auto auto;
    align-items: end;
}

.nb-calendar-sync-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: stretch;
    padding: 16px;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #fff;
}

.nb-calendar-sync-head {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    justify-content: space-between;
}

.nb-calendar-sync-card h4 {
    margin: 4px 0;
    font-size: 18px;
}

.nb-calendar-sync-card p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.nb-calendar-sync-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.nb-calendar-sync-pill.is-connected {
    background: #dcfce7;
    color: #166534;
}

.nb-calendar-sync-pill.is-disconnected {
    background: #fff7ed;
    color: #9a3412;
}

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

.nb-calendar-sync-metrics div {
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.nb-calendar-sync-metrics span {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 12px;
    font-weight: 760;
    text-transform: uppercase;
}

.nb-calendar-sync-metrics strong {
    color: #0f172a;
    font-size: 14px;
    font-weight: 780;
}

.nb-calendar-sync-actions {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 10px;
    align-items: center;
}

.nb-calendar-sync-card input {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    overflow: hidden;
    border: 1px solid #d0d7e2;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    text-overflow: ellipsis;
}

.nb-calendar-sync-form {
    display: inline-flex;
    margin: 0;
}

.nb-calendar-sync-form button {
    min-height: 44px;
    padding: 10px 16px;
    border: 0;
    border-radius: 8px;
    background: var(--nb-primary);
    color: #fff;
    font-weight: 800;
}

.nb-calendar-sync-note {
    grid-column: 1 / -1;
    padding: 10px 12px;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #fffbeb;
    color: #92400e !important;
}

.nb-calendar-sync-note.is-error {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b !important;
}

.nb-google-court-map-form {
    grid-column: 1 / -1;
    display: grid;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

.nb-google-court-map-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.nb-google-court-map-head strong {
    color: #0f172a;
    font-size: 16px;
}

.nb-google-court-map-head span {
    color: #64748b;
    font-size: 13px;
}

.nb-google-court-map-row {
    display: grid;
    grid-template-columns: minmax(180px, .55fr) minmax(260px, 1fr);
    gap: 12px;
    align-items: center;
}

.nb-google-court-map-row span {
    color: #1f2937;
    font-weight: 800;
}

.nb-google-court-map-row select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #d0d7e2;
    border-radius: 8px;
    background: #fff;
}

.nb-google-court-map-form button {
    justify-self: start;
    min-height: 42px;
    padding: 10px 16px;
    border: 0;
    border-radius: 8px;
    background: var(--nb-primary);
    color: #fff;
    font-weight: 800;
}

.nb-gcal-grid {
    gap: 0;
    border-color: #d8dee8;
    background: #d8dee8;
}

.nb-gcal-day {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    min-height: 150px;
    padding: 10px;
    background: #fff !important;
}

.nb-calendar-grid-week .nb-gcal-day {
    min-height: 360px;
}

.nb-gcal-day.is-muted {
    background: #f8fafc !important;
    opacity: 1 !important;
}

.nb-gcal-day.is-selected {
    background: #f8fbff !important;
}

.nb-gcal-day-head strong {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    font-size: 15px;
}

.nb-gcal-day.is-today .nb-gcal-day-head strong {
    color: #fff;
    background: var(--nb-primary);
}

.nb-gcal-day-head em {
    color: #64748b;
    font-size: 11px;
    text-transform: uppercase;
}

.nb-gcal-events {
    display: grid;
    align-content: start;
    gap: 5px;
    min-width: 0;
    flex: 1 1 auto;
}

.nb-gcal-event,
.nb-gcal-more,
.nb-gcal-empty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    min-height: 26px;
    padding: 5px 7px;
    overflow: hidden;
    border-left: 3px solid #2563eb;
    border-radius: 6px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 12px;
    line-height: 1.15;
    font-weight: 760;
}

.nb-gcal-event strong {
    font-size: 11px;
    white-space: nowrap;
}

.nb-gcal-event span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nb-gcal-event-confirmed {
    border-left-color: #15803d;
    background: #ecfdf5;
    color: #166534;
}

.nb-gcal-event-confirmation_pending,
.nb-gcal-event-fully_funded {
    border-left-color: #d97706;
    background: #fff7ed;
    color: #9a3412;
}

.nb-gcal-event-cancelled {
    border-left-color: #94a3b8;
    background: #f1f5f9;
    color: #64748b;
    text-decoration: line-through;
}

.nb-gcal-more {
    display: inline-flex;
    justify-content: center;
    border-left: 0;
    background: transparent;
    color: var(--nb-primary);
}

.nb-gcal-empty {
    display: none;
    width: fit-content;
    min-height: 24px;
    border-left: 0;
    background: #f8fafc;
    color: #94a3b8;
}

.nb-gcal-day-foot {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    margin-top: auto;
}

.nb-gcal-day-foot strong {
    color: #334155;
    white-space: nowrap;
}

.nb-gcal-day.no-bookings .nb-gcal-day-foot {
    display: none;
}

.nb-gcal-day.no-bookings:hover .nb-gcal-empty,
.nb-gcal-day.no-bookings.is-selected .nb-gcal-empty {
    display: inline-flex;
}

/* =========================================================
   WOOCOMMERCE BLOCK CHECKOUT META
========================================================= */

.wc-block-components-product-metadata {
    display: block !important;
    margin-top: 8px !important;
}

.wc-block-components-product-details {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wc-block-components-product-details li {
    display: block !important;
    margin: 4px 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

.wc-block-components-product-details__separator,
.wc-block-components-product-metadata span[aria-hidden="true"] {
    display: none !important;
}

.wc-block-components-product-details__name {
    font-weight: 700 !important;
}

/* Do not add a colon here. WooCommerce already adds one. */
.wc-block-components-product-details__name::after {
    content: "" !important;
}

.wc-block-components-product-details__value {
    display: inline !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {
    .nobench-home-hero,
    .nobench-home-steps,
    .nobench-home-grid {
        grid-template-columns: 1fr;
    }

    .nobench-home-hero-content {
        padding: 34px;
    }

    .nobench-section-header {
        display: block;
    }

    .nb-booking-calendar-hero,
    .nb-booking-calendar-toolbar,
    .nb-calendar-detail-head {
        grid-template-columns: 1fr;
        display: grid;
    }

    .nb-booking-calendar-kpis,
    .nb-calendar-detail-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nb-booking-calendar-toolbar {
        align-items: stretch;
        grid-template-columns: 1fr 1fr;
    }

    .nb-booking-calendar-toolbar select,
    .nb-booking-calendar-toolbar input,
    .nb-booking-calendar-toolbar button,
    .nb-booking-calendar-toolbar a {
        width: 100%;
    }

    .nb-calendar-toolbar-field,
    .nb-calendar-toolbar-date,
    .nb-calendar-segment {
        grid-column: 1 / -1;
    }

    .nb-calendar-grid {
        gap: 8px;
    }

    .nb-calendar-day {
        min-height: 140px;
        padding: 12px;
    }
}

@media (max-width: 700px) {
    .nobench-games-filter {
        display: block !important;
    }

    .nobench-games-filter select,
    .nobench-games-filter input,
    .nobench-games-filter button,
    .nobench-games-filter a {
        width: 100% !important;
        margin-bottom: 10px !important;
        display: flex !important;
    }

    .nobench-my-games table,
    .nobench-venue-dashboard table,
    .nobench-calendar-table {
        font-size: 14px;
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .nb-booking-calendar {
        gap: 14px;
    }

    .nb-booking-calendar-hero,
    .nb-calendar-detail {
        padding: 14px;
        border-radius: 8px;
    }

    .nb-booking-calendar-hero h3 {
        font-size: 22px;
    }

    .nb-booking-calendar-kpis,
    .nb-calendar-detail-summary {
        grid-template-columns: 1fr 1fr;
    }

    .nb-booking-calendar-kpis div,
    .nb-calendar-detail-summary span {
        padding: 12px;
    }

    .nb-booking-calendar-kpis strong,
    .nb-calendar-detail-summary strong {
        font-size: 18px;
    }

    .nb-calendar-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        overflow: visible;
        padding-bottom: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .nb-gcal-header,
    .nb-gcal-toolbar,
    .nb-calendar-sync-card {
        grid-template-columns: 1fr;
    }

    .nb-calendar-sync-head,
    .nb-calendar-sync-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nb-calendar-sync-metrics {
        grid-template-columns: 1fr;
    }

    .nb-google-court-map-head,
    .nb-google-court-map-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nb-gcal-grid {
        background: transparent;
        border: 0;
    }

    .nb-calendar-weekday {
        display: none;
    }

    .nb-calendar-day {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 8px 12px;
        min-height: 0;
        padding: 12px;
        border: 1px solid #d8dee8;
        border-radius: 8px;
        background: #fff;
    }

    .nb-gcal-day {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr);
        grid-template-rows: auto auto;
    }

    .nb-calendar-grid-week .nb-gcal-day,
    .nb-gcal-day {
        min-height: 0;
    }

    .nb-calendar-day.is-muted {
        display: none;
    }

    .nb-calendar-day-top {
        grid-row: 1 / span 2;
        display: grid;
        justify-content: start;
        gap: 2px;
    }

    .nb-calendar-day-main {
        align-self: end;
    }

    .nb-calendar-day-metrics {
        justify-content: start;
    }

    .nb-gcal-events {
        grid-column: 2;
        grid-row: 1;
    }

    .nb-gcal-day-foot {
        grid-column: 2;
        grid-row: 2;
        align-self: end;
    }

    .nb-gcal-event,
    .nb-gcal-more,
    .nb-gcal-empty {
        max-width: 100%;
    }

    .nb-calendar-progress {
        display: none;
    }

    .nb-calendar-detail-head h3 {
        font-size: 21px;
    }

    .nb-calendar-actions {
        min-width: 150px;
    }

    .nb-calendar-table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .nb-calendar-bookings-table {
        display: grid !important;
        gap: 10px;
        width: 100%;
        border: 0 !important;
        background: transparent;
        white-space: normal !important;
    }

    .nb-calendar-bookings-table thead {
        display: none;
    }

    .nb-calendar-bookings-table tbody,
    .nb-calendar-bookings-table tr,
    .nb-calendar-bookings-table td {
        display: block;
        width: 100%;
    }

    .nb-calendar-bookings-table tr {
        padding: 12px;
        border: 1px solid #d8dee8;
        border-radius: 8px;
        background: #fff;
    }

    .nb-calendar-bookings-table td {
        display: grid;
        grid-template-columns: minmax(90px, 0.38fr) minmax(0, 1fr);
        gap: 10px;
        padding: 8px 0 !important;
        border: 0 !important;
        white-space: normal !important;
    }

    .nb-calendar-bookings-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .nb-calendar-actions {
        min-width: 0;
    }

    .nb-calendar-actions form,
    .nb-calendar-actions a {
        width: 100%;
    }

    .nb-calendar-actions button,
    .nb-calendar-actions a {
        width: 100%;
        justify-content: center;
    }

    .nobench-game-card,
    .nobench-join-box,
    .nobench-admin-confirmation {
        padding: 18px;
        border-radius: 16px;
    }

    .nobench-game-card-top {
        display: block;
    }

    .nobench-game-price {
        text-align: left;
        margin-top: 14px;
    }

    .nobench-game-card-info {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   NOBENCH SOCIAL / ACCOUNT MVP
========================================================= */
.nobench-account,
.nobench-player-profile {
    width: 100%;
}

.nobench-account-header,
.nobench-player-hero {
    display: flex;
    align-items: center;
    gap: 18px;
}

.nobench-social-avatar-img,
.nobench-player-card img.avatar {
    border-radius: 999px;
    display: block;
}

.nobench-account-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 22px;
}

.nobench-account-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid var(--nb-border);
    background: #fff;
    color: var(--nb-text) !important;
    text-decoration: none !important;
    font-weight: 800;
}

.nobench-account-tabs a.is-active {
    background: var(--nb-primary);
    border-color: var(--nb-primary);
    color: #fff !important;
}

.nobench-account-grid,
.nobench-player-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.nobench-big-number {
    display: block;
    font-size: 36px;
    line-height: 1;
    margin-top: 8px;
}

.nobench-player-card {
    border: 1px solid var(--nb-border);
    border-radius: 16px;
    background: #fff;
    padding: 12px;
}

.nobench-player-card-main {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--nb-text) !important;
    text-decoration: none !important;
}

.nobench-player-card-main span {
    display: grid;
    gap: 2px;
}

.nobench-player-card-main small,
.nobench-muted {
    color: var(--nb-muted);
}

.nobench-social-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #eef0f4;
}

.nobench-social-row:last-child {
    border-bottom: 0;
}

.nobench-social-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
}

.nobench-social-row-unread {
    background: #f7fbff;
    border-radius: var(--nb-radius);
    margin: 8px 0;
    padding: 14px;
}

.nobench-push-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    margin: 12px 0 18px;
    border: 1px solid var(--nb-border);
    border-radius: var(--nb-radius);
    background: #f8fbff;
}

.nobench-push-card strong,
.nobench-push-card p {
    margin: 0;
}

.nobench-push-card .nobench-button {
    white-space: nowrap;
}

.nobench-realtime-toast {
    position: fixed;
    right: 18px;
    bottom: 78px;
    z-index: 99999;
    width: min(360px, calc(100vw - 32px));
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    color: var(--nb-ink);
    text-decoration: none;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--nb-border);
    border-radius: var(--nb-radius);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.nobench-realtime-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.nobench-realtime-toast strong {
    color: var(--nb-ink);
}

.nobench-realtime-toast span {
    color: var(--nb-muted);
}

.nobench-social-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.nobench-inline-form {
    display: inline-flex;
    margin: 0;
}

.nobench-social-pill {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-weight: 800;
}

.nobench-social-form {
    display: grid;
    gap: 14px;
}

.nobench-social-form label {
    display: grid;
    gap: 6px;
    font-weight: 750;
}

.nobench-social-form input[type="text"],
.nobench-social-form select,
.nobench-message-form textarea {
    width: 100%;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
    color: var(--nb-text);
    box-sizing: border-box;
}

.nobench-checkbox-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.nobench-checkbox-list label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--nb-border);
    border-radius: 12px;
    background: #f8fafc;
}

.nobench-message-thread {
    display: grid;
    gap: 14px;
}

.nobench-message-thread-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.nobench-message-thread-head h3 {
    margin: 2px 0 0;
}

.nobench-message-list {
    display: grid;
    gap: 10px;
    max-height: 420px;
    overflow: auto;
    padding: 12px;
    border: 1px solid var(--nb-border);
    border-radius: 16px;
    background: #f8fafc;
}

.nobench-message {
    max-width: 78%;
    padding: 10px 12px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--nb-border);
}

.nobench-message.is-own {
    justify-self: end;
    background: #eff6ff;
    border-color: #bfdbfe;
}

.nobench-message-meta {
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 4px;
}

.nobench-message-body {
    color: var(--nb-text);
    line-height: 1.45;
}

.nobench-message-form {
    display: grid;
    gap: 10px;
}

.nobench-messages-panel {
    display: grid;
    gap: 12px;
}

.nobench-message-thread-row {
    align-items: center;
    gap: 14px;
}

.nobench-message-thread-row.has-unread {
    border-color: #bfdbfe !important;
    background: #eff6ff !important;
}

.nobench-message-thread-main {
    min-width: 0;
}

.nobench-message-thread-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.nobench-message-thread-title strong {
    min-width: 0;
}

.nobench-message-thread-title span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--nb-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
}

.nobench-message-thread-main p,
.nobench-message-thread-main small {
    display: block;
    margin: 0;
    color: var(--nb-muted);
}

.nobench-message-thread-main p {
    margin-bottom: 3px;
}

.nobench-message-empty {
    padding: 16px;
    border: 1px dashed var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    color: var(--nb-muted);
}

.nobench-message-success {
    background: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

.nobench-social-table {
    width: 100%;
    border-collapse: collapse;
}

.nobench-social-table th,
.nobench-social-table td {
    text-align: left;
    padding: 10px;
    border-bottom: 1px solid #eef0f4;
}

@media (max-width: 768px) {
    .nobench-account-header,
    .nobench-player-hero,
    .nobench-social-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .nobench-account-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .nobench-social-actions,
    .nobench-social-actions > *,
    .nobench-inline-form,
    .nobench-inline-form button {
        width: 100%;
    }

    .nobench-message {
        max-width: 100%;
    }
}

/* =========================================================
   PLAYERS DIRECTORY / PROFILE CLEANUP
========================================================= */
.nobench-players-directory {
    width: 100%;
}

.nobench-players-hero h2 {
    margin: 0 0 8px !important;
    font-size: 34px;
    letter-spacing: -0.04em;
}

.nobench-players-hero p {
    margin: 0;
    color: var(--nb-muted);
}

.nobench-players-filter {
    margin-bottom: 20px !important;
}

@media (min-width: 701px) {
    .nobench-players-filter {
        grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(130px, 1fr)) auto auto !important;
    }
}

.nobench-players-directory-grid {
    align-items: stretch;
}

.nobench-player-card {
    display: grid;
    gap: 12px;
    height: 100%;
}

.nobench-player-card-main strong {
    line-height: 1.2;
}

.nobench-player-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 700;
}

.nobench-player-card-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid var(--nb-border);
}

.nobench-player-profile .nobench-account-grid {
    margin-top: 18px;
}

@media (max-width: 768px) {
    .nobench-players-hero h2 {
        font-size: 30px;
    }

    .nobench-player-card .nobench-social-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   SOCIAL NOTIFICATIONS / ACCOUNT PROFILE
========================================================= */
.nobench-social-pill-pending {
    background: #fef3c7;
    color: #92400e;
}

.nobench-social-notice {
    padding: 10px 12px;
    border-radius: 12px;
    background: #dcfce7;
    color: #166534;
    font-weight: 750;
}

.nobench-account-header .nobench-social-actions {
    margin-top: 8px;
}

.nobench-notification-bell {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    color: var(--nb-text) !important;
    text-decoration: none !important;
    background: #ffffff;
    border: 1px solid var(--nb-border);
    flex: 0 0 auto;
}

.nobench-notification-bell:hover {
    color: var(--nb-primary) !important;
    border-color: #bfdbfe;
    background: #eff6ff;
    text-decoration: none !important;
}

.nobench-notification-icon {
    font-size: 17px;
    line-height: 1;
}

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

.nobench-notification-count {
    position: absolute;
    top: -6px;
    right: -7px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #dc2626;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 0 0 2px #ffffff;
}

@media (max-width: 768px) {
    .nobench-account-header .nobench-social-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   ACCOUNT EDIT PROFILE FORM - CONSISTENT FIELD DESIGN
========================================================= */
.nobench-profile-form {
    display: grid !important;
    gap: 24px !important;
}

.nobench-profile-form .nobench-profile-section {
    display: grid !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    border-bottom: 1px solid var(--nb-border, #e5e7eb) !important;
}

.nobench-profile-form .nobench-profile-section:last-of-type {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.nobench-profile-form .nobench-profile-section h4 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    color: var(--nb-text, #172033) !important;
}

.nobench-profile-form label,
.nobench-profile-form .nobench-field-block {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    color: var(--nb-text, #172033) !important;
    font-weight: 800 !important;
}

.nobench-profile-form label strong,
.nobench-profile-form .nobench-field-block > strong {
    display: block !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    color: var(--nb-text, #172033) !important;
}

.nobench-profile-form input[type="text"],
.nobench-profile-form input[type="email"],
.nobench-profile-form input[type="tel"],
.nobench-profile-form input[type="url"],
.nobench-profile-form select,
.nobench-profile-form textarea {
    width: 100% !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: var(--nb-text, #172033) !important;
    font: inherit !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    appearance: none;
}

.nobench-profile-form textarea {
    min-height: 124px !important;
    resize: vertical !important;
    display: block !important;
}

.nobench-profile-form select {
    cursor: pointer !important;
    padding-right: 42px !important;
    background-image:
        linear-gradient(45deg, transparent 50%, #667085 50%),
        linear-gradient(135deg, #667085 50%, transparent 50%);
    background-position:
        calc(100% - 20px) 20px,
        calc(100% - 14px) 20px;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.nobench-profile-form input:focus,
.nobench-profile-form select:focus,
.nobench-profile-form textarea:focus {
    border-color: var(--nb-primary, #1f6feb) !important;
    box-shadow: 0 0 0 4px rgba(31, 111, 235, 0.12) !important;
}

.nobench-profile-form .description,
.nobench-profile-form .nobench-muted {
    margin: 0 !important;
    color: var(--nb-muted, #667085) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

.nobench-profile-form p,
.nobench-profile-form .description,
.nobench-profile-form .nobench-muted,
.nobench-profile-form [data-nobench-avatar-file-name] {
    font-weight: 400 !important;
}

.nobench-checkbox-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 10px !important;
    margin-top: 2px !important;
}

.nobench-checkbox-grid label {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 46px !important;
    padding: 10px 12px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    font-weight: 850 !important;
    cursor: pointer !important;
}

.nobench-checkbox-grid label:has(input:checked) {
    border-color: var(--nb-primary, #1f6feb) !important;
    background: #eff6ff !important;
    color: var(--nb-primary, #1f6feb) !important;
}

.nobench-checkbox-grid input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-height: 0 !important;
    margin: 0 !important;
    accent-color: var(--nb-primary, #1f6feb) !important;
    flex: 0 0 auto !important;
}

.nobench-profile-form > .nobench-button,
.nobench-profile-form button[type="submit"].nobench-button {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 14px !important;
    font-weight: 900 !important;
}

.nobench-avatar-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 2px !important;
}

.nobench-file-upload-button {
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
}

.nobench-file-upload-button input[type="file"] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    font-size: 0 !important;
}

.nobench-avatar-actions .nobench-button,
.nobench-avatar-actions .nobench-secondary-link,
.nobench-avatar-actions button {
    min-height: 46px !important;
    border-radius: 14px !important;
    font-weight: 900 !important;
}

@media (max-width: 768px) {
    .nobench-profile-form {
        gap: 20px !important;
    }

    .nobench-profile-form .nobench-profile-section {
        gap: 12px !important;
        padding-bottom: 20px !important;
    }

    .nobench-checkbox-grid {
        grid-template-columns: 1fr !important;
    }

    .nobench-avatar-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .nobench-avatar-actions .nobench-button,
    .nobench-avatar-actions .nobench-secondary-link,
    .nobench-avatar-actions button {
        width: 100% !important;
    }
}


/* =========================================================
   MESSAGES + RESPONSIVE FILTERS
========================================================= */
.nobench-message-error {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
}

.nobench-message-form textarea {
    width: 100% !important;
    min-height: 110px !important;
    resize: vertical !important;
    box-sizing: border-box !important;
}

.nobench-message-form .nobench-button {
    width: 100% !important;
    min-height: 46px !important;
}

/* Players filter layout */
@media (min-width: 701px) {
    .nobench-players-filter {
        display: grid !important;
        grid-template-columns:
            minmax(180px, 1.4fr)
            minmax(130px, 1fr)
            minmax(130px, 1fr)
            minmax(130px, 1fr)
            auto
            auto !important;
        gap: 12px !important;
        align-items: center !important;
    }

    .nobench-players-filter input,
    .nobench-players-filter select,
    .nobench-players-filter button,
    .nobench-players-filter a {
        min-width: 0 !important;
    }
}

@media (max-width: 900px) and (min-width: 701px) {
    .nobench-games-filter,
    .nobench-players-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .nobench-games-filter button,
    .nobench-games-filter a,
    .nobench-players-filter button,
    .nobench-players-filter a {
        width: 100% !important;
    }
}

@media (max-width: 700px) {
    .nobench-games-filter,
    .nobench-players-filter {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 16px !important;
    }

    .nobench-games-filter select,
    .nobench-games-filter input,
    .nobench-games-filter button,
    .nobench-games-filter a,
    .nobench-players-filter select,
    .nobench-players-filter input,
    .nobench-players-filter button,
    .nobench-players-filter a {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    .nobench-account-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 8px !important;
        padding-bottom: 4px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .nobench-account-tabs a {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    .nobench-message-thread-row,
    .nobench-social-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .nobench-message-thread-row .nobench-button,
    .nobench-social-row .nobench-button,
    .nobench-social-row .nobench-secondary-link {
        width: 100% !important;
    }

    .nobench-message-list {
        max-height: 55vh !important;
        padding: 10px !important;
    }

    .nobench-message {
        max-width: 100% !important;
    }
}

@media (max-width: 700px) {
    .nobench-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .nobench-hero-actions .nobench-button {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* =========================================================
   PLAYERS DIRECTORY MOBILE
========================================================= */
.nobench-players-directory-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 16px !important;
    margin: 0 0 24px !important;
}

.nobench-players-directory-grid .nobench-player-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid var(--nb-border, #e5e7eb) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
    box-sizing: border-box !important;
}

.nobench-players-directory-grid .nobench-player-card-main {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    color: var(--nb-text, #172033) !important;
    text-decoration: none !important;
}

.nobench-players-directory-grid .nobench-player-card-main img,
.nobench-players-directory-grid .nobench-social-avatar-img,
.nobench-players-directory-grid .avatar {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    border-radius: 999px !important;
    object-fit: cover !important;
    display: block !important;
}

.nobench-players-directory-grid .nobench-player-card-main span {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.nobench-players-directory-grid .nobench-player-card-main strong {
    display: block !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    color: var(--nb-text, #172033) !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.nobench-players-directory-grid .nobench-player-card-main small {
    display: block !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    color: var(--nb-muted, #667085) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    text-decoration: none !important;
}

.nobench-players-directory-grid .nobench-player-card-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
}

.nobench-players-directory-grid .nobench-player-card-meta span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    border: 1px solid var(--nb-border, #e5e7eb) !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    color: var(--nb-muted, #667085) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.nobench-players-directory-grid .nobench-social-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
}

.nobench-players-directory-grid .nobench-social-actions > *,
.nobench-players-directory-grid .nobench-secondary-link,
.nobench-players-directory-grid .nobench-button,
.nobench-players-directory-grid .nobench-inline-form,
.nobench-players-directory-grid .nobench-inline-form button,
.nobench-players-directory-grid .nobench-social-pill {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.nobench-players-directory-grid .nobench-social-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    text-align: center !important;
}

@media (max-width: 700px) {
    .nobench-players-directory-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

/* Account mobile navigation */
.nobench-account-panel {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 768px) {
    .nobench-account {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .nobench-account-header {
        display: grid !important;
        grid-template-columns: 64px minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: center !important;
        padding: 16px !important;
    }

    .nobench-account-header .nobench-social-avatar-img,
    .nobench-account-header .avatar {
        width: 64px !important;
        height: 64px !important;
        object-fit: cover !important;
    }

    .nobench-account-header > div,
    .nobench-account-header h2,
    .nobench-account-header p,
    .nobench-account-panel,
    .nobench-account-panel > *,
    .nobench-account-grid,
    .nobench-message-thread,
    .nobench-message-thread-row,
    .nobench-social-row {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
    }

    .nobench-account-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 14px 0 18px !important;
        padding: 8px !important;
        overflow-x: auto !important;
        border: 1px solid var(--nb-border, #e5e7eb) !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05) !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .nobench-account-tabs::-webkit-scrollbar {
        display: none !important;
    }

    .nobench-account-tabs a {
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 40px !important;
        padding: 9px 13px !important;
        border: 1px solid #d0d5dd !important;
        border-radius: 999px !important;
        background: #f8fafc !important;
        color: var(--nb-text, #172033) !important;
        text-decoration: none !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    .nobench-account-tabs a.is-active {
        background: var(--nb-primary, #1f6feb) !important;
        border-color: var(--nb-primary, #1f6feb) !important;
        color: #ffffff !important;
        box-shadow: 0 8px 18px rgba(31, 111, 235, 0.18) !important;
    }

    .nobench-account-grid,
    .nobench-social-row,
    .nobench-message-thread-row,
    .nobench-social-row .nobench-social-actions,
    .nobench-message-thread-row .nobench-social-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    .nobench-social-row .nobench-button,
    .nobench-social-row .nobench-secondary-link,
    .nobench-social-row button,
    .nobench-message-thread-row .nobench-button,
    .nobench-message-thread-row .nobench-secondary-link,
    .nobench-message-thread-row button {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* =========================================================
   NOBENCH FINANCE / SERVICE FEE DISPLAY
========================================================= */
.nobench-game-price small {
    display: block;
    margin-top: 4px;
    color: var(--nb-muted, #667085);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
}

.nobench-admin-finance .form-table input[type="number"],
.nobench-admin-finance .form-table input[type="text"],
.nobench-admin-finance select,
.nobench-admin-finance input[type="date"] {
    min-height: 36px;
}

.nobench-admin-report-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 16px 0 20px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #dcdcde;
    border-radius: 10px;
}

.nobench-finance-sync-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0 18px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #dcdcde;
    border-radius: 10px;
}

.nobench-finance-sync-box p {
    max-width: 760px;
    margin: 4px 0 0;
    color: #646970;
}

.nobench-finance-sync-box form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.nobench-finance-sync-date {
    color: #646970;
}

.nobench-report-presets {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

.nobench-report-preset.is-active {
    border-color: #1d4ed8;
    background: #1d4ed8;
    color: #ffffff;
}

.nobench-admin-report-filter label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.nobench-admin-report-filter label span {
    color: #646970;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.nobench-admin-report-filter input.is-readonly {
    background: #f6f7f7;
    cursor: default;
}

.nobench-report-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 18px 0 22px;
}

.nobench-report-card {
    padding: 14px;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    background: #ffffff;
}

.nobench-report-card span {
    display: block;
    color: #646970;
    font-weight: 700;
    margin-bottom: 8px;
}

.nobench-report-card strong {
    display: block;
    font-size: 22px;
    line-height: 1.1;
}

.nobench-main-payout-panel {
    margin: 18px 0 22px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #dcdcde;
    border-radius: 10px;
}

.nobench-main-payout-panel h2 {
    margin: 0 0 6px;
}

.nobench-main-payout-panel p {
    max-width: 900px;
    margin: 0 0 12px;
    color: #646970;
}

.nobench-main-payout-total {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    margin: 10px 12px 0 0;
    padding: 10px 12px;
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    border-radius: 8px;
}

.nobench-main-payout-total span {
    color: #646970;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.nobench-main-payout-total strong {
    color: #1d4ed8;
    font-size: 18px;
}

.nobench-report-table th,
.nobench-report-table td {
    white-space: nowrap;
}

@media (max-width: 782px) {
    .nobench-admin-report-filter {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nobench-report-table {
        display: block;
        overflow-x: auto;
    }
}

.nobench-report-row-muted td {
    color: #646970;
    background: #f6f7f7;
}


/* =========================================================
   NOBENCH VENUE PAYOUT LEDGER
========================================================= */
.nobench-payout-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 12px;
    background: #f3f4f6;
    color: #374151;
}

.nobench-payout-status-paid {
    background: #dcfce7;
    color: #166534;
}

.nobench-payout-status-held {
    background: #fef3c7;
    color: #92400e;
}

.nobench-payout-status-unpaid {
    background: #fee2e2;
    color: #991b1b;
}

.nobench-payout-actions form {
    display: flex;
    gap: 6px;
    align-items: center;
    min-width: 360px;
}

.nobench-payout-actions select,
.nobench-payout-actions input[type="text"] {
    min-height: 30px;
}

.nobench-payout-actions input[type="text"] {
    width: 130px;
}

.nobench-venue-finance-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
    gap: 18px;
    margin: 20px 0 24px;
}

.nobench-admin-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    background: #ffffff;
}

.nobench-admin-panel h2 {
    margin-top: 0;
}

.nobench-manual-payout-form {
    display: grid;
    gap: 12px;
}

.nobench-selected-payout-form {
    margin-top: 18px;
}

.nobench-selected-payout-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 12px;
    align-items: end;
    margin: 12px 0;
    padding: 14px;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    background: #ffffff;
}

.nobench-manual-payout-form label,
.nobench-selected-payout-fields label {
    display: grid;
    gap: 6px;
    color: #1d2327;
    font-weight: 700;
}

.nobench-manual-payout-form input,
.nobench-manual-payout-form textarea,
.nobench-selected-payout-fields input,
.nobench-selected-payout-fields textarea {
    width: 100%;
    max-width: 100%;
    min-height: 36px;
    box-sizing: border-box;
}

/* Account payment audit */
.nobench-payment-audit {
    display: grid;
    gap: 18px;
}

.nobench-payment-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.nobench-payment-summary-card,
.nobench-payment-record {
    border: 1px solid var(--nb-border, #e5e7eb);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.nobench-payment-summary-card {
    padding: 14px;
}

.nobench-payment-summary-card span {
    display: block;
    color: var(--nb-muted, #667085);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 6px;
}

.nobench-payment-summary-card strong {
    display: block;
    color: var(--nb-text, #172033);
    font-size: 22px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.nobench-payment-list {
    display: grid;
    gap: 14px;
}

.nobench-payment-record {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.nobench-payment-record-head,
.nobench-payment-game {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.nobench-payment-record-head div,
.nobench-payment-game {
    min-width: 0;
}

.nobench-payment-record-head strong,
.nobench-payment-game strong {
    display: block;
    color: var(--nb-text, #172033);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.nobench-payment-record-head span,
.nobench-payment-game span {
    display: block;
    color: var(--nb-muted, #667085);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 3px;
}

.nobench-payment-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #374151;
    font-size: 12px;
    font-weight: 900;
}

.nobench-payment-status-completed,
.nobench-payment-status-processing {
    background: #dcfce7;
    color: #166534;
}

.nobench-payment-status-pending,
.nobench-payment-status-on-hold {
    background: #fef3c7;
    color: #92400e;
}

.nobench-payment-status-cancelled,
.nobench-payment-status-failed,
.nobench-payment-status-refunded {
    background: #fee2e2;
    color: #991b1b;
}

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

.nobench-payment-breakdown div {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--nb-border, #e5e7eb);
    border-radius: 12px;
    background: #f8fafc;
}

.nobench-payment-breakdown dt {
    margin: 0 0 5px;
    color: var(--nb-muted, #667085);
    font-size: 12px;
    font-weight: 850;
}

.nobench-payment-breakdown dd {
    margin: 0;
    color: var(--nb-text, #172033);
    font-size: 15px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

/* Sports entities */
.nobench-sports-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 0 0 24px;
}

.nobench-sport-card {
    display: block;
    min-width: 0;
    overflow: hidden;
}

.nobench-sport-thumb {
    display: block !important;
    background: #eef2ff;
    overflow: hidden;
}

.nobench-sport-thumb-placeholder,
.nobench-sport-profile-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #eff6ff 0%, #e0f2fe 100%);
    color: var(--nb-primary, #1f6feb);
    font-size: 34px;
    font-weight: 950;
    text-decoration: none;
}

.nobench-sport-profile-placeholder {
    min-height: 220px;
}

.nobench-sport-thumb-placeholder span,
.nobench-sport-profile-placeholder span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(31, 111, 235, 0.12);
}

.nobench-sport-thumb img,
.nobench-sport-profile-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.nobench-sport-card-body {
    display: grid;
    gap: 12px;
}

.nobench-sport-card h3,
.nobench-sport-profile h2,
.nobench-sport-profile h3 {
    margin: 0;
    color: var(--nb-text, #172033);
    letter-spacing: 0;
}

.nobench-sport-card h3 a {
    color: inherit;
    text-decoration: none;
}

.nobench-sport-card p,
.nobench-sport-description {
    color: var(--nb-muted, #667085);
    line-height: 1.5;
}

.nobench-sport-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nobench-sport-stats span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid var(--nb-border, #e5e7eb);
    border-radius: 999px;
    background: #f8fafc;
    color: var(--nb-text, #172033);
    font-size: 13px;
    font-weight: 850;
}

.nobench-sport-profile {
    display: grid;
    gap: 20px;
}

.nobench-sport-profile-hero {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
    gap: 20px;
    align-items: center;
}

.nobench-sport-profile-hero:not(:has(.nobench-sport-profile-image)) {
    grid-template-columns: 1fr;
}

.nobench-sport-profile-image {
    aspect-ratio: 16 / 10;
    border-radius: 14px;
}

.nobench-sport-venues {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 782px) {
    .nobench-payout-actions form {
        display: grid;
        grid-template-columns: 1fr;
        min-width: 220px;
    }

    .nobench-payout-actions input[type="text"],
    .nobench-payout-actions select {
        width: 100%;
    }

    .nobench-venue-finance-grid {
        grid-template-columns: 1fr;
    }

    .nobench-selected-payout-fields {
        grid-template-columns: 1fr;
    }

    .nobench-payment-summary,
    .nobench-payment-breakdown {
        grid-template-columns: 1fr 1fr;
    }

    .nobench-payment-record-head,
    .nobench-payment-game {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nobench-sport-profile-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .nobench-payment-summary,
    .nobench-payment-breakdown {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   NOBENCH VISUAL SYSTEM 2026
   Component layer aligned with the theme: calm, professional, low-noise.
========================================================= */
:root {
    --nb-bg: #f4f5f7;
    --nb-card: #ffffff;
    --nb-text: #121826;
    --nb-muted: #687385;
    --nb-border: #d9dee7;
    --nb-primary: #185abc;
    --nb-primary-hover: #0f438f;
    --nb-success: #15803d;
    --nb-danger: #b42318;
    --nb-warning: #b45309;
    --nb-radius: 8px;
    --nb-shadow: 0 1px 2px rgba(18, 24, 38, 0.06), 0 8px 20px rgba(18, 24, 38, 0.06);
    --nb-shadow-soft: 0 1px 2px rgba(18, 24, 38, 0.06);
}

.nobench-game-card,
.nobench-join-box,
.nobench-admin-confirmation,
.nobench-create-game-form,
.nobench-games-filter,
.nobench-home-hero-panel,
.nobench-home-step,
.nobench-player-card,
.nobench-account-header,
.nobench-account-panel,
.nobench-payment-summary-card,
.nobench-payment-record,
.nobench-sport-card,
.nobench-admin-panel,
.nobench-report-card {
    border-color: var(--nb-border) !important;
    border-radius: 8px !important;
    background: var(--nb-card) !important;
    box-shadow: var(--nb-shadow-soft) !important;
}

.nobench-game-card,
.nobench-join-box,
.nobench-admin-confirmation,
.nobench-create-game-form {
    padding: 20px !important;
}

.nobench-game-card h2,
.nobench-game-card h3,
.nobench-game-card h4,
.nobench-home-section h2,
.nobench-home-cta h2,
.nobench-sport-card h3,
.nobench-sport-profile h2,
.nobench-sport-profile h3 {
    color: var(--nb-text) !important;
    letter-spacing: 0 !important;
    font-weight: 820 !important;
}

.nobench-game-card p,
.nobench-join-box p,
.nobench-admin-confirmation p,
.nobench-home-step p,
.nobench-sport-card p,
.nobench-sport-description {
    color: var(--nb-muted) !important;
}

.nobench-button,
a.nobench-button,
.nobench-game-card button,
.nobench-join-box button,
.nobench-create-game-form button,
.nobench-games-filter button,
.nobench-admin-confirmation button,
.nobench-venue-dashboard button,
.nobench-profile-form > .nobench-button,
.nobench-profile-form button[type="submit"].nobench-button {
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    background: var(--nb-primary) !important;
    box-shadow: none !important;
    font-weight: 760 !important;
}

.nobench-button:hover,
a.nobench-button:hover,
.nobench-game-card button:hover,
.nobench-join-box button:hover,
.nobench-create-game-form button:hover,
.nobench-games-filter button:hover,
.nobench-admin-confirmation button:hover,
.nobench-venue-dashboard button:hover {
    background: var(--nb-primary-hover) !important;
    transform: none !important;
    box-shadow: none !important;
}

.nobench-secondary-link,
.nobench-games-filter a,
.nobench-account-tabs a,
.nobench-social-pill {
    border-radius: 8px !important;
    border-color: var(--nb-border) !important;
    box-shadow: none !important;
    font-weight: 760 !important;
}

.nobench-games-filter select,
.nobench-games-filter input,
.nobench-create-game-form select,
.nobench-create-game-form input,
.nobench-create-game-form textarea,
.nobench-join-box input,
.nobench-profile-form input[type="text"],
.nobench-profile-form input[type="email"],
.nobench-profile-form input[type="tel"],
.nobench-profile-form input[type="url"],
.nobench-profile-form select,
.nobench-profile-form textarea {
    min-height: 44px !important;
    border-color: #cfd6e2 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

.nobench-games-filter select:focus,
.nobench-games-filter input:focus,
.nobench-create-game-form select:focus,
.nobench-create-game-form input:focus,
.nobench-create-game-form textarea:focus,
.nobench-join-box input:focus,
.nobench-profile-form input:focus,
.nobench-profile-form select:focus,
.nobench-profile-form textarea:focus {
    border-color: var(--nb-primary) !important;
    box-shadow: 0 0 0 3px rgba(24, 90, 188, 0.12) !important;
}

.nobench-status-badge,
.nobench-visibility-badge,
.nobench-sport-pill,
.nobench-payment-status,
.nobench-payout-status,
.nobench-sport-stats span,
.nobench-players-directory-grid .nobench-player-card-meta span {
    border-radius: 999px !important;
    font-weight: 760 !important;
}

.nobench-progress-track,
.nobench-progress-fill {
    border-radius: 999px !important;
}

.nobench-my-games table,
.nobench-venue-dashboard table,
.nobench-calendar-table,
.nobench-report-table {
    border-color: var(--nb-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nobench-my-games th,
.nobench-venue-dashboard th,
.nobench-calendar-table th,
.nobench-report-table th {
    background: #f7f8fa !important;
    color: #334155 !important;
    font-weight: 780 !important;
}

.nobench-home-hero-content {
    background: #12325f !important;
    border-radius: 8px !important;
    box-shadow: var(--nb-shadow) !important;
}

.nobench-home-hero-content h1 {
    font-size: clamp(38px, 5.4vw, 64px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
}

.nobench-home-stat,
.nobench-game-price,
.nobench-game-info-box,
.nobench-player-list,
.nobench-payment-breakdown div,
.nb-booking-calendar-hero,
.nb-booking-calendar-toolbar,
.nb-calendar-detail,
.nb-calendar-day {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nobench-home-stat > span:not(.nobench-icon),
.nobench-game-price strong {
    color: var(--nb-primary) !important;
}

.nobench-venue-cover,
.nobench-venue-gallery-item,
.nobench-sport-profile-image {
    border-radius: 8px !important;
    box-shadow: var(--nb-shadow-soft) !important;
}

.nobench-venue-thumb-link {
    border-radius: 8px 8px 0 0 !important;
}

.nobench-sport-thumb-placeholder,
.nobench-sport-profile-placeholder {
    background: #eef3f8 !important;
    color: var(--nb-primary) !important;
}

.nobench-sport-thumb-placeholder span,
.nobench-sport-profile-placeholder span {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nb-booking-calendar-hero {
    background: #ffffff !important;
    border: 1px solid var(--nb-border) !important;
}

.nb-booking-calendar-kpis div,
.nb-calendar-detail-summary span {
    border-radius: 8px !important;
    background: #f7f8fa !important;
}

.nb-calendar-grid {
    border-radius: 8px !important;
}

.nb-calendar-segment,
.nb-calendar-segment a.is-active,
.nb-calendar-nav-button {
    border-radius: 8px !important;
}

@media (max-width: 768px) {
    .nobench-game-card,
    .nobench-join-box,
    .nobench-admin-confirmation,
    .nobench-create-game-form,
    .nobench-home-step,
    .nobench-home-hero-panel,
    .nobench-home-hero-content,
    .nobench-home-cta,
    .nobench-account-tabs,
    .nobench-players-directory-grid .nobench-player-card {
        border-radius: 8px !important;
    }

    .nobench-home-hero-content h1 {
        font-size: 36px !important;
    }
}

.nobench-payment-confirmation {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 18px;
    align-items: start;
    margin: 0 0 18px;
    padding: 22px;
    border: 1px solid var(--nb-border, #d6dee9);
    border-left: 5px solid #185abc;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.nobench-payment-confirmation.is-success {
    border-left-color: #138a43;
}

.nobench-payment-confirmation.is-pending {
    border-left-color: #d98400;
}

.nobench-payment-confirmation.is-problem {
    border-left-color: #b42318;
}

.nobench-payment-confirmation__main h2 {
    margin: 8px 0 8px !important;
    color: var(--nb-text, #111827) !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 780 !important;
}

.nobench-payment-confirmation__main p {
    max-width: 720px;
    margin: 0 !important;
    color: var(--nb-muted, #52647a) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

.nobench-payment-confirmation__badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #eef5ff;
    color: #185abc;
    font-size: 13px;
    font-weight: 700;
}

.nobench-payment-confirmation.is-success .nobench-payment-confirmation__badge {
    background: #e8f7ee;
    color: #13783d;
}

.nobench-payment-confirmation.is-pending .nobench-payment-confirmation__badge {
    background: #fff4df;
    color: #9a5a00;
}

.nobench-payment-confirmation.is-problem .nobench-payment-confirmation__badge {
    background: #fff0ee;
    color: #b42318;
}

.nobench-payment-confirmation__details {
    display: grid;
    gap: 10px;
}

.nobench-payment-confirmation__details div {
    padding: 12px;
    border: 1px solid var(--nb-border, #d6dee9);
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-payment-confirmation__details span {
    display: block;
    margin-bottom: 4px;
    color: var(--nb-muted, #52647a);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.nobench-payment-confirmation__details strong {
    display: block;
    color: var(--nb-text, #111827);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 750;
}

.nobench-payment-confirmation__actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

@media (max-width: 768px) {
    .nobench-payment-confirmation {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .nobench-payment-confirmation__main h2 {
        font-size: 24px !important;
    }
}

/* Site-wide consistency pass: page-level components. */
.nobench-dashboard-card,
.nobench-owner-stat-card,
.nobench-account-panel,
.nobench-profile-form,
.nobench-profile-form .nobench-profile-section,
.nobench-social-row,
.nobench-message-thread-row,
.nobench-message-form,
.nobench-players-hero,
.nobench-player-hero,
.nobench-payment-audit,
.nobench-venue-finance-grid > *,
.nobench-selected-payout-fields,
.nobench-manual-payout-form,
.nobench-report-cards > *,
.nobench-sport-profile-hero,
.nobench-sport-profile-placeholder,
.nobench-calendar-booked,
.nobench-free-slot,
.nobench-closed-slot {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nobench-dashboard-tabs,
.nobench-account-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 16px 0 20px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.nobench-dashboard-tabs a,
.nobench-account-tabs a {
    flex: 0 1 auto !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--nb-text) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 760 !important;
    white-space: normal !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.nobench-venue-dashboard .nobench-dashboard-tabs a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--nb-text) !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 760 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.nobench-dashboard-tabs a.is-active,
.nobench-account-tabs a.is-active {
    border-color: var(--nb-primary) !important;
    background: var(--nb-primary) !important;
    color: #ffffff !important;
}

.nobench-venue-dashboard .nobench-dashboard-tabs a.is-active {
    border-color: var(--nb-primary) !important;
    background: var(--nb-primary) !important;
    color: #ffffff !important;
}

.nobench-player-card,
.nobench-players-directory-grid .nobench-player-card,
.nobench-payment-summary-card,
.nobench-payment-record,
.nobench-sport-card {
    border-radius: 8px !important;
    box-shadow: var(--nb-shadow-soft) !important;
}

.nobench-player-card-meta span,
.nobench-players-directory-grid .nobench-player-card-meta span,
.nobench-sport-stats span {
    border-radius: 6px !important;
    background: #f7f8fa !important;
}

.nobench-social-row,
.nobench-message-thread-row {
    border-color: var(--nb-border) !important;
    background: #ffffff !important;
}

.nobench-payment-breakdown div,
.nobench-home-stat,
.nobench-game-info-box,
.nobench-game-price,
.nobench-player-list {
    border-radius: 8px !important;
    background: #f7f8fa !important;
}

.nobench-status-badge,
.nobench-visibility-badge,
.nobench-payment-status,
.nobench-payout-status {
    border-radius: 6px !important;
}

.nobench-avatar-actions,
.nobench-social-actions,
.nobench-game-actions,
.nobench-inline-form {
    gap: 8px !important;
}

@media (max-width: 768px) {
    .nobench-dashboard-tabs,
    .nobench-account-tabs {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        overflow: visible !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .nobench-dashboard-tabs a,
    .nobench-account-tabs a {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .nobench-players-directory-grid .nobench-player-card,
    .nobench-player-card,
    .nobench-account-header,
    .nobench-profile-form,
    .nobench-profile-form .nobench-profile-section,
    .nobench-payment-record,
    .nobench-payment-summary-card,
    .nobench-sport-card {
        padding: 14px !important;
        border-radius: 8px !important;
    }

    .nobench-payment-summary,
    .nobench-payment-breakdown,
    .nobench-dashboard-grid,
    .nobench-account-grid,
    .nobench-player-grid,
    .nobench-sports-grid {
        grid-template-columns: 1fr !important;
    }

    .nobench-games-filter,
    .nobench-players-filter {
        border-radius: 8px !important;
        padding: 14px !important;
    }
}

@media (max-width: 420px) {
    .nobench-dashboard-tabs,
    .nobench-account-tabs {
        grid-template-columns: 1fr !important;
    }
}

.nobench-create-game-hero,
.nobench-create-game-flow {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.nobench-games-hero,
.nobench-venues-hero,
.nobench-sports-hero,
.nobench-create-game-hero {
    margin-bottom: 18px !important;
    padding: 20px !important;
}

.nobench-games-hero h2,
.nobench-venues-hero h2,
.nobench-sports-hero h2,
.nobench-create-game-hero h2,
.nobench-create-game-hero .nobench-eyebrow {
    display: block;
    max-width: none;
    margin: 0 0 22px;
    color: var(--nb-text);
    font-size: 24px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: none;
}

.nobench-games-hero p,
.nobench-venues-hero p,
.nobench-sports-hero p,
.nobench-create-game-hero p {
    margin: 0;
}

.nobench-create-game-hero .nobench-eyebrow + h2 {
    margin: 0;
    color: var(--nb-muted);
    font-size: 16px;
    line-height: 1.55;
    font-weight: 500;
}

.nobench-create-game-flow {
    display: grid;
    gap: 16px;
    padding: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.nb-page .entry-content > .nobench-create-game-hero,
.nb-page .entry-content > .nobench-create-game-flow {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.nobench-create-game-flow > .nobench-create-step,
.nobench-create-game-flow > .nobench-create-review {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.nobench-create-step,
.nobench-create-review {
    width: 100% !important;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    box-shadow: var(--nb-shadow-soft);
    padding: 20px;
}

.nobench-create-step.is-locked,
.nobench-create-review.is-locked {
    background: #f7f8fa;
    border-color: #dbe3ec;
    box-shadow: none;
    opacity: 0.58;
}

.nobench-create-step.is-locked select,
.nobench-create-step.is-locked input,
.nobench-create-review.is-locked button,
.nobench-create-game-form select:disabled,
.nobench-create-game-form input:disabled,
.nobench-create-game-form button:disabled {
    cursor: not-allowed !important;
}

.nobench-create-game-form select:disabled,
.nobench-create-game-form input:disabled {
    background: #f1f4f8 !important;
    color: #7b8794 !important;
}

.nobench-create-game-form button:disabled {
    opacity: 0.55;
    transform: none !important;
}

.nobench-create-step-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-bottom: 16px;
}

.nobench-create-step-head > span {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef3f8;
    color: var(--nb-primary);
    font-weight: 850;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    position: relative;
    overflow: hidden;
}

.nobench-create-step-icon {
    width: 22px;
    height: 22px;
    color: var(--nb-primary);
}

.nobench-create-step-icon svg {
    width: 100%;
    height: 100%;
}

.nobench-create-step.is-locked .nobench-create-step-icon {
    color: #94a3b8;
}

.nobench-create-review .nobench-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.nobench-create-review-icon {
    width: 18px;
    height: 18px;
    color: var(--nb-primary);
}

.nobench-create-review-icon svg {
    width: 100%;
    height: 100%;
}

.nobench-create-step-head h3 {
    margin: 0 0 4px;
    font-size: 22px;
}

.nobench-create-step-head p {
    margin: 0;
    color: var(--nb-muted);
}

.nobench-create-step label {
    display: block;
    margin: 14px 0 6px;
    color: var(--nb-text);
    font-weight: 780;
}

.nobench-create-step select,
.nobench-create-step input {
    width: 100% !important;
}

.nobench-venue-create-modal-open {
    overflow: hidden;
}

.nobench-venue-create-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.58);
}

.nobench-venue-create-modal-backdrop[hidden] {
    display: none !important;
}

.nobench-venue-create-modal-card {
    position: relative;
    width: min(440px, 100%);
    padding: 24px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.25);
}

.nobench-venue-create-modal-card h3 {
    margin: 6px 0 8px;
    color: var(--nb-text);
    font-size: 26px;
    line-height: 1.1;
}

.nobench-venue-create-modal-card p {
    margin: 0 0 18px;
    color: var(--nb-muted);
}

.nobench-venue-create-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    color: var(--nb-text);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.nobench-venue-create-modal-sport-list {
    display: grid;
    gap: 10px;
}

.nobench-venue-create-modal-sport-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    color: var(--nb-text);
    font-weight: 800;
    text-decoration: none;
}

.nobench-venue-create-modal-sport-option:hover {
    border-color: var(--nb-primary);
    background: #eff6ff;
    color: var(--nb-primary);
}

.nobench-create-matchmaker {
    display: grid;
    gap: 14px;
    padding: 20px !important;
    border-color: #d7e1ef;
    background: #fff;
}

.nobench-create-matchmaker.is-compact {
    margin-top: 14px;
    margin-bottom: 14px;
}

.nobench-create-matchmaker-nudge {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.nobench-create-matchmaker-nudge h3 {
    margin: 4px 0 4px;
    font-size: 20px;
    line-height: 1.2;
}

.nobench-create-matchmaker-nudge p {
    margin: 0;
    color: var(--nb-muted);
}

.nobench-matchmaker-nudge-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.nobench-matchmaker-nudge-actions .nobench-button,
.nobench-matchmaker-nudge-actions .nobench-secondary-link {
    min-height: 40px;
    padding: 10px 14px;
}

.nobench-matchmaker-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
}

.nobench-matchmaker-head h3 {
    margin: 4px 0 0;
    font-size: 21px;
    line-height: 1.15;
}

.nobench-matchmaker-head p {
    max-width: 390px;
    margin: 0;
    color: var(--nb-muted);
    font-size: 14px;
    text-align: right;
}

.nobench-matchmaker-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(170px, 0.9fr) auto;
    gap: 10px;
    align-items: end;
}

.nobench-matchmaker-form label {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0;
    color: var(--nb-text);
    font-weight: 720;
}

.nobench-matchmaker-form label span {
    font-size: 13px;
    color: var(--nb-text);
    text-transform: none;
    letter-spacing: 0;
}

.nobench-matchmaker-form select,
.nobench-matchmaker-form input,
.nobench-matchmaker-form button {
    width: 100%;
    min-height: 44px;
}

.nobench-matchmaker-results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.nobench-matchmaker-results > div {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
}

.nobench-matchmaker-empty {
    display: grid;
    gap: 4px;
    padding: 14px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-matchmaker-empty strong {
    color: var(--nb-text);
}

.nobench-matchmaker-empty span {
    color: var(--nb-muted);
}

.nobench-matchmaker-results h4 {
    margin: 0;
    font-size: 16px;
}

.nobench-smart-strip {
    display: grid;
    gap: 12px;
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: var(--nb-shadow-soft);
}

.nobench-smart-strip-head,
.nobench-smart-panel-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}

.nobench-smart-strip-head h3,
.nobench-smart-panel-head h3 {
    margin: 4px 0 0;
    font-size: 20px;
    line-height: 1.2;
}

.nobench-smart-strip-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
}

.nobench-smart-match {
    display: grid;
    gap: 20px;
}

.nobench-smart-match-form {
    margin: 0;
}

.nobench-smart-match-hero {
    min-height: 218px;
    display: flex;
    align-items: center;
}

.nobench-smart-hero-copy {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    max-width: 680px;
}

.nobench-smart-hero-copy h2 {
    margin: 0;
}

.nobench-smart-hero-copy p {
    max-width: 620px;
}

.nobench-smart-icon {
    background: rgba(239, 246, 255, 0.95);
}

.nobench-smart-match-notice,
.nobench-smart-current-intent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.nobench-smart-match-notice {
    padding: 14px 16px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    color: #10233f;
}

.nobench-smart-match-notice span {
    color: var(--nb-muted);
}

.nobench-smart-current-intent h3,
.nobench-smart-current-intent p {
    margin: 4px 0 0;
}

.nobench-smart-current-intent {
    padding: 18px !important;
    border-left: 4px solid var(--nb-primary);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

.nobench-smart-current-copy {
    display: grid;
    gap: 12px;
    min-width: 0;
}

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

.nobench-smart-signal-grid > span {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 10px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #ffffff;
}

.nobench-smart-signal-grid .nobench-icon {
    grid-row: span 2;
}

.nobench-smart-signal-grid strong,
.nobench-smart-signal-grid small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.nobench-smart-signal-grid small {
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.nobench-smart-intent-form {
    display: grid;
    gap: 16px;
    margin: 0 !important;
    padding: 22px !important;
}

.nobench-smart-intent-form-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.nobench-smart-intent-form-head h3,
.nobench-smart-intent-form-head p {
    margin: 4px 0 0;
}

.nobench-smart-intent-form-head p {
    color: var(--nb-muted);
}

.nobench-smart-intent-fields {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 150px;
    gap: 12px;
    align-items: end;
}

.nobench-smart-intent-fields label {
    display: grid;
    gap: 6px;
    min-width: 0;
    font-weight: 700;
}

.nobench-smart-intent-fields label > span:first-child {
    font-size: 13px;
}

.nobench-smart-intent-fields select,
.nobench-smart-intent-fields input {
    width: 100%;
}

.nobench-smart-intent-note {
    grid-column: 1 / -1;
}

.nobench-smart-intent-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.nobench-smart-match-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}

.nobench-smart-match-panel {
    display: grid;
    align-content: start;
    gap: 12px;
    margin: 0 !important;
    padding: 20px !important;
}

.nobench-smart-match-create {
    grid-column: 1 / -1;
}

.nobench-smart-match-create p {
    max-width: 680px;
    margin: 0;
    color: var(--nb-muted);
}

.nobench-smart-panel-head {
    align-items: center;
    justify-content: flex-start;
}

.nobench-smart-panel-head h3 {
    font-size: 22px;
}

.nobench-match-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-match-card > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.nobench-match-card strong,
.nobench-match-card span,
.nobench-match-card small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.nobench-match-card span,
.nobench-match-card small {
    color: var(--nb-muted);
}

.nobench-match-action-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    position: relative;
    overflow: hidden;
}

.nobench-match-action-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--nb-primary);
}

.nobench-match-action-main {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.nobench-match-action-main img {
    width: 48px;
    height: 48px;
    border-radius: 999px;
}

.nobench-match-action-main strong {
    display: block;
    margin-top: 3px;
    font-size: 18px;
    line-height: 1.2;
}

.nobench-match-action-main p,
.nobench-match-action-main small {
    display: block;
    margin: 4px 0 0;
    color: var(--nb-muted);
    overflow-wrap: anywhere;
}

.nobench-match-action-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 2px;
}

.nobench-match-action-buttons form {
    margin: 0;
}

.nobench-match-action-buttons .nobench-button,
.nobench-match-action-buttons .nobench-secondary-link,
.nobench-match-action-buttons button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nobench-live-player-card {
    justify-content: start;
}

.nobench-live-player-card img {
    width: 36px;
    height: 36px;
    border-radius: 999px;
}

.nobench-smart-room {
    display: grid;
    gap: 18px;
}

.nobench-smart-room-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 238px;
    padding: 34px !important;
    background:
        radial-gradient(circle at 14% 20%, rgba(31, 111, 235, 0.32), transparent 34%),
        linear-gradient(105deg, rgba(8, 17, 31, 0.95), rgba(15, 23, 42, 0.80) 54%, rgba(31, 111, 235, 0.42)),
        var(--nobench-page-hero-image, linear-gradient(135deg, #0b1728, #123252)) !important;
    color: #ffffff;
    overflow: hidden;
    position: relative;
}

.nobench-smart-room-hero::after {
    content: "";
    position: absolute;
    inset: auto -12% -44% 38%;
    height: 170px;
    background: rgba(255, 255, 255, 0.08);
    filter: blur(34px);
    transform: rotate(-8deg);
}

.nobench-smart-room-hero > * {
    position: relative;
    z-index: 1;
}

.nobench-smart-room-hero h2 {
    margin: 6px 0;
    color: #ffffff;
    max-width: 760px;
}

.nobench-smart-room-hero p,
.nobench-smart-room-hero .nobench-eyebrow {
    color: rgba(255, 255, 255, 0.82);
}

.nobench-smart-room-hero-main {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.nobench-smart-room-plan {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 760px;
}

.nobench-smart-room-plan > span {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.10);
}

.nobench-smart-room-plan strong,
.nobench-smart-room-plan small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.nobench-smart-room-plan strong {
    color: #ffffff;
    font-size: 15px;
}

.nobench-smart-room-plan small {
    color: rgba(255, 255, 255, 0.70);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.nobench-smart-room-status {
    min-width: 230px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
}

.nobench-smart-room-status span,
.nobench-smart-room-status strong,
.nobench-smart-room-status em {
    display: block;
}

.nobench-smart-room-status span {
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.nobench-smart-room-status strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 22px;
}

.nobench-smart-room-status em {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.72);
    font-style: normal;
    font-weight: 700;
}

.nobench-smart-room-stepper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 14px;
}

.nobench-smart-room-stepper span {
    display: block;
    padding-top: 8px;
    border-top: 3px solid rgba(255, 255, 255, 0.24);
    color: rgba(255, 255, 255, 0.66);
    font-size: 11px;
    font-weight: 800;
}

.nobench-smart-room-stepper span.is-active {
    border-color: #ffffff;
    color: #ffffff;
}

.nobench-smart-room-join {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px !important;
}

.nobench-smart-room-join h3,
.nobench-smart-room-join p {
    margin: 0;
}

.nobench-smart-room-join p {
    margin-top: 4px;
    color: var(--nb-muted);
}

.nobench-smart-room-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 16px;
}

.nobench-smart-room-panel {
    display: grid;
    align-content: start;
    gap: 14px;
    margin: 0 !important;
    padding: 20px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05) !important;
}

.nobench-smart-room-chat {
    grid-column: 1 / -1;
}

.nobench-smart-room-people,
.nobench-smart-room-messages,
.nobench-smart-room-venues {
    display: grid;
    gap: 10px;
}

.nobench-smart-room-person {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.nobench-smart-room-person img {
    width: 40px;
    height: 40px;
    border-radius: 999px;
}

.nobench-smart-room-person strong,
.nobench-smart-room-person span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.nobench-smart-room-person span {
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-smart-room-person.is-pending {
    background: #fffbeb;
    border-color: #fde68a;
}

.nobench-smart-room-inline-form,
.nobench-smart-room-choice-form,
.nobench-smart-room-message-form {
    display: grid;
    gap: 10px;
}

.nobench-smart-room-inline-form {
    grid-template-columns: minmax(0, 1fr) auto;
}

.nobench-smart-room-choice-form {
    grid-template-columns: minmax(0, 1fr) 150px 130px auto;
    align-items: end;
}

.nobench-smart-room-choice-form label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.nobench-smart-room-choice-form label > span {
    color: var(--nb-muted);
    font-size: 12px;
    text-transform: uppercase;
}

.nobench-smart-room-venue-card {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.nobench-smart-room-venue-cover {
    min-height: 76px;
    height: 100%;
    background: #eaf1fb;
    background-size: cover;
    background-position: center;
}

.nobench-smart-room-venue-card strong,
.nobench-smart-room-venue-card span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.nobench-smart-room-venue-card span {
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-smart-room-message {
    padding: 12px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
}

.nobench-smart-room-message strong,
.nobench-smart-room-message p,
.nobench-smart-room-message small {
    display: block;
    margin: 0;
    overflow-wrap: anywhere;
}

.nobench-smart-room-message p {
    margin-top: 5px;
    color: var(--nb-text);
}

.nobench-smart-room-message small {
    margin-top: 6px;
    color: var(--nb-muted);
}

.nobench-smart-room-message-form textarea {
    width: 100%;
    min-height: 92px;
    resize: vertical;
}

.nobench-smart-room-locked-action {
    display: block;
    padding: 12px;
    border: 1px dashed #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    color: var(--nb-muted);
    font-weight: 800;
}

@media (max-width: 900px) {
    .nobench-smart-intent-fields {
        grid-template-columns: 1fr 1fr;
    }

    .nobench-smart-signal-grid {
        grid-template-columns: 1fr;
    }

    .nobench-smart-room-grid,
    .nobench-smart-room-choice-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .nobench-smart-match-hero {
        min-height: 180px;
    }

    .nobench-smart-hero-copy,
    .nobench-smart-intent-form-head {
        grid-template-columns: 1fr;
    }

    .nobench-smart-match-notice,
    .nobench-smart-current-intent {
        align-items: stretch;
        flex-direction: column;
    }

    .nobench-smart-intent-fields,
    .nobench-smart-match-grid {
        grid-template-columns: 1fr;
    }

    .nobench-match-action-buttons .nobench-button,
    .nobench-match-action-buttons .nobench-secondary-link,
    .nobench-match-action-buttons form,
    .nobench-match-action-buttons button {
        width: 100%;
    }

    .nobench-smart-room-hero,
    .nobench-smart-room-join {
        align-items: stretch;
        flex-direction: column;
    }

    .nobench-smart-room-plan {
        grid-template-columns: 1fr;
    }

    .nobench-smart-room-inline-form {
        grid-template-columns: 1fr;
    }
}

.nobench-private-invites {
    margin-top: 16px;
    padding: 14px;
    border: 1px dashed var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-private-invites-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.nobench-private-invites-head strong,
.nobench-private-invites-head small {
    display: block;
}

.nobench-private-invites-head small {
    color: var(--nb-muted);
}

.nobench-invite-friend-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.nobench-invite-friend-card {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    margin: 0 !important;
    padding: 10px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

.nobench-invite-friend-card input {
    width: auto !important;
    margin: 0 !important;
}

.nobench-invite-friend-card img.avatar {
    width: 36px;
    height: 36px;
    border-radius: 999px;
}

.nobench-create-venue-preview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
    gap: 14px;
    margin-top: 16px;
}

.nobench-create-venue-preview[hidden] {
    display: none !important;
}

.nobench-create-venue-preview-empty {
    display: none;
    grid-column: 1 / -1;
    padding: 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: var(--nb-muted);
    font-weight: 720;
}

.nobench-create-venue-preview.is-empty {
    display: block;
}

.nobench-create-venue-preview.is-empty .nobench-create-venue-preview-empty {
    display: block;
}

.nobench-create-venue-preview.is-empty .nobench-create-venue-card,
.nobench-create-venue-preview.is-empty .nobench-create-venue-map {
    display: none;
}

.nobench-create-venue-card,
.nobench-create-venue-map {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-create-venue-card {
    display: block;
}

.nobench-create-venue-cover {
    min-height: 210px;
    background-color: #e8eef5;
    background-position: center;
    background-size: cover;
}

.nobench-create-venue-cover.is-empty::before {
    content: "Venue";
    display: grid;
    place-items: center;
    min-height: 210px;
    color: var(--nb-muted);
    font-weight: 800;
}

.nobench-create-venue-card > div:last-child {
    padding: 16px;
}

.nobench-create-venue-card h4 {
    margin: 6px 0 6px;
    font-size: 20px;
}

.nobench-create-venue-card p {
    margin: 0 0 12px;
    color: var(--nb-muted);
}

.nobench-create-venue-map a {
    color: var(--nb-primary);
    font-weight: 800;
    text-decoration: none;
}

.nobench-create-venue-map {
    position: relative;
    min-height: 210px;
}

.nobench-create-venue-map iframe {
    display: block;
    width: 100%;
    height: 210px;
    border: 0;
}

.nobench-create-venue-map-empty {
    display: grid;
    place-items: center;
    min-height: 210px;
    padding: 18px;
    color: var(--nb-muted);
    text-align: center;
}

.nobench-create-venue-map-empty[hidden] {
    display: none !important;
}

.nobench-create-venue-map iframe[hidden] {
    display: none !important;
}

.nobench-create-venue-map a {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.12);
}

#nobench-price-per-player[readonly] {
    background: #f7f8fa !important;
    color: var(--nb-text);
    font-weight: 780;
}

#nobench-slot-message {
    display: block;
    margin-top: 8px;
    color: var(--nb-muted);
    font-weight: 650;
}

.nobench-time-slot-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: flex-start !important;
    margin-top: 8px !important;
}

.nobench-time-slot-button {
    flex: 0 0 auto !important;
    min-width: 112px !important;
    min-height: 42px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
}

.nobench-time-slot-button.is-selected {
    background: var(--nb-primary-hover) !important;
    color: #fff !important;
    outline: 3px solid rgba(24, 90, 188, 0.24) !important;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.72) !important;
}

.nobench-time-slot-button.is-available:hover {
    background: var(--nb-primary-hover) !important;
    color: #fff !important;
}

.nobench-time-slot-button::before,
.nobench-time-slot-button::after {
    display: none !important;
    content: none !important;
}

.nobench-create-review {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #182230;
    color: #fff;
}

.nobench-create-review h3,
.nobench-create-review p {
    color: inherit !important;
    margin: 0;
}

.nobench-create-review-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 8px;
    min-width: min(100%, 440px);
}

.nobench-create-review-summary div {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 8px;
    background: rgba(255,255,255,0.08);
}

.nobench-create-review-summary span {
    color: rgba(255,255,255,0.68);
    font-size: 11px;
    font-weight: 780;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.nobench-create-review-summary strong {
    color: #fff;
    font-size: 15px;
}

.nobench-create-review-summary small {
    grid-column: 1 / -1;
    color: rgba(255,255,255,0.72);
}

.nobench-create-review .nobench-eyebrow {
    color: rgba(255,255,255,0.72);
}

.nobench-create-review button {
    min-width: 170px;
    background: var(--nb-primary) !important;
    color: #fff !important;
}

.nobench-create-success {
    max-width: var(--nb-shell-width, 1200px);
    margin: 0 auto 16px;
    padding: 14px 16px;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #f0fdf4;
    color: #166534;
    font-weight: 760;
}

.nobench-tournament-create {
    overflow: hidden;
    padding: 20px !important;
}

.nobench-tournament-create summary {
    cursor: pointer;
    padding: 0 0 16px;
    font-size: 18px;
    font-weight: 760;
    color: var(--nb-text);
}

.nobench-tournament-os-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.8fr) auto;
    align-items: center;
    gap: 18px;
    border-color: #cfe0f7;
    background: #ffffff;
}

.nobench-tournament-os-card h3 {
    margin: 4px 0 8px;
    font-size: 24px;
}

.nobench-tournament-os-card p {
    margin: 0;
}

.nobench-tournament-os-points {
    display: grid;
    gap: 8px;
}

.nobench-tournament-os-points span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--nb-text);
    font-weight: 760;
}

.nobench-tournament-os-points .nobench-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 8px;
}

.nobench-tournament-os-points .nobench-icon svg {
    width: 16px;
    height: 16px;
}

.nobench-trust-badge,
.nobench-live-bench-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    padding: 6px 9px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
    color: var(--nb-primary);
    font-size: 12px;
    line-height: 1.1;
    font-weight: 760;
}

.nobench-trust-badge small {
    color: inherit;
    font-size: 11px;
    font-weight: 700;
    opacity: 0.78;
}

.nobench-trust-badge.is-strong {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #15803d;
}

.nobench-trust-badge.is-good {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.nobench-trust-badge.is-building {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.nobench-trust-badge.is-new {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #475569;
}

.nobench-live-bench-badge {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.nobench-player-card-meta .nobench-trust-badge,
.nobench-player-card-meta .nobench-live-bench-badge {
    margin-top: 2px;
}

.nobench-player-signal-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 10px;
}

.nobench-live-bench-section {
    border-color: #cfe0f7;
    background: #f8fbff;
}

.nobench-live-bench-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.nobench-post-game-feedback {
    display: grid;
    gap: 16px;
}

.nobench-feedback-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.nobench-feedback-card {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-feedback-player {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.nobench-feedback-player img {
    width: 44px;
    height: 44px;
    border-radius: 999px;
}

.nobench-feedback-player > div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.nobench-feedback-card label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: var(--nb-text);
    font-weight: 650;
}

.nobench-feedback-card label span {
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 650;
}

.nobench-feedback-note {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .nobench-matchmaker-form,
    .nobench-matchmaker-results,
    .nobench-smart-match-grid,
    .nobench-smart-strip-grid,
    .nobench-create-matchmaker-nudge,
    .nobench-tournament-os-card,
    .nobench-live-bench-form-grid {
        grid-template-columns: 1fr;
    }

    .nobench-smart-strip-head,
    .nobench-smart-panel-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .nobench-smart-strip {
        padding: 14px;
    }

    .nobench-matchmaker-head {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .nobench-matchmaker-head p {
        max-width: none;
        text-align: left;
    }

    .nobench-match-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .nobench-tournament-os-card {
        text-align: left;
    }

    .nobench-tournament-os-card > .nobench-button,
    .nobench-tournament-os-card > .nobench-secondary-link,
    .nobench-matchmaker-nudge-actions,
    .nobench-matchmaker-form .nobench-button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

.nobench-create-tournament-form {
    display: grid;
    gap: 16px;
    margin-top: 0;
}

.nobench-tournament-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.nobench-tournament-field {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--nb-text);
    font-weight: 650;
}

.nobench-tournament-field span {
    display: block;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 650;
    color: var(--nb-text);
}

.nobench-tournament-field input,
.nobench-tournament-field select,
.nobench-tournament-field textarea {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--nb-text);
    font: inherit;
    font-weight: 400;
    outline: none;
    box-shadow: none;
}

.nobench-tournament-field textarea {
    min-height: 108px;
    resize: vertical;
}

.nobench-tournament-field input:focus,
.nobench-tournament-field select:focus,
.nobench-tournament-field textarea:focus {
    border-color: var(--nb-primary);
    box-shadow: 0 0 0 3px rgba(24, 90, 188, 0.12);
}

.nobench-tournament-field-wide {
    grid-column: 1 / -1;
}

.nobench-create-tournament-form .nobench-button {
    justify-self: start;
    min-width: 0;
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    font-weight: 740 !important;
}

.nobench-tournament-card {
    overflow: hidden;
    padding: 0;
}

.nobench-tournament-card-body {
    padding: 18px;
}

.nobench-sponsor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-top: 12px;
}

.nobench-sponsor-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #ffffff;
}

.nobench-sponsor-card a {
    color: var(--nb-primary);
    text-decoration: none;
}

.nobench-sponsor-card h4 {
    margin: 10px 0 6px;
    font-size: 17px;
}

.nobench-sponsor-card p {
    margin: 0;
    color: var(--nb-muted);
}

.nobench-sponsor-logo {
    display: block;
    width: 100%;
    max-height: 90px;
    object-fit: contain;
    object-position: left center;
}

.nobench-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.nobench-section-heading h3 {
    margin: 0;
}

.nobench-section-heading span {
    color: var(--nb-muted);
    font-weight: 760;
    font-size: 14px;
}

.nobench-tournament-participant-list {
    display: grid;
    gap: 10px;
}

.nobench-tournament-participant,
.nobench-bracket-entry {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
}

.nobench-tournament-participant strong,
.nobench-bracket-entry strong {
    display: block;
}

.nobench-tournament-participant span,
.nobench-bracket-entry span,
.nobench-bracket-entry small {
    display: block;
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 700;
}

.nobench-tournament-participant-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.nobench-tournament-participant-meta span {
    padding: 5px 8px;
    border-radius: 8px;
    background: var(--nb-soft);
    color: var(--nb-primary);
}

.nobench-bracket-board {
    display: grid;
    grid-template-columns: repeat(7, minmax(145px, 1fr));
    gap: 12px;
}

.nobench-bracket-column {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-bracket-column h4 {
    margin: 0 0 10px;
    font-size: 15px;
}

.nobench-bracket-entry {
    display: grid;
    align-items: start;
    margin-bottom: 8px;
    padding: 10px;
}

.nobench-empty-small {
    margin: 0;
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-tournament-manager-list {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.nobench-tournament-manager-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.6fr) minmax(130px, 1fr) minmax(140px, 1fr) 90px 90px;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
}

.nobench-tournament-manager-row label {
    display: grid;
    gap: 6px;
    min-width: 0;
    font-weight: 780;
}

.nobench-tournament-manager-row label span {
    color: var(--nb-muted);
    font-size: 12px;
}

.nobench-tournament-manager-row input,
.nobench-tournament-manager-row select {
    width: 100%;
    min-height: 42px;
}

.nobench-tournament-new-entry {
    background: #f8fafc;
}

@media (max-width: 768px) {
    .nobench-create-step,
    .nobench-create-review {
        padding: 16px;
    }

    .nobench-create-review {
        display: grid;
    }

    .nobench-create-review-summary {
        grid-template-columns: 1fr;
        min-width: 0;
    }

    .nobench-create-venue-preview,
    .nobench-create-venue-card {
        grid-template-columns: 1fr;
    }

    .nobench-create-review button {
        width: 100%;
    }

    .nobench-tournament-form-grid {
        grid-template-columns: 1fr;
    }

    .nobench-create-tournament-form .nobench-button {
        width: 100%;
    }

    .nobench-section-heading {
        display: grid;
        gap: 4px;
    }

    .nobench-tournament-participant {
        display: grid;
    }

    .nobench-tournament-participant-meta {
        justify-content: flex-start;
    }

    .nobench-bracket-board {
        grid-template-columns: 1fr;
    }

    .nobench-bracket-column {
        display: grid;
        gap: 8px;
    }

    .nobench-tournament-manager-row {
        grid-template-columns: 1fr;
    }
}

/* Final scoped override: calendar day cells are application tiles, not text links. */
.nobench-venue-dashboard .nb-booking-calendar a.nb-gcal-day,
.nobench-venue-calendar .nb-booking-calendar a.nb-gcal-day {
    display: flex !important;
    flex-direction: column !important;
    min-height: 150px !important;
    padding: 10px !important;
    background: #ffffff !important;
}

.nobench-venue-dashboard .nb-booking-calendar a.nb-gcal-day.is-muted,
.nobench-venue-calendar .nb-booking-calendar a.nb-gcal-day.is-muted {
    background: #f8fafc !important;
}

@media (max-width: 700px) {
    .nobench-venue-dashboard .nb-booking-calendar a.nb-gcal-day,
    .nobench-venue-calendar .nb-booking-calendar a.nb-gcal-day {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        min-height: 0 !important;
    }
}

/* Account page polish: keep profile controls aligned with the calmer site UI. */
.nobench-account-header {
    align-items: center !important;
}

.nobench-account-header h2 {
    margin: 0 0 8px !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 780 !important;
    letter-spacing: 0 !important;
}

.nobench-account-header p {
    margin: 0 0 10px !important;
    color: var(--nb-muted) !important;
    font-weight: 500 !important;
}

.nobench-account-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.nobench-account-header-actions .nobench-secondary-link,
.nobench-social-actions .nobench-secondary-link,
.nobench-avatar-actions .nobench-secondary-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--nb-text) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.nobench-account-header-actions .nobench-secondary-link:hover,
.nobench-social-actions .nobench-secondary-link:hover,
.nobench-avatar-actions .nobench-secondary-link:hover {
    border-color: var(--nb-primary) !important;
    color: var(--nb-primary) !important;
    background: #fff !important;
}

.nobench-account-header-actions .nobench-danger-link,
.nobench-account-header-actions .nobench-danger-link:hover {
    border-color: var(--nb-danger) !important;
    background: var(--nb-danger) !important;
    color: #fff !important;
}

.nobench-profile-form .nobench-profile-section h4 {
    font-size: 18px !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
}

.nobench-profile-form label,
.nobench-profile-form .nobench-field-block {
    font-weight: 650 !important;
}

.nobench-profile-form label strong,
.nobench-profile-form .nobench-field-block > strong {
    font-size: 15px !important;
    font-weight: 650 !important;
}

.nobench-checkbox-grid label {
    border-radius: 8px !important;
    font-weight: 560 !important;
}

.nobench-checkbox-grid label:has(input:checked) {
    font-weight: 620 !important;
}

.nobench-profile-form input[type="text"],
.nobench-profile-form input[type="email"],
.nobench-profile-form input[type="tel"],
.nobench-profile-form input[type="url"],
.nobench-profile-form select,
.nobench-profile-form textarea {
    font-weight: 400 !important;
}

.nobench-profile-form textarea,
.nobench-profile-form textarea:focus {
    font-weight: 400 !important;
}

.nobench-profile-form .nobench-profile-section h4 {
    font-weight: 700 !important;
}

.nobench-file-upload-button,
.nobench-avatar-actions .nobench-button,
.nobench-avatar-actions label.nobench-button {
    color: #fff !important;
    background: var(--nb-primary) !important;
    border-color: var(--nb-primary) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    box-shadow: none !important;
}

.nobench-profile-form > .nobench-button,
.nobench-profile-form button[type="submit"].nobench-button {
    width: auto !important;
    justify-self: start !important;
    min-height: 42px !important;
    border-radius: 8px !important;
    font-weight: 760 !important;
}

@media (max-width: 768px) {
    .nobench-account-header {
        align-items: flex-start !important;
    }

    .nobench-account-header-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .nobench-profile-form > .nobench-button,
    .nobench-profile-form button[type="submit"].nobench-button {
        width: 100% !important;
    }
}

/* =========================================================
   SINGLE GAME PAGE
========================================================= */

.nb-single-game .entry-title {
    display: none !important;
}

.nobench-single-game-summary {
    margin-top: 0 !important;
}

.nobench-single-game-summary .nobench-game-card-top {
    margin-bottom: 18px;
}

.nobench-single-game-summary h1 {
    margin: 0 0 8px !important;
    color: var(--nb-text) !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
    font-weight: 820 !important;
}

.nobench-single-game-summary .nobench-game-card-main {
    min-width: 0;
}

.nobench-single-game-summary .nobench-game-price {
    border-radius: 8px !important;
    min-width: 98px;
}

.nobench-single-game-summary .nobench-game-price strong {
    color: var(--nb-primary) !important;
}

.nb-single-game .entry-content.nb-page-content {
    display: grid;
    gap: 18px;
}

.nb-single-game .entry-content.nb-page-content > * {
    margin-top: 0 !important;
}

.nb-single-game .entry-content.nb-page-content > p:empty {
    display: none;
}

.nb-single-game .nobench-join-box,
.nb-single-game .nobench-admin-confirmation,
.nb-single-game .nobench-invite-box,
.nb-single-game .nobench-game-chat {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nb-single-game .nobench-join-box h3,
.nb-single-game .nobench-invite-box h3,
.nb-single-game .nobench-game-chat h3 {
    font-size: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    font-weight: 760 !important;
}

.nb-single-game .nobench-join-box label,
.nb-single-game .nobench-join-box p,
.nb-single-game .nobench-join-box small {
    font-weight: 400 !important;
}

.nb-single-game .nobench-join-box label strong,
.nb-single-game .nobench-player-list strong {
    font-weight: 680 !important;
}

.nb-single-game .nobench-player-list {
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.nb-single-game .nobench-player-list ul {
    display: grid;
    gap: 6px;
    padding-left: 18px;
}

.nb-single-game .nobench-equipment-rentals {
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    padding: 14px;
}

.nb-single-game .nobench-equipment-rentals h4 {
    margin-bottom: 4px !important;
    font-size: 18px !important;
    letter-spacing: 0 !important;
}

.nb-single-game .nobench-equipment-rentals p {
    margin: 10px 0 !important;
}

@media (max-width: 700px) {
    .nobench-single-game-summary {
        padding: 18px !important;
    }

    .nobench-single-game-summary .nobench-game-card-top {
        display: grid;
        gap: 14px;
    }

    .nobench-single-game-summary .nobench-game-price {
        width: 100%;
        text-align: left;
    }

    .nobench-single-game-summary .nobench-game-card-info {
        grid-template-columns: 1fr;
    }

    .nobench-single-game-summary .nobench-game-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nobench-single-game-summary .nobench-game-actions .nobench-button,
    .nobench-single-game-summary .nobench-game-actions .nobench-secondary-link {
        width: 100%;
    }

    .nobench-reschedule-form {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   CANCELLATION / EQUIPMENT FLOW
========================================================= */

.nobench-cancel-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.nobench-status-rescheduled {
    background: #e8f1ff !important;
    color: var(--nb-primary) !important;
}

.nobench-reschedule-note {
    color: var(--nb-primary) !important;
}

.nobench-reschedule-card {
    display: grid;
    gap: 16px;
}

.nobench-reschedule-card h3 {
    margin-bottom: 6px !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
}

.nobench-reschedule-card p {
    font-weight: 400 !important;
}

.nobench-reschedule-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.nobench-reschedule-form label {
    display: grid;
    gap: 7px;
    color: var(--nb-text);
    font-weight: 650;
}

.nobench-reschedule-form input,
.nobench-reschedule-form textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    color: var(--nb-text);
    font: inherit;
    font-weight: 400;
    padding: 10px 12px;
    box-sizing: border-box;
}

.nobench-reschedule-note-field {
    grid-column: 1 / -1;
}

.nobench-reschedule-form button {
    justify-self: end;
    grid-column: 1 / -1;
}

.nobench-success-note {
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #f0fdf4;
    color: #166534 !important;
    padding: 10px 12px;
}

.nobench-cancel-card h3 {
    margin-bottom: 6px !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
}

.nobench-cancel-card p {
    font-weight: 400 !important;
}

.nobench-modal-is-open {
    overflow: hidden;
}

.nobench-modal[hidden] {
    display: none !important;
}

.nobench-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 18px;
}

.nobench-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
}

.nobench-modal-panel {
    position: relative;
    width: min(540px, 100%);
    max-height: calc(100vh - 36px);
    overflow: auto;
    background: #fff;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.22);
    padding: 22px;
}

.nobench-modal-panel h3 {
    margin: 0 0 8px !important;
    font-size: 24px !important;
    letter-spacing: 0 !important;
}

.nobench-modal-panel p {
    font-weight: 400 !important;
}

.nobench-modal-panel label {
    display: grid;
    gap: 7px;
    margin: 14px 0;
    color: var(--nb-text);
    font-weight: 650;
}

.nobench-modal-panel select,
.nobench-modal-panel textarea {
    width: 100%;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    padding: 11px 12px;
    font: inherit;
    font-weight: 400;
    color: var(--nb-text);
    background: #fff;
    box-sizing: border-box;
}

.nobench-modal-x {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    min-height: 34px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: var(--nb-text) !important;
    box-shadow: none !important;
}

.nobench-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.nobench-equipment-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-top: 12px;
}

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

.nobench-join-field {
    display: grid;
    gap: 7px;
    max-width: 380px;
}

.nobench-join-field label {
    color: var(--nb-text);
    font-size: 14px;
    font-weight: 720;
}

.nobench-join-field select {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    color: var(--nb-text);
    font: inherit;
    font-weight: 500;
    padding: 0 42px 0 12px;
    box-shadow: none;
}

.nobench-join-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    padding: 12px 14px;
}

.nobench-join-total span {
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.nobench-join-total strong {
    color: var(--nb-blue);
    font-size: 24px;
    font-weight: 760 !important;
}

.nobench-join-total small {
    flex-basis: 100%;
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 400;
}

.nobench-equipment-choice-card {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) 86px;
    gap: 12px;
    align-items: center;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    padding: 10px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.nobench-equipment-choice-card:focus-within,
.nobench-equipment-choice-card:hover {
    border-color: rgba(21, 101, 216, 0.45);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.nobench-equipment-choice-card img {
    width: 76px;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 8px;
    background: #f1f5f9;
}

.nobench-equipment-choice-body {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.nobench-equipment-choice-body strong {
    font-size: 15px;
    font-weight: 720 !important;
}

.nobench-equipment-choice-body small,
.nobench-equipment-choice-body em {
    color: var(--nb-muted);
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
}

.nobench-equipment-choice-card input[type="number"] {
    width: 86px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    min-height: 40px;
    padding: 8px 10px;
    background: #fff;
    color: var(--nb-text);
    font: inherit;
    font-weight: 650;
    text-align: center;
    box-shadow: none;
}

.nobench-equipment-choice-card input[type="number"]:focus,
.nobench-join-field select:focus {
    border-color: var(--nb-blue);
    outline: 3px solid rgba(21, 101, 216, 0.14);
}

.nobench-owner-policy-card {
    margin-top: 18px;
}

.nobench-owner-policy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0;
}

.nobench-owner-policy-grid > div {
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    padding: 12px;
}

.nobench-owner-policy-grid span {
    display: block;
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.nobench-owner-policy-grid strong {
    font-size: 15px;
    font-weight: 720 !important;
}

/* Venue owner dashboard */
.nobench-owner-dashboard {
    display: grid;
    gap: 18px;
}

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

.nobench-owner-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.6fr);
    gap: 18px;
    align-items: stretch;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.nobench-owner-hero-main {
    display: grid;
    align-content: center;
    gap: 12px;
    padding: 24px;
}

.nobench-owner-kicker {
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 720;
    letter-spacing: 0;
}

.nobench-owner-hero h2 {
    margin: 0;
    color: var(--nb-text);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.05;
    font-weight: 820;
    letter-spacing: 0;
}

.nobench-owner-hero-meta,
.nobench-owner-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.nobench-owner-hero-meta span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 36px;
    padding: 8px 10px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    color: var(--nb-text);
    font-size: 14px;
    font-weight: 680;
}

.nobench-owner-meta-icon,
.nobench-dashboard-tab-icon,
.nobench-owner-card-icon,
.nobench-owner-hero-placeholder-icon {
    display: inline-flex;
    color: var(--nb-primary);
}

.nobench-owner-meta-icon svg,
.nobench-dashboard-tab-icon svg,
.nobench-owner-card-icon svg {
    width: 18px;
    height: 18px;
}

.nobench-owner-hero-side {
    min-height: 220px;
    background: #edf3fb;
}

.nobench-owner-hero-side img,
.nobench-owner-hero-placeholder {
    width: 100%;
    height: 100%;
    min-height: 220px;
}

.nobench-owner-hero-side img {
    display: block;
    object-fit: cover;
}

.nobench-owner-hero-placeholder {
    display: grid;
    place-items: center;
    color: var(--nb-primary);
}

.nobench-owner-hero-placeholder-icon svg {
    width: 46px;
    height: 46px;
}

.nobench-button-secondary,
a.nobench-button-secondary {
    background: #ffffff !important;
    color: var(--nb-text) !important;
    border: 1px solid var(--nb-border) !important;
    box-shadow: none !important;
}

.nobench-button-secondary:hover,
a.nobench-button-secondary:hover {
    background: #f8fafc !important;
    color: var(--nb-text) !important;
}

.nobench-owner-venue-switch {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto;
    gap: 10px;
    align-items: end;
    padding: 14px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
}

.nobench-owner-venue-switch label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 720;
}

.nobench-owner-venue-switch select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    color: var(--nb-text);
    font: inherit;
    font-weight: 650;
}

.nobench-dashboard-tab-icon {
    margin-right: 6px;
}

.nobench-owner-command {
    display: grid;
    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.6fr);
    gap: 14px;
    align-items: stretch;
    padding: 16px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.nobench-owner-command-copy {
    display: grid;
    align-content: center;
    gap: 6px;
}

.nobench-owner-command-copy h3,
.nobench-owner-section-head h3 {
    margin: 0 !important;
    color: var(--nb-text);
    font-size: 22px;
    line-height: 1.15;
    font-weight: 780 !important;
}

.nobench-owner-command-copy p,
.nobench-owner-section-head p {
    margin: 0;
    color: var(--nb-muted);
    font-size: 14px;
    line-height: 1.45;
}

.nobench-owner-command-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.nobench-owner-command-card {
    display: grid !important;
    gap: 7px;
    min-height: 124px;
    padding: 13px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc !important;
    color: var(--nb-text) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.nobench-owner-command-card:hover {
    border-color: rgba(31, 111, 235, 0.36);
    background: #eff6ff !important;
    color: var(--nb-text) !important;
}

.nobench-owner-command-card.is-attention {
    background: #fffbeb !important;
    border-color: #fde68a;
}

.nobench-owner-command-card.is-money {
    background: #f0fdf4 !important;
    border-color: #bbf7d0;
}

.nobench-owner-command-card span {
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 760;
    text-transform: uppercase;
}

.nobench-owner-command-card strong {
    color: var(--nb-text);
    font-size: 24px;
    line-height: 1.05;
    font-weight: 780 !important;
}

.nobench-owner-command-card small {
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 560;
}

.nobench-owner-section-head {
    display: flex;
    gap: 16px;
    align-items: end;
    justify-content: space-between;
    padding: 18px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.nobench-owner-section-head > div {
    display: grid;
    gap: 7px;
}

.nobench-owner-subhead {
    margin-top: 6px;
}

.nobench-owner-subhead h4 {
    margin: 0 !important;
    color: var(--nb-text);
    font-size: 17px;
    font-weight: 760 !important;
}

.nobench-owner-table-wrap {
    width: 100%;
    overflow-x: auto;
    border-radius: 8px;
}

.nobench-owner-empty-card {
    padding: 18px !important;
}

.nobench-owner-empty-card p {
    margin: 0;
    color: var(--nb-muted);
}

.nobench-owner-finance-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px !important;
}

.nobench-owner-finance-note h4 {
    margin: 0 0 4px !important;
}

.nobench-owner-finance-note p {
    margin: 0;
    color: var(--nb-muted);
}

.nobench-owner-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nobench-owner-stat-card {
    display: grid;
    gap: 8px;
    min-height: 132px;
    padding: 16px !important;
}

.nobench-owner-stat-top {
    display: flex;
    gap: 10px;
    align-items: center;
}

.nobench-owner-card-icon {
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eff6ff;
}

.nobench-owner-stat-card span {
    color: var(--nb-muted);
    font-size: 12px;
    font-weight: 760;
    text-transform: uppercase;
}

.nobench-owner-stat-card strong {
    color: var(--nb-text);
    font-size: 24px;
    line-height: 1.1;
    font-weight: 780 !important;
}

.nobench-owner-stat-card small {
    color: var(--nb-muted);
    font-size: 13px;
    font-weight: 560;
}

.nobench-owner-ops-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
}

.nobench-owner-ops-card {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 18px !important;
}

.nobench-owner-ops-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.nobench-owner-ops-head h3 {
    margin: 0 0 4px !important;
    font-size: 18px;
}

.nobench-owner-ops-head p {
    margin: 0;
    color: var(--nb-muted);
    font-size: 14px;
}

.nobench-owner-compact-list {
    display: grid;
    gap: 8px;
}

.nobench-owner-compact-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.nobench-owner-compact-row strong,
.nobench-owner-compact-row a {
    color: var(--nb-text);
    font-size: 14px;
    font-weight: 780;
    text-decoration: none;
}

.nobench-owner-compact-row a:hover {
    color: var(--nb-primary);
}

.nobench-owner-compact-row span {
    display: block;
    color: var(--nb-muted);
    font-size: 13px;
}

.nobench-owner-compact-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.nobench-owner-smart-fill-row .nobench-owner-compact-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
}

.nobench-owner-empty {
    margin: 0;
    padding: 14px;
    border: 1px dashed var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    color: var(--nb-muted);
    font-weight: 650;
}

.nobench-owner-notice.is-warning {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.nobench-owner-dashboard h3,
.nobench-owner-dashboard h4 {
    margin: 4px 0 8px;
    color: var(--nb-text);
    letter-spacing: 0;
}

.nobench-owner-dashboard .nobench-owner-command-copy h3,
.nobench-owner-dashboard .nobench-owner-section-head h3,
.nobench-owner-dashboard .nobench-owner-subhead h4 {
    margin: 0 !important;
}

.nobench-owner-dashboard .nobench-calendar-table {
    border-radius: 8px;
    box-shadow: none;
    margin-top: 0;
}

.nobench-owner-dashboard .nobench-calendar-table th {
    color: var(--nb-muted);
    font-size: 12px;
    text-transform: uppercase;
}

.nobench-owner-dashboard .nobench-calendar-table td {
    color: var(--nb-text);
    font-size: 14px;
}

.nobench-owner-dashboard .nobench-owner-court-form {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.nobench-owner-court-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.nobench-owner-court-grid label,
.nobench-owner-court-form label {
    display: grid;
    gap: 6px;
    color: var(--nb-text);
    font-weight: 720;
}

.nobench-owner-court-grid input,
.nobench-owner-court-grid select,
.nobench-owner-court-form textarea {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #fff;
    color: var(--nb-text);
    font: inherit;
    font-weight: 560;
    box-sizing: border-box;
}

.nobench-owner-court-form textarea {
    min-height: 92px;
    resize: vertical;
}

.nobench-owner-days {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nobench-owner-days label {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--nb-border);
    border-radius: 8px;
    background: #f8fafc;
    color: var(--nb-text);
    font-size: 13px;
    font-weight: 680;
}

@media (max-width: 700px) {
    .nobench-cancel-card {
        display: grid;
    }

    .nobench-cancel-card .nobench-danger {
        width: 100%;
    }

    .nobench-equipment-choice-card {
        grid-template-columns: 62px minmax(0, 1fr);
    }

    .nobench-equipment-choice-card img {
        width: 62px;
    }

    .nobench-equipment-choice-card input[type="number"] {
        grid-column: 1 / -1;
        width: 100%;
    }

    .nobench-join-field {
        max-width: none;
    }

    .nobench-join-total {
        display: grid;
    }

    .nobench-owner-policy-grid {
        grid-template-columns: 1fr;
    }

    .nobench-owner-hero,
    .nobench-owner-venue-switch,
    .nobench-owner-command {
        grid-template-columns: 1fr;
    }

    .nobench-owner-hero-main {
        padding: 18px;
    }

    .nobench-owner-hero-side,
    .nobench-owner-hero-side img,
    .nobench-owner-hero-placeholder {
        min-height: 180px;
    }

    .nobench-owner-stats,
    .nobench-owner-court-grid,
    .nobench-owner-ops-grid,
    .nobench-owner-command-grid {
        grid-template-columns: 1fr;
    }

    .nobench-owner-section-head {
        display: grid;
        align-items: start;
    }

    .nobench-owner-section-head .nobench-button {
        width: 100%;
    }

    .nobench-owner-compact-row {
        grid-template-columns: 1fr;
    }

    .nobench-owner-compact-meta {
        justify-content: flex-start;
    }
}

/* =========================================================
   CLASSIC PAGE ALIGNMENT
   Keep older shortcode screens visually in step with the app shell.
========================================================= */

.nb-main :where(
    .nobench-games-hero,
    .nobench-venues-hero,
    .nobench-sports-hero,
    .nobench-players-hero,
    .nobench-create-game-hero,
    .nobench-static-hero,
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-tournaments-filter,
    .nobench-game-card,
    .nobench-sport-card,
    .nobench-player-card,
    .nobench-account-header,
    .nobench-account-panel,
    .nobench-profile-form,
    .nobench-profile-section,
    .nobench-payment-summary-card,
    .nobench-payment-record,
    .nobench-social-row,
    .nobench-message-thread-row,
    .nobench-create-step,
    .nobench-create-review,
    .nobench-tournament-create,
    .nobench-tournament-card,
    .nobench-tournament-participant,
    .nobench-tournament-join-card,
    .nobench-tournament-manager-row,
    .nobench-dashboard-card,
    .nobench-venue-dashboard-card,
    .nobench-venue-map,
    .nobench-venue-cover,
    .nobench-static-card,
    .nobench-join-box,
    .nobench-admin-confirmation
) {
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    box-sizing: border-box !important;
}

.nb-main :where(
    .nobench-games-hero,
    .nobench-venues-hero,
    .nobench-sports-hero,
    .nobench-players-hero,
    .nobench-create-game-hero,
    .nobench-static-hero
) {
    display: grid !important;
    gap: 14px !important;
    padding: 26px 28px !important;
    margin: 0 0 18px !important;
    min-height: 0 !important;
}

.nb-main :where(
    .nobench-games-hero,
    .nobench-venues-hero,
    .nobench-sports-hero,
    .nobench-players-hero,
    .nobench-create-game-hero,
    .nobench-static-hero
) :where(h1, h2) {
    max-width: 820px !important;
    margin: 0 !important;
    color: var(--nb-text) !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 780 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.nb-main :where(
    .nobench-games-hero,
    .nobench-venues-hero,
    .nobench-sports-hero,
    .nobench-players-hero,
    .nobench-create-game-hero,
    .nobench-static-hero
) :where(p, .nobench-eyebrow + h2) {
    max-width: 760px !important;
    margin: 0 !important;
    color: var(--nb-muted) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.nb-main :where(
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-tournaments-filter
) {
    padding: 18px !important;
    margin-bottom: 18px !important;
}

.nb-main :where(
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-tournaments-filter,
    .nobench-create-game-form,
    .nobench-profile-form,
    .nobench-create-tournament-form,
    .nobench-join-form,
    .nobench-cancel-form
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
    min-height: 44px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--nb-text) !important;
    font: inherit !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.nb-main :where(
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-tournaments-filter,
    .nobench-create-game-form,
    .nobench-profile-form,
    .nobench-create-tournament-form,
    .nobench-join-form,
    .nobench-cancel-form
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select) {
    padding: 0 12px !important;
}

.nb-main :where(
    .nobench-profile-form,
    .nobench-create-tournament-form,
    .nobench-cancel-form
) textarea {
    min-height: 112px !important;
    padding: 11px 12px !important;
    resize: vertical !important;
}

.nb-main :where(
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-tournaments-filter,
    .nobench-create-game-form,
    .nobench-profile-form,
    .nobench-create-tournament-form,
    .nobench-join-form,
    .nobench-cancel-form
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):focus {
    border-color: var(--nb-primary) !important;
    outline: 3px solid rgba(24, 90, 188, 0.14) !important;
    outline-offset: 0 !important;
}

.nb-main :where(label, .nobench-field-block, .nobench-tournament-field, .nobench-join-field) {
    color: var(--nb-text);
    font-weight: 650 !important;
}

.nb-main :where(.nobench-game-card, .nobench-account-panel, .nobench-profile-form, .nobench-tournament-card, .nobench-create-step) :where(p, small, em) {
    color: var(--nb-muted);
    font-weight: 400 !important;
}

.nb-main :where(.nobench-button, a.nobench-button, button.nobench-button) {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nb-main :where(.nobench-secondary-link, a.nobench-secondary-link) {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nb-main :where(.nobench-dashboard-tabs, .nobench-account-tabs, .nobench-react-nav) {
    gap: 8px !important;
}

.nb-main :where(.nobench-dashboard-tabs a, .nobench-account-tabs a) {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nb-main :where(.nobench-game-info-box, .nobench-payment-breakdown div, .nobench-home-stat, .nobench-player-list) {
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .nb-main :where(
        .nobench-games-hero,
        .nobench-venues-hero,
        .nobench-sports-hero,
        .nobench-players-hero,
        .nobench-create-game-hero,
        .nobench-static-hero,
        .nobench-games-filter,
        .nobench-venues-filter,
        .nobench-players-filter,
        .nobench-tournaments-filter,
        .nobench-game-card,
        .nobench-sport-card,
        .nobench-player-card,
        .nobench-account-header,
        .nobench-profile-form,
        .nobench-create-step,
        .nobench-create-review,
        .nobench-tournament-create,
        .nobench-tournament-card,
        .nobench-static-card
    ) {
        padding: 16px !important;
    }

    .nb-main :where(
        .nobench-games-hero,
        .nobench-venues-hero,
        .nobench-sports-hero,
        .nobench-players-hero,
        .nobench-create-game-hero,
        .nobench-static-hero
    ) :where(h1, h2) {
        font-size: 24px !important;
    }
}
