/* CueCore shared base styles. */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
        :root {
            --bg-primary: #0a0e17;
            --bg-sidebar: #0f172a;
            --bg-card: #1e293b;
            --bg-input: #0f172a;
            --accent: #3b82f6;
            --accent-hover: #60a5fa;
            --accent-glow: rgba(59, 130, 246, 0.15);
            --danger: #ef4444;
            --success: #10b981;
            --warning: #f59e0b;
            --text-primary: #f8fafc;
            --text-secondary: #94a3b8;
            --text-muted: #64748b;
            --border: #334155;
            --radius: 12px;
            --shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
            --transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }
        body {
            font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
            background: var(--bg-primary);
            color: var(--text-primary);
            min-height: 100vh;
            display: flex;
            overflow-x: hidden;
        }
        a { color: var(--accent); text-decoration: none; transition: var(--transition); }
        a:hover { color: var(--accent-hover); }

        /* Sidebar styling */
        .sidebar {
            width: 260px;
            background: var(--bg-sidebar);
            border-right: 1px solid var(--border);
            display: flex;
            flex-direction: column;
            position: fixed;
            top: 0;
            bottom: 0;
            left: 0;
            z-index: 100;
            transform: translateX(0);
            transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .sidebar-brand {
            padding: 24px;
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 700;
            font-size: 1.25rem;
            color: var(--text-primary);
            border-bottom: 1px solid var(--border);
        }
        .sidebar-brand svg { width: 32px; height: 32px; color: var(--accent); }
        .sidebar-menu {
            list-style: none;
            padding: 24px 16px;
            display: flex;
            flex-direction: column;
            gap: 8px;
            flex-grow: 1;
            overflow-y: auto;
        }
        .sidebar-item a {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 16px;
            border-radius: var(--radius);
            color: var(--text-secondary);
            font-weight: 500;
            font-size: 0.95rem;
            transition: var(--transition);
        }
        .sidebar-item a:hover {
            color: var(--text-primary);
            background: rgba(255, 255, 255, 0.03);
        }
        .sidebar-item a.active {
            color: var(--text-primary);
            background: var(--accent);
            box-shadow: 0 0 15px var(--accent-glow);
        }
        .sidebar-item svg {
            width: 20px;
            height: 20px;
            flex-shrink: 0;
        }
        .sidebar-footer {
            padding: 20px;
            border-top: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: rgba(0, 0, 0, 0.2);
        }
        .sidebar-user {
            display: flex;
            flex-direction: column;
            gap: 2px;
            font-size: 0.85rem;
            max-width: 160px;
        }
        .sidebar-username {
            font-weight: 600;
            color: var(--text-primary);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .sidebar-userrole {
            font-size: 0.75rem;
            color: var(--text-muted);
        }
        .logout-btn {
            background: none;
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            padding: 6px;
            border-radius: 6px;
            transition: var(--transition);
        }
        .logout-btn:hover {
            color: var(--danger);
            background: rgba(239, 68, 68, 0.1);
        }
        .logout-btn svg { width: 18px; height: 18px; }

        /* Main content wrapper */
        .main-wrapper {
            margin-left: 260px;
            flex-grow: 1;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            width: calc(100% - 260px);
            transition: margin-left .25s cubic-bezier(0.4, 0, 0.2, 1), width .25s cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* Top Header */
        .admin-header {
            height: 70px;
            border-bottom: 1px solid var(--border);
            background: rgba(10, 14, 23, 0.8);
            backdrop-filter: blur(12px);
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 32px;
            position: sticky;
            top: 0;
            z-index: 90;
        }
        .header-left {
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
        }
        .sidebar-toggle {
            width: 40px;
            height: 40px;
            border: 1px solid var(--border);
            border-radius: 8px;
            display: inline-grid;
            place-items: center;
            color: var(--text-secondary);
            background: rgba(255, 255, 255, .02);
            cursor: pointer;
            transition: var(--transition);
            flex: 0 0 auto;
        }
        .sidebar-toggle:hover,
        .sidebar-toggle:focus-visible {
            color: var(--text-primary);
            border-color: var(--accent);
            background: var(--accent-glow);
            outline: none;
        }
        .sidebar-toggle svg {
            width: 20px;
            height: 20px;
        }
        .header-title {
            font-size: 1.15rem;
            font-weight: 600;
            color: var(--text-primary);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .header-meta {
            display: flex;
            align-items: center;
            gap: 16px;
        }
        .desktop-account-actions { display: flex; align-items: center; gap: 10px; }
        .header-notification-button { width: 42px; height: 42px; display: grid; place-items: center; position: relative; border: 1px solid var(--border); border-radius: 8px; color: var(--text-secondary); background: rgba(255,255,255,.02); text-decoration: none; transition: var(--transition); }
        .header-notification-button:hover,.header-notification-button:focus-visible { color: var(--text-primary); border-color: var(--accent); background: var(--accent-glow); outline: none; }
        .header-notification-button svg { width: 20px; height: 20px; }
        .notification-count { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid var(--bg-dark); border-radius: 999px; display: grid; place-items: center; background: var(--danger); color: #fff; font-size: .68rem; font-weight: 700; line-height: 1; }
        .desktop-account-menu { position: relative; }
        .account-menu-trigger { min-height: 42px; max-width: 260px; padding: 5px 10px 5px 6px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); color: var(--text-primary); font: inherit; cursor: pointer; transition: var(--transition); }
        .account-menu-trigger:hover,.account-menu-trigger:focus-visible,.desktop-account-menu.is-open .account-menu-trigger { border-color: var(--accent); background: var(--accent-glow); outline: none; }
        .account-avatar { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--accent); color: #fff; font-size: .72rem; font-weight: 700; }
        .account-avatar img { width: 100%; height: 100%; object-fit: cover; }
        .account-trigger-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; font-weight: 600; }
        .account-chevron { width: 16px; height: 16px; flex: 0 0 auto; color: var(--text-muted); transition: transform .18s ease; }
        .desktop-account-menu.is-open .account-chevron { transform: rotate(180deg); }
        .account-menu-popover { position: absolute; top: calc(100% + 9px); right: 0; z-index: 150; width: 250px; padding: 7px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-sidebar); box-shadow: 0 18px 45px rgba(0,0,0,.4); }
        .account-menu-popover[hidden] { display: none; }
        .account-menu-identity { display: grid; gap: 2px; padding: 10px 11px 12px; margin-bottom: 5px; border-bottom: 1px solid var(--border); overflow: hidden; }
        .account-menu-identity strong,.account-menu-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .account-menu-identity small { color: var(--text-muted); }
        .account-menu-popover a,.account-menu-popover form button { width: 100%; min-height: 38px; padding: 8px 11px; display: flex; align-items: center; border: 0; border-radius: 6px; background: transparent; color: var(--text-secondary); font: inherit; font-size: .86rem; text-align: left; text-decoration: none; cursor: pointer; }
        .account-menu-popover a:hover,.account-menu-popover a:focus-visible,.account-menu-popover form button:hover,.account-menu-popover form button:focus-visible { color: var(--text-primary); background: var(--accent-glow); outline: none; }
        .account-menu-popover form { margin: 5px 0 0; padding-top: 5px; border-top: 1px solid var(--border); }
        .account-menu-popover form button { color: var(--danger); }
        .env-badge {
            font-size: 0.75rem;
            padding: 4px 10px;
            border-radius: 9999px;
            text-transform: uppercase;
            font-weight: 700;
            letter-spacing: 0.5px;
        }
        .env-badge.local { background: rgba(59, 130, 246, 0.15); color: var(--accent-hover); border: 1px solid rgba(59, 130, 246, 0.3); }
        .env-badge.production { background: rgba(239, 68, 68, 0.15); color: var(--danger); border: 1px solid rgba(239, 68, 68, 0.3); }
        .env-badge.staging { background: rgba(245, 158, 11, 0.15); color: var(--warning); border: 1px solid rgba(245, 158, 11, 0.3); }

        /* Content Area */
        .content-container {
            padding: 32px;
            flex-grow: 1;
            max-width: 1400px;
            width: 100%;
            margin: 0 auto;
        }

        .app-shell.sidebar-collapsed .desktop-sidebar {
            transform: translateX(-100%);
        }
        .app-shell.sidebar-collapsed .main-wrapper {
            margin-left: 0;
            width: 100%;
        }

        /* Flash notifications */
        .flash-msg {
            padding: 16px;
            border-radius: var(--radius);
            margin-bottom: 24px;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 500;
            animation: fadeIn 0.3s ease;
        }
        .flash-msg.success { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.2); color: var(--success); }
        .flash-msg.error { background: rgba(239, 68, 68, 0.08); border: 1px solid rgba(239, 68, 68, 0.2); color: var(--danger); }
        .flash-msg.warning { background: rgba(245, 158, 11, 0.08); border: 1px solid rgba(245, 158, 11, 0.2); color: var(--warning); }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-5px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Form elements common styles */
        .form-group {
            margin-bottom: 20px;
        }
        .form-label {
            display: block;
            margin-bottom: 8px;
            font-size: 0.9rem;
            font-weight: 500;
            color: var(--text-secondary);
        }
        .form-control {
            width: 100%;
            padding: 10px 16px;
            background: var(--bg-input);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            color: var(--text-primary);
            font-family: inherit;
            font-size: 0.95rem;
            transition: var(--transition);
        }
        .form-control:focus {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 10px rgba(59, 130, 246, 0.1);
        }
        .btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 20px;
            border-radius: var(--radius);
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            border: none;
            transition: var(--transition);
            font-family: inherit;
            text-decoration: none;
        }
        .btn-primary { background: var(--accent); color: #fff; }
        .btn-primary:hover { background: var(--accent-hover); box-shadow: 0 0 15px var(--accent-glow); transform: translateY(-1px); }
        .btn-secondary { background: var(--bg-card); color: var(--text-primary); border: 1px solid var(--border); }
        .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
        .btn-danger { background: var(--danger); color: #fff; }
        .btn-danger:hover { background: #f87171; transform: translateY(-1px); }
        .btn-sm { padding: 6px 12px; font-size: 0.8rem; border-radius: 6px; }

        /* Card and Table Styling */
        .card {
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 24px;
            margin-bottom: 24px;
            box-shadow: var(--shadow);
        }
        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            border-bottom: 1px solid var(--border);
            padding-bottom: 16px;
        }
        .card-title {
            font-size: 1.1rem;
            font-weight: 600;
        }
        .table-responsive {
            width: 100%;
            overflow-x: auto;
        }
        .table {
            width: 100%;
            border-collapse: collapse;
            text-align: left;
            font-size: 0.925rem;
        }
        .table th {
            padding: 12px 16px;
            color: var(--text-secondary);
            font-weight: 600;
            border-bottom: 2px solid var(--border);
            text-transform: uppercase;
            font-size: 0.75rem;
            letter-spacing: 0.5px;
        }
        .table td {
            padding: 16px;
            border-bottom: 1px solid var(--border);
            color: var(--text-primary);
        }
        .table tr:hover td {
            background: rgba(255, 255, 255, 0.01);
        }

        /* Responsive */
        @media (max-width: 992px) {
            .sidebar { width: 80px; }
            .sidebar-brand span, .sidebar-item span, .sidebar-user, .sidebar-footer button span { display: none; }
            .sidebar-brand { padding: 24px 0; justify-content: center; }
            .sidebar-menu { padding: 24px 8px; }
            .sidebar-item a { justify-content: center; padding: 12px; }
            .main-wrapper { margin-left: 80px; width: calc(100% - 80px); }
        }

/* CueCore shared application shell and responsive component layer. */
:root {
    --ui-sidebar-width: 260px;
    --ui-sidebar-compact-width: 80px;
    --ui-mobile-header-height: 58px;
    --ui-mobile-nav-height: 66px;
    --ui-content-max: 1400px;
    --ui-page-gap: 24px;
    --ui-page-padding: 32px;
    --ui-page-padding-mobile: 16px;
    --ui-control-height: 44px;
    --ui-breakpoint-mobile: 767px;
}

html { min-width: 0; overflow-x: clip; }
body.app-shell { min-width: 0; }
.app-shell *, .app-shell *::before, .app-shell *::after { min-width: 0; }
.main-wrapper { min-width: 0; }
.content-container { min-width: 0; }
.content-container > * { min-width: 0; max-width: 100%; }

.ui-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ui-page-gap); width: 100%; max-width: 1200px; margin: 0 auto; }
.ui-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ui-page-title { margin: 0; font-size: 1.75rem; line-height: 1.15; font-weight: 700; }
.ui-page-subtitle { margin: 5px 0 0; color: var(--text-secondary); }
.ui-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.ui-grid { display: grid; gap: var(--ui-page-gap); min-width: 0; }
.ui-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ui-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ui-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ui-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ui-span-full { grid-column: 1 / -1; }
.ui-stack { display: grid; gap: 16px; }
.ui-cluster { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ui-detail-list { display: grid; margin: 0; }
.ui-detail-row { display: grid; grid-template-columns: minmax(150px, 200px) minmax(0, 1fr); border-bottom: 1px solid var(--border); }
.ui-detail-row:last-child { border-bottom: 0; }
.ui-detail-row dt, .ui-detail-row dd { margin: 0; padding: 14px 16px; overflow-wrap: anywhere; }
.ui-detail-row dt { color: var(--text-secondary); font-weight: 600; }

.mobile-shell-header, .mobile-bottom-nav, .mobile-more-backdrop { display: none; }

.table-responsive { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-gutter: stable; }
.table-responsive > .table { min-width: 620px; }
.table-responsive > .table.table-compact { min-width: 480px; }
.form-control, select.form-control, textarea.form-control { max-width: 100%; }
.btn { min-height: 38px; justify-content: center; }
.card { min-width: 0; }
.inline-form { display: inline; margin: 0; }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.text-muted { color: var(--text-muted); }
.text-secondary { color: var(--text-secondary); }
.text-primary { color: var(--text-primary); }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.text-warning { color: var(--warning); }
.text-accent { color: var(--accent-hover); }
.text-center { text-align: center; }
.text-right { text-align: right; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-mono { font-family: monospace; }
.small-text { font-size: .85rem; }
.micro-text { font-size: .82rem; }
.tiny-text { font-size: .75rem; }
.block { display: block; }
.empty-state { padding: 24px; text-align: center; color: var(--text-muted); }
.table-actions { display: flex; gap: 8px; justify-content: flex-end; align-items: center; }
.form-actions { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--border); display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.pagination-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--border); flex-wrap: wrap; }

/* Venue directory and profile */
.venue-search-bar { display: grid; grid-template-columns: minmax(240px, 1fr) 150px auto; gap: 12px; align-items: end; margin-bottom: 18px; }
.venue-search-admin { grid-template-columns: minmax(240px, 1fr) 120px 140px auto; }
.venue-search-bar .form-group { margin: 0; }
.venue-result-meta { color: var(--text-secondary); font-size: .9rem; margin: 0 0 10px; }
.venue-list { display: grid; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; background: var(--bg-card); }
.venue-list-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 82px; padding: 16px 20px; color: var(--text-primary); border-bottom: 1px solid var(--border); text-decoration: none; transition: background .15s ease; }
.venue-list-row:last-child { border-bottom: 0; }
.venue-list-row:hover, .venue-list-row:focus-visible { background: var(--bg-card-hover); outline: none; }
.venue-list-row.is-archived { opacity: .72; }
.venue-list-row h3 { margin: 0 0 4px; font-size: 1.05rem; }
.venue-list-row p { margin: 0; color: var(--text-secondary); }
.venue-row-facts { display: flex; align-items: center; justify-content: flex-end; gap: 18px; color: var(--text-secondary); white-space: nowrap; }
.venue-row-facts strong { color: var(--accent); }
.venue-profile-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); gap: 24px; }
.venue-contact-list { display: grid; gap: 8px; margin-top: 18px; }
.venue-contact-list strong { display: inline-block; min-width: 80px; color: var(--text-secondary); }
.venue-notes { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border); line-height: 1.65; }
.venue-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.venue-tags > span { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; background: var(--bg-input); border: 1px solid var(--border); border-radius: 999px; font-size: .82rem; }
.venue-tags form { display: inline; margin: 0; }
.venue-tags button { padding: 0; border: 0; background: transparent; color: var(--text-secondary); cursor: pointer; font-size: 1rem; line-height: 1; }
.venue-hours { display: grid; gap: 8px; margin: 18px 0 0; }
.venue-hours > div { display: flex; justify-content: space-between; gap: 16px; }
.venue-hours dt { font-weight: 600; }.venue-hours dd { margin: 0; color: var(--text-secondary); text-align: right; }
.venue-data-list, .venue-record-list { display: grid; margin-top: 16px; }
.venue-data-list > div, .venue-record-list > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.venue-data-list span, .venue-record-list small { display: block; color: var(--text-secondary); margin-top: 3px; }
.venue-event-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 14px; margin-top: 18px; }
.venue-event-grid article { padding: 16px; background: var(--bg-input); border: 1px solid var(--border); border-radius: 6px; }
.venue-event-grid h4 { margin: 12px 0 6px; }.venue-event-grid p { color: var(--text-secondary); }.venue-event-grid small { color: var(--text-muted); }
.venue-hours-editor { display: grid; gap: 8px; margin-top: 16px; }
.venue-hours-row { display: grid; grid-template-columns: 110px 90px 130px 130px minmax(160px,1fr); gap: 10px; align-items: center; }
.check-inline { display: inline-flex; gap: 7px; align-items: center; color: var(--text-secondary); }
.venue-add-form { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--border); }
.venue-status-card { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.venue-status-card p { margin-bottom: 0; }.venue-tag-input { max-width: 360px; }

/* Player profile arena */
.profile-arena, .profile-edit-shell { width: 100%; max-width: 1200px; margin: 0 auto; }
.profile-arena { display: grid; gap: 24px; }
.profile-hero { padding: 0; overflow: hidden; border-color: color-mix(in srgb, var(--profile-accent) 35%, var(--border)); }
.profile-banner { min-height: 220px; background: linear-gradient(90deg, rgba(10,14,23,.88), rgba(10,14,23,.24)), radial-gradient(circle at 25% 20%, color-mix(in srgb, var(--profile-accent) 55%, transparent), transparent 30%), linear-gradient(135deg, #111827, #1e293b); background-size: cover; background-position: center; }
.profile-hero-body { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; align-items: end; padding: 0 28px 28px; margin-top: -54px; }
.profile-avatar-wrap { position: relative; width: 132px; height: 132px; }
.profile-avatar, .profile-avatar-fallback { width: 132px; height: 132px; border-radius: 18px; border: 4px solid var(--bg-card); box-shadow: var(--shadow); object-fit: cover; background: linear-gradient(135deg, var(--profile-accent), #0f172a); }
.profile-avatar-fallback { display: grid; place-items: center; color: #fff; font-size: 2.2rem; font-weight: 800; }
.profile-logo-badge { position: absolute; right: -10px; bottom: -10px; width: 50px; height: 50px; border-radius: 10px; border: 3px solid var(--bg-card); object-fit: cover; background: var(--bg-input); box-shadow: var(--shadow); }
.profile-identity { min-width: 0; }
.profile-meta-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.profile-pill { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--profile-accent) 22%, transparent); color: var(--text-primary); border: 1px solid color-mix(in srgb, var(--profile-accent) 42%, var(--border)); font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.profile-muted, .profile-nickname { color: var(--text-secondary); }
.profile-identity h1 { font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1; letter-spacing: 0; overflow-wrap: anywhere; }
.profile-headline { margin-top: 8px; color: var(--text-secondary); font-size: 1.05rem; max-width: 720px; }
.profile-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.profile-content-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 24px; align-items: start; }
.profile-copy { color: var(--text-secondary); line-height: 1.7; overflow-wrap: anywhere; }
.profile-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.profile-stat { padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); min-width: 0; }
.profile-stat span { display: block; color: var(--text-muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; margin-bottom: 4px; }
.profile-stat strong { display: block; overflow-wrap: anywhere; }
.profile-link-list { display: grid; gap: 10px; }
.profile-link-list a, .profile-link-list span { display: flex; align-items: center; min-height: 42px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); overflow-wrap: anywhere; }
.profile-link-list span { color: var(--text-muted); }
.profile-edit-grid { display: grid; gap: 20px; }
.profile-edit-preview { padding: 0; overflow: hidden; }
.profile-mini-banner { min-height: 150px; background: linear-gradient(135deg, var(--profile-accent), #172033); background-size: cover; background-position: center; }
.profile-mini-body { display: flex; align-items: end; gap: 16px; padding: 0 20px 20px; margin-top: -38px; }
.profile-mini-avatar { width: 84px; height: 84px; border-radius: 14px; border: 3px solid var(--bg-card); object-fit: cover; background: var(--bg-input); }
.profile-mini-body strong, .profile-mini-body span { display: block; overflow-wrap: anywhere; }
.profile-mini-body span { color: var(--text-secondary); margin-top: 4px; }
.profile-remove-option { margin-top: 10px; }
.profile-color-input { padding: 4px; min-height: 44px; }
.profile-save-bar { position: sticky; bottom: 16px; z-index: 20; display: flex; justify-content: flex-end; gap: 12px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: rgba(15,23,42,.94); backdrop-filter: blur(10px); box-shadow: var(--shadow); }

@media (max-width: 800px) {
    .venue-search-bar, .venue-search-admin { grid-template-columns: 1fr 110px; }
    .venue-search-bar button { width: 100%; }
    .venue-profile-grid { grid-template-columns: 1fr; }
    .profile-content-grid { grid-template-columns: 1fr; }
    .profile-hero-body { grid-template-columns: auto minmax(0, 1fr); align-items: end; }
    .profile-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .venue-hours-row { grid-template-columns: 1fr 100px 1fr 1fr; }
    .venue-hours-row input:last-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .venue-search-bar, .venue-search-admin { grid-template-columns: 1fr; }
    .venue-list-row { align-items: flex-start; flex-direction: column; gap: 10px; }
    .venue-row-facts { width: 100%; justify-content: space-between; gap: 8px; font-size: .84rem; }
    .profile-banner { min-height: 160px; }
    .profile-hero-body { grid-template-columns: 1fr; padding: 0 16px 18px; margin-top: -42px; }
    .profile-avatar-wrap, .profile-avatar, .profile-avatar-fallback { width: 104px; height: 104px; }
    .profile-logo-badge { width: 42px; height: 42px; }
    .profile-identity h1 { font-size: 2rem; }
    .profile-actions .btn, .profile-save-bar .btn { flex: 1 1 auto; }
    .profile-stat-grid { grid-template-columns: 1fr; }
    .profile-save-bar { left: 12px; right: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); }
    .venue-hours-row { grid-template-columns: 1fr 1fr; padding: 12px 0; border-bottom: 1px solid var(--border); }
    .venue-hours-row input:last-child { grid-column: 1 / -1; }
    .venue-status-card { align-items: stretch; flex-direction: column; }
}
.section-subtitle { color: var(--text-secondary); margin-top: 4px; }
.section-kicker { color: var(--text-muted); font-size: .85rem; }
.section-heading { margin: 24px 0 16px; color: var(--accent); border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.section-heading:first-child { margin-top: 0; }
.centered-card-600 { max-width: 600px; margin: 0 auto; }
.centered-card-700 { max-width: 700px; margin: 0 auto; }
.centered-card-800 { max-width: 800px; margin: 0 auto; }
.centered-card-860 { max-width: 860px; margin: 0 auto; }
.page-wide { max-width: 1100px; }
.min-control-180 { min-width: 180px; }
.rating-tbd { font-weight: 800; font-size: 1.1rem; }
.status-pill { font-size: .8rem; font-weight: 600; padding: 2px 6px; border-radius: 4px; }
.status-pill.info { text-transform: uppercase; background: rgba(59, 130, 246, .1); color: var(--accent-hover); }
.status-pill.success { background: rgba(16, 185, 129, .1); color: var(--success); }
.status-pill.danger { background: rgba(239, 68, 68, .1); color: var(--danger); }
.status-pill.neutral { background: rgba(148, 163, 184, .14); color: var(--text-secondary); }

/* Trust & Safety uses the shared Admin shell and form controls, with compact case review surfaces. */
.ui-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.ui-tab { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--text-secondary); font-weight:600; text-decoration:none; }
.ui-tab:hover,.ui-tab.active { border-color:var(--accent); color:#fff; background:var(--accent); }
.filter-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.filter-bar select { min-width:155px; }
.trust-safety-list { display:grid; gap:12px; }
.trust-safety-case { padding:18px; border:1px solid var(--border); border-radius:6px; background:var(--surface); }
.trust-safety-case p { margin:10px 0 0; }
.trust-safety-case-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.trust-safety-case-header > div { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.trust-safety-action-form { display:grid; grid-template-columns:minmax(170px, .7fr) minmax(220px, 1.6fr) auto; gap:10px; margin-top:14px; }
.trust-safety-rule-form .form-group { margin:0; }
.trust-safety-import-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; }
.trust-safety-import-form .form-label { grid-column:1 / -1; margin:0; }
.trust-safety-import-form input[type="file"] { min-width:0; }
.trust-safety-rule-filters { align-items:end; }
.trust-safety-rule-filters .form-group { min-width:170px; margin:0; }
.trust-safety-rule-filters .form-group:first-of-type { min-width:260px; flex:1 1 260px; }
.trust-safety-rule-filters .form-label { margin-bottom:6px; }
.trust-safety-filter-actions { display:flex; gap:8px; padding-bottom:1px; }
@media (max-width: 700px) { .trust-safety-action-form,.trust-safety-import-form { grid-template-columns:1fr; } .trust-safety-case-header { align-items:flex-start; flex-direction:column; } .filter-bar > * { width:100%; } .trust-safety-filter-actions { padding:0; } }
.code-chip { font-size: .75rem; padding: 2px 6px; border-radius: 4px; background: rgba(0, 0, 0, .3); color: var(--warning); }
.mt-1 { margin-top: 4px; }
.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 12px; }
.mt-4 { margin-top: 16px; }
.mt-5 { margin-top: 20px; }
.mt-6 { margin-top: 24px; }
.mt-8 { margin-top: 32px; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 4px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.mb-6 { margin-bottom: 24px; }
.pt-0 { padding-top: 0; }
.full-width { width: 100%; }
.hidden { display: none; }
.nowrap { white-space: nowrap; }
.truncate-cell { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.grid-wide-first { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.grid-auto-sm { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.align-start { align-items: start; }
.stack-24 { display: flex; flex-direction: column; gap: 24px; }
.inline-check { display: inline-flex; align-items: center; gap: 6px; color: var(--text-secondary); }
.inline-check-sm { display: inline-flex; align-items: center; gap: 6px; color: var(--text-secondary); font-size: .8rem; }
.checkbox-row { display: flex; align-items: center; gap: 10px; font-size: .85rem; cursor: pointer; }
.option-card { display: flex; align-items: center; gap: 10px; background: rgba(255, 255, 255, .02); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; cursor: pointer; }
.option-card input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--accent); }
.quick-load-panel { margin-bottom: 24px; background: rgba(59, 130, 246, .03); border: 1px solid rgba(59, 130, 246, .15); padding: 16px; border-radius: var(--radius); }
.template-panel { margin-top: 24px; background: rgba(255, 255, 255, .02); border: 1px solid var(--border); padding: 16px; border-radius: var(--radius); }
.color-control-row { display: flex; align-items: center; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.color-control-row.loose { gap: 12px; margin-top: 10px; }
.color-input { width: 56px; height: 34px; border: 1px solid var(--border); border-radius: 8px; background: transparent; padding: 0; }
.color-input.tall { height: 38px; }
.compact-control { padding: 6px 12px; font-size: .85rem; }
.badge-soft { font-size: .85rem; background: rgba(255, 255, 255, .05); padding: 2px 8px; border-radius: 4px; }
.badge-accent { font-size: .85rem; background: rgba(59, 130, 246, .1); color: var(--accent-hover); border: 1px solid rgba(59, 130, 246, .2); padding: 2px 8px; border-radius: 4px; font-weight: 500; }
.entity-badge { font-size: .75rem; text-transform: uppercase; padding: 2px 4px; border-radius: 4px; background: rgba(255, 255, 255, .05); color: var(--text-secondary); }
.marker-dot { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; color: #0f172a; font-weight: 800; border: 1px solid rgba(255, 255, 255, .25); }
.swatch-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); }
.sidebar-admin-entry { margin-top: auto; border-top: 1px solid var(--border); padding-top: 16px; }
.panel-muted { opacity: .6; }
.panel-faded { opacity: .4; }
.view-link { font-weight: 700; }
.italic { font-style: italic; }
.audit-id-col { width: 80px; }
.audit-time-col { width: 160px; }
.split-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: var(--ui-page-gap); align-items: start; }
.card-tight { margin-bottom: 0; }
.card-spaced { margin-bottom: 20px; }
.card-header-line { border-bottom: 1px solid var(--border); padding-bottom: 12px; margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.card-header-plain { border-bottom: 0; padding-bottom: 0; margin-bottom: 12px; }
.venue-title { font-size: 1.25rem; font-weight: 700; color: var(--accent-hover); }
.subtle-heading { font-size: .85rem; color: var(--text-muted); font-weight: 600; text-transform: uppercase; margin-bottom: 8px; letter-spacing: .5px; }
.table-tile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.table-tile { background: rgba(255, 255, 255, .02); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.venue-table-link { color: inherit; text-decoration: none; transition: border-color .2s ease, background .2s ease; }
.venue-table-link:hover { border-color: var(--accent); background: rgba(59, 130, 246, .08); }
.size-pill { font-size: .75rem; background: var(--accent-glow); color: var(--accent-hover); border: 1px solid rgba(59, 130, 246, .3); padding: 2px 8px; border-radius: 4px; font-weight: 700; }
.accent-card { border-color: var(--accent); }
.icon-close-btn { background: none; border: 0; color: var(--text-muted); cursor: pointer; font-size: 1.25rem; }
.dashboard-metric { background: rgba(255, 255, 255, .02); padding: 16px; border-radius: var(--radius); border: 1px solid var(--border); text-align: center; }
.dashboard-metric-label { font-size: .8rem; color: var(--text-muted); font-weight: 600; text-transform: uppercase; }
.dashboard-metric-value { font-size: 1.8rem; font-weight: 700; margin-top: 4px; }
.dashboard-metric-value.success { color: var(--success); }
.dashboard-metric-value.accent { color: var(--accent-hover); }
.dashboard-metric-value.warning { color: var(--warning); }
.dashboard-metric-value.gold { color: #fbbf24; }
.dashboard-metric-note { font-size: .85rem; color: var(--text-secondary); margin-top: 2px; }
.score-text { font-weight: 700; font-family: monospace; font-size: 1.1rem; }
.player-left { color: #60a5fa; font-weight: 600; }
.player-right { color: #f87171; font-weight: 600; }
.watch-link { border-color: var(--accent); color: var(--accent-hover); }
.danger-link { border-color: rgba(239, 68, 68, .3); color: #f87171; }
.icon-sm { width: 18px; height: 18px; }
.color-pair { display: flex; gap: 6px; align-items: center; }
.game-title { font-weight: 500; font-size: .9rem; color: var(--text-primary); }
.sidebar-divider { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 16px; }
.visit-link { font-weight: 500; }
.admin-page-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }

/* Public website shell. */
body.public-shell {
    display: block;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1.6;
    background: var(--bg-primary);
    color: var(--text-primary);
}
.public-shell .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.public-shell .content-pad { padding-top: 32px; }
.top-nav {
    background: var(--bg-sidebar);
    border-bottom: 1px solid var(--border);
    padding: 0 24px;
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(12px);
}
.top-nav .inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
}
.top-nav .brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--text-primary);
}
.top-nav .brand svg { width: 28px; height: 28px; }
.top-nav .nav-links { display: flex; gap: 24px; align-items: center; }
.top-nav .nav-links a {
    color: var(--text-secondary);
    font-size: .9rem;
    font-weight: 500;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
}
.top-nav .nav-links a:hover,
.top-nav .nav-links a.active { color: var(--accent); border-bottom-color: var(--accent); }
.public-nav-toggle { display: none; width: 42px; height: 42px; padding: 9px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.03); color: var(--text-primary); cursor: pointer; }
.public-nav-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: currentColor; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-footer {
    border-top: 1px solid var(--border);
    padding: 24px;
    text-align: center;
    color: var(--text-muted);
    font-size: .8rem;
    margin-top: 60px;
}
.env-badge {
    font-size: .65rem;
    padding: 2px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .5px;
}
.env-badge.local { background: rgba(14, 165, 233, .15); color: var(--accent); }
.env-badge.production { background: rgba(233, 69, 96, .15); color: var(--danger); }
.env-badge.staging { background: rgba(245, 158, 11, .15); color: var(--warning); }
.flash-message {
    padding: 12px 20px;
    border-radius: var(--radius);
    margin-bottom: 20px;
    font-size: .9rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.flash-message.success { background: rgba(16, 185, 129, .1); border: 1px solid var(--success); color: var(--success); }
.flash-message.error { background: rgba(239, 68, 68, .1); border: 1px solid var(--danger); color: var(--danger); }
.flash-message.warning { background: rgba(245, 158, 11, .1); border: 1px solid var(--warning); color: var(--warning); }

/* Public landing components. */
.hero { text-align: center; padding: 80px 0 60px; }
.hero h1 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 16px;
    background: linear-gradient(135deg, #0ea5e9, #8b5cf6, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hero p { font-size: 1.15rem; color: var(--text-secondary); max-width: 600px; margin: 0 auto 32px; }
.hero .btn { font-size: 1rem; padding: 14px 32px; }
.features { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; padding: 40px 0 60px; }
.feature-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 28px; transition: var(--transition); }
.feature-card:hover { border-color: var(--accent); transform: translateY(-4px); box-shadow: 0 8px 32px rgba(14, 165, 233, .1); }
.feature-card h3 { font-size: 1.1rem; margin-bottom: 8px; color: var(--accent); }
.feature-card p { font-size: .9rem; color: var(--text-secondary); line-height: 1.6; }
.feature-card .icon { width: 48px; height: 48px; background: var(--accent-glow); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; color: var(--accent); font-size: 1.4rem; }

/* CueBorn public product homepage. */
.cueborn-home { max-width: 1280px; margin: 0 auto; }
.cueborn-hero { min-height: min(610px, calc(100vh - 110px)); display: flex; align-items: center; padding: 76px clamp(24px, 6vw, 88px); border-bottom: 1px solid rgba(148,163,184,.18); background: #080d16 url('/assets/images/cueborn-hero.png') center / cover no-repeat; position: relative; overflow: hidden; }
.cueborn-hero::after { content: ''; position: absolute; inset: 0; background: rgba(8,13,22,.16); pointer-events: none; }
.cueborn-hero-copy { position: relative; z-index: 1; max-width: 540px; }
.cueborn-eyebrow { margin: 0 0 14px; color: #7dd3fc; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cueborn-hero h1 { max-width: 540px; margin: 0 0 20px; color: #fff; font-size: 3.1rem; line-height: 1.08; letter-spacing: 0; text-shadow: 0 4px 28px rgba(0,0,0,.45); }
.cueborn-hero h1 span { display: block; }
.cueborn-hero-lede { max-width: 465px; margin: 0 0 30px; color: #d8e4f2; font-size: 1.12rem; line-height: 1.58; }
.cueborn-hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cueborn-hero-actions .btn { min-height: 46px; padding: 12px 20px; }
.btn-ghost { background: rgba(8,13,22,.58); color: #fff; border: 1px solid rgba(255,255,255,.38); }
.btn-ghost:hover { background: rgba(8,13,22,.82); color: #fff; border-color: #fff; }
.cueborn-hero-proof { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 34px; color: #b7c7da; font-size: .84rem; }
.cueborn-hero-proof span { display: inline-flex; align-items: center; gap: 6px; }
.cueborn-hero-proof span::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #34d399; box-shadow: 0 0 0 4px rgba(52,211,153,.14); }
.cueborn-hero-proof strong { color: #fff; }
.cueborn-section { padding: 84px 0; }
.cueborn-section-heading { max-width: 720px; margin-bottom: 32px; }
.cueborn-section-heading h2, .cueborn-trust h2, .cueborn-final-cta h2 { margin: 0 0 12px; color: #fff; font-size: 3rem; line-height: 1.08; letter-spacing: 0; }
.cueborn-section-heading > p, .cueborn-trust-panel p, .cueborn-final-cta > p { color: var(--text-secondary); line-height: 1.65; }
.cueborn-audience-grid, .cueborn-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cueborn-audience-card, .cueborn-product-card { min-width: 0; padding: 26px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-card); }
.cueborn-audience-card { min-height: 250px; display: flex; flex-direction: column; align-items: flex-start; }
.cueborn-audience-card h3, .cueborn-product-card h3 { margin: 8px 0 10px; color: #fff; font-size: 1.28rem; line-height: 1.2; }
.cueborn-audience-card p, .cueborn-product-card p { color: var(--text-secondary); line-height: 1.6; }
.cueborn-audience-player { border-color: rgba(59,130,246,.58); background: #152849; }
.cueborn-card-kicker, .cueborn-status-label, .cueborn-product-status { color: #7dd3fc; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cueborn-status-label { display: inline-block; margin-top: auto; color: #fbbf24; }
.text-link { display: inline-flex; gap: 7px; align-items: center; margin-top: auto; padding-top: 18px; color: #93c5fd; font-weight: 700; }
.text-link:hover { color: #fff; }
.cueborn-section-heading-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr); gap: 32px; align-items: end; max-width: none; }
.cueborn-section-heading-split > p { margin: 0; }
.cueborn-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cueborn-product-card { min-height: 190px; }
.cueborn-product-card.is-live { border-top: 3px solid #34d399; }
.cueborn-product-card.is-building { border-top: 3px solid #fbbf24; }
.cueborn-product-card.is-planned { border-top: 3px solid #94a3b8; }
.cueborn-product-card.is-live .cueborn-product-status { color: #6ee7b7; }
.cueborn-product-card.is-building .cueborn-product-status { color: #fcd34d; }
.cueborn-product-card.is-planned .cueborn-product-status { color: #cbd5e1; }
.cueborn-trust { padding-top: 20px; }
.cueborn-trust-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: 44px; align-items: center; padding: 42px; border: 1px solid rgba(59,130,246,.38); border-radius: 8px; background: #10213e; }
.cueborn-trust-list { display: grid; gap: 12px; }
.cueborn-trust-list span { display: flex; gap: 10px; align-items: flex-start; color: #dbeafe; line-height: 1.45; }
.cueborn-trust-list span::before { content: '✓'; flex: 0 0 auto; color: #6ee7b7; font-weight: 800; }
.cueborn-final-cta { padding: 78px 24px 94px; text-align: center; }
.cueborn-final-cta > p { max-width: 560px; margin: 0 auto 24px; }
.cueborn-final-cta .cueborn-eyebrow { margin-bottom: 12px; }
.cueborn-final-cta .cueborn-hero-actions { justify-content: center; }
.site-footer-powered { color: var(--text-muted); font-size: .8rem; }
@media (max-width: 900px) {
    .cueborn-hero { min-height: 600px; padding: 70px 28px; background-position: 62% center; }
    .cueborn-hero h1 { font-size: 2.9rem; }
    .cueborn-hero-lede { font-size: 1.1rem; }
    .cueborn-audience-grid, .cueborn-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cueborn-section-heading-split, .cueborn-trust-panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
    .public-shell .top-nav { position: relative; }
    .public-shell .top-nav .inner { position: relative; }
    .public-shell .public-nav-toggle { display: block; margin-left: auto; }
    .public-shell .top-nav .nav-links { display: none; position: absolute; top: calc(100% + 1px); right: 0; z-index: 120; min-width: 210px; padding: 8px; flex-direction: column; align-items: stretch; gap: 2px; border: 1px solid var(--border); border-radius: 0 0 8px 8px; background: var(--bg-sidebar); box-shadow: var(--shadow); }
    .public-shell .top-nav .nav-links.is-open { display: flex; }
    .public-shell .top-nav .nav-links a { padding: 11px 12px; border: 0; border-radius: 6px; font-size: .88rem; }
    .public-shell .top-nav .nav-links a:hover { background: var(--accent-glow); }
    .public-shell .top-nav .nav-links .inline-form { margin: 2px 0 0; padding-top: 6px; border-top: 1px solid var(--border); }
    .public-shell .top-nav .nav-links .inline-form .btn { width: 100%; }
    .cueborn-hero { min-height: 650px; padding: 54px 18px; align-items: end; background-position: 68% center; }
    .cueborn-hero::after { background: rgba(8,13,22,.42); }
    .cueborn-hero h1 { font-size: 2.55rem; }
    .cueborn-hero-lede { font-size: 1rem; }
    .cueborn-section-heading h2, .cueborn-trust h2, .cueborn-final-cta h2 { font-size: 2rem; }
    .cueborn-hero-proof { display: grid; gap: 10px; margin-top: 25px; }
    .cueborn-section { padding: 58px 0; }
    .cueborn-audience-grid, .cueborn-product-grid { grid-template-columns: minmax(0, 1fr); }
    .cueborn-audience-card, .cueborn-product-card { padding: 22px; }
    .cueborn-trust-panel { padding: 26px 22px; }
    .cueborn-final-cta { padding: 56px 14px 72px; }
}

/* Auth screens. */
.auth-card-shell { display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 200px); padding: 40px 0; }
.auth-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 16px; padding: 40px; width: 100%; max-width: 480px; box-shadow: var(--shadow); }
.auth-card.auth-card-narrow { max-width: 420px; }
.auth-card h1 { font-size: 1.5rem; margin-bottom: 8px; font-weight: 700; }
.auth-card .subtitle, .auth-card p { color: var(--text-secondary); font-size: .9rem; margin-bottom: 24px; line-height: 1.5; }
.auth-card .btn { width: 100%; justify-content: center; padding: 14px; font-size: 1rem; margin-top: 8px; }
.auth-card .form-group { margin-bottom: 20px; }
.auth-card label { display: block; font-size: .85rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 6px; }
.auth-card input {
    width: 100%;
    padding: 12px 16px;
    background: var(--bg-input);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text-primary);
    font-size: .95rem;
    font-family: inherit;
    transition: var(--transition);
}
.auth-card input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow); }
.auth-card-footer { text-align: center; margin-top: 24px; font-size: .875rem; color: var(--text-secondary); }
.auth-inline-action { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border); }
.auth-inline-action label { display: block; color: var(--text-secondary); font-size: .82rem; margin-bottom: 6px; }
.auth-inline-row { display: flex; gap: 8px; }
.auth-inline-row input { flex: 1; min-width: 0; }
.auth-inline-row .btn { width: auto; margin: 0; padding: 10px 12px; }
.form-row-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.form-link-row { text-align: right; margin-top: 6px; }
.form-link-row a { font-size: .82rem; }

/* Admin reusable page components. */
.admin-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; margin-bottom: 32px; }
.admin-stat-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; display: flex; align-items: center; gap: 20px; box-shadow: var(--shadow); }
.admin-stat-icon { width: 56px; height: 56px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: rgba(59, 130, 246, .1); color: var(--accent); }
.admin-stat-icon.success { background: rgba(16, 185, 129, .1); color: var(--success); }
.admin-stat-icon.warning { background: rgba(245, 158, 11, .1); color: var(--warning); }
.admin-stat-icon svg { width: 28px; height: 28px; }
.admin-stat-details { display: flex; flex-direction: column; gap: 4px; }
.admin-stat-value { font-size: 1.8rem; font-weight: 700; line-height: 1; }
.admin-stat-label { font-size: .875rem; color: var(--text-secondary); font-weight: 500; }
.activity-list { list-style: none; padding: 0; }
.activity-item { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--border); }
.activity-item:last-child { border-bottom: 0; }
.activity-time { font-size: .8rem; color: var(--text-muted); min-width: 130px; font-weight: 500; }
.activity-desc { font-size: .9rem; flex-grow: 1; }
.activity-user { font-weight: 600; color: var(--text-primary); }
.activity-action { color: var(--accent-hover); font-weight: 500; }
.activity-badge { font-size: .7rem; padding: 2px 6px; border-radius: 4px; background: var(--border); color: var(--text-secondary); font-weight: 600; text-transform: uppercase; }
.modules-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; margin-top: 20px; }
.module-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: space-between; min-height: 180px; position: relative; overflow: hidden; }
.module-card::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--text-muted); }
.module-card.enabled::before { background: var(--success); }
.module-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.module-name { font-size: 1.2rem; font-weight: 700; color: var(--text-primary); }
.module-version { font-size: .75rem; background: rgba(255, 255, 255, .05); border: 1px solid var(--border); padding: 2px 6px; border-radius: 4px; color: var(--text-secondary); font-family: monospace; }
.module-desc { font-size: .85rem; color: var(--text-secondary); line-height: 1.5; margin-bottom: 20px; flex-grow: 1; }
.module-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: .8rem; border-top: 1px solid var(--border); padding-top: 12px; margin-top: auto; }
.status-text { font-weight: 600; text-transform: uppercase; font-size: .75rem; letter-spacing: .5px; }
.status-text.active { color: var(--success); }
.status-text.inactive { color: var(--text-muted); }
.settings-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; margin-top: 20px; }
.settings-nav { display: flex; flex-direction: column; gap: 8px; position: sticky; top: 94px; }
.settings-nav-btn { padding: 12px 16px; border-radius: var(--radius); color: var(--text-secondary); font-weight: 500; text-align: left; background: none; border: 0; cursor: pointer; transition: var(--transition); font-size: .95rem; }
.settings-nav-btn:hover { color: var(--text-primary); background: rgba(255, 255, 255, .02); }
.settings-nav-btn.active { color: var(--text-primary); background: rgba(59, 130, 246, .1); border-left: 3px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; }
.settings-section { display: none; }
.settings-section.active { display: block; }
.section-title { margin-bottom: 20px; color: var(--accent); border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.setting-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; }
.setting-help { font-size: .8rem; color: var(--text-muted); }
.toggle-switch { position: relative; display: inline-block; width: 48px; height: 24px; flex: 0 0 48px; }
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; inset: 0; background-color: var(--border); transition: .3s; border-radius: 24px; }
.slider::before { position: absolute; content: ""; height: 16px; width: 16px; left: 4px; bottom: 4px; background-color: white; transition: .3s; border-radius: 50%; }
input:checked + .slider { background-color: var(--accent); }
input:checked + .slider::before { transform: translateX(24px); }
.roles-container { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 32px; align-items: start; }
.role-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; margin-bottom: 24px; box-shadow: var(--shadow); }
.role-title { font-size: 1.15rem; font-weight: 700; color: var(--text-primary); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.role-badge { font-size: .75rem; background: rgba(59, 130, 246, .15); color: var(--accent-hover); padding: 2px 8px; border-radius: 4px; text-transform: lowercase; font-family: monospace; }
.role-desc { color: var(--text-secondary); font-size: .9rem; margin: 8px 0 20px; }
.role-card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-bottom: 1px solid var(--border); padding-bottom: 16px; margin-bottom: 16px; }
.permission-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin: 16px 0; }

/* Roles and permission management */
.role-directory, .role-editor, .permission-editor { max-width: 1200px; }
.role-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: 20px; }
.role-toolbar .form-group { margin: 0; }
.role-summary { min-width: 150px; text-align: right; }
.role-summary strong, .role-summary span { display: block; }
.role-summary strong { font-size: 1.7rem; }
.role-summary span { color: var(--text-secondary); font-size: .85rem; }
.role-list { display: grid; gap: 14px; }
.role-list-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 24px; margin: 0; }
.role-list-main { display: flex; align-items: center; gap: 16px; min-width: 0; }
.role-icon { width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: var(--accent-glow); color: var(--accent-hover); font-weight: 800; font-size: 1.15rem; }
.role-name-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 5px; }
.role-name-row h3 { margin: 0; font-size: 1.05rem; }
.role-list-main p { color: var(--text-secondary); margin: 0; overflow-wrap: anywhere; }
.role-list-stats { display: grid; grid-template-columns: repeat(2, 90px); gap: 8px; }
.role-list-stats div { padding: 10px; text-align: center; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); }
.role-list-stats strong, .role-list-stats span { display: block; }
.role-list-stats span { color: var(--text-muted); font-size: .75rem; text-transform: uppercase; margin-top: 2px; }
.role-list-actions { min-width: 170px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.role-list-actions form { margin: 0; }
.role-list-actions button:disabled { opacity: .45; cursor: not-allowed; }
.permission-catalog { margin-top: 40px; scroll-margin-top: 24px; }
.permission-catalog-header { margin-bottom: 14px; }
.permission-catalog-list { display: grid; gap: 10px; }
.permission-catalog-item { display: grid; grid-template-columns: minmax(0, 1fr) 82px auto; align-items: center; gap: 18px; margin: 0; }
.permission-catalog-main { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: start; gap: 14px; min-width: 0; }
.permission-catalog-main h3 { margin: 0 0 3px; }
.permission-catalog-main code { color: var(--accent); overflow-wrap: anywhere; }
.permission-catalog-main p { color: var(--text-secondary); margin: 6px 0 0; overflow-wrap: anywhere; }
.permission-usage { text-align: center; }
.permission-usage strong, .permission-usage span { display: block; }
.permission-usage span { color: var(--text-muted); font-size: .75rem; text-transform: uppercase; }
.governance-page { max-width: 1240px; }
.governance-lead-grid { align-items: stretch; }
.governance-principle { display: flex; flex-direction: column; justify-content: center; }
.governance-equation { margin-top: 18px; padding: 14px; border: 1px solid var(--accent); border-radius: 8px; color: var(--accent-hover); font-weight: 700; text-align: center; }
.governance-org-list, .governance-record-list, .governance-role-list { display: grid; gap: 8px; }
.governance-org-row, .governance-record-list > div, .governance-role-list > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-primary); text-decoration: none; }
.governance-org-row:hover { border-color: var(--accent); background: rgba(59,130,246,.06); }
.governance-org-row > div, .governance-record-list span { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.governance-org-row small, .governance-record-list small { color: var(--text-muted); }
.governance-jump { position: sticky; top: 74px; z-index: 5; display: flex; gap: 6px; overflow-x: auto; padding: 8px; margin-bottom: 18px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-secondary); }
.governance-jump a { flex: 0 0 auto; padding: 7px 10px; border-radius: 6px; color: var(--text-secondary); text-decoration: none; font-size: .85rem; }
.governance-jump a:hover { color: var(--text-primary); background: var(--bg-card); }
.governance-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.governance-subcard { padding: 15px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); }
.governance-subcard h4 { margin: 0 0 5px; }
.governance-subcard p { min-height: 22px; color: var(--text-muted); }
.governance-chip-list { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0; }
.governance-chip-list > span { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 6px; background: var(--bg-primary); font-size: .78rem; }
.governance-chip-list form { display: inline; }
.governance-chip-list button { border: 0; background: transparent; color: var(--danger); cursor: pointer; }
.governance-inline-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: 8px; align-items: end; margin-top: 14px; }
.governance-create-row { padding-top: 16px; border-top: 1px solid var(--border); }
.governance-status-form { display: flex; gap: 7px; }
.governance-status-form input { min-width: 170px; }
.authorization-explanation { margin-top: 16px; padding: 14px; border: 1px solid var(--border); border-left-width: 4px; border-radius: 8px; }
.authorization-explanation.is-allowed { border-left-color: var(--success); }
.authorization-explanation.is-denied { border-left-color: var(--danger); }
.authorization-explanation p { margin: 5px 0 10px; color: var(--text-secondary); }
.authorization-explanation code { display: block; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text-muted); }
.role-editor-form { display: grid; gap: 20px; }
.role-editor-meta { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); color: var(--text-secondary); }
.permission-editor-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.permission-editor-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.permission-groups { display: grid; gap: 16px; }
.permission-group { min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 8px; }
.permission-group legend { width: 100%; padding: 0 4px; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--text-primary); font-weight: 700; }
.permission-group legend button { border: 0; background: transparent; color: var(--accent); cursor: pointer; font: inherit; font-size: .78rem; }
.permission-group-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.permission-option { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); cursor: pointer; }
.permission-option:hover { border-color: var(--accent); }
.permission-option input { margin-top: 3px; accent-color: var(--accent); }
.permission-option span { min-width: 0; }
.permission-option strong, .permission-option small { display: block; overflow-wrap: anywhere; }
.permission-option small { color: var(--text-muted); margin-top: 3px; }
.permission-checkbox { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 6px; font-size: .85rem; cursor: pointer; transition: var(--transition); }
.permission-checkbox:hover { border-color: var(--accent); }
.permission-scroll { max-height: 250px; overflow-y: auto; border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.sticky-panel { position: sticky; top: 94px; }
.info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.info-list { list-style: none; padding: 0; }
.info-item { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border); font-size: .95rem; }
.info-item:last-child { border-bottom: 0; }
.info-label { font-weight: 500; color: var(--text-secondary); }
.info-value { font-family: monospace; color: var(--text-primary); font-weight: 600; overflow-wrap: anywhere; text-align: right; }
.extension-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.extension-tag { font-size: .75rem; background: var(--bg-primary); border: 1px solid var(--border); padding: 4px 10px; border-radius: 4px; font-family: monospace; color: var(--text-secondary); }

/* Scorekeeper stats arena. */
.stats-shell { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; width: 100%; min-width: 0; max-width: 1200px; margin: 0 auto; }
.stats-shell > *, .stats-grid-2 > * { min-width: 0; }
.stats-grid-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; min-width: 0; }
.versus-toolbar { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.opponent-picker { position: relative; width: min(100%, 420px); }
.opponent-label { display: block; color: var(--text-muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; margin-bottom: 7px; }
.opponent-trigger { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 13px; color: var(--text-primary); background: var(--bg-input); border: 1px solid var(--border); border-radius: 8px; font: inherit; cursor: pointer; text-align: left; }
.opponent-trigger:hover, .opponent-trigger:focus-visible { border-color: var(--accent); outline: none; }
.opponent-menu { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; right: 0; padding: 10px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; box-shadow: var(--shadow); }
.opponent-menu[hidden] { display: none; }
.opponent-search { width: 100%; padding: 10px 12px; color: var(--text-primary); background: var(--bg-input); border: 1px solid var(--border); border-radius: 6px; font: inherit; }
.opponent-search:focus { border-color: var(--accent); outline: none; }
.opponent-options { max-height: 260px; overflow-y: auto; margin-top: 8px; }
.opponent-option { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; color: var(--text-primary); background: transparent; border: 0; border-radius: 6px; font: inherit; cursor: pointer; text-align: left; }
.opponent-option:hover, .opponent-option:focus-visible { background: var(--accent-glow); outline: none; }
.opponent-count { color: var(--text-muted); font-size: .8rem; white-space: nowrap; }
.opponent-empty { padding: 12px 10px; color: var(--text-muted); }
.versus-heading { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.versus-divider { color: var(--text-muted); font-size: .85rem; font-weight: 700; text-transform: uppercase; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.metric-label { color: var(--text-muted); font-size: .78rem; text-transform: uppercase; font-weight: 700; }
.metric-value { font-size: 1.65rem; font-weight: 800; margin-top: 4px; }
.metric-note { color: var(--text-secondary); font-size: .83rem; }
.compare-grid { display: grid; grid-template-columns: 140px minmax(70px, 1fr) minmax(70px, 1fr); gap: 0; }
.compare-cell { padding: 10px 8px; border-bottom: 1px solid var(--border); }
.compare-head { color: var(--text-secondary); font-size: .78rem; font-weight: 700; text-transform: uppercase; }

/* Standalone error pages. */
.error-shell { display: flex; align-items: center; justify-content: center; min-height: 100vh; margin: 0; font-family: 'Inter', sans-serif; background: #0f0f1a; color: #e0e0e0; }
.error-panel { text-align: center; padding: 24px; }
.error-panel h1 { font-size: 6rem; color: #e94560; margin: 0; line-height: 1; }
.error-panel h1.warning { color: var(--warning); }
.error-panel p { color: #8892b0; margin: 12px 0; }
.error-panel a { color: #0ea5e9; text-decoration: none; }
.error-panel a:hover { color: #38bdf8; }

@media (max-width: 992px) and (min-width: 768px) {
    .content-container { padding: 24px; }
    .ui-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ui-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    body.app-shell { display: block; padding-bottom: calc(var(--ui-mobile-nav-height) + env(safe-area-inset-bottom)); }
    .app-shell .desktop-sidebar { display: none; }
    .app-shell .main-wrapper { width: 100%; margin-left: 0; min-height: 100dvh; }
    .app-shell .admin-header { display: none; }
    .app-shell .content-container { width: 100%; padding: var(--ui-page-padding-mobile); }

    .mobile-shell-header {
        position: sticky; top: 0; z-index: 110;
        height: var(--ui-mobile-header-height); padding: 0 14px;
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        background: rgba(10, 14, 23, .96); border-bottom: 1px solid var(--border);
        backdrop-filter: blur(12px);
    }
    .mobile-shell-brand { display: flex; align-items: center; gap: 9px; color: var(--text-primary); font-weight: 700; }
    .mobile-shell-brand svg { width: 28px; height: 28px; color: var(--accent); }
    .mobile-shell-title { max-width: 58vw; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    .mobile-icon-button { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 7px; display: grid; place-items: center; background: transparent; color: var(--text-secondary); }
    .mobile-icon-button svg { width: 20px; height: 20px; }

    .mobile-bottom-nav {
        position: fixed; inset: auto 0 0 0; z-index: 120;
        height: calc(var(--ui-mobile-nav-height) + env(safe-area-inset-bottom));
        padding: 5px 6px env(safe-area-inset-bottom);
        display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
        background: var(--bg-sidebar); border-top: 1px solid var(--border);
    }
    .mobile-bottom-nav a, .mobile-bottom-nav button {
        border: 0; border-radius: 7px; background: transparent; color: var(--text-muted);
        display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
        min-width: 0; padding: 4px 2px; font: inherit; font-size: .66rem; font-weight: 600; text-decoration: none;
    }
    .mobile-bottom-nav a.active, .mobile-bottom-nav button.active { color: var(--accent-hover); background: var(--accent-glow); }
    .mobile-bottom-nav svg { width: 20px; height: 20px; flex: 0 0 auto; }

    .mobile-more-backdrop {
        position: fixed; inset: 0; z-index: 130; align-items: flex-end;
        padding: 0; background: rgba(0, 0, 0, .66);
    }
    .mobile-more-backdrop.open { display: flex; }
    .mobile-more-sheet { width: 100%; max-height: min(80dvh, 620px); overflow-y: auto; padding-bottom: env(safe-area-inset-bottom); background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px 12px 0 0; box-shadow: var(--shadow); }
    .mobile-more-header { min-height: 58px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); }
    .mobile-more-header strong { font-size: 1.05rem; }
    .mobile-more-links { padding: 10px; display: grid; gap: 4px; }
    .mobile-more-links a, .mobile-more-links button { width: 100%; min-height: 46px; padding: 0 12px; border: 0; border-radius: 7px; display: flex; align-items: center; gap: 11px; color: var(--text-primary); background: transparent; font: inherit; text-align: left; text-decoration: none; }
    .mobile-more-links a.active { color: var(--accent-hover); background: var(--accent-glow); }
    .mobile-more-links svg { width: 19px; height: 19px; color: var(--text-secondary); }
    .mobile-more-links form { margin: 0; }

    .ui-page { gap: 16px; }
    .ui-page-header { align-items: flex-start; }
    .ui-page-title { font-size: 1.45rem; }
    .ui-page-subtitle { font-size: .9rem; }
    .ui-grid-2, .ui-grid-3, .ui-grid-4, .ui-form-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .ui-detail-row { grid-template-columns: minmax(0, 1fr); padding: 11px 0; }
    .ui-detail-row dt, .ui-detail-row dd { padding: 2px 0; }
    .ui-detail-row dt { font-size: .76rem; text-transform: uppercase; }
    .ui-actions { width: 100%; justify-content: stretch; }
    .ui-actions > .btn, .ui-actions > button, .ui-actions > a { flex: 1 1 auto; }
    .form-row-2, .settings-layout, .roles-container, .info-grid, .split-layout, .table-tile-grid { grid-template-columns: minmax(0, 1fr); }
    .grid-2, .grid-3, .grid-wide-first { grid-template-columns: minmax(0, 1fr); }
    .stats-grid-2 { grid-template-columns: minmax(0, 1fr); }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .compare-grid { grid-template-columns: 92px minmax(0, 1fr) minmax(0, 1fr); font-size: .85rem; }
    .compare-cell { padding: 9px 5px; overflow-wrap: anywhere; }
    .opponent-picker { width: 100%; }
    .settings-nav, .sticky-panel { position: static; }
    .setting-toggle-row { align-items: flex-start; }
    .role-card-header, .module-footer, .activity-item, .info-item { flex-direction: column; align-items: flex-start; }
    .role-toolbar, .role-list-item { grid-template-columns: minmax(0, 1fr); }
    .role-summary { text-align: left; }
    .role-list-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .role-list-actions { min-width: 0; justify-content: flex-start; }
    .permission-catalog-item { grid-template-columns: minmax(0, 1fr) auto; }
    .permission-catalog-main { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); }
    .permission-catalog-main .role-badge { width: fit-content; }
    .governance-card-grid { grid-template-columns: minmax(0,1fr); }
    .governance-inline-form { grid-template-columns: minmax(0,1fr); }
    .governance-org-row, .governance-record-list > div, .governance-role-list > div { align-items: flex-start; flex-direction: column; }
    .governance-status-form { width: 100%; flex-direction: column; }
    .permission-editor-header { flex-direction: column; }
    .permission-group-grid { grid-template-columns: minmax(0, 1fr); }
    .activity-time { min-width: 0; }
    .info-value { text-align: left; }

    .card { padding: 16px; margin-bottom: 16px; border-radius: 8px; }
    .card-header { align-items: flex-start; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; padding-bottom: 13px; }
    .card-title { font-size: 1rem; }
    .form-group { margin-bottom: 16px; }
    .form-control { min-height: var(--ui-control-height); padding: 10px 12px; border-radius: 7px; font-size: 16px; }
    textarea.form-control { min-height: 104px; }
    .btn { min-height: var(--ui-control-height); padding: 9px 14px; border-radius: 7px; }
    .btn-sm { min-height: 38px; padding: 7px 10px; }
    .flash-msg { margin-bottom: 16px; padding: 12px; border-radius: 7px; }
    .table th { padding: 10px 12px; }
    .table td { padding: 12px; }

    /* Compatibility for legacy inline desktop grids while views migrate to ui-grid. */
    .content-container [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
    .content-container [style*="grid-column: span"] { grid-column: 1 / -1 !important; }
    .content-container [style*="display: flex"] { flex-wrap: wrap !important; }
    .content-container [style*="width: 200px"] { width: auto !important; }
    .content-container table:not(.table) { max-width: 100%; }
}

@media (max-width: 640px) {
    body.public-shell { overflow-x: hidden; }
    .public-shell .top-nav { padding: 0 14px; }
    .public-shell .top-nav .inner { height: 58px; gap: 10px; }
    .public-shell .top-nav .brand { min-width: 0; font-size: .95rem; }
    .public-shell .top-nav .brand svg { width: 24px; height: 24px; flex: 0 0 auto; }
    .public-shell .top-nav .brand .env-badge { display: none; }
    .public-shell .top-nav .nav-links { gap: 10px; flex: 0 0 auto; }
    .public-shell .top-nav .nav-links a { font-size: .82rem; }
    .public-shell .top-nav .nav-links .btn { min-height: 38px; padding: 7px 10px; }
    .public-shell .container { width: 100%; padding-inline: 14px; }
    .public-shell main .container { padding-top: 20px !important; }
    .public-shell .site-footer { margin-top: 36px; padding: 20px 14px; }
    .public-shell .auth-flow { width: 100%; padding: 16px 0 !important; }
    .public-shell .auth-flow .card { padding: 20px !important; border-radius: 8px !important; }
    .auth-card-shell { width: 100%; min-height: auto; padding: 16px 0; }
    .auth-card { padding: 20px; border-radius: 8px; }
    .auth-inline-row { flex-direction: column; }
    .auth-inline-row .btn { width: 100%; }
    .public-shell .hero { padding: 48px 0 30px; }
    .public-shell .hero h1 { font-size: 2rem; }
    .public-shell .hero p { font-size: 1rem; }
    .public-shell .features { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 24px 0 36px; }
    .public-shell .feature-card { padding: 20px; border-radius: 8px; }
    .public-shell input, .public-shell select, .public-shell textarea { max-width: 100%; font-size: 16px !important; }
}

@media (max-width: 380px) {
    .mobile-bottom-nav a, .mobile-bottom-nav button { font-size: .61rem; }
    .content-container { padding-inline: 12px; }
}

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

/* Notifications and access-request conversation surfaces. */
.notification-list,.request-thread{display:grid;gap:10px}.notification-row{margin:0}.notification-row button,.access-request-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid var(--border);border-radius:7px;background:var(--bg-card);color:var(--text);text-align:left;text-decoration:none;cursor:pointer}.notification-row.is-unread button{border-left:4px solid var(--primary);background:var(--bg-hover)}.notification-row span,.access-request-row span{display:grid;gap:4px}.notification-row small,.access-request-row small,.notification-row time{color:var(--text-secondary)}.request-thread article{padding:16px;border:1px solid var(--border);border-radius:7px;background:var(--bg-card)}.request-thread header{display:flex;justify-content:space-between;gap:16px;color:var(--text-secondary)}.request-thread p{margin:10px 0 0;white-space:normal}.access-request-row:hover{border-color:var(--primary)}
.notification-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.notification-read-form{min-width:0}.notification-delete-form{display:flex;align-items:center}.notification-delete-form button{width:auto;padding:8px 12px}.notification-read-form button{min-width:0}.notification-read-form button:hover{border-color:var(--primary)}
@media(max-width:640px){.notification-row{grid-template-columns:minmax(0,1fr)}.notification-row button,.access-request-row,.request-thread header{align-items:flex-start;flex-direction:column}.notification-delete-form{justify-content:flex-start}.notification-row time{font-size:.8rem}}
.two-factor-setup{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;margin:16px 0}.two-factor-qr{display:grid;place-items:center;min-width:196px;min-height:196px;padding:12px;border:1px solid var(--border-color,#334155);border-radius:8px;background:#fff;color:#0f172a}.two-factor-qr canvas{display:block;max-width:100%;height:auto}.two-factor-qr-fallback{max-width:160px;text-align:center;font-size:.85rem}.security-secret{display:grid;gap:8px;margin:0}.security-secret code,.recovery-code-grid code{display:block;padding:10px;border:1px solid var(--border-color,#334155);background:#0b1220;color:#dbeafe;overflow-wrap:anywhere}.security-uri{font-size:.78rem}.recovery-code-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:12px}.security-recovery{border-color:#d59a26}@media(max-width:720px){.two-factor-setup{grid-template-columns:minmax(0,1fr)}.two-factor-qr{width:max-content;max-width:100%}}

/* CuePlayers connection hub. */
.cueplayers-page{max-width:1220px;margin:0 auto}.cueplayers-hero,.cueplayers-profile-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:24px;align-items:center;background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(15,23,42,.92));border-color:rgba(59,130,246,.38)}.cueplayers-profile-hero{grid-template-columns:auto minmax(0,1fr)}.cueplayers-hero h3,.cueplayers-profile-hero h3{font-size:1.75rem;margin:4px 0 8px}.cueplayers-hero p,.cueplayers-profile-hero p{color:var(--text-secondary);max-width:680px}.cueplayers-social-grid,.cueplayers-activity-grid{align-items:stretch}.cueplayers-composer form{display:grid;gap:12px}.cueplayers-composer-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.cueplayers-status-panel{display:grid;gap:10px}.cueplayers-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cueplayers-metric-grid>div{padding:14px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:rgba(15,23,42,.58);min-width:0}.cueplayers-metric-grid strong{display:block;font-size:1.65rem;line-height:1;color:#fff}.cueplayers-metric-grid span{display:block;margin-top:5px;color:var(--text-secondary);font-size:.78rem;font-weight:700;text-transform:uppercase}.cueplayers-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.cueplayers-card-list,.cueplayers-request-list,.cueplayers-feed-list{display:grid;gap:10px}.cueplayers-request-card,.cueplayers-person-card,.cueplayers-feed-item,.cueplayers-discovery-card,.cueplayers-invite-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);text-decoration:none;color:var(--text-primary)}.cueplayers-post-item{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.28)}.cueplayers-match-item{background:rgba(15,23,42,.34)}.cueplayers-discovery-card,.cueplayers-invite-card{grid-template-columns:minmax(0,1fr)}.cueplayers-person-card.compact{padding:12px}.cueplayers-person-card.muted{opacity:.72}.cueplayers-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;font-weight:800;letter-spacing:0;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 20px rgba(0,0,0,.18)}.cueplayers-avatar.large{width:84px;height:84px;font-size:1.55rem}.cueplayers-card-main{display:grid;gap:3px;min-width:0}.cueplayers-card-main strong{color:var(--text-primary);overflow-wrap:anywhere}.cueplayers-card-main span,.cueplayers-card-main small{color:var(--text-secondary);font-size:.86rem}.cueplayers-card-main p{margin:4px 0;color:var(--text-secondary);line-height:1.45}.cueplayers-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.cueplayers-card-actions form,.cueplayers-request-card form,.cueplayers-feed-item form,.cueplayers-invite-card form{margin:0}.cueplayers-empty-panel{display:grid;gap:8px;align-content:center;min-height:130px;padding:20px;border:1px dashed var(--border);border-radius:8px;background:rgba(255,255,255,.015);color:var(--text-secondary)}.cueplayers-empty-panel h4,.cueplayers-empty-panel h3{margin:0;color:var(--text-primary)}.cueplayers-empty-panel p{margin:0;color:var(--text-secondary)}.cueplayers-feed-title{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.cueplayers-feed-title span{color:var(--text-muted);font-size:.82rem}.cueplayers-thread{display:grid;gap:8px;margin-top:8px;padding:10px;border-left:3px solid rgba(59,130,246,.45);background:rgba(15,23,42,.42);border-radius:0 8px 8px 0}.cueplayers-thread>div{display:grid;gap:2px}.cueplayers-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.cueplayers-game-tags,.cueplayers-checkbox-grid{display:flex;gap:8px;flex-wrap:wrap}.cueplayers-game-tags span{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.03);color:var(--text-secondary);font-size:.78rem}.cueplayers-checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cueplayers-status-panel strong{color:var(--text-primary)}@media(max-width:1100px){.cueplayers-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cueplayers-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.cueplayers-hero{grid-template-columns:minmax(0,1fr)}.cueplayers-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.cueplayers-section-head,.cueplayers-request-card,.cueplayers-person-card,.cueplayers-feed-item,.cueplayers-discovery-card,.cueplayers-profile-hero{grid-template-columns:minmax(0,1fr);align-items:flex-start}.cueplayers-avatar{width:42px;height:42px}.cueplayers-avatar.large{width:64px;height:64px}.cueplayers-card-actions,.cueplayers-request-card .ui-actions{justify-content:flex-start;width:100%}.cueplayers-card-actions .btn,.cueplayers-request-card .btn{width:auto}.cueplayers-metric-grid,.cueplayers-filter-grid,.cueplayers-checkbox-grid,.cueplayers-composer-actions{grid-template-columns:minmax(0,1fr)}}

.cueplayers-card-header-row{display:flex;align-items:center;gap:12px;min-width:0}.cueplayers-filter-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.cueplayers-connection-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--ui-page-gap);align-items:start}.cueplayers-tab-rail{display:grid;gap:8px;position:sticky;top:16px}.cueplayers-tab-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);color:var(--text-secondary);text-decoration:none;font-weight:700}.cueplayers-tab-link:hover,.cueplayers-tab-link.is-active{border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.12);color:var(--text-primary)}.cueplayers-tab-link strong{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--text-primary);font-size:.82rem}.cueplayers-tab-panel{display:none}.cueplayers-tab-panel.is-active{display:block}.cueplayers-tab-content{min-width:0}.cueplayers-connection-search{display:grid;grid-template-columns:minmax(0,1fr) 210px auto;gap:10px;margin-bottom:14px}
.cueplayers-profile-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 2px;border-bottom:1px solid var(--border)}.cueplayers-profile-tab{flex:0 0 auto;padding:11px 14px;border-bottom:2px solid transparent;color:var(--text-secondary);text-decoration:none;font-weight:700;white-space:nowrap}.cueplayers-profile-tab:hover,.cueplayers-profile-tab.is-active{border-color:var(--accent);color:var(--text-primary)}.cueplayers-profile-sublist{margin-top:16px}
.cueplayers-primary-tabs{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:100%;}.cueplayers-primary-tabs .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;}.cueplayers-primary-tabs .btn[aria-current="page"]{box-shadow:0 0 0 1px rgba(96,165,250,.22);}.cueplayers-nav-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.18);color:inherit;font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums}.cueplayers-primary-tabs .btn-secondary .cueplayers-nav-count{background:rgba(59,130,246,.18);color:var(--accent-hover)}.cueplayers-pagination{display:flex;justify-content:center;gap:10px;margin-top:18px}.cueplayers-inbox-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cueplayers-inbox-summary .card{display:grid;gap:5px;color:var(--text-primary);text-decoration:none}.cueplayers-inbox-summary strong{font-size:2rem;line-height:1;color:var(--accent-hover);font-variant-numeric:tabular-nums}.cueplayers-inbox-summary span{color:var(--text-secondary);font-weight:700}.cueplayers-inbox-section{display:grid;gap:10px}.cueplayers-inbox-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:8px;background:rgba(15,23,42,.38)}.cueplayers-inbox-item strong{color:var(--text-primary)}.cueplayers-inbox-item p{margin:4px 0 0;color:var(--text-secondary)}.cueplayers-report-details{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.cueplayers-report-details summary{color:var(--text-secondary);cursor:pointer}.cueplayers-report-details form{margin-top:12px}.cueplayers-report-form{align-self:center}
.stats-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}.head-to-head-form{display:flex;gap:10px;flex-wrap:wrap}.head-to-head-form-item{display:grid;place-items:center;gap:2px;min-width:58px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text-primary);text-decoration:none}.head-to-head-form-item strong{font-size:1.05rem}.head-to-head-form-item span{font-size:.78rem;color:var(--text-secondary)}.head-to-head-form-item.is-w{border-color:rgba(34,197,94,.55);background:rgba(34,197,94,.13)}.head-to-head-form-item.is-l{border-color:rgba(248,113,113,.55);background:rgba(248,113,113,.1)}.head-to-head-form-item.is--{border-color:rgba(148,163,184,.42)}
.ring-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ring-money-option{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);color:var(--text-primary);font-weight:700}.ring-money-option span{display:flex;align-items:center;gap:8px}.ring-money-option input[type="checkbox"]{width:18px;height:18px}.ring-money-option .form-control{min-width:0}
.ring-game-list{display:grid;gap:10px}.ring-game-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);color:var(--text-primary);text-decoration:none}.ring-game-list-item:hover{border-color:var(--accent)}.ring-game-list-item span:first-child{display:grid;gap:4px}.ring-game-list-item small{color:var(--text-secondary)}.ring-player-list{display:grid;gap:10px;padding:0;list-style:none}.ring-player-list li{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px}.ring-player-position{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}.ring-rule-list{display:flex;gap:8px;flex-wrap:wrap}.ring-rule-list span{padding:7px 10px;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary)}
.ring-score-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.ring-player-score-list,.ring-event-log{display:grid;gap:8px}.ring-player-score,.ring-event-log>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02)}.ring-player-score b{color:var(--accent-hover)}.ring-event-log>div{justify-content:flex-start}.ring-event-log span{color:var(--text-secondary)}.ring-start-panel{display:grid;gap:10px}.ring-scoreboard{display:flex;justify-content:space-between;align-items:center;gap:16px;border-color:var(--accent)}
.ring-score-table th,.ring-score-table td{text-align:center;white-space:nowrap}.ring-score-table th:first-child,.ring-score-table td:first-child{text-align:left}.ring-score-table tbody tr:last-child{border-bottom:0}
.ring-settled-section{display:grid;gap:12px}.ring-settled-card{margin:0}.ring-settled-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.ring-settled-header .section-kicker{margin:0}
@media(max-width:720px){.ring-score-layout,.ring-scoreboard{grid-template-columns:minmax(0,1fr);display:grid}.ring-player-score,.ring-event-log>div{align-items:flex-start;flex-direction:column}.ring-score-layout .form-control{width:100%}}
@media(max-width:920px){.cueplayers-connection-layout{grid-template-columns:minmax(0,1fr)}.cueplayers-tab-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.cueplayers-connection-search{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.cueplayers-card-header-row{align-items:flex-start}.cueplayers-filter-grid-compact{grid-template-columns:minmax(0,1fr)}.cueplayers-tab-rail{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.cueplayers-primary-tabs{justify-content:flex-start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}.cueplayers-primary-tabs .btn{width:100%;}.cueplayers-primary-tabs .btn:last-child{grid-column:auto}.cueplayers-inbox-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cueplayers-inbox-item{align-items:flex-start;flex-direction:column}.cueplayers-inbox-item .ui-actions,.cueplayers-inbox-item>.btn{width:100%}.cueplayers-inbox-item .ui-actions{display:grid;grid-template-columns:1fr 1fr}.cueplayers-inbox-item .ui-actions form,.cueplayers-inbox-item .ui-actions .btn{width:100%}.cueplayers-inbox-item>.btn{text-align:center}}
@media(max-width:920px){.stats-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.stats-filter-grid{grid-template-columns:minmax(0,1fr)}.stats-filter-grid .ui-actions{justify-content:stretch}.stats-filter-grid .ui-actions .btn{flex:1}.head-to-head-form-item{min-width:52px;padding:9px 10px}}
@media(max-width:620px){.ring-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ring-money-option{grid-template-columns:minmax(0,1fr);gap:6px}.ring-money-option .form-control{width:100%}}

/* Ring Game: event-ledger score surface. Themes intentionally follow rack-ball colors. */
.ring-create-layout,.ring-live-page{display:grid;gap:var(--ui-page-gap)}.ring-create-roster{display:grid;gap:16px}.ring-player-picker{display:grid;gap:8px}.ring-player-picker-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.ring-roster-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ring-roster-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:8px 10px;border:1px solid rgba(255,255,255,.26);border-radius:8px}.ring-roster-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;font-weight:800}.ring-roster-actions{display:flex;gap:6px}.ring-roster-actions button{min-height:34px;padding:5px 8px;border:1px solid currentColor;border-radius:6px;background:rgba(0,0,0,.12);color:inherit;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.ring-roster-actions button:disabled{opacity:.45;cursor:not-allowed}.ring-create-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ring-live-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ring-live-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.ring-live-status>div{display:grid;gap:4px;padding:14px 16px;border-right:1px solid var(--border)}.ring-live-status>div:last-child{border-right:0}.ring-status-label{font-size:.75rem;color:var(--text-muted);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ring-live-status strong{color:var(--text-primary)}.ring-score-surface{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.ring-score-surface-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px}.ring-score-surface-heading h3{margin:0;color:var(--text-primary)}.ring-score-surface-heading p{margin:5px 0 0;color:var(--text-secondary)}.ring-money-key{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ring-money-key span{padding:6px 9px;border:1px solid var(--border);border-radius:999px;color:var(--text-primary);font-size:.83rem;font-weight:800}.ring-score-table-wrap{overflow:auto}.ring-live-table{width:100%;min-width:680px;border-collapse:collapse}.ring-live-table th{padding:12px 10px;background:rgba(0,0,0,.24);color:var(--text-secondary);font-size:.75rem;letter-spacing:.04em;text-align:center;text-transform:uppercase}.ring-live-table th:first-child{text-align:left}.ring-live-table td{padding:0;border-bottom:1px solid rgba(255,255,255,.28);text-align:center;font-size:1.05rem;font-variant-numeric:tabular-nums}.ring-live-table td:first-child{text-align:left}.ring-player-score-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:70px;padding:12px 16px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;font-weight:800;cursor:pointer}.ring-player-score-button small{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.ring-live-table tr{transition:filter .15s ease,box-shadow .15s ease}.ring-live-table tr:hover,.ring-live-table tr.is-current{filter:brightness(1.1);box-shadow:inset 5px 0 0 currentColor}.ring-live-table td:last-child{font-size:1.25rem;font-weight:900}.ring-mobile-player-cards{display:none}.ring-live-actions{position:sticky;bottom:12px;z-index:4;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--border);border-radius:8px;background:rgba(15,23,42,.96);backdrop-filter:blur(10px)}.ring-live-actions form{margin:0}.ring-finalize-hint{align-self:center;color:var(--text-secondary);font-weight:700}.ring-event-history{margin:0}.ring-event-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ring-event-list li{display:flex;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.015)}.ring-event-list span{color:var(--text-secondary)}.ring-score-dialog{width:min(560px,calc(100vw - 24px));max-height:min(88vh,760px);padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-primary);box-shadow:0 24px 80px rgba(0,0,0,.52)}.ring-score-dialog::backdrop{background:rgba(2,6,23,.72)}.ring-dialog-form{display:grid;gap:18px;padding:22px}.ring-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.ring-dialog-heading h3{margin:3px 0 0;font-size:1.45rem}.ring-dialog-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-primary);font-size:1.25rem;cursor:pointer}.ring-dialog-form fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.ring-dialog-form legend{font-weight:800}.ring-dialog-ball-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ring-dialog-ball-grid label,.ring-dialog-choice-grid label{position:relative;display:block}.ring-dialog-ball-grid input,.ring-dialog-choice-grid input{position:absolute;opacity:0;pointer-events:none}.ring-dialog-ball-grid span,.ring-dialog-choice-grid span{display:grid;gap:4px;place-items:center;min-height:70px;padding:10px;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-weight:900;cursor:pointer}.ring-dialog-ball-grid small{color:var(--text-secondary);font-weight:600}.ring-dialog-ball-grid input:checked+span,.ring-dialog-choice-grid input:checked+span{border-color:var(--accent);background:rgba(59,130,246,.16);box-shadow:0 0 0 1px rgba(59,130,246,.25)}.ring-dialog-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ring-dialog-note{margin:0;color:var(--text-secondary);line-height:1.5}.ring-next-rack-card{display:grid;gap:12px;justify-items:start}.ring-completed-rack-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.ring-completed-rack{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.ring-completed-rack h4{margin:9px 0 2px;color:var(--text-primary)}.ring-completed-rack p{margin:0}.ring-player-theme-1{background:#FFFF00!important;color:#0000FF!important}.ring-player-theme-2{background:#0000FF!important;color:#FFFF00!important}.ring-player-theme-3{background:#FF0000!important;color:#00FFFF!important}.ring-player-theme-4{background:#800080!important;color:#90EE90!important}.ring-player-theme-5{background:#FFA500!important;color:#00008B!important}.ring-player-theme-6{background:#006400!important;color:#ADD8E6!important}.ring-player-theme-7{background:#8B0000!important;color:#07E5ED!important}.ring-player-theme-8{background:#000000!important;color:#FFFFFF!important}
.ring-money-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.ring-money-option{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:stretch;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:rgba(15,23,42,.42)}.ring-money-toggle{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text-primary);cursor:pointer}.ring-money-toggle input{inline-size:18px;block-size:18px;accent-color:var(--accent);flex:none}.ring-money-toggle b{font-size:1.05rem}.ring-money-toggle small{color:var(--text-secondary);font-weight:700}.ring-money-points{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}.ring-money-points .form-control{min-width:0;height:38px;padding:6px 8px;text-align:center;font-variant-numeric:tabular-nums}.ring-money-points small{color:var(--text-secondary);font-size:.72rem;font-weight:800}.ring-money-option:has(input[type=checkbox]:not(:checked)){opacity:.56}.ring-money-option:has(input[type=checkbox]:not(:checked)) .ring-money-points{pointer-events:none}@media(max-width:600px){.ring-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ring-money-option{grid-template-columns:minmax(0,1fr) 70px;padding:8px}.ring-money-points .form-control{height:42px;font-size:1rem}}
@media(max-width:720px){.ring-live-header{display:grid}.ring-live-header .ui-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.ring-live-header .ui-actions .btn{width:100%}.ring-live-status{grid-template-columns:1fr}.ring-live-status>div{border-right:0;border-bottom:1px solid var(--border)}.ring-live-status>div:last-child{border-bottom:0}.ring-score-surface-heading{display:grid}.ring-money-key{justify-content:flex-start}.ring-score-table-wrap{display:none}.ring-mobile-player-cards{display:grid;gap:10px;padding:12px}.ring-mobile-player-card{display:grid;gap:12px;width:100%;padding:16px;border:1px solid rgba(255,255,255,.35);border-radius:8px;color:inherit;text-align:left;cursor:pointer}.ring-mobile-player-card.is-current{box-shadow:0 0 0 3px var(--text-primary),0 0 0 5px currentColor}.ring-mobile-player-heading{display:flex;justify-content:space-between;gap:12px;font-size:1.2rem}.ring-mobile-ball-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.ring-mobile-ball-grid span{padding:7px 5px;border:1px solid currentColor;border-radius:5px;text-align:center;font-size:.82rem}.ring-mobile-ball-grid b{display:block;font-size:.72rem}.ring-live-actions{bottom:8px;display:grid;grid-template-columns:1fr 1fr;padding:10px}.ring-live-actions form,.ring-live-actions .btn{width:100%}.ring-live-actions .btn-primary,.ring-finalize-hint{grid-column:1 / -1}.ring-event-list li{align-items:flex-start;flex-direction:column}.ring-player-picker-controls{grid-template-columns:1fr}.ring-roster-item{grid-template-columns:34px minmax(0,1fr)}.ring-roster-actions{grid-column:1 / -1;justify-content:flex-end}.ring-dialog-ball-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ring-score-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px);margin:auto}.ring-dialog-form{padding:18px}.ring-completed-rack-list{grid-template-columns:1fr}}
.ring-theme-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ring-theme-setting{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px}.ring-theme-setting label{display:grid;gap:3px;color:var(--text-secondary);font-size:.75rem;font-weight:700}.ring-theme-setting input{width:42px;height:30px;padding:2px;border:1px solid var(--border);border-radius:4px;background:transparent}.ring-theme-setting .text-muted{grid-column:1 / -1}@media(max-width:620px){.ring-theme-settings-grid{grid-template-columns:1fr}.ring-theme-setting{grid-template-columns:minmax(0,1fr) auto auto}}

/* Scorekeeper dashboard and summary CSP-safe presentation classes. */
.scorekeeper-stat-card{background:rgba(255,255,255,.02);padding:16px;border-radius:var(--radius);border:1px solid var(--border);text-align:center}.scorekeeper-stat-label{font-size:.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.scorekeeper-stat-value{font-size:1.8rem;font-weight:700;margin-top:4px}.scorekeeper-stat-value.success,.scorekeeper-winner{color:var(--success)}.scorekeeper-stat-value.accent{color:var(--accent-hover)}.scorekeeper-stat-value.warning{color:var(--warning)}.scorekeeper-stat-value.gold,.summary-event-icon.gold{color:#fbbf24}.scorekeeper-stat-total{font-size:.95rem;color:var(--text-secondary);font-weight:500}.scorekeeper-stat-note{font-size:.85rem;color:var(--text-secondary);margin-top:2px}.scorekeeper-template-subtitle{font-size:.85rem;color:var(--text-muted)}.scorekeeper-player-left,.scorekeeper-score-left,.summary-player-left{color:#60a5fa;font-weight:600}.scorekeeper-player-right,.scorekeeper-score-right,.summary-player-right{color:#f87171;font-weight:600}.scorekeeper-vs,.scorekeeper-score-separator,.scorekeeper-draw{color:var(--text-muted)}.scorekeeper-game-badge{font-size:.85rem;background:rgba(255,255,255,.05);padding:2px 8px;border-radius:4px}.scorekeeper-template-badge{font-size:.85rem;background:rgba(59,130,246,.1);color:var(--accent-hover);border:1px solid rgba(59,130,246,.2);padding:2px 8px;border-radius:4px;font-weight:500}.scorekeeper-score-cell{font-weight:700;font-family:monospace;font-size:1.1rem}.scorekeeper-watch-link{border-color:var(--accent);color:var(--accent-hover)}.card-header-spread{display:flex;justify-content:space-between;align-items:center}.scorekeeper-empty-box{padding:24px;text-align:center;color:var(--text-muted)}.table-actions-right{text-align:right}.scorekeeper-template-name,.summary-strong,.scorekeeper-match-game{color:var(--text-primary);font-weight:600}.scorekeeper-template-colors{display:flex;gap:6px;align-items:center}.scorekeeper-template-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.scorekeeper-actions-cell{text-align:right}.scorekeeper-actions-cell .scorekeeper-actions-inner{display:flex;justify-content:flex-end;gap:8px}.scorekeeper-match-game{font-size:.9rem;font-weight:500}.scorekeeper-match-format{font-size:.75rem;color:var(--text-muted)}.scorekeeper-date-cell{color:var(--text-secondary)}
.match-summary-page{display:grid;grid-template-columns:1fr;gap:24px;max-width:900px;margin:0 auto}.match-summary-header{display:flex;justify-content:space-between;align-items:center}.match-summary-title{font-size:1.5rem;font-weight:700}.match-summary-score-card{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:var(--accent);border-width:1.5px;padding:32px;text-align:center;position:relative;overflow:hidden}.match-summary-badge{font-size:.8rem;background:rgba(59,130,246,.15);color:var(--accent-hover);border:1px solid rgba(59,130,246,.3);padding:4px 12px;border-radius:9999px;display:inline-block;font-weight:700;margin-bottom:24px;text-transform:uppercase}.match-summary-score-grid{display:flex;justify-content:space-around;align-items:center;gap:16px;margin:16px 0}.match-summary-player{flex:1;text-align:center}.summary-player-name{font-size:1.35rem;font-weight:700}.summary-player-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-weight:600}.summary-winner-badge{font-size:.85rem;background:rgba(16,185,129,.15);color:var(--success);border:1px solid rgba(16,185,129,.3);padding:2px 10px;border-radius:4px;font-weight:700;display:inline-block;margin-top:8px}.summary-score-display{display:flex;align-items:center;gap:24px}.summary-score-number{font-size:4rem;font-weight:800;font-family:monospace;color:#fff;line-height:1}.summary-score-separator{font-size:2.5rem;font-weight:700;color:var(--text-muted);line-height:1}.summary-meta{border-top:1px solid var(--border);padding-top:16px;margin-top:24px;color:var(--text-secondary);font-size:.9rem}.summary-notes{background:rgba(255,255,255,.01);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:20px;text-align:left}.summary-notes-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;font-weight:600;margin-bottom:6px}.summary-notes-body{color:var(--text-secondary);font-size:.925rem;line-height:1.5;white-space:pre-wrap}.summary-empty{padding:16px;text-align:center;color:var(--text-muted)}.summary-event-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.summary-event{background:rgba(255,255,255,.01);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;justify-content:space-between;align-items:center;gap:16px}.summary-event.undo{background:rgba(239,68,68,.03);border-color:rgba(239,68,68,.2)}.summary-event.break-run{border-color:rgba(245,158,11,.3)}.summary-event.golden-break{border-color:rgba(251,191,36,.3)}.summary-event-main{display:flex;align-items:center;gap:12px}.summary-event-icon{font-size:1.15rem}.summary-event-icon.ride-nine{font-weight:700;color:#f59e0b}.summary-event-icon.accent{color:var(--accent-hover)}.summary-event-title{font-weight:600;color:var(--text-primary)}.summary-event.undo .summary-event-title{color:#f87171}.summary-event-meta{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.summary-event-type{text-transform:capitalize;color:var(--text-primary)}.summary-event-time{font-size:.8rem;color:var(--text-muted);text-align:right}
@media(max-width:720px){.card-header-spread,.match-summary-header,.match-summary-score-grid{align-items:flex-start;flex-direction:column}.summary-score-display{align-self:center}.summary-score-number{font-size:3rem}.scorekeeper-actions-cell .scorekeeper-actions-inner{justify-content:flex-start}}

.scorekeeper-ring-dashboard{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.ring-dashboard-list{display:grid;gap:8px}.ring-dashboard-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);text-decoration:none}.ring-dashboard-item:hover{border-color:var(--accent);background:rgba(59,130,246,.08)}.ring-dashboard-item span{display:grid;gap:3px}.ring-dashboard-item small{color:var(--text-secondary)}.ring-dashboard-item b{color:var(--accent-hover)}
.ring-summary-page{display:grid;gap:var(--ui-page-gap)}.ring-summary-champion{display:grid;justify-items:center;gap:5px;padding:28px;border:1px solid currentColor;border-radius:8px;text-align:center}.ring-summary-champion p{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ring-summary-champion h3{margin:0;font-size:2.2rem}.ring-summary-table th,.ring-summary-table td{text-align:center;white-space:nowrap}.ring-summary-table th:first-child,.ring-summary-table td:first-child{text-align:left}.ring-summary-racks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.ring-summary-racks article{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02)}.ring-summary-racks span{color:var(--accent-hover);font-size:.78rem;font-weight:800;text-transform:uppercase}.ring-summary-racks strong{color:var(--text-primary)}.ring-summary-racks small{color:var(--text-secondary)}
.form-inline-actions{display:flex;gap:12px;align-items:center}.form-inline-actions .form-control{min-width:0;flex:1}@media (max-width:640px){.form-inline-actions{align-items:stretch;flex-direction:column}.form-inline-actions .btn{width:100%}}
.moderation-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}.moderation-profile-grid>div{min-width:0;padding:14px;border:1px solid var(--border);border-radius:8px;background:rgba(15,23,42,.3)}.moderation-profile-grid strong{display:block;color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.moderation-profile-grid p{margin:7px 0 0;overflow-wrap:anywhere}.moderation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}.moderation-metrics .metric-card{display:grid;align-content:start;gap:6px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.moderation-metrics .metric-card span{color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.moderation-metrics .metric-card strong{color:var(--text-primary);font-size:1.9rem;line-height:1}.moderation-metrics .metric-card small{color:var(--text-secondary);font-size:.82rem;line-height:1.35}.moderation-disclosure{margin-top:14px}.moderation-disclosure summary{color:var(--text-secondary);cursor:pointer;font-weight:600;list-style:none}.moderation-disclosure summary::-webkit-details-marker{display:none}.moderation-disclosure summary::before{content:'+';display:inline-block;width:18px;color:var(--danger)}.moderation-disclosure[open] summary{margin-bottom:12px;color:var(--danger)}.moderation-disclosure[open] summary::before{content:'-'}.moderation-post-remove-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.moderation-post-remove-form .form-control{width:100%;min-width:0}.moderation-post-remove-form .btn{white-space:nowrap}@media(max-width:800px){.moderation-profile-grid,.moderation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.moderation-profile-grid,.moderation-metrics,.moderation-post-remove-form{grid-template-columns:1fr}.moderation-post-remove-form .btn{width:100%}}
.moderation-case-meta{display:flex;align-items:center;justify-content:space-between;gap:14px}.moderation-case-meta>div{display:flex;align-items:center;gap:10px}.moderation-thread{padding:0}.moderation-thread .card-header{padding:20px 20px 0}.moderation-message-list{display:grid;gap:12px;padding:20px}.moderation-message{max-width:min(760px,92%);padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:rgba(15,23,42,.42)}.moderation-message.is-staff{justify-self:end;border-color:rgba(59,130,246,.42);background:rgba(37,99,235,.12)}.moderation-message.is-player{justify-self:start}.moderation-message>div{display:flex;justify-content:space-between;gap:14px;color:var(--text-secondary);font-size:.82rem}.moderation-message strong{color:var(--text-primary)}.moderation-message p{margin:8px 0 0;line-height:1.5;color:var(--text-primary);overflow-wrap:anywhere}@media(max-width:560px){.moderation-case-meta{align-items:flex-start;flex-direction:column}.moderation-message{max-width:100%}.moderation-message>div{align-items:flex-start;flex-direction:column;gap:2px}}
.cueplayers-post-item{grid-template-columns:auto minmax(0,1fr);align-items:start}.cueplayers-comment-count{color:var(--text-secondary);font-size:.84rem}.cueplayers-comment-form{grid-column:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cueplayers-comment-form .form-control{flex:1 1 220px;min-width:0}.cueplayers-comments{grid-column:2;display:grid;gap:10px;margin-top:4px}.cueplayers-comment{padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:rgba(15,23,42,.35)}.cueplayers-comment.is-deleted{opacity:.76}.cueplayers-comment-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cueplayers-comment-header span{color:var(--text-muted);font-size:.78rem}.cueplayers-comment p{margin:6px 0 0;color:var(--text-secondary);line-height:1.45;overflow-wrap:anywhere}.cueplayers-interaction-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.cueplayers-post-interactions{grid-column:2}.cueplayers-reaction-picker,.cueplayers-reply-picker,.cueplayers-action-menu{position:relative;margin:0}.cueplayers-reaction-picker summary,.cueplayers-reply-picker summary,.cueplayers-action-menu summary{list-style:none;cursor:pointer}.cueplayers-reaction-picker summary::-webkit-details-marker,.cueplayers-reply-picker summary::-webkit-details-marker,.cueplayers-action-menu summary::-webkit-details-marker{display:none}.cueplayers-react-trigger,.cueplayers-reply-picker summary{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 9px;border:1px solid transparent;border-radius:7px;color:var(--text-secondary);font-size:.84rem;font-weight:700}.cueplayers-react-trigger:hover,.cueplayers-react-trigger.is-active,.cueplayers-reply-picker summary:hover{border-color:rgba(59,130,246,.42);background:rgba(59,130,246,.12);color:var(--text-primary)}.cueplayers-reaction-menu,.cueplayers-action-menu-panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:max-content;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow)}.cueplayers-reaction-menu{display:flex;gap:3px}.cueplayers-reaction-menu button{width:38px;height:38px;padding:0;border:0;border-radius:7px;background:transparent;font-size:1.2rem;cursor:pointer}.cueplayers-reaction-menu button:hover,.cueplayers-reaction-menu button.is-selected{background:rgba(59,130,246,.18)}.cueplayers-action-menu{margin-left:auto}.cueplayers-action-menu summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:7px;color:var(--text-secondary);font-size:1.3rem;line-height:1}.cueplayers-action-menu summary:hover,.cueplayers-action-menu[open] summary{border-color:var(--border);background:rgba(255,255,255,.04);color:var(--text-primary)}.cueplayers-action-menu-panel{right:0;left:auto;display:grid;gap:7px;min-width:240px}.cueplayers-action-menu-panel form{margin:0}.cueplayers-action-menu-panel .btn-link{justify-content:flex-start;width:100%;color:var(--text-secondary)}.cueplayers-edit-form{display:grid;gap:7px}.cueplayers-edit-form textarea{min-height:82px}.cueplayers-reply-picker[open]{width:100%}.cueplayers-reply-picker[open] .cueplayers-comment-form{display:flex;margin-top:8px}.cueplayers-post-reply-picker{grid-column:2}.cueplayers-comment-children{display:grid;gap:9px;margin:10px 0 0 18px;padding-left:10px;border-left:2px solid rgba(59,130,246,.28)}@media(max-width:720px){.cueplayers-post-interactions,.cueplayers-post-reply-picker,.cueplayers-comment-form,.cueplayers-comments{grid-column:1}.cueplayers-action-menu-panel{position:fixed;right:16px;left:16px;top:auto;bottom:16px;min-width:0}.cueplayers-reaction-menu{position:fixed;right:16px;left:16px;top:auto;bottom:16px;justify-content:space-around}.cueplayers-reaction-menu button{width:44px;height:44px;font-size:1.3rem}.cueplayers-comment-children{margin-left:8px;padding-left:8px}.cueplayers-comment-form .btn{width:100%}}
.cueplayers-feed-sort{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 14px}.cueplayers-feed-sort label{color:var(--text-secondary);font-size:.84rem;font-weight:700}.cueplayers-feed-sort .form-control{width:auto;min-width:170px}@media(max-width:720px){.cueplayers-feed-sort{justify-content:stretch}.cueplayers-feed-sort .form-control{flex:1;min-width:0}}
.cueplayers-rate-note{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.45}.cueplayers-thread-disclosure{margin-top:10px}.cueplayers-thread-disclosure summary{cursor:pointer;color:var(--accent);font-weight:700;font-size:.84rem;list-style:none}.cueplayers-thread-disclosure summary::-webkit-details-marker{display:none}.cueplayers-thread-disclosure summary::before{content:'+';display:inline-block;width:18px}.cueplayers-thread-disclosure[open] summary::before{content:'-'}.cueplayers-thread-disclosure[open] summary{margin-bottom:8px}

/* CuePlayers uses content-aware grids instead of forcing profile details and feed previews into equal-width cards. */
.cueplayers-profile-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-page-gap);align-items:stretch}.cueplayers-profile-overview-grid>:last-child{grid-column:1/-1}.cueplayers-profile-overview-grid .ui-detail-row{grid-template-columns:minmax(0,1fr) minmax(132px,.8fr);gap:14px}.cueplayers-profile-overview-grid .ui-detail-row dd{text-align:right;min-width:0;overflow-wrap:anywhere}.cueplayers-dashboard-lower{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:var(--ui-page-gap);align-items:start}.cueplayers-dashboard-lower>div{min-width:0}.cueplayers-dashboard-lower>:nth-child(3){grid-column:1/-1}.cueplayers-dashboard-lower .cueplayers-feed-item{min-width:0}.cueplayers-dashboard-lower .cueplayers-card-main p{max-width:66ch}.cueplayers-dashboard-grid .card{min-width:0}.cueplayers-dashboard-grid .section-subtitle{overflow-wrap:anywhere}@media(max-width:920px){.cueplayers-dashboard-lower{grid-template-columns:repeat(2,minmax(0,1fr))}.cueplayers-dashboard-lower>:nth-child(3){grid-column:1/-1}}@media(max-width:720px){.cueplayers-profile-overview-grid,.cueplayers-dashboard-lower{grid-template-columns:minmax(0,1fr)}.cueplayers-profile-overview-grid>:last-child,.cueplayers-dashboard-lower>:nth-child(3){grid-column:auto}.cueplayers-profile-overview-grid .ui-detail-row{grid-template-columns:minmax(0,1fr)}.cueplayers-profile-overview-grid .ui-detail-row dd{text-align:left}}

/* Stats workspace: headline signals first, then detail. Tables stay compact until a phone genuinely needs horizontal scrolling. */
.stats-picker-note{margin:12px 0 0;color:var(--text-muted);font-size:.84rem}.stats-overview-card{background:linear-gradient(135deg,rgba(30,64,175,.14),rgba(30,41,59,.94));border-color:rgba(96,165,250,.3)}.stats-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stats-overview-grid>div{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:rgba(15,23,42,.38)}.stats-overview-grid span,.stats-overview-footer{color:var(--text-muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.stats-overview-grid strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:1.55rem;line-height:1.15}.stats-overview-grid small{color:var(--text-secondary);font-size:.84rem;line-height:1.4}.stats-overview-footer{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);letter-spacing:0}.stats-overview-footer span{padding-right:12px;border-right:1px solid var(--border)}.stats-overview-footer span:last-child{padding-right:0;border-right:0}.stats-overview-footer strong{color:var(--text-primary)}.stats-shell .table-responsive>.table{min-width:440px}.stats-shell .stats-grid-2 .table-responsive>.table{min-width:0}.stats-shell .stats-grid-2 .table{table-layout:fixed}.stats-shell .stats-grid-2 .table th,.stats-shell .stats-grid-2 .table td{overflow-wrap:anywhere}@media(max-width:880px){.stats-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-shell .stats-grid-2 .table-responsive>.table{min-width:440px}.stats-shell .stats-grid-2 .table{table-layout:auto}}@media(max-width:560px){.stats-overview-grid{grid-template-columns:minmax(0,1fr)}.stats-overview-grid strong{font-size:1.4rem}.stats-overview-footer{display:grid;gap:8px}.stats-overview-footer span{padding:0;border:0}.stats-shell .table-responsive>.table{min-width:420px}}
.stats-recorded-results{background:linear-gradient(135deg,rgba(8,47,73,.38),rgba(30,41,59,.94));border-color:rgba(56,189,248,.24)}.stats-recorded-results-table th:not(:first-child),.stats-recorded-results-table td:not(:first-child){text-align:right}.stats-recorded-results-table th:nth-child(2),.stats-recorded-results-table td:nth-child(2){text-align:center}.stats-recorded-results-table .marker-dot{vertical-align:middle}
.advanced-stats-shell{max-width:1120px}.advanced-filter-card{background:linear-gradient(135deg,rgba(30,64,175,.12),rgba(30,41,59,.94));border-color:rgba(96,165,250,.25)}.advanced-stats-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.advanced-stats-filter-grid .ui-actions{grid-column:1/-1}.advanced-data-section{background:linear-gradient(135deg,rgba(30,41,59,.98),rgba(30,41,59,.9));}.advanced-stats-table-wrap{overflow-x:visible}.advanced-stats-table{width:100%;min-width:0;table-layout:fixed}.advanced-stats-table th:nth-child(1){width:30%}.advanced-stats-table th:nth-child(2){width:23%;text-align:right}.advanced-stats-table td:nth-child(2){text-align:right;color:var(--text-primary);font-weight:800}.advanced-stats-table td:nth-child(3){color:var(--text-secondary);font-size:.88rem}.advanced-stats-table td,.advanced-stats-table th{overflow-wrap:anywhere;white-space:normal}.advanced-stats-table .marker-dot{vertical-align:middle}.advanced-ledger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.advanced-ledger-grid .advanced-stats-table.compact th:first-child{width:auto}.advanced-ledger-grid .advanced-stats-table.compact th:nth-child(2){width:34%}.advanced-safety-quality{margin-top:22px}.advanced-trend-table{table-layout:auto}.advanced-trend-table th:first-child{width:auto}.advanced-trend-table th:nth-child(2),.advanced-trend-table th:nth-child(3),.advanced-trend-table th:nth-child(4),.advanced-trend-table th:nth-child(5),.advanced-trend-table th:nth-child(6),.advanced-trend-table th:nth-child(7),.advanced-trend-table th:nth-child(8){width:auto}
.advanced-trends-section{background:linear-gradient(135deg,rgba(15,23,42,.98),rgba(30,64,175,.1))}.advanced-form-strip{border:1px solid var(--border);border-radius:8px;margin:0 0 20px;padding:14px}.advanced-form-strip-header{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;justify-content:space-between;margin-bottom:10px}.advanced-form-strip-header .stats-table-title{margin:0}.advanced-form-items{display:flex;flex-wrap:wrap;gap:8px}.advanced-form-item{align-items:center;border:1px solid var(--border);border-radius:7px;display:flex;flex-direction:column;justify-content:center;min-height:54px;min-width:54px;padding:5px;text-decoration:none}.advanced-form-item strong{font-size:1rem}.advanced-form-item small{color:var(--text-secondary);font-size:.72rem}.advanced-form-w{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.45);color:#34d399}.advanced-form-l{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.45);color:#f87171}.advanced-form--{background:rgba(148,163,184,.12);color:var(--text-secondary)}.advanced-trends-table{table-layout:auto}.advanced-trends-table th,.advanced-trends-table td{vertical-align:top}.advanced-trends-table td:nth-child(2){text-align:left}.advanced-trends-table td{color:var(--text-secondary);font-size:.88rem}.advanced-trends-table td strong{color:var(--text-primary)}
.advanced-breakdown-table{table-layout:auto}.advanced-breakdown-table th,.advanced-breakdown-table td{vertical-align:top}.advanced-breakdown-table td:nth-child(2){text-align:left}.advanced-breakdown-table td{font-size:.88rem}.advanced-evidence-section details{border-top:1px solid var(--border);padding:14px 0}.advanced-evidence-section details:first-of-type{border-top:0;padding-top:0}.advanced-evidence-section summary{color:var(--text-primary);cursor:pointer;font-weight:800;list-style-position:inside}.advanced-evidence-section summary::marker{color:var(--accent)}.advanced-evidence-section details[open] summary{margin-bottom:14px}.advanced-evidence-table{table-layout:auto}.advanced-evidence-table th,.advanced-evidence-table td{vertical-align:top}.advanced-evidence-table td:nth-child(2){text-align:left}.advanced-evidence-table td{font-size:.86rem}
@media(max-width:860px){.advanced-stats-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-ledger-grid{grid-template-columns:minmax(0,1fr)}.advanced-trends-table,.advanced-breakdown-table{min-width:760px}}@media(max-width:560px){.advanced-stats-filter-grid{grid-template-columns:minmax(0,1fr)}.advanced-stats-filter-grid .ui-actions{justify-content:stretch}.advanced-stats-filter-grid .ui-actions .btn{flex:1}.advanced-stats-table-wrap{overflow-x:auto}.advanced-stats-table{min-width:560px}.advanced-ledger-grid .advanced-stats-table{min-width:0}.advanced-trend-table,.advanced-breakdown-table,.advanced-evidence-table{min-width:760px}}
.stats-summary-columns{align-items:start}.stats-summary-list{display:grid;gap:0}.stats-summary-list h4{margin:0 0 8px;color:var(--text-muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.stats-summary-list>div{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid var(--border)}.stats-summary-list>div:last-child{border-bottom:0}.stats-summary-list strong{color:var(--text-primary);overflow-wrap:anywhere}.stats-summary-list span{color:var(--text-secondary);font-size:.88rem;line-height:1.4}.stats-summary-list a{color:var(--accent-hover);text-decoration:none}.stats-summary-list .marker-dot{margin-right:5px}.stats-shell .table-responsive>.table{min-width:0;width:100%}.stats-shell .table-responsive>.stats-history-table{min-width:620px}.stats-shell .stats-history-table{table-layout:auto!important}.stats-shell .table-responsive{overflow-x:auto}.stats-shell .table-responsive:not(:has(.stats-history-table)){overflow-x:visible}
.stats-detail-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ui-page-gap);min-width:0}.stats-detail-stack .table-responsive{overflow-x:visible}.stats-detail-stack .table-responsive>.table{min-width:0;width:100%;table-layout:auto}.stats-detail-stack .table th,.stats-detail-stack .table td{white-space:normal;overflow-wrap:anywhere}@media(max-width:640px){.stats-detail-stack .table-responsive{overflow-x:auto}.stats-detail-stack .table-responsive>.table{min-width:440px}}

/* Statistics tables remain tables: wide data gets a full-width panel, not a squeezed side-by-side card. */
.stats-section-gap>.stats-summary-list{display:none}.stats-table-panel{min-width:0}.stats-table-title{margin:0 0 10px;color:var(--text-secondary);font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.stats-shell .stats-data-table,.stats-shell .stats-detail-stack .table-responsive{overflow-x:visible}.stats-shell .stats-data-table>.table,.stats-shell .stats-detail-stack .table-responsive>.table{width:100%;min-width:0;table-layout:auto}.stats-shell .stats-history-wrap{overflow-x:auto}.stats-shell .stats-history-wrap>.stats-history-table{min-width:620px}@media(max-width:640px){.stats-shell .stats-data-table,.stats-shell .stats-detail-stack .table-responsive{overflow-x:auto}.stats-shell .stats-data-table>.table,.stats-shell .stats-detail-stack .table-responsive>.table{min-width:440px}.stats-table-title{margin-top:4px}}
