/* MotoManager - Main Stylesheet */

:root {
    --mm-blue: #2563eb;
    --mm-blue-dark: #1d4ed8;
    --mm-navy: #07111f;
    --mm-navy-soft: #0b1220;
    --mm-bg: #f4f7fb;
    --mm-card: #ffffff;
    --mm-text: #111827;
    --mm-muted: #4b5563;
    --mm-border: #e5e7eb;
    --mm-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
    --primary: #0f63ff;
    --secondary: #6c757d;
    --success: #198754;
    --danger: #dc3545;
    --warning: #ffc107;
    --info: #0dcaf0;
    --surface: #f3f6fb;
    --surface-soft: #fbfcff;
    --panel: #07111f;
    --panel-soft: #0d1928;
    --panel-muted: #132033;
    --text-main: #101828;
    --text-soft: #526077;
    --line-soft: rgba(148, 163, 184, 0.18);
    --shadow-soft: 0 20px 48px rgba(15, 23, 42, 0.08);
    --radius-xl: 32px;
}

.mm-subito-import-page {
    padding-bottom: 2rem;
}

.mm-subito-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr);
    gap: 2rem;
    padding: 2.4rem;
    border-radius: 32px;
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.16), transparent 40%),
        radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.15), transparent 42%),
        linear-gradient(135deg, #ffffff 0%, #f6f9ff 48%, #fff7f1 100%);
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.mm-subito-hero h1 {
    font-size: clamp(2rem, 3vw, 3rem);
    margin-bottom: .85rem;
    color: #132238;
}

.mm-subito-hero p {
    max-width: 58rem;
    color: #52637d;
    font-size: 1.04rem;
    margin-bottom: 1rem;
}

.mm-subito-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.mm-subito-hero-badges span,
.mm-subito-example-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .8rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(148, 163, 184, 0.22);
    color: #22324a;
}

.mm-subito-example-link {
    flex-direction: column;
    align-items: flex-start;
    border-radius: 22px;
}

.mm-subito-hero-art {
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.mm-subito-logo-pill,
.mm-subito-brand-pill {
    min-width: 160px;
    padding: 1.2rem 1.4rem;
    border-radius: 26px;
    text-align: center;
    font-size: 1.55rem;
    font-weight: 800;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10);
}

.mm-subito-logo-pill {
    color: #ff5a3c;
}

.mm-subito-brand-pill {
    color: #11345f;
}

.mm-subito-arrow {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e0ebff, #fff3e8);
    color: #1d4ed8;
    font-size: 1.25rem;
}

.mm-subito-sidecard,
.mm-subito-helpbox,
.mm-subito-profile-status,
.mm-subito-verification-box,
.mm-subito-guide-panel,
.mm-subito-guide-full,
.mm-subito-scan-shot,
.mm-subito-item-card {
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    border-radius: 24px;
}

.mm-subito-sidecard {
    position: sticky;
    top: 110px;
    padding: 1.4rem;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.mm-subito-sidecard h2 {
    font-size: 1.05rem;
    margin-bottom: 1rem;
}

.mm-subito-sidecard ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .8rem;
}

.mm-subito-sidecard li {
    position: relative;
    padding: .95rem 1rem .95rem 3rem;
    background: linear-gradient(135deg, #f8fbff, #fff);
    border-radius: 18px;
    color: #48566e;
}

.mm-subito-sidecard li::before {
    content: counter(list-item);
    position: absolute;
    left: .9rem;
    top: .85rem;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dbe7ff;
    color: #1d4ed8;
    font-weight: 700;
}

.mm-subito-sidecard li.is-active {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(249, 115, 22, 0.08));
    color: #11233a;
}

.mm-subito-sidecard li small {
    display: inline;
    color: #64748b;
}

.mm-subito-helpbox {
    margin-top: 1rem;
    padding: 1rem;
    background: linear-gradient(135deg, #fff9f2, #ffffff);
}

.mm-subito-profile-form {
    display: grid;
    gap: 1rem;
}

.mm-subito-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
}

.mm-subito-input-wrap {
    position: relative;
}

.mm-subito-input-wrap i {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 1.15rem;
}

.mm-subito-input-wrap .form-control {
    min-height: 68px;
    border-radius: 20px;
    padding-left: 3rem;
    border: 1px solid rgba(148, 163, 184, 0.32);
    box-shadow: none;
}

.mm-subito-profile-status {
    min-width: 260px;
    padding: 1rem 1.15rem;
    display: grid;
    gap: .2rem;
}

.mm-subito-profile-status small {
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
}

.mm-subito-profile-status strong {
    font-size: 1.15rem;
}

.mm-subito-profile-status span {
    color: #52637d;
    word-break: break-all;
    font-size: .92rem;
}

.mm-subito-profile-status.is-verified {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.11), rgba(255, 255, 255, 1));
}

.mm-subito-profile-status.is-pending {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(255, 255, 255, 1));
}

.mm-subito-verification-box {
    padding: 1.25rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(255, 255, 255, 1));
}

.mm-subito-verification-box h3 {
    margin: .25rem 0 .45rem;
    font-size: 1.2rem;
}

.mm-subito-code {
    padding: 1rem 1.25rem;
    border-radius: 20px;
    background: #0f172a;
    color: #fff;
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    font-weight: 800;
    letter-spacing: .12em;
}

.mm-subito-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.mm-subito-guide-panel,
.mm-subito-guide-full {
    overflow: hidden;
}

.mm-subito-guide-panel img,
.mm-subito-guide-full img,
.mm-subito-scan-shot img {
    display: block;
    width: 100%;
    height: auto;
}

.mm-subito-guide-panel figcaption {
    padding: 1rem 1.05rem 1.2rem;
    color: #475569;
}

.mm-subito-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.mm-subito-stats article {
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #f8fbff, #fff);
    border: 1px solid rgba(219, 234, 254, 1);
}

.mm-subito-stats small {
    display: block;
    color: #64748b;
}

.mm-subito-stats strong {
    display: block;
    margin-top: .45rem;
    font-size: 2rem;
    color: #132238;
}

.mm-subito-scan-shot {
    overflow: hidden;
}

.mm-subito-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.mm-subito-item-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
}

.mm-subito-item-thumb {
    min-height: 180px;
    background: #eef2f7;
}

.mm-subito-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-subito-item-thumb span {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #64748b;
}

.mm-subito-item-body {
    padding: 1rem;
}

.mm-subito-item-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .7rem;
}

.mm-subito-item-top a {
    color: #2563eb;
    font-size: .92rem;
    text-decoration: none;
}

.mm-subito-item-card h3 {
    font-size: 1.08rem;
    margin-bottom: .5rem;
    color: #16263c;
}

.mm-subito-item-card .price {
    font-size: 1.3rem;
    font-weight: 800;
    margin-bottom: .35rem;
}

.mm-subito-item-card .meta,
.mm-subito-item-card .desc,
.mm-subito-item-card .reason {
    margin-bottom: .45rem;
    color: #52637d;
}

.mm-subito-item-card .reason {
    color: #b45309;
    font-weight: 600;
}

.mm-subito-bullet-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .9rem;
}

.mm-subito-bullet-list li {
    padding: .9rem 1rem;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(226, 232, 240, 1);
}

.mm-subito-bullet-list strong,
.mm-subito-bullet-list span {
    display: block;
}

.mm-subito-bullet-list span {
    margin-top: .2rem;
    color: #64748b;
    font-size: .95rem;
}

@media (max-width: 1199px) {
    .mm-subito-hero {
        grid-template-columns: 1fr;
    }

    .mm-subito-sidecard {
        position: static;
    }
}

@media (max-width: 991px) {
    .mm-subito-guide-grid,
    .mm-subito-preview-grid,
    .mm-subito-stats,
    .mm-subito-form-row,
    .mm-subito-verification-box {
        grid-template-columns: 1fr;
    }

    .mm-subito-item-card {
        grid-template-columns: 1fr;
    }

    .mm-subito-item-thumb {
        min-height: 240px;
    }
}

@media (max-width: 767px) {
    .mm-subito-hero {
        padding: 1.5rem;
        border-radius: 24px;
    }

    .mm-subito-hero-art {
        min-height: auto;
        flex-direction: column;
    }

    .mm-subito-logo-pill,
    .mm-subito-brand-pill {
        width: 100%;
    }

    .mm-subito-sidecard,
    .mm-subito-guide-panel,
    .mm-subito-guide-full,
    .mm-subito-item-card,
    .mm-subito-verification-box,
    .mm-subito-profile-status {
        border-radius: 20px;
    }

    .mm-subito-code {
        width: 100%;
        text-align: center;
    }
}

html, body {
    height: 100%;
    scroll-behavior: smooth;
}

body {
    display: flex;
    flex-direction: column;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    background: linear-gradient(180deg, #f7f8fa 0%, #eef1f4 100%);
    color: #1f2937;
}

body.privacy-consent-pending {
    overflow-x: hidden;
}

body.app-flash-overlay-active {
    overflow: hidden;
}

body.app-quick-register-overlay-active {
    overflow: hidden;
}

body.app-soft-auth-overlay-active {
    overflow: hidden;
}

body.is-mobile-app-context.privacy-consent-pending,
body.is-mobile-app-context.app-flash-overlay-active {
    overflow-y: auto;
}

main {
    flex: 1;
}

body {
    background: #ffffff;
    color: var(--text-main);
}

.navbar {
    box-shadow: 0 18px 40px rgba(3, 10, 24, 0.22);
    backdrop-filter: blur(18px);
}

.app-shell-navbar {
    background:
        linear-gradient(180deg, rgba(6, 12, 24, 0.98), rgba(7, 17, 31, 0.95)) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.is-home-page .app-shell-navbar {
    box-shadow: none;
    border-bottom-color: rgba(255, 255, 255, 0.04);
}

.app-shell-navbar .container-lg,
.app-footer .container-lg {
    max-width: 1720px;
}

.app-shell-navbar-wrap {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    min-height: 96px;
    padding-inline: 1.1rem;
}

.app-shell-nav-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
    width: 100%;
    padding: 0.7rem 1rem;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(8, 18, 36, 0.82), rgba(4, 12, 28, 0.94));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.24);
}

.app-shell-navbar .navbar-collapse {
    min-width: 0;
    flex: 1 1 auto;
    overflow: visible;
}

.home-page .container-lg,
.dashboard-home-shell {
    max-width: 1720px;
    margin: 0 auto;
    padding-inline: 24px;
}

.app-shell-main {
    position: relative;
}

body.is-home-page .app-shell-main {
    padding-top: 0 !important;
}

body.is-forum-home-page .app-shell-main {
    padding-top: 0 !important;
}

body.is-document-library-page .app-shell-main {
    padding-top: 0 !important;
}

body.is-comparison-page .app-shell-main {
    padding-top: 0 !important;
}

.app-shell-nav-links {
    gap: 0.45rem;
}

.app-shell-nav-links .nav-link {
    padding: 0.7rem 0.8rem;
    color: rgba(255, 255, 255, 0.82);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.app-shell-nav-icon-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    gap: 0.3rem;
    border-radius: 18px;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.app-shell-nav-icon-link i {
    font-size: 1.35rem;
    line-height: 1;
}

.app-shell-nav-icon-link span {
    font-size: 0.98rem;
    white-space: nowrap;
}

.app-shell-nav-links .nav-link:hover,
.app-shell-nav-links .nav-link:focus,
.app-shell-nav-links .nav-link.active {
    color: #ffffff;
}

.app-shell-nav-links .nav-link:hover,
.app-shell-nav-links .nav-link:focus {
    background: rgba(255, 255, 255, 0.06);
}

.app-shell-nav-links .nav-link.active {
    background: radial-gradient(circle at top, rgba(34, 98, 255, 0.38), rgba(34, 98, 255, 0.08));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 18px 36px rgba(15, 99, 255, 0.2);
}

.app-shell-nav-meta {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-left: auto;
}

.app-shell-nav-meta-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-decoration: none;
}

.app-shell-nav-meta-btn i {
    font-size: 1.18rem;
}

.app-shell-nav-meta-btn.active,
.app-shell-nav-meta-btn:hover,
.app-shell-nav-meta-btn:focus {
    color: #fff;
    background: rgba(36, 102, 255, 0.18);
}

.app-shell-nav-counter {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 22px;
    height: 22px;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #ff4b59;
    color: #fff;
    font-size: 0.74rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.app-shell-admin-counter {
    top: 8px;
    right: 8px;
    min-width: 24px;
    height: 24px;
    padding: 0 0.42rem;
    z-index: 2;
    box-shadow: 0 10px 20px rgba(255, 75, 89, 0.28);
}

.app-shell-nav-divider {
    width: 1px;
    height: 40px;
    background: rgba(255, 255, 255, 0.12);
}

.app-shell-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 220px;
    padding: 0.4rem 0.5rem;
    border-radius: 18px;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.app-shell-user-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1154f6, #54a3ff);
    color: #fff;
    font-weight: 800;
    flex: 0 0 auto;
}

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

.app-shell-user-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.app-shell-user-copy strong,
.app-shell-user-copy small {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-shell-user-copy small {
    color: rgba(255, 255, 255, 0.6);
}

.app-shell-mega-menu {
    min-width: 340px;
    max-width: 560px;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(8, 16, 30, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 26px 48px rgba(0, 0, 0, 0.28);
}

.app-shell-mega-menu-admin {
    min-width: 580px;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.app-shell-mega-menu-section + .app-shell-mega-menu-section {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.app-shell-mega-menu-title {
    color: #7ea9ff;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    font-weight: 800;
    margin-bottom: 0.7rem;
}

.app-shell-mega-menu-grid {
    display: grid;
    gap: 0.45rem;
}

.app-shell-mega-link,
.app-shell-user-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem 0.9rem;
    border-radius: 16px;
    color: rgba(255, 255, 255, 0.88);
}

.app-shell-mega-link i,
.app-shell-user-menu .dropdown-item i {
    font-size: 1.05rem;
    opacity: 0.95;
}

.app-shell-mega-link:hover,
.app-shell-mega-link:focus,
.app-shell-user-menu .dropdown-item:hover,
.app-shell-user-menu .dropdown-item:focus,
.app-shell-mega-link.active {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.app-shell-user-menu {
    min-width: 280px;
    padding: 0.7rem;
    border-radius: 20px;
    background: rgba(8, 16, 30, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.app-shell-nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 118px;
    min-height: 48px;
    border-radius: 14px;
    padding-inline: 1rem !important;
    font-weight: 800;
    letter-spacing: -0.01em;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.app-shell-nav-button-ghost {
    color: #f8fbff !important;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.app-shell-nav-button-primary {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1d7aff 100%);
    border-color: rgba(58, 125, 255, 0.9);
    box-shadow: 0 14px 28px rgba(15, 99, 255, 0.28);
}

.app-shell-nav-button-ghost:hover,
.app-shell-nav-button-ghost:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.14);
}

.app-shell-nav-button-primary:hover,
.app-shell-nav-button-primary:focus {
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(15, 99, 255, 0.34);
}

.privacy-consent-overlay {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 1rem;
    pointer-events: none;
}

.privacy-consent-backdrop {
    display: none;
}

.privacy-consent-modal {
    position: relative;
    z-index: 1;
    width: min(860px, calc(100vw - 2rem));
    max-height: min(70vh, 900px);
    overflow: auto;
    border-radius: 1.5rem;
    pointer-events: auto;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22) !important;
}

.app-flash-overlay {
    position: fixed;
    inset: 0;
    z-index: 3200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.app-quick-register-overlay {
    position: fixed;
    inset: 0;
    z-index: 3300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.app-soft-auth-overlay {
    position: fixed;
    inset: 0;
    z-index: 3350;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.app-soft-auth-overlay.is-open {
    display: flex;
}

.app-soft-auth-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 13, 25, 0.76);
    backdrop-filter: blur(7px);
}

.app-soft-auth-modal {
    position: relative;
    z-index: 1;
    width: min(820px, 100%);
    padding: 1.4rem;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(8, 17, 34, 0.985), rgba(10, 23, 41, 0.99));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.34);
    color: #fff;
}

.app-soft-auth-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.app-soft-auth-head h2 {
    margin: 0.2rem 0 0.45rem;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.04em;
}

.app-soft-auth-head p {
    margin: 0;
    max-width: 58ch;
    color: rgba(255, 255, 255, 0.74);
}

.app-soft-auth-dismiss {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.app-soft-auth-alert {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(255, 92, 92, 0.12);
    border: 1px solid rgba(255, 92, 92, 0.2);
    color: #ffd2d2;
}

.app-soft-auth-panel {
    display: none;
}

.app-soft-auth-panel.is-active {
    display: block;
}

.app-soft-auth-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.app-soft-auth-choice-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.7rem;
    min-height: 220px;
    padding: 1.3rem;
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    text-align: left;
}

.app-soft-auth-choice-card strong {
    font-size: 1.22rem;
}

.app-soft-auth-choice-card span:last-child {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.6;
}

.app-soft-auth-choice-card-primary {
    background: radial-gradient(circle at top, rgba(23, 102, 255, 0.22), rgba(255, 255, 255, 0.05));
    box-shadow: 0 18px 34px rgba(16, 89, 255, 0.16);
}

.app-soft-auth-choice-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    font-size: 1.45rem;
}

.app-soft-auth-guest-card {
    padding: 1.2rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.app-soft-auth-guest-card h3 {
    margin-bottom: 0.7rem;
    font-size: 1.25rem;
}

.app-soft-auth-guest-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.74);
}

.app-soft-auth-guest-actions,
.app-soft-auth-actions {
    display: flex;
    gap: 0.8rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.app-soft-auth-tabs {
    display: inline-flex;
    gap: 0.5rem;
    padding: 0.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 1rem;
}

.app-soft-auth-tab {
    border: 0;
    border-radius: 999px;
    padding: 0.72rem 1rem;
    background: transparent;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 700;
}

.app-soft-auth-tab.is-active {
    background: linear-gradient(135deg, #0f63ff 0%, #1d7aff 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(15, 99, 255, 0.24);
}

.app-soft-auth-tab-panel {
    display: none;
}

.app-soft-auth-tab-panel.is-active {
    display: block;
}

body.is-mobile-app-context .app-soft-auth-overlay {
    align-items: flex-end;
    justify-content: center;
    padding: 0 10px calc(env(safe-area-inset-bottom, 0px) + 10px);
}

body.is-mobile-app-context .app-soft-auth-backdrop {
    background: rgba(7, 13, 25, 0.18);
    backdrop-filter: blur(2px);
}

body.is-mobile-app-context .app-soft-auth-modal {
    width: min(100%, 460px);
    max-width: 100%;
    max-height: min(78dvh, 720px);
    padding: 0.95rem 0.95rem calc(0.95rem + env(safe-area-inset-bottom));
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
    overflow-y: auto;
}

body.is-mobile-app-context .app-soft-auth-head {
    margin-bottom: 0.85rem;
}

body.is-mobile-app-context .app-soft-auth-head h2 {
    font-size: clamp(1.35rem, 6vw, 1.8rem);
    line-height: 1.04;
}

body.is-mobile-app-context .app-soft-auth-head p,
body.is-mobile-app-context .app-soft-auth-choice-card span:last-child,
body.is-mobile-app-context .app-soft-auth-guest-card p {
    font-size: 0.88rem;
    line-height: 1.5;
}

body.is-mobile-app-context .app-soft-auth-dismiss {
    width: 42px;
    height: 42px;
    border-radius: 14px;
}

body.is-mobile-app-context .app-soft-auth-choice-card,
body.is-mobile-app-context .app-soft-auth-guest-card {
    border-radius: 24px;
}

body.is-mobile-app-context .app-soft-auth-choice-card {
    min-height: 0;
    padding: 0.98rem 1rem;
    gap: 0.2rem 0.72rem;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
}

body.is-mobile-app-context .app-soft-auth-choice-card strong,
body.is-mobile-app-context .app-soft-auth-guest-card h3 {
    font-size: 1.02rem;
}

body.is-mobile-app-context .app-soft-auth-choice-card strong,
body.is-mobile-app-context .app-soft-auth-choice-card span:last-child {
    grid-column: 2;
}

body.is-mobile-app-context .app-soft-auth-choice-card .app-soft-auth-choice-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
}

body.is-mobile-app-context .app-soft-auth-choice-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    font-size: 1.18rem;
}

body.is-mobile-app-context .app-soft-auth-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
}

body.is-mobile-app-context .app-soft-auth-tab {
    width: 100%;
    min-height: 46px;
    font-size: 0.9rem;
}

body.is-mobile-app-context .app-soft-auth-form .form-control {
    min-height: 52px;
}

body.is-mobile-app-context .app-soft-auth-head p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.is-mobile-app-context .app-soft-auth-choice-card span:last-child,
body.is-mobile-app-context .app-soft-auth-guest-card p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.is-mobile-app-context .app-soft-auth-actions,
body.is-mobile-app-context .app-soft-auth-guest-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.65rem;
}

body.is-mobile-app-context .app-soft-auth-actions .btn,
body.is-mobile-app-context .app-soft-auth-guest-actions .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 16px;
    font-weight: 800;
}

.app-soft-auth-form label span {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.78);
}

.app-soft-auth-form .form-control {
    min-height: 56px;
    margin-bottom: 0.9rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.app-soft-auth-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.42);
}

.app-soft-auth-register-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.app-quick-register-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 13, 25, 0.72);
    backdrop-filter: blur(6px);
}

.app-quick-register-modal {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    padding: 1.4rem;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(9, 18, 34, 0.98), rgba(12, 24, 42, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.34);
    color: #fff;
}

.app-quick-register-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.app-quick-register-head h2 {
    margin: 0.2rem 0 0.45rem;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.04em;
}

.app-quick-register-head p {
    margin: 0;
    max-width: 50ch;
    color: rgba(255, 255, 255, 0.74);
}

.app-quick-register-dismiss {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.app-quick-register-alert {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(255, 92, 92, 0.12);
    border: 1px solid rgba(255, 92, 92, 0.2);
    color: #ffd2d2;
}

.app-quick-register-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.app-quick-register-grid label span {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.78);
}

.app-quick-register-grid .form-control {
    min-height: 56px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.app-quick-register-grid .form-control::placeholder {
    color: rgba(255, 255, 255, 0.42);
}

.app-quick-register-actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.2rem;
}

.mm-guest-valuation-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding: 1rem 1.2rem;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(14, 96, 255, 0.08), rgba(9, 20, 40, 0.04));
    border: 1px solid rgba(14, 96, 255, 0.12);
}

.mm-guest-valuation-banner strong {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 1.15rem;
}

.mm-guest-valuation-banner p {
    margin: 0;
    color: var(--text-muted);
}

.mm-guest-valuation-actions {
    display: flex;
    gap: 0.75rem;
}

@media (max-width: 1199.98px) {
    .app-shell-nav-panel {
        padding-inline: 0.7rem;
    }

    .app-shell-nav-icon-link {
        min-width: 78px;
    }

    .app-shell-nav-icon-link span {
        font-size: 0.88rem;
    }

    .app-shell-user-chip {
        min-width: 180px;
    }
}

@media (max-width: 991.98px) {
    .app-shell-navbar-wrap {
        min-height: 82px;
    }

    .app-quick-register-modal {
        border-radius: 24px;
        padding: 1.1rem;
    }

    .app-soft-auth-modal {
        border-radius: 24px;
        padding: 1.1rem;
    }

    .app-quick-register-grid {
        grid-template-columns: 1fr;
    }

    .app-soft-auth-choice-grid,
    .app-soft-auth-register-grid {
        grid-template-columns: 1fr;
    }

    .app-quick-register-actions,
    .app-soft-auth-actions,
    .app-soft-auth-guest-actions,
    .mm-guest-valuation-banner,
    .mm-guest-valuation-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .app-quick-register-actions .btn,
    .app-soft-auth-actions .btn,
    .app-soft-auth-guest-actions .btn,
    .mm-guest-valuation-actions .btn {
        width: 100%;
    }
}

.app-flash-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 10, 20, 0.74);
    backdrop-filter: blur(8px);
}

.app-flash-modal {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: min(88vh, 920px);
    overflow: auto;
    border-radius: 1.75rem;
    padding: 1.35rem;
    background:
        linear-gradient(180deg, rgba(6, 12, 24, 0.98) 0%, rgba(10, 19, 35, 0.96) 100%);
    border: 1px solid rgba(96, 165, 250, 0.16);
    box-shadow: 0 40px 90px rgba(0, 0, 0, 0.46);
}

.app-flash-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.app-flash-modal-title {
    margin: 0.25rem 0 0;
    color: #f8fafc;
    font-size: clamp(1.4rem, 2vw, 1.95rem);
    font-weight: 900;
    letter-spacing: -0.03em;
}

.app-runtime-notice-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.app-runtime-notice-read-all {
    min-height: 48px;
    padding: 0.85rem 1.15rem;
    border: 1px solid rgba(96, 165, 250, 0.28);
    border-radius: 999px;
    background: linear-gradient(135deg, #0f63ff 0%, #1d7aff 100%);
    color: #f8fafc;
    font-size: 0.95rem;
    font-weight: 800;
    box-shadow: 0 16px 32px rgba(15, 99, 255, 0.24);
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.app-runtime-notice-read-all:hover,
.app-runtime-notice-read-all:focus {
    transform: translateY(-1px);
    box-shadow: 0 20px 36px rgba(15, 99, 255, 0.28);
}

.app-runtime-notice-read-all:disabled {
    opacity: 0.62;
    cursor: wait;
    transform: none;
    box-shadow: 0 12px 24px rgba(15, 99, 255, 0.18);
}

.app-flash-stack {
    display: grid;
    gap: 0.9rem;
}

.app-flash-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.05rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(148, 163, 184, 0.14);
    background: rgba(255, 255, 255, 0.04);
    color: #e2e8f0;
}

.app-flash-card-success {
    border-color: rgba(74, 222, 128, 0.22);
    background: linear-gradient(180deg, rgba(11, 30, 22, 0.96), rgba(9, 24, 19, 0.94));
}

.app-flash-card-warning {
    border-color: rgba(251, 191, 36, 0.26);
    background: linear-gradient(180deg, rgba(40, 24, 7, 0.96), rgba(29, 17, 6, 0.94));
}

.app-flash-card-danger {
    border-color: rgba(248, 113, 113, 0.24);
    background: linear-gradient(180deg, rgba(42, 12, 18, 0.96), rgba(27, 8, 12, 0.94));
}

.app-flash-card-info,
.app-flash-card-primary {
    border-color: rgba(96, 165, 250, 0.24);
    background: linear-gradient(180deg, rgba(10, 20, 39, 0.96), rgba(6, 14, 30, 0.94));
}

.app-flash-card-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    background: rgba(255, 255, 255, 0.08);
    color: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.app-flash-card-label {
    margin-bottom: 0.3rem;
    color: rgba(191, 219, 254, 0.82);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.app-flash-card-message {
    color: #f8fafc;
    font-size: 1rem;
    line-height: 1.65;
}

.app-flash-card-message a {
    color: #93c5fd;
}

.app-flash-close {
    align-self: stretch;
    min-width: 108px;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.04);
    color: #f8fafc;
    font-size: 0.95rem;
    font-weight: 800;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.app-flash-close:hover,
.app-flash-close:focus {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.24);
    transform: translateY(-1px);
}

.catalog-import-loading {
    position: fixed;
    inset: 0;
    z-index: 2500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(8, 15, 28, 0.56);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.catalog-import-loading.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.catalog-import-loading-active {
    overflow: hidden;
}

.catalog-import-loading-card {
    width: min(560px, 100%);
    padding: 1.5rem;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.catalog-import-loading-card .progress {
    height: 0.9rem;
    background: rgba(15, 23, 42, 0.08);
}

.catalog-import-loading-card .progress-bar {
    background: linear-gradient(90deg, #0d6efd 0%, #4f8dfc 100%);
}

.catalog-import-inline-loading {
    display: none;
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border-radius: 1.1rem;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(17, 24, 39, 0.95) 100%);
    border: 1px solid rgba(59, 130, 246, 0.18);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.16);
    color: #e5e7eb;
}

.catalog-import-inline-loading.is-visible {
    display: block;
}

.catalog-import-inline-loading .progress {
    height: 0.8rem;
    background: rgba(255, 255, 255, 0.08);
}

.catalog-import-inline-loading .progress-bar {
    background: linear-gradient(90deg, #2563eb 0%, #60a5fa 100%);
}

.catalog-import-inline-loading .fw-semibold {
    color: #f8fafc;
}

.catalog-import-inline-loading .text-muted {
    color: rgba(226, 232, 240, 0.78) !important;
}

.catalog-import-inline-loading::before {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    margin-bottom: 0.9rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.12), rgba(96, 165, 250, 0.7), rgba(37, 99, 235, 0.12));
}

.catalog-import-action-group .btn {
    border-radius: 999px;
    padding-inline: 1.15rem;
}

.catalog-import-action-group .btn-outline-secondary {
    border-color: rgba(15, 23, 42, 0.16);
}

.catalog-import-action-group .btn-outline-danger,
.catalog-import-action-group .btn-outline-success,
.catalog-import-action-group .btn-outline-primary {
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.admin-models-page .model-row.is-trashed {
    background: rgba(245, 158, 11, 0.06);
}

.admin-models-page .model-row.is-trashed .model-title {
    color: #7c2d12;
}

.navbar .container-lg {
    min-height: 5.4rem;
}

.navbar-brand {
    font-size: 1.5rem;
    letter-spacing: 0.5px;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    flex: 0 0 auto;
    min-width: 0;
    max-width: 320px;
    text-decoration: none;
}

.site-brand-mark {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.site-brand-logo {
    max-width: 42px;
    object-fit: contain;
}

.site-brand-wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 0.15rem;
    flex-wrap: nowrap;
    min-width: 0;
    font-size: clamp(1.7rem, 2vw, 2rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.site-brand-wordmark span {
    white-space: nowrap;
}

.site-brand-wordmark-main {
    color: #ffffff;
}

.site-brand-wordmark-accent {
    color: #0f63ff;
}

.app-mobile-menu-toggle {
    border-radius: 0.95rem;
    border-color: rgba(255, 255, 255, 0.16);
    padding: 0.55rem 0.75rem;
}

.app-mobile-drawer {
    background:
        radial-gradient(circle at top right, rgba(13, 110, 253, 0.24), transparent 28%),
        linear-gradient(180deg, #0f1720 0%, #131d28 100%);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    width: min(100vw, 430px);
    max-width: 100vw;
}

.app-mobile-drawer .offcanvas-header {
    padding: 1rem 1rem 0.9rem;
}

.app-mobile-drawer .offcanvas-body {
    padding: 0.9rem 1rem calc(1.25rem + env(safe-area-inset-bottom));
}

.app-mobile-profile-panel {
    text-align: center;
    padding: 0.2rem 0 0.75rem;
}

.app-mobile-avatar {
    width: 88px;
    height: 88px;
    margin: 0 auto 0.85rem;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.95), rgba(59, 130, 246, 0.72));
    color: #fff;
    font-size: 1.65rem;
    font-weight: 700;
    border: 3px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}

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

.app-mobile-stat-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.app-mobile-stat-card {
    padding: 0.9rem 0.75rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.app-mobile-stat-card strong {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    color: #fff;
}

.app-mobile-stat-card span {
    display: block;
    margin-top: 0.35rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.app-mobile-quick-actions {
    display: grid;
    gap: 0.65rem;
}

.app-mobile-quick-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.app-mobile-shortcut-tile {
    min-height: 64px;
    padding: 0.7rem 0.55rem;
    border-radius: 1rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    text-decoration: none;
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.app-mobile-shortcut-tile i {
    color: #93c5fd;
    font-size: 1.05rem;
}

.app-mobile-shortcut-tile span {
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: left;
}

.pagination {
    row-gap: 0.4rem;
}

.pagination .page-link {
    border-radius: 0.8rem;
    min-width: 2.6rem;
    text-align: center;
}

.app-mobile-drawer-section {
    margin-top: 1rem;
}

.app-mobile-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.8rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.app-mobile-nav-list,
.app-mobile-maintenance-list {
    display: grid;
    gap: 0.7rem;
}

.app-mobile-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.app-mobile-nav-link,
.app-mobile-maintenance-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    text-decoration: none;
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.app-mobile-nav-grid .app-mobile-nav-link {
    min-height: 58px;
    padding: 0.7rem 0.72rem;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.46rem;
}

.app-mobile-nav-link:hover,
.app-mobile-maintenance-item:hover {
    color: #fff;
    transform: translateX(-2px);
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.14);
}

.app-mobile-nav-link i,
.app-mobile-maintenance-item i {
    color: #93c5fd;
    font-size: 1.05rem;
}

.app-mobile-nav-link span {
    font-weight: 600;
}

.app-mobile-nav-grid .app-mobile-nav-link span {
    font-size: 0.78rem;
    line-height: 1.15;
}

.app-mobile-nav-label {
    flex: 1 1 auto;
    min-width: 0;
}

.app-mobile-nav-link .badge {
    flex: 0 0 auto;
}

.app-mobile-maintenance-item {
    justify-content: space-between;
}

.app-mobile-maintenance-item strong,
.app-mobile-maintenance-item small {
    display: block;
}

.app-mobile-maintenance-item small {
    margin-top: 0.15rem;
    color: rgba(255, 255, 255, 0.66);
}

.app-mobile-drawer-footer {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.app-mobile-bottom-nav {
    position: fixed;
    left: 0.85rem;
    right: 0.85rem;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 0.7rem);
    z-index: 1040;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.18rem;
    padding: 0.36rem;
    border-radius: 1.15rem;
    background: rgba(15, 23, 32, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 40px rgba(15, 23, 32, 0.34);
    backdrop-filter: blur(14px);
    transition: transform 0.24s ease, opacity 0.24s ease;
}

.app-mobile-bottom-shell {
    position: relative;
    z-index: 1040;
}

.app-mobile-bottom-toggle {
    position: fixed;
    right: calc(env(safe-area-inset-right, 0px) + 0.85rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 4.95rem);
    z-index: 1041;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(15, 23, 32, 0.96);
    color: #ffffff;
    box-shadow: 0 18px 32px rgba(15, 23, 32, 0.28);
    font-size: 0.78rem;
    font-weight: 700;
}

.app-mobile-bottom-toggle i {
    font-size: 0.95rem;
}

body.app-mobile-nav-collapsed .app-mobile-bottom-nav {
    transform: translateY(calc(100% + 3rem));
    opacity: 0;
    pointer-events: none;
}

body.app-mobile-nav-collapsed .app-mobile-bottom-toggle {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 1rem);
}

.app-mobile-bottom-shell-model .app-mobile-bottom-toggle {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8.2rem);
}

body.app-mobile-nav-collapsed .app-mobile-bottom-shell-model .app-mobile-bottom-toggle {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 1rem);
}

.app-mobile-bottom-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-height: 52px;
    padding: 0.38rem 0.18rem;
    border-radius: 0.85rem;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.app-mobile-bottom-link i {
    font-size: 1.05rem;
}

.app-mobile-bottom-link span {
    max-width: 100%;
    font-size: 0.61rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-mobile-bottom-link.is-active {
    background: rgba(59, 130, 246, 0.18);
    color: #ffffff;
}

.app-mobile-bottom-link-primary {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    color: #ffffff;
    transform: translateY(-0.28rem);
    box-shadow: 0 12px 22px rgba(22, 163, 74, 0.22);
}

.app-mobile-bottom-nav-model {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.28rem;
    padding: 0.38rem;
}

.app-mobile-bottom-nav-model .app-mobile-bottom-link {
    min-height: 47px;
    flex-direction: row;
    gap: 0.34rem;
    padding: 0.38rem 0.42rem;
}

.app-mobile-bottom-nav-model .app-mobile-bottom-link i {
    font-size: 0.98rem;
}

.app-mobile-bottom-nav-model .app-mobile-bottom-link span {
    font-size: 0.68rem;
}

.app-mobile-bottom-link:active {
    transform: translateY(1px);
}

.app-mobile-bottom-button {
    appearance: none;
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.72);
    font: inherit;
}

.app-mobile-bottom-button:hover,
.app-mobile-bottom-button:focus,
.app-mobile-bottom-button:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    outline: none;
}

.bike-photo-picker-card {
    border: 1px solid rgba(251, 191, 36, 0.28);
    border-radius: 1.2rem;
    background: #fff9db;
}

.bike-photo-picker-status {
    color: #64748b;
    font-size: 0.92rem;
    font-weight: 600;
}

.bike-photo-picker-trigger {
    min-width: 220px;
    font-weight: 700;
}

.bike-create-page h1 {
    line-height: 1.08;
}

.bike-create-selector {
    display: grid;
    gap: 0.85rem;
    padding: 0.95rem;
    border: 1px solid rgba(37, 99, 235, 0.13);
    border-radius: 1rem;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.bike-create-step {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.bike-create-step > span {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #1d4ed8;
    color: #ffffff;
    font-weight: 800;
}

.bike-create-step .form-label {
    margin-bottom: 0.35rem;
    font-weight: 800;
}

.maintenance-card-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.maintenance-inline-photo {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    text-decoration: none;
    color: inherit;
    padding: 0.7rem;
    border-radius: 0.9rem;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.maintenance-inline-photo img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 0.9rem;
    flex: 0 0 auto;
}

.maintenance-inline-photo span {
    font-weight: 600;
    color: #334155;
}

.maintenance-photo-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.maintenance-photo-thumb-link {
    display: block;
}

.maintenance-photo-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 8px 18px rgba(15, 23, 32, 0.08);
}

.maintenance-side-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.maintenance-empty-state {
    text-align: center;
    padding: 1rem 0.25rem;
    color: #64748b;
}

.maintenance-empty-state i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 0.75rem;
    border-radius: 50%;
    background: #f8fafc;
    color: #f59e0b;
    font-size: 1.4rem;
}

.maintenance-gallery-card img {
    transition: transform 0.2s ease;
}

.maintenance-gallery-link:hover img {
    transform: scale(1.02);
}

.card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1) !important;
}

.feature-card,
.brand-showcase-card {
    border-radius: 1.25rem;
}

.brand-family-card {
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.brand-browser-shell {
    position: relative;
    z-index: 20;
    overflow: visible;
    isolation: isolate;
    border-radius: 1.75rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(247, 250, 252, 0.985));
}

.brand-browser-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.25rem;
}

.brand-browser-head {
    flex: 1 1 auto;
    min-width: 0;
}

.brand-browser-title-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.brand-browser-title {
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 0.98;
}

.brand-browser-logo-wrap {
    width: 74px;
    height: 74px;
    border-radius: 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 245, 249, 0.96));
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.brand-browser-logo-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.brand-browser-logo-fallback {
    font-size: 1.4rem;
    font-weight: 800;
    color: #1d4ed8;
}

.brand-browser-description {
    max-width: 78rem;
    font-size: 1rem;
    line-height: 1.6;
}

.brand-browser-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    flex: 0 0 auto;
}

.brand-browser-actions .btn {
    border-radius: 999px;
    padding-inline: 1rem;
    font-weight: 700;
}

.brand-browser-admin-action {
    min-width: 96px;
}

.brand-browser-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}

.brand-browser-stat {
    display: inline-flex;
    align-items: baseline;
    gap: 0.45rem;
    padding: 0.6rem 0.9rem;
    border-radius: 999px;
    background: rgba(241, 245, 249, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: #475569;
}

.brand-browser-stat strong {
    font-size: 1rem;
    color: #0f172a;
}

.brand-browser-stat small {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.brand-browser-social {
    margin-top: 1rem;
}

.brand-browser-form {
    position: relative;
    z-index: 25;
    margin-top: 1.15rem;
}

.brand-browser-search-row {
    position: relative;
    z-index: 30;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 0.75rem;
    align-items: center;
}

.brand-browser-search-input .form-control {
    min-height: 58px;
    border-radius: 1.15rem;
    padding-inline: 1.15rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.brand-browser-search-input {
    position: relative;
}

.brand-browser-search-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    z-index: 200;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16);
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.brand-browser-search-result {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    padding: 0.85rem 1rem;
    color: inherit;
    text-decoration: none;
}

.brand-browser-search-result:hover {
    background: #f8fafc;
    color: inherit;
}

.brand-browser-search-result.is-active {
    background: #eff6ff;
}

.brand-browser-search-thumb {
    width: 56px;
    height: 56px;
    border-radius: 0.9rem;
    background: #eef2f7;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.brand-browser-search-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-browser-search-meta {
    min-width: 0;
}

.brand-browser-search-title {
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-browser-search-title mark,
.brand-browser-search-subtitle mark {
    padding: 0;
    background: rgba(59, 130, 246, 0.18);
    color: inherit;
    border-radius: 0.3rem;
}

.brand-browser-search-subtitle {
    font-size: 0.92rem;
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.brand-browser-search-btn,
.brand-browser-filter-btn,
.brand-browser-reset-btn {
    min-height: 58px;
    border-radius: 1.15rem;
    padding-inline: 1rem;
    font-weight: 700;
}

.brand-browser-filters {
    margin-top: 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 1.35rem;
    background: rgba(248, 250, 252, 0.88);
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.brand-family-cover-link {
    display: block;
}

.brand-family-cover {
    position: relative;
    height: 330px;
    padding: 0;
    background: linear-gradient(180deg, var(--brand-card-fallback-start, #0f172a) 0%, var(--brand-card-fallback-end, #1d4ed8) 100%);
}

.brand-family-cover-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.12) 0%, rgba(15, 23, 42, 0.22) 40%, rgba(15, 23, 42, 0.72) 100%);
    pointer-events: none;
}

.brand-family-cover-content {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 1rem 1rem 1.15rem;
    color: #ffffff;
}

.brand-family-cover-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
}

.brand-family-cover-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.58rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.brand-family-cover-title {
    color: #ffffff;
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    line-height: 1.02;
    text-shadow: 0 8px 24px rgba(15, 23, 42, 0.35);
}

.brand-family-cover-subtitle {
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.45;
    font-size: 0.95rem;
}

.brand-family-cover-rating {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 0.35rem 0.55rem;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-top: 0.6rem;
    padding: 0.5rem 0.68rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.2);
    backdrop-filter: blur(12px);
}

.brand-family-cover-rating .brand-family-rating-stars {
    font-size: 0.9rem;
}

.brand-family-cover-rating .brand-family-rating-value {
    color: #ffffff;
    font-size: 0.92rem;
}

.brand-family-cover-rating .brand-family-rating-count {
    min-width: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.76rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brand-family-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
    backdrop-filter: blur(8px);
}

.brand-family-description {
    min-height: 2.8rem;
}

.brand-family-rating-row {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 0.75rem;
    border-radius: 1rem;
    background: rgba(239, 246, 255, 0.85);
    border: 1px solid rgba(147, 197, 253, 0.2);
}

.brand-family-rating-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    color: #f59e0b;
    font-size: 0.95rem;
}

.brand-family-rating-meta {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.brand-family-rating-value {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.brand-family-rating-count {
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.3;
}

.model-rating-stars-button {
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    transition: transform 0.18s ease, opacity 0.18s ease;
}

.model-rating-stars-button:hover,
.model-rating-stars-button:focus {
    transform: translateY(-1px);
    opacity: 1;
}

.model-rating-stars-button:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.4);
    outline-offset: 4px;
    border-radius: 999px;
}

.model-rating-stars.is-hover-preview i,
.model-rating-stars-button:hover i {
    color: #f59e0b;
}

.model-vote-modal {
    border: 0;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.2);
}

.model-vote-modal-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.68rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.55rem;
}

.model-vote-modal-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    color: #f59e0b;
    font-size: 1.35rem;
    margin-bottom: 0.9rem;
}

.model-vote-modal-copy {
    color: #1e293b;
    font-size: 1.02rem;
    line-height: 1.7;
}

.model-vote-modal-copy strong {
    color: #0f172a;
}

.model-vote-modal .modal-footer .btn {
    min-width: 144px;
}

.brand-family-selector {
    padding: 0.9rem;
    border-radius: 1rem;
    background: rgba(241, 245, 249, 0.85);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.brand-family-selector-label {
    margin-bottom: 0.7rem;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.brand-family-variant-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.brand-family-variant-pill {
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: #ffffff;
    color: #334155;
    border-radius: 999px;
    padding: 0.45rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.brand-family-variant-pill:hover {
    transform: translateY(-1px);
    border-color: rgba(59, 130, 246, 0.32);
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.08);
}

.brand-family-variant-pill.is-active {
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 12px 22px rgba(37, 99, 235, 0.24);
}

.brand-family-variant-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
}

.brand-family-variant-text-link {
    color: #475569;
    font-size: 0.76rem;
    line-height: 1.35;
    text-decoration: none;
}

.brand-family-variant-text-link:hover {
    color: #0f172a;
    text-decoration: underline;
}

.brand-logo-frame {
    height: 170px;
    padding: 1rem;
    background: #f8fafc;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.brand-logo-frame-placeholder {
    color: #94a3b8;
}

.brand-logo-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.brand-family-card .brand-logo-frame {
    align-items: stretch;
    justify-content: stretch;
}

.brand-family-card .brand-logo-image {
    object-fit: cover;
}

.brand-family-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.brand-family-actions .btn {
    min-height: 46px;
    padding-inline: 0.55rem;
    border-radius: 1rem;
    font-size: 0.9rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.brand-family-actions .btn-success {
    background: linear-gradient(135deg, #166534 0%, #22c55e 100%);
    border-color: transparent;
    box-shadow: 0 12px 24px rgba(34, 197, 94, 0.22);
}

.brand-family-actions .btn-success:hover,
.brand-family-actions .btn-success:focus {
    background: linear-gradient(135deg, #14532d 0%, #16a34a 100%);
}

.social-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.social-link-list.is-compact {
    gap: 0.45rem;
}

.social-link-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    max-width: 100%;
    padding: 0.48rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: #ffffff;
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.social-link-list.is-compact .social-link-chip {
    padding: 0.36rem 0.62rem;
    font-size: 0.8rem;
}

.social-link-chip:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    color: #0f172a;
}

.social-link-chip-emoji {
    font-size: 1rem;
    line-height: 1;
    flex: 0 0 auto;
}

.social-link-chip-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.social-link-chip-more {
    cursor: default;
    background: #f8fafc;
    color: #475569;
}

.brand-header-socials {
    align-items: center;
}

.brand-header-socials .social-link-chip {
    background: #f8fafc;
}

.social-link-form-card {
    padding: 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
}

.social-link-pending {
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    padding-top: 1.1rem;
}

.social-link-pending-list {
    display: grid;
    gap: 0.85rem;
}

.social-link-pending-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: rgba(248, 250, 252, 0.88);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.feature-icon {
    font-size: 3rem;
}

.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.02);
}

.section-heading {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.section-kicker,
.home-eyebrow {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.78rem;
    font-weight: 700;
}

.section-kicker {
    color: #0d6efd;
    margin-bottom: 0.75rem;
}

.home-hero {
    padding-top: 0;
}

.home-page {
    display: grid;
    gap: 2rem;
}

.home-section {
    padding: 0;
}

.home-section-final {
    padding-bottom: 0.5rem;
}

.home-hero-panel {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    min-height: 600px;
    background: linear-gradient(180deg, rgba(3, 9, 20, 0.98), rgba(7, 17, 31, 0.96));
    color: #fff;
    box-shadow: 0 30px 80px rgba(3, 10, 24, 0.28);
}

.home-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1720px;
    margin: 0 auto;
    padding: 2.5rem 24px 1.25rem;
}

.home-services-section .container-lg,
.home-section .container-lg {
    max-width: 1720px;
    padding-inline: 24px;
}

.home-hero-media,
.home-hero-media::after {
    position: absolute;
    inset: 0;
}

.home-hero-media::after {
    content: "";
    background:
        linear-gradient(90deg, rgba(3, 9, 20, 0.92) 0%, rgba(3, 9, 20, 0.82) 30%, rgba(3, 9, 20, 0.28) 56%, rgba(3, 9, 20, 0.64) 100%),
        linear-gradient(180deg, rgba(3, 9, 20, 0.18), rgba(3, 9, 20, 0.08));
}

.home-hero-background {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.94;
}

.home-hero-grid {
    display: grid;
    grid-template-columns: minmax(420px, 620px);
    gap: 0;
    align-items: center;
}

.home-hero-copy {
    max-width: 620px;
}

.home-eyebrow {
    color: #8ab5ff;
    margin-bottom: 1rem;
}

.home-title {
    margin: 0;
    font-size: clamp(3.4rem, 6vw, 5.6rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.04em;
}

.home-title span {
    color: #0f63ff;
}

.home-lead {
    margin: 1.3rem 0 0;
    max-width: 31rem;
    font-size: 1.02rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.76);
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.9rem;
}

.home-hero-button {
    min-height: 58px;
    padding-inline: 1.15rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    font-weight: 800;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.18);
}

.home-hero-button.btn-outline-light {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.03);
}

.home-hero-button.btn-outline-light:hover,
.home-hero-button.btn-outline-light:focus {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.56);
    background: rgba(255, 255, 255, 0.08);
}

.home-hero-brands {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    margin-top: 1.4rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.home-hero-brand-chip {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.home-hero-brand-chip:hover,
.home-hero-brand-chip:focus {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.16);
}

.home-hero-brand-chip img {
    max-width: 100%;
    max-height: 24px;
    object-fit: contain;
    filter: grayscale(1) brightness(1.7);
    opacity: 0.92;
}

.home-hero-brand-chip span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.82rem;
    font-weight: 800;
    text-align: center;
}

.home-services-section {
    margin-top: -0.15rem;
}

.home-service-grid,
.home-core-grid,
.home-promo-grid {
    display: grid;
    gap: 1.35rem;
}

.home-service-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.home-core-grid,
.home-promo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-service-card,
.home-core-card,
.home-final-cta {
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 251, 255, 0.98));
    box-shadow: var(--shadow-soft);
}

.brand-catalog-page {
    display: grid;
    gap: 1.75rem;
    margin-top: -3rem;
}

.brand-catalog-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%);
}

.brand-model-page {
    display: grid;
    gap: 1.35rem;
    margin-top: -3rem;
}

.brand-model-results-shell {
    width: 100%;
    max-width: 1720px;
    margin: 0 auto;
    padding-inline: 24px;
}

.brand-model-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(var(--brand-hero-accent-rgb, 15, 99, 255), 0.12), transparent 34%),
        linear-gradient(180deg, rgba(238, 243, 251, 0.9) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.brand-model-hero .brand-catalog-hero-media::after {
    background:
        linear-gradient(90deg, rgba(245, 247, 252, 0.9) 0%, rgba(255, 255, 255, 0.72) 32%, rgba(255, 255, 255, 0.76) 68%, rgba(var(--brand-hero-accent-rgb, 15, 99, 255), 0.16) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.36));
}

.brand-model-hero .home-eyebrow {
    color: var(--brand-hero-accent, #0f63ff);
}

.brand-model-hero-brandmark {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    margin: 1rem 0 0.55rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.16);
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.08);
    color: #0f172a;
    font-weight: 800;
}

.brand-model-hero-brandlogo {
    width: 48px;
    height: 48px;
    border-radius: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.92);
    overflow: hidden;
}

.brand-model-hero-brandlogo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.brand-model-hero-brandlogo i {
    color: var(--brand-hero-accent, #0f63ff);
    font-size: 1.2rem;
}

.brand-model-hero-copy {
    max-width: 860px;
}

.brand-model-hero-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.7rem;
    margin-top: 1.25rem;
}

.brand-model-search-panel {
    margin-top: 1.35rem;
}

.brand-model-search-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.brand-model-search-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 0.95rem;
}

.brand-catalog-hero-media,
.brand-catalog-hero-media::after {
    position: absolute;
    inset: 0;
}

.brand-catalog-hero-media::after {
    content: "";
    background:
        linear-gradient(90deg, rgba(238, 243, 251, 0.94) 0%, rgba(255, 255, 255, 0.74) 32%, rgba(255, 255, 255, 0.78) 68%, rgba(245, 247, 252, 0.92) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.4));
}

.brand-catalog-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.brand-catalog-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1720px;
    margin: 0 auto;
    padding: 1.2rem 24px 2rem;
}

.brand-catalog-hero-copy {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    padding: 1.9rem 0 0.4rem;
}

.brand-catalog-title {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2.6rem, 5vw, 4.35rem);
    line-height: 0.95;
    letter-spacing: -0.05em;
    font-weight: 900;
}

.brand-catalog-lead {
    margin: 1rem auto 0;
    max-width: 42rem;
    color: #475569;
    font-size: 1.03rem;
    line-height: 1.68;
}

.brand-catalog-hero-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1.6rem;
}

.brand-catalog-secondary-button {
    min-height: 58px;
    padding-inline: 1.15rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-weight: 800;
    border-color: rgba(15, 23, 42, 0.12);
    color: #0f172a;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.brand-catalog-secondary-button:hover,
.brand-catalog-secondary-button:focus {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(15, 23, 42, 0.18);
}

.brand-model-hero-action {
    min-height: 58px;
    padding-inline: 1.15rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-weight: 800;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: rgba(15, 23, 42, 0.82);
    color: #ffffff;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
}

.brand-model-hero-action i,
.brand-model-hero-action span {
    color: #ffffff;
}

.brand-model-hero-action:hover,
.brand-model-hero-action:focus {
    color: #ffffff;
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(15, 23, 42, 0.28);
}

.brand-model-search-action {
    border-color: rgba(15, 23, 42, 0.16);
    background: rgba(255, 255, 255, 0.96);
    color: #0f172a;
}

.brand-model-search-action i,
.brand-model-search-action span {
    color: inherit;
}

.brand-model-search-action:hover,
.brand-model-search-action:focus {
    color: #0f172a;
    background: #ffffff;
    border-color: rgba(37, 99, 235, 0.28);
}

.brand-catalog-search-panel {
    position: relative;
    z-index: 2;
    margin: 1.55rem auto 0;
    padding: 1rem;
    border-radius: 1.65rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(148, 163, 184, 0.14);
    box-shadow: 0 34px 70px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(18px);
}

.brand-catalog-search-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 0.85rem;
    align-items: end;
}

.brand-catalog-field {
    display: grid;
    gap: 0.45rem;
}

.brand-catalog-field span {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 700;
}

.brand-catalog-field .form-control,
.brand-catalog-field .form-select {
    min-height: 56px;
    border-radius: 1rem;
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: none;
}

.brand-catalog-search-button {
    min-height: 56px;
    padding-inline: 1.15rem;
    border-radius: 1rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.brand-catalog-popular-searches {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.95rem;
}

.brand-catalog-popular-searches span {
    color: #475569;
    font-size: 0.84rem;
    font-weight: 700;
}

.brand-catalog-pill {
    border: 0;
    border-radius: 999px;
    padding: 0.55rem 0.9rem;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 0.83rem;
    font-weight: 800;
    transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.brand-catalog-pill:hover,
.brand-catalog-pill:focus {
    transform: translateY(-1px);
    background: #e2e8f0;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

.brand-catalog-stats-shell {
    margin-top: -0.65rem;
}

.brand-catalog-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.brand-catalog-stat-card {
    display: flex;
    align-items: center;
    gap: 0.95rem;
    padding: 1.25rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.brand-catalog-stat-icon,
.brand-catalog-benefit-icon {
    width: 3.45rem;
    height: 3.45rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

.brand-catalog-stat-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.9rem;
    line-height: 1;
    letter-spacing: -0.03em;
}

.brand-catalog-stat-card span {
    display: block;
    margin-top: 0.3rem;
    color: #64748b;
    font-size: 0.9rem;
}

.brand-catalog-accent-blue .brand-catalog-stat-icon,
.brand-catalog-accent-blue .brand-catalog-benefit-icon {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}

.brand-catalog-accent-green .brand-catalog-stat-icon,
.brand-catalog-accent-green .brand-catalog-benefit-icon {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
}

.brand-catalog-accent-violet .brand-catalog-stat-icon,
.brand-catalog-accent-violet .brand-catalog-benefit-icon {
    background: rgba(139, 92, 246, 0.12);
    color: #7c3aed;
}

.brand-catalog-accent-gold .brand-catalog-stat-icon,
.brand-catalog-accent-gold .brand-catalog-benefit-icon {
    background: rgba(245, 158, 11, 0.12);
    color: #d97706;
}

.brand-catalog-accent-red .brand-catalog-benefit-icon {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

.brand-catalog-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.brand-catalog-section-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.7rem, 2.6vw, 2.3rem);
    letter-spacing: -0.04em;
}

.brand-catalog-section-head p {
    margin: 0.4rem 0 0;
    color: #64748b;
    max-width: 52rem;
}

.brand-catalog-listing-topbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.brand-catalog-listing-topbar h2 {
    margin: 0.35rem 0 0.45rem;
    color: #0f172a;
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
    font-weight: 900;
}

.brand-catalog-listing-topbar p {
    margin: 0;
    color: #64748b;
    max-width: 52rem;
    line-height: 1.65;
}

.brand-catalog-section-head-tight {
    margin-bottom: 1.1rem;
}

.brand-catalog-results-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: #334155;
    font-weight: 800;
}

.brand-catalog-empty {
    padding: 1.2rem 1.3rem;
    border-radius: 1.2rem;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.92);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
}

.brand-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.brand-catalog-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: 1.45rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 255, 0.98));
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.brand-catalog-card.is-collapsed,
.brand-catalog-card.is-filter-hidden {
    display: none;
}

.brand-catalog-card.is-admin-selected {
    outline: 3px solid rgba(37, 99, 235, 0.34);
}

.brand-catalog-card-topline {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 1rem 1rem 0;
}

.brand-catalog-card-brand {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

.brand-catalog-card-logo {
    width: 52px;
    height: 52px;
    border-radius: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem;
    background: #f8fafc;
    border: 1px solid rgba(226, 232, 240, 0.96);
    overflow: hidden;
    flex: 0 0 auto;
}

.brand-catalog-card-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.brand-catalog-card-logo i {
    color: #94a3b8;
    font-size: 1.35rem;
}

.brand-catalog-card-brand h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.14rem;
    line-height: 1.1;
}

.brand-catalog-card-brand p {
    margin: 0.24rem 0 0;
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.45;
}

.brand-catalog-card-badge {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 0.46rem 0.75rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 0.77rem;
    font-weight: 800;
}

.brand-catalog-card-media {
    height: 205px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.95rem 1rem 0.6rem;
    text-decoration: none;
}

.brand-catalog-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 18px 32px rgba(15, 23, 42, 0.14));
}

.brand-catalog-card-media-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1;
    font-size: 2rem;
}

.brand-catalog-card-body {
    display: grid;
    gap: 0.9rem;
    padding: 0 1rem 1rem;
    margin-top: auto;
}

.brand-catalog-card-description {
    margin: 0;
    color: #475569;
    font-size: 0.94rem;
    line-height: 1.65;
    min-height: 4.6rem;
}

.brand-catalog-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.brand-catalog-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.36rem;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(226, 232, 240, 0.92);
    color: #475569;
    font-size: 0.8rem;
    font-weight: 700;
}

.brand-catalog-card-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.brand-catalog-card-actions .btn {
    min-height: 44px;
    border-radius: 0.95rem;
    font-weight: 800;
}

.brand-catalog-card-muted {
    color: #94a3b8;
    font-size: 0.84rem;
    font-weight: 700;
}

.brand-catalog-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1.25rem;
}

.brand-catalog-more-button {
    min-height: 48px;
    padding-inline: 1.15rem;
    border-radius: 999px;
    border-color: rgba(37, 99, 235, 0.12);
    color: #2563eb;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.06);
}

.brand-catalog-popular-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 1fr);
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
    scrollbar-width: thin;
}

.brand-catalog-popular-card {
    position: relative;
    display: block;
    min-height: 170px;
    border-radius: 1.35rem;
    overflow: hidden;
    box-shadow: 0 20px 42px rgba(15, 23, 42, 0.12);
}

.brand-catalog-popular-card img,
.brand-catalog-popular-overlay {
    position: absolute;
    inset: 0;
}

.brand-catalog-popular-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-catalog-popular-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.1) 0%, rgba(15, 23, 42, 0.75) 100%);
}

.brand-catalog-popular-content {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 1;
    padding: 1rem;
    color: #ffffff;
}

.brand-catalog-popular-content strong,
.brand-catalog-popular-content span {
    display: block;
}

.brand-catalog-popular-content strong {
    font-size: 1.05rem;
}

.brand-catalog-popular-content span {
    margin-top: 0.25rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.86rem;
}

.brand-catalog-comparison {
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.45fr);
    gap: 1.35rem;
    padding: 1.35rem;
    border-radius: 1.7rem;
    background: linear-gradient(135deg, rgba(5, 16, 36, 0.98), rgba(18, 39, 82, 0.96));
    color: #ffffff;
    box-shadow: 0 34px 72px rgba(15, 23, 42, 0.2);
}

.brand-catalog-comparison-copy h2 {
    margin: 0.5rem 0 0;
    font-size: clamp(2rem, 3vw, 2.85rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.brand-catalog-comparison-copy p {
    margin: 1rem 0 0;
    color: rgba(226, 232, 240, 0.84);
    line-height: 1.68;
    max-width: 28rem;
}

.brand-catalog-comparison-copy .btn {
    margin-top: 1.2rem;
    min-height: 50px;
    border-radius: 1rem;
    font-weight: 800;
}

.brand-catalog-comparison-table-wrap {
    overflow: auto;
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.brand-catalog-comparison-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 520px;
}

.brand-catalog-comparison-table th,
.brand-catalog-comparison-table td {
    padding: 0.95rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    text-align: left;
}

.brand-catalog-comparison-table th {
    color: rgba(191, 219, 254, 0.86);
    font-size: 0.8rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.brand-catalog-comparison-table td {
    color: #f8fafc;
    font-weight: 600;
}

.brand-catalog-comparison-table tr:last-child td {
    border-bottom: 0;
}

.brand-catalog-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.brand-catalog-benefit-card {
    display: flex;
    align-items: start;
    gap: 0.95rem;
    padding: 1.15rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

.brand-catalog-benefit-card h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
}

.brand-catalog-benefit-card p {
    margin: 0.4rem 0 0;
    color: #64748b;
    line-height: 1.55;
    font-size: 0.9rem;
}

@media (max-width: 1199.98px) {
    .brand-model-search-grid,
    .brand-catalog-search-grid,
    .brand-catalog-stats-grid,
    .brand-catalog-grid,
    .brand-catalog-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brand-catalog-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brand-catalog-search-button {
        width: 100%;
        justify-content: center;
    }

    .brand-catalog-popular-grid {
        grid-auto-columns: minmax(220px, 280px);
    }

    .brand-catalog-comparison {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .brand-catalog-page {
        gap: 1rem;
        margin-top: -1.5rem;
    }

    .brand-model-page {
        gap: 1rem;
        margin-top: -1.5rem;
    }

    .brand-model-results-shell {
        padding-inline: 12px;
    }

    .brand-catalog-hero-inner {
        padding: 0.85rem 12px 1.25rem;
    }

    .brand-catalog-hero-copy {
        padding-top: 1rem;
    }

    .brand-catalog-title {
        font-size: clamp(2.2rem, 10vw, 3rem);
    }

    .brand-catalog-lead {
        font-size: 0.96rem;
    }

    .brand-catalog-hero-actions,
    .brand-model-search-grid,
    .brand-catalog-search-grid,
    .brand-catalog-stats-grid,
    .brand-catalog-grid,
    .brand-catalog-benefits {
        grid-template-columns: 1fr;
    }

    .brand-catalog-hero-actions {
        display: grid;
    }

    .brand-catalog-hero-actions .btn,
    .brand-catalog-secondary-button,
    .brand-catalog-search-button,
    .brand-catalog-card-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .brand-catalog-search-panel {
        margin-top: 1rem;
        padding: 0.9rem;
        border-radius: 1.25rem;
    }

    .brand-catalog-field .form-control,
    .brand-catalog-field .form-select,
    .brand-catalog-search-button {
        min-height: 52px;
    }

    .brand-catalog-stat-card strong {
        font-size: 1.6rem;
    }

    .brand-catalog-section-head {
        align-items: start;
        flex-direction: column;
    }

    .brand-catalog-listing-topbar {
        align-items: start;
        flex-direction: column;
    }

    .brand-catalog-card-topline,
    .brand-catalog-card-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .brand-catalog-card-media {
        height: 190px;
    }

    .brand-model-search-actions {
        flex-direction: column;
    }

    .brand-model-search-actions .btn,
    .brand-model-hero-brandmark {
        width: 100%;
    }

    .brand-model-hero-brandmark {
        justify-content: center;
    }

    .brand-catalog-card-description {
        min-height: 0;
    }

    .brand-catalog-comparison {
        padding: 1rem;
        border-radius: 1.3rem;
    }

    .brand-catalog-comparison-copy h2 {
        font-size: 2rem;
    }
}

.dashboard-home-page {
    display: grid;
    gap: 1.6rem;
}

.dashboard-home-hero {
    margin-top: -3rem;
    padding-top: 3rem;
    background:
        linear-gradient(180deg, rgba(6, 12, 24, 0.98), rgba(7, 17, 31, 0.96));
}

.dashboard-home-hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
    gap: 1.4rem;
    align-items: stretch;
    padding: 2rem 0 2rem;
}

.dashboard-home-hero-copy {
    padding: 2rem 2rem 2rem 0;
    color: #fff;
}

.dashboard-home-title {
    margin: 0;
    font-size: clamp(2.9rem, 5vw, 5rem);
    line-height: 0.95;
    letter-spacing: -0.04em;
    font-weight: 900;
}

.dashboard-home-title span {
    color: #0f63ff;
}

.dashboard-home-lead {
    max-width: 42rem;
    margin: 1.25rem 0 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.06rem;
    line-height: 1.7;
}

.dashboard-home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.8rem;
}

.dashboard-home-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-content: center;
}

.dashboard-home-hero-stat {
    display: grid;
    gap: 0.4rem;
    min-height: 164px;
    padding: 1.2rem;
    border-radius: 22px;
    text-decoration: none;
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.16);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.dashboard-home-hero-stat:hover,
.dashboard-home-hero-stat:focus {
    color: #fff;
    transform: translateY(-3px);
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
}

.dashboard-home-hero-stat-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    font-size: 1.35rem;
}

.dashboard-home-hero-stat strong {
    font-size: 2.05rem;
    line-height: 1;
}

.dashboard-home-hero-stat small {
    color: rgba(255, 255, 255, 0.74);
    font-weight: 700;
}

.dashboard-home-accent-blue .dashboard-home-hero-stat-icon {
    color: #0f63ff;
    background: rgba(15, 99, 255, 0.16);
}

.dashboard-home-accent-green .dashboard-home-hero-stat-icon {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.14);
}

.dashboard-home-accent-amber .dashboard-home-hero-stat-icon {
    color: #f59e0b;
    background: rgba(245, 158, 11, 0.14);
}

.dashboard-home-accent-violet .dashboard-home-hero-stat-icon {
    color: #8b5cf6;
    background: rgba(139, 92, 246, 0.14);
}

.home-service-card:hover,
.home-core-card:hover,
.home-promo-card:hover {
    color: inherit;
    transform: translateY(-3px);
}

.home-service-card,
.home-core-card {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    padding: 1.5rem;
    text-decoration: none;
    color: inherit;
}

.home-service-icon,
.home-core-step {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    font-weight: 900;
}

.home-service-card h2,
.home-core-card h3,
.home-section-header h2,
.home-final-copy h2 {
    color: #121826;
    letter-spacing: -0.03em;
}

.home-service-card h2 {
    margin: 1rem 0 0.75rem;
    font-size: 1.5rem;
    line-height: 1.15;
}

.home-service-card p,
.home-core-card p,
.home-final-copy p {
    color: var(--text-soft);
    line-height: 1.65;
}

.home-service-image {
    width: 100%;
    height: 118px;
    margin-top: 1rem;
    object-fit: cover;
    border-radius: 18px;
}

.home-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
    color: #0f63ff;
    text-decoration: none;
    font-weight: 800;
}

.home-inline-link:hover,
.home-inline-link:focus {
    color: #0b52d4;
}

.home-section-header {
    margin-bottom: 1.4rem;
}

.home-section-header h2 {
    margin-bottom: 0.7rem;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
}

.home-section-divider {
    width: 78px;
    height: 4px;
    margin: 0 auto;
    border-radius: 999px;
    background: linear-gradient(90deg, #0f63ff, #80a6ff);
}

.home-core-card {
    display: grid;
    align-content: start;
    text-decoration: none;
    color: inherit;
}

.home-core-card h3 {
    margin: 1rem 0 0.75rem;
    font-size: 1.95rem;
    line-height: 1.1;
}

.home-core-link {
    width: fit-content;
    margin-top: 0.4rem;
    border-radius: 14px;
    font-weight: 700;
}

.home-core-image {
    width: 100%;
    margin-top: 1.2rem;
    border-radius: 20px;
    object-fit: cover;
    background: #f8fafc;
}

.home-promo-card {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    border-radius: 26px;
    padding: 1.65rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 26px 60px rgba(15, 23, 42, 0.16);
}

.home-promo-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 78% 22%, rgba(255, 255, 255, 0.08), transparent 24%),
        radial-gradient(circle at 18% 88%, rgba(255, 255, 255, 0.05), transparent 28%),
        linear-gradient(180deg, rgba(4, 11, 24, 0.06), rgba(4, 11, 24, 0.22));
}

.home-promo-card::after {
    content: "";
    position: absolute;
    inset: auto -8% -28% 42%;
    height: 72%;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.03) 44%, transparent 72%);
    transform: rotate(-16deg);
    pointer-events: none;
}

.home-promo-copy {
    position: relative;
    z-index: 1;
    max-width: 32rem;
}

.home-promo-eyebrow {
    display: inline-block;
    margin-bottom: 0.85rem;
    font-size: 0.86rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.home-promo-card h3 {
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.home-promo-card p {
    max-width: 30rem;
    margin: 0.95rem 0 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.65;
}

.home-promo-link {
    width: fit-content;
    border-radius: 14px;
    font-weight: 800;
    pointer-events: none;
    color: #111827;
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.94);
}

.home-promo-card:hover .home-promo-link,
.home-promo-card:focus .home-promo-link,
.home-promo-card:focus-within .home-promo-link {
    color: #111827;
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.94);
}

.home-promo-emerald {
    background: linear-gradient(180deg, #052d31 0%, #072126 100%);
}

.home-promo-amber {
    background: linear-gradient(180deg, #3d220a 0%, #24140a 100%);
}

.home-promo-violet {
    background: linear-gradient(180deg, #201244 0%, #15102f 100%);
}

.home-promo-card:hover,
.home-promo-card:focus,
.home-promo-card:focus-within {
    color: #ffffff;
}

.home-promo-card:hover h3,
.home-promo-card:hover p,
.home-promo-card:hover .home-promo-eyebrow,
.home-promo-card:focus h3,
.home-promo-card:focus p,
.home-promo-card:focus .home-promo-eyebrow,
.home-promo-card:focus-within h3,
.home-promo-card:focus-within p,
.home-promo-card:focus-within .home-promo-eyebrow {
    color: inherit;
}

.home-final-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) minmax(260px, 320px);
    gap: 1.6rem;
    align-items: center;
    border-radius: 32px;
    padding: 2rem;
}

.home-final-copy h2 {
    margin: 0;
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    font-weight: 900;
}

.home-final-copy p {
    margin: 1rem 0 1.3rem;
    max-width: 40rem;
}

.home-final-copy .btn {
    border-radius: 16px;
    padding: 0.95rem 1.3rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.home-final-device {
    width: 100%;
    object-fit: contain;
}

.home-final-benefits {
    display: grid;
    gap: 1rem;
}

.home-final-benefit {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
}

.home-final-benefit i {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #0f63ff;
    font-size: 1.25rem;
}

.home-final-benefit strong,
.home-final-benefit span {
    display: block;
}

.home-final-benefit span {
    color: var(--text-soft);
    margin-top: 0.18rem;
}

.home-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.15rem;
    padding: 0 0.4rem;
    color: #48556b;
    font-weight: 700;
}

.home-trust-strip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-align: center;
}

.home-brand-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.4rem;
}

.home-brand-chip {
    min-height: 84px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.home-brand-chip img {
    max-width: 100%;
    max-height: 42px;
    object-fit: contain;
    filter: saturate(0) brightness(0.45);
}

.home-brand-chip span {
    color: #334155;
    font-weight: 800;
}

.home-accent-blue .home-service-icon,
.home-accent-blue .home-core-step {
    color: #0f63ff;
    background: rgba(15, 99, 255, 0.1);
}

.home-accent-green .home-service-icon,
.home-accent-green .home-core-step {
    color: #16a34a;
    background: rgba(22, 163, 74, 0.1);
}

.home-accent-orange .home-service-icon,
.home-accent-orange .home-core-step {
    color: #f97316;
    background: rgba(249, 115, 22, 0.12);
}

.home-accent-violet .home-service-icon,
.home-accent-violet .home-core-step {
    color: #7c3aed;
    background: rgba(124, 58, 237, 0.12);
}

.home-accent-gold .home-service-icon,
.home-accent-gold .home-core-step {
    color: #d97706;
    background: rgba(245, 158, 11, 0.12);
}

.home-accent-red .home-service-icon,
.home-accent-red .home-core-step {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

@media (max-width: 1199.98px) {
    .home-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-hero-copy {
        max-width: 700px;
    }

    .dashboard-home-hero-panel {
        grid-template-columns: 1fr;
    }

    .dashboard-home-hero-copy {
        padding-right: 0;
    }

    .home-hero-brands {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

    .home-core-grid,
    .home-promo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-final-cta {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    }

    .home-final-benefits {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-brand-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .home-service-grid,
    .home-core-grid,
    .home-promo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-home-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-final-cta {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    }

    .home-final-benefits {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-brand-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.dashboard-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.75rem;
    border-radius: 1.5rem;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 32, 0.08);
}

.dashboard-banner-enhanced {
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.13), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.dashboard-banner-dark {
    background:
        radial-gradient(circle at top right, rgba(15, 99, 255, 0.18), transparent 30%),
        linear-gradient(180deg, rgba(8, 14, 28, 0.98), rgba(10, 18, 32, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 52px rgba(3, 10, 24, 0.2);
}

.dashboard-banner-dark h1,
.dashboard-banner-dark h2,
.dashboard-banner-dark h3,
.dashboard-banner-dark .text-muted,
.dashboard-banner-dark p,
.dashboard-banner-dark label,
.dashboard-banner-dark small {
    color: #fff !important;
}

.dashboard-banner-dark .text-muted,
.dashboard-banner-dark p,
.dashboard-banner-dark small {
    opacity: 0.78;
}

.dashboard-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-stat-card {
    border-radius: 1rem;
    border: 1px solid #dbe3ef;
    background: #ffffff;
    padding: 1rem 1.1rem;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.dashboard-stat-card small {
    color: #64748b;
    font-weight: 600;
}

.dashboard-stat-card strong {
    font-size: 1.7rem;
    line-height: 1;
    color: #0f172a;
}

.dashboard-tabs {
    gap: 0.65rem;
}

.dashboard-tabs .nav-link {
    border-radius: 999px;
    border: 1px solid #d8e1ee;
    background: #ffffff;
    color: #334155;
    font-weight: 700;
    padding: 0.58rem 1rem;
}

.dashboard-tabs .nav-link.active {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #ffffff;
}

.dashboard-link-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-link-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    text-decoration: none;
    color: #0f172a;
    border: 1px solid #dbe3ef;
    border-radius: 1rem;
    padding: 0.95rem 1rem;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dashboard-link-card:hover {
    color: #0f172a;
    transform: translateY(-2px);
    border-color: rgba(37, 99, 235, 0.34);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

.dashboard-link-card i {
    width: 2.2rem;
    height: 2.2rem;
    display: grid;
    place-items: center;
    border-radius: 0.75rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 1.15rem;
}

.dashboard-link-card strong {
    display: block;
    font-size: 0.98rem;
}

.dashboard-link-card small {
    display: block;
    color: #64748b;
    margin-top: 0.2rem;
}

.android-app-promo {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.35rem;
    align-items: center;
    margin: 0 auto 1.75rem;
    padding: 1.2rem 1.35rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 1.5rem;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 255, 0.96) 48%, rgba(240, 253, 244, 0.92) 100%);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.1);
    overflow: hidden;
    position: relative;
}

.android-app-promo::before {
    content: "";
    position: absolute;
    inset: 0;
    border-top: 3px solid rgba(37, 99, 235, 0.92);
    pointer-events: none;
}

.android-app-promo-home {
    max-width: 1140px;
    margin-top: -1.25rem;
}

.android-app-promo-visual {
    width: 72px;
    height: 72px;
    border-radius: 1.25rem;
    display: grid;
    place-items: center;
    background: #111827;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 14px 28px rgba(15, 23, 42, 0.18);
}

.android-app-promo-logo {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.android-app-promo-copy {
    min-width: 0;
}

.android-app-promo-kicker {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.25rem;
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.android-app-promo h2 {
    margin: 0;
    color: #172033;
    font-size: clamp(1.18rem, 2.4vw, 1.75rem);
    line-height: 1.15;
    font-weight: 900;
}

.android-app-promo p {
    margin: 0.45rem 0 0;
    max-width: 62rem;
    color: #566274;
    line-height: 1.55;
}

.android-app-promo-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.8rem;
}

.android-app-promo-features span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.62rem;
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    border: 1px solid #e2e8f0;
    font-size: 0.88rem;
    font-weight: 700;
}

.android-app-promo-features i {
    color: #16a34a;
}

.android-app-promo-actions {
    display: grid;
    gap: 0.45rem;
    justify-items: end;
    min-width: 180px;
}

.android-app-promo-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 48px;
    border: 1px solid #d1d9e6;
    color: #172033;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.android-app-promo-download:hover,
.android-app-promo-download:focus {
    color: #0f172a;
    border-color: #2563eb;
}

.android-app-promo-store-note {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: right;
}

.analytics-hero-banner {
    background:
        radial-gradient(circle at top right, rgba(13, 110, 253, 0.1), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f6faff 58%, #eef6ff 100%);
}

.analytics-period-form {
    min-width: min(100%, 320px);
}

.analytics-period-controls {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.analytics-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.admin-section-tabs {
    gap: 0.65rem;
    row-gap: 0.75rem;
}

.admin-section-tabs .nav-link {
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.75);
    color: #334155;
    border-radius: 999px;
    font-weight: 700;
    padding: 0.72rem 1rem;
    box-shadow: 0 10px 28px rgba(15, 23, 32, 0.05);
}

.admin-section-tabs .nav-link.active {
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
    color: #ffffff;
    border-color: transparent;
}

.admin-section-tab-content {
    min-height: 240px;
}

.analytics-summary-card {
    padding: 1.2rem 1.25rem;
    border-radius: 1.25rem;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 32, 0.08);
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.analytics-summary-card-primary {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.32), transparent 34%),
        linear-gradient(135deg, #0f172a 0%, #10233e 100%);
    color: #ffffff;
    border-color: rgba(96, 165, 250, 0.2);
}

.analytics-summary-card-primary .analytics-summary-kicker,
.analytics-summary-card-primary .analytics-summary-meta {
    color: rgba(255, 255, 255, 0.76);
}

.analytics-summary-kicker {
    display: block;
    margin-bottom: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.74rem;
    font-weight: 700;
    color: #64748b;
}

.analytics-summary-value {
    display: block;
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
}

.analytics-summary-meta {
    margin-top: 0.5rem;
    color: #64748b;
    font-size: 0.92rem;
}

.analytics-online-list {
    display: grid;
    gap: 0.8rem;
}

.analytics-online-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: #f8fbff;
    border: 1px solid rgba(191, 219, 254, 0.65);
}

.analytics-online-name-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.analytics-online-path {
    font-size: 0.92rem;
}

.analytics-online-link {
    color: #0d6efd;
    font-weight: 600;
    text-decoration: none;
    word-break: break-all;
}

.analytics-online-link:hover {
    color: #0a58ca;
    text-decoration: underline;
}

.analytics-online-meta {
    margin-top: 0.25rem;
    font-size: 0.82rem;
    word-break: break-word;
}

.analytics-online-time {
    flex: 0 0 auto;
    color: #475569;
    font-size: 0.88rem;
    font-weight: 700;
}

.analytics-device-row + .analytics-device-row,
.analytics-timeline-item + .analytics-timeline-item {
    margin-top: 1rem;
}

.analytics-meter {
    width: 100%;
    height: 0.85rem;
    border-radius: 999px;
    overflow: hidden;
    background: #e5edf6;
}

.analytics-meter-soft {
    height: 0.72rem;
    background: #edf2f8;
}

.analytics-meter-fill {
    height: 100%;
    border-radius: inherit;
}

.analytics-meter-fill-app {
    background: linear-gradient(90deg, #0f172a 0%, #1d4ed8 100%);
}

.analytics-meter-fill-mobile {
    background: linear-gradient(90deg, #0f766e 0%, #14b8a6 100%);
}

.analytics-meter-fill-desktop {
    background: linear-gradient(90deg, #7c3aed 0%, #8b5cf6 100%);
}

.analytics-meter-fill-success {
    background: linear-gradient(90deg, #0f766e 0%, #22c55e 100%);
}

.analytics-meter-fill-other {
    background: linear-gradient(90deg, #475569 0%, #94a3b8 100%);
}

.analytics-timeline-list {
    display: grid;
    gap: 0.85rem;
}

.analytics-timeline-label {
    color: #334155;
    font-weight: 600;
}

.garage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 320px));
    gap: 1.25rem;
    justify-content: start;
}

.garage-card {
    width: 100%;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    min-width: 0;
}

.garage-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 1.1rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 10px 28px rgba(15, 23, 32, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    height: 100%;
}

.garage-card-media {
    position: relative;
}

.garage-card-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(15, 23, 32, 0.14);
}

.garage-card-image,
.garage-card-placeholder {
    width: 100%;
    height: 200px;
}

.garage-card-image {
    display: block;
    object-fit: cover;
}

.garage-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #dbe4ec 0%, #eef3f7 100%);
    color: #6b7280;
    font-size: 2.6rem;
}

.garage-card-alert-badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0d6efd;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(13, 110, 253, 0.35);
    animation: garage-alert-pulse 1.1s ease-in-out infinite;
}

@keyframes garage-alert-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.35;
        transform: scale(1.08);
    }
}

.garage-card-body {
    padding: 1rem 1rem 1.05rem;
}

.garage-card-title {
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.35rem;
}

.garage-card-meta {
    font-size: 0.92rem;
    color: #6b7280;
    margin-bottom: 0;
}

.garage-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    width: 100%;
}

.garage-card-actions .btn {
    flex: 1 1 calc(50% - 0.375rem);
    min-width: 0;
    border-radius: 1rem;
    padding: 0.82rem 1rem;
    font-weight: 700;
    text-align: center;
}

.community-share-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.82rem 1rem;
    border-radius: 1rem;
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
    font-weight: 700;
    flex: 1 1 calc(50% - 0.375rem);
    justify-content: center;
}

.proposal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 180px));
    gap: 1rem;
    justify-content: start;
}

.proposal-card {
    width: 100%;
    max-width: 180px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 1.35rem;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(15, 23, 32, 0.08);
}

.proposal-card-media {
    position: relative;
    height: 140px;
    background: linear-gradient(135deg, #eef4ff 0%, #f8fbff 100%);
}

.proposal-card-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.proposal-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 3.25rem;
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.14), transparent 38%),
        linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
}

.proposal-card-body {
    padding: 0.85rem;
}

.proposal-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
}

.proposal-card-title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
    color: #1f2937;
}

.proposal-card-subtitle {
    margin: 0.22rem 0 0;
    color: #64748b;
    font-size: 0.82rem;
}

.proposal-card-text {
    margin: 0 0 0.75rem;
    color: #4b5563;
    line-height: 1.45;
    min-height: 2.7rem;
    font-size: 0.84rem;
}

.proposal-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.75rem;
    margin-bottom: 0.85rem;
    color: #6b7280;
    font-size: 0.76rem;
}

.proposal-status-badge {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    border-radius: 999px;
    padding: 0.38rem 0.82rem;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    backdrop-filter: blur(6px);
}

.proposal-status-draft {
    background: rgba(75, 85, 99, 0.88);
    color: #ffffff;
}

.proposal-status-pending {
    background: rgba(245, 158, 11, 0.92);
    color: #111827;
}

.proposal-status-approved {
    background: rgba(22, 163, 74, 0.9);
    color: #ffffff;
}

.proposal-status-rejected {
    background: rgba(220, 38, 38, 0.9);
    color: #ffffff;
}

.proposal-card-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
}

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

.proposal-action-form .proposal-btn {
    width: 100%;
}

.proposal-btn {
    min-height: 36px;
    border-radius: 0.75rem;
    font-weight: 600;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.proposal-btn-view {
    background: #eff6ff;
    color: #2563eb;
    border-color: #bfdbfe;
}

.proposal-btn-view:hover {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #93c5fd;
}

.proposal-btn-edit {
    background: #f8fafc;
    color: #475569;
    border-color: #cbd5e1;
}

.proposal-btn-edit:hover {
    background: #eef2f7;
    color: #334155;
    border-color: #94a3b8;
}

.proposal-btn-submit {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    color: #ffffff;
    border-color: #15803d;
}

.proposal-btn-submit:hover {
    background: linear-gradient(135deg, #15803d 0%, #166534 100%);
    color: #ffffff;
    border-color: #166534;
}

@media (max-width: 767.98px) {
    .proposal-card-media {
        height: 140px;
    }
}

.admin-proposal-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-radius: 1.15rem;
    background: linear-gradient(135deg, #fff7ed 0%, #ffffff 52%, #eff6ff 100%);
    border: 1px solid rgba(251, 191, 36, 0.22);
    box-shadow: 0 10px 28px rgba(15, 23, 32, 0.06);
}

.admin-proposal-alert-label {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
}

.admin-proposal-alert-title {
    font-size: 1.25rem;
    color: #1f2937;
}

.admin-proposal-alert-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.admin-proposal-queue {
    display: grid;
    gap: 0.9rem;
}

.admin-proposal-item {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1rem;
    background: #fbfdff;
}

@media (max-width: 767.98px) {
    .admin-proposal-alert {
        align-items: flex-start;
        flex-direction: column;
    }
}

.forum-avatar {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: #ffffff;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.16);
}

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

.forum-avatar-sm {
    width: 36px;
    height: 36px;
    font-size: 0.82rem;
}

.forum-avatar-xs {
    width: 28px;
    height: 28px;
    font-size: 0.72rem;
}

.forum-avatar-md {
    width: 52px;
    height: 52px;
    font-size: 1rem;
}

.forum-avatar-lg {
    width: 84px;
    height: 84px;
    font-size: 1.5rem;
}

.forum-avatar-xl {
    width: 100px;
    height: 100px;
    font-size: 1.8rem;
}

.forum-resource-avatar {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    overflow: hidden;
    background: #e2e8f0;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.forum-resource-avatar-xs {
    width: 20px;
    height: 20px;
    font-size: 0.7rem;
}

.forum-resource-avatar-sm {
    width: 28px;
    height: 28px;
    font-size: 0.8rem;
}

.forum-author-meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.forum-author-name {
    font-weight: 700;
    line-height: 1.15;
}

.forum-author-stars {
    display: inline-flex;
    align-items: center;
    min-height: 1rem;
    color: #facc15;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
    line-height: 1;
}

.forum-author-stars i {
    margin-right: 0.08rem;
}

.forum-author-stars .bi-star {
    opacity: 0.42;
}

.forum-author-stars-filled {
    color: #facc15;
}

.forum-author-posts,
.forum-author-stars-label {
    color: #64748b;
    font-size: 0.76rem;
}

.forum-post-author .forum-author-posts {
    display: block;
    margin-top: 0.15rem;
    font-weight: 700;
}

.app-admin-dropdown-menu {
    min-width: 23rem;
}

.app-admin-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.app-admin-dropdown-label {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    flex: 1 1 auto;
}

.app-admin-dropdown-label i {
    flex: 0 0 1.25rem;
    text-align: center;
}

.app-admin-dropdown-label span:last-child {
    min-width: 0;
}

.app-admin-dropdown-item .badge {
    flex: 0 0 auto;
}

.forum-brand-avatar {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.forum-home-hero-shell {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-top: -1px;
    margin-bottom: 1.5rem;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.96) 42%, rgba(243, 248, 255, 0.8) 68%, rgba(239, 246, 255, 0.54) 100%),
        url('/meccanicapp/public/images/homepage/hero-brands.png') right center / cover no-repeat;
}

.forum-home-hero-shell > .container-lg {
    max-width: 1480px;
}

.forum-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
    gap: 2rem;
    align-items: center;
    min-height: 430px;
    padding: 2.7rem 2rem;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}

.forum-page-main {
    max-width: 1720px;
    margin-inline: auto;
    padding-inline: 24px;
    margin-top: 0;
}

.forum-resource-page {
    max-width: 1720px;
    margin-inline: auto;
    padding-inline: 24px;
}

.forum-home-title {
    max-width: 720px;
    margin: 0 0 0.85rem;
    color: #0f172a;
    font-size: clamp(2.65rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: 0;
}

.forum-home-subtitle {
    max-width: 620px;
    color: #5d6b84;
    font-size: clamp(1.05rem, 2vw, 1.32rem);
    line-height: 1.55;
}

.forum-home-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.forum-stat-card {
    display: grid;
    gap: 0.28rem;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1.35rem;
    padding: 1.4rem 1.35rem 1.25rem;
    background: rgba(255, 255, 255, 0.88);
    min-height: 214px;
    align-content: start;
}

.forum-stat-icon {
    width: 3.5rem;
    height: 3.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1.2rem;
    font-size: 1.7rem;
    margin-bottom: 1rem;
}

.forum-stat-card-blue .forum-stat-icon {
    background: rgba(37, 99, 235, 0.1);
    color: #2563eb;
}

.forum-stat-card-green .forum-stat-icon {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
}

.forum-stat-card-purple .forum-stat-icon {
    background: rgba(168, 85, 247, 0.12);
    color: #9333ea;
}

.forum-stat-card strong {
    color: #0f172a;
    font-size: 3.1rem;
    line-height: 1;
}

.forum-stat-card small {
    color: #64748b;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
}

.forum-stat-card em {
    color: #16a34a;
    font-size: 0.98rem;
    font-style: normal;
    font-weight: 700;
    margin-top: 0.5rem;
}

.forum-home-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.35rem;
    padding: 1.55rem 1.65rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.6rem;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.forum-home-toolbar h2,
.forum-section-heading h2 {
    color: #0f172a;
    font-weight: 800;
    letter-spacing: 0;
}

.forum-toolbar-copy p {
    max-width: 520px;
    font-size: 1.08rem;
    line-height: 1.55;
}

.forum-home-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.forum-home-toolbar-side {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
}

.forum-home-toolbar-actions .btn {
    border-radius: 999px;
    font-weight: 800;
}

.forum-create-topic-button {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border-radius: 999px;
    font-weight: 850;
    min-height: 62px;
    padding-inline: 1.5rem;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.24);
    font-size: 1.08rem;
}

.forum-home-toolbar-actions .forum-section-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 54px;
    padding-inline: 1.2rem;
    border-radius: 999px;
    font-size: 1.02rem;
    font-weight: 750;
}

.forum-home-toolbar-actions .forum-section-pill small {
    min-width: 1.9rem;
    padding: 0.2rem 0.48rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #2563eb;
    font-size: 0.84rem;
    line-height: 1;
}

.forum-topic-search-strip,
.forum-search-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.25fr);
    align-items: center;
    gap: 1.2rem;
    padding: 1.35rem 1.55rem;
    border: 1px solid rgba(191, 219, 254, 0.86);
    border-radius: 1.4rem;
    background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%);
    box-shadow: 0 16px 34px rgba(37, 99, 235, 0.1);
}

.forum-topic-search-copy h2,
.forum-search-results-head h2 {
    margin: 0.25rem 0 0;
    color: #0f172a;
    font-weight: 850;
    letter-spacing: 0;
}

.forum-topic-search-copy p,
.forum-search-results-head p {
    margin: 0.35rem 0 0;
    color: #64748b;
    line-height: 1.5;
}

.forum-topic-search-form,
.forum-search-panel {
    grid-template-columns: minmax(0, 1fr) auto;
}

.forum-topic-search-form {
    display: grid;
    align-items: center;
    gap: 0.85rem;
}

.forum-topic-search-form label,
.forum-search-input {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0;
    padding: 0 1rem;
    border: 1px solid rgba(191, 219, 254, 0.92);
    border-radius: 999px;
    background: #ffffff;
    color: #2563eb;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.forum-topic-search-form input,
.forum-search-input input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 650;
}

.forum-topic-search-form .btn,
.forum-search-panel .btn {
    min-height: 58px;
    border-radius: 999px;
    padding-inline: 1.5rem;
    font-weight: 850;
}

.forum-search-page {
    padding-top: 2rem;
    padding-bottom: 3rem;
}

.forum-search-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: 1.55rem 1.65rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.6rem;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.forum-search-hero h1 {
    margin: 0.35rem 0 0;
    color: #0f172a;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    letter-spacing: 0;
}

.forum-search-hero p {
    max-width: 760px;
    margin: 0.5rem 0 0;
    color: #64748b;
    font-size: 1.08rem;
    line-height: 1.55;
}

.forum-search-results {
    margin-top: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.6rem;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.forum-search-results-head {
    padding: 1.35rem 1.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.86);
}

.forum-search-result-list {
    display: grid;
}

.forum-search-result-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) minmax(220px, 0.34fr);
    gap: 1.15rem;
    align-items: center;
    padding: 1.15rem 1.55rem;
    border-top: 1px solid rgba(226, 232, 240, 0.76);
    color: inherit;
    text-decoration: none;
}

.forum-search-result-card:hover {
    background: #f8fbff;
}

.forum-search-result-media {
    width: 112px;
    aspect-ratio: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: #eef5ff;
    color: #64748b;
    overflow: hidden;
}

.forum-search-result-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-search-result-main {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.forum-search-result-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.forum-search-result-tags small {
    padding: 0.24rem 0.65rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-weight: 800;
}

.forum-search-result-main strong {
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.2;
}

.forum-search-result-main > span:not(.forum-search-result-tags) {
    color: #64748b;
    line-height: 1.55;
}

.forum-search-result-side {
    display: grid;
    gap: 0.8rem;
    border-left: 1px solid rgba(226, 232, 240, 0.9);
    padding-left: 1.1rem;
}

.forum-search-result-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.9rem;
    color: #64748b;
}

.forum-search-result-stats strong {
    width: 100%;
    color: #0f172a;
}

.forum-search-empty {
    display: grid;
    justify-items: center;
    gap: 0.5rem;
    padding: 3rem 1.5rem;
    text-align: center;
    color: #64748b;
}

.forum-search-empty i {
    font-size: 2.2rem;
    color: #2563eb;
}

.forum-search-empty strong {
    color: #0f172a;
}

@media (max-width: 991.98px) {
    .forum-topic-search-strip,
    .forum-search-panel,
    .forum-search-hero,
    .forum-search-result-card {
        grid-template-columns: 1fr;
    }

    .forum-search-hero {
        align-items: stretch;
    }

    .forum-search-result-card {
        gap: 0.85rem;
    }

    .forum-search-result-media {
        width: 100%;
        max-width: 180px;
    }

    .forum-search-result-side {
        border-left: 0;
        border-top: 1px solid rgba(226, 232, 240, 0.9);
        padding-left: 0;
        padding-top: 0.9rem;
    }
}

@media (max-width: 575.98px) {
    .forum-topic-search-strip,
    .forum-search-panel,
    .forum-search-hero,
    .forum-search-results-head,
    .forum-search-result-card {
        padding: 1rem;
        border-radius: 1rem;
    }

    .forum-topic-search-form,
    .forum-search-panel {
        grid-template-columns: 1fr;
    }

    .forum-topic-search-form .btn,
    .forum-search-panel .btn {
        width: 100%;
    }
}

.forum-home-feature-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr);
    gap: 1.4rem;
    align-items: start;
}

.forum-feature-card {
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.6rem;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.forum-feature-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.55rem 1rem;
}

.forum-feature-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.8rem;
    font-weight: 800;
}

.forum-feature-head a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
}

.forum-macro-list,
.forum-feature-topic-list {
    display: grid;
}

.forum-macro-row,
.forum-feature-section-row,
.forum-feature-topic-row {
    display: grid;
    color: inherit;
    text-decoration: none;
}

.forum-macro-row {
    grid-template-columns: 92px minmax(0, 1fr) 74px 74px 18px;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.55rem;
    border-top: 1px solid rgba(226, 232, 240, 0.82);
}

.forum-macro-row:hover,
.forum-feature-section-row:hover,
.forum-feature-topic-row:hover {
    background: #f8fbff;
}

.forum-macro-row.is-active {
    background: linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
    box-shadow: inset 0 0 0 1px rgba(147, 197, 253, 0.75);
}

.forum-macro-row-media {
    width: 92px;
    height: 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 1rem;
    background: linear-gradient(145deg, #edf4ff, #f8fbff);
    border: 1px solid rgba(191, 219, 254, 0.82);
    color: #2563eb;
    font-weight: 800;
    font-size: 1.4rem;
}

.forum-macro-row-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.forum-macro-row-main,
.forum-feature-topic-main {
    min-width: 0;
    display: grid;
    gap: 0.28rem;
}

.forum-macro-badge,
.forum-topic-kind {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #2563eb;
    font-size: 0.8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-topic-kind-section {
    background: rgba(148, 163, 184, 0.14);
    color: #1d4ed8;
}

.forum-macro-row-main strong,
.forum-feature-topic-main strong {
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.15;
}

.forum-macro-row-main small,
.forum-feature-topic-main small {
    color: #64748b;
    font-size: 1rem;
    line-height: 1.45;
}

.forum-macro-row-main small,
.forum-feature-topic-main small {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
}

.forum-macro-row-main small {
    -webkit-line-clamp: 2;
}

.forum-feature-topic-main small {
    -webkit-line-clamp: 2;
}

.forum-feature-topic-main strong {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forum-macro-row-metric,
.forum-feature-topic-metric,
.forum-feature-topic-activity {
    display: grid;
    justify-items: center;
    gap: 0.18rem;
    text-align: center;
}

.forum-macro-row-metric strong,
.forum-feature-topic-metric strong,
.forum-feature-topic-activity strong {
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 800;
}

.forum-macro-row-metric small,
.forum-feature-topic-metric small,
.forum-feature-topic-activity small,
.forum-macro-row-arrow {
    color: #64748b;
    font-size: 0.9rem;
}

.forum-macro-row-arrow {
    justify-self: end;
}

.forum-macro-more {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    margin: 1rem 1.55rem 1.55rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.2rem;
    color: #0f172a;
    text-decoration: none;
    font-size: 1.08rem;
    font-weight: 750;
}

.forum-feature-section-row {
    grid-template-columns: auto minmax(0, 1fr) 74px 88px 150px;
    gap: 1rem;
    align-items: center;
    margin: 0 1.55rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(226, 232, 240, 0.82);
}

.forum-feature-topic-row {
    grid-template-columns: auto minmax(0, 1fr) 74px 110px 150px;
    gap: 1rem;
    align-items: center;
    margin: 0 1.55rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(226, 232, 240, 0.82);
}

.forum-topic-bullet {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.9rem;
    background: rgba(37, 99, 235, 0.08);
    color: #2563eb;
    font-size: 1.1rem;
}

.forum-home-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.85fr);
    gap: 1.35rem;
    align-items: start;
}

.forum-section-heading {
    margin-bottom: 1rem;
}

.forum-section-heading h2 {
    margin: 0;
    font-size: 1.35rem;
}

.forum-area-section {
    scroll-margin-top: 6.5rem;
}

.forum-area-section + .forum-area-section {
    margin-top: 1.6rem;
}

.forum-area-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.forum-area-section-heading span {
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.forum-area-section-heading h3 {
    margin: 0;
    color: #172033;
    font-size: 1.05rem;
    font-weight: 850;
}

.forum-area-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
}

.forum-area-card,
.forum-feed-card,
.forum-thread-card {
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 1.25rem;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.forum-area-card {
    overflow: hidden;
}

.forum-area-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(145deg, #eef3fb, #dfe9f6);
    color: inherit;
    text-decoration: none;
}

.forum-area-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.42));
    pointer-events: none;
}

.forum-area-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.forum-area-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 3rem;
}

.forum-area-type,
.forum-area-count {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    backdrop-filter: blur(10px);
}

.forum-area-type {
    left: 0.85rem;
    top: 0.85rem;
    padding: 0.38rem 0.65rem;
    background: rgba(37, 99, 235, 0.72);
}

.forum-area-count {
    right: 0.85rem;
    bottom: 0.85rem;
    padding: 0.42rem 0.72rem;
    background: rgba(15, 23, 42, 0.72);
}

.forum-area-body {
    padding: 1rem 1.05rem 1.15rem;
}

.forum-area-brand {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: #667085;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.forum-area-brand-logo {
    display: inline-flex;
    width: 2.1rem;
    height: 2.1rem;
    flex: 0 0 2.1rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.75rem;
    background: #111827;
    color: #ffffff;
}

.forum-area-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.2rem;
}

.forum-area-body h3 {
    margin: 0.55rem 0 0.3rem;
    color: #172033;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.08;
}

.forum-area-body h3 a,
.forum-area-open,
.forum-thread-card {
    color: inherit;
    text-decoration: none;
}

.forum-area-body p {
    margin: 0 0 0.9rem;
    color: #667085;
}

.forum-area-open {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #2563eb;
    font-weight: 800;
}

.forum-feed-card {
    position: sticky;
    top: 6.25rem;
    padding: 1.1rem;
}

.forum-thread-stack {
    display: grid;
    gap: 0.85rem;
}

.forum-thread-card {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: start;
    padding: 1rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.forum-thread-card:hover {
    transform: translateY(-2px);
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.1);
}

.forum-thread-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
    grid-column: 3;
    grid-row: 1 / span 3;
}

.forum-thread-thumb {
    width: 74px;
    height: 74px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.85rem;
    background: #eef2f7;
    color: #64748b;
    grid-row: 1 / span 3;
}

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

.forum-thread-replies {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.34rem 0.6rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.forum-thread-card h3 {
    grid-column: 2;
    margin: 0 0 0.55rem;
    color: #172033;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.18;
}

.forum-thread-context {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    color: #667085;
    font-size: 0.86rem;
}

.forum-thread-card > .forum-author-meta {
    grid-column: 2;
}

.forum-thread-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.forum-compose-shell {
    display: grid;
    gap: 1.25rem;
    max-width: 1080px;
    margin-inline: auto;
}

.forum-compose-hero,
.forum-compose-card {
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.35rem;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.forum-compose-hero {
    padding: 1.65rem;
    background:
        radial-gradient(circle at 92% 16%, rgba(34, 197, 94, 0.12), transparent 28%),
        linear-gradient(135deg, #ffffff, #f6f9ff);
}

.forum-compose-hero h1 {
    margin: 0.35rem 0 0.45rem;
    color: #172033;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: 0;
}

.forum-compose-hero p {
    max-width: 760px;
    margin: 0;
    color: #667085;
}

.forum-compose-card {
    padding: 1.2rem;
}

.forum-compose-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.forum-compose-span-3 {
    grid-column: 1 / -1;
}

.forum-compose-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.forum-compose-choice-card {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 1.3rem;
    border: 1px solid #dbeafe;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.forum-compose-choice-card:hover {
    transform: translateY(-1px);
    border-color: #93c5fd;
    box-shadow: 0 16px 32px rgba(37, 99, 235, 0.08);
}

.forum-compose-choice-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.forum-compose-choice-card:has(input:checked) {
    border-color: #2563eb;
    background: linear-gradient(180deg, #eef5ff 0%, #ffffff 100%);
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.12);
}

.forum-compose-choice-icon {
    width: 48px;
    height: 48px;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, 0.12);
    color: #2563eb;
    font-size: 1.1rem;
}

.forum-compose-choice-copy {
    display: grid;
    gap: 0.35rem;
}

.forum-compose-choice-copy strong {
    color: #0f172a;
    font-size: 1rem;
}

.forum-compose-choice-copy small {
    color: #64748b;
    line-height: 1.45;
}

.forum-compose-textarea {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    min-height: 230px;
}

.forum-compose-helper-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.forum-compose-helper-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 42px;
    padding: 0.72rem 0.95rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 0.92rem;
    font-weight: 700;
}

.forum-compose-helper-pill i {
    color: #2563eb;
}

.forum-bbcode-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.7rem 0.95rem 0.8rem;
    border: 0;
    border-bottom: 0;
    border-radius: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.forum-bbcode-toolbar button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 0.9rem;
    background: #ffffff;
    color: #172033;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.forum-bbcode-toolbar button:hover,
.forum-bbcode-toolbar button:focus {
    border-color: rgba(37, 99, 235, 0.4);
    color: #1d4ed8;
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(37, 99, 235, 0.08);
}

.forum-model-search {
    position: relative;
}

.forum-model-results {
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 0;
    right: 0;
    z-index: 80;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.14);
}

.forum-model-result,
.forum-model-result-empty {
    width: 100%;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem;
    border: 0;
    border-bottom: 1px solid #eef2f7;
    background: #ffffff;
    color: inherit;
    text-align: left;
}

.forum-model-result:hover {
    background: #eff6ff;
}

.forum-model-result-thumb {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.8rem;
    background: #eef2f7;
    color: #64748b;
}

.forum-model-result-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-model-result strong,
.forum-model-result small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forum-model-result small {
    color: #64748b;
}

.bbcode-content {
    color: #1f2937;
    line-height: 1.75;
}

.bbcode-image {
    margin: 1rem 0;
}

.bbcode-image a {
    display: inline-block;
    max-width: 100%;
}

.bbcode-image img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 680px;
    border-radius: 0.75rem;
    object-fit: contain;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
}

.bbcode-center {
    text-align: center;
}

.bbcode-center .bbcode-image {
    margin-left: auto;
    margin-right: auto;
}

.bbcode-size {
    line-height: 1.25;
}

.bbcode-hr {
    border: 0;
    border-top: 1px solid rgba(148, 163, 184, 0.45);
    margin: 1.5rem 0;
}

.forum-resource-description,
.forum-category-description,
.mm-mobile-forum-section-description {
    line-height: 1.55;
}

.forum-resource-description br:last-child,
.forum-category-description br:last-child,
.mm-mobile-forum-section-description br:last-child {
    display: none;
}

.bbcode-underline {
    text-decoration: underline;
}

.bbcode-strike {
    text-decoration: line-through;
}

.bbcode-quote {
    margin: 1rem 0;
    padding: 0.85rem 1rem;
    border-left: 4px solid #2563eb;
    border-radius: 0.75rem;
    background: #eff6ff;
    color: #334155;
}

.bbcode-code {
    overflow: auto;
    padding: 0.85rem 1rem;
    border-radius: 0.85rem;
    background: #111827;
    color: #e5e7eb;
}

.bbcode-list {
    margin: 0.75rem 0;
    padding-left: 1.3rem;
}

.forum-post-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.85);
    border-radius: 0.95rem;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.forum-post-author {
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 0.75rem;
    padding: 1.2rem 1rem;
    background: linear-gradient(180deg, #f8fafc, #eef2f7);
    border-right: 1px solid rgba(203, 213, 225, 0.72);
    text-align: center;
}

.forum-post-content {
    min-width: 0;
    padding: 1.2rem;
}

.forum-post-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: -1.2rem -1.2rem 1rem;
    padding: 0.75rem 1.2rem;
    background: #f8fafc;
    border-bottom: 1px solid rgba(203, 213, 225, 0.72);
    color: #64748b;
}

.forum-post-header strong {
    color: #172033;
}

.forum-inline-cover {
    max-width: 420px;
    margin: 0 0 1rem;
}

.forum-inline-cover img {
    width: 100%;
    display: block;
    border-radius: 0.95rem;
    max-height: 300px;
    object-fit: cover;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

.forum-thread-bike-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.72rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
}

.forum-attachment-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.7rem;
}

.forum-attachment-grid a {
    display: block;
    overflow: hidden;
    border-radius: 0.9rem;
    background: #eef2f7;
    aspect-ratio: 4 / 3;
}

.forum-attachment-grid img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.forum-attachment-card {
    display: grid;
    overflow: hidden;
    border-radius: 0.9rem;
    background: #eef2f7;
    border: 1px solid rgba(226, 232, 240, 0.9);
    text-decoration: none;
    color: inherit;
}

.forum-attachment-card.is-image {
    aspect-ratio: 4 / 3;
}

.forum-attachment-card.is-video video,
.forum-attachment-card.is-audio audio {
    width: 100%;
    display: block;
}

.forum-attachment-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.85rem 0.9rem 0;
}

.forum-attachment-card-head strong {
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.forum-attachment-card-head span,
.forum-attachment-card p {
    color: #64748b;
    font-size: 0.76rem;
}

.forum-attachment-card p {
    margin: 0;
    padding: 0.7rem 0.9rem 0.9rem;
}

.forum-resource-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.6rem;
    padding: 1.7rem 1.8rem;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.95) 52%, rgba(243, 248, 255, 0.82) 100%),
        url('/meccanicapp/public/images/homepage/hero-brands.png') right center / cover no-repeat;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.07);
}

.forum-resource-hero h1 {
    margin: 0.25rem 0 0.55rem;
    color: #172033;
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    font-weight: 800;
    letter-spacing: 0;
}

.forum-resource-hero p {
    max-width: 760px;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.forum-resource-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.7rem;
}

.forum-resource-hero .btn {
    min-height: 52px;
    padding-inline: 1.1rem;
    border-radius: 999px;
    font-weight: 800;
}

.forum-admin-category-card {
    border-radius: 1.25rem;
}

.forum-admin-setting-pill {
    padding: 0.7rem 0.9rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 999px;
    background: #f8fafc;
}

.forum-admin-create-section {
    display: grid;
    grid-template-columns: 1.05fr 1.25fr 1fr minmax(220px, 1.55fr) 0.55fr 0.65fr;
    gap: 0.85rem;
    align-items: end;
}

.forum-admin-tabs {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.forum-admin-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    color: var(--bs-body-color);
    background: #fff;
    text-decoration: none;
    white-space: nowrap;
    font-weight: 650;
}

.forum-admin-tabs a.is-active {
    color: #fff;
    border-color: var(--bs-primary);
    background: var(--bs-primary);
}

.forum-admin-stack {
    display: grid;
    gap: 1rem;
}

.forum-admin-delete-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.forum-admin-delete-controls .form-select,
.forum-admin-delete-controls .form-control {
    width: auto;
    min-width: 13rem;
}

.forum-public-board {
    padding: 1.25rem;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.75rem;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.forum-public-board-table {
    display: grid;
    gap: 1rem;
}

.forum-public-category {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 0.5rem;
    background: #fff;
}

.forum-public-category-head,
.forum-public-forum-row,
.forum-public-topic-row {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) 6.5rem 6.5rem 12rem;
    gap: 0.9rem;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.forum-public-category-head {
    grid-template-columns: 3rem minmax(0, 1fr) 6.5rem 6.5rem;
    padding: 0.85rem 1rem;
    background: #eef5ff;
    color: #172033;
    border-bottom: 1px solid rgba(13, 110, 253, 0.18);
}

.forum-public-brand-logo {
    display: inline-flex;
    width: 2.35rem;
    height: 2.35rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.45rem;
    background: #fff;
    border: 1px solid rgba(13, 110, 253, 0.18);
    color: #172033;
    font-weight: 800;
}

.forum-public-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-public-category-title strong,
.forum-public-category-title small,
.forum-public-forum-main strong,
.forum-public-forum-main small,
.forum-public-topic-main strong,
.forum-public-topic-main small,
.forum-public-category-stats strong,
.forum-public-category-stats small,
.forum-public-forum-count strong,
.forum-public-forum-count small,
.forum-public-forum-last strong,
.forum-public-forum-last small,
.forum-public-topic-count strong,
.forum-public-topic-count small,
.forum-public-topic-last strong,
.forum-public-topic-last small {
    display: block;
}

.forum-public-category-title small {
    max-width: 64rem;
    color: #667085;
    font-size: 0.85rem;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.forum-public-category-stats,
.forum-public-forum-count,
.forum-public-forum-last,
.forum-public-topic-count,
.forum-public-topic-last {
    text-align: right;
}

.forum-public-category-stats strong,
.forum-public-forum-count strong,
.forum-public-topic-count strong {
    font-size: 1.05rem;
}

.forum-public-category-stats small {
    color: #667085;
}

.forum-public-forum-list {
    display: grid;
}

.forum-public-section-group {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.forum-public-forum-row {
    grid-template-columns: minmax(0, 1fr) 6.5rem 6.5rem 12rem;
    padding: 0.9rem 1rem;
    background: #fbfcff;
}

.forum-public-forum-row:hover {
    background: rgba(13, 110, 253, 0.05);
}

.forum-public-forum-main strong {
    color: #172033;
    font-size: 1.05rem;
}

.forum-public-forum-main small,
.forum-public-topic-main small,
.forum-public-forum-count small,
.forum-public-forum-last small,
.forum-public-topic-count small,
.forum-public-topic-last small {
    color: #667085;
}

.forum-public-forum-last strong,
.forum-public-topic-last strong {
    color: #172033;
    font-size: 0.86rem;
    font-weight: 700;
}

.forum-public-level-label {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 0.15rem;
    padding: 0.1rem 0.42rem;
    border-radius: 999px;
    background: rgba(13, 110, 253, 0.1);
    color: #0d6efd;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.forum-public-category-head .forum-public-level-label {
    background: rgba(13, 110, 253, 0.14);
}

.forum-public-topic-list {
    display: grid;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff;
}

.forum-public-topic-row {
    grid-template-columns: minmax(0, 1fr) 6.5rem 12rem;
    margin-left: 2.5rem;
    padding: 0.72rem 1rem 0.72rem 1.15rem;
    border-left: 3px solid rgba(13, 110, 253, 0.22);
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.forum-public-topic-row:last-child {
    border-bottom: 0;
}

.forum-public-topic-row:hover {
    background: rgba(13, 110, 253, 0.045);
}

.forum-public-topic-main strong {
    color: #172033;
    font-size: 0.98rem;
    font-weight: 760;
}

.forum-public-topic-main i {
    margin-right: 0.25rem;
    color: #0d6efd;
}

.forum-admin-map {
    display: grid;
    gap: 1rem;
}

.forum-admin-map-group {
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 1rem;
    background: #ffffff;
}

.forum-admin-map-group > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.94);
    background: #f8fafc;
}

.forum-admin-map-group > header span {
    color: #172033;
    font-weight: 850;
}

.forum-admin-map-group > header strong {
    color: #667085;
    font-size: 0.85rem;
}

.forum-admin-section-list {
    display: grid;
}

.forum-admin-section-row {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) minmax(150px, 0.9fr) 0.45fr 0.5fr 0.35fr 0.45fr;
    gap: 0.8rem;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.8);
}

.forum-admin-section-row:last-child {
    border-bottom: 0;
}

.forum-admin-section-meta,
.forum-admin-section-stat {
    display: grid;
    gap: 0.25rem;
}

.forum-admin-section-meta small,
.forum-admin-section-stat span {
    color: #667085;
}

.forum-admin-section-stat strong {
    color: #172033;
    font-size: 1.1rem;
}

.forum-admin-section-order .form-control {
    max-width: 96px;
}

.forum-board-shell {
    display: grid;
    gap: 1.25rem;
}

.forum-board-section {
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 1.2rem;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}

.forum-board-section-synthetic {
    background:
        radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.08), transparent 30%),
        #ffffff;
}

.forum-board-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.25rem;
    background:
        radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.11), transparent 26%),
        linear-gradient(135deg, #f8fbff, #ffffff);
    border-bottom: 1px solid rgba(226, 232, 240, 0.94);
}

.forum-board-header h2 {
    margin: 0;
    color: #172033;
    font-size: 1.25rem;
    font-weight: 800;
}

.forum-board-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.95rem;
    min-width: 0;
}

.forum-board-heading-icon {
    width: 3.6rem;
    height: 3.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 3.6rem;
    border-radius: 1rem;
    font-size: 1.55rem;
}

.forum-board-heading-icon.accent-blue {
    color: #2563eb;
    background: rgba(37, 99, 235, 0.1);
}

.forum-board-heading-icon.accent-violet {
    color: #9333ea;
    background: rgba(168, 85, 247, 0.12);
}

.forum-board-heading-icon.accent-green {
    color: #16a34a;
    background: rgba(34, 197, 94, 0.12);
}

.forum-board-heading-icon.accent-amber {
    color: #d97706;
    background: rgba(245, 158, 11, 0.14);
}

.forum-board-heading-copy {
    min-width: 0;
}

.forum-board-header p {
    margin: 0.25rem 0 0;
    color: #667085;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forum-board-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.forum-board-empty {
    padding: 1.1rem 1.15rem;
    color: #667085;
}

.forum-board-footer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem 1.25rem;
    background: #fbfdff;
    border-top: 1px solid rgba(226, 232, 240, 0.94);
}

.forum-board-footer-note {
    color: #667085;
    font-size: 0.92rem;
    line-height: 1.45;
}

.forum-board-list {
    display: grid;
}

.forum-resource-thread {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) minmax(180px, 0.32fr) minmax(132px, 0.22fr);
    gap: 1rem;
    align-items: center;
    color: inherit;
    text-decoration: none;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
    background: #ffffff;
    transition: background-color 0.18s ease, transform 0.18s ease;
}

.forum-resource-thread:last-child {
    border-bottom: 0;
}

.forum-resource-thread .forum-thread-thumb {
    width: 72px;
    height: 72px;
    grid-row: auto;
    border-radius: 1rem;
}

.forum-resource-thread-main {
    display: grid;
    min-width: 0;
    gap: 0.32rem;
}

.forum-resource-thread-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.forum-resource-thread-tags small {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.15rem 0.7rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #2563eb;
    font-size: 0.84rem;
    font-weight: 800;
}

.forum-resource-thread-main strong {
    display: -webkit-box;
    overflow: hidden;
    color: #172033;
    font-size: 1.08rem;
    line-height: 1.24;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forum-resource-thread-excerpt,
.forum-review-card-excerpt {
    color: #667085;
    font-size: 0.98rem;
    line-height: 1.55;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forum-resource-thread-main .forum-thread-context {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forum-resource-thread-author {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
}

.forum-resource-thread-author > span:last-child {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.forum-resource-thread-last {
    display: grid;
    justify-items: end;
    gap: 0.15rem;
    color: #667085;
    font-size: 0.86rem;
}

.forum-resource-thread-last strong {
    color: #1d4ed8;
    font-size: 0.9rem;
}

.forum-resource-thread-metrics {
    gap: 0.22rem;
}

.forum-resource-thread-metrics span {
    color: #64748b;
    font-size: 0.88rem;
}

.forum-resource-thread:hover {
    background: #f8fbff;
    transform: translateX(2px);
}

.forum-resource-thread-rich {
    grid-template-columns: 92px minmax(0, 1fr) minmax(210px, 0.35fr) minmax(150px, 0.22fr);
    gap: 1.15rem;
    align-items: start;
    border-radius: 1rem;
    margin: 0.75rem 1rem;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.94);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.forum-resource-thread-rich .forum-thread-thumb {
    width: 92px;
    height: 92px;
    border-radius: 1rem;
}

.forum-author-level-meter {
    width: 88px;
    height: 0.38rem;
    display: block;
    margin-top: 0.28rem;
    overflow: hidden;
    border-radius: 999px;
    background: #dbeafe;
}

.forum-author-level-meter > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #3b82f6);
}

.forum-resource-thread-review {
    grid-template-columns: 96px minmax(0, 1fr) minmax(210px, 0.34fr) minmax(132px, 0.22fr);
    gap: 1.1rem;
    align-items: start;
    padding-block: 1.15rem;
}

.forum-resource-thread-review .forum-thread-thumb {
    width: 96px;
    height: 96px;
    border-radius: 1.1rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.forum-resource-thread-review .forum-resource-thread-main {
    gap: 0.45rem;
    padding-top: 0.1rem;
}

.forum-resource-thread-review .forum-resource-thread-main strong {
    font-size: 1.32rem;
    line-height: 1.16;
}

.forum-resource-thread-review .forum-thread-context {
    color: #64748b;
    font-size: 0.98rem;
}

.forum-resource-thread-review .forum-resource-thread-author {
    padding-top: 0.15rem;
}

.forum-resource-thread-review .forum-resource-thread-author > span:last-child {
    gap: 0.22rem;
}

.forum-resource-thread-review .forum-resource-thread-last {
    align-self: center;
}

.forum-review-card {
    display: grid;
    grid-template-columns: minmax(360px, 40fr) minmax(240px, 32fr) minmax(250px, 28fr);
    gap: 1.5rem;
    align-items: center;
    padding: 1.2rem 1.25rem;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.forum-review-card:last-child {
    border-bottom: 0;
}

.forum-review-card:hover {
    transform: translateY(-1px);
    background: #f8fbff;
}

.forum-review-card-primary {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-width: 0;
}

.forum-review-card-primary-copy {
    min-width: 0;
    display: grid;
    gap: 0.42rem;
    align-content: center;
}

.forum-review-card-media {
    width: 112px;
    height: 112px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 1.2rem;
    background: linear-gradient(145deg, #edf4ff, #f8fbff);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.forum-review-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-review-card-body {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 112px;
}

.forum-review-card-kicker {
    display: inline-flex;
    width: fit-content;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.22rem 0.58rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #2563eb;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.forum-review-card-primary-title {
    display: -webkit-box;
    overflow: hidden;
    color: #0f172a;
    font-size: 1.16rem;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forum-review-card-author {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.forum-review-card-author-meta {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

.forum-review-card-side {
    display: grid;
    justify-items: start;
    align-content: center;
    gap: 0.9rem;
    text-align: left;
    padding-top: 0.35rem;
    padding-left: 1.25rem;
    border-left: 1px solid rgba(226, 232, 240, 0.94);
}

.forum-review-card-author .forum-avatar {
    width: 3.2rem;
    height: 3.2rem;
    flex: 0 0 3.2rem;
}

.forum-review-card-author .forum-author-name {
    color: #172033;
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
}

.forum-review-card-author .forum-author-stars {
    color: #f5c84c;
}

.forum-review-card-author .forum-author-stars-label {
    color: #7b8aa6;
    font-size: 0.95rem;
}

.forum-review-card-excerpt {
    color: #64748b;
    font-size: 1rem;
    line-height: 1.7;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.forum-review-card-metrics {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: start;
}

.forum-review-card-metric {
    display: grid;
    justify-items: start;
    gap: 0.28rem;
    min-width: 0;
    color: #64748b;
    font-size: 0.9rem;
}

.forum-review-card-metric i {
    color: #2563eb;
    font-size: 1.1rem;
}

.forum-review-card-metric span {
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.35;
}

.forum-review-card-metric-date span {
    color: #172033;
    font-weight: 700;
}

.forum-discussion-card {
    display: grid;
    grid-template-columns: minmax(320px, 38fr) minmax(260px, 37fr) minmax(250px, 25fr);
    gap: 1.35rem;
    align-items: center;
    padding: 1.2rem 1.25rem;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.forum-discussion-card:last-child {
    border-bottom: 0;
}

.forum-discussion-card:hover {
    transform: translateY(-1px);
    background: #f8fbff;
}

.forum-discussion-card-primary {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-width: 0;
}

.forum-discussion-card-media {
    width: 112px;
    height: 112px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 1.2rem;
    background: linear-gradient(145deg, #edf4ff, #f8fbff);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.forum-discussion-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-discussion-card-primary-copy {
    min-width: 0;
    display: grid;
    gap: 0.45rem;
    align-content: center;
}

.forum-discussion-card-title {
    display: -webkit-box;
    overflow: hidden;
    color: #0f172a;
    font-size: 1.16rem;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forum-discussion-card-body {
    min-width: 0;
    display: flex;
    align-items: center;
    min-height: 112px;
}

.forum-discussion-card-excerpt {
    color: #64748b;
    font-size: 1rem;
    line-height: 1.7;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.forum-discussion-card-side {
    display: grid;
    justify-items: start;
    align-content: center;
    gap: 0.9rem;
    text-align: left;
    padding-top: 0.35rem;
    padding-left: 1.25rem;
    border-left: 1px solid rgba(226, 232, 240, 0.94);
}

.forum-discussion-card-author {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.forum-discussion-card-author-meta {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

.forum-discussion-card-author .forum-avatar {
    width: 3.2rem;
    height: 3.2rem;
    flex: 0 0 3.2rem;
}

.forum-discussion-card-metrics {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: start;
}

.avatar-bike-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.85rem;
}

.avatar-bike-option input {
    display: none;
}

.avatar-bike-card {
    display: block;
    border: 2px solid #e2e8f0;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.avatar-bike-card:hover {
    transform: translateY(-2px);
    border-color: #93c5fd;
    box-shadow: 0 10px 24px rgba(15, 23, 32, 0.08);
}

.avatar-bike-option input:checked + .avatar-bike-card {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.avatar-bike-card-image {
    width: 100%;
    height: 110px;
    object-fit: cover;
    display: block;
}

.avatar-bike-card-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.7rem 0.8rem;
    color: #334155;
}

.avatar-bike-card-body small {
    color: #64748b;
}

.profile-stats-inline {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.form-control,
.form-select,
.btn {
    border-radius: 0.9rem;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
}

.btn {
    font-weight: 600;
    padding: 0.72rem 1rem;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.btn-primary {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    border: 1px solid #1d4ed8;
    color: #fff;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
    color: #fff;
}

.btn-secondary {
    background: linear-gradient(135deg, #64748b 0%, #475569 100%);
    border: 1px solid #475569;
    color: #fff;
}

.btn-secondary:hover {
    color: #fff;
}

.btn-outline-secondary,
.btn-outline-dark,
.btn-outline-primary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info {
    background: rgba(255, 255, 255, 0.94);
}

.btn:hover {
    transform: translateY(-1px);
}

.btn-app {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 48px;
    padding: 0.82rem 1rem;
}

.btn-app-primary {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    border-color: #1d4ed8;
    color: #fff;
}

.btn-app-secondary {
    background: linear-gradient(135deg, #475569 0%, #1e293b 100%);
    border-color: #1e293b;
    color: #fff;
}

.btn-app-success {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    border-color: #15803d;
    color: #fff;
}

.btn-app-warning {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border-color: #d97706;
    color: #fff;
}

.btn-app-danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    border-color: #dc2626;
    color: #fff;
}

.btn-app-info {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    border-color: #0284c7;
    color: #fff;
}

.btn-app-dark {
    background: linear-gradient(135deg, #334155 0%, #0f172a 100%);
    border-color: #0f172a;
    color: #fff;
}

.btn-app-neutral {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #334155;
}

.btn-app-primary:hover,
.btn-app-secondary:hover,
.btn-app-success:hover,
.btn-app-warning:hover,
.btn-app-danger:hover,
.btn-app-info:hover,
.btn-app-dark:hover {
    color: #fff;
}

.btn-app-neutral:hover {
    color: #0f172a;
    border-color: #94a3b8;
}

.model-hero-shell {
    position: relative;
}

.model-hero-card {
    padding: 1.15rem;
    border-radius: 2rem;
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 24%),
        radial-gradient(circle at bottom left, rgba(16, 185, 129, 0.1), transparent 22%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 252, 0.98));
    border: 1px solid rgba(148, 163, 184, 0.16);
    box-shadow: 0 22px 60px rgba(15, 23, 32, 0.1);
}

.model-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
    gap: 1.15rem;
    align-items: stretch;
}

.model-hero-media {
    position: relative;
    min-height: 520px;
    border-radius: 1.7rem;
    overflow: hidden;
    background: linear-gradient(135deg, #dbeafe 0%, #f8fafc 100%);
}

.model-hero-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.model-hero-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 4.25rem;
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.14), transparent 38%),
        linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
}

.model-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.08) 0%, rgba(15, 23, 42, 0.12) 34%, rgba(15, 23, 42, 0.78) 100%);
}

.model-hero-floating-badges {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    right: 1.25rem;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.model-hero-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.52rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    backdrop-filter: blur(8px);
}

.model-hero-copy {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 1.6rem 1.6rem 1.75rem;
    color: #ffffff;
}

.model-hero-title {
    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: 0.96;
    color: #ffffff;
    text-shadow: 0 16px 40px rgba(15, 23, 42, 0.36);
}

.model-hero-subtitle {
    font-size: 1.18rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.88);
}

.model-hero-rating {
    margin-top: 1rem;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.78rem 1rem;
    border-radius: 1rem;
    background: rgba(15, 23, 42, 0.22);
    color: #ffffff;
    backdrop-filter: blur(10px);
}

.model-hero-rating-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    color: #fbbf24;
    font-size: 1rem;
}

.model-hero-rating strong {
    font-size: 1.08rem;
    font-weight: 800;
}

.model-hero-rating.is-vote-enabled {
    gap: 0.85rem;
}

.model-hero-rating .model-rating-stars-button {
    flex: 0 0 auto;
}

.model-rating-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.model-rating-meta span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.88rem;
    line-height: 1.35;
}

.model-rating-leaderboard-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 0.58rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(191, 219, 254, 0.22);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 700;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.model-rating-leaderboard-link:hover,
.model-rating-leaderboard-link:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(191, 219, 254, 0.38);
}

.model-review-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.model-review-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    padding: 0.58rem 0.92rem;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 800;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.model-review-action:hover,
.model-review-action:focus {
    transform: translateY(-1px);
    text-decoration: none;
}

.model-review-action-primary {
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(14, 165, 233, 0.22);
    color: #ffffff;
    box-shadow: 0 10px 26px rgba(14, 165, 233, 0.16);
}

.model-review-action-primary:hover,
.model-review-action-primary:focus {
    color: #ffffff;
    background: rgba(14, 165, 233, 0.32);
    border-color: rgba(255, 255, 255, 0.4);
}

.model-review-action-secondary {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.model-review-action-secondary:hover,
.model-review-action-secondary:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.3);
}

.model-review-panel {
    border-radius: 1.7rem;
    padding: 1.4rem 1.45rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.08);
    backdrop-filter: none;
}

.model-review-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.model-review-panel-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.model-review-panel-title {
    color: #0f172a;
    font-size: 1.5rem;
    font-weight: 900;
}

.model-review-panel-copy {
    color: #64748b;
    font-size: 1rem;
    line-height: 1.65;
    max-width: 64ch;
}

.model-review-panel-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(191, 219, 254, 0.95);
    color: #2563eb;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 800;
    white-space: nowrap;
}

.model-review-panel-link:hover,
.model-review-panel-link:focus {
    color: #1d4ed8;
    background: #eff6ff;
    text-decoration: none;
}

.model-review-label {
    color: #0f172a;
    font-weight: 800;
}

.model-review-editor-shell {
    border-radius: 1.35rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #ffffff;
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.model-review-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1.1rem 0.75rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.model-review-editor-hint {
    color: #64748b;
    font-size: 0.88rem;
    font-weight: 600;
}

.model-review-textarea {
    min-height: 220px;
    border-radius: 0;
    border: 0;
    background: #ffffff;
    box-shadow: none;
    padding: 1rem 1.1rem 1.15rem;
    font-size: 1.02rem;
    line-height: 1.7;
    resize: vertical;
}

.model-review-textarea:focus {
    border-color: transparent;
    box-shadow: none;
}

.model-review-form-footer {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding-top: 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.model-review-note {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    color: #64748b;
    font-size: 0.92rem;
}

.model-review-upload-block {
    padding: 1rem 1.1rem;
    border-radius: 1.2rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.model-review-file-input {
    min-height: 52px;
    border-radius: 1rem;
    border-color: rgba(203, 213, 225, 0.95);
    background: #ffffff;
}

.model-review-file-input:focus {
    border-color: rgba(59, 130, 246, 0.42);
    box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.12);
}

.model-review-upload-note {
    margin-top: 0.55rem;
    color: #64748b;
    font-size: 0.9rem;
}

.model-review-submit {
    border-radius: 999px;
    font-weight: 800;
    padding: 0.95rem 1.35rem;
    min-height: 54px;
}

.model-review-guest {
    color: #334155;
    font-size: 0.98rem;
}

.model-hero-side {
    display: grid;
    gap: 1rem;
}

.model-hero-panel {
    border-radius: 1.55rem;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(148, 163, 184, 0.16);
    box-shadow: 0 14px 38px rgba(15, 23, 32, 0.06);
    padding: 1.15rem 1.2rem;
}

.model-hero-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.model-hero-panel-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.72rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.model-hero-description {
    color: #334155;
    font-size: 1rem;
    line-height: 1.8;
}

.model-hero-description-empty {
    color: #64748b;
}

.model-mobile-meta-grid {
    display: none;
}

.model-hero-description-mobile {
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: #ffffff;
    overflow: hidden;
}

.model-hero-description-mobile summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.82rem 0.95rem;
    color: #0f172a;
    font-weight: 800;
    list-style: none;
    cursor: pointer;
}

.model-hero-description-mobile summary::-webkit-details-marker {
    display: none;
}

.model-hero-description-mobile summary i {
    color: #64748b;
    transition: transform 0.18s ease;
}

.model-hero-description-mobile[open] summary i {
    transform: rotate(180deg);
}

.model-hero-description-mobile .model-hero-description {
    padding: 0 0.95rem 0.95rem;
}

.model-hero-panel-stats .model-meta-grid {
    margin: 0;
}

.model-hero-panel-social .social-link-list {
    gap: 0.55rem;
}

.model-hero-panel-social .social-link-chip {
    background: #f8fafc;
}

.model-action-grid-hero {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.85rem;
}

.model-action-grid-hero .btn,
.model-action-grid-hero > .dropdown,
.model-action-grid-hero > form {
    width: 100%;
}

.model-action-grid-hero > form .btn {
    width: 100%;
}

.model-mobile-nav-toggle {
    display: none;
}

.model-mobile-nav-rail {
    display: none;
}

.model-mobile-offcanvas {
    border-left: 1px solid rgba(148, 163, 184, 0.16);
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.12), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 252, 0.98));
    box-shadow: -24px 0 60px rgba(15, 23, 32, 0.16);
}

.model-mobile-offcanvas .offcanvas-header {
    padding: 1.1rem 1.1rem 0.9rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.model-mobile-offcanvas .offcanvas-body {
    padding: 1rem 1.1rem 1.35rem;
}

.model-mobile-offcanvas-kicker {
    display: inline-block;
    margin-bottom: 0.3rem;
    color: #1d4ed8;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.model-mobile-nav-list {
    display: grid;
    gap: 0.7rem;
}

.model-mobile-nav-link {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.model-mobile-nav-link i {
    font-size: 1rem;
    color: #2563eb;
}

.model-mobile-nav-link.is-active {
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.22);
}

.model-mobile-nav-link.is-active i {
    color: #bfdbfe;
}

.model-mobile-nav-link-external i {
    color: #475569;
}

.alert {
    border-radius: 0.5rem;
    border: none;
}

.table {
    margin-bottom: 0;
}

.table thead {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.5px;
}

.table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.02);
}

.badge {
    padding: 0.4rem 0.8rem;
    font-weight: 500;
}

.app-footer {
    margin-top: auto;
    padding: 0 0 1.8rem;
    background: transparent;
    box-shadow: none;
}

.app-footer-inner {
    color: rgba(255, 255, 255, 0.82);
    letter-spacing: 0.01em;
}

.app-footer-panel {
    display: grid;
    gap: 1rem;
    padding: 1.5rem 1.6rem;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(135deg, rgba(8, 14, 28, 0.98), rgba(10, 18, 32, 0.96));
    box-shadow: 0 26px 60px rgba(3, 10, 24, 0.2);
}

.app-footer-brand strong {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 1.15rem;
}

.app-footer-brand p {
    color: rgba(255, 255, 255, 0.68);
    max-width: 40rem;
}

.app-footer-links {
    align-items: center;
}

.app-footer-copyright {
    color: rgba(255, 255, 255, 0.92);
    font-weight: 500;
}

.text-muted {
    opacity: 1;
}

.app-footer-link {
    color: rgba(255, 255, 255, 0.82);
    position: relative;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.app-footer-link:hover,
.app-footer-link:focus {
    color: #ffffff;
}

.app-footer-link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.18rem;
    height: 1px;
    background: currentColor;
    opacity: 0.25;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.app-footer-link:hover::after,
.app-footer-link:focus::after {
    opacity: 0.65;
    transform: scaleX(1);
}

.shadow-sm {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.model-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
}

.model-action-grid > .dropdown {
    min-width: 0;
}

.model-action-grid > .dropdown .dropdown-menu {
    width: 100%;
}

.model-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.85rem;
}

.model-meta-card {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.model-meta-card small {
    display: block;
    color: #64748b;
    margin-bottom: 0.3rem;
}

.model-meta-card strong {
    font-size: 1.25rem;
    color: #0f172a;
}

.model-side-card {
    overflow: hidden;
}

.model-detail-tabs .nav-link {
    border: 0;
    border-radius: 0.95rem 0.95rem 0 0;
    padding: 0.9rem 1.1rem;
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    opacity: 0.72;
}

.model-detail-tabs .nav-link .badge {
    background: rgba(255, 255, 255, 0.2);
    color: inherit;
}

.model-detail-tabs .model-tab-specs {
    background: #0ea5e9;
}

.model-detail-tabs .model-tab-docs {
    background: #ef4444;
}

.model-detail-tabs .model-tab-colors {
    background: #f59e0b;
}

.model-detail-tabs .model-tab-parts {
    background: #16a34a;
}

.model-detail-tabs .model-tab-discussions {
    background: #2563eb;
}

.model-detail-tabs .nav-link.active {
    color: #ffffff;
    opacity: 1;
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.15);
}

.model-panel {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 1.2rem;
    padding: 1.1rem;
}

.model-upload-progress-card {
    display: grid;
    gap: 0.9rem;
    padding: 1rem 1.05rem;
    border-radius: 1.05rem;
    border: 1px solid rgba(59, 130, 246, 0.12);
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.88) 0%, rgba(255, 255, 255, 0.96) 100%);
    box-shadow: 0 18px 32px rgba(37, 99, 235, 0.08);
}

.model-upload-progress-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.8rem;
}

.model-upload-progress-top strong {
    color: #0f172a;
    font-size: 0.96rem;
    font-weight: 800;
}

.model-upload-progress-top span {
    color: #2563eb;
    font-size: 0.92rem;
    font-weight: 800;
    white-space: nowrap;
}

.model-upload-progress-bar {
    position: relative;
    height: 0.82rem;
    overflow: hidden;
    border-radius: 999px;
    background: #dbeafe;
    box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.08);
}

.model-upload-progress-bar i {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb 0%, #3b82f6 42%, #38bdf8 100%);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.24);
    transition: width 0.22s ease;
}

.model-upload-progress-bar i::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.35) 42%, transparent 78%);
    transform: translateX(-100%);
    animation: model-upload-progress-sheen 1.35s linear infinite;
}

.model-upload-progress-message {
    margin: 0;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.55;
}

.model-upload-progress-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.model-upload-progress-steps span {
    min-height: 42px;
    padding: 0.62rem 0.65rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(191, 219, 254, 0.9);
    background: rgba(255, 255, 255, 0.92);
    color: #64748b;
    font-size: 0.79rem;
    font-weight: 700;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    transition: all 0.22s ease;
}

.model-upload-progress-steps span.is-active {
    border-color: rgba(59, 130, 246, 0.5);
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    color: #1d4ed8;
    box-shadow: 0 10px 18px rgba(59, 130, 246, 0.14);
}

.model-upload-progress-steps span.is-done {
    border-color: rgba(34, 197, 94, 0.34);
    background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
    color: #15803d;
}

.model-upload-progress-card.is-error {
    border-color: rgba(239, 68, 68, 0.2);
    background: linear-gradient(180deg, rgba(254, 242, 242, 0.94) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.model-upload-progress-card.is-error .model-upload-progress-top span {
    color: #dc2626;
}

.model-upload-progress-card.is-error .model-upload-progress-bar {
    background: #fee2e2;
}

.model-upload-progress-card.is-error .model-upload-progress-bar i {
    background: linear-gradient(90deg, #ef4444 0%, #f87171 100%);
    box-shadow: 0 8px 20px rgba(239, 68, 68, 0.16);
}

@keyframes model-upload-progress-sheen {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(130%);
    }
}

.model-asset-card {
    border-radius: 1.1rem;
}

.model-mini-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex: 0 0 auto;
}

.model-mini-icon-danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

.model-mini-icon-success {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
}

.model-showcase {
    padding-bottom: 2rem;
}

.model-showcase-hero {
    position: relative;
    overflow: hidden;
    border-radius: 2rem;
    padding: 2rem 2.35rem 1.6rem;
    margin-bottom: 1.5rem;
    background:
        radial-gradient(circle at 82% 14%, rgba(148, 163, 184, 0.12), transparent 20%),
        radial-gradient(circle at 68% 52%, rgba(59, 130, 246, 0.1), transparent 28%),
        linear-gradient(135deg, #050b18 0%, #081224 36%, #111a2b 100%);
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.24);
}

.model-showcase-hero-fullbleed {
    border-radius: 0;
    margin-inline: calc(50% - 50vw);
    margin-top: -3rem;
    margin-bottom: 0;
}

.model-showcase-hero-inner {
    max-width: 1720px;
    margin: 0 auto;
    padding-inline: 24px;
}

.model-showcase-body {
    width: 100%;
    max-width: 1720px;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 24px;
    margin-top: 1.5rem;
}

.model-showcase-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2, 8, 23, 0.02) 0%, rgba(2, 8, 23, 0.14) 100%);
    opacity: 1;
    pointer-events: none;
}

.model-showcase-hero::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 52%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.02), rgba(148, 163, 184, 0.06));
    pointer-events: none;
}

.model-showcase-backbar,
.model-showcase-breadcrumb,
.model-showcase-hero-grid {
    position: relative;
    z-index: 1;
}

.model-showcase-backlink {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 42px;
    padding: 0.7rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: #f8fafc;
    text-decoration: none;
    font-weight: 700;
}

.model-showcase-backlink:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.24);
}

.model-showcase-breadcrumb {
    margin-top: 1.2rem;
    margin-bottom: 2rem;
    color: rgba(226, 232, 240, 0.72);
    font-size: 0.9rem;
}

.model-showcase-breadcrumb .breadcrumb-item,
.model-showcase-breadcrumb .breadcrumb-item a,
.model-showcase-breadcrumb .breadcrumb-item.active {
    color: inherit;
}

.model-showcase-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.04fr);
    align-items: center;
    gap: 2.8rem;
    min-height: 620px;
}

.model-showcase-copy {
    padding: 0.75rem 0 1.1rem;
    color: #ffffff;
    max-width: 700px;
}

.model-showcase-brand-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1.35rem;
}

.model-showcase-brand-pill {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.52rem 1rem;
    border-radius: 0.95rem;
    background: #ea4335;
    color: #ffffff;
    text-transform: lowercase;
    font-weight: 800;
    font-size: 1.15rem;
    letter-spacing: 0.01em;
}

.model-showcase-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #3b82f6;
    font-size: 1.1rem;
}

.model-showcase-title {
    margin: 0;
    font-size: clamp(3.4rem, 4.6vw, 5.1rem);
    line-height: 0.94;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.model-showcase-edit {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    text-decoration: none;
}

.model-showcase-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1.35rem;
    color: rgba(241, 245, 249, 0.9);
    font-size: 1.55rem;
    font-weight: 600;
}

.model-showcase-meta-line span {
    position: relative;
}

.model-showcase-meta-line span + span::before {
    content: "•";
    margin-right: 0.85rem;
    color: rgba(255, 255, 255, 0.48);
}

.model-showcase-rating {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-top: 1.55rem;
    flex-wrap: wrap;
}

.model-showcase-rating .model-rating-stars-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #fbbf24;
}

.model-showcase-rating-copy {
    display: flex;
    align-items: baseline;
    gap: 0.55rem;
    color: #ffffff;
    font-size: 1.2rem;
    flex-wrap: wrap;
}

.model-showcase-rating-copy strong {
    font-size: 2rem;
    line-height: 1;
}

.model-showcase-rating-copy a {
    color: #3b82f6;
    text-decoration: none;
    font-weight: 700;
}

.model-showcase-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.8rem;
}

.model-showcase-primary-btn,
.model-showcase-secondary-btn {
    min-height: 60px;
    padding: 1rem 1.5rem;
    border-radius: 1.15rem;
    border: 1px solid transparent;
    font-weight: 800;
    font-size: 1.05rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
}

.model-showcase-primary-btn {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: #ffffff;
}

.model-showcase-secondary-btn {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.18);
    color: #f8fafc;
}

.model-showcase-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 2.25rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.model-showcase-kpi {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding-right: 1.15rem;
    margin-right: 1.15rem;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.model-showcase-kpi:last-child {
    border-right: 0;
    margin-right: 0;
    padding-right: 0;
}

.model-showcase-kpi-icon {
    width: 58px;
    height: 58px;
    border-radius: 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.3rem;
}

.model-showcase-kpi span {
    display: block;
    color: rgba(226, 232, 240, 0.72);
    font-size: 0.98rem;
    font-weight: 700;
}

.model-showcase-kpi strong {
    display: block;
    margin-top: 0.1rem;
    color: #ffffff;
    font-size: 1.8rem;
    line-height: 1.1;
}

.model-showcase-visual {
    position: relative;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-top: 1rem;
    padding-left: 1.25rem;
}

.model-showcase-bike-frame {
    position: relative;
    width: 100%;
    min-height: 560px;
    padding: 1.5rem 0 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: visible;
}

.model-showcase-bike {
    position: relative;
    z-index: 1;
    width: min(100%, 920px);
    max-height: 590px;
    object-fit: contain;
    display: block;
    margin-right: 0;
    transform: translateX(0) translateY(0);
    border-radius: 2rem;
    box-shadow:
        0 28px 54px rgba(2, 8, 23, 0.22),
        0 0 0 1px rgba(255, 255, 255, 0.08);
    filter: none;
}

.model-showcase-bike-fallback {
    min-height: 360px;
    width: 100%;
    border-radius: 1.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.6);
    font-size: 4rem;
    background: rgba(255, 255, 255, 0.08);
}

.model-showcase-views-card {
    position: absolute;
    top: 3.5rem;
    right: 0.6rem;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
    border-radius: 1.35rem;
    background: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #f8fafc;
}

body.is-model-detail-page #app-main {
    padding-top: 0 !important;
}

.model-showcase-views-icon {
    width: 42px;
    height: 42px;
    border-radius: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(249, 115, 22, 0.15);
    color: #fb923c;
}

.model-showcase-views-card strong {
    display: block;
    font-size: 1.4rem;
}

.model-showcase-views-card span {
    color: rgba(226, 232, 240, 0.78);
    font-size: 0.95rem;
}

.model-showcase-tabs {
    position: relative;
    z-index: 2;
    margin-top: -1.15rem;
    padding: 0.8rem 1rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 1.45rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.model-showcase-tabs .nav-link {
    border: 0;
    border-radius: 999px;
    min-height: 48px;
    padding: 0.8rem 1.05rem;
    color: #64748b;
    background: transparent;
    font-weight: 800;
    box-shadow: none;
    opacity: 1;
}

.model-showcase-tabs .nav-link.active {
    color: #2563eb;
    background: #eff6ff;
    transform: none;
    box-shadow: none;
}

.model-showcase-tabs .badge {
    background: rgba(37, 99, 235, 0.08) !important;
    color: #2563eb !important;
}

.model-overview-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.82fr 0.7fr 0.58fr;
    gap: 1rem;
}

.model-overview-card {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 1.55rem;
    padding: 1.35rem;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

.model-overview-gallery-card {
    padding-bottom: 1rem;
}

.model-overview-gallery-stage {
    min-height: 300px;
    border-radius: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.model-overview-gallery-image {
    width: 100%;
    max-height: 300px;
    object-fit: contain;
}

.model-overview-gallery-thumbs {
    display: flex;
    gap: 0.65rem;
    margin: 0.95rem 0 1rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

.model-overview-gallery-thumb {
    width: 72px;
    height: 72px;
    padding: 0;
    border-radius: 1rem;
    border: 2px solid transparent;
    background: #eef2ff;
    flex: 0 0 auto;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px #dbeafe;
}

.model-overview-gallery-thumb.is-active {
    border-color: #2563eb;
}

.model-overview-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.model-overview-gallery-empty {
    min-height: 300px;
    color: #94a3b8;
    font-size: 3rem;
}

.model-overview-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin: 1rem 0 1.15rem;
}

.model-overview-dots span {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #cbd5e1;
}

.model-overview-dots .is-active {
    background: #2563eb;
}

.model-overview-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.7rem;
}

.model-overview-fact {
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.model-overview-fact span {
    display: block;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 700;
}

.model-overview-fact strong {
    display: block;
    margin-top: 0.3rem;
    color: #0f172a;
    font-size: 1rem;
}

.model-overview-card-title,
.model-showcase-section-title {
    margin: 0 0 1rem;
    color: #0f172a;
    font-size: 1.65rem;
    font-weight: 900;
}

.model-overview-copy {
    color: #334155;
    line-height: 1.8;
    margin: 0;
}

.model-overview-copy-muted {
    margin-top: 1rem;
    color: #64748b;
}

.model-overview-brief-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.9rem;
}

.model-overview-brief-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    color: #334155;
}

.model-overview-brief-list i {
    color: #60a5fa;
    margin-top: 0.2rem;
}

.model-overview-quick-actions {
    display: grid;
    gap: 0.75rem;
}

.model-overview-action-link {
    width: 100%;
    min-height: 48px;
    padding: 0.8rem 1rem;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-weight: 700;
    text-decoration: none;
}

button.model-overview-action-link {
    text-align: left;
}

.model-overview-action-link:hover {
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.model-overview-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.model-overview-stat-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 1.35rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.model-overview-stat-card span,
.model-overview-stat-card small {
    display: block;
    color: #64748b;
}

.model-overview-stat-card strong {
    display: block;
    color: #0f172a;
    font-size: 2rem;
    line-height: 1;
    margin: 0.15rem 0;
}

.model-overview-stat-card i {
    width: 54px;
    height: 54px;
    border-radius: 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}

.model-overview-stat-card.tone-blue i {
    background: rgba(37, 99, 235, 0.12);
    color: #2563eb;
}

.model-overview-stat-card.tone-violet i {
    background: rgba(139, 92, 246, 0.12);
    color: #8b5cf6;
}

.model-overview-stat-card.tone-pink i {
    background: rgba(236, 72, 153, 0.12);
    color: #d946ef;
}

.model-overview-stat-card.tone-green i {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
}

.model-overview-stat-card.tone-orange i {
    background: rgba(249, 115, 22, 0.12);
    color: #f97316;
}

.model-overview-lower-grid {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 1rem;
    margin-top: 1rem;
}

.model-overview-card-large {
    min-height: 100%;
}

.model-overview-spec-table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-radius: 1.2rem;
    border: 1px solid #e2e8f0;
    overflow: hidden;
}

.model-overview-spec-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
}

.model-overview-spec-row:nth-child(odd) {
    border-right: 1px solid #e2e8f0;
}

.model-overview-spec-row span {
    color: #475569;
}

.model-overview-spec-row strong {
    color: #0f172a;
    text-align: right;
}

.model-overview-inline-note {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1rem;
    padding: 0.7rem 0.9rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
}

.model-overview-reviews {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 1.2rem;
    align-items: center;
}

.model-overview-rating-summary strong {
    display: block;
    color: #0f172a;
    font-size: 4rem;
    line-height: 0.95;
}

.model-overview-rating-stars {
    margin-top: 0.55rem;
    color: #fbbf24;
    font-size: 1.35rem;
}

.model-overview-rating-vote {
    padding: 0;
    margin-top: 0.55rem;
    border: 0;
    background: transparent;
    color: #fbbf24;
    text-align: left;
}

.model-overview-rating-summary span {
    display: block;
    margin-top: 0.55rem;
    color: #64748b;
}

.model-overview-rating-summary small {
    display: block;
    margin-top: 0.5rem;
    color: #2563eb;
    font-weight: 700;
}

.model-overview-rating-breakdown {
    display: grid;
    gap: 0.65rem;
}

.model-overview-rating-bar-row {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 30px;
    gap: 0.8rem;
    align-items: center;
    color: #475569;
}

.model-overview-rating-bar {
    height: 8px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.model-overview-rating-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #facc15 0%, #f59e0b 100%);
}

.model-overview-reviews-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.85rem;
    margin-top: 1.25rem;
}

.model-overview-reviews-cta,
.model-overview-reviews-secondary {
    min-height: 52px;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    text-decoration: none;
    font-weight: 800;
}

.model-overview-reviews-cta {
    width: 100%;
    border: 1px solid #bfdbfe;
    color: #2563eb;
}

.model-overview-reviews-secondary {
    padding: 0.9rem 1.2rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #0f172a;
}

.model-showcase-section-card {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 1.5rem;
    padding: 1.2rem;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.model-showcase-asset-card {
    border-radius: 1.25rem;
    border: 1px solid #edf2f7;
}

@media (max-width: 768px) {
    .mm-qz-modern {
        max-width: 100%;
    }

    .mm-qz-head {
        text-align: left;
        margin-bottom: .55rem;
    }

    .mm-qz-head h1 {
        font-size: clamp(1.45rem, 7vw, 2rem);
    }

    .mm-qz-head p {
        font-size: .9rem;
    }

    .mm-qz-notice {
        padding: .62rem .72rem;
        font-size: .86rem;
    }

    .mm-qz-card {
        border-radius: .95rem;
    }

    #app-main {
        padding-top: 0 !important;
        padding-bottom: 6.75rem !important;
    }

    body.is-home-page #app-main {
        padding-top: 0 !important;
    }

    body.is-model-detail-page #app-main {
        padding-top: 0 !important;
        padding-bottom: 9.35rem !important;
    }

    body.app-mobile-nav-collapsed #app-main {
        padding-bottom: 2.5rem !important;
    }

    .navbar .container-lg {
        min-height: 4.8rem;
    }

    .app-shell-nav-button {
        padding-inline: 0.85rem !important;
    }

    .home-page .container-lg,
    .dashboard-home-shell,
    .forum-page-main,
    .forum-resource-page,
    .home-services-section .container-lg,
    .home-section .container-lg {
        padding-inline: 12px;
    }

    .home-page {
        gap: 1rem;
    }

    .home-hero {
        padding-top: 0;
    }

    .app-flash-overlay {
        padding: 0.75rem;
    }

    .app-flash-modal {
        width: 100%;
        max-height: calc(100vh - 1.5rem);
        border-radius: 1.25rem;
        padding: 1rem;
    }

    .app-flash-card {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .app-runtime-notice-actions {
        width: 100%;
    }

    .app-runtime-notice-read-all {
        width: 100%;
    }

    .app-flash-card-icon {
        width: 2.75rem;
        height: 2.75rem;
    }

    .app-flash-close {
        width: 100%;
        min-width: 0;
        justify-self: stretch;
    }

    .home-hero-panel {
        border-radius: 0;
        min-height: auto;
    }

    .home-hero-inner {
        padding: 1.35rem 12px 1rem;
    }

    .home-hero-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .home-hero-copy {
        max-width: none;
    }

    .home-title {
        font-size: clamp(2.35rem, 10vw, 3.5rem);
    }

    .home-lead {
        font-size: 1rem;
        line-height: 1.58;
    }

    .home-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .home-hero-button {
        width: 100%;
        justify-content: center;
        min-height: 56px;
    }

    .home-hero-brands {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.6rem;
        margin-top: 1rem;
        padding-top: 0.95rem;
    }

    .home-hero-brand-chip {
        min-height: 50px;
        padding: 0.55rem 0.5rem;
    }

    .home-hero-brand-chip img {
        max-height: 20px;
    }

    .home-service-grid,
    .home-core-grid,
    .home-promo-grid,
    .home-brand-strip,
    .home-trust-strip {
        grid-template-columns: 1fr;
    }

    .home-service-card,
    .home-core-card,
    .home-promo-card,
    .home-final-cta {
        border-radius: 22px;
    }

    .home-service-card h2,
    .home-core-card h3 {
        font-size: 1.55rem;
    }

    .home-promo-card {
        min-height: 0;
        padding: 1.3rem;
    }

    .home-promo-card h3 {
        font-size: 1.8rem;
    }

    .home-promo-image {
        width: calc(100% + 2.6rem);
        margin: 0 -1.3rem -1.3rem;
    }

    .home-final-cta {
        grid-template-columns: 1fr;
        padding: 1.35rem;
    }

    .home-final-visual {
        order: 3;
    }

    .home-final-benefits {
        order: 2;
    }

    .home-final-copy .btn {
        width: 100%;
        justify-content: center;
    }

    .home-final-benefit {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .home-final-benefit i {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }

    .home-trust-strip {
        padding: 0;
    }

    .home-trust-strip span {
        justify-content: flex-start;
        padding: 0 0.4rem;
    }

    .home-brand-chip {
        min-height: 72px;
    }

    .dashboard-home-page {
        gap: 1rem;
    }

    .dashboard-home-hero {
        margin-top: -1.5rem;
        padding-top: 1.5rem;
    }

    .dashboard-home-hero-panel {
        grid-template-columns: 1fr;
        padding: 1.1rem 0 1.25rem;
    }

    .dashboard-home-hero-copy {
        padding: 1rem 0 0;
    }

    .dashboard-home-title {
        font-size: clamp(2.2rem, 10vw, 3.3rem);
    }

    .dashboard-home-lead {
        font-size: 0.98rem;
        line-height: 1.58;
    }

    .dashboard-home-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dashboard-home-hero-actions .home-hero-button {
        width: 100%;
        justify-content: center;
    }

    .dashboard-home-hero-stats {
        grid-template-columns: 1fr 1fr;
    }

    .dashboard-home-hero-stat {
        min-height: 136px;
        padding: 1rem;
    }

    .dashboard-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 1.2rem 1.1rem;
    }

    .dashboard-banner .btn {
        width: 100%;
    }

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

    .dashboard-link-grid {
        grid-template-columns: 1fr;
    }

    .android-app-promo {
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
        gap: 0.9rem;
        padding: 1rem;
        border-radius: 1.25rem;
        margin-bottom: 1.35rem;
    }

    .android-app-promo-home {
        margin-top: -0.9rem;
        width: calc(100% - 1.5rem);
    }

    .android-app-promo-visual {
        width: 58px;
        height: 58px;
        border-radius: 1rem;
    }

    .android-app-promo-logo {
        width: 44px;
        height: 44px;
    }

    .android-app-promo-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        justify-items: stretch;
        min-width: 0;
    }

    .android-app-promo-store-note {
        text-align: center;
    }

    .android-app-promo-features {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .android-app-promo-features span {
        justify-content: center;
        min-width: 0;
        font-size: 0.8rem;
    }

    .brand-browser-shell {
        border-radius: 1.3rem;
    }

    .brand-browser-top {
        flex-direction: column;
        gap: 1rem;
    }

    .brand-browser-title {
        font-size: 2.2rem;
    }

    .brand-browser-description {
        font-size: 0.98rem;
        line-height: 1.45;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .brand-browser-actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brand-browser-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .brand-browser-admin-action {
        grid-column: 1 / -1;
    }

    .brand-browser-social {
        display: none !important;
    }

    .brand-browser-stats {
        gap: 0.5rem;
    }

    .brand-browser-stat {
        padding: 0.48rem 0.72rem;
    }

    .brand-browser-search-row {
        grid-template-columns: 1fr 1fr;
    }

    .brand-browser-title-row {
        gap: 0.85rem;
    }

    .brand-browser-logo-wrap {
        width: 64px;
        height: 64px;
        border-radius: 1rem;
    }

    .brand-browser-search-input {
        grid-column: 1 / -1;
    }

    .brand-browser-search-btn,
    .brand-browser-filter-btn,
    .brand-browser-reset-btn {
        min-height: 52px;
        padding-inline: 0.85rem;
    }

    .brand-browser-filters {
        padding: 0.9rem;
    }

    .analytics-period-form {
        width: 100%;
    }

    .analytics-period-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .analytics-online-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .btn-lg {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }

    .garage-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .garage-card {
        max-width: 100%;
    }

    .garage-card-actions .btn {
        flex-basis: calc(50% - 0.375rem);
    }

    .brand-logo-frame {
        height: 150px;
        padding: 0.85rem;
    }

    .brand-family-cover {
        height: 300px;
        padding: 0;
    }

    .brand-family-actions {
        gap: 0.5rem;
    }

    .brand-family-actions .btn {
        font-size: 0.84rem;
        min-height: 44px;
    }

    .social-link-pending-item {
        flex-direction: column;
    }

    .model-action-grid {
        display: flex;
        gap: 0.75rem;
        overflow-x: auto;
        padding-bottom: 0.35rem;
        margin-right: -0.25rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .model-action-grid .btn {
        flex: 0 0 auto;
        min-width: 148px;
        padding: 0.82rem 0.95rem;
        font-size: 0.94rem;
        line-height: 1.25;
        border-radius: 1rem;
        scroll-snap-align: start;
    }

    .model-action-grid > .dropdown {
        flex: 0 0 auto;
        min-width: 148px;
        scroll-snap-align: start;
    }

    .model-hero-card {
        padding: 0.7rem;
        border-radius: 1.25rem;
    }

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

    .model-hero-media {
        display: grid;
        min-height: 0;
        border-radius: 1.15rem;
        overflow: visible;
        background: transparent;
    }

    .model-hero-image {
        height: 260px;
        border-radius: 1.05rem;
        object-fit: contain;
        background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
    }

    .model-hero-placeholder {
        height: 260px;
    }

    .model-hero-overlay {
        display: none;
    }

    .model-hero-copy {
        position: static;
        margin-top: 0.7rem;
        padding: 0;
        color: #0f172a;
    }

    .model-hero-copy .section-kicker {
        color: #2563eb !important;
    }

    .model-hero-title {
        color: #0f172a;
        text-shadow: none;
    }

    .model-hero-subtitle {
        color: #64748b;
    }

    .model-hero-subtitle {
        font-size: 1rem;
    }

    .model-mobile-meta-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.45rem;
        margin-top: 0.8rem;
    }

    .model-mobile-meta-chip {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.35rem;
        padding: 0.52rem 0.58rem;
        border-radius: 0.9rem;
        background: #ffffff;
        border: 1px solid rgba(148, 163, 184, 0.18);
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
    }

    .model-mobile-meta-chip span {
        min-width: 0;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 800;
        line-height: 1.1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .model-mobile-meta-chip strong {
        color: #0f172a;
        font-size: 0.86rem;
        font-weight: 900;
        line-height: 1;
        flex: 0 0 auto;
    }

    .model-hero-rating {
        width: 100%;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 0.55rem 0.75rem;
        margin-top: 0.75rem;
        padding: 0.78rem;
        border-radius: 1.05rem;
        background: #0f172a;
        color: #ffffff;
        box-shadow: 0 16px 32px rgba(15, 23, 42, 0.2);
        backdrop-filter: none;
    }

    .model-hero-rating-stars {
        font-size: 0.98rem;
    }

    .model-rating-meta strong {
        font-size: 1rem;
    }

    .model-rating-meta span {
        font-size: 0.78rem;
    }

    .model-rating-leaderboard-link,
    .model-review-actions {
        grid-column: 1 / -1;
        width: 100%;
        margin-left: 0;
    }

    .model-review-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
    }

    .model-review-action,
    .model-rating-leaderboard-link {
        min-height: 40px;
        padding: 0.48rem 0.62rem;
        font-size: 0.78rem;
        line-height: 1.15;
        white-space: normal;
    }

    .model-rating-leaderboard-link {
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.07);
    }

    .model-review-actions {
        width: 100%;
    }

    .model-review-action {
        flex: 1 1 220px;
    }

    .model-review-panel-header {
        flex-direction: column;
    }

    .model-review-panel-link {
        width: 100%;
    }

    .model-action-grid-hero {
        display: flex;
        overflow-x: auto;
        padding-bottom: 0.35rem;
        margin-right: -0.25rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .model-action-grid-hero .btn,
    .model-action-grid-hero > .dropdown,
    .model-action-grid-hero > form {
        flex: 0 0 auto;
        min-width: 156px;
        scroll-snap-align: start;
    }

    .model-action-grid-hero {
        display: none;
    }

    .model-detail-tabs {
        display: none;
    }

    .model-mobile-nav-rail {
        position: sticky;
        top: calc(env(safe-area-inset-top, 0px) + 0.55rem);
        z-index: 30;
        display: flex;
        align-items: center;
        gap: 0.35rem;
        margin: -1.5rem -0.15rem 1rem;
        padding: 0.36rem;
        border-radius: 999px;
        background: rgba(15, 23, 42, 0.92);
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 16px 34px rgba(15, 23, 42, 0.22);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        backdrop-filter: blur(14px);
        scrollbar-width: none;
    }

    .model-mobile-nav-rail::-webkit-scrollbar {
        display: none;
    }

    .model-mobile-rail-link,
    .model-mobile-rail-more {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        min-height: 38px;
        padding: 0.45rem 0.72rem;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: rgba(255, 255, 255, 0.72);
        text-decoration: none;
        font-size: 0.78rem;
        font-weight: 800;
        line-height: 1;
        white-space: nowrap;
    }

    .model-mobile-rail-link i,
    .model-mobile-rail-more i {
        font-size: 0.95rem;
    }

    .model-mobile-rail-link.is-active {
        background: #ffffff;
        color: #1d4ed8;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
    }

    .model-mobile-rail-more {
        width: 38px;
        padding-inline: 0;
        background: rgba(255, 255, 255, 0.1);
    }

    .model-hero-shell {
        padding-top: 0;
    }

    .model-mobile-nav-toggle {
        position: sticky;
        top: calc(env(safe-area-inset-top, 0px) + 0.65rem);
        z-index: 20;
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        gap: 0.8rem;
        padding: 0.82rem 0.98rem;
        margin-bottom: 1rem;
        border-radius: 1.15rem;
        background: linear-gradient(90deg, rgba(15, 23, 42, 0.97), rgba(29, 78, 216, 0.94));
        border: 1px solid rgba(191, 219, 254, 0.18);
        color: #ffffff;
        box-shadow: 0 16px 28px rgba(15, 23, 42, 0.18);
        backdrop-filter: blur(12px);
    }

    .model-mobile-nav-toggle:hover,
    .model-mobile-nav-toggle:focus {
        color: #ffffff;
        border-color: rgba(191, 219, 254, 0.32);
    }

    .model-mobile-nav-toggle-icon {
        width: 36px;
        height: 36px;
        border-radius: 0.9rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.14);
        font-size: 1rem;
        flex: 0 0 auto;
    }

    .model-mobile-nav-toggle-copy {
        display: flex;
        align-items: center;
        min-width: 0;
        flex: 1 1 auto;
    }

    .model-mobile-nav-toggle-copy strong {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.94rem;
        font-weight: 800;
    }

    .model-mobile-nav-toggle-label {
        color: rgba(255, 255, 255, 0.96);
    }

    .model-mobile-nav-toggle-separator {
        color: rgba(191, 219, 254, 0.72);
        flex: 0 0 auto;
    }

    #modelMobileCurrentLabel {
        color: #bfdbfe;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .model-mobile-nav-toggle-caret {
        width: 32px;
        height: 32px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.1);
        color: rgba(255, 255, 255, 0.92);
        flex: 0 0 auto;
    }

    .social-link-list.is-mobile-emoji-only {
        gap: 0.45rem;
    }

    .social-link-list.is-mobile-emoji-only .social-link-chip {
        width: 44px;
        height: 44px;
        justify-content: center;
        padding: 0;
    }

    .social-link-list.is-mobile-emoji-only .social-link-chip-label {
        display: none;
    }

    .model-detail-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        white-space: nowrap;
        padding-bottom: 0.35rem;
    }

    .model-detail-tabs .nav-item {
        flex: 0 0 auto;
    }

    .model-detail-tabs .nav-link {
        padding: 0.75rem 0.95rem;
        border-radius: 0.9rem 0.9rem 0 0;
    }

    .model-side-card {
        margin-top: -0.5rem;
    }

    .app-footer {
        padding-bottom: 5.75rem !important;
    }

    body.app-mobile-nav-collapsed .app-footer {
        padding-bottom: 2rem !important;
    }

    .maintenance-photo-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .maintenance-card-actions,
    .maintenance-side-actions {
        flex-direction: column;
    }

    .maintenance-card-actions .btn,
    .maintenance-side-actions .btn,
    .maintenance-inline-photo {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .brand-browser-title-row {
        align-items: flex-start;
    }

    .brand-browser-logo-wrap {
        width: 58px;
        height: 58px;
        padding: 0.5rem;
    }

    .model-hero-media {
        min-height: 0;
    }

    .model-hero-image,
    .model-hero-placeholder {
        height: 230px;
    }

    .model-hero-shell {
        padding-top: 0;
    }

    .model-mobile-nav-toggle {
        top: calc(env(safe-area-inset-top, 0px) + 0.55rem);
        padding: 0.72rem 0.86rem;
        gap: 0.6rem;
        border-radius: 1rem;
    }

    .model-mobile-nav-toggle-icon {
        width: 34px;
        height: 34px;
        border-radius: 0.8rem;
    }

    .model-mobile-nav-toggle-copy strong {
        font-size: 0.86rem;
    }

    .model-hero-floating-badges {
        top: 0.9rem;
        left: 0.9rem;
        right: 0.9rem;
    }

    .model-hero-pill {
        padding: 0.44rem 0.72rem;
        font-size: 0.8rem;
    }

    .model-hero-copy {
        padding: 0;
    }

    .model-hero-title {
        font-size: 2rem;
    }

    .model-hero-rating {
        width: 100%;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        justify-content: stretch;
        padding: 0.72rem;
        border-radius: 1rem;
        background: #0f172a;
        box-shadow: 0 16px 32px rgba(15, 23, 42, 0.2);
    }

    .model-rating-leaderboard-link,
    .model-review-actions {
        grid-column: 1 / -1;
        width: 100%;
    }

    .model-review-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.55rem;
    }

    .model-review-action {
        width: 100%;
        min-height: 40px;
        padding: 0.48rem 0.58rem;
        flex: 1 1 auto;
        line-height: 1.18;
        white-space: normal;
    }

    .model-rating-leaderboard-link {
        min-height: 44px;
    }

    .model-review-form-footer {
        align-items: stretch;
    }

    .model-review-submit {
        width: 100%;
    }

    .model-hero-panel {
        padding: 1rem;
        border-radius: 1.2rem;
    }

    .brand-family-cover {
        height: 280px;
    }

    .brand-family-cover-content {
        padding: 0.85rem 0.85rem 0.95rem;
    }

    .brand-family-cover-title {
        font-size: 1.32rem;
    }

    .brand-family-actions .btn {
        font-size: 0.78rem;
        min-height: 42px;
    }
}

/* =====================================================
   Comparisons
   ===================================================== */

.app-shell-compare-menu {
    width: 360px;
    max-width: calc(100vw - 2rem);
    padding: 0.9rem;
    background: linear-gradient(180deg, rgba(8, 17, 34, 0.98), rgba(11, 20, 36, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.app-shell-compare-menu-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: baseline;
    margin-bottom: 0.75rem;
}

.app-shell-compare-menu-head small {
    color: rgba(255, 255, 255, 0.68);
}

.app-shell-compare-empty {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    color: rgba(255, 255, 255, 0.72);
    padding: 0.85rem 0;
}

.app-shell-compare-empty i {
    color: #2b74ff;
    font-size: 1.25rem;
}

.app-shell-compare-row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0.7rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.app-shell-compare-copy {
    min-width: 0;
}

.app-shell-compare-copy strong,
.app-shell-compare-copy small {
    display: block;
}

.app-shell-compare-copy strong {
    font-size: 0.95rem;
    line-height: 1.3;
    color: #ffffff;
}

.app-shell-compare-copy small {
    color: rgba(255, 255, 255, 0.68);
    margin-top: 0.22rem;
}

.app-shell-compare-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: transparent;
    color: rgba(255, 255, 255, 0.8);
}

.app-shell-compare-actions {
    display: flex;
    gap: 0.6rem;
    margin-top: 0.85rem;
}

.comparison-shell {
    width: min(1720px, calc(100% - 2rem));
    margin: 0 auto;
}

.comparison-page {
    background: #07111f;
    color: #ffffff;
    min-height: calc(100vh - 80px);
}

.comparison-page-builder,
.comparison-page-history,
.comparison-page-admin {
    background:
        radial-gradient(circle at top left, rgba(30, 64, 175, 0.12), transparent 30%),
        linear-gradient(180deg, #07111f 0%, #0a1627 24%, #f6f9ff 24%, #f6f9ff 100%);
}

.comparison-page-builder {
    background: #f6f9ff;
}

.comparison-hero {
    position: relative;
    overflow: hidden;
    padding: 0 0 2rem;
}

.comparison-page-builder .comparison-hero {
    background: #07111f;
}

.comparison-hero-media,
.comparison-hero-overlay {
    position: absolute;
    inset: 0;
}

.comparison-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.comparison-hero-overlay {
    background:
        linear-gradient(180deg, rgba(7, 17, 31, 0.65), rgba(7, 17, 31, 0.82)),
        radial-gradient(circle at center, rgba(31, 98, 255, 0.2), transparent 30%);
}

.comparison-hero-content,
.comparison-builder-card,
.comparison-results-topline,
.comparison-results-head {
    position: relative;
    z-index: 2;
}

.comparison-hero-content {
    max-width: 760px;
    padding: 3rem 0 1.5rem;
}

.comparison-hero-title {
    margin: 0;
    font-size: clamp(2.8rem, 6vw, 5rem);
    line-height: 0.96;
    font-weight: 900;
    letter-spacing: -0.05em;
}

.comparison-hero-title span {
    color: #2b74ff;
}

.comparison-hero-copy {
    margin: 1rem 0 0;
    max-width: 720px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.08rem;
    line-height: 1.8;
}

.comparison-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1.3rem;
}

.comparison-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(7, 17, 31, 0.45);
    color: rgba(255, 255, 255, 0.82);
}

.comparison-builder-card,
.comparison-surface,
.comparison-history-card,
.comparison-history-row,
.comparison-scoreboard-card,
.comparison-admin-table,
.comparison-admin-kpi {
    border: 1px solid rgba(30, 49, 84, 0.08);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 30px 60px rgba(21, 38, 71, 0.08);
}

.comparison-builder-card {
    margin-top: 1.8rem;
    border-radius: 1.7rem;
    padding: 1.5rem;
}

.comparison-builder-head-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.comparison-add-slot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 50px;
    padding: 0.85rem 1.2rem;
    border-radius: 1rem;
    border: 1px solid rgba(34, 85, 185, 0.14);
    background: rgba(238, 244, 255, 0.95);
    color: #1955dd;
    font-weight: 800;
    box-shadow: 0 18px 32px rgba(18, 42, 92, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.comparison-add-slot-btn:hover,
.comparison-add-slot-btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 22px 38px rgba(18, 42, 92, 0.12);
    color: #1147c4;
}

.comparison-add-slot-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.comparison-builder-head,
.comparison-section-head,
.comparison-results-topline,
.comparison-results-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.comparison-builder-head h2,
.comparison-section-head h2,
.comparison-section-head h1,
.comparison-results-head h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.55rem, 2vw, 2.15rem);
    font-weight: 800;
}

.comparison-builder-head p,
.comparison-section-head p,
.comparison-results-head p {
    margin: 0.45rem 0 0;
    color: #5c6d88;
    line-height: 1.7;
}

.comparison-builder-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 1.15rem;
    padding: 0.9rem 1rem;
    border-radius: 1.1rem;
    background: linear-gradient(180deg, rgba(236, 243, 255, 0.92), rgba(249, 251, 255, 0.98));
    border: 1px solid rgba(25, 85, 221, 0.08);
}

.comparison-builder-progress {
    display: inline-flex;
    align-items: baseline;
    gap: 0.55rem;
}

.comparison-builder-progress strong {
    color: #1955dd;
    font-size: 1.35rem;
    font-weight: 900;
}

.comparison-builder-progress span,
.comparison-builder-status small {
    color: #5c6d88;
    font-weight: 600;
}

.comparison-slot-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.3rem;
}

.comparison-slot {
    display: block;
    padding: 1rem;
    border-radius: 1.25rem;
    background: linear-gradient(180deg, rgba(7, 17, 31, 0.96), rgba(11, 22, 39, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.comparison-slot.is-complete {
    background: linear-gradient(180deg, rgba(8, 20, 38, 0.98), rgba(11, 26, 49, 0.98));
    border-color: rgba(43, 116, 255, 0.22);
    box-shadow: inset 0 0 0 1px rgba(43, 116, 255, 0.08);
}

.comparison-slot.is-hidden {
    display: none;
}

.comparison-slot-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.comparison-slot-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 0.85rem;
    background: rgba(17, 71, 196, 0.28);
    color: #ffffff;
    font-weight: 800;
}

.comparison-slot-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.82);
}

.comparison-slot-remove:hover,
.comparison-slot-remove:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
}

.comparison-slot-field {
    display: block;
    margin-bottom: 0.7rem;
}

.comparison-slot-field:last-child {
    margin-bottom: 0;
}

.comparison-slot-field span {
    display: block;
    margin-bottom: 0.4rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.85rem;
    font-weight: 700;
}

.comparison-slot-field .form-select {
    border-radius: 0.95rem;
    min-height: 48px;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.comparison-slot-field .form-select option {
    background: #ffffff;
    color: #0f172a;
}

.comparison-slot-field .form-select:focus {
    border-color: rgba(43, 116, 255, 0.65);
    box-shadow: 0 0 0 0.2rem rgba(43, 116, 255, 0.16);
}

.comparison-slot-stage {
    display: block;
}

.comparison-stage-chip-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
}

.comparison-stage-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(43, 116, 255, 0.14);
    color: #dce8ff;
    font-size: 0.84rem;
    font-weight: 800;
}

.comparison-stage-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #89abff;
    font-weight: 700;
}

.comparison-stage-link:hover,
.comparison-stage-link:focus {
    color: #ffffff;
}

.comparison-slot-variant-panel {
    border-radius: 1rem;
    padding: 0.95rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.comparison-slot-variant-title {
    display: block;
    margin-bottom: 0.8rem;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.88rem;
    font-weight: 800;
}

.comparison-variant-grid {
    display: grid;
    gap: 0.7rem;
}

.comparison-variant-card {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    width: 100%;
    padding: 0.8rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    text-align: left;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.comparison-variant-card:hover,
.comparison-variant-card:focus {
    border-color: rgba(43, 116, 255, 0.45);
    background: rgba(43, 116, 255, 0.12);
    transform: translateY(-1px);
}

.comparison-variant-card.is-selected {
    border-color: rgba(43, 116, 255, 0.65);
    background: rgba(43, 116, 255, 0.18);
    box-shadow: 0 18px 30px rgba(7, 17, 31, 0.18);
}

.comparison-variant-card-media,
.comparison-variant-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 58px;
    border-radius: 0.8rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
}

.comparison-variant-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.comparison-variant-card-placeholder {
    color: rgba(255, 255, 255, 0.56);
    font-size: 1.3rem;
}

.comparison-variant-card-copy strong {
    display: block;
    color: #ffffff;
    font-size: 0.98rem;
    font-weight: 800;
}

.comparison-variant-card-copy small {
    display: block;
    margin-top: 0.15rem;
    color: rgba(255, 255, 255, 0.72);
}

.comparison-slot-summary {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: center;
    min-height: 104px;
}

.comparison-slot-summary-media,
.comparison-slot-summary-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    border-radius: 1rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
}

.comparison-slot-summary-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.comparison-slot-summary-placeholder {
    color: rgba(255, 255, 255, 0.55);
    font-size: 1.5rem;
}

.comparison-slot-summary-kicker {
    display: block;
    color: #80a5ff;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
    font-size: 0.74rem;
}

.comparison-slot-summary-copy strong {
    display: block;
    margin-top: 0.22rem;
    color: #ffffff;
    font-size: 1.08rem;
    font-weight: 900;
}

.comparison-slot-summary-copy span {
    display: block;
    margin-top: 0.28rem;
    color: rgba(255, 255, 255, 0.72);
}

.comparison-slot-summary-actions {
    display: flex;
    justify-content: flex-end;
}

.comparison-builder-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    justify-content: center;
    margin-top: 1.15rem;
}

.comparison-add-slot-btn-inline {
    min-width: 280px;
}

.comparison-submit {
    min-width: 280px;
    border-radius: 1rem;
    padding: 0.95rem 1.45rem;
    font-weight: 800;
}

.comparison-shell-content {
    padding: 2.2rem 0 4rem;
}

@media (min-width: 1440px) {
    .comparison-slot-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.comparison-how-grid,
.comparison-history-grid,
.comparison-scoreboard-grid,
.comparison-admin-kpis {
    display: grid;
    gap: 1rem;
}

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

.comparison-how-item {
    display: flex;
    gap: 1rem;
    padding: 1rem 0;
}

.comparison-how-item i {
    width: 42px;
    height: 42px;
    border-radius: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(43, 116, 255, 0.1);
    color: #2b74ff;
    font-size: 1.1rem;
}

.comparison-how-item strong,
.comparison-how-item p,
.comparison-history-card strong,
.comparison-history-card span,
.comparison-history-row strong,
.comparison-history-row small,
.comparison-admin-kpi strong,
.comparison-admin-kpi span,
.comparison-admin-row span,
.comparison-admin-row strong {
    color: #0f172a;
}

.comparison-how-item p,
.comparison-history-card small,
.comparison-history-row small {
    color: #667892;
}

.comparison-surface,
.comparison-history-row,
.comparison-scoreboard-card,
.comparison-admin-table {
    border-radius: 1.7rem;
    padding: 1.5rem;
}

.comparison-history-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.comparison-history-card {
    border-radius: 1.35rem;
    padding: 1rem;
    text-decoration: none;
}

.comparison-history-card strong,
.comparison-history-card span,
.comparison-history-card small {
    display: block;
}

.comparison-history-card span {
    margin-top: 0.35rem;
}

.comparison-empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: #5b6b84;
}

.comparison-empty-state i {
    font-size: 2.25rem;
    color: #2b74ff;
}

.comparison-results-topline {
    position: relative;
    z-index: 2;
    margin-bottom: 1rem;
}

.comparison-back-link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.comparison-mobile-tabs {
    display: none;
}

.comparison-results-board {
    overflow: hidden;
}

.comparison-result-cards,
.comparison-metric-row {
    display: grid;
    grid-template-columns: 260px repeat(var(--comparison-model-count, 4), minmax(0, 1fr));
}

.comparison-result-cards {
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.comparison-result-label-col {
    padding-right: 1rem;
}

.comparison-result-label-col h2 {
    color: #0f172a;
    font-weight: 800;
    font-size: 2rem;
}

.comparison-result-label-col p {
    color: #60728c;
}

.comparison-model-card {
    position: relative;
    padding: 1rem 1rem 1.05rem;
    border-radius: 1.2rem;
    background: linear-gradient(180deg, #0a1322, #101c31);
    color: #ffffff;
    min-height: 220px;
    overflow: hidden;
    isolation: isolate;
}

.comparison-model-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(6, 12, 24, 0.76) 0%, rgba(10, 18, 34, 0.56) 36%, rgba(10, 18, 34, 0.18) 62%, rgba(10, 18, 34, 0.72) 100%);
    z-index: 1;
    pointer-events: none;
}

.comparison-model-card > * {
    position: relative;
    z-index: 2;
}

.comparison-model-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    border-radius: 0.65rem;
    background: #1e66ff;
    font-size: 0.8rem;
    font-weight: 800;
}

.comparison-model-card strong,
.comparison-model-card small {
    display: block;
}

.comparison-model-card strong {
    margin-top: 0.7rem;
    font-size: 1rem;
    line-height: 1.35;
    max-width: 16ch;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.4);
}

.comparison-model-card small {
    color: rgba(255, 255, 255, 0.7);
    text-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
}

.comparison-model-card img,
.comparison-model-card-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    margin-top: 0;
}

.comparison-model-card img {
    object-fit: cover;
    object-position: center 58%;
    transform: scale(1.02);
}

.comparison-model-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.2);
    font-size: 3rem;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.05), transparent 55%);
}

.comparison-metric-head {
    margin: 1rem 0 0.75rem;
    color: #0f172a;
    font-weight: 800;
    font-size: 1.15rem;
}

.comparison-metric-row {
    align-items: stretch;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.comparison-metric-label,
.comparison-metric-value {
    padding: 0.95rem 1rem;
    color: #172036;
}

.comparison-metric-label {
    font-weight: 700;
    color: #36465f;
}

.comparison-metric-value {
    border-left: 1px solid rgba(15, 23, 42, 0.05);
}

.comparison-metric-value.is-best {
    background: rgba(49, 166, 92, 0.12);
}

.comparison-stars {
    display: inline-flex;
    gap: 0.12rem;
    color: #f6b400;
    margin-right: 0.45rem;
}

.comparison-value-empty {
    color: #90a0b7;
}

.comparison-scoreboard-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 1.5rem;
}

.comparison-scoreboard-card h3 {
    color: #ffffff;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.comparison-scoreboard-card {
    background: linear-gradient(180deg, #091320, #0e192d);
    border-color: rgba(255, 255, 255, 0.06);
}

.comparison-scoreboard-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto auto;
    gap: 0.65rem;
    align-items: center;
    padding: 0.65rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.88);
}

.comparison-scoreboard-row:first-of-type {
    border-top: 0;
}

.comparison-scoreboard-order {
    width: 28px;
    height: 28px;
    border-radius: 0.65rem;
    background: rgba(43, 116, 255, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 800;
}

.comparison-scoreboard-stars {
    color: #f6b400;
    white-space: nowrap;
}

.comparison-history-list {
    display: grid;
    gap: 1rem;
}

.comparison-history-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    text-decoration: none;
}

.comparison-admin-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.comparison-admin-kpi {
    border-radius: 1.35rem;
    padding: 1rem 1.1rem;
}

.comparison-admin-kpi span,
.comparison-admin-kpi strong {
    display: block;
}

.comparison-admin-kpi strong {
    font-size: 1.8rem;
    margin-top: 0.3rem;
}

.comparison-admin-table h2 {
    color: #0f172a;
    font-weight: 800;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.comparison-admin-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.comparison-admin-row:first-of-type {
    border-top: 0;
}

.comparison-shell-app {
    position: relative;
    padding-top: 2.2rem;
    padding-bottom: 2.3rem;
}

.comparison-hero-app {
    min-height: 520px;
}

.comparison-hero-app .comparison-hero-overlay {
    background:
        radial-gradient(circle at 20% 22%, rgba(32, 98, 255, 0.18), transparent 26%),
        radial-gradient(circle at 50% 48%, rgba(26, 41, 77, 0.18), transparent 28%),
        linear-gradient(180deg, rgba(4, 9, 20, 0.88), rgba(5, 11, 23, 0.72) 38%, rgba(6, 13, 26, 0.94));
}

.comparison-hero-deck {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.4rem;
    align-items: end;
}

.comparison-hero-copy-panel {
    padding: 0;
    max-width: 760px;
}

.comparison-hero-copy-panel .comparison-hero-title {
    max-width: 10ch;
    line-height: 0.92;
    margin-bottom: 0.95rem;
}

.comparison-hero-copy-panel .comparison-hero-copy {
    max-width: 700px;
    font-size: 1.05rem;
    line-height: 1.62;
    color: rgba(233, 241, 255, 0.82);
}

.comparison-hero-side-rail {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 0.9rem;
    min-width: 360px;
}

.comparison-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 0.8rem;
}

.comparison-hero-meta-right,
.comparison-hero-points-right {
    justify-content: flex-end;
}

.comparison-hero-points span {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 42px;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(132, 166, 255, 0.12);
    background: rgba(9, 18, 35, 0.38);
    color: #e9f1ff;
    font-weight: 700;
}

.comparison-hero-points i {
    color: #4f88ff;
}

.comparison-builder-hangar {
    margin-top: 2rem;
    position: relative;
    z-index: 3;
}

.comparison-page-app .comparison-builder-card {
    margin-top: 0;
    padding: 1.45rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 249, 255, 0.99));
    box-shadow: 0 24px 48px rgba(12, 24, 46, 0.08);
    border-radius: 1.75rem;
}

.comparison-page-app .comparison-builder-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
}

.comparison-builder-head-app h2 {
    margin: 0;
    color: #111b34;
    font-size: 2rem;
    font-weight: 900;
}

.comparison-page-app .comparison-builder-head p {
    margin: 0.5rem 0 0;
    max-width: 760px;
    color: #627290;
    line-height: 1.64;
}

.comparison-builder-head-actions {
    display: flex;
    justify-content: flex-end;
}

.comparison-builder-status-app {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    margin-top: 1.15rem;
    padding: 0.95rem 1.05rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(123, 162, 255, 0.12);
    background: linear-gradient(180deg, rgba(240, 246, 255, 0.96), rgba(235, 243, 255, 0.94));
}

.comparison-builder-status-app small {
    text-align: right;
    color: #5f718d;
    font-weight: 600;
}

.comparison-selected-stage {
    margin-top: 1.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.comparison-selected-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 1rem;
}

.comparison-selection-card {
    position: relative;
    flex: 0 1 330px;
    max-width: 360px;
    min-width: min(100%, 290px);
    min-height: 204px;
    border-radius: 1.45rem;
    overflow: hidden;
    border: 1px solid rgba(104, 142, 230, 0.16);
    background:
        radial-gradient(circle at top left, rgba(39, 95, 255, 0.2), transparent 36%),
        linear-gradient(180deg, rgba(12, 24, 45, 0.98), rgba(9, 18, 36, 0.98));
    box-shadow: 0 20px 44px rgba(6, 12, 24, 0.28);
}

.comparison-selection-card.is-empty {
    background:
        radial-gradient(circle at top center, rgba(70, 118, 255, 0.14), transparent 35%),
        linear-gradient(180deg, rgba(17, 29, 50, 0.95), rgba(10, 19, 37, 0.95));
    border: 1px dashed rgba(121, 159, 255, 0.28);
}

.comparison-selection-card-order {
    position: absolute;
    top: 0.9rem;
    left: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 0.95rem;
    background: linear-gradient(135deg, #1f63ff, #2954ff);
    color: #ffffff;
    font-weight: 900;
    z-index: 2;
}

.comparison-selection-remove {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.82);
    z-index: 2;
}

.comparison-selection-remove.is-hidden {
    display: none;
}

.comparison-selection-empty,
.comparison-selection-filled {
    height: 100%;
}

.comparison-selection-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    padding: 2rem 1.5rem 1.55rem;
    text-align: center;
}

.comparison-selection-empty.is-hidden,
.comparison-selection-filled.is-hidden {
    display: none;
}

.comparison-selection-empty-icon {
    width: 84px;
    height: 84px;
    border-radius: 1.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(34, 88, 255, 0.16);
    color: #90b2ff;
    font-size: 1.8rem;
}

.comparison-selection-empty strong {
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 900;
}

.comparison-selection-empty span {
    color: rgba(216, 230, 255, 0.72);
    max-width: 230px;
}

.comparison-selection-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.85rem 1.15rem;
    border-radius: 0.95rem;
    border: 0;
    background: linear-gradient(135deg, #1f63ff, #2355e6);
    color: #ffffff;
    font-weight: 800;
}

.comparison-selection-filled {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 1rem;
    padding: 3.1rem 1.05rem 1.05rem;
}

.comparison-selection-media,
.comparison-selection-placeholder {
    width: 110px;
    height: 110px;
    border-radius: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

.comparison-selection-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.comparison-selection-placeholder {
    color: rgba(255, 255, 255, 0.5);
    font-size: 1.8rem;
}

.comparison-selection-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.comparison-selection-copy small {
    color: #82a7ff;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
    font-size: 0.74rem;
}

.comparison-selection-copy strong {
    margin-top: 0.35rem;
    color: #ffffff;
    font-size: 1.34rem;
    font-weight: 900;
    line-height: 1.15;
}

.comparison-selection-copy span {
    margin-top: 0.35rem;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 600;
}

.comparison-selection-edit {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #96b6ff;
    font-weight: 700;
}

.comparison-builder-actions-app {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.95rem;
    margin-top: 1.4rem;
}

.comparison-builder-actions-app .comparison-add-slot-btn,
.comparison-builder-actions-app .comparison-submit {
    min-width: 260px;
}

.comparison-picker-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
}

.comparison-picker-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 10, 20, 0.7);
    backdrop-filter: blur(12px);
}

.comparison-picker-sheet {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(900px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    transform: translate(-50%, -50%);
    border-radius: 1.8rem;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(34, 84, 255, 0.18), transparent 30%),
        linear-gradient(180deg, #07111f, #0b1628);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 36px 80px rgba(0, 0, 0, 0.4);
}

.comparison-picker-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.2rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.comparison-picker-head small {
    display: block;
    color: #7ea4ff;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
}

.comparison-picker-head h3 {
    margin: 0.2rem 0 0;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 900;
}

.comparison-picker-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.84);
}

.comparison-picker-progress {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    padding: 1rem 1.2rem 0;
}

.comparison-picker-step {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.84rem;
    font-weight: 800;
}

.comparison-picker-step.is-active {
    background: rgba(31, 99, 255, 0.16);
    color: #ffffff;
}

.comparison-picker-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    padding: 0.85rem 1.2rem 0;
}

.comparison-picker-body {
    padding: 1rem 1.2rem 1.2rem;
}

.comparison-picker-search {
    position: relative;
    margin-bottom: 0.9rem;
}

.comparison-picker-search i {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.52);
}

.comparison-picker-search input {
    width: 100%;
    min-height: 54px;
    padding: 0.9rem 1rem 0.9rem 2.8rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
}

.comparison-picker-search input::placeholder {
    color: rgba(255, 255, 255, 0.48);
}

.comparison-picker-list,
.comparison-picker-variants {
    display: grid;
    gap: 0.7rem;
    max-height: 56vh;
    overflow-y: auto;
    padding-right: 0.2rem;
}

.comparison-shell-content {
    margin-top: 0;
}

.comparison-how {
    margin-top: 1.45rem;
}

.comparison-results-inline {
    margin-top: 1.45rem;
}

.comparison-inline-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.comparison-inline-head h2 {
    margin: 0.35rem 0 0;
}

.comparison-inline-head p {
    margin: 0.5rem 0 0;
    color: #627290;
    max-width: 780px;
}

.comparison-scoreboard-grid-inline {
    margin-top: 1.35rem;
}

.comparison-history-preview {
    margin-top: 1.45rem;
}

.comparison-history-preview-head p {
    margin: 0.5rem 0 0;
    color: #627290;
    max-width: 760px;
}

.comparison-history-grid-app .comparison-history-card {
    min-height: 150px;
    padding: 1.2rem 1.25rem;
    border-radius: 1.4rem;
    background: linear-gradient(180deg, #ffffff, #f5f8ff);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.comparison-history-grid-app .comparison-history-card small:first-child {
    color: #5f718d;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    font-weight: 800;
}

.comparison-history-grid-app .comparison-history-card strong {
    margin-top: 0.55rem;
    font-size: 1.6rem;
}

.comparison-history-grid-app .comparison-history-card span {
    margin-top: 0.3rem;
    color: #243350;
}

.comparison-how .comparison-surface {
    padding: 1.5rem;
    border-radius: 1.65rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 0.98));
}

.comparison-how .comparison-surface h2 {
    margin-bottom: 1rem;
}

.comparison-picker-brand-card,
.comparison-picker-family-card,
.comparison-picker-variant-card {
    width: 100%;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
}

.comparison-picker-brand-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    color: #ffffff;
    text-align: left;
}

.comparison-picker-brand-mark {
    width: 52px;
    height: 52px;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(31, 99, 255, 0.14);
    color: #ffffff;
    font-weight: 900;
}

.comparison-picker-brand-card i {
    color: rgba(255, 255, 255, 0.42);
}

.comparison-picker-family-card {
    display: grid;
    gap: 0.2rem;
    padding: 0.95rem 1rem;
    text-align: left;
}

.comparison-picker-family-card strong,
.comparison-picker-variant-copy strong {
    color: #ffffff;
    font-weight: 800;
}

.comparison-picker-family-card small,
.comparison-picker-family-card span,
.comparison-picker-variant-copy small,
.comparison-picker-variant-copy span {
    color: rgba(255, 255, 255, 0.66);
}

.comparison-picker-variant-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 0.95rem;
    align-items: center;
    padding: 0.9rem;
    text-align: left;
}

.comparison-picker-variant-media,
.comparison-picker-variant-placeholder {
    width: 96px;
    height: 76px;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
}

.comparison-picker-variant-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.comparison-picker-variant-placeholder {
    color: rgba(255, 255, 255, 0.46);
    font-size: 1.45rem;
}

.comparison-picker-toolbar {
    margin-bottom: 0.8rem;
}

.comparison-picker-brand-card:hover,
.comparison-picker-family-card:hover,
.comparison-picker-variant-card:hover,
.comparison-picker-brand-card:focus,
.comparison-picker-family-card:focus,
.comparison-picker-variant-card:focus {
    border-color: rgba(43, 116, 255, 0.4);
    background: rgba(43, 116, 255, 0.12);
}

body.comparison-picker-open {
    overflow: hidden;
}

@media (max-width: 1199.98px) {
    .comparison-slot-grid,
    .comparison-history-grid,
    .comparison-scoreboard-grid,
    .comparison-admin-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comparison-result-cards,
    .comparison-metric-row {
        grid-template-columns: 220px repeat(var(--comparison-model-count, 4), minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .comparison-how-grid,
    .comparison-history-grid,
    .comparison-scoreboard-grid,
    .comparison-admin-kpis {
        grid-template-columns: 1fr;
    }

    .comparison-hero {
        padding: 1rem 0 1rem;
    }

    .comparison-shell {
        width: min(100%, calc(100% - 1rem));
    }

    .comparison-builder-card,
    .comparison-surface,
    .comparison-scoreboard-card,
    .comparison-admin-table,
    .comparison-history-row {
        border-radius: 1.35rem;
        padding: 1rem;
    }

    .comparison-builder-head,
    .comparison-section-head,
    .comparison-results-topline,
    .comparison-results-head {
        flex-direction: column;
    }

    .comparison-shell-app {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .comparison-hero-deck {
        display: block;
    }

    .comparison-hero-copy-panel .comparison-hero-title {
        max-width: none;
        font-size: clamp(2.75rem, 10vw, 4rem);
    }

    .comparison-hero-copy-panel .comparison-hero-copy {
        font-size: 1rem;
        line-height: 1.55;
    }

    .comparison-hero-points {
        display: grid;
        grid-template-columns: 1fr;
    }

    .comparison-hero-side-rail {
        min-width: 0;
        align-items: stretch;
        margin-top: 1rem;
    }

    .comparison-hero-meta-right,
    .comparison-hero-points-right {
        justify-content: flex-start;
    }

    .comparison-builder-hangar {
        margin-top: 1rem;
    }

    .comparison-builder-status {
        flex-direction: column;
        align-items: flex-start;
    }

    .comparison-page-app .comparison-builder-head {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .comparison-builder-head-actions {
        width: 100%;
    }

    .comparison-builder-head-actions .comparison-add-slot-btn {
        width: 100%;
        justify-content: center;
    }

    .comparison-builder-status-app {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .comparison-builder-status-app small {
        text-align: left;
    }

    .comparison-slot-grid {
        grid-template-columns: 1fr;
    }

    .comparison-slot-summary {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .comparison-slot-summary-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .comparison-variant-card {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .comparison-variant-card-media,
    .comparison-variant-card-placeholder {
        width: 64px;
        height: 50px;
    }

    .comparison-selection-card {
        flex-basis: 100%;
        max-width: none;
        min-height: 186px;
    }

    .comparison-selection-filled {
        grid-template-columns: 92px minmax(0, 1fr);
        padding-top: 3rem;
    }

    .comparison-selection-media,
    .comparison-selection-placeholder {
        width: 92px;
        height: 92px;
    }

    .comparison-picker-sheet {
        top: auto;
        left: 0.5rem;
        right: 0.5rem;
        bottom: 0.5rem;
        width: auto;
        max-height: calc(100vh - 1rem);
        transform: none;
        border-radius: 1.45rem;
    }

    .comparison-picker-list,
    .comparison-picker-variants {
        max-height: calc(100vh - 270px);
    }

    .comparison-result-cards {
        grid-template-columns: 1fr;
    }

    .comparison-result-label-col {
        padding-right: 0;
    }

    .comparison-mobile-tabs {
        position: relative;
        z-index: 2;
        display: flex;
        gap: 0.55rem;
        overflow-x: auto;
        padding-bottom: 0.3rem;
        margin-top: 1rem;
    }

    .comparison-mobile-tab {
        flex: 0 0 auto;
        border: 0;
        border-bottom: 2px solid transparent;
        background: transparent;
        color: rgba(255, 255, 255, 0.72);
        padding: 0.55rem 0.15rem;
        font-weight: 700;
    }

    .comparison-mobile-tab.is-active {
        color: #2b74ff;
        border-bottom-color: #2b74ff;
    }

    .comparison-metric-table {
        display: none;
    }

    .comparison-metric-table.is-active {
        display: block;
    }

    .comparison-metric-row {
        grid-template-columns: 1fr;
    }

    .comparison-metric-label {
        background: #f5f8ff;
    }

    .comparison-metric-value {
        border-left: 0;
        border-top: 1px solid rgba(15, 23, 42, 0.05);
    }

    .comparison-history-row {
        flex-direction: column;
    }

    .comparison-builder-actions-app {
        flex-direction: column;
        align-items: stretch;
    }

    .comparison-inline-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .comparison-builder-actions-app .comparison-add-slot-btn,
    .comparison-builder-actions-app .comparison-submit {
        width: 100%;
        justify-content: center;
    }
}

.spinner-border {
    width: 3rem;
    height: 3rem;
}

.app-runtime-notice-overlay {
    z-index: 3300;
}

.app-runtime-notice-modal {
    width: min(840px, 100%);
}

.app-runtime-notice-modal .app-flash-stack {
    max-height: min(62vh, 680px);
    overflow: auto;
    padding-right: 0.25rem;
}

.app-runtime-notice-modal .app-flash-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.admin-models-page {
    padding-top: 1.25rem;
    padding-bottom: 2rem;
}

.admin-models-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.75rem;
    margin-bottom: 1rem;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(37, 99, 235, 0.9));
    color: #fff;
    box-shadow: 0 18px 45px rgba(37, 99, 235, 0.18);
}

.admin-models-hero h2,
.admin-models-hero .text-muted {
    color: rgba(255, 255, 255, 0.92) !important;
}

.admin-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.8;
}

.admin-action-button {
    border-radius: 999px;
    padding-inline: 1.1rem;
}

.admin-models-toolbar {
    margin-bottom: 0.5rem;
}

.admin-select {
    min-height: 3.25rem;
    border-radius: 1rem;
}

.admin-models-card {
    border-radius: 1.5rem;
    overflow: hidden;
}

.admin-models-table thead th {
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #475569;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.admin-models-table tbody td {
    vertical-align: middle;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.bulk-col {
    width: 56px;
}

.model-row {
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.model-row.is-selected {
    background: rgba(37, 99, 235, 0.06);
}

.model-title {
    font-size: 1.02rem;
    color: #0f172a;
}

.model-thumb {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.model-thumb-placeholder {
    color: #94a3b8;
    font-size: 1.1rem;
}

.model-actions .btn {
    min-width: 3rem;
    border-radius: 0.9rem;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.scraping-admin-page .display-6 {
    font-size: 2.1rem;
}

.process-monitor-header {
    display: grid;
    gap: 0.75rem;
}

.process-toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.process-toolbar .btn {
    width: 100%;
    white-space: nowrap;
    font-size: 0.92rem;
    line-height: 1.2;
    padding: 0.5rem 0.65rem;
    border-radius: 0.75rem;
    box-shadow: none;
}

.process-toolbar .btn:hover {
    transform: none;
}

.scrape-help-trigger {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    padding: 0;
}

.scrape-help-section {
    padding: 0.75rem 0;
    border-bottom: 1px solid #e2e8f0;
}

.scrape-help-section:last-child {
    border-bottom: 0;
}

.scrape-brand-picker {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(30, 64, 175, 0.02));
    border: 1px solid rgba(37, 99, 235, 0.12);
}

.scrape-analyze-feedback {
    border-radius: 1rem;
    border: 1px solid rgba(13, 202, 240, 0.18);
    background: linear-gradient(180deg, rgba(240, 249, 255, 0.98) 0%, rgba(232, 250, 255, 0.96) 100%);
}

.scrape-analyze-feedback .fw-semibold {
    color: #0f172a;
}

.scrape-analyze-feedback .small {
    color: #334155;
}

.btn.is-busy {
    pointer-events: none;
    opacity: 0.92;
}

.scrape-brand-grid {
    max-height: 520px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.25rem;
}

.scrape-brand-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.45rem 0.55rem;
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.scrape-brand-item .form-check-input {
    margin-top: 0;
}

.scrape-brand-card {
    margin: 0;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.24);
    min-height: 100%;
}

.scrape-brand-actions .btn {
    white-space: nowrap;
}

.scrape-discovery-panel {
    border-radius: 1rem;
    padding: 1rem 1.1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 245, 249, 0.96) 100%);
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.scrape-discovery-stat {
    border-radius: 0.85rem;
    padding: 0.7rem 0.8rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.scrape-console-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.scrape-console-card {
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
    padding: 1rem;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
}

.scrape-console-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
}

.scrape-console-card-kicker {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.scrape-console-card-value {
    color: #0f172a;
    font-size: clamp(1.6rem, 2vw, 2rem);
    font-weight: 800;
    line-height: 1;
}

.scrape-console-card-meta {
    color: #475569;
    font-size: 0.9rem;
    margin-top: 0.45rem;
}

.scrape-console-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.scrape-console-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    background: rgba(241, 245, 249, 0.95);
    border: 1px solid rgba(148, 163, 184, 0.24);
    color: #334155;
    font-size: 0.8rem;
    font-weight: 600;
}

.scrape-console-chip strong {
    color: #0f172a;
    font-weight: 800;
}

.scrape-console-chip.is-success {
    background: rgba(240, 253, 244, 0.98);
    border-color: rgba(34, 197, 94, 0.22);
}

.scrape-console-chip.is-warning {
    background: rgba(255, 251, 235, 0.98);
    border-color: rgba(245, 158, 11, 0.22);
}

.scrape-console-chip.is-danger {
    background: rgba(254, 242, 242, 0.98);
    border-color: rgba(239, 68, 68, 0.22);
}

.scrape-brand-card.is-loading {
    border-color: rgba(59, 130, 246, 0.38);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.06);
}

.scrape-brand-card.is-complete {
    border-color: rgba(34, 197, 94, 0.35);
}

.scrape-brand-card.is-error {
    border-color: rgba(239, 68, 68, 0.4);
}

@media (max-width: 576px) {
    .process-toolbar {
        grid-template-columns: 1fr;
    }

    .dashboard-stat-grid {
        grid-template-columns: 1fr;
    }
}

.scrape-log-list {
    display: grid;
    gap: 0.8rem;
    max-height: 560px;
    overflow: auto;
    padding-right: 0.3rem;
}

.job-runtime-banner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1rem;
    margin-bottom: 1rem;
    border-radius: 1rem;
    border: 1px solid #dbeafe;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(219, 234, 254, 0.86));
}

.job-runtime-banner.is-running,
.job-runtime-banner.is-completed {
    border-color: rgba(34, 197, 94, 0.22);
    background: linear-gradient(135deg, rgba(240, 253, 244, 0.98), rgba(220, 252, 231, 0.88));
}

.job-runtime-banner.is-queued,
.job-runtime-banner.is-pending,
.job-runtime-banner.is-paused {
    border-color: rgba(245, 158, 11, 0.22);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.9));
}

.job-runtime-banner.is-stopped,
.job-runtime-banner.is-stopping,
.job-runtime-banner.is-error,
.job-runtime-banner.is-failed,
.job-runtime-banner.is-completed_with_errors {
    border-color: rgba(239, 68, 68, 0.2);
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.98), rgba(254, 226, 226, 0.9));
}

.job-runtime-icon {
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #f59e0b;
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.42);
    animation: scrapePulse 1.8s infinite;
}

.job-runtime-banner.is-running .job-runtime-icon,
.job-runtime-banner.is-completed .job-runtime-icon {
    background: #16a34a;
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.35);
}

.job-runtime-banner.is-stopped .job-runtime-icon,
.job-runtime-banner.is-stopping .job-runtime-icon,
.job-runtime-banner.is-error .job-runtime-icon,
.job-runtime-banner.is-failed .job-runtime-icon,
.job-runtime-banner.is-completed_with_errors .job-runtime-icon {
    background: #dc2626;
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.3);
}

.job-runtime-title {
    font-weight: 700;
    color: #0f172a;
}

.job-runtime-text,
.job-runtime-meta {
    color: #475569;
    font-size: 0.94rem;
}

.scraping-job-page .progress {
    background: rgba(148, 163, 184, 0.16);
    border-radius: 999px;
}

.scraping-job-page .progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb 0%, #60a5fa 100%);
}

@keyframes scrapePulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.3);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 12px rgba(59, 130, 246, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
    }
}

.scrape-log-item {
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #f8fafc;
    padding: 0.75rem 0.85rem;
}

.scrape-log-item pre {
    white-space: pre-wrap;
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 0.65rem;
    padding: 0.65rem;
}

.scrape-terminal {
    background: #0b1220;
    border: 1px solid rgba(59, 130, 246, 0.24);
    color: #dbeafe;
    border-radius: 0.85rem;
    padding: 0.85rem;
    min-height: 220px;
    max-height: 420px;
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.82rem;
    line-height: 1.45;
}

.terminal-line {
    padding: 0.22rem 0;
    border-bottom: 1px dashed rgba(148, 163, 184, 0.18);
}

.terminal-line:last-child {
    border-bottom: 0;
}

.terminal-time {
    color: #93c5fd;
    margin-right: 0.45rem;
}

.terminal-level {
    margin-right: 0.45rem;
    font-weight: 700;
}

.terminal-level.level-info {
    color: #93c5fd;
}

.terminal-level.level-warning {
    color: #fbbf24;
}

.terminal-level.level-error {
    color: #f87171;
}

.terminal-context {
    color: #cbd5e1;
    opacity: 0.9;
    margin-top: 0.18rem;
    padding-left: 1.3rem;
    white-space: pre-wrap;
}

.scrape-live-stat {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    padding: 0.9rem 1rem;
    height: 100%;
}

.scrape-live-stat-label {
    display: block;
    color: #64748b;
    font-size: 0.82rem;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.scrape-live-stat strong {
    font-size: 1.55rem;
    color: #0f172a;
}

.scrape-live-feed {
    display: grid;
    gap: 0.75rem;
    max-height: 420px;
    overflow: auto;
    padding-right: 0.25rem;
}

.scrape-live-feed-item {
    border: 1px solid #dbeafe;
    border-radius: 0.95rem;
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(239, 246, 255, 0.94));
    padding: 0.85rem 0.95rem;
}

.scrape-live-feed-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 0.25rem;
}

.scrape-live-feed-meta {
    word-break: break-word;
    margin-bottom: 0.5rem;
}

.scrape-live-feed-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.process-health-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.scraping-side-tabs {
    border-bottom: 0;
    gap: 0.35rem;
}

.scraping-side-tabs .nav-link {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-bottom: 0;
    border-top-left-radius: 0.95rem;
    border-top-right-radius: 0.95rem;
    color: #475569;
    font-weight: 700;
    background: rgba(248, 250, 252, 0.9);
}

.scraping-side-tabs .nav-link.active {
    color: #0f172a;
    background: #fff;
    border-color: rgba(148, 163, 184, 0.22);
}

.process-health-card {
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
    padding: 0.95rem 1rem;
    min-height: 100%;
}

.process-health-label {
    display: block;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0.35rem;
}

.process-health-value {
    display: block;
    color: #0f172a;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 0.35rem;
}

.process-health-meta {
    color: #475569;
    font-size: 0.85rem;
}

.process-worker-list {
    display: grid;
    gap: 0.8rem;
}

.process-worker-empty {
    border-radius: 0.95rem;
    border: 1px dashed rgba(148, 163, 184, 0.45);
    background: rgba(248, 250, 252, 0.9);
    color: #64748b;
    font-size: 0.92rem;
    padding: 1rem;
}

.process-worker-card {
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
    padding: 0.95rem 1rem;
}

.process-worker-card.is-running {
    border-color: rgba(34, 197, 94, 0.22);
}

.process-worker-card.is-warning {
    border-color: rgba(245, 158, 11, 0.22);
}

.process-worker-card.is-error,
.process-worker-card.is-stopped {
    border-color: rgba(239, 68, 68, 0.18);
}

.process-worker-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.process-worker-title {
    color: #0f172a;
    font-weight: 800;
    line-height: 1.2;
}

.process-worker-meta {
    color: #64748b;
    font-size: 0.85rem;
    margin-top: 0.2rem;
}

.process-worker-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: rgba(241, 245, 249, 0.95);
    color: #334155;
}

.process-worker-status.is-running {
    background: rgba(240, 253, 244, 0.98);
    color: #166534;
}

.process-worker-status.is-warning {
    background: rgba(255, 251, 235, 0.98);
    color: #92400e;
}

.process-worker-status.is-error,
.process-worker-status.is-stopped {
    background: rgba(254, 242, 242, 0.98);
    color: #b91c1c;
}

.process-worker-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.process-worker-grid span {
    display: block;
    color: #64748b;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.18rem;
}

.process-worker-grid strong {
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 700;
    word-break: break-word;
}

.process-worker-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.scrape-side-note {
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    padding-top: 1rem;
}

.maintenance-inline-upload {
    background: linear-gradient(135deg, #fff9db 0%, #fffdf4 100%);
    border-radius: 1.1rem;
}

.maintenance-upload-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
}

.maintenance-capture-shell {
    align-items: center;
}

.maintenance-capture-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.maintenance-upload-trigger {
    border-radius: 999px;
    font-weight: 700;
    padding: 0.8rem 1.2rem;
}

.maintenance-app-media-choice {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    width: 100%;
}

.maintenance-app-media-choice[hidden] {
    display: none;
}

.maintenance-app-media-choice .btn {
    border-radius: 999px;
    font-weight: 700;
    padding: 0.75rem 1rem;
}

.maintenance-upload-filename {
    color: #475569;
    font-size: 0.95rem;
    font-weight: 700;
}

.maintenance-audio-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.maintenance-audio-status {
    margin: 0.15rem 0 0;
    color: #64748b;
    font-size: 0.96rem;
}

.audio-recorder-form .js-audio-stop[hidden],
.audio-recorder-form .js-audio-cancel[hidden] {
    display: none !important;
}

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

@media (max-width: 768px) {
    .process-health-grid,
    .scrape-console-grid,
    .process-worker-grid {
        grid-template-columns: 1fr;
    }

    .job-runtime-banner {
        grid-template-columns: auto 1fr;
    }

    .job-runtime-meta {
        grid-column: 1 / -1;
        padding-left: 2rem;
    }
}

.media-gallery-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    background: linear-gradient(135deg, #fff7ed 0%, #eff6ff 100%);
}

.media-stat-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1.1rem;
    padding: 1rem 1.1rem;
    height: 100%;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.media-stat-card span {
    display: block;
    color: #64748b;
    font-size: 0.84rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.3rem;
}

.media-stat-card strong {
    color: #0f172a;
    font-size: 2rem;
    line-height: 1;
}

.media-gallery-panel {
    border: 1px solid #e2e8f0;
    border-radius: 1.2rem;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.06);
}

.media-album-list {
    display: grid;
    gap: 0.9rem;
}

.media-album-card {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 0.9rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 0.7rem;
}

.media-album-card img {
    width: 84px;
    height: 84px;
    object-fit: cover;
    border-radius: 0.85rem;
}

.media-album-card small,
.media-album-card span {
    display: block;
    color: #64748b;
}

.media-maintenance-album {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1.1rem;
    overflow: hidden;
    height: 100%;
}

.media-maintenance-cover {
    position: relative;
}

.media-maintenance-cover img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.media-maintenance-cover .badge {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
}

.media-maintenance-copy {
    padding: 0.95rem 1rem 1rem;
}

.media-maintenance-copy strong,
.media-maintenance-copy span,
.media-maintenance-copy small {
    display: block;
}

.media-maintenance-copy span,
.media-maintenance-copy small,
.media-detail-photo-copy span {
    color: #64748b;
}

.media-detail-photo {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #f8fafc;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    height: 100%;
}

.media-detail-photo img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.media-detail-photo-copy {
    padding: 0.75rem 0.85rem 0.9rem;
}

.media-detail-photo-copy strong,
.media-detail-photo-copy span {
    display: block;
}

@media (max-width: 767.98px) {
    .media-gallery-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .maintenance-upload-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .maintenance-capture-shell {
        align-items: stretch;
    }

    .maintenance-audio-actions {
        align-items: flex-start;
    }
}

.community-stats {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.community-board-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.46fr);
    gap: 1.5rem;
    align-items: center;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.6rem;
    padding: 2rem;
    background:
        radial-gradient(circle at 92% 16%, rgba(37, 99, 235, 0.14), transparent 28%),
        linear-gradient(135deg, #ffffff, #f6f9ff);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.community-board-hero h1 {
    margin: 0 0 0.65rem;
    color: #172033;
    font-size: clamp(2.25rem, 5vw, 4.2rem);
    font-weight: 800;
    letter-spacing: 0;
}

.community-board-hero p {
    max-width: 62rem;
    margin: 0;
    color: #667085;
    font-size: 1.05rem;
}

.community-board-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.community-board-stats span {
    display: grid;
    gap: 0.15rem;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.86);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.78);
}

.community-board-stats strong {
    color: #172033;
    font-size: 1.55rem;
    line-height: 1;
}

.community-board-stats small {
    color: #667085;
    font-weight: 700;
}

.community-board-toolbar,
.community-featured-strip,
.community-board {
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 1.2rem;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}

.community-board-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
}

.community-board-filter {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(180px, 0.4fr) auto;
    gap: 0.8rem;
    flex: 1 1 auto;
    align-items: end;
}

.community-board-filter label {
    display: grid;
    gap: 0.35rem;
}

.community-board-filter label span {
    color: #667085;
    font-size: 0.82rem;
    font-weight: 800;
}

.community-board-vote-note {
    max-width: 18rem;
    color: #667085;
    font-weight: 700;
}

.community-featured-strip {
    overflow: hidden;
}

.community-featured-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.94);
    background: linear-gradient(135deg, #f8fbff, #ffffff);
}

.community-featured-heading h2 {
    margin: 0;
    color: #172033;
    font-size: 1.25rem;
    font-weight: 800;
}

.community-featured-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.community-featured-item {
    position: relative;
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding: 0.9rem 1rem;
    color: inherit;
    text-decoration: none;
    border-right: 1px solid rgba(226, 232, 240, 0.86);
}

.community-featured-item:last-child {
    border-right: 0;
}

.community-featured-rank {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    z-index: 2;
    display: inline-flex;
    border-radius: 999px;
    padding: 0.28rem 0.45rem;
    background: rgba(15, 23, 42, 0.78);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
}

.community-featured-media,
.community-board-media {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(145deg, #eef3fb, #dfe9f6);
    color: #64748b;
}

.community-featured-media {
    width: 74px;
    height: 74px;
    border-radius: 0.9rem;
}

.community-featured-media img,
.community-board-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.community-featured-copy {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
}

.community-featured-copy strong {
    overflow: hidden;
    color: #172033;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.community-featured-copy small {
    overflow: hidden;
    color: #667085;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.community-featured-item .community-vote-badge {
    grid-column: 2;
    justify-self: start;
}

.community-board {
    overflow: hidden;
}

.community-board-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 0.25fr) minmax(210px, 0.32fr) auto;
    gap: 1rem;
    padding: 0.82rem 1.15rem;
    background: #f8fbff;
    border-bottom: 1px solid rgba(226, 232, 240, 0.94);
    color: #667085;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.community-board-head span:nth-child(3) {
    grid-column: 3 / span 2;
}

.community-board-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 0.25fr) minmax(210px, 0.32fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
    background: #ffffff;
    transition: background-color 0.18s ease, transform 0.18s ease;
}

.community-board-row:last-child {
    border-bottom: 0;
}

.community-board-row:hover {
    background: #f8fbff;
    transform: translateX(2px);
}

.community-board-bike {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.community-board-media {
    width: 82px;
    height: 72px;
    border-radius: 0.9rem;
}

.community-board-bike-copy {
    display: grid;
    min-width: 0;
    gap: 0.25rem;
}

.community-board-bike-copy strong {
    overflow: hidden;
    color: #172033;
    font-size: 1.08rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.community-board-bike-copy small,
.community-board-bike-copy span {
    color: #667085;
}

.community-board-bike-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.community-board-owner {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.community-board-owner > span:last-child {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.community-board-owner strong {
    overflow: hidden;
    color: #172033;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.community-board-owner small,
.community-board-activity small {
    color: #667085;
}

.community-board-activity {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.community-board-activity small {
    flex-basis: 100%;
    text-align: right;
}

.community-board-row-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.community-detail-hero {
    display: grid;
    grid-template-columns: minmax(320px, 0.45fr) minmax(0, 1fr);
    gap: 1.35rem;
    align-items: stretch;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1.6rem;
    padding: 1rem;
    background:
        radial-gradient(circle at 94% 18%, rgba(37, 99, 235, 0.13), transparent 30%),
        linear-gradient(135deg, #ffffff, #f6f9ff);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.community-detail-media {
    position: relative;
    display: flex;
    min-height: 360px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 1.15rem;
    background: linear-gradient(145deg, #eef3fb, #dfe9f6);
    color: #64748b;
    font-size: 4rem;
}

.community-detail-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.community-detail-vote-float {
    position: absolute;
    right: 0.85rem;
    bottom: 0.85rem;
    padding: 0.38rem 0.62rem;
    background: rgba(15, 23, 42, 0.76);
    color: #ffffff;
    font-size: 0.86rem;
    line-height: 1;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.18);
}

.community-detail-vote-float i {
    color: #fbbf24;
    font-size: 0.9rem;
}

.community-detail-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
}

.community-detail-copy h1 {
    margin: 0;
    color: #172033;
    font-size: clamp(2.3rem, 5vw, 4.2rem);
    font-weight: 800;
    letter-spacing: 0;
}

.community-detail-copy p {
    margin: 0;
    color: #667085;
    font-size: 1.1rem;
}

.community-detail-owner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.community-detail-owner > span:last-child {
    display: grid;
    gap: 0.12rem;
}

.community-detail-owner strong {
    color: #172033;
}

.community-detail-owner small {
    color: #667085;
}

.community-detail-actions,
.community-thread-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.community-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.32fr);
    gap: 1.25rem;
    align-items: start;
}

.community-detail-panel,
.community-thread-board {
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 1.2rem;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}

.community-detail-panel {
    overflow: hidden;
    padding: 1.15rem;
}

.community-detail-panel-head,
.community-thread-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin: -1.15rem -1.15rem 1rem;
    padding: 1rem 1.15rem;
    background: linear-gradient(135deg, #f8fbff, #ffffff);
    border-bottom: 1px solid rgba(226, 232, 240, 0.94);
}

.community-detail-panel-head h2,
.community-thread-head h2,
.community-vote-panel h2 {
    margin: 0;
    color: #172033;
    font-size: 1.25rem;
    font-weight: 800;
}

.community-thread-head p,
.community-vote-panel p {
    margin: 0.25rem 0 0;
    color: #667085;
}

.community-detail-spec-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.community-detail-spec-row span {
    display: grid;
    gap: 0.18rem;
    padding: 0.8rem;
    border-radius: 0.9rem;
    background: #f8fbff;
    color: #172033;
    font-weight: 800;
}

.community-detail-spec-row strong {
    color: #667085;
    font-size: 0.78rem;
    text-transform: uppercase;
}

.community-detail-text + .community-detail-text {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.community-detail-text h3 {
    margin: 0 0 0.5rem;
    color: #172033;
    font-size: 1.02rem;
    font-weight: 800;
}

.community-detail-text p {
    margin: 0;
    color: #344054;
    line-height: 1.7;
}

.community-detail-side {
    position: sticky;
    top: 6rem;
}

.community-thread-board {
    overflow: hidden;
}

.community-thread-head {
    margin: 0;
}

.community-thread-post {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    border-top: 1px solid rgba(226, 232, 240, 0.86);
}

.community-thread-post:first-of-type {
    border-top: 0;
}

.community-thread-post aside {
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 0.65rem;
    padding: 1.1rem;
    background: linear-gradient(180deg, #f8fafc, #eef2f7);
    border-right: 1px solid rgba(226, 232, 240, 0.86);
    text-align: center;
}

.community-thread-post aside strong {
    color: #172033;
}

.community-thread-post > div {
    min-width: 0;
    padding: 1rem 1.15rem;
}

.community-thread-post-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: -1rem -1.15rem 1rem;
    padding: 0.75rem 1.15rem;
    background: #fbfdff;
    border-bottom: 1px solid rgba(226, 232, 240, 0.86);
    color: #667085;
}

.community-thread-replies {
    border-top: 1px solid rgba(226, 232, 240, 0.86);
}

.community-thread-reply {
    border-top: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.86);
}

.community-thread-reply:last-child {
    border-bottom: 0;
}

.community-thread-reply-form {
    padding: 1rem 1.15rem;
    background: #fbfdff;
    border-top: 1px solid rgba(226, 232, 240, 0.94);
}

.community-stat-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1f2a44;
    font-weight: 600;
}

.community-top-grid,
.community-bike-grid {
    display: grid;
    justify-content: center;
    align-items: start;
}

.community-top-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 320px));
    gap: 1rem;
}

.community-bike-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 340px));
    gap: 1.25rem;
}

.community-top-card,
.community-bike-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    height: 100%;
    width: 100%;
}

.community-top-link,
.community-bike-media {
    display: block;
    color: inherit;
    text-decoration: none;
}

.community-top-image,
.community-bike-image,
.community-detail-image {
    width: 100%;
    display: block;
    object-fit: cover;
}

.community-top-link,
.community-bike-media {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: linear-gradient(145deg, #eef3fb, #dfe9f6);
}

.community-top-image,
.community-bike-image {
    height: 100%;
}

.community-detail-image {
    min-height: 320px;
    height: 100%;
}

.community-top-placeholder,
.community-bike-placeholder,
.community-detail-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #eef3fb, #dfe9f6);
    color: #6b7280;
}

.community-top-placeholder,
.community-bike-placeholder {
    height: 100%;
    font-size: 3rem;
}

.community-detail-placeholder {
    min-height: 320px;
    font-size: 4rem;
}

.community-top-body,
.community-bike-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem 1.15rem 1.2rem;
}

.community-top-body h3,
.community-bike-title {
    font-size: 1.2rem;
    margin: 0 0 0.35rem;
    color: #172033;
}

.community-top-body p,
.community-bike-meta,
.community-bike-owner {
    color: #667085;
    margin-bottom: 0.35rem;
}

.community-vote-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.45rem 0.75rem;
    background: linear-gradient(135deg, #ffe08a, #ffc533);
    color: #6a4700;
    font-weight: 700;
    white-space: nowrap;
}

.community-vote-badge-lg {
    padding: 0.7rem 1rem;
    font-size: 1rem;
}

.community-bike-story {
    min-height: 3.5rem;
    color: #344054;
    margin-bottom: 1rem;
}

.community-bike-actions,
.community-detail-votes {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    align-items: center;
}

.community-bike-actions {
    margin-top: auto;
}

.community-detail-story h3 {
    font-size: 1.1rem;
    margin-bottom: 0.65rem;
}

.btn-community-vote {
    background: linear-gradient(135deg, #ec4899, #f97316);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 0.9rem 1.25rem;
    font-weight: 700;
}

.btn-community-vote:hover {
    color: #fff;
    opacity: 0.95;
}

@media (max-width: 767.98px) {
    .community-board-hero,
    .community-detail-hero,
    .community-detail-layout,
    .community-board-toolbar,
    .community-featured-heading {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: flex-start;
    }

    .community-board-hero {
        padding: 1.25rem;
    }

    .community-detail-hero {
        padding: 0.75rem;
    }

    .community-detail-media {
        width: 100%;
        min-height: 260px;
    }

    .community-detail-copy {
        padding: 0.75rem 0.4rem 0.4rem;
    }

    .community-detail-side {
        position: static;
    }

    .community-detail-spec-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .community-thread-head,
    .community-thread-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .community-thread-post {
        grid-template-columns: minmax(0, 1fr);
    }

    .community-thread-post aside {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid rgba(226, 232, 240, 0.86);
        text-align: left;
    }

    .community-thread-post-head {
        flex-direction: column;
    }

    .community-board-stats,
    .community-board-filter,
    .community-featured-list {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .community-board-vote-note {
        max-width: none;
    }

    .community-featured-item {
        border-right: 0;
        border-bottom: 1px solid rgba(226, 232, 240, 0.86);
    }

    .community-featured-item:last-child {
        border-bottom: 0;
    }

    .community-board-head {
        display: none;
    }

    .community-board-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.85rem;
        padding: 1rem;
    }

    .community-board-bike {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .community-board-media {
        width: 72px;
        height: 66px;
    }

    .community-board-owner,
    .community-board-activity,
    .community-board-row-actions {
        justify-content: flex-start;
    }

    .community-board-activity small {
        text-align: left;
    }

    .community-top-grid,
    .community-bike-grid {
        grid-template-columns: minmax(0, 1fr);
        justify-content: stretch;
    }

    .community-detail-image,
    .community-detail-placeholder {
        min-height: 240px;
    }
}

.site-brand {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    line-height: 1;
    max-width: 320px;
}

.site-brand-logo {
    display: block;
    width: auto;
    max-width: 220px;
    max-height: 120px;
    object-fit: contain;
}

.site-brand-logo-mobile {
    max-width: 190px;
    max-height: 48px;
}

.site-brand-text {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 800;
}

.site-brand-tagline {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.2;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-hero {
    background:
        radial-gradient(circle at 82% 20%, rgba(34, 197, 94, 0.18), transparent 34%),
        linear-gradient(135deg, #ffffff, #f6f9fc);
}

.settings-logo-preview {
    min-width: min(100%, 320px);
    padding: 1.4rem;
    border-radius: 1.35rem;
    background: linear-gradient(135deg, #111820, #17324a);
    color: #fff;
    text-align: center;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.16);
}

.settings-logo-preview img {
    display: block;
    max-width: 260px;
    max-height: 90px;
    margin: 0 auto 0.8rem;
    object-fit: contain;
}

.settings-logo-preview small {
    color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 991.98px) {
    .site-brand-tagline {
        display: none;
    }

    .site-brand-logo {
        max-width: 190px;
    }
}

.hall-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: end;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1.35rem;
    padding: 2rem;
    background:
        radial-gradient(circle at 86% 18%, rgba(34, 197, 94, 0.14), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #f4f8ff 55%, #eef5f3 100%);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.hall-hero-title {
    margin: 0 0 0.45rem;
    color: #172033;
    font-size: clamp(2rem, 4vw, 3.8rem);
    font-weight: 800;
    letter-spacing: 0;
}

.hall-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(110px, 1fr));
    gap: 0.75rem;
}

.hall-hero-stats span {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 1rem;
    padding: 0.85rem 1rem;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.hall-hero-stats strong {
    color: #172033;
    font-size: 1.6rem;
    line-height: 1;
}

.hall-hero-stats small {
    color: #667085;
    font-weight: 700;
}

.hall-podium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: stretch;
}

.hall-podium-card,
.hall-side-card,
.hall-model-card {
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.hall-podium-card {
    display: flex;
    height: 100%;
    min-height: 0;
    flex-direction: column;
}

.hall-podium-rank-1 {
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.13);
}

.hall-podium-media,
.hall-model-image {
    position: relative;
    display: block;
    overflow: hidden;
    background: linear-gradient(145deg, #eef3fb, #dfe9f6);
    color: inherit;
    text-decoration: none;
}

.hall-podium-media {
    aspect-ratio: 16 / 10;
    flex: 0 0 auto;
}

.hall-model-image {
    aspect-ratio: 16 / 9;
}

.hall-podium-media::after,
.hall-model-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.05), rgba(15, 23, 42, 0.42));
    pointer-events: none;
}

.hall-podium-media img,
.hall-model-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.hall-rank-cluster {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.hall-rank-trophy,
.hall-rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    backdrop-filter: blur(10px);
}

.hall-rank-trophy {
    width: 2.45rem;
    height: 2.45rem;
    background: rgba(255, 255, 255, 0.84);
    font-size: 1.28rem;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.18);
}

.hall-rank-badge {
    min-width: 2.6rem;
    height: 2.6rem;
    background: rgba(17, 24, 39, 0.76);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.14);
}

.hall-podium-rank-1 .hall-rank-badge {
    background: linear-gradient(135deg, #f59e0b, #22c55e);
}

.hall-model-image > .hall-rank-badge {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 2;
}

.hall-rank-cluster-1 .hall-rank-trophy {
    filter: saturate(1.18);
}

.hall-rank-cluster-2 .hall-rank-trophy {
    filter: grayscale(0.95) brightness(1.18) contrast(1.08);
}

.hall-rank-cluster-3 .hall-rank-trophy {
    filter: sepia(0.68) saturate(1.55) hue-rotate(337deg) brightness(0.92);
}

.hall-podium-body,
.hall-model-body {
    padding: 1rem 1.15rem 1.2rem;
}

.hall-podium-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.hall-brand-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: #667085;
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
}

.hall-brand-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.2rem;
    width: 2.2rem;
    height: 2.2rem;
    overflow: hidden;
    border-radius: 0.75rem;
    background: #111827;
    color: #fff;
}

.hall-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.2rem;
}

.hall-podium-body h2,
.hall-model-body h3 {
    margin: 0.55rem 0 0.25rem;
    color: #172033;
    font-weight: 800;
    line-height: 1.05;
}

.hall-podium-body h2 {
    font-size: clamp(1.65rem, 3vw, 2.45rem);
    min-height: 2.1em;
}

.hall-model-body h3 {
    font-size: 1.45rem;
}

.hall-podium-body p,
.hall-model-body p {
    margin: 0 0 0.85rem;
    color: #667085;
}

.hall-podium-body small {
    margin-top: auto;
}

.hall-stars {
    display: flex;
    align-items: center;
    gap: 0.18rem;
    color: #f59e0b;
    font-size: 1.1rem;
    font-weight: 800;
}

.hall-stars strong {
    margin-left: 0.45rem;
    color: #172033;
}

.hall-vote-meter {
    height: 0.58rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef8;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

.hall-vote-meter span {
    display: block;
    height: 100%;
    min-width: 0.5rem;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb 0%, #06b6d4 34%, #22c55e 66%, #f59e0b 100%);
}

.hall-podium-body .hall-vote-meter,
.hall-model-body .hall-vote-meter {
    margin: 0.8rem 0 0.45rem;
}

.hall-side-card {
    height: 100%;
    padding: 1.1rem;
}

.hall-side-card h3 {
    margin: 0 0 0.9rem;
    color: #172033;
    font-size: 1.1rem;
    font-weight: 800;
}

.hall-mini-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.45rem 0.65rem;
    align-items: center;
    padding: 0.75rem 0;
    border-top: 1px solid #eef2f7;
    color: inherit;
    text-decoration: none;
}

.hall-mini-row:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.hall-mini-row span {
    color: #2563eb;
    font-weight: 900;
}

.hall-mini-row strong {
    min-width: 0;
    overflow: hidden;
    color: #172033;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hall-mini-row em {
    color: #667085;
    font-style: normal;
    font-weight: 800;
}

.hall-mini-row .hall-vote-meter {
    grid-column: 2 / -1;
    height: 0.42rem;
}

.hall-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.hall-model-card {
    display: flex;
    flex-direction: column;
}

.hall-model-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.hall-model-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
}

.hall-model-actions small {
    color: #667085;
    font-weight: 700;
}

.hall-model-actions a {
    color: #2563eb;
    font-weight: 800;
    text-decoration: none;
}

.hall-empty-bike {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 3.2rem;
}

@media (max-width: 1199.98px) {
    .forum-home-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .forum-feed-card {
        position: static;
    }

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

@media (max-width: 1199.98px) {
    .forum-review-card,
    .forum-discussion-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.9rem;
    }

    .forum-review-card-side,
    .forum-discussion-card-side {
        padding-left: 0;
        border-left: 0;
    }

    .forum-review-card-metrics,
    .forum-discussion-card-metrics {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    }
}

@media (max-width: 991.98px) {
    .forum-home-hero-shell {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.95) 56%, rgba(243, 248, 255, 0.86) 100%),
            url('/meccanicapp/public/images/homepage/hero-brands.png') right top / cover no-repeat;
    }

    .forum-home-hero {
        grid-template-columns: 1fr;
        padding: 1.5rem;
        min-height: auto;
    }

    .forum-home-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .forum-home-toolbar {
        grid-template-columns: 1fr;
    }

    .forum-home-feature-grid {
        grid-template-columns: 1fr;
    }

    .forum-resource-hero {
        align-items: flex-start;
        grid-template-columns: 1fr;
        padding: 1.35rem;
    }

    .forum-resource-hero-actions {
        justify-content: flex-start;
    }

    .forum-resource-grid {
        grid-template-columns: 1fr;
    }

    .forum-compose-grid {
        grid-template-columns: 1fr;
    }

    .forum-compose-choice-grid {
        grid-template-columns: 1fr;
    }

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

    .forum-admin-create-section,
    .forum-admin-section-row {
        grid-template-columns: 1fr;
    }

    .forum-public-category-head,
    .forum-public-forum-row,
    .forum-public-topic-row {
        grid-template-columns: 1fr;
    }

    .forum-public-category-head {
        gap: 0.55rem;
    }

    .forum-public-category-stats,
    .forum-public-forum-count,
    .forum-public-forum-last,
    .forum-public-topic-count,
    .forum-public-topic-last {
        text-align: left;
    }

    .forum-public-topic-row {
        margin-left: 1rem;
    }

    .forum-admin-delete-controls .form-select,
    .forum-admin-delete-controls .form-control {
        width: 100%;
    }

    .forum-admin-section-order .form-control {
        max-width: none;
    }

    .hall-hero {
        grid-template-columns: 1fr;
        padding: 1.35rem;
    }

    .hall-hero-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hall-hero-stats span {
        padding: 0.75rem;
    }

    .hall-hero-stats strong {
        font-size: 1.3rem;
    }

    .hall-podium-rank-1 {
        transform: none;
    }
}

@media (max-width: 767.98px) {
    .forum-home-hero,
    .forum-home-toolbar,
    .forum-feature-card {
        border-radius: 1.05rem;
    }

    .forum-home-hero-shell {
        margin-bottom: 1rem;
    }

    .forum-home-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .forum-stat-card {
        min-height: auto;
    }

    .forum-home-toolbar-actions,
    .forum-home-toolbar-side,
    .forum-home-toolbar-actions .btn {
        width: 100%;
    }

    .forum-home-toolbar-actions .btn,
    .forum-create-topic-button {
        justify-content: center;
    }

    .forum-home-toolbar-side {
        justify-content: stretch;
    }

    .forum-feature-head,
    .forum-macro-row,
    .forum-feature-section-row,
    .forum-feature-topic-row {
        margin: 0;
        padding-inline: 1rem;
    }

    .forum-feature-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .forum-macro-row {
        grid-template-columns: 72px minmax(0, 1fr) 46px 46px 14px;
        gap: 0.7rem;
    }

    .forum-macro-row-media {
        width: 72px;
        height: 72px;
    }

    .forum-macro-row-main strong,
    .forum-feature-topic-main strong {
        font-size: 1.02rem;
    }

    .forum-macro-row-main small,
    .forum-feature-topic-main small,
    .forum-feature-topic-activity small,
    .forum-feature-topic-metric small {
        font-size: 0.85rem;
    }

    .forum-feature-section-row,
    .forum-feature-topic-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.55rem;
        padding-block: 0.9rem;
    }

    .forum-feature-topic-metric,
    .forum-feature-topic-activity {
        justify-items: start;
        text-align: left;
    }

    .forum-macro-more {
        margin: 1rem;
        min-height: 60px;
    }

    .forum-post-author {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid rgba(203, 213, 225, 0.72);
        text-align: left;
    }

    .forum-post-content {
        padding: 1rem;
    }

    .forum-post-header {
        margin: -1rem -1rem 1rem;
        padding: 0.75rem 1rem;
    }

    .forum-inline-cover {
        max-width: 100%;
    }

    .forum-resource-thread {
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
        gap: 0.75rem;
        padding: 0.85rem;
    }

    .forum-resource-thread .forum-thread-thumb {
        width: 58px;
        height: 58px;
    }

    .forum-resource-thread-rich {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 0.85rem;
        margin: 0.75rem;
        padding: 0.95rem;
    }

    .forum-resource-thread-rich .forum-thread-thumb {
        width: 72px;
        height: 72px;
    }

    .forum-resource-thread-review {
        grid-template-columns: 72px minmax(0, 1fr);
        padding: 1rem 0.95rem;
    }

    .forum-resource-thread-review .forum-thread-thumb {
        width: 72px;
        height: 72px;
    }

    .forum-resource-thread-review .forum-resource-thread-main strong {
        font-size: 1.08rem;
    }

    .forum-review-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.85rem;
        padding: 1rem 0.95rem;
    }

    .forum-review-card-primary {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 0.75rem;
    }

    .forum-review-card-media {
        width: 72px;
        height: 72px;
        border-radius: 1rem;
    }

    .forum-review-card-body strong {
        font-size: 1.08rem;
    }

    .forum-review-card-side {
        justify-items: start;
        text-align: left;
        grid-column: 1;
        padding-left: 0;
        border-left: 0;
    }

    .forum-review-card-metrics {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .forum-discussion-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.85rem;
        padding: 1rem 0.95rem;
    }

    .forum-discussion-card-primary {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 0.75rem;
    }

    .forum-discussion-card-media {
        width: 72px;
        height: 72px;
        border-radius: 1rem;
    }

    .forum-discussion-card-side {
        justify-items: start;
        text-align: left;
        grid-column: 1;
        padding-left: 0;
        border-left: 0;
    }

    .forum-discussion-card-metrics {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .forum-resource-thread-author,
    .forum-resource-thread-last {
        grid-column: 2;
    }

    .forum-resource-thread-last {
        justify-items: start;
    }

    .forum-board-header,
    .forum-board-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .forum-board-actions {
        justify-self: start;
    }

    .forum-resource-thread-main strong {
        white-space: normal;
    }

    .hall-hero {
        border-radius: 1.1rem;
    }

    .hall-hero-stats {
        grid-template-columns: 1fr;
    }

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

    .hall-podium-card,
    .hall-side-card,
    .hall-model-card {
        border-radius: 1.05rem;
    }

    .hall-podium-media,
    .hall-model-image {
        aspect-ratio: 4 / 3;
    }

    .hall-podium-body,
    .hall-model-body {
        padding: 0.95rem;
    }

    .hall-podium-body h2,
    .hall-model-body h3 {
        font-size: 1.55rem;
    }

    .hall-podium-body h2 {
        min-height: 0;
    }

    .hall-side-card {
        padding: 0.95rem;
    }
}
/* MotoManager Marketplace, messaging and valuations */
.mm-market-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 1.5rem;
    padding: 2.25rem;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(135deg, #20252c 0%, #30423b 58%, #7a5b24 100%);
}

.mm-market-hero h1 {
    font-size: clamp(2rem, 4vw, 3.5rem);
    margin: 0 0 .5rem;
}

.mm-market-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, .82);
}

.mm-market-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: .5rem;
    justify-content: flex-end;
}

.mm-market-hero-refined {
    border-radius: 1.35rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
}

.mm-market-hero-copy {
    max-width: 740px;
}

.mm-market-actions-refined .btn {
    border-radius: 999px;
    min-height: 52px;
    padding-inline: 1.05rem;
    font-weight: 700;
}

.mm-market-actions-hero {
    align-self: center;
    grid-column: 2;
    grid-row: 1;
}

.mm-market-hero-search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin-top: -0.15rem;
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(10, 16, 26, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(9px);
}

.mm-market-hero-search-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.7rem;
    align-items: end;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

.mm-market-hero-search-grid label {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    min-width: 170px;
    flex: 0 0 170px;
}

.mm-market-hero-search-grid label:first-child {
    min-width: 300px;
    flex: 1 0 300px;
}

.mm-market-hero-search-grid label > span {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
}

.mm-market-hero-search-grid .form-control,
.mm-market-hero-search-grid .form-select {
    min-height: 48px;
    border-radius: 0.82rem;
    border-color: rgba(148, 163, 184, 0.44);
}

.mm-market-hero-search-grid .btn {
    min-height: 48px;
    border-radius: 0.82rem;
    font-weight: 700;
    padding-inline: 1.1rem;
    white-space: nowrap;
    flex: 0 0 auto;
}

.mm-market-stat-card {
    height: 100%;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

.mm-market-stat-card small {
    display: block;
    color: #64748b;
    font-weight: 600;
}

.mm-market-stat-card strong {
    display: block;
    margin-top: 0.18rem;
    color: #0f172a;
    font-size: clamp(1.7rem, 2.5vw, 2.25rem);
    line-height: 1;
}

.mm-market-section-head h2 {
    letter-spacing: -0.015em;
}

.mm-market-section-head a {
    font-weight: 700;
}

.mm-listing-row-refined {
    border-radius: 1rem;
    border-color: rgba(148, 163, 184, 0.2);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.mm-listing-row-refined:hover {
    border-color: rgba(59, 130, 246, 0.34);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.14);
}

.mm-price-strong {
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    line-height: 1;
    white-space: nowrap;
}

.mm-listing-meta span {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
}

.mm-pill-soft {
    border-radius: 999px;
    padding: 0.1rem 0.54rem;
    border: 1px solid rgba(37, 99, 235, 0.22);
    background: rgba(239, 246, 255, 0.9);
    color: #1e40af;
    font-weight: 700;
}

.mm-market-filter-card {
    border-radius: 1.1rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.mm-market-form-card {
    border-radius: 1.15rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.11);
}

.mm-market-hero-shell {
    margin-top: -3rem;
}

.mm-market-home {
    max-width: 1720px;
    margin: 0 auto;
    padding-inline: 24px;
    padding-bottom: 2rem;
}

.mm-market-list-page {
    max-width: 1720px;
    margin: 0 auto;
    padding-inline: 24px;
}

.mm-market-showcase {
    position: relative;
    overflow: hidden;
    padding: 0 0 1.5rem;
    margin-bottom: 0;
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.56) 0%, rgba(255, 255, 255, 0.78) 100%),
        var(--mm-market-hero-bg) center center / cover no-repeat;
    box-shadow: none;
}

.mm-market-showcase-stage {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 2.2rem 5.35rem;
}

.mm-market-showcase-stage::before {
    content: "";
    position: absolute;
    inset: 1.1rem 22% 3.8rem;
    border-radius: 3rem;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.95) 34%, rgba(255, 255, 255, 0.68) 56%, rgba(255, 255, 255, 0.24) 74%, rgba(255, 255, 255, 0) 88%);
    filter: blur(14px);
    pointer-events: none;
}

.mm-market-showcase-center {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
}

.mm-market-showcase-spotlight {
    width: 100%;
    max-width: 560px;
    text-align: center;
    padding: 1.3rem 0.85rem;
}

.mm-market-showcase-spotlight h1 {
    margin: 0 0 1rem;
    font-size: clamp(3.2rem, 5.7vw, 5rem);
    line-height: 0.94;
    letter-spacing: -0.05em;
    color: #0f172a;
}

.mm-market-showcase-spotlight p {
    max-width: 31rem;
    margin: 0 auto;
    color: #5b6780;
    font-size: 1.14rem;
    line-height: 1.55;
}

.mm-market-showcase-owned-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: 1.2rem;
    padding: 0.8rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.22);
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.mm-market-showcase-owned-link i {
    color: #2563eb;
}

.mm-market-showcase-owned-link strong {
    min-width: 2rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: #2563eb;
    color: #ffffff;
    font-size: 0.88rem;
    line-height: 1.2;
}

.mm-market-showcase-publish {
    position: absolute;
    top: 1.3rem;
    right: 3rem;
    z-index: 2;
    min-height: 56px;
    padding-inline: 1.35rem;
    border-radius: 1.05rem;
    font-weight: 800;
}

.mm-market-mobile-actions {
    display: none;
}

.mm-market-command {
    position: relative;
    z-index: 1;
    width: min(100% - 5rem, 1760px);
    margin: -2.8rem auto 0;
    padding: 1.2rem;
    border: 1px solid rgba(219, 227, 239, 0.9);
    border-radius: 1.45rem;
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 22px 46px rgba(15, 23, 42, 0.08);
}

.mm-market-all-listings {
    margin-bottom: 1rem;
}

.mm-market-list-page {
    padding-bottom: 2.5rem;
}

.mm-market-list-hero-shell {
    margin-top: -3rem;
}

.mm-market-list-results {
    margin-top: 1.75rem;
}

.mm-market-list-results-head {
    margin-bottom: 0.9rem;
}

.mm-market-list-results-head h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2.25rem, 4vw, 3.45rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.mm-market-list-results-grid {
    align-items: start;
}

.mm-market-list-filter-card {
    padding: 1.55rem;
    border-radius: 2rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.995) 0%, rgba(251, 253, 255, 1) 100%);
    border: 1px solid rgba(219, 227, 239, 0.92);
    box-shadow: 0 22px 52px rgba(15, 23, 42, 0.07);
}

.mm-market-list-results-panel {
    padding: 1.6rem;
    border-radius: 1.6rem;
    box-shadow: 0 20px 42px rgba(15, 23, 42, 0.06);
}

.mm-market-inline-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
    margin-bottom: 1rem;
}

.mm-market-inline-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.7rem 1rem;
    border-radius: 0.9rem;
    border: 1px solid #dbe3ef;
    background: #fff;
    color: #334155;
    text-decoration: none;
    font-weight: 600;
}

.mm-market-inline-pill.is-icon {
    width: 46px;
    padding: 0;
}

.mm-market-list-stack {
    display: grid;
    gap: 0.95rem;
}

.mm-market-list-row-card {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr) 32px minmax(128px, 170px);
    gap: 1rem;
    align-items: center;
    padding: 0.95rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.mm-market-list-row-thumb {
    display: block;
    width: 124px;
    height: 98px;
    overflow: hidden;
    border-radius: 0.95rem;
    background: #eef2f7;
}

.mm-market-list-row-thumb img,
.mm-market-list-row-thumb > span {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-market-list-row-thumb > span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 1.8rem;
}

.mm-market-list-row-body {
    display: grid;
    gap: 0.25rem;
}

.mm-market-list-row-body h3 {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.22;
}

.mm-market-list-row-body h3 a {
    text-decoration: none;
    color: #0f172a;
}

.mm-market-list-row-body p,
.mm-market-list-row-body small {
    margin: 0;
    color: #64748b;
}

.mm-market-row-fav {
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 1.2rem;
}

.mm-market-row-price {
    color: #15803d;
    font-size: 1.7rem;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}

.mm-market-row-side {
    display: grid;
    justify-items: end;
    align-content: center;
    gap: 0.18rem;
    min-width: 0;
    width: 100%;
}

.mm-market-row-time {
    display: block;
    width: 100%;
    text-align: right;
}

.mm-market-command-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(140px, 0.8fr)) auto;
    gap: 0.8rem;
    align-items: end;
}

.mm-market-command-grid label {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.mm-market-command-grid label > span {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 700;
}

.mm-market-command-input {
    position: relative;
}

.mm-market-command-input i {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
}

.mm-market-command .form-control,
.mm-market-command .form-select {
    min-height: 52px;
    border-radius: 0.9rem;
    border-color: #d8e1ee;
    box-shadow: none;
}

.mm-market-command .btn {
    min-height: 56px;
    border-radius: 0.9rem;
    padding-inline: 1.35rem;
    font-weight: 700;
    white-space: nowrap;
}

.mm-market-popular {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
    margin-top: 0.95rem;
}

.mm-market-popular strong {
    color: #0f172a;
    font-size: 0.9rem;
}

.mm-market-popular a {
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    text-decoration: none;
    font-size: 0.9rem;
}

.mm-market-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 2.8rem 0 1.1rem;
}

.mm-market-category-strip {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.15rem;
    margin-top: 1.6rem;
}

.mm-market-kpi-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1.45rem 1.35rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(226, 232, 240, 0.96);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 253, 255, 1) 100%);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
    text-decoration: none;
}

.mm-market-kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    font-size: 1.8rem;
}

.mm-market-kpi-card small,
.mm-market-kpi-card em {
    display: block;
}

.mm-market-kpi-card small {
    color: #64748b;
    font-style: normal;
    font-size: 0.9rem;
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.mm-market-kpi-card strong {
    color: #0f172a;
    font-size: 3rem;
    line-height: 0.95;
    letter-spacing: -0.04em;
    margin-top: 0.15rem;
}

.mm-market-kpi-card em {
    margin-top: 0.2rem;
    color: #64748b;
    font-style: normal;
    font-size: 0.9rem;
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.mm-market-kpi-card.accent-blue .mm-market-kpi-icon { color: #2563eb; background: #eaf1ff; }
.mm-market-kpi-card.accent-green .mm-market-kpi-icon { color: #15803d; background: #ecfdf3; }
.mm-market-kpi-card.accent-amber .mm-market-kpi-icon { color: #d97706; background: #fff7e8; }
.mm-market-kpi-card.accent-violet .mm-market-kpi-icon { color: #4f46e5; background: #eef0ff; }

.mm-market-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 1.2rem;
    align-items: start;
}

.mm-market-home-main,
.mm-market-home-side {
    display: grid;
    gap: 1rem;
}

.mm-market-promo-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.75fr);
    gap: 1rem;
    margin: 1.25rem 0 1.4rem;
}

.mm-market-promo-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1.75rem;
    border-radius: 1.55rem;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.mm-market-promo-card-light {
    background: linear-gradient(135deg, #eff5ff 0%, #ffffff 100%);
    border: 1px solid rgba(219, 227, 239, 0.9);
}

.mm-market-promo-card-dark {
    background: linear-gradient(135deg, #0f172a 0%, #0b1530 100%);
    color: #ffffff;
}

.mm-market-promo-copy h2 {
    margin: 0 0 0.7rem;
    color: inherit;
    font-size: clamp(1.85rem, 2vw, 2.4rem);
    line-height: 1.05;
}

.mm-market-promo-copy p {
    margin: 0;
    max-width: 26rem;
    color: #475569;
    font-size: 1rem;
    line-height: 1.65;
}

.mm-market-promo-card-dark .mm-market-promo-copy p,
.mm-market-promo-card-dark .mm-market-promo-list {
    color: rgba(255, 255, 255, 0.82);
}

.mm-market-promo-copy .btn {
    margin-top: 1.15rem;
    min-height: 50px;
    border-radius: 1rem;
    font-weight: 800;
    padding-inline: 1.15rem;
}

.mm-market-promo-list {
    display: grid;
    gap: 0.75rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    font-size: 1rem;
}

.mm-market-promo-list li::before {
    content: "◌";
    margin-right: 0.55rem;
    color: #bfdbfe;
}

.mm-market-promo-graphic {
    width: clamp(120px, 18vw, 220px);
    height: clamp(120px, 18vw, 220px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 2rem;
    color: #bfdbfe;
    background: rgba(255, 255, 255, 0.12);
    font-size: clamp(3rem, 6vw, 5rem);
}

.mm-market-promo-card-light .mm-market-promo-graphic {
    color: rgba(37, 99, 235, 0.18);
    background: rgba(255, 255, 255, 0.74);
}

.mm-market-card-grid-five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mm-market-latest-shell {
    margin-top: 1.5rem;
}

.mm-market-latest-grid {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1rem;
}

.mm-market-home-filter {
    position: sticky;
    top: 104px;
    align-self: start;
    padding: 2.05rem 1.75rem 1.85rem;
    border-radius: 2.2rem;
    border: 1px solid rgba(191, 208, 232, 0.72);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow:
        0 28px 60px rgba(15, 23, 42, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.mm-market-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1.65rem;
}

.mm-market-filter-head strong {
    color: #0f172a;
    font-size: 1.9rem;
    line-height: 1.04;
    letter-spacing: -0.05em;
    font-weight: 900;
}

.mm-market-filter-head a {
    color: #2563eb;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
}

.mm-market-home-filter-form {
    display: grid;
    gap: 1.55rem;
}

.mm-market-filter-group {
    display: grid;
    gap: 1.05rem;
}

.mm-market-filter-group > span {
    color: #0f172a;
    font-size: 1.05rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 900;
}

.mm-market-filter-group label {
    display: flex;
    align-items: center;
    gap: 0.95rem;
    color: #475569;
    font-size: 1.06rem;
    line-height: 1.25;
    padding: 0.05rem 0;
    cursor: pointer;
}

.mm-market-filter-group input[type="radio"] {
    width: 1.85rem;
    height: 1.85rem;
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 50%;
    border: 2px solid #8a94a6;
    background: #ffffff;
    box-shadow: inset 0 0 0 6px #ffffff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    flex: 0 0 auto;
}

.mm-market-filter-group input[type="radio"]:checked {
    border-color: #2563eb;
    box-shadow: inset 0 0 0 5px #ffffff, 0 0 0 5px rgba(37, 99, 235, 0.12);
    background: #2563eb;
}

.mm-market-filter-group input[type="radio"]:focus-visible {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.16);
}

.mm-market-inline-range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.mm-market-home-filter .form-control {
    min-height: 72px;
    border-radius: 1.65rem;
    border: 1px solid #d7e2f1;
    box-shadow: none;
    background: #ffffff;
    color: #475569;
    font-size: 1.04rem;
    font-weight: 500;
    padding-inline: 1.15rem;
}

.mm-market-home-filter .form-control::placeholder {
    color: #6b7280;
    opacity: 1;
}

.mm-market-home-filter .form-control:focus {
    border-color: #b9cff8;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}

.mm-market-home-filter .btn {
    min-height: 72px;
    margin-top: 0.15rem;
    border: 0;
    border-radius: 1.65rem;
    font-size: 1.08rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    box-shadow: 0 22px 38px rgba(37, 99, 235, 0.24);
}

.mm-market-home-filter .btn.btn-primary {
    background: linear-gradient(180deg, #3472ff 0%, #2455e8 100%);
}

.mm-market-home-filter .btn.btn-primary:hover,
.mm-market-home-filter .btn.btn-primary:focus {
    background: linear-gradient(180deg, #3e79ff 0%, #2a5bef 100%);
}

.mm-market-mobile-advanced {
    display: none;
}

.mm-market-mobile-advanced summary {
    list-style: none;
    cursor: pointer;
    min-height: 56px;
    padding: 0.95rem 1rem;
    border-radius: 1.2rem;
    border: 1px solid #d7e2f1;
    background: #ffffff;
    color: #0f172a;
    font-weight: 800;
}

.mm-market-mobile-advanced summary::-webkit-details-marker {
    display: none;
}

.mm-market-mobile-advanced[open] summary {
    margin-bottom: 0.9rem;
}

.mm-market-inline-filters-top {
    justify-content: flex-end;
    margin-bottom: 1rem;
}

.mm-market-row-time {
    color: #64748b;
    font-size: 0.88rem;
    white-space: nowrap;
}

.mm-market-benefits-strip {
    margin-top: 1.5rem;
}

.mm-market-owner-page {
    padding: 1.4rem 0 2.5rem;
}

.mm-market-owner-hero {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: 1.35rem;
}

.mm-market-owner-hero-copy h1 {
    margin: 0.2rem 0 0;
    color: #0f172a;
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.mm-market-owner-hero-copy p {
    max-width: 44rem;
    margin: 0.9rem 0 0;
    color: #64748b;
    font-size: 1.02rem;
    line-height: 1.65;
}

.mm-market-owner-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.mm-market-owner-hero-actions .btn {
    min-height: 52px;
    border-radius: 1rem;
    padding-inline: 1.2rem;
    font-weight: 700;
}

.mm-market-owner-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.mm-market-owner-stat {
    padding: 1.2rem 1.25rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

.mm-market-owner-stat small {
    display: block;
    color: #64748b;
    font-size: 0.88rem;
    font-weight: 700;
}

.mm-market-owner-stat strong {
    display: block;
    margin-top: 0.3rem;
    color: #0f172a;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.04em;
}

.mm-market-owner-list {
    display: grid;
    gap: 1rem;
}

.mm-market-owner-card {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 1.15rem;
    padding: 1.15rem;
    border-radius: 1.6rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.06);
}

.mm-market-owner-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 1.25rem;
    background: #eef2f7;
}

.mm-market-owner-thumb img,
.mm-market-owner-thumb span {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-market-owner-thumb span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 2.1rem;
}

.mm-market-owner-body {
    display: grid;
    gap: 1rem;
}

.mm-market-owner-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
}

.mm-market-owner-heading {
    min-width: 0;
}

.mm-market-owner-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 0.8rem;
}

.mm-market-owner-status {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
}

.mm-market-owner-status.is-success { background: #ecfdf3; color: #15803d; }
.mm-market-owner-status.is-warning { background: #fff7e8; color: #d97706; }
.mm-market-owner-status.is-neutral { background: #eff6ff; color: #2563eb; }
.mm-market-owner-status.is-dark { background: #0f172a; color: #ffffff; }
.mm-market-owner-status.is-muted { background: #f1f5f9; color: #475569; }
.mm-market-owner-status.is-info { background: #eef4ff; color: #2563eb; }
.mm-market-owner-status.is-danger { background: #fef2f2; color: #dc2626; }
.mm-market-owner-status.is-gold { background: #fffbeb; color: #ca8a04; }

.mm-market-owner-heading h2 {
    margin: 0;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.08;
}

.mm-market-owner-heading h2 a {
    color: #0f172a;
    text-decoration: none;
}

.mm-market-owner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-top: 0.85rem;
    color: #64748b;
}

.mm-market-owner-meta strong {
    color: #15803d;
    font-size: 1.15rem;
}

.mm-market-owner-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.mm-market-owner-note {
    margin: 0.85rem 0 0;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    background: #fff8e8;
    color: #a16207;
    line-height: 1.55;
}

.mm-market-owner-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.mm-market-owner-actions .btn,
.mm-market-owner-actions form {
    margin: 0;
}

.mm-market-owner-actions .btn {
    min-height: 46px;
    border-radius: 1rem;
    padding-inline: 1rem;
    font-weight: 700;
}

.mm-market-owner-feature-form {
    padding: 1rem;
    border-radius: 1.15rem;
    border: 1px solid rgba(245, 158, 11, 0.22);
    background: linear-gradient(180deg, #fffdf5 0%, #ffffff 100%);
}

.mm-market-owner-feature-form .form-label {
    margin: 0 0 0.7rem;
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 800;
}

.mm-market-owner-feature-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
}

.mm-market-owner-feature-row .form-control {
    min-height: 48px;
    border-radius: 1rem;
    border-color: #e5e7eb;
    box-shadow: none;
}

.mm-market-owner-feature-row .btn {
    min-height: 48px;
    border-radius: 1rem;
    padding-inline: 1rem;
    font-weight: 700;
}

.mm-market-surface {
    padding: 1.15rem;
    border-radius: 1.2rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.mm-market-surface-head,
.mm-market-tabs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.mm-market-surface-head h2,
.mm-market-tabs-head h2 {
    margin: 0;
    font-size: 1.28rem;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.mm-market-surface-head a,
.mm-market-tabs-head a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.mm-market-category-row {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.8rem;
}

.mm-market-category-pill {
    display: grid;
    gap: 0.55rem;
    justify-items: center;
    text-align: center;
    padding: 1rem 0.7rem;
    border-radius: 1rem;
    text-decoration: none;
    color: #1e293b;
}

.mm-market-category-pill span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    font-size: 1.5rem;
}

.mm-market-category-pill strong {
    font-size: 0.96rem;
}

.mm-market-category-pill small {
    color: #64748b;
}

.mm-market-category-pill.accent-blue span { color: #2563eb; background: #eef4ff; }
.mm-market-category-pill.accent-green span { color: #16a34a; background: #ecfdf3; }
.mm-market-category-pill.accent-emerald span { color: #059669; background: #ecfdf5; }
.mm-market-category-pill.accent-orange span { color: #f97316; background: #fff3eb; }
.mm-market-category-pill.accent-amber span { color: #d97706; background: #fff8e8; }
.mm-market-category-pill.accent-violet span { color: #6366f1; background: #eef0ff; }
.mm-market-category-pill.accent-slate span { color: #475569; background: #f1f5f9; }

.mm-market-tabs {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.mm-market-tabs button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #64748b;
    font-weight: 600;
}

.mm-market-tabs button.is-active {
    color: #0f172a;
    font-weight: 700;
}

.mm-market-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.mm-market-listing-card {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.mm-market-listing-thumb {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eff3f8;
}

.mm-market-listing-thumb img,
.mm-market-listing-thumb > span {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-market-listing-thumb > span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 2rem;
}

.mm-market-fav-btn {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(8px);
}

.mm-market-card-badge,
.mm-market-mini-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.mm-market-card-badge {
    position: absolute;
    left: 0.85rem;
    top: 0.85rem;
    min-height: 30px;
    padding: 0.35rem 0.7rem;
    backdrop-filter: blur(10px);
}

.mm-market-listing-body {
    display: grid;
    gap: 0.45rem;
    padding: 0.95rem;
}

.mm-market-listing-body h3 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.25;
}

.mm-market-listing-body h3 a {
    color: #0f172a;
    text-decoration: none;
}

.mm-market-listing-meta {
    min-height: 1.3rem;
    margin: 0;
    color: #64748b;
    font-size: 0.92rem;
}

.mm-market-listing-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    color: #64748b;
    font-size: 0.92rem;
}

.mm-market-listing-foot span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.mm-market-listing-foot strong {
    color: #15803d;
    font-size: 1.05rem;
    white-space: nowrap;
}

.mm-market-more-btn {
    min-height: 48px;
    border-radius: 999px;
    padding-inline: 1.4rem;
    font-weight: 700;
}

.mm-market-mini-list {
    display: grid;
    gap: 0.75rem;
}

.mm-market-mini-item {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.mm-market-mini-thumb {
    width: 88px;
    height: 72px;
    border-radius: 0.9rem;
    overflow: hidden;
    background: #eef2f7;
}

.mm-market-mini-thumb img,
.mm-market-mini-thumb span {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-market-mini-thumb span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
}

.mm-market-mini-body {
    display: grid;
    gap: 0.2rem;
}

.mm-market-mini-badge {
    align-self: flex-start;
    padding: 0.22rem 0.55rem;
}

.mm-market-mini-body strong {
    color: #0f172a;
    font-size: 0.98rem;
    line-height: 1.25;
}

.mm-market-mini-body small {
    color: #64748b;
    font-size: 0.86rem;
}

.mm-market-mini-item em {
    color: #15803d;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}

.mm-market-notify-card {
    display: grid;
    gap: 0.8rem;
}

.mm-market-feature-request-form {
    max-width: 520px;
}

.mm-market-feature-request-form .btn {
    min-height: 38px;
    white-space: nowrap;
}

.mm-market-notify-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 1rem;
    color: #2563eb;
    background: #eef4ff;
    font-size: 1.35rem;
}

.mm-market-notify-card h3 {
    margin: 0;
    font-size: 1.2rem;
    color: #0f172a;
}

.mm-market-notify-card p {
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

.mm-market-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0.15rem;
}

.mm-market-benefits article {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem 1.1rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.mm-market-benefits article span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    color: #2563eb;
    background: #eef4ff;
    font-size: 1.4rem;
}

.mm-market-benefits article strong {
    display: block;
    color: #0f172a;
}

.mm-market-benefits article p {
    margin: 0.2rem 0 0;
    color: #64748b;
    line-height: 1.5;
}

.mm-market-form-page {
    padding-bottom: 1rem;
}

.mm-sell-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
    gap: 1.6rem;
    align-items: center;
    padding: 2rem 2.1rem 1.5rem;
    margin: 0 auto 1.15rem;
    border-radius: 1.8rem;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.10), transparent 32%),
        radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.11), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.08);
}

.mm-sell-hero-main {
    display: grid;
    gap: 1.1rem;
}

.mm-sell-hero-copy {
    max-width: 680px;
}

.mm-sell-hero-copy h1 {
    margin: 0.45rem 0 0.85rem;
    font-size: clamp(2.2rem, 4.5vw, 3.6rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
    color: #16233b;
}

.mm-sell-hero-copy p {
    margin: 0;
    color: #5a6880;
    font-size: 1.04rem;
    line-height: 1.7;
}

.mm-sell-stat-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.mm-sell-stat-pill {
    padding: 0.95rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.mm-sell-stat-pill small {
    display: block;
    color: #64748b;
    margin-bottom: 0.22rem;
}

.mm-sell-stat-pill strong {
    color: #16233b;
    font-size: 1.35rem;
    line-height: 1.05;
}

.mm-sell-hero-art {
    display: grid;
    gap: 0.9rem;
    justify-items: end;
}

.mm-sell-hero-card {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 210px;
    padding: 0.95rem 1rem;
    border-radius: 1.15rem;
    color: #183153;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(148, 163, 184, 0.24);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
}

.mm-sell-hero-card i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #1d4ed8;
    background: #eff6ff;
    font-size: 1.2rem;
}

.mm-sell-hero-card span {
    font-weight: 700;
}

.mm-sell-hero-card-main {
    transform: translateX(-34px);
}

.mm-sell-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 1.25rem;
    align-items: start;
}

.mm-sell-sidecard {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 1rem;
}

.mm-sell-sidecard-block {
    padding: 1.25rem 1.1rem;
    border: 1px solid rgba(37, 99, 235, 0.08);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.mm-sell-sidecard-block h2 {
    margin: 0.35rem 0 0.8rem;
    font-size: 1.2rem;
    color: #16233b;
}

.mm-sell-side-steps {
    display: grid;
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mm-sell-side-steps li {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
}

.mm-sell-side-steps span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: #fff;
    font-weight: 700;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.2);
}

.mm-sell-side-steps strong {
    display: block;
    color: #16233b;
    font-size: 0.96rem;
}

.mm-sell-side-steps small {
    display: block;
    margin-top: 0.15rem;
    color: #6b7280;
    font-size: 0.86rem;
    line-height: 1.4;
}

.mm-sell-subito-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1.25rem;
    text-decoration: none;
    color: inherit;
    background: linear-gradient(145deg, #0f172a 0%, #16233b 52%, #26447a 100%);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.18);
}

.mm-sell-subito-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    color: #fff;
    background: rgba(59, 130, 246, 0.22);
    font-size: 1.35rem;
}

.mm-sell-subito-card small,
.mm-sell-subito-card p,
.mm-sell-subito-card span {
    color: rgba(255, 255, 255, 0.76);
}

.mm-sell-subito-card strong {
    display: block;
    margin-top: 0.15rem;
    color: #fff;
    font-size: 1rem;
}

.mm-sell-subito-card p {
    margin: 0.45rem 0 0.55rem;
    line-height: 1.45;
}

.mm-sell-subito-card span {
    font-weight: 700;
}

.mm-market-form-hero {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    padding: 1.4rem 1.5rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(140deg, #182432 0%, #25465c 58%, #8a6a2a 100%);
    color: #f8fafc;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.22);
}

.mm-market-form-hero h1 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.05;
}

.mm-market-form-hero p {
    margin-top: 0.45rem;
    color: rgba(248, 250, 252, 0.86);
    max-width: 760px;
}

.mm-market-wizard {
    overflow: hidden;
}

.mm-market-wizard-progress-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.5rem;
}

.mm-market-wizard-progress .progress {
    height: 0.7rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.18);
}

.mm-market-wizard-progress .progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, #1a73e8 0%, #4285f4 100%);
    transition: width 0.28s ease;
}

.mm-market-stepper {
    margin: 0.55rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.38rem;
}

.mm-market-stepper li {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.2rem 0.58rem;
    border: 1px solid #e5eaf2;
    background: #fff;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 700;
}

.mm-market-stepper li.is-active {
    color: #1a73e8;
    border-color: rgba(26, 115, 232, 0.36);
    background: #edf4ff;
}

.mm-market-stepper li.is-done {
    color: #166534;
    border-color: rgba(22, 163, 74, 0.42);
    background: #f0fdf4;
}

.mm-market-step-pane {
    display: none;
    padding: .85rem;
    border: 1px solid #ebeff5;
    border-radius: .78rem;
    background: #ffffff;
}

.mm-market-step-pane.is-active {
    display: block;
}

.mm-market-step-pane h2 {
    margin: 0 0 0.4rem;
    font-size: 1.06rem;
}

.mm-market-step-pane + .mm-market-step-pane {
    margin-top: 0.9rem;
}

.mm-catalog-preview {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    padding: 0.68rem 0.78rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #f8fafc;
}

.mm-catalog-preview strong {
    display: block;
    font-size: 0.78rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.mm-catalog-preview span {
    display: block;
    margin-top: 0.08rem;
    color: #0f172a;
    font-weight: 700;
}

.mm-catalog-preview-media img,
.mm-catalog-preview-media span {
    width: 58px;
    height: 58px;
    border-radius: 0.7rem;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #64748b;
}

.mm-market-wizard-footer {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    backdrop-filter: blur(8px);
}

.mm-region-select,
.mm-province-select {
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position:
        calc(100% - 18px) calc(50% - 3px),
        calc(100% - 12px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 2.2rem;
}

.mm-market-safety {
    padding: 1rem 1.15rem;
    border: 1px solid rgba(245, 158, 11, 0.32);
    border-radius: 1rem;
    background: #fffbeb;
    color: #7c5a10;
}

.mm-market-safety h3 {
    margin: 0 0 0.4rem;
    font-size: 1.1rem;
}

.mm-market-safety p {
    margin: 0;
}

.mm-listing-row {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 1rem;
    padding: .85rem;
    margin-bottom: .75rem;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(21, 31, 42, .06);
}

.mm-listing-thumb {
    display: block;
    width: 132px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 6px;
    background: #eef2f6;
    text-decoration: none;
}

.mm-listing-thumb img,
.mm-gallery img,
.mm-gallery-thumb,
.mm-image-chip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-listing-thumb span,
.mm-gallery-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #64748b;
    font-size: 2.4rem;
}

.mm-price,
.mm-detail-price {
    color: #1f6f4a;
}

.mm-detail-price {
    font-size: 2rem;
    font-weight: 800;
    margin: 1rem 0 .5rem;
}

.mm-detail-price span {
    font-size: .9rem;
    color: #64748b;
    font-weight: 500;
}

.mm-gallery {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 18px;
    background: #eef2f6;
    cursor: zoom-in;
}

.mm-gallery img {
    display: block;
}

.mm-gallery-thumb {
    flex: 0 0 88px;
    width: 88px;
    height: 66px;
    border-radius: 10px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mm-gallery-thumb.is-active {
    border-color: #2563eb;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.18);
}

.mm-gallery-thumb:hover {
    transform: translateY(-1px);
}

.mm-gallery-thumb-strip {
    display: flex;
    gap: 0.7rem;
    margin-top: 0.9rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
}

.mm-gallery-zoom-hint {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.72);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 700;
    pointer-events: none;
}

.mm-gallery-lightbox .modal-content {
    background: rgba(6, 12, 24, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
}

.mm-gallery-lightbox .modal-body {
    padding: 0.9rem;
}

.mm-gallery-lightbox img {
    width: 100%;
    max-height: 82vh;
    object-fit: contain;
    border-radius: 16px;
}

.mm-image-chip {
    position: relative;
    width: 110px;
    height: 82px;
    border-radius: 6px;
    overflow: hidden;
}

.mm-image-chip form {
    position: absolute;
    top: 4px;
    right: 4px;
}

.mm-message-thread {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 1.25rem;
    border-radius: 1.5rem;
    background: linear-gradient(180deg, #f6faff 0%, #eef4fb 100%);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mm-desktop-chat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.mm-desktop-chat-identity {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.mm-desktop-chat-back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    text-decoration: none;
    color: #1d4ed8;
    font-weight: 700;
}

.mm-desktop-chat-copy {
    min-width: 0;
}

.mm-desktop-chat-copy small {
    display: block;
    margin-top: 0.2rem;
    color: #64748b;
}

.mm-desktop-chat-avatar,
.mm-message-avatar {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 16px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    color: #1e3a8a;
    font-weight: 800;
}

.mm-desktop-chat-avatar img,
.mm-message-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-desktop-chat-list {
    border-radius: 1.5rem;
    overflow: hidden;
}

.mm-desktop-chat-list-item {
    padding: 1rem 1.1rem;
}

.mm-desktop-chat-list-main {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    min-width: 0;
}

.mm-desktop-chat-composer {
    border-radius: 1.5rem;
    overflow: hidden;
}

.mm-desktop-chat-composer-head {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 0.9rem;
}

.mm-desktop-chat-composer-head small {
    display: block;
    color: #64748b;
}

.mm-chat-day-separator {
    display: flex;
    justify-content: center;
    margin: 1rem 0;
}

.mm-chat-day-separator span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    color: #475569;
    font-size: 0.78rem;
    font-weight: 700;
}

.mm-message {
    display: flex;
    align-items: flex-end;
    gap: .75rem;
}

.mm-message.mine {
    justify-content: flex-end;
    flex-direction: row-reverse;
}

.mm-message-bubble {
    max-width: min(720px, 86%);
    padding: .95rem 1rem;
    border-radius: 1.25rem 1.25rem 1.25rem 0.4rem;
    background: #fff;
    box-shadow: 0 4px 14px rgba(21, 31, 42, .06);
}

.mm-message.mine .mm-message-bubble {
    border-radius: 1.25rem 1.25rem 0.4rem 1.25rem;
    background: linear-gradient(135deg, #0f63ff, #265df6);
    color: #fff;
}

.mm-message.mine .mm-message-bubble small {
    color: rgba(255, 255, 255, 0.78) !important;
}

.mm-message-bubble p {
    margin-top: 0.25rem;
}

.mm-message-thread {
    display: grid;
    gap: 0.85rem;
}

.mm-valuation-shell {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.mm-valuation-side {
    position: sticky;
    top: 96px;
    min-height: 500px;
    padding: 1.55rem;
    border-radius: 1rem;
    color: #fff;
    background: linear-gradient(160deg, #0f1a2a 0%, #1e3242 56%, #6f5626 100%);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .16);
}

.mm-valuation-side h1 {
    margin: .65rem 0 .9rem;
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    line-height: 1.04;
}

.mm-valuation-side p {
    color: rgba(255, 255, 255, .78);
    font-size: 1rem;
    line-height: 1.45;
}

.mm-valuation-side-actions {
    display: grid;
    gap: .55rem;
    margin-top: 1.35rem;
}

.mm-valuation-side-actions .btn {
    min-height: 50px;
    border-radius: .95rem;
    font-weight: 700;
}

.mm-qz-modern {
    max-width: 1100px;
    margin: 0 auto;
}

.mm-qz-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: 2rem;
    align-items: center;
    padding: 2rem 2.2rem 1.35rem;
    margin: 0 auto 1rem;
    border-radius: 1.8rem;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 32%),
        radial-gradient(circle at top right, rgba(59, 130, 246, .08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    box-shadow: 0 24px 50px rgba(15, 23, 42, .08);
}

.mm-qz-hero-main {
    display: grid;
    gap: 1.2rem;
    align-content: center;
}

.mm-qz-head {
    text-align: left;
    margin-bottom: .45rem;
}

.mm-qz-hero-copy {
    max-width: 620px;
    text-align: center;
    justify-self: center;
}

.mm-qz-hero-copy h1 {
    margin: .5rem 0 1rem;
    font-size: clamp(2.45rem, 5vw, 4rem);
    line-height: .97;
    letter-spacing: -0.045em;
    color: #16233b;
}

.mm-qz-hero-copy p {
    margin: 0;
    color: #5a6880;
    font-size: 1.08rem;
    line-height: 1.72;
}

.mm-qz-hero-art {
    position: relative;
    min-height: 260px;
}

.mm-qz-hero-focus {
    position: absolute;
    top: 18px;
    right: 46px;
    width: 220px;
    height: 220px;
}

.mm-qz-hero-focus-ring {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 170px;
    margin: 0 auto;
    border-radius: 50%;
    color: #3f6ecf;
    font-size: 4rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(240, 245, 255, .92));
    border: 14px solid rgba(59, 130, 246, .12);
    box-shadow: 0 28px 42px rgba(59, 130, 246, .12);
}

.mm-qz-hero-focus-handle {
    position: absolute;
    right: 16px;
    bottom: 18px;
    width: 86px;
    height: 28px;
    border-radius: 999px;
    transform: rotate(45deg);
    transform-origin: center;
    background: linear-gradient(180deg, rgba(172, 194, 240, .7), rgba(125, 157, 226, .95));
}

.mm-qz-hero-spark {
    position: absolute;
    inset: auto;
}

.mm-qz-hero-spark-left {
    left: 10px;
    bottom: 36px;
    display: flex;
    gap: 1rem;
    align-items: end;
}

.mm-qz-hero-spark-left span {
    width: 26px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(180deg, rgba(59, 130, 246, .32), rgba(59, 130, 246, .08));
}

.mm-qz-hero-spark-left span:nth-child(1) { height: 24px; }
.mm-qz-hero-spark-left span:nth-child(2) { height: 46px; }
.mm-qz-hero-spark-left span:nth-child(3) { height: 78px; }
.mm-qz-hero-spark-left span:nth-child(4) { height: 52px; }
.mm-qz-hero-spark-left span:nth-child(5) { height: 34px; }

.mm-qz-hero-spark-right {
    right: 0;
    bottom: 10px;
    display: flex;
    gap: .8rem;
    align-items: end;
}

.mm-qz-hero-spark-right span {
    width: 18px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(180deg, rgba(59, 130, 246, .28), rgba(59, 130, 246, .08));
}

.mm-qz-hero-spark-right span:nth-child(1) { height: 34px; }
.mm-qz-hero-spark-right span:nth-child(2) { height: 54px; }
.mm-qz-hero-spark-right span:nth-child(3) { height: 82px; }

.mm-qz-head h1 {
    margin: .22rem 0 .15rem;
    font-size: clamp(1.5rem, 3vw, 2rem);
    letter-spacing: -0.02em;
    color: #0f172a;
}

.mm-qz-head p {
    margin: 0;
    color: #64748b;
    font-size: .96rem;
}

.mm-qz-notice {
    max-width: 860px;
    margin: 0 auto 1.4rem;
}

.mm-qz-hero-notice {
    max-width: 100%;
    margin: 0;
}

.mm-qz-card {
    border-radius: 1.4rem;
    border: 1px solid #e8edf5;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.mm-qz-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 1.25rem;
    align-items: start;
}

.mm-qz-stat-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 860px;
    margin: 0 auto 1.4rem;
}

.mm-qz-stat-strip-hero {
    max-width: 100%;
    margin: 0;
}

.mm-qz-stat-pill {
    padding: .95rem 1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.mm-qz-stat-pill small {
    display: block;
    color: #64748b;
    margin-bottom: .22rem;
}

.mm-qz-stat-pill strong {
    color: #16233b;
    font-size: 1.6rem;
    line-height: 1;
}

.mm-qz-sidecard {
    position: sticky;
    top: 96px;
    padding: 1.25rem 1.1rem;
    border: 1px solid rgba(37, 99, 235, .08);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}

.mm-qz-side-steps {
    display: grid;
    gap: .95rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mm-qz-side-steps li {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
    padding: .2rem 0;
    color: #6b7280;
}

.mm-qz-side-steps li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 1.15rem;
    font-weight: 700;
    color: #334155;
    background: #eef2ff;
}

.mm-qz-side-steps li strong {
    display: block;
    color: #16233b;
    font-size: .98rem;
}

.mm-qz-side-steps li small {
    display: block;
    margin-top: .15rem;
    font-size: .86rem;
}

.mm-qz-side-steps li.is-active span {
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    box-shadow: 0 12px 26px rgba(37, 99, 235, .26);
}

.mm-qz-side-steps li.is-done span {
    color: #1d4ed8;
    background: #dbeafe;
}

.mm-qz-progress {
    padding: 1.2rem 1.35rem 0;
}

.mm-qz-step-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin: 1rem 0 0;
    padding: 0 0 .75rem;
    list-style: none;
}

.mm-qz-step-tabs li {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 48px;
    padding: .75rem .9rem;
    border: 1px solid #dbe3ef;
    border-radius: .9rem;
    background: #fff;
    color: #516077;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.mm-qz-step-tabs li i {
    font-size: 1rem;
}

.mm-qz-step-tabs li.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    box-shadow: 0 16px 28px rgba(37, 99, 235, .24);
}

.mm-qz-step-tabs li.is-done {
    color: #1d4ed8;
    border-color: #bfdbfe;
    background: #eff6ff;
}

.mm-qz-pane {
    padding: 1.15rem 1.35rem 1.45rem;
    border-top: 1px solid #edf2f8;
}

.mm-valuation-workspace {
    min-width: 0;
}

.mm-valuation-notice {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: .7rem .85rem;
    margin-bottom: .55rem;
    border: 1px solid #f1dfae;
    border-radius: .75rem;
    color: #765c1a;
    background: linear-gradient(180deg, #fffdf5 0%, #fff8e7 100%);
    font-size: .9rem;
}

.mm-valuation-form {
    overflow: visible;
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

.mm-form-section {
    padding: 1.35rem;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.mm-form-section-head {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
    margin-bottom: .7rem;
}

.mm-form-section-head-minimal > span {
    display: none;
}

.mm-form-section-head > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #fff;
    background: #2563eb;
    font-weight: 700;
    flex: 0 0 34px;
}

.mm-form-section-head h2 {
    margin: 0;
    font-size: 1rem;
}

.mm-form-section-head p {
    margin: .15rem 0 0;
    color: #64748b;
    font-size: .88rem;
}

.mm-valuation-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 1rem;
}

.mm-valuation-grid label span {
    display: block;
    margin-bottom: .45rem;
    color: #334155;
    font-weight: 600;
    font-size: .9rem;
}

.mm-valuation-form .form-control,
.mm-valuation-form .form-select {
    min-height: 48px;
    border-radius: .7rem;
    border-color: #d4dbe5;
    box-shadow: none;
}

.mm-valuation-form .form-control:focus,
.mm-valuation-form .form-select:focus {
    border-color: #1a73e8;
    box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.14);
}

.mm-autocomplete {
    position: relative;
}

.mm-suggestion-panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    display: none;
    max-height: 340px;
    overflow: auto;
    padding: .45rem;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .18);
}

.mm-suggestion-panel.is-open {
    display: block;
}

.mm-suggestion-panel.is-loading {
    display: block;
}

.mm-suggestion-item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    width: 100%;
    padding: .6rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #111827;
    text-align: left;
}

.mm-suggestion-item:hover,
.mm-suggestion-item:focus {
    background: #eff6ff;
}

.mm-suggestion-item img,
.mm-suggestion-item > span:first-child {
    width: 46px;
    height: 46px;
    border-radius: 6px;
    object-fit: cover;
    background: #eef2f6;
}

.mm-suggestion-item > span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
}

.mm-suggestion-item small {
    display: block;
    color: #64748b;
}

.mm-suggestion-empty {
    padding: .85rem;
    color: #64748b;
}

.mm-suggestion-loading {
    display: grid;
    gap: .55rem;
    padding: .3rem;
}

.mm-suggestion-skeleton {
    height: 62px;
    border-radius: 12px;
    background:
        linear-gradient(90deg, rgba(226, 232, 240, 0.78) 25%, rgba(241, 245, 249, 0.98) 50%, rgba(226, 232, 240, 0.78) 75%);
    background-size: 200% 100%;
    animation: mm-skeleton-wave 1.1s ease-in-out infinite;
}

.mm-toggle-row {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 8px;
    background: #f8fafc;
}

.mm-toggle-row small {
    display: block;
    color: #64748b;
}

.mm-python-progress {
    padding: 1.35rem;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    background: #f8fafc;
}

.mm-python-progress ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.mm-python-progress li {
    padding: .55rem .7rem;
    border-radius: 6px;
    color: #64748b;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    font-size: .9rem;
}

.mm-python-progress li.is-active {
    color: #1d4ed8;
    border-color: #93c5fd;
    background: #eff6ff;
}

.mm-python-progress li.is-done {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.mm-python-progress-note {
    margin-top: .85rem;
    color: #64748b;
    font-size: .95rem;
    min-height: 1.45rem;
}

.mm-qz-impact-alert {
    border-radius: 18px;
    font-size: .96rem;
    line-height: 1.45;
}

.mm-toggle-row-compact {
    min-height: 100%;
}

.mm-form-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .72rem .85rem;
    background: #fff;
}

.mm-form-footer .btn {
    border-radius: .74rem;
    min-height: 42px;
    font-weight: 700;
}

.mm-qz-footer {
    position: sticky;
    bottom: 0;
    z-index: 3;
    border-top: 1px solid #edf1f7;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(8px);
}

.mm-qz-actions {
    align-items: center;
}

.mm-qz-source-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
}

.mm-qz-source-card {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: 1rem;
    border: 1px solid #dbe3ef;
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.mm-qz-source-card strong,
.mm-qz-source-card small {
    display: block;
}

.mm-qz-source-card small {
    margin-top: .18rem;
    color: #64748b;
}

.mm-valuation-chart-wrap {
    height: 340px;
}

.mm-history-list {
    display: grid;
    gap: .65rem;
}

.mm-history-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.mm-history-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .85rem;
}

.mm-history-select-all {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0;
    color: #16233b;
    font-weight: 700;
}

.mm-history-card {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
}

.mm-history-card-select {
    padding-top: .15rem;
}

.mm-history-card-select input {
    width: 18px;
    height: 18px;
}

.mm-history-card {
    display: grid;
    gap: .9rem;
    padding: 1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
}

.mm-history-card-main {
    color: inherit;
    text-decoration: none;
}

.mm-history-card-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.mm-history-card-head strong {
    display: block;
    color: #16233b;
    font-size: 1.02rem;
}

.mm-history-card-head span {
    display: block;
    margin-top: .28rem;
    color: #64748b;
    font-size: .92rem;
}

.mm-history-card-head em {
    color: #165f43;
    font-style: normal;
    font-weight: 800;
    font-size: 1.08rem;
    white-space: nowrap;
}

.mm-history-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .75rem;
}

.mm-history-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .38rem .72rem;
    border-radius: 999px;
    color: #41506a;
    background: #eef4ff;
    font-size: .82rem;
    font-weight: 700;
}

.mm-history-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.mm-history-card-actions .btn {
    border-radius: .85rem;
    min-height: 42px;
    font-weight: 700;
}

.mm-history-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1rem;
}

.mm-history-pagination .btn {
    min-width: 42px;
    border-radius: .75rem;
}

.mm-qz-feature-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .05);
}

.mm-qz-feature {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: .9rem;
    align-items: start;
}

.mm-qz-feature i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    color: #2563eb;
    background: #eff6ff;
    font-size: 1.4rem;
}

.mm-qz-feature strong {
    display: block;
    color: #16233b;
}

.mm-qz-feature p {
    margin: .2rem 0 0;
    color: #64748b;
    font-size: .9rem;
    line-height: 1.55;
}

.mm-qz-history-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.mm-qz-history-head h1 {
    margin: .3rem 0 .4rem;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: .98;
    letter-spacing: -0.03em;
    color: #16233b;
}

.mm-qz-history-head p {
    margin: 0;
    color: #64748b;
    max-width: 640px;
}

.mm-qz-history-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.mm-qz-stat-card,
.mm-qz-history-panel {
    border-radius: 1.2rem;
}

.mm-qz-stat-card {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .05);
}

.mm-qz-stat-card small {
    display: block;
    color: #64748b;
    margin-bottom: .3rem;
}

.mm-qz-stat-card strong {
    color: #16233b;
    font-size: 1.45rem;
}

.mm-qz-result-page {
    padding-bottom: 2rem;
}

.mm-qz-result-hero {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr) 300px;
    gap: 1.2rem;
    align-items: center;
    padding: 1.5rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 22px 46px rgba(15, 23, 42, .08);
}

.mm-qz-result-hero-media img,
.mm-qz-result-hero-placeholder {
    width: 100%;
    max-height: 210px;
    object-fit: contain;
}

.mm-qz-result-hero-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 210px;
    border-radius: 1.2rem;
    color: #94a3b8;
    background: #eff4fb;
    font-size: 4rem;
}

.mm-qz-result-hero-copy h1 {
    margin: .35rem 0 .7rem;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: .98;
    letter-spacing: -0.04em;
    color: #16233b;
}

.mm-qz-result-hero-meta,
.mm-qz-result-updated {
    margin: 0;
    color: #64748b;
}

.mm-qz-result-updated {
    margin-top: .75rem;
    font-size: .93rem;
}

.mm-qz-result-source-row {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .85rem;
}

.mm-qz-source-pill {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .38rem .75rem;
    border-radius: 999px;
    font-size: .84rem;
    font-weight: 700;
    color: #1f2937;
    background: #f3f4f6;
}

.mm-qz-source-pill.is-subito {
    background: #fff1f2;
    color: #be123c;
}

.mm-qz-source-pill.is-motoit {
    background: #fff7ed;
    color: #b45309;
}

.mm-qz-source-pill.is-dueruote {
    background: #eef2ff;
    color: #3730a3;
}

.mm-qz-result-total {
    display: grid;
    gap: .3rem;
    align-self: stretch;
    padding: 1.1rem 1.15rem;
    border-radius: 1.25rem;
    background:
        linear-gradient(150deg, rgba(18, 27, 43, .94) 0%, rgba(29, 56, 95, .88) 62%, rgba(41, 90, 172, .76) 100%),
        var(--mm-valuation-cover-image, linear-gradient(150deg, #17212f 0%, #2c4a57 58%, #7a5d25 100%));
    background-size: cover;
    color: #fff;
    box-shadow: 0 20px 40px rgba(15, 23, 42, .16);
}

.mm-qz-result-total small,
.mm-qz-result-total span {
    color: rgba(255, 255, 255, .82);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: .76rem;
    font-weight: 700;
}

.mm-qz-result-total strong {
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
}

.mm-qz-result-total em {
    font-style: normal;
    font-size: 1.2rem;
    font-weight: 700;
}

.mm-qz-confidence-badge {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    padding: .35rem .7rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mm-qz-confidence-badge.is-high {
    background: rgba(220, 252, 231, .16);
    color: #dcfce7;
    border: 1px solid rgba(187, 247, 208, .32);
}

.mm-qz-confidence-badge.is-medium {
    background: rgba(254, 249, 195, .14);
    color: #fef3c7;
    border: 1px solid rgba(253, 224, 71, .3);
}

.mm-qz-confidence-badge.is-low {
    background: rgba(254, 226, 226, .14);
    color: #fee2e2;
    border: 1px solid rgba(252, 165, 165, .3);
}

.mm-qz-region-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 260px;
    gap: 1rem;
}

.mm-qz-region-card,
.mm-qz-action-card,
.mm-qz-result-panel {
    border-radius: 1.2rem;
}

.mm-qz-region-card,
.mm-qz-action-card {
    padding: 1rem 1.05rem;
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .05);
}

.mm-qz-region-card small,
.mm-qz-region-card span {
    display: block;
    color: #64748b;
}

.mm-qz-region-price-row {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    margin: .55rem 0 .3rem;
}

.mm-qz-region-price-row strong {
    color: #16233b;
    font-size: 1.7rem;
    line-height: 1;
}

.mm-qz-region-delta {
    font-size: .95rem;
    font-weight: 700;
}

.mm-qz-region-delta.is-up {
    color: #16a34a;
}

.mm-qz-region-delta.is-down {
    color: #ef4444;
}

.mm-qz-region-card em {
    margin-top: .8rem;
}

.mm-qz-action-card {
    display: grid;
    gap: .75rem;
}

.mm-qz-action-card .btn {
    min-height: 44px;
    border-radius: .85rem;
    font-weight: 700;
}

.mm-qz-share-panel {
    display: grid;
    gap: .55rem;
}

.mm-qz-share-panel .btn {
    width: 100%;
}

.mm-qz-result-reading {
    display: grid;
    grid-template-columns: minmax(240px, .95fr) minmax(0, 1.15fr);
    gap: 1rem;
    align-items: stretch;
}

.mm-qz-result-reading-copy {
    color: #16233b;
    line-height: 1.7;
}

.mm-qz-result-chart-shell {
    min-height: 280px;
}

.mm-qz-comparable-table thead th {
    font-size: .84rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #64748b;
}

.mm-qz-comparable-tab-nav {
    gap: .7rem;
}

.mm-qz-source-diagnostics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.mm-qz-source-diagnostic {
    padding: .85rem .95rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, .22);
    background: #f8fafc;
}

.mm-qz-source-diagnostic strong,
.mm-qz-source-diagnostic span {
    display: block;
}

.mm-qz-source-diagnostic strong {
    color: #16233b;
    margin-bottom: .2rem;
}

.mm-qz-source-diagnostic span {
    color: #64748b;
    font-size: .9rem;
    line-height: 1.45;
}

.mm-qz-source-diagnostic.is-ok {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.mm-qz-source-diagnostic.is-limited {
    background: #fff7ed;
    border-color: #fed7aa;
}

.mm-qz-source-diagnostic.is-slow,
.mm-qz-source-diagnostic.is-empty {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.mm-qz-comparable-tab-nav .nav-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    border-radius: 999px;
    padding: .6rem .95rem;
    color: #475569;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .24);
    font-weight: 700;
}

.mm-qz-comparable-tab-nav .nav-link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    padding: 0 .45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    font-size: .8rem;
}

.mm-qz-comparable-tab-nav .nav-link.active {
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    border-color: transparent;
}

.mm-qz-comparable-tab-nav .nav-link.active span {
    color: #1d4ed8;
}

.mm-qz-comparable-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-top: 1rem;
}

.mm-qz-comparable-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.mm-qz-comparable-pagination .btn {
    min-width: 42px;
    border-radius: .75rem;
}

.mm-history-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
    background: #fff;
}

.mm-history-item:hover {
    border-color: #93c5fd;
    background: #f8fbff;
}

.mm-history-item span {
    display: block;
    color: #64748b;
    font-size: .9rem;
}

.mm-history-item em {
    color: #1f6f4a;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.mm-valuation-result-page {
    padding-bottom: 1rem;
}

.mm-valuation-result-card {
    position: relative;
    overflow: hidden;
    border-radius: 1.35rem;
    min-height: 320px;
    border: 1px solid rgba(148, 163, 184, 0.26);
    background:
        linear-gradient(150deg, rgba(11, 16, 24, 0.92) 0%, rgba(20, 40, 53, 0.82) 48%, rgba(120, 82, 24, 0.78) 100%),
        var(--mm-valuation-cover-image, linear-gradient(150deg, #17212f 0%, #2c4a57 58%, #7a5d25 100%));
    background-size: cover;
    background-position: center;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.22);
}

.mm-valuation-result-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.22) 0%, transparent 34%),
        linear-gradient(180deg, rgba(11, 16, 24, 0.04) 0%, rgba(11, 16, 24, 0.42) 58%, rgba(11, 16, 24, 0.72) 100%);
    pointer-events: none;
}

.mm-valuation-result-content {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1rem;
    padding: 1.35rem;
    color: #fff;
}

.mm-valuation-result-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.mm-valuation-result-kicker,
.mm-valuation-result-confidence {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: rgba(15, 23, 42, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(8px);
}

.mm-valuation-price-grid {
    display: grid;
    grid-template-columns: 1.45fr repeat(3, 1fr);
    gap: 0.8rem;
}

.mm-valuation-price-tile {
    display: grid;
    align-content: start;
    gap: 0.35rem;
    padding: 0.88rem 0.95rem;
    border-radius: 0.95rem;
    background: rgba(15, 23, 42, 0.46);
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
}

.mm-valuation-price-tile-main {
    background: rgba(12, 20, 30, 0.56);
}

.mm-valuation-price-tile small {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.8rem;
    font-weight: 700;
}

.mm-valuation-price-tile strong {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    line-height: 1.02;
    text-shadow: 0 10px 20px rgba(11, 16, 24, 0.28);
}

.mm-valuation-price-tile span {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
}

.mm-valuation-price-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
}

.mm-valuation-area-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.68rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    font-weight: 700;
    border: 1px solid transparent;
}

.mm-valuation-area-badge.is-different {
    color: #bbf7d0;
    background: rgba(22, 101, 52, 0.44);
    border-color: rgba(134, 239, 172, 0.65);
}

.mm-valuation-area-badge.is-aligned {
    color: #bfdbfe;
    background: rgba(30, 64, 175, 0.44);
    border-color: rgba(147, 197, 253, 0.65);
}

.mm-valuation-area-badge.is-limited {
    color: #fde68a;
    background: rgba(120, 53, 15, 0.44);
    border-color: rgba(253, 186, 116, 0.6);
}

.mm-valuation-share-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.mm-share-btn {
    border-radius: 999px;
    font-weight: 700;
    border-width: 1px;
}

.mm-share-btn i {
    margin-right: 0.25rem;
}

.mm-copy-feedback {
    min-height: 1rem;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.86);
}

.mm-valuation-meta-list {
    display: grid;
    gap: 0.65rem;
}

.mm-valuation-meta-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.8rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.mm-valuation-meta-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.mm-valuation-meta-list li span {
    color: #64748b;
    font-size: 0.9rem;
}

.mm-valuation-meta-list li strong {
    color: #0f172a;
}

.mm-qz-scenario-summary {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.mm-qz-scenario-summary-head {
    margin-bottom: 0.9rem;
}

.mm-qz-scenario-summary-head h3 {
    margin: 0;
    color: #16233b;
    font-size: 1rem;
}

.mm-qz-scenario-summary-head p {
    margin: 0.3rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.5;
}

.mm-qz-scenario-list {
    display: grid;
    gap: 0.7rem;
}

.mm-qz-scenario-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.85rem 0.92rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: #f8fbff;
}

.mm-qz-scenario-item.is-active {
    background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 100%);
    border-color: rgba(59, 130, 246, 0.24);
}

.mm-qz-scenario-copy {
    display: grid;
    gap: 0.16rem;
}

.mm-qz-scenario-copy span {
    color: #2563eb;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mm-qz-scenario-copy strong {
    color: #16233b;
    font-size: 0.97rem;
}

.mm-qz-scenario-copy small {
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.45;
}

.mm-qz-scenario-price {
    display: grid;
    justify-items: end;
    gap: 0.2rem;
    text-align: right;
}

.mm-qz-scenario-price strong {
    color: #0f172a;
    font-size: 1.08rem;
    white-space: nowrap;
}

.mm-qz-scenario-price em {
    font-style: normal;
    font-size: 0.82rem;
    font-weight: 700;
}

.mm-qz-scenario-price em.is-up {
    color: #16a34a;
}

.mm-qz-scenario-price em.is-down {
    color: #ef4444;
}

.mm-qz-scenario-price em.is-neutral {
    color: #64748b;
}

.mm-valuation-warning-list {
    display: grid;
    gap: 0.5rem;
}

.mm-valuation-warning-list span {
    display: block;
    padding: 0.62rem 0.86rem;
    border-radius: 0.8rem;
    border: 1px solid rgba(245, 158, 11, 0.32);
    background: #fffbeb;
    color: #6b4f0d;
    font-size: 0.9rem;
}

.mm-valuation-source-health {
    display: grid;
    gap: 0.65rem;
}

.mm-valuation-source-row {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0.8rem;
    padding: 0.72rem 0.82rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: #f8fafc;
}

.mm-valuation-source-row strong {
    display: block;
    color: #0f172a;
}

.mm-valuation-source-row small {
    display: block;
    color: #64748b;
    margin-top: 0.08rem;
}

.mm-valuation-source-row p {
    margin: 0.22rem 0 0;
    color: #7c2d12;
    font-size: 0.84rem;
    line-height: 1.32;
}

.mm-valuation-source-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.26rem 0.62rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    border: 1px solid transparent;
    white-space: nowrap;
}

.mm-valuation-source-badge.is-ok {
    color: #166534;
    background: #dcfce7;
    border-color: #86efac;
}

.mm-valuation-source-badge.is-empty {
    color: #1e3a8a;
    background: #dbeafe;
    border-color: #93c5fd;
}

.mm-valuation-source-badge.is-error {
    color: #991b1b;
    background: #fee2e2;
    border-color: #fca5a5;
}

.mm-message-compose {
    max-width: 920px;
}

.mm-selected-recipient {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1d4ed8;
    background: #eff6ff;
}

.mm-selected-recipient span {
    color: #64748b;
}

.is-submitting {
    pointer-events: none;
}

@keyframes mm-skeleton-wave {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.forum-author-name {
    color: inherit;
    font-weight: 700;
    text-decoration: none;
}

.forum-author-name:hover {
    color: #2563eb;
}

.forum-author-write-label {
    margin-right: .25rem;
    color: #64748b;
    font-size: .8rem;
    font-weight: 700;
}

.mm-profile-hero {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    padding: 2rem;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(135deg, #111827 0%, #25445a 55%, #876421 100%);
    box-shadow: 0 18px 46px rgba(15, 23, 42, .14);
}

.mm-profile-avatar {
    width: 118px;
    height: 118px;
    border: 4px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    overflow: hidden;
    flex: 0 0 118px;
    background: rgba(255, 255, 255, .14);
}

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

.mm-profile-avatar span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 2.2rem;
    font-weight: 800;
}

.mm-profile-hero h1 {
    margin: .3rem 0 .5rem;
    font-size: clamp(2rem, 4vw, 3.4rem);
}

.mm-profile-hero p {
    max-width: 760px;
    color: rgba(255, 255, 255, .82);
}

.mm-profile-bike-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
}

.mm-profile-bike {
    display: grid;
    gap: .45rem;
    color: inherit;
    text-decoration: none;
}

.mm-profile-bike img,
.mm-profile-bike > span {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    object-fit: cover;
    background: #eef2f6;
}

.mm-profile-bike > span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 2rem;
}

.mm-profile-bike small,
.mm-profile-post span {
    color: #64748b;
}

.mm-profile-post {
    display: block;
    padding: .85rem 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    color: inherit;
    text-decoration: none;
}

.mm-profile-post span {
    display: block;
    margin-top: .25rem;
}

.mm-profile-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .5rem;
}

.mm-profile-photo-grid img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 6px;
    object-fit: cover;
}

.mm-notify-page {
    max-width: 1240px;
}

.mm-notify-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
}

.mm-notify-head-title h1 {
    margin: 0;
    font-size: clamp(2rem, 3.3vw, 2.8rem);
    letter-spacing: -0.02em;
}

.mm-notify-head-title p {
    margin: 0.45rem 0 0;
    color: #5b6474;
    font-size: 1.03rem;
}

.mm-notify-head-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.mm-notify-head-actions form {
    margin: 0;
}

.mm-notify-head-actions .btn {
    min-height: 46px;
    border-radius: 0.95rem;
    padding-inline: 1.1rem;
    font-weight: 700;
}

.mm-notify-unread-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #1f2937;
    color: #fff;
    padding: 0.4rem 0.82rem;
    font-size: 0.95rem;
    font-weight: 700;
}

.mm-notify-list {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.92);
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.mm-notify-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
    padding: 0.92rem 1.1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.mm-notify-item:first-child {
    border-top: 0;
}

.mm-notify-item.is-unread {
    background: linear-gradient(90deg, rgba(239, 246, 255, 0.72) 0%, rgba(255, 255, 255, 0.98) 55%);
}

.mm-notify-item-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(37, 99, 235, 0.24);
    background: rgba(239, 246, 255, 0.88);
    color: #2563eb;
    font-size: 1.05rem;
}

.mm-notify-item-content h5 {
    margin: 0;
    font-size: 1.07rem;
    line-height: 1.25;
    color: #1f2937;
}

.mm-notify-item-content p {
    margin: 0.26rem 0 0.16rem;
    color: #4b5563;
    line-height: 1.35;
}

.mm-notify-item-content small {
    color: #6b7280;
    font-size: 0.89rem;
}

.mm-notify-item-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.mm-notify-item-actions form {
    margin: 0;
}

.mm-notify-item-actions .btn {
    min-height: 40px;
    border-radius: 0.95rem;
    padding-inline: 1rem;
    font-weight: 700;
}

.mm-notify-empty {
    display: block;
    padding: 1.25rem;
    text-align: center;
    color: #6b7280;
}

@media (max-width: 768px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body,
    #app-main,
    .app-shell,
    .app-content-shell,
    .offcanvas,
    .modal {
        overflow-x: clip;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    img,
    svg,
    video,
    canvas,
    iframe {
        max-width: 100%;
        height: auto;
    }

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl,
    .container-fluid {
        width: 100%;
        max-width: 100%;
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .row > *,
    .d-flex > *,
    .d-inline-flex > *,
    .d-grid > * {
        min-width: 0;
        max-width: 100%;
    }

    .btn,
    button,
    .form-control,
    .form-select,
    .input-group,
    .dropdown-menu,
    .card,
    .alert,
    .modal-dialog {
        max-width: 100%;
    }

    .btn,
    button,
    .nav-link,
    .dropdown-item {
        white-space: normal;
        word-break: break-word;
    }

    table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .btn-group,
    .input-group,
    .navbar-nav,
    .app-shell-nav-actions,
    .app-shell-user-actions,
    .app-mobile-bottom-nav,
    .app-mobile-drawer-actions {
        flex-wrap: wrap;
        max-width: 100%;
    }

    .mm-market-hero-shell {
        margin-top: -1.5rem;
    }

    .mm-market-home {
        overflow-x: clip;
    }

    .mm-market-showcase {
        padding: 0 0 1rem;
    }

    .mm-market-showcase.is-compact-mobile .mm-market-showcase-stage {
        min-height: 0;
        padding: 0.4rem 1rem 4rem;
    }

    .mm-market-showcase.is-compact-mobile .mm-market-showcase-stage::before,
    .mm-market-showcase.is-compact-mobile .mm-market-showcase-center,
    .mm-market-showcase.is-compact-mobile .mm-market-showcase-publish,
    .mm-market-showcase.is-compact-mobile .mm-market-mobile-actions {
        display: none;
    }

    .mm-market-showcase.is-compact-mobile .mm-market-command {
        margin: 0;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        box-shadow: none;
    }

    .mm-market-showcase-stage {
        min-height: auto;
        display: block;
        padding: 1rem 1rem 4rem;
    }

    .mm-market-showcase-stage::before {
        inset: 1rem 0.6rem 5rem;
        border-radius: 2rem;
        filter: blur(10px);
    }

    .mm-market-showcase-spotlight {
        max-width: 100%;
        text-align: center;
        padding: 1.15rem 0.5rem 0.2rem;
    }

    .mm-market-showcase-spotlight h1 {
        margin: 0.1rem 0 0.8rem;
        font-size: clamp(2.15rem, 9vw, 3.25rem);
        line-height: 0.97;
        letter-spacing: -0.045em;
    }

    .mm-market-showcase-spotlight p {
        margin: 0;
        max-width: 100%;
        font-size: 1rem;
        line-height: 1.55;
    }

    .mm-market-showcase-publish {
        display: none;
    }

    .mm-market-mobile-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.7rem;
        margin-top: 1.15rem;
    }

    .mm-market-showcase-owned-link {
        width: 100%;
        justify-content: center;
    }

    .mm-market-mobile-actions .btn {
        min-height: 52px;
        border-radius: 0.95rem;
        font-weight: 700;
        width: 100%;
        justify-content: center;
    }

    .mm-market-command {
        margin: -2rem 1rem 0;
        width: auto;
        padding: 0.95rem 0.9rem 0.9rem;
        border-radius: 1.15rem;
    }

    .mm-market-command-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .mm-market-command-grid button {
        display: inline-flex;
        width: 100%;
        justify-content: center;
    }

    .mm-market-command .form-control {
        min-height: 56px;
        padding-right: 2.8rem;
        font-size: 1rem;
    }

    .mm-market-popular {
        overflow-x: auto;
        flex-wrap: nowrap;
        gap: 0.55rem;
        margin-top: 0.8rem;
        padding-bottom: 0.2rem;
        scrollbar-width: none;
    }

    .mm-market-popular::-webkit-scrollbar,
    .mm-market-inline-filters::-webkit-scrollbar,
    .mm-market-category-row::-webkit-scrollbar {
        display: none;
    }

    .mm-market-popular a {
        white-space: nowrap;
        padding: 0.55rem 0.9rem;
    }

    .mm-market-home-grid,
    .mm-market-benefits,
    .mm-market-promo-grid,
    .mm-market-latest-grid {
        grid-template-columns: 1fr;
    }

    .mm-market-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        margin-top: 1rem;
    }

    .mm-market-category-strip {
        grid-template-columns: 1fr 1fr;
    }

    .mm-market-kpi-card {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.9rem;
    }

    .mm-market-kpi-icon {
        width: 46px;
        height: 46px;
        font-size: 1.2rem;
    }

    .mm-market-kpi-card strong {
        font-size: 2rem;
    }

    .mm-market-kpi-card small,
    .mm-market-kpi-card em {
        font-size: 0.8rem;
    }

    .mm-market-inline-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
        margin-bottom: 0.85rem;
        overflow: visible;
    }

    .mm-market-inline-pill {
        min-width: 0;
        min-height: 48px;
        padding: 0.7rem 0.8rem;
        font-size: 0.95rem;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .mm-market-inline-filters > *:last-child {
        grid-column: 1 / -1;
    }

    .mm-market-list-results-head h1 {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    .mm-market-list-page {
        padding-bottom: 1.5rem;
    }

    .mm-market-list-results {
        margin-top: 1rem;
    }

    .mm-market-list-results-head {
        margin-bottom: 0.75rem;
    }

    .mm-market-list-results-head h1 {
        display: none;
    }

    .mm-market-list-filter-card {
        display: none;
    }

    .mm-market-mobile-advanced {
        display: block;
        margin-bottom: 0.85rem;
    }

    .mm-market-list-filter-card,
    .mm-market-list-results-panel {
        padding: 1rem;
    }

    .mm-market-owner-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .mm-market-owner-hero-actions,
    .mm-market-owner-stats,
    .mm-market-owner-card,
    .mm-market-owner-head,
    .mm-market-owner-feature-row {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .mm-market-owner-stats {
        gap: 0.8rem;
    }

    .mm-market-owner-card {
        gap: 1rem;
        padding: 1rem;
    }

    .mm-market-owner-thumb {
        aspect-ratio: 16 / 10;
    }

    .mm-market-owner-actions {
        justify-content: stretch;
    }

    .mm-market-owner-actions .btn,
    .mm-market-owner-actions form,
    .mm-market-owner-actions form .btn,
    .mm-market-owner-feature-row .btn {
        width: 100%;
    }

    .mm-market-list-row-card {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 0.7rem;
        padding: 0.8rem;
    }

    .mm-market-list-row-thumb {
        width: 88px;
        height: 88px;
    }

    .mm-market-row-price {
        grid-column: auto;
        justify-self: auto;
        font-size: 1.25rem;
        margin-top: 0;
        text-align: left;
    }

    .mm-market-row-time {
        grid-column: auto;
        text-align: left;
    }

    .mm-market-row-side {
        grid-column: 2;
        justify-items: start;
        margin-top: 0.15rem;
    }

    .site-brand {
        max-width: 260px;
    }

    .site-brand-wordmark {
        font-size: 1.45rem;
    }

    .mm-market-list-row-body h3 {
        font-size: 1rem;
        line-height: 1.28;
    }

    .mm-market-list-row-body p,
    .mm-market-list-row-body small {
        font-size: 0.88rem;
    }

    .mm-market-category-row {
        display: flex;
        gap: 0.8rem;
        overflow-x: auto;
        padding-bottom: 0.1rem;
    }

    .mm-market-category-pill {
        min-width: 120px;
        flex: 0 0 120px;
    }

    .mm-market-card-grid {
        grid-template-columns: 1fr;
    }

    .mm-market-card-grid-five {
        grid-template-columns: 1fr;
    }

    .mm-market-surface {
        padding: 1rem;
        border-radius: 1.15rem;
    }

    .mm-market-surface-head,
    .mm-market-tabs-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.45rem;
    }

    .mm-market-surface-head a,
    .mm-market-tabs-head a {
        font-size: 0.95rem;
    }

    .mm-market-tabs {
        gap: 0.8rem;
        overflow-x: auto;
        padding-bottom: 0.1rem;
        width: 100%;
    }

    .mm-market-tabs button {
        white-space: nowrap;
    }

    .mm-market-mini-item {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .mm-market-mini-item em {
        grid-column: 2;
    }

    .mm-market-promo-card {
        grid-template-columns: 1fr;
        padding: 1.15rem;
    }

    .mm-market-promo-graphic {
        width: 96px;
        height: 96px;
        border-radius: 1.35rem;
        justify-self: end;
        font-size: 2.6rem;
    }

    .mm-market-home-filter {
        position: static;
    }

    .mm-market-owner-hero-actions .btn,
    .mm-market-owner-hero-actions a,
    .mm-market-list-row-card,
    .mm-market-owner-card,
    .brand-catalog-search-panel,
    .brand-catalog-search-grid,
    .brand-model-search-grid,
    .home-hero-actions,
    .home-hero-buttons {
        max-width: 100%;
    }

    .mm-qz-hero {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.3rem 1rem 1rem;
        border-radius: 1.35rem;
    }

    .mm-qz-hero-copy {
        text-align: center;
    }

    .mm-qz-hero-main {
        gap: 1rem;
    }

    .mm-qz-hero-copy h1 {
        font-size: clamp(2rem, 10vw, 2.9rem);
    }

    .mm-qz-hero-copy p {
        font-size: .98rem;
        line-height: 1.6;
    }

    .mm-qz-hero-art {
        min-height: 150px;
    }

    .mm-qz-hero-focus {
        top: 0;
        right: 50%;
        width: 170px;
        height: 150px;
        transform: translateX(50%);
    }

    .mm-qz-hero-focus-ring {
        width: 120px;
        height: 120px;
        border-width: 10px;
        font-size: 2.8rem;
    }

    .mm-qz-hero-focus-handle {
        right: 18px;
        bottom: 16px;
        width: 62px;
        height: 20px;
    }

    .mm-qz-hero-spark-left {
        left: 0;
        bottom: 10px;
        gap: .55rem;
    }

    .mm-qz-hero-spark-left span {
        width: 14px;
    }

    .mm-qz-hero-spark-right {
        right: 0;
        bottom: 10px;
        gap: .4rem;
    }

    .mm-qz-hero-spark-right span {
        width: 10px;
    }

    .mm-market-hero {
        padding: 1.35rem;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .mm-market-actions {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 0.1rem;
    }

    .mm-market-actions-hero {
        grid-column: 1;
        grid-row: 2;
    }

    .mm-market-actions .btn {
        width: auto;
        white-space: nowrap;
    }

    .mm-market-form-hero {
        align-items: stretch;
        flex-direction: column;
        padding: 1.1rem;
    }

    .mm-sell-hero,
    .mm-sell-layout {
        grid-template-columns: 1fr;
    }

    .mm-sell-hero {
        padding: 1.3rem 1rem 1rem;
        gap: 1rem;
        border-radius: 1.35rem;
    }

    .mm-sell-hero-copy h1 {
        font-size: clamp(2rem, 9vw, 2.9rem);
    }

    .mm-sell-stat-strip {
        grid-template-columns: 1fr;
    }

    .mm-sell-hero-art {
        justify-items: stretch;
    }

    .mm-sell-hero-card,
    .mm-sell-hero-card-main {
        min-width: 0;
        transform: none;
    }

    .mm-sell-sidecard {
        position: static;
    }

    .mm-market-form-hero .btn {
        width: 100%;
    }

    .mm-market-wizard-footer {
        position: static;
        flex-direction: column;
        align-items: stretch;
    }

    .mm-qz-layout,
    .mm-qz-stat-strip,
    .mm-qz-history-stats,
    .mm-qz-source-grid {
        grid-template-columns: 1fr;
    }

    .mm-qz-sidecard {
        display: none;
    }

    .mm-qz-progress {
        padding: 1rem 1rem 0;
    }

    .mm-qz-step-tabs {
        gap: .55rem;
    }

    .mm-qz-step-tabs li {
        min-height: 44px;
        padding: .65rem .4rem;
    }

    .mm-qz-step-tabs li span {
        display: none;
    }

    .mm-qz-pane {
        padding: 1rem;
    }

    .mm-qz-history-head {
        align-items: stretch;
        flex-direction: column;
    }

    .mm-qz-result-hero,
    .mm-qz-region-grid,
    .mm-qz-result-reading {
        grid-template-columns: 1fr;
    }

    .mm-qz-result-hero {
        padding: 1rem;
    }

    .mm-qz-result-hero-media img,
    .mm-qz-result-hero-placeholder {
        max-height: 180px;
        min-height: 180px;
    }

    .mm-qz-result-total {
        padding: 1rem;
    }

    .mm-qz-confidence-badge {
        justify-self: start;
    }

    .mm-qz-region-card,
    .mm-qz-action-card {
        padding: .95rem;
    }

    .mm-qz-action-card .btn {
        width: 100%;
    }

    .mm-qz-result-chart-shell {
        min-height: 220px;
    }

    .mm-qz-source-diagnostics {
        grid-template-columns: 1fr;
    }

    .mm-qz-comparable-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .mm-qz-comparable-pagination .btn {
        flex: 1 1 42px;
    }

    .mm-qz-scenario-item {
        align-items: start;
        flex-direction: column;
    }

    .mm-qz-scenario-price {
        justify-items: start;
        text-align: left;
    }

    .mm-qz-history-head .btn,
    .mm-history-card-actions .btn {
        width: 100%;
    }

    .mm-history-toolbar,
    .mm-history-toolbar-left,
    .mm-history-card {
        align-items: stretch;
        flex-direction: column;
    }

    .mm-history-card {
        grid-template-columns: 1fr;
    }

    .mm-history-card-select {
        padding-top: 0;
    }

    .mm-history-card-head,
    .mm-history-card-actions {
        flex-direction: column;
    }

    .mm-history-card-head em {
        white-space: normal;
    }

    .mm-market-wizard-footer .ms-auto {
        width: 100%;
        margin-left: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .mm-qz-actions {
        grid-template-columns: 1fr !important;
    }

    .mm-form-footer .btn {
        width: 100%;
    }

    .mm-market-hero-search-grid {
        gap: 0.55rem;
    }

    .mm-market-hero-search-grid .btn {
        width: auto;
    }

    .mm-notify-head {
        align-items: stretch;
        flex-direction: column;
    }

    .mm-notify-head-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .mm-notify-head-actions .btn {
        width: 100%;
    }

    .mm-notify-item {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 0.7rem;
    }

    .mm-notify-item-icon {
        width: 36px;
        height: 36px;
        font-size: 0.95rem;
    }

    .mm-notify-item-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .mm-market-stat-card {
        padding: 0.85rem 0.95rem;
    }

    .mm-listing-row-refined .h5 {
        font-size: 1.08rem;
    }

    .mm-price-strong {
        font-size: 1.3rem;
    }

    .mm-listing-row {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .mm-listing-thumb {
        width: 96px;
    }

    .mm-valuation-shell {
        grid-template-columns: 1fr;
    }

    .mm-valuation-price-grid {
        grid-template-columns: 1fr;
    }

    .mm-valuation-result-content {
        padding: 1rem;
    }

    .mm-valuation-result-topline,
    .mm-valuation-share-row {
        align-items: stretch;
    }

    .mm-valuation-share-row .btn {
        width: 100%;
    }

    .mm-valuation-side {
        position: static;
        min-height: auto;
        padding: 1.1rem;
        border-radius: 0.95rem;
    }

    .mm-valuation-side h1 {
        font-size: clamp(1.7rem, 6vw, 2.2rem);
        margin: 0.45rem 0 0.7rem;
    }

    .mm-valuation-side-actions .btn {
        min-height: 46px;
    }

    .mm-valuation-grid,
    .mm-python-progress ol {
        grid-template-columns: 1fr;
    }

    .mm-form-footer,
    .mm-history-item,
    .mm-profile-hero {
        flex-direction: column;
    }

    .mm-profile-hero {
        align-items: flex-start;
    }
}

@media print {
    .navbar,
    .offcanvas,
    .app-mobile-bottom-shell,
    .app-mobile-bottom-nav,
    .breadcrumb,
    .mm-qz-action-card,
    .btn,
    [data-share-panel],
    [data-share-toggle],
    [data-print-report] {
        display: none !important;
    }

    body {
        background: #fff !important;
    }

    .container-lg,
    .mm-qz-result-page {
        max-width: none !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .mm-qz-result-hero,
    .mm-qz-region-card,
    .mm-qz-result-panel,
    .card {
        box-shadow: none !important;
        border: 1px solid #dbe3ef !important;
        background: #fff !important;
        color: #111827 !important;
        break-inside: avoid;
    }

    .mm-qz-result-total,
    .mm-qz-result-total small,
    .mm-qz-result-total span,
    .mm-qz-result-total strong,
    .mm-qz-result-total em {
        color: #111827 !important;
        background: #fff !important;
    }

    .mm-qz-result-chart-shell {
        min-height: 240px;
    }
}

@media (max-width: 767.98px) {
    .mm-market-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .mm-market-kpi-card {
        grid-template-columns: 1fr;
        gap: 0.7rem;
        align-items: start;
    }

    .mm-market-kpi-icon {
        width: 50px;
        height: 50px;
        font-size: 1.35rem;
    }

    .mm-market-surface,
    .mm-market-benefits article {
        padding: 1rem;
        border-radius: 1rem;
    }

    .mm-market-surface-head h2,
    .mm-market-tabs-head h2 {
        font-size: 1.16rem;
    }

    .mm-market-tabs button:last-child {
        display: none;
    }

    .mm-market-listing-body h3 {
        font-size: 1.18rem;
    }

    .mm-market-list-row-body h3 {
        font-size: 1.08rem;
    }

    .mm-market-benefits {
        gap: 0.75rem;
    }

    .mm-market-benefits article {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .mm-market-benefits article span {
        width: 48px;
        height: 48px;
        font-size: 1.2rem;
    }

    .mm-qz-hero {
        padding: 0;
        background: transparent;
        box-shadow: none;
        border: 0;
        margin-bottom: 0.85rem;
    }

    .mm-qz-hero-copy .section-kicker,
    .mm-qz-hero-copy p,
    .mm-qz-hero-art,
    .mm-qz-sidecard,
    .mm-qz-history-action,
    .mm-qz-hero-notice,
    .mm-qz-stat-strip-hero {
        display: none !important;
    }

    .mm-qz-hero-main {
        padding: 0;
    }

    .mm-qz-hero-copy h1 {
        font-size: 1.65rem;
        line-height: 1.08;
        margin: 0 0 0.4rem;
    }

    .mm-qz-layout {
        gap: 0;
    }

    .mm-qz-card {
        border-radius: 26px 26px 0 0;
        box-shadow: none;
        border: 0;
        background: transparent;
    }

    .mm-qz-progress {
        padding: 0.4rem 0 0.85rem;
        background: transparent;
        border-bottom: 0;
    }

    .mm-qz-step-tabs {
        display: none !important;
    }

    .mm-qz-pane {
        padding-left: 0;
        padding-right: 0;
    }

    .mm-form-section-head-minimal p,
    .form-text.mt-3 {
        display: none;
    }

    .mm-form-section-head-minimal h2 {
        font-size: 1.75rem;
        margin-bottom: 0.8rem;
    }

    .mm-valuation-form .form-control,
    .mm-valuation-form .form-select {
        min-height: 72px;
        border-radius: 24px;
        font-size: 1rem;
        padding: 0.95rem 1.15rem;
        box-shadow: none;
    }

    .mm-valuation-grid {
        gap: 0.85rem;
    }

    .mm-valuation-grid label span,
    .form-label {
        font-size: 0.98rem;
        font-weight: 700;
        color: #22304a;
        margin-bottom: 0.45rem;
    }

    .mm-qz-source-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .mm-qz-source-card,
    .mm-toggle-row {
        border-radius: 22px;
        padding: 0.95rem 1rem;
    }

    .mm-python-progress {
        margin-top: 0.4rem;
        border-radius: 22px;
        padding: 1rem;
    }

    .mm-form-footer {
        position: sticky;
        bottom: 0;
        z-index: 8;
        padding: 0.85rem 0 calc(0.85rem + env(safe-area-inset-bottom));
        background: linear-gradient(180deg, rgba(248,250,252,0) 0%, rgba(248,250,252,0.94) 18%, #f8fafc 100%);
        border-top: 0;
    }

    .mm-qz-actions {
        width: 100%;
        gap: 0.75rem !important;
    }

    .mm-qz-actions .btn,
    .mm-form-footer > .btn {
        width: 100%;
        min-height: 58px;
        border-radius: 18px;
    }
}

.brand-catalog-popular-grid {
    grid-auto-columns: minmax(240px, 82vw);
}

@media (max-width: 768px) {
    .dashboard-home-shell,
    .dashboard-home-page,
    .dashboard-home-hero,
    .dashboard-banner,
    .analytics-hero-banner,
    .analytics-summary-grid,
    .admin-section-tab-content,
    .admin-section-tabs,
    .brand-browser-shell,
    .brand-catalog-shell,
    .mm-market-home,
    .mm-market-list-page {
        max-width: 100%;
        overflow-x: clip;
    }

    .dashboard-home-shell {
        padding-inline: 12px !important;
    }

    .analytics-period-form {
        width: 100%;
        min-width: 0;
    }

    .analytics-period-controls {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        width: 100%;
        min-width: 0;
    }

    .analytics-period-controls > * {
        width: 100%;
        min-width: 0;
    }

    .admin-section-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .admin-section-tabs .nav-item {
        width: 100%;
        min-width: 0;
    }

    .admin-section-tabs .nav-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 62px;
        min-width: 0;
        padding: 0.85rem 0.9rem;
        text-align: center;
        white-space: normal;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .app-mobile-bottom-nav {
        left: 12px;
        right: 12px;
        width: auto;
        max-width: calc(100vw - 24px);
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-rows: minmax(60px, auto);
        gap: 0.32rem;
        padding: 0.45rem;
    }

    .app-mobile-bottom-link {
        min-width: 0;
        min-height: 58px;
        padding-inline: 0.12rem;
    }

    .app-mobile-bottom-link span {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
        line-height: 1.08;
    }

.app-mobile-bottom-toggle {
        right: 12px;
    }
}

.docs-home-shell {
    max-width: 1720px;
    margin: 0 auto;
    padding-inline: 24px;
}

.docs-home-hero-shell {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: -1px;
    padding: 0 0 2rem;
    background: radial-gradient(circle at 82% 16%, rgba(37, 99, 235, 0.16), transparent 22%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.docs-home-hero {
    padding: 3rem 0 0;
    background: radial-gradient(circle at 90% 20%, rgba(191, 219, 254, 0.95), transparent 28%), linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.docs-home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.88fr);
    gap: 1.5rem;
    align-items: start;
}

.docs-home-hero-copy h1 {
    margin: 0.35rem 0 0.9rem;
    color: #0f172a;
    font-size: clamp(2.8rem, 5vw, 4.5rem);
    line-height: 0.98;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.docs-home-hero-copy p {
    max-width: 820px;
    color: #64748b;
    font-size: 1.16rem;
    line-height: 1.72;
    margin: 0;
}

.docs-home-quick-card,
.docs-home-side-card,
.docs-home-search-card,
.document-library-catalog-card {
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}

.docs-home-quick-card {
    margin-top: 2rem;
    padding: 1.45rem;
}

.docs-home-quick-head,
.docs-home-search-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.docs-home-quick-head h2,
.docs-home-search-head h2 {
    margin: 0 0 0.35rem;
    font-size: 1.9rem;
    line-height: 1.1;
    color: #0f172a;
    font-weight: 800;
}

.docs-home-quick-head p,
.docs-home-search-head p {
    margin: 0;
    color: #64748b;
    font-size: 1rem;
}

.docs-home-tabs {
    gap: 0.55rem;
    flex-wrap: nowrap;
}

.docs-home-tabs .nav-link {
    border-radius: 999px;
    padding: 0.55rem 1rem;
    border: 1px solid #dbe4f0;
    background: #ffffff;
    color: #475569;
    font-weight: 700;
}

.docs-home-tabs .nav-link.active {
    background: #101a34;
    border-color: #101a34;
    color: #ffffff;
}

.docs-home-tab-panel {
    margin-top: 1.2rem;
}

.docs-home-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.docs-home-quick-link {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 72px;
    padding: 1rem 1.1rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: #ffffff;
    color: #172033;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.docs-home-quick-link i {
    color: #2563eb;
    font-size: 1.4rem;
}

.docs-home-brand-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.75rem;
}

.docs-home-brand-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0.7rem;
    border-radius: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.docs-home-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.docs-home-brand-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 0.9rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 1rem;
    font-weight: 800;
}

.docs-home-hero-side {
    display: grid;
    gap: 1rem;
}

.docs-home-side-card {
    padding: 1.4rem;
}

.docs-home-side-kicker {
    display: inline-block;
    margin-bottom: 0.7rem;
    color: #2563eb;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.84rem;
    font-weight: 900;
}

.docs-home-side-card p {
    margin: 0 0 1rem;
    color: #475569;
    font-size: 1.02rem;
    line-height: 1.7;
}

.docs-home-side-card .btn {
    min-height: 58px;
    border-radius: 1.05rem;
    font-weight: 800;
}

.docs-home-search-card {
    padding: 1.5rem;
    margin-bottom: 1.4rem;
}

.docs-home-search-count {
    color: #64748b;
    font-size: 1rem;
    white-space: nowrap;
}

.docs-home-search-form {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.docs-home-search-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.docs-home-search-field {
    display: grid;
    gap: 0.38rem;
}

.docs-home-search-field > span {
    color: #475569;
    font-size: 0.88rem;
    font-weight: 700;
}

.docs-home-search-input-wrap {
    position: relative;
}

.docs-home-search-input-wrap .form-control {
    padding-right: 3rem;
}

.docs-home-search-input-wrap i {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    color: #64748b;
}

.docs-home-search-card .form-control,
.docs-home-search-card .form-select {
    min-height: 56px;
    border-radius: 1rem;
    border: 1px solid #dbe4f0;
    background: #ffffff;
}

.docs-home-search-submit {
    width: 100%;
    min-height: 58px;
    border-radius: 1rem;
    font-weight: 800;
}

.document-library-page {
    color: #172033;
}

.document-library-catalog-card {
    overflow: hidden;
}

.document-catalog-grid {
    gap: 0;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1rem;
    overflow: hidden;
}

.document-family-card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(226, 232, 240, 0.86);
}

.document-family-card:last-child {
    border-bottom: 0;
}

.document-family-card .accordion-button {
    background: #fff;
    box-shadow: none;
    padding: 1rem 1.15rem;
}

.document-family-card .accordion-button:not(.collapsed) {
    background: #f8fbff;
    color: inherit;
}

.document-family-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(230px, 0.8fr) auto;
    gap: 1rem;
    width: 100%;
    align-items: center;
}

.document-family-title {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
}

.document-family-name {
    font-size: clamp(1.18rem, 1.6vw, 1.45rem);
    font-weight: 800;
    color: #172033;
    line-height: 1.1;
}

.document-family-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.document-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.78rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.92rem;
    font-weight: 700;
}

.document-chip-muted {
    background: #f8fafc;
    color: #475569;
}

.document-years-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.document-year-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.68rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.document-family-body {
    padding: 0 1.15rem 1.15rem;
    background: #fbfdff;
}

.document-variant-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.document-variant-card {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #ffffff;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.document-variant-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.document-variant-title h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #172033;
}

.document-variant-subtitle {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.92rem;
}

.document-doc-list {
    display: grid;
    gap: 0.85rem;
}

.document-doc-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
    border: 1px solid #eef2f7;
    border-radius: 0.85rem;
    padding: 0.9rem;
    background: #ffffff;
}

.document-doc-top {
    margin-bottom: 0;
}

.document-doc-title {
    font-size: 1rem;
    font-weight: 800;
    color: #172033;
    margin: 0;
}

.document-doc-description {
    color: #64748b;
    font-size: 0.95rem;
}

.document-doc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.7rem;
    color: #64748b;
    font-size: 0.86rem;
}

.document-doc-description,
.document-doc-meta {
    grid-column: 1;
}

.document-doc-actions {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    margin-top: 0;
    justify-content: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

@media (max-width: 991.98px) {
    .docs-home-hero-grid {
        grid-template-columns: 1fr;
    }

    .docs-home-brand-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .docs-home-search-grid,
    .document-variant-grid,
    .document-family-summary {
        grid-template-columns: 1fr;
    }

    .document-family-open {
        justify-self: start;
    }
}

@media (max-width: 767.98px) {
    .docs-home-shell {
        padding-inline: 16px;
    }

    .docs-home-hero {
        padding-top: 1.8rem;
    }

    .docs-home-quick-card,
    .docs-home-search-card,
    .docs-home-side-card,
    .document-library-catalog-card {
        border-radius: 1rem !important;
    }

    .docs-home-hero-copy h1 {
        font-size: 2.55rem;
    }

    .docs-home-quick-head,
    .docs-home-search-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .docs-home-tabs {
        width: 100%;
        flex-wrap: wrap;
    }

    .docs-home-category-grid {
        grid-template-columns: 1fr;
    }

    .docs-home-brand-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .docs-home-search-grid,
    .document-doc-item {
        grid-template-columns: 1fr;
    }

    .document-doc-description,
    .document-doc-meta,
    .document-doc-actions {
        grid-column: auto;
        grid-row: auto;
    }

    .document-doc-actions .btn,
    .docs-home-search-submit {
        width: 100%;
    }
}

.mm-mobile-segment-panel {
    display: none;
}

.mm-mobile-segment-panel.is-active {
    display: block;
}

@media (max-width: 991.98px) {
    body.is-mobile-app-context {
        background:
            radial-gradient(circle at top, rgba(20, 81, 255, 0.16), transparent 32%),
            linear-gradient(180deg, #eef4ff 0%, #f8fbff 32%, #eef2f7 100%);
    }

    body.is-mobile-app-context.is-mobile-route-transition::after {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(238, 244, 255, 0.52);
        backdrop-filter: blur(10px);
        z-index: 1080;
        animation: mm-mobile-fade .24s ease;
        pointer-events: none;
    }

    .mm-mobile-appbar {
        position: sticky;
        top: 0;
        z-index: 1045;
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) 52px;
        align-items: center;
        gap: .75rem;
        padding: max(env(safe-area-inset-top), 12px) 16px 14px;
        background: rgba(8, 17, 31, 0.88);
        backdrop-filter: blur(18px);
        color: #fff;
    }

    .mm-mobile-appbar-btn {
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.12);
        color: inherit;
        text-decoration: none;
        font-size: 1.25rem;
    }

    .mm-mobile-appbar-copy small {
        display: block;
        color: rgba(255, 255, 255, 0.68);
        text-transform: uppercase;
        letter-spacing: .12em;
        font-size: .68rem;
    }

    .mm-mobile-appbar-copy strong {
        display: block;
        font-size: 1.02rem;
        font-weight: 800;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mm-mobile-app-main {
        padding: 1rem 0 7.8rem !important;
    }

    .mm-mobile-screen {
        width: min(100%, 720px);
        margin: 0 auto;
        padding: 0 16px;
        display: grid;
        gap: 14px;
    }

    .mm-mobile-hero,
    .mm-mobile-panel,
    .mm-mobile-action-card {
        border: 1px solid rgba(203, 213, 225, 0.75);
        border-radius: 28px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    }

    .mm-mobile-hero {
        padding: 1.35rem;
        background:
            radial-gradient(circle at top right, rgba(59, 130, 246, 0.16), transparent 34%),
            linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    }

    .mm-mobile-kicker {
        display: inline-block;
        margin-bottom: .55rem;
        color: #1d4ed8;
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .mm-mobile-hero h1 {
        margin: 0;
        font-size: clamp(2rem, 7vw, 2.6rem);
        line-height: .98;
        color: #0f172a;
    }

    .mm-mobile-hero p {
        margin: .85rem 0 0;
        color: #4b5563;
        font-size: .98rem;
    }

    .mm-mobile-hero-actions,
    .mm-mobile-mini-actions,
    .mm-mobile-chip-scroll,
    .mm-mobile-quick-grid,
    .mm-mobile-action-grid,
    .mm-mobile-stat-grid,
    .mm-mobile-detail-list,
    .mm-mobile-market-stack,
    .mm-mobile-feature-list,
    .mm-mobile-list-cards,
    .mm-mobile-bike-stack {
        display: grid;
        gap: .8rem;
    }

    .mm-mobile-hero-actions {
        margin-top: 1rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mm-mobile-hero-actions-stack {
        grid-template-columns: 1fr;
    }

    .mm-mobile-mini-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-mobile-primary-cta,
    .mm-mobile-secondary-cta,
    .mm-mobile-inline-link,
    .mm-mobile-filter-chip,
    .mm-mobile-quick-card,
    .mm-mobile-feature-card,
    .mm-mobile-market-card,
    .mm-mobile-bike-card,
    .mm-mobile-list-card {
        text-decoration: none;
    }

    .mm-mobile-primary-cta,
    .mm-mobile-secondary-cta {
        min-height: 52px;
        border-radius: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .6rem;
        padding: .95rem 1rem;
        font-weight: 700;
    }

    .mm-mobile-primary-cta {
        background: linear-gradient(135deg, #0f63ff, #265df6);
        color: #fff;
    }

    .mm-mobile-secondary-cta {
        background: #edf3ff;
        color: #16325c;
    }

    .mm-mobile-panel {
        padding: 1rem;
    }

    .mm-mobile-panel-emphasis {
        background: linear-gradient(180deg, #0f172a, #172554);
        color: #fff;
    }

    .mm-mobile-panel-head {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 1rem;
        margin-bottom: .9rem;
    }

    .mm-mobile-panel-head strong {
        font-size: 1rem;
        color: inherit;
    }

    .mm-mobile-panel-head small {
        color: #64748b;
    }

    .mm-mobile-panel-emphasis .mm-mobile-panel-head small {
        color: rgba(255,255,255,.72);
    }

    .mm-mobile-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-mobile-quick-card,
    .mm-mobile-feature-card,
    .mm-mobile-market-card,
    .mm-mobile-bike-card,
    .mm-mobile-list-card {
        padding: 1rem;
        border-radius: 20px;
        background: #f8fbff;
        color: #0f172a;
        border: 1px solid rgba(203, 213, 225, 0.78);
    }

    .mm-mobile-list-card,
    .mm-mobile-quick-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: .8rem;
        align-items: start;
    }

    .mm-mobile-list-card i,
    .mm-mobile-quick-card i {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #e0eaff;
        color: #0f63ff;
        font-size: 1.15rem;
    }

    .mm-mobile-quick-card strong,
    .mm-mobile-list-card strong,
    .mm-mobile-feature-card strong,
    .mm-mobile-market-card strong,
    .mm-mobile-bike-card strong {
        display: block;
        font-size: 1rem;
        font-weight: 800;
    }

    .mm-mobile-quick-card span,
    .mm-mobile-list-card span,
    .mm-mobile-feature-card span,
    .mm-mobile-market-card span,
    .mm-mobile-bike-card span,
    .mm-mobile-feature-card small {
        display: block;
        margin-top: .2rem;
        color: #64748b;
        font-size: .9rem;
    }

    .mm-mobile-panel-emphasis .mm-mobile-feature-card {
        background: rgba(255,255,255,.08);
        border-color: rgba(255,255,255,.12);
        color: #fff;
    }

    .mm-mobile-panel-emphasis .mm-mobile-feature-card span,
    .mm-mobile-panel-emphasis .mm-mobile-feature-card small {
        color: rgba(255,255,255,.72);
    }

    .mm-mobile-stat-grid {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .5rem .65rem;
    }

    .mm-mobile-stat-grid article {
        min-width: 0;
        padding: .55rem .8rem;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        gap: .38rem;
        background: #edf3ff;
        border: 1px solid rgba(176, 191, 222, 0.42);
        text-align: left;
    }

    .mm-mobile-stat-grid strong,
    .mm-mobile-stat-grid span {
        display: inline;
        margin: 0;
        line-height: 1;
    }

    .mm-mobile-stat-grid strong {
        font-size: .98rem;
        color: #0f172a;
    }

    .mm-mobile-stat-grid span {
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: .05em;
        font-size: .62rem;
        font-weight: 800;
    }

    .mm-mobile-accordion {
        border: 1px solid rgba(203, 213, 225, 0.8);
        border-radius: 22px;
        background: #f9fbff;
        overflow: hidden;
    }

    .mm-mobile-accordion + .mm-mobile-accordion {
        margin-top: .8rem;
    }

    .mm-mobile-accordion summary {
        list-style: none;
        cursor: pointer;
        padding: 1rem;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: .8rem;
        align-items: center;
    }

    .mm-mobile-accordion summary::-webkit-details-marker {
        display: none;
    }

    .mm-mobile-accordion-step {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #dbe7ff;
        color: #0f63ff;
        font-weight: 800;
    }

    .mm-mobile-accordion summary strong,
    .mm-mobile-detail-list strong,
    .mm-mobile-market-card em {
        color: #0f172a;
    }

    .mm-mobile-accordion summary small,
    .mm-mobile-detail-list span,
    .mm-mobile-market-card small {
        color: #64748b;
    }

    .mm-mobile-accordion-body,
    .mm-mobile-detail-list {
        padding: 0 1rem 1rem;
    }

    .mm-mobile-inline-link {
        color: #0f63ff;
        font-weight: 700;
    }

    .mm-mobile-segmented {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .55rem;
        padding: .3rem;
        border-radius: 20px;
        background: #eef3fb;
        margin-bottom: 1rem;
    }

    .mm-mobile-segmented button {
        min-height: 42px;
        border: 0;
        border-radius: 16px;
        background: transparent;
        color: #475569;
        font-weight: 700;
    }

    .mm-mobile-segmented button.is-active {
        background: #fff;
        color: #0f172a;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    }

    .mm-mobile-filter-chip {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        padding: .8rem 1rem;
        border-radius: 999px;
        background: #edf3ff;
        color: #16325c;
        white-space: nowrap;
        overflow: auto;
    }

    .mm-mobile-chip-scroll {
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        overflow-x: auto;
        padding-bottom: .2rem;
    }

    .mm-mobile-market-card-foot {
        margin-top: .65rem;
        display: flex;
        justify-content: space-between;
        gap: .8rem;
        align-items: center;
    }

    .mm-mobile-detail-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-mobile-detail-list .is-full {
        grid-column: 1 / -1;
    }

    .mm-mobile-detail-list div {
        padding: .9rem;
        border-radius: 18px;
        background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
        border: 1px solid rgba(131, 154, 189, 0.14);
    }

    .mm-mobile-detail-list span,
    .mm-mobile-detail-list strong {
        display: block;
    }

    .mm-mobile-profile-head {
        display: grid;
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 1rem;
        align-items: center;
    }

    .mm-mobile-profile-avatar {
        width: 82px;
        height: 82px;
        border-radius: 28px;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #dbe7ff;
        color: #0f63ff;
        font-size: 1.6rem;
        font-weight: 800;
    }

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

    .mm-mobile-auth-form {
        display: grid;
        gap: .9rem;
    }

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

    .mm-mobile-auth-form label > span {
        display: block;
        margin-bottom: .35rem;
        font-weight: 700;
        color: rgba(226, 232, 240, 0.82);
    }

    .mm-mobile-checkbox {
        display: grid;
        grid-template-columns: 20px minmax(0, 1fr);
        gap: .7rem;
        align-items: start;
    }

    .mm-mobile-checkbox span {
        color: rgba(226, 232, 240, 0.82);
        line-height: 1.42;
    }

    .mm-mobile-auth-panel {
        padding: 1.15rem;
    }

    .mm-mobile-list-card.is-danger strong,
    .mm-mobile-list-card.is-danger i {
        color: #c81e1e;
    }

    .mm-mobile-list-card.is-highlight {
        border-color: rgba(37, 99, 235, 0.35);
        background: linear-gradient(180deg, #f3f7ff, #ffffff);
    }

    .mm-mobile-thread-card,
    .mm-mobile-thread-reply,
    .mm-mobile-notification-card,
    .mm-mobile-empty-state {
        padding: 1rem;
        border-radius: 20px;
        background: #f8fbff;
        border: 1px solid rgba(203, 213, 225, 0.78);
    }

    .mm-mobile-thread-replies {
        display: grid;
        gap: .8rem;
    }

    .mm-mobile-thread-author,
    .mm-mobile-composer-identity {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);
        gap: .8rem;
        align-items: start;
        margin-bottom: .8rem;
    }

    .mm-mobile-thread-author-avatar,
    .mm-mobile-composer-identity-avatar {
        width: 52px;
        height: 52px;
        border-radius: 18px;
        overflow: hidden;
        background: linear-gradient(135deg, #dbeafe, #eff6ff);
        color: #1d4ed8;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.9);
    }

    .mm-mobile-thread-author-avatar img,
    .mm-mobile-composer-identity-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .mm-mobile-thread-author-copy,
    .mm-mobile-composer-identity-copy {
        display: grid;
        gap: .18rem;
        min-width: 0;
    }

    .mm-mobile-thread-author-copy strong,
    .mm-mobile-composer-identity-copy strong {
        color: #0f172a;
        font-size: 1rem;
        font-weight: 900;
    }

    .mm-mobile-thread-author-copy small,
    .mm-mobile-composer-identity-copy small {
        color: #64748b;
        font-size: .82rem;
        line-height: 1.42;
    }

    .mm-mobile-thread-author-stars,
    .mm-mobile-composer-identity-stars {
        display: inline-flex;
        align-items: center;
        gap: .18rem;
        color: #f59e0b;
        font-size: .82rem;
    }

    .mm-mobile-thread-meta {
        display: flex;
        justify-content: space-between;
        gap: .75rem;
        align-items: baseline;
        margin-bottom: .75rem;
    }

    .mm-mobile-thread-meta strong {
        color: #0f172a;
        font-size: .98rem;
        font-weight: 800;
    }

    .mm-mobile-thread-meta span,
    .mm-mobile-notification-card small,
    .mm-mobile-empty-state span {
        color: #64748b;
        font-size: .86rem;
    }

    .mm-mobile-thread-cover {
        width: 100%;
        border-radius: 22px;
        display: block;
        object-fit: cover;
        max-height: 320px;
        margin-bottom: .9rem;
    }

    .mm-mobile-choice-grid {
        display: grid;
        gap: .75rem;
        margin-bottom: .9rem;
    }

    .mm-mobile-choice-card {
        position: relative;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        gap: .78rem;
        align-items: start;
        padding: .95rem;
        border-radius: 20px;
        border: 1px solid rgba(191, 219, 254, 0.92);
        background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    }

    .mm-mobile-choice-card input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .mm-mobile-choice-card:has(input:checked) {
        border-color: #2563eb;
        background: linear-gradient(180deg, #eef5ff 0%, #ffffff 100%);
        box-shadow: 0 16px 30px rgba(37, 99, 235, 0.12);
    }

    .mm-mobile-choice-card-icon {
        width: 44px;
        height: 44px;
        border-radius: 15px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(37, 99, 235, 0.12);
        color: #2563eb;
        font-size: 1rem;
    }

    .mm-mobile-choice-card-copy {
        display: grid;
        gap: .2rem;
        min-width: 0;
    }

    .mm-mobile-choice-card-copy strong {
        color: #0f172a;
        font-size: .98rem;
        font-weight: 800;
    }

    .mm-mobile-choice-card-copy small {
        color: #64748b;
        font-size: .82rem;
        line-height: 1.42;
    }

    .mm-mobile-compose-hints {
        margin-top: .8rem;
    }

    .mm-mobile-inline-actions {
        display: flex;
        flex-wrap: wrap;
        gap: .7rem;
        margin-top: .85rem;
    }

    .mm-mobile-inline-actions form {
        margin: 0;
    }

    .mm-mobile-inline-fields {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .mm-mobile-upload-card {
        padding: 1rem;
        border-radius: 22px;
        border: 1px solid rgba(203, 213, 225, 0.82);
        background: linear-gradient(180deg, #f8fbff, #ffffff);
        display: grid;
        gap: .85rem;
    }

    .mm-mobile-upload-head {
        display: flex;
        justify-content: space-between;
        gap: .75rem;
        align-items: flex-start;
    }

    .mm-mobile-upload-head strong,
    .mm-mobile-upload-status strong {
        color: #0f172a;
    }

    .mm-mobile-upload-head span,
    .mm-mobile-upload-status span,
    .mm-mobile-helper-text {
        color: #64748b;
        font-size: .88rem;
    }

    .mm-mobile-upload-status {
        padding: .85rem .95rem;
        border-radius: 18px;
        background: #f8fbff;
        border: 1px solid rgba(226, 232, 240, 0.9);
    }

    .mm-mobile-panel .mm-suggestion-panel {
        position: static;
        margin-top: .55rem;
        max-height: 260px;
        border-radius: 18px;
        box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
    }

    .mm-mobile-valuation-autocomplete {
        display: grid;
        gap: .5rem;
    }

    .mm-mobile-valuation-search {
        position: relative;
        display: block;
        margin-bottom: 0;
        border-radius: 1.08rem;
    }

    .mm-mobile-valuation-search i {
        position: absolute;
        top: 50%;
        left: .92rem;
        transform: translateY(-50%);
        font-size: 1.02rem;
        color: #6b7fa5;
        pointer-events: none;
        z-index: 1;
    }

    .mm-mobile-valuation-search .form-control {
        min-height: 50px;
        padding: .78rem .92rem .78rem 2.7rem;
        border-radius: 1.08rem;
        border: 1px solid rgba(191, 219, 254, 0.92);
        background: #ffffff;
        color: #0f172a;
        box-shadow:
            0 14px 30px rgba(15, 23, 42, 0.08),
            inset 0 0 0 1px rgba(226, 232, 240, 0.52);
    }

    .mm-mobile-valuation-search .form-control::placeholder {
        color: #6b7fa5;
    }

    .mm-mobile-valuation-search .form-control:focus {
        border-color: rgba(96, 165, 250, 0.96);
        box-shadow:
            0 0 0 2px rgba(191, 219, 254, 0.95),
            0 14px 30px rgba(15, 23, 42, 0.1),
            inset 0 0 0 1px rgba(147, 197, 253, 0.16);
    }

    .mm-mobile-valuation-autocomplete .mm-suggestion-panel {
        margin-top: 0;
        border-radius: 1.15rem;
        padding: .5rem;
        border: 1px solid rgba(226, 232, 240, 0.94);
        background: #ffffff;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.1);
    }

    .mm-mobile-valuation-autocomplete .mm-suggestion-item {
        padding: .72rem .78rem;
        border-radius: .95rem;
    }

    .mm-mobile-valuation-autocomplete .mm-suggestion-empty {
        padding: .88rem .92rem;
        color: #64748b;
    }

    .mm-mobile-panel .mm-catalog-preview {
        border-radius: 18px;
        background: linear-gradient(180deg, #f8fbff, #ffffff);
    }

    .mm-mobile-panel .form-control.is-loading,
    .mm-mobile-panel .form-select.is-loading {
        background-image:
            linear-gradient(90deg, rgba(226, 232, 240, 0.55) 25%, rgba(255, 255, 255, 0.98) 50%, rgba(226, 232, 240, 0.55) 75%);
        background-size: 200% 100%;
        animation: mm-skeleton-wave 1s linear infinite;
    }

    .mm-mobile-bike-cover {
        width: 100%;
        border-radius: 18px;
        display: block;
        object-fit: cover;
        max-height: 220px;
        margin-bottom: .75rem;
    }

    .mm-mobile-badge-inline {
        min-width: 24px;
        height: 24px;
        padding: 0 .45rem;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #dc2626;
        color: #fff;
        font-size: .75rem;
        font-weight: 800;
    }

    .mm-mobile-chat-stack {
        display: grid;
        gap: .8rem;
    }

    .mm-mobile-chat-row {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 0.65rem;
        align-items: end;
    }

    .mm-mobile-chat-row.is-mine {
        grid-template-columns: minmax(0, 1fr) 40px;
    }

    .mm-mobile-chat-avatar {
        width: 40px;
        height: 40px;
        border-radius: 14px;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, rgba(174, 233, 255, 0.22), rgba(76, 215, 167, 0.18));
        color: #dff6ff;
        font-weight: 800;
    }

    .mm-mobile-chat-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .mm-mobile-chat-avatar.is-self {
        order: 2;
        background: linear-gradient(135deg, rgba(15, 99, 255, 0.42), rgba(38, 93, 246, 0.32));
        color: #ffffff;
    }

    .mm-mobile-chat-bubble {
        max-width: 88%;
        padding: .9rem 1rem;
        border-radius: 22px 22px 22px 8px;
        background: #edf3ff;
        color: #0f172a;
    }

    .mm-mobile-chat-bubble.is-mine {
        justify-self: end;
        border-radius: 22px 22px 8px 22px;
        background: linear-gradient(135deg, #0f63ff, #265df6);
        color: #fff;
    }

    .mm-mobile-chat-bubble small {
        display: block;
        margin-bottom: .4rem;
        color: inherit;
        opacity: .78;
    }

    .mm-mobile-chat-bubble p {
        margin: 0;
        white-space: pre-line;
    }

    .mm-mobile-chat-day-separator {
        display: flex;
        justify-content: center;
        margin: 0.35rem 0;
    }

    .mm-mobile-chat-day-separator span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 28px;
        padding: 0.28rem 0.72rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.08);
        color: rgba(212, 225, 248, 0.8);
        font-size: 0.72rem;
        font-weight: 800;
    }

    .mm-mobile-chat-day-separator.is-thread-start {
        margin-top: 0;
    }

    .mm-mobile-chat-hero-head,
    .mm-mobile-chat-composer-head {
        display: flex;
        align-items: center;
        gap: 0.85rem;
    }

    .mm-mobile-chat-hero-avatar {
        width: 54px;
        height: 54px;
        min-width: 54px;
        border-radius: 18px;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, rgba(174, 233, 255, 0.22), rgba(76, 215, 167, 0.18));
        color: #dff6ff;
        font-weight: 800;
    }

    .mm-mobile-chat-hero-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .mm-mobile-chat-composer-head {
        margin-bottom: 0.8rem;
    }

    .mm-mobile-chat-composer-head small {
        display: block;
        color: rgba(212, 225, 248, 0.72);
    }

    .mm-mobile-thread-kicker-row {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        align-items: center;
        flex-wrap: wrap;
    }

    .mm-mobile-thread-kicker-row small {
        color: #64748b;
        font-size: 0.78rem;
    }

    .mm-mobile-thread-kicker-pill {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: 0.28rem 0.65rem;
        border-radius: 999px;
        background: rgba(15, 99, 255, 0.1);
        color: #0f63ff;
        font-size: 0.72rem;
        font-weight: 800;
    }

    .mm-mobile-notification-card.is-unread {
        border-color: rgba(15, 99, 255, 0.35);
        background: linear-gradient(180deg, #eff5ff, #ffffff);
    }

    .mm-mobile-empty-state {
        text-align: center;
    }

    .mm-mobile-empty-state strong,
    .mm-mobile-price-banner strong {
        display: block;
        color: #0f172a;
        font-weight: 800;
    }

    .mm-mobile-empty-state span {
        display: block;
        margin: .35rem 0 0;
    }

    .mm-mobile-price-banner {
        margin-top: 1rem;
        padding: 1rem;
        border-radius: 20px;
        background: linear-gradient(135deg, #dbeafe, #eff6ff);
    }

    .mm-mobile-price-banner strong {
        font-size: 1.6rem;
    }

    .mm-mobile-price-banner span {
        color: #1d4ed8;
        font-weight: 700;
        text-transform: uppercase;
        font-size: .75rem;
        letter-spacing: .08em;
    }

    .mm-mobile-toggle-row {
        min-height: 52px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .75rem;
        padding: .85rem 0;
        border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    }

    .mm-mobile-toggle-row:last-child {
        border-bottom: 0;
    }

    .mm-mobile-toggle-row span {
        color: #0f172a;
        font-weight: 700;
    }

    .mm-mobile-toggle-row input[type="checkbox"] {
        width: 22px;
        height: 22px;
    }

    .mm-mobile-radio-card {
        display: block;
    }

    .mm-mobile-radio-card input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .mm-mobile-radio-card span {
        display: block;
        padding: .95rem 1rem;
        border-radius: 18px;
        border: 1px solid rgba(203, 213, 225, 0.85);
        background: #f8fbff;
    }

    .mm-mobile-radio-card strong,
    .mm-mobile-radio-card small {
        display: block;
    }

    .mm-mobile-radio-card small {
        color: #64748b;
        margin-top: .15rem;
    }

    .mm-mobile-radio-card input:checked + span {
        border-color: rgba(15, 99, 255, 0.4);
        background: linear-gradient(180deg, #eef5ff, #ffffff);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .mm-mobile-action-sheet {
        border-top-left-radius: 28px;
        border-top-right-radius: 28px;
        min-height: 42vh;
    }

    .mm-mobile-toast-stack {
        position: fixed;
        left: 16px;
        right: 16px;
        top: calc(env(safe-area-inset-top) + 78px);
        z-index: 1105;
        display: grid;
        gap: .65rem;
        pointer-events: none;
    }

    .mm-mobile-toast {
        pointer-events: auto;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: .75rem;
        align-items: center;
        padding: .82rem .95rem;
        border-radius: 18px;
        background: rgba(8, 17, 31, 0.9);
        color: #fff;
        border: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22);
        animation: mm-mobile-toast-enter .22s ease;
    }

    .mm-mobile-toast.is-leaving {
        animation: mm-mobile-toast-exit .22s ease forwards;
    }

    .mm-mobile-toast.is-compact {
        padding-block: .74rem;
    }

    .mm-mobile-toast-success {
        background: linear-gradient(135deg, #0f8a4b, #16a34a);
    }

    .mm-mobile-toast-warning {
        background: linear-gradient(135deg, #9a6700, #d97706);
    }

    .mm-mobile-toast-danger {
        background: linear-gradient(135deg, #b91c1c, #dc2626);
    }

    .mm-mobile-toast-info,
    .mm-mobile-toast-primary {
        background: linear-gradient(135deg, #0f63ff, #265df6);
    }

    .mm-mobile-toast-icon {
        width: 40px;
        height: 40px;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.16);
        font-size: 1.05rem;
    }

    .mm-mobile-toast-body {
        font-size: .9rem;
        font-weight: 700;
        line-height: 1.35;
    }

    .mm-mobile-toast-close {
        border: 0;
        background: transparent;
        color: inherit;
        width: 36px;
        height: 36px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    @keyframes mm-mobile-toast-enter {
        from {
            opacity: 0;
            transform: translateY(12px) scale(.98);
        }
        to {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }

    @keyframes mm-mobile-toast-exit {
        from {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
        to {
            opacity: 0;
            transform: translateY(8px) scale(.98);
        }
    }

    .mm-mobile-confirm-dialog {
        margin: 0;
        min-height: 100%;
        align-items: end;
    }

    .mm-mobile-confirm-sheet {
        border: 0;
        border-top-left-radius: 28px;
        border-top-right-radius: 28px;
        padding: .9rem 1rem calc(1rem + env(safe-area-inset-bottom));
        background: linear-gradient(180deg, #ffffff, #f8fbff);
        box-shadow: 0 -12px 36px rgba(15, 23, 42, 0.18);
    }

    .mm-mobile-confirm-handle {
        width: 56px;
        height: 6px;
        border-radius: 999px;
        background: #cbd5e1;
        margin: 0 auto .9rem;
    }

    .mm-mobile-confirm-body {
        padding: .25rem .2rem 1rem;
    }

    .mm-mobile-confirm-kicker {
        display: inline-block;
        margin-bottom: .55rem;
        color: #b91c1c;
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .mm-mobile-confirm-title {
        margin: 0;
        color: #0f172a;
        font-size: 1.35rem;
        font-weight: 800;
    }

    .mm-mobile-confirm-message {
        margin: .7rem 0 0;
        color: #475569;
        font-size: .95rem;
        line-height: 1.5;
    }

    .mm-mobile-confirm-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .mm-mobile-confirm-actions .mm-mobile-primary-cta.is-danger {
        background: linear-gradient(135deg, #b91c1c, #dc2626);
    }

    .mm-mobile-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-mobile-action-card {
        padding: 1rem;
        text-align: left;
        color: #0f172a;
    }

    .mm-mobile-action-card i {
        font-size: 1.4rem;
        color: #0f63ff;
        margin-bottom: .8rem;
        display: inline-block;
    }

    .mm-mobile-action-card strong,
    .mm-mobile-action-card span {
        display: block;
    }

    .mm-mobile-action-card span {
        margin-top: .3rem;
        color: #64748b;
        font-size: .9rem;
    }

    .app-mobile-bottom-nav {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        padding-bottom: calc(.7rem + env(safe-area-inset-bottom));
        background: rgba(8, 17, 31, 0.94);
        backdrop-filter: blur(18px);
    }

    .app-mobile-bottom-link {
        min-width: 0;
    }

    .app-mobile-bottom-link-primary {
        transform: translateY(-18px);
        min-height: 64px;
        border-radius: 22px;
        box-shadow: 0 16px 30px rgba(15, 99, 255, 0.28);
    }
}

@media (max-width: 767.98px) {
    .mm-mobile-hero-actions {
        grid-template-columns: 1fr;
    }

    .mm-mobile-mini-actions,
    .mm-mobile-detail-list,
    .mm-mobile-action-grid,
    .mm-mobile-inline-fields {
        grid-template-columns: 1fr;
    }
}

body.is-mobile-app-context {
    --mm-mobile-bg: #eef4ff;
    --mm-mobile-surface: rgba(255, 255, 255, 0.98);
    --mm-mobile-surface-soft: #f7fbff;
    --mm-mobile-border: rgba(203, 213, 225, 0.78);
    --mm-mobile-text: #081120;
    --mm-mobile-muted: #64748b;
    --mm-mobile-accent: #0f63ff;
    --mm-mobile-accent-deep: #0a43c8;
    background:
        radial-gradient(circle at top, rgba(37, 99, 235, 0.16), transparent 26%),
        linear-gradient(180deg, #f4f8ff 0%, #edf4ff 44%, #f8fbff 100%);
    overflow-x: hidden;
}

body.is-mobile-app-context,
body.is-mobile-app-context *,
body.is-mobile-app-context *::before,
body.is-mobile-app-context *::after {
    box-sizing: border-box;
}

body.is-mobile-app-context {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

body.is-mobile-app-context .app-shell-main,
body.is-mobile-app-context #app-main,
body.is-mobile-app-context .app-shell,
body.is-mobile-app-context .app-content-shell,
body.is-mobile-app-context .offcanvas,
body.is-mobile-app-context .modal,
body.is-mobile-app-context .modal-content {
    width: 100%;
    max-width: 100vw;
    overflow-x: clip;
}

body.is-mobile-app-context .container,
body.is-mobile-app-context .container-sm,
body.is-mobile-app-context .container-md,
body.is-mobile-app-context .container-lg,
body.is-mobile-app-context .container-xl,
body.is-mobile-app-context .container-xxl,
body.is-mobile-app-context .container-fluid {
    width: 100%;
    max-width: 100%;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.is-mobile-app-context .row {
    --bs-gutter-x: 0.9rem;
    margin-left: 0;
    margin-right: 0;
    row-gap: 0.9rem;
}

body.is-mobile-app-context .row > *,
body.is-mobile-app-context .d-grid > *,
body.is-mobile-app-context .d-flex > *,
body.is-mobile-app-context .d-inline-flex > * {
    min-width: 0;
    max-width: 100%;
}

body.is-mobile-app-context img,
body.is-mobile-app-context svg,
body.is-mobile-app-context video,
body.is-mobile-app-context canvas,
body.is-mobile-app-context iframe {
    display: block;
    max-width: 100%;
    height: auto;
}

body.is-mobile-app-context .btn,
body.is-mobile-app-context button,
body.is-mobile-app-context .form-control,
body.is-mobile-app-context .form-select,
body.is-mobile-app-context .input-group,
body.is-mobile-app-context .dropdown-menu,
body.is-mobile-app-context .card,
body.is-mobile-app-context .alert,
body.is-mobile-app-context .badge,
body.is-mobile-app-context .modal-dialog,
body.is-mobile-app-context .offcanvas {
    max-width: 100%;
    min-width: 0;
}

body.is-mobile-app-context table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.is-mobile-app-context pre,
body.is-mobile-app-context .bbcode-content,
body.is-mobile-app-context .mm-mobile-screen p,
body.is-mobile-app-context .mm-mobile-screen strong,
body.is-mobile-app-context .mm-mobile-screen small,
body.is-mobile-app-context .mm-mobile-screen span,
body.is-mobile-app-context .mm-mobile-screen a,
body.is-mobile-app-context .mm-mobile-screen h1,
body.is-mobile-app-context .mm-mobile-screen h2,
body.is-mobile-app-context .mm-mobile-screen h3 {
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .form-control,
body.is-mobile-app-context .form-select {
    min-height: 46px;
    border-radius: 14px;
    border: 1px solid rgba(191, 201, 220, 0.9);
    box-shadow: none;
}

body.is-mobile-app-context textarea.form-control {
    min-height: 108px;
}

body.is-mobile-app-context .btn {
    min-height: 46px;
    border-radius: 14px;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-appbar {
    position: sticky;
    top: 0;
    z-index: 1100;
    padding: calc(env(safe-area-inset-top) + 10px) 16px 14px;
    background: linear-gradient(180deg, rgba(8, 17, 31, 0.96), rgba(8, 17, 31, 0.84));
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
}

body.is-mobile-app-context .mm-mobile-appbar.is-detail {
    background: linear-gradient(180deg, rgba(8, 17, 31, 0.94), rgba(8, 17, 31, 0.76));
}

body.is-mobile-app-context.is-model-detail-page .mm-mobile-appbar,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-appbar.is-detail {
    border-bottom: 0;
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-appbar-btn {
    width: 46px;
    height: 46px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.is-mobile-app-context .mm-mobile-appbar-copy small {
    color: rgba(255, 255, 255, 0.66);
    letter-spacing: 0.12em;
}

body.is-mobile-app-context .mm-mobile-appbar-copy strong {
    font-size: 1.05rem;
}

body.is-mobile-app-context .mm-mobile-app-main {
    padding-top: 1rem !important;
    padding-bottom: 9.4rem !important;
}

body.is-mobile-app-context .mm-mobile-screen {
    width: min(100%, 760px);
    padding-inline: clamp(14px, 4.6vw, 20px);
    gap: 16px;
}

body.is-mobile-app-context .mm-mobile-screen > * {
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-action-card {
    border-radius: 30px;
    border: 1px solid var(--mm-mobile-border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 250, 255, 0.96));
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-hero {
    position: relative;
    padding: 1.2rem;
}

body.is-mobile-app-context .mm-mobile-hero.mm-mobile-hero-compact {
    padding: 1rem;
}

body.is-mobile-app-context .mm-mobile-hero::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -72px;
    bottom: -92px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.14), transparent 68%);
    pointer-events: none;
}

body.is-mobile-app-context .mm-mobile-hero-market {
    background: linear-gradient(160deg, #ffffff 0%, #f2f8ff 56%, #ebf4ff 100%);
}

body.is-mobile-app-context .mm-mobile-hero-catalog {
    background: linear-gradient(160deg, #ffffff 0%, #f8fbff 50%, #eef5ff 100%);
}

body.is-mobile-app-context .mm-mobile-hero-community {
    background: linear-gradient(160deg, #ffffff 0%, #f6fbff 48%, #edf7ff 100%);
}

body.is-mobile-app-context .mm-mobile-kicker {
    color: var(--mm-mobile-accent-deep);
}

body.is-mobile-app-context .mm-mobile-hero h1 {
    font-size: clamp(2rem, 8vw, 3rem);
    line-height: 0.96;
    letter-spacing: -0.045em;
}

body.is-mobile-app-context .mm-mobile-hero-compact h1 {
    font-size: clamp(1.8rem, 7vw, 2.4rem);
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-hero p {
    line-height: 1.56;
}

body.is-mobile-app-context .mm-mobile-panel {
    padding: 1rem;
}

body.is-mobile-app-context .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-secondary-cta {
    min-height: 44px;
    border-radius: 14px;
    font-weight: 800;
    text-align: center;
}

body.is-mobile-app-context .mm-mobile-primary-cta {
    background: linear-gradient(135deg, var(--mm-mobile-accent), #265df6);
    box-shadow: 0 16px 30px rgba(15, 99, 255, 0.2);
}

body.is-mobile-app-context .mm-mobile-secondary-cta {
    border: 1px solid rgba(180, 194, 223, 0.52);
    background: #f1f5ff;
    color: #133462;
}

body.is-mobile-app-context .mm-mobile-inline-actions,
body.is-mobile-app-context .mm-mobile-market-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

body.is-mobile-app-context .mm-mobile-inline-actions-tight,
body.is-mobile-app-context .mm-mobile-market-actions-tight {
    gap: 0.6rem;
}

body.is-mobile-app-context .mm-mobile-inline-actions > *,
body.is-mobile-app-context .mm-mobile-market-actions > * {
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-inline-actions form,
body.is-mobile-app-context .mm-mobile-market-actions form {
    width: 100%;
    margin: 0;
}

body.is-mobile-app-context .mm-mobile-inline-actions form > *,
body.is-mobile-app-context .mm-mobile-market-actions form > * {
    width: 100%;
}

body.is-mobile-app-context .mm-mobile-chip-scroll,
body.is-mobile-app-context .mm-mobile-market-thumb-row,
body.is-mobile-app-context .mm-mobile-alpha-row {
    scrollbar-width: none;
}

body.is-mobile-app-context .mm-mobile-chip-scroll::-webkit-scrollbar,
body.is-mobile-app-context .mm-mobile-market-thumb-row::-webkit-scrollbar,
body.is-mobile-app-context .mm-mobile-alpha-row::-webkit-scrollbar {
    display: none;
}

body.is-mobile-app-context .mm-mobile-alpha-row-sheet {
    justify-content: center;
    padding-top: 0.4rem;
}

body.is-mobile-app-context .mm-mobile-filter-chip {
    min-height: 40px;
    padding: 0.72rem 0.9rem;
    border-radius: 999px;
    background: #edf3ff;
    border: 1px solid rgba(176, 191, 222, 0.42);
}

body.is-mobile-app-context .mm-mobile-stat-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.62rem;
    margin-top: 1rem;
}

body.is-mobile-app-context .mm-mobile-glance-grid,
body.is-mobile-app-context .mm-mobile-route-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.56rem;
}

body.is-mobile-app-context .mm-mobile-glance-grid {
    margin-top: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-app-main {
    padding: 0.85rem 0 calc(12.5rem + env(safe-area-inset-bottom)) !important;
    overflow: visible;
}

body.is-mobile-app-context .mm-mobile-app-main:has(.mm-mobile-model-screen) {
    padding-top: 0 !important;
}

body.is-mobile-app-context.app-mobile-nav-collapsed .mm-mobile-app-main {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)) !important;
}

body.is-mobile-app-context .mm-mobile-screen {
    gap: 12px;
    padding: 0 14px;
    padding-bottom: 0.75rem;
}

body.is-mobile-app-context .mm-mobile-hero {
    padding: 0.92rem;
    border-radius: 20px;
}

body.is-mobile-app-context .mm-mobile-hero.mm-mobile-hero-compact {
    padding-block: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-hero-copy {
    display: grid;
    gap: 0.28rem;
}

body.is-mobile-app-context .mm-mobile-hero-copy p {
    margin: 0;
    color: var(--mm-mobile-muted);
    font-size: 0.9rem;
    line-height: 1.38;
}

body.is-mobile-app-context .mm-mobile-hero .mm-mobile-chip-scroll {
    display: none;
}

body.is-mobile-app-context .mm-mobile-hero .mm-mobile-stat-pills,
body.is-mobile-app-context .mm-mobile-hero .mm-mobile-stat-grid {
    margin-top: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-panel {
    padding: 0.76rem;
    border-radius: 18px;
    overflow: visible;
}

body.is-mobile-app-context .mm-mobile-panel-head {
    margin-bottom: 0.58rem;
}

body.is-mobile-app-context .mm-mobile-panel-head strong {
    font-size: 0.92rem;
}

body.is-mobile-app-context .mm-mobile-panel-head small {
    font-size: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-stat-pill {
    min-width: 0;
    min-height: auto;
    padding: 0.56rem 0.8rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    background: rgba(8, 17, 31, 0.04);
    border: 1px solid rgba(206, 216, 232, 0.66);
}

body.is-mobile-app-context .mm-mobile-glance-card,
body.is-mobile-app-context .mm-mobile-route-card {
    min-width: 0;
    padding: 0.72rem 0.8rem;
    border-radius: 18px;
    border: 1px solid rgba(206, 216, 232, 0.48);
    background: rgba(8, 17, 31, 0.03);
}

body.is-mobile-app-context .mm-mobile-glance-card span,
body.is-mobile-app-context .mm-mobile-route-card p {
    color: var(--mm-mobile-muted);
}

body.is-mobile-app-context .mm-mobile-glance-card span {
    display: block;
    margin-bottom: 0.18rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.is-mobile-app-context .mm-mobile-glance-card strong {
    display: block;
    font-size: 0.94rem;
    font-weight: 900;
    line-height: 1.22;
    word-break: break-word;
}

body.is-mobile-app-context .mm-mobile-glance-card small {
    display: block;
    margin-top: 0.18rem;
    font-size: 0.74rem;
}

body.is-mobile-app-context .mm-mobile-route-card {
    display: grid;
    gap: 0.38rem;
}

body.is-mobile-app-context .mm-mobile-route-step {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--mm-mobile-accent), #265df6);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-route-card strong {
    font-size: 0.96rem;
    line-height: 1.22;
}

body.is-mobile-app-context .mm-mobile-route-card p {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.46;
}

body.is-mobile-app-context .mm-mobile-stat-pill strong {
    display: inline;
    color: var(--mm-mobile-text);
    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-stat-pill span {
    display: inline;
    margin-top: 0;
    color: var(--mm-mobile-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-inline-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-inline-meta span {
    color: var(--mm-mobile-muted);
    font-size: 0.85rem;
    text-align: right;
}

body.is-mobile-app-context .mm-mobile-segmented-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-accordion-list,
body.is-mobile-app-context .mm-mobile-family-stack,
body.is-mobile-app-context .mm-mobile-spec-stack,
body.is-mobile-app-context .mm-mobile-doc-stack,
body.is-mobile-app-context .mm-mobile-community-grid,
body.is-mobile-app-context .mm-mobile-community-stack {
    display: grid;
    gap: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-brand-grid,
body.is-mobile-app-context .mm-mobile-market-categories,
body.is-mobile-app-context .mm-mobile-doc-grid,
body.is-mobile-app-context .mm-mobile-color-grid,
body.is-mobile-app-context .mm-mobile-profile-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-doc-grid-single {
    grid-template-columns: 1fr;
}

body.is-mobile-app-context .mm-mobile-brand-card,
body.is-mobile-app-context .mm-mobile-brand-list-card,
body.is-mobile-app-context .mm-mobile-doc-card,
body.is-mobile-app-context .mm-mobile-color-card,
body.is-mobile-app-context .mm-mobile-market-category {
    border-radius: 22px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    color: #e7efff;
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-brand-card,
body.is-mobile-app-context .mm-mobile-market-category {
    padding: 1rem;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-market-category strong,
body.is-mobile-app-context .mm-mobile-doc-card strong,
body.is-mobile-app-context .mm-mobile-brand-card strong {
    color: #f8fbff;
}

body.is-mobile-app-context .mm-mobile-market-category span,
body.is-mobile-app-context .mm-mobile-doc-card span,
body.is-mobile-app-context .mm-mobile-doc-card small,
body.is-mobile-app-context .mm-mobile-brand-card span {
    color: rgba(212, 225, 248, 0.72);
}

body.is-mobile-app-context .mm-mobile-brand-media,
body.is-mobile-app-context .mm-mobile-market-category-icon,
body.is-mobile-app-context .mm-mobile-brand-list-media {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-brand-media img,
body.is-mobile-app-context .mm-mobile-brand-list-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.5rem;
}

body.is-mobile-app-context .mm-mobile-brand-grid-iconic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-brand-icon-card {
    min-width: 0;
    padding: 0;
    border-radius: 22px;
    display: grid;
    justify-items: stretch;
    align-content: start;
    gap: 0;
    overflow: hidden;
    text-decoration: none;
    color: var(--mm-mobile-text);
    background: linear-gradient(180deg, rgba(231, 239, 255, 0.92) 0%, #f8fbff 100%);
    border: 1px solid rgba(206, 216, 232, 0.74);
    box-shadow: 0 16px 34px rgba(37, 99, 235, 0.08);
}

body.is-mobile-app-context .mm-mobile-brand-icon-cover {
    position: relative;
    min-height: 138px;
    padding: 0.82rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.14), transparent 52%),
        radial-gradient(circle at bottom right, rgba(96, 165, 250, 0.1), transparent 38%),
        linear-gradient(180deg, #edf4ff 0%, #f8fbff 100%);
}

body.is-mobile-app-context .mm-mobile-brand-icon-cover-mark {
    position: absolute;
    top: 10px;
    left: 10px;
    max-width: calc(100% - 20px);
    min-height: 28px;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    background: rgba(7, 17, 28, 0.72);
    color: #f8fbff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1.15;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
    backdrop-filter: blur(12px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-brand-icon-media {
    width: min(100%, 118px);
    height: 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-brand-icon-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0;
    filter: drop-shadow(0 10px 18px rgba(15, 23, 42, 0.12));
}

body.is-mobile-app-context .mm-mobile-brand-icon-body {
    padding: 0.72rem 0.82rem 0.88rem;
    display: grid;
    gap: 0;
    text-align: center;
}

body.is-mobile-app-context .mm-mobile-brand-icon-body strong {
    font-size: 1rem;
    line-height: 1.08;
    font-weight: 900;
    word-break: break-word;
}

body.is-mobile-app-context .mm-mobile-brand-icon-body small {
    color: #17315a;
    font-size: 0.76rem;
    line-height: 1.15;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

body.is-mobile-app-context .mm-mobile-brand-list-card {
    padding: 0.78rem;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-brand-list-body p,
body.is-mobile-app-context .mm-mobile-family-body p,
body.is-mobile-app-context .mm-mobile-market-meta,
body.is-mobile-app-context .mm-mobile-community-body p {
    margin: 0;
    color: var(--mm-mobile-muted);
    font-size: 0.92rem;
    line-height: 1.48;
}

body.is-mobile-app-context .mm-mobile-alpha-row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    gap: 0.55rem;
    overflow-x: auto;
}

body.is-mobile-app-context .mm-mobile-alpha-chip {
    min-width: 42px;
    height: 42px;
    padding: 0 0.82rem;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #16325c;
    background: #edf3ff;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-family-card,
body.is-mobile-app-context .mm-mobile-community-card,
body.is-mobile-app-context .mm-mobile-market-card {
    border-radius: 26px;
    border: 1px solid rgba(205, 215, 232, 0.78);
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-family-cover,
body.is-mobile-app-context .mm-mobile-community-cover,
body.is-mobile-app-context .mm-mobile-model-hero-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: linear-gradient(180deg, #dbeafe, #eff6ff);
}

body.is-mobile-app-context .mm-mobile-family-body,
body.is-mobile-app-context .mm-mobile-community-body,
body.is-mobile-app-context .mm-mobile-market-content {
    padding: 1rem;
    display: grid;
    gap: 0.75rem;
}

body.is-mobile-app-context .mm-mobile-model-hero-image {
    margin-bottom: 1rem;
    border-radius: 24px;
}

body.is-mobile-app-context .mm-mobile-model-stage {
    display: grid;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    padding: 0 0 1rem;
    overflow-x: clip;
}

body.is-mobile-app-context .mm-mobile-model-screen {
    width: 100%;
    max-width: 100%;
    padding: 0 0 1rem;
    overflow-x: clip;
}

body.is-mobile-app-context .mm-mobile-model-content {
    display: grid;
    gap: 1rem;
    padding-inline: 14px;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

body.is-mobile-app-context .mm-mobile-model-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 1rem 14px 1rem;
    border-radius: 0;
    background:
        radial-gradient(circle at 100% 4%, rgba(96, 165, 250, 0.18), transparent 26%),
        linear-gradient(158deg, #1d2636 0%, #151c2a 46%, #101725 100%);
    border: 0;
    box-shadow: none;
    color: #f8fafc;
}

body.is-mobile-app-context .mm-mobile-model-hero-card::before {
    content: "";
    position: absolute;
    inset: 56% -14% -10% 62%;
    background: linear-gradient(136deg, rgba(8, 145, 178, 0.6), rgba(37, 99, 235, 0.28));
    transform: skewX(-18deg);
    border-radius: 36px;
    pointer-events: none;
}

body.is-mobile-app-context .mm-mobile-model-hero-top,
body.is-mobile-app-context .mm-mobile-model-badge-row,
body.is-mobile-app-context .mm-mobile-model-title,
body.is-mobile-app-context .mm-mobile-model-meta-line,
body.is-mobile-app-context .mm-mobile-model-hero-media,
body.is-mobile-app-context .mm-mobile-model-rating-strip,
body.is-mobile-app-context .mm-mobile-model-actions,
body.is-mobile-app-context .mm-mobile-model-stat-grid {
    position: relative;
    z-index: 1;
}

body.is-mobile-app-context .mm-mobile-model-hero-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-model-back {
    min-height: 48px;
    padding: 0.8rem 1rem;
    border-radius: 22px;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-decoration: none;
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-model-views {
    min-width: 68px;
    min-height: 68px;
    padding: 0.7rem 0.8rem;
    border-radius: 24px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 0.15rem;
    background: rgba(15, 23, 42, 0.46);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.is-mobile-app-context .mm-mobile-model-views i {
    color: #fb923c;
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-model-views strong {
    font-size: 1rem;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-model-badge-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

body.is-mobile-app-context .mm-mobile-model-brand-pill {
    min-height: 38px;
    padding: 0.45rem 0.9rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    background: #f44336;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 900;
    text-transform: lowercase;
}

body.is-mobile-app-context .mm-mobile-model-verified {
    color: #60a5fa;
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-model-title {
    margin: 0;
    color: #ffffff;
    max-width: 100%;
    font-size: clamp(2.45rem, 11.2vw, 3.45rem);
    line-height: 0.92;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body.is-mobile-app-context .mm-mobile-model-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    color: rgba(241, 245, 249, 0.84);
    font-size: 1rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-model-meta-line span + span::before {
    content: "•";
    margin-right: 0.55rem;
    color: rgba(255, 255, 255, 0.34);
}

body.is-mobile-app-context .mm-mobile-model-hero-media {
    padding-top: 0.15rem;
}

body.is-mobile-app-context .mm-mobile-model-hero-image {
    width: 100%;
    margin: 0;
    border-radius: 30px;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.98));
    box-shadow: 0 24px 40px rgba(2, 8, 23, 0.22);
}

body.is-mobile-app-context .mm-mobile-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-photo-card {
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.is-mobile-app-context .mm-mobile-photo-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

body.is-mobile-app-context .mm-mobile-model-icon-rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
    margin-top: -0.1rem;
    width: 100%;
    max-width: 100%;
}

body.is-mobile-app-context .mm-mobile-model-icon-pill {
    min-width: 0;
    width: 100%;
    min-height: 64px;
    padding: 0.82rem 0.88rem;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(24, 35, 52, 0.98) 0%, rgba(13, 22, 34, 0.98) 100%);
    border: 1px solid rgba(174, 233, 255, 0.1);
    color: #dbeafe;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.7rem;
    box-shadow: 0 12px 24px rgba(2, 8, 23, 0.18);
}

body.is-mobile-app-context .mm-mobile-model-icon-pill.is-primary {
    background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%);
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-model-icon-pill i {
    font-size: 1.05rem;
}

body.is-mobile-app-context .mm-mobile-model-icon-pill span {
    font-size: 0.82rem;
    line-height: 1.2;
    font-weight: 800;
    text-align: left;
}

body.is-mobile-app-context .mm-mobile-model-rating-card {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(132deg, rgba(15, 23, 42, 0.86) 0%, rgba(15, 23, 42, 0.9) 58%, rgba(12, 74, 110, 0.92) 58%, rgba(21, 94, 117, 0.92) 100%);
}

body.is-mobile-app-context .mm-mobile-rating-trigger-hero {
    flex: 1 1 auto;
    min-width: 0;
    padding: 1rem 1rem 1.05rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: left;
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-rating-trigger-hero strong {
    font-size: 1.85rem;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-rating-trigger-hero small {
    color: rgba(226, 232, 240, 0.74);
}

body.is-mobile-app-context .mm-mobile-model-review-cta {
    flex: 0 0 32%;
    min-width: 0;
    padding: 1rem 0.9rem;
    color: #67e8f9;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-align: left;
}

body.is-mobile-app-context .mm-mobile-model-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-model-action-form {
    margin: 0;
}

body.is-mobile-app-context .mm-mobile-model-action-form,
body.is-mobile-app-context .mm-mobile-model-action {
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-model-action {
    width: 100%;
    min-height: 60px;
    padding: 0.9rem 0.8rem;
    border-radius: 20px;
    border: 1px solid rgba(174, 233, 255, 0.1);
    background: linear-gradient(180deg, rgba(24, 35, 52, 0.94) 0%, rgba(13, 22, 34, 0.94) 100%);
    color: #f8fafc;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 0.18rem;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(2, 8, 23, 0.14);
}

body.is-mobile-app-context .mm-mobile-model-action.is-primary {
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
    border-color: transparent;
}

body.is-mobile-app-context .mm-mobile-model-action i {
    font-size: 1.05rem;
}

body.is-mobile-app-context .mm-mobile-model-action span {
    font-size: 0.84rem;
    line-height: 1.15;
    text-align: center;
}

body.is-mobile-app-context .mm-mobile-model-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
    width: 100%;
    max-width: 100%;
}

body.is-mobile-app-context .mm-mobile-model-stat-card {
    min-width: 0;
    padding: 0.9rem 0.85rem;
    border-radius: 20px;
    background: rgba(15, 23, 42, 0.34);
    border: 1px solid rgba(255, 255, 255, 0.06);
    display: grid;
    gap: 0.16rem;
}

body.is-mobile-app-context .mm-mobile-model-stat-card i {
    color: #38bdf8;
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-model-stat-card span {
    color: rgba(226, 232, 240, 0.72);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.is-mobile-app-context .mm-mobile-model-stat-card strong {
    color: #ffffff;
    font-size: 1.05rem;
    line-height: 1.2;
}

body.is-mobile-app-context .mm-mobile-model-overview-panel {
    background: linear-gradient(180deg, #1a2332 0%, #111827 100%);
    border-color: rgba(255, 255, 255, 0.06);
    color: #f8fafc;
    box-shadow: 0 18px 34px rgba(2, 8, 23, 0.16);
}

body.is-mobile-app-context .mm-mobile-model-overview-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0.2rem;
}

body.is-mobile-app-context .mm-mobile-model-overview-tabs span {
    min-height: 46px;
    padding: 0.8rem 0.9rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(226, 232, 240, 0.74);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.84rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-model-overview-tabs span.is-active {
    background: rgba(14, 165, 233, 0.12);
    color: #38bdf8;
    border: 1px solid rgba(56, 189, 248, 0.24);
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-panel-head strong {
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-panel-head small {
    color: rgba(226, 232, 240, 0.62);
}

body.is-mobile-app-context .mm-mobile-model-description {
    margin: 0;
    color: rgba(241, 245, 249, 0.86);
    font-size: 0.95rem;
    line-height: 1.65;
}

body.is-mobile-app-context .mm-mobile-model-facts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
    margin-top: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-model-fact-card {
    padding: 0.9rem 0.85rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

body.is-mobile-app-context .mm-mobile-model-fact-card i {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.6rem;
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.22), rgba(37, 99, 235, 0.16));
    color: #67e8f9;
    font-size: 0.95rem;
}

body.is-mobile-app-context .mm-mobile-model-fact-card span {
    display: block;
    color: rgba(226, 232, 240, 0.64);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.is-mobile-app-context .mm-mobile-model-fact-card strong {
    display: block;
    margin-top: 0.35rem;
    color: #ffffff;
    font-size: 0.96rem;
    line-height: 1.32;
}

body.is-mobile-app-context .mm-mobile-model-overview-panel {
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.92);
    color: #111827;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-panel-head strong {
    color: #0f172a;
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-panel-head small {
    color: #475569;
}

body.is-mobile-app-context .mm-mobile-model-description {
    color: #94a3b8;
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-model-description {
    color: #475569;
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-model-fact-card {
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    border-color: rgba(191, 219, 254, 0.72);
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-model-fact-card span {
    color: #64748b;
}

body.is-mobile-app-context .mm-mobile-model-overview-panel .mm-mobile-model-fact-card strong {
    color: #0f172a;
}

body.is-mobile-app-context .mm-mobile-rating-box {
    margin-top: 1rem;
}

body.is-mobile-app-context .mm-mobile-rating-trigger {
    width: 100%;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(205, 215, 232, 0.78);
    border-radius: 22px;
    background: rgba(8, 17, 31, 0.03);
    display: grid;
    gap: 0.2rem;
    text-align: left;
}

body.is-mobile-app-context .mm-mobile-rating-stars {
    color: #f59e0b;
    letter-spacing: 0.08em;
}

body.is-mobile-app-context .mm-mobile-market-mode-grid,
body.is-mobile-app-context .mm-mobile-message-list {
    display: grid;
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-message-meta-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-message-meta-row > small {
    flex: 0 0 auto;
    margin-top: 0.08rem;
    color: rgba(212, 225, 248, 0.58);
    font-size: 0.72rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-form-shell {
    display: grid;
    gap: 0.9rem;
}

body.is-mobile-app-context .model-upload-progress-card {
    gap: 0.78rem;
    padding: 0.92rem;
    border-radius: 22px;
}

body.is-mobile-app-context .model-upload-progress-card-mobile {
    margin-top: 0.2rem;
}

body.is-mobile-app-context .model-upload-progress-top strong {
    font-size: 0.9rem;
}

body.is-mobile-app-context .model-upload-progress-top span {
    font-size: 0.84rem;
}

body.is-mobile-app-context .model-upload-progress-message {
    font-size: 0.86rem;
    line-height: 1.5;
}

body.is-mobile-app-context .model-upload-progress-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.is-mobile-app-context .model-upload-progress-steps span {
    min-height: 40px;
    font-size: 0.76rem;
    border-radius: 16px;
}

body.is-mobile-app-context .mm-mobile-form-shell-section {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(205, 215, 232, 0.74);
    background: linear-gradient(180deg, #f8fbff, #ffffff);
}

body.is-mobile-app-context .mm-mobile-spec-card,
body.is-mobile-app-context .mm-mobile-doc-card,
body.is-mobile-app-context .mm-mobile-color-card,
body.is-mobile-app-context .mm-mobile-safety-card {
    padding: 1rem;
}

body.is-mobile-app-context .mm-mobile-doc-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

body.is-mobile-app-context .mm-mobile-doc-card i,
body.is-mobile-app-context .mm-mobile-color-swatch {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.is-mobile-app-context .mm-mobile-doc-card i {
    background: rgba(255, 255, 255, 0.06);
    color: #8fd8ff;
    font-size: 1.1rem;
}

body.is-mobile-app-context .mm-mobile-doc-search-shell {
    display: grid;
    gap: 0.85rem;
}

body.is-mobile-app-context .mm-mobile-doc-search-field {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 0.72rem;
    align-items: center;
    padding: 0.92rem 1rem;
    border-radius: 20px;
    border: 1px solid rgba(147, 197, 253, 0.22);
    background: rgba(8, 15, 28, 0.72);
    color: #f8fafc;
}

body.is-mobile-app-context .mm-mobile-doc-search-field i {
    color: rgba(125, 211, 252, 0.92);
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-doc-search-field input {
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #f8fafc;
    font-size: 0.98rem;
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-doc-search-field input::placeholder {
    color: rgba(226, 232, 240, 0.62);
}

body.is-mobile-app-context .mm-mobile-doc-preview-list {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-doc-preview-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.78rem;
    align-items: start;
    padding: 0.9rem 0.95rem;
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.88), rgba(15, 23, 42, 0.76));
    color: #f8fafc;
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-doc-preview-card.is-empty,
body.is-mobile-app-context .mm-mobile-doc-preview-card.is-loading {
    grid-template-columns: 1fr;
}

body.is-mobile-app-context .mm-mobile-doc-preview-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(56, 189, 248, 0.14);
    color: #7dd3fc;
    font-size: 1.05rem;
}

body.is-mobile-app-context .mm-mobile-doc-preview-card strong,
body.is-mobile-app-context .mm-mobile-doc-preview-card span,
body.is-mobile-app-context .mm-mobile-doc-preview-card small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-doc-preview-card span {
    margin-top: 0.2rem;
    color: rgba(226, 232, 240, 0.78);
    font-size: 0.87rem;
}

body.is-mobile-app-context .mm-mobile-doc-preview-card small {
    margin-top: 0.32rem;
    color: rgba(148, 163, 184, 0.94);
    font-size: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-color-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-color-swatch {
    border: 1px solid rgba(206, 216, 232, 0.78);
    background: linear-gradient(180deg, #ffffff, #f3f7ff);
}

body.is-mobile-app-context .mm-mobile-community-cover-hero {
    margin-bottom: 1rem;
    border-radius: 24px;
    aspect-ratio: 16 / 11;
}

body.is-mobile-app-context .mm-mobile-community-card.is-featured {
    background: linear-gradient(180deg, #ffffff, #f4f8ff);
}

body.is-mobile-app-context .mm-mobile-message-card {
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    color: #e7efff;
    text-decoration: none;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    box-shadow: 0 14px 30px rgba(2, 8, 23, 0.16);
}

body.is-mobile-app-context .mm-mobile-message-card.is-unread {
    background: linear-gradient(180deg, rgba(23, 99, 189, 0.18), rgba(255, 255, 255, 0.04));
    border-color: rgba(46, 144, 250, 0.28);
}

body.is-mobile-app-context .mm-mobile-message-card strong,
body.is-mobile-app-context .mm-mobile-thread-card strong,
body.is-mobile-app-context .mm-mobile-thread-reply strong {
    word-break: break-word;
}

body.is-mobile-app-context .mm-mobile-message-avatar {
    width: 50px;
    height: 50px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    color: #8fd8ff;
    font-size: 1.15rem;
    overflow: hidden;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-message-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.is-mobile-app-context .mm-mobile-message-avatar > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

body.is-mobile-app-context .mm-mobile-message-copy p {
    margin: 0.3rem 0 0;
    color: rgba(212, 225, 248, 0.72);
    font-size: 0.92rem;
    line-height: 1.48;
}

body.is-mobile-app-context .mm-mobile-message-copy small {
    display: block;
    margin-top: 0.18rem;
    color: rgba(212, 225, 248, 0.58);
    font-size: 0.76rem;
    letter-spacing: 0.01em;
}

body.is-mobile-app-context .mm-mobile-thread-card,
body.is-mobile-app-context .mm-mobile-thread-reply {
    border-radius: 18px;
}

body.is-mobile-app-context .mm-mobile-thread-card .bbcode-content,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content {
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-thread-card .bbcode-content,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content,
body.is-mobile-app-context .mm-mobile-thread-card .bbcode-content p,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content p,
body.is-mobile-app-context .mm-mobile-thread-card .bbcode-content li,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content li,
body.is-mobile-app-context .mm-mobile-thread-card .bbcode-content strong,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content strong,
body.is-mobile-app-context .mm-mobile-thread-card .bbcode-content span,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content span {
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-thread-card .bbcode-content a,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content a {
    color: #9fdfff;
}

body.is-mobile-app-context .mm-mobile-thread-card .bbcode-quote,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-quote {
    color: #334155;
}

body.is-mobile-app-context .mm-mobile-thread-card .bbcode-quote *,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-quote * {
    color: #334155;
}

body.is-mobile-app-context .mm-mobile-thread-card .bbcode-code,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-code {
    color: #e5e7eb;
}

body.is-mobile-app-context .mm-mobile-progress {
    height: 0.58rem;
    border-radius: 999px;
    overflow: hidden;
    background: #e5eefc;
}

body.is-mobile-app-context .mm-mobile-progress .progress-bar {
    background: linear-gradient(135deg, var(--mm-mobile-accent), #265df6);
}

body.is-mobile-app-context .mm-mobile-step-panel {
    display: none;
}

body.is-mobile-app-context .mm-mobile-step-panel.is-active {
    display: block;
}

body.is-mobile-app-context .mm-mobile-segmented-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-sticky-actions {
    position: static;
    z-index: 8;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
    padding: 0.78rem;
    border-radius: 18px;
    border: 1px solid rgba(120, 145, 184, 0.16);
    background: linear-gradient(180deg, rgba(17, 28, 42, 0.98) 0%, rgba(10, 18, 30, 0.98) 100%);
    backdrop-filter: blur(18px);
    box-shadow: 0 12px 24px rgba(2, 8, 23, 0.22);
    margin-top: 0.68rem;
}

body.is-mobile-app-context .mm-mobile-sticky-actions .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-sticky-actions .mm-mobile-secondary-cta {
    min-height: 42px;
}

body.is-mobile-app-context .mm-mobile-sticky-actions [data-submit-button] {
    grid-column: 1 / -1;
}

body.is-mobile-app-context .mm-mobile-filter-sheet,
body.is-mobile-app-context .mm-mobile-action-sheet {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    border: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
}

body.is-mobile-app-context .mm-mobile-filter-sheet {
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
}

body.is-mobile-app-context .mm-mobile-filter-sheet .offcanvas-header {
    padding: calc(env(safe-area-inset-top, 0px) + 1rem) 1.1rem 0.9rem;
    border-bottom: 1px solid rgba(206, 216, 232, 0.68);
}

body.is-mobile-app-context .mm-mobile-filter-sheet .offcanvas-body,
body.is-mobile-app-context .mm-mobile-action-sheet .offcanvas-body {
    padding-bottom: calc(1.15rem + env(safe-area-inset-bottom));
}

body.is-mobile-app-context .mm-mobile-filter-sheet .offcanvas-body {
    padding: 1rem 1.1rem calc(1.4rem + env(safe-area-inset-bottom));
}

body.is-mobile-app-context .mm-mobile-filter-form {
    gap: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-filter-block {
    display: grid;
    gap: 0.72rem;
    padding: 0.88rem;
    border-radius: 20px;
    background: #f8fbff;
    border: 1px solid rgba(206, 216, 232, 0.74);
}

body.is-mobile-app-context .mm-mobile-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-filter-head strong {
    font-size: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-filter-head span {
    color: var(--mm-mobile-muted);
    font-size: 0.74rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-filter-form .form-control,
body.is-mobile-app-context .mm-mobile-filter-form .form-select {
    min-height: 48px;
    border-radius: 16px;
    border-color: rgba(190, 203, 228, 0.88);
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-check-list {
    display: grid;
    gap: 0.58rem;
}

body.is-mobile-app-context .mm-mobile-check-tile {
    min-height: 46px;
    margin: 0;
    padding: 0.72rem 0.78rem;
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 0.58rem;
    background: #ffffff;
    border: 1px solid rgba(190, 203, 228, 0.78);
}

body.is-mobile-app-context .mm-mobile-check-tile span {
    font-size: 0.82rem;
    font-weight: 700;
    color: #17315a;
}

body.is-mobile-app-context .mm-mobile-check-tile-link {
    text-decoration: none;
    justify-content: flex-start;
}

body.is-mobile-app-context .mm-mobile-check-tile-link i {
    color: var(--mm-mobile-accent);
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen {
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
}

body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen .offcanvas-header {
    padding: calc(env(safe-area-inset-top, 0px) + 1rem) 1.1rem 0.9rem;
    border-bottom: 1px solid rgba(206, 216, 232, 0.68);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen .offcanvas-body {
    padding: 1rem 1.1rem calc(var(--mm-mobile-bottom-height, 118px) + env(safe-area-inset-bottom) + 1.4rem);
}

body.is-mobile-app-context .mm-mobile-action-lead {
    display: grid;
    gap: 0.22rem;
    padding: 0.9rem;
    margin-bottom: 0.8rem;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid rgba(206, 216, 232, 0.74);
}

body.is-mobile-app-context .mm-mobile-action-lead span {
    color: var(--mm-mobile-muted);
    font-size: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.68rem;
}

body.is-mobile-app-context .mm-mobile-action-sections {
    display: grid;
    gap: 1rem;
}

body.is-mobile-app-context .mm-mobile-action-section {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-action-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-action-section-head strong {
    font-size: 0.94rem;
}

body.is-mobile-app-context .mm-mobile-action-section-head span {
    color: var(--mm-mobile-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-action-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-action-grid-contextual {
    grid-template-columns: 1fr;
}

body.is-mobile-app-context .mm-mobile-panel-close {
    min-height: 40px;
    padding: 0.55rem 0.78rem;
    border: 1px solid rgba(206, 216, 232, 0.82);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.46rem;
    background: #ffffff;
    color: #17315a;
    font-size: 0.78rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-panel-close i {
    font-size: 0.88rem;
}

body.is-mobile-app-context .mm-mobile-action-card {
    min-height: 82px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    align-content: center;
    column-gap: 0.72rem;
    row-gap: 0.06rem;
    padding: 0.82rem 0.84rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff, #f6faff);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(205, 215, 232, 0.74);
    text-decoration: none;
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-action-card.is-primary {
    background: linear-gradient(135deg, #0f63ff 0%, #265df6 100%);
    box-shadow: 0 18px 34px rgba(15, 99, 255, 0.24);
}

body.is-mobile-app-context .mm-mobile-action-card.is-primary i {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-action-card.is-primary strong,
body.is-mobile-app-context .mm-mobile-action-card.is-primary span {
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-action-card i {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e8f0ff;
    color: var(--mm-mobile-accent);
    font-size: 1.1rem;
    grid-row: 1 / span 2;
    margin-bottom: 0;
}

body.is-mobile-app-context .mm-mobile-action-card strong {
    font-size: 0.92rem;
    line-height: 1.15;
    align-self: end;
    color: inherit;
}

body.is-mobile-app-context .mm-mobile-action-card span {
    font-size: 0.78rem;
    line-height: 1.24;
    color: var(--mm-mobile-muted);
    align-self: start;
}

body.is-mobile-app-context .mm-mobile-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.86rem;
}

body.is-mobile-app-context .mm-mobile-gallery-tile {
    position: relative;
    min-width: 0;
    padding: 0.72rem;
    border-radius: 24px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    box-shadow: 0 16px 34px rgba(2, 8, 23, 0.16);
    display: grid;
    gap: 0.64rem;
}

body.is-mobile-app-context .mm-mobile-gallery-badge {
    position: absolute;
    top: 0.68rem;
    right: 0.68rem;
    z-index: 2;
    min-width: 32px;
    min-height: 32px;
    padding: 0.18rem 0.42rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(8, 17, 31, 0.82);
    color: #ffffff;
    font-size: 0.72rem;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.22);
}

body.is-mobile-app-context .mm-mobile-gallery-media-card,
body.is-mobile-app-context .mm-mobile-gallery-audio-card {
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(131, 154, 189, 0.14);
}

body.is-mobile-app-context .mm-mobile-gallery-media-card {
    min-height: 150px;
    display: block;
}

body.is-mobile-app-context .mm-mobile-gallery-media-card img,
body.is-mobile-app-context .mm-mobile-gallery-media-card video {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
}

body.is-mobile-app-context .mm-mobile-gallery-audio-card {
    padding: 0.9rem;
    display: grid;
    gap: 0.34rem;
}

body.is-mobile-app-context .mm-mobile-gallery-audio-card strong,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy strong,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy span,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-gallery-audio-card span,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy span,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy small {
    color: rgba(212, 225, 248, 0.72);
    font-size: 0.76rem;
    line-height: 1.35;
}

body.is-mobile-app-context .mm-mobile-gallery-audio-card strong,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy strong {
    color: #f8fbff;
}

body.is-mobile-app-context .mm-mobile-gallery-audio-card audio {
    width: 100%;
}

body.is-mobile-app-context .mm-mobile-gallery-tile-actions {
    display: grid;
    gap: 0.56rem;
}

body.is-mobile-app-context .mm-mobile-market-search-shell {
    display: grid;
    gap: 0.8rem;
    margin-top: 1rem;
}

body.is-mobile-app-context .mm-mobile-form-shell > .mm-mobile-form-shell-section + .mm-mobile-form-shell-section {
    margin-top: 0;
}

body.is-mobile-app-context .mm-mobile-selected-recipient,
body.is-mobile-app-context .mm-selected-recipient {
    padding: 0.82rem 0.9rem;
    border-radius: 16px;
    border: 1px solid rgba(205, 215, 232, 0.78);
    background: #f8fbff;
}

body.is-mobile-app-context .mm-selected-recipient strong {
    display: block;
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-selected-recipient span {
    display: block;
    margin-top: 0.18rem;
    color: var(--mm-mobile-muted);
    font-size: 0.84rem;
}

body.is-mobile-app-context .mm-mobile-market-search {
    min-height: 58px;
    padding: 0.78rem 0.9rem;
    border-radius: 18px;
    border: 1px solid rgba(205, 215, 232, 0.78);
    background: rgba(8, 17, 31, 0.04);
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    color: var(--mm-mobile-text);
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-market-search-icon {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-market-search-copy strong,
body.is-mobile-app-context .mm-mobile-market-search-copy span {
    display: block;
}

body.is-mobile-app-context .mm-mobile-market-search-copy span {
    margin-top: 0.1rem;
    color: var(--mm-mobile-muted);
    font-size: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-market-card-feed .mm-mobile-market-content {
    padding: 0.88rem;
    gap: 0.62rem;
}

body.is-mobile-app-context .mm-mobile-market-card-feed .mm-mobile-market-title-row strong {
    line-height: 1.2;
}

body.is-mobile-app-context .mm-mobile-market-actions-tight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

body.is-mobile-app-context .mm-mobile-market-action-dock {
    scroll-margin-top: 88px;
}

body.is-mobile-app-context .mm-mobile-list-card-thread {
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
}

body.is-mobile-app-context .mm-mobile-list-card-thread small {
    display: block;
    margin-top: 0.28rem;
    color: var(--mm-mobile-muted);
    font-size: 0.78rem;
    line-height: 1.42;
}

body.is-mobile-app-context .mm-mobile-list-card-compact,
body.is-mobile-app-context .mm-mobile-brand-list-card-compact {
    padding: 0.78rem;
    border-radius: 18px;
}

body.is-mobile-app-context .mm-mobile-list-card-compact i,
body.is-mobile-app-context .mm-mobile-list-card-media {
    width: 38px;
    height: 38px;
    border-radius: 12px;
}

body.is-mobile-app-context .mm-mobile-list-card-media {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e0eaff;
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-list-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
}

body.is-mobile-app-context .mm-mobile-accordion-compact summary {
    padding: 0.82rem 0.9rem;
}

body.is-mobile-app-context .mm-mobile-accordion-compact .mm-mobile-accordion-body {
    padding: 0 0.9rem 0.9rem;
}

body.is-mobile-app-context .mm-mobile-alpha-sections {
    display: grid;
    gap: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-alpha-section {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-alpha-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0 0.2rem;
}

body.is-mobile-app-context .mm-mobile-alpha-section-head strong {
    font-size: 1rem;
    font-weight: 900;
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-alpha-section-head small {
    color: var(--mm-mobile-muted);
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

body.is-mobile-app-context .mm-mobile-market-category strong,
body.is-mobile-app-context .mm-mobile-market-category span {
    display: block;
}

body.is-mobile-app-context .mm-mobile-market-category span {
    margin-top: 0.18rem;
    color: var(--mm-mobile-muted);
    font-size: 0.86rem;
}

body.is-mobile-app-context .mm-mobile-market-card-rich {
    padding: 0;
}

body.is-mobile-app-context .mm-mobile-market-card-compact {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    padding: 0;
}

body.is-mobile-app-context .mm-mobile-market-media {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 11;
    background: linear-gradient(180deg, #dbeafe, #eff6ff);
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-market-media.is-compact {
    height: 100%;
    min-height: 128px;
    aspect-ratio: auto;
}

body.is-mobile-app-context .mm-mobile-market-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.is-mobile-app-context .mm-mobile-market-media-fallback {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #e8f0ff, #f7fbff);
    color: #94a3b8;
    font-size: 1.55rem;
}

body.is-mobile-app-context .mm-mobile-market-topline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-market-meta-grid,
body.is-mobile-app-context .mm-mobile-community-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

body.is-mobile-app-context .mm-mobile-market-meta-grid span,
body.is-mobile-app-context .mm-mobile-community-facts span {
    min-width: 0;
    padding: 0.68rem 0.78rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    background: #f4f8ff;
    color: #355074;
    font-size: 0.82rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-market-meta-grid i,
body.is-mobile-app-context .mm-mobile-community-facts i {
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-market-badge {
    min-height: 30px;
    max-width: 100%;
    padding: 0.36rem 0.7rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    background: #e8f0ff;
    color: #14315b;
    font-size: 0.73rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-market-badge.is-muted {
    background: #f1f5f9;
    color: #475569;
}

body.is-mobile-app-context .mm-mobile-market-badge.is-highlight {
    background: rgba(15, 99, 255, 0.12);
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-market-title-row {
    display: grid;
    gap: 0.38rem;
}

body.is-mobile-app-context .mm-mobile-market-title-row strong {
    color: var(--mm-mobile-text);
    font-size: 1.06rem;
    font-weight: 900;
    line-height: 1.24;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-market-price {
    font-style: normal;
    font-size: 1.3rem;
    font-weight: 900;
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-market-gallery {
    display: grid;
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-market-thumb-row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 76px;
    gap: 0.62rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

body.is-mobile-app-context .mm-mobile-market-thumb {
    padding: 0;
    border: 1px solid transparent;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
}

body.is-mobile-app-context .mm-mobile-market-thumb img {
    width: 100%;
    height: 76px;
    object-fit: cover;
}

body.is-mobile-app-context .mm-mobile-market-thumb.is-active {
    border-color: rgba(15, 99, 255, 0.5);
    box-shadow: 0 12px 26px rgba(15, 99, 255, 0.16);
}

body.is-mobile-app-context .mm-mobile-market-action-dock {
    position: static;
    z-index: 7;
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    border: 1px solid rgba(131, 154, 189, 0.14);
    backdrop-filter: blur(18px);
}

body.is-mobile-app-context .mm-mobile-message-composer,
body.is-mobile-app-context .mm-mobile-forum-composer {
    position: static;
    z-index: 7;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(18px);
    margin-top: 0.85rem;
}

body.is-mobile-app-context .mm-mobile-message-thread-screen,
body.is-mobile-app-context .mm-mobile-thread-screen,
body.is-mobile-app-context .mm-mobile-message-compose-screen,
body.is-mobile-app-context .mm-mobile-notify-screen {
    padding-bottom: 1rem;
}

body.is-mobile-app-context .mm-mobile-keyboard-open .app-mobile-bottom-stack {
    transform: translateY(calc(100% + 2rem));
    opacity: 0;
    pointer-events: none;
}

body.is-mobile-app-context .mm-mobile-safety-card {
    display: grid;
    gap: 0.3rem;
    border-radius: 22px;
    border: 1px solid rgba(205, 215, 232, 0.74);
    background: linear-gradient(180deg, #f8fbff, #ffffff);
}

body.is-mobile-app-context .mm-mobile-profile-avatar span {
    display: inline-flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

body.is-mobile-app-context .app-mobile-context-fab {
    position: fixed;
    right: 14px;
    bottom: calc(94px + env(safe-area-inset-bottom));
    z-index: 1045;
    max-width: calc(100vw - 28px);
    min-height: 58px;
    padding: 0.9rem 1rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    background: linear-gradient(135deg, var(--mm-mobile-accent), #265df6);
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 22px 42px rgba(15, 99, 255, 0.28);
}

body.is-mobile-app-context .app-mobile-context-fab span {
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

body.is-mobile-app-context .app-mobile-bottom-nav {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.36rem;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
}

body.is-mobile-app-context .app-mobile-bottom-shell {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(env(safe-area-inset-bottom) + 10px);
    height: 0;
    z-index: 1043;
    overflow: visible;
    pointer-events: none;
}

body.is-mobile-app-context .app-mobile-bottom-stack {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    gap: 0.4rem;
    padding: 0.46rem;
    border-radius: 28px;
    background: rgba(8, 17, 31, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 42px rgba(15, 23, 42, 0.34);
    backdrop-filter: blur(18px);
    pointer-events: auto;
    transition: transform 0.22s ease, opacity 0.22s ease;
}

body.is-mobile-app-context .app-mobile-bottom-stack.has-context {
    gap: 0.52rem;
}

body.is-mobile-app-context .app-mobile-context-nav {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
    gap: 0.5rem;
    padding: 0 0 0.12rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.is-mobile-app-context .app-mobile-context-link {
    min-width: 0;
    min-height: 74px;
    padding: 0.68rem 0.54rem;
    border: 1px solid rgba(96, 165, 250, 0.12);
    border-radius: 18px;
    display: grid;
    justify-items: start;
    align-content: center;
    gap: 0.18rem;
    background: rgba(37, 99, 235, 0.12);
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 0.66rem;
    line-height: 1.12;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    text-align: left;
}

body.is-mobile-app-context .app-mobile-context-link.is-primary {
    background: linear-gradient(135deg, var(--mm-mobile-accent), #265df6);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(15, 99, 255, 0.22);
}

body.is-mobile-app-context .app-mobile-context-link i {
    font-size: 1.02rem;
}

body.is-mobile-app-context .app-mobile-context-link span,
body.is-mobile-app-context .app-mobile-context-link small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .app-mobile-context-link span {
    font-size: 0.74rem;
    font-weight: 900;
}

body.is-mobile-app-context .app-mobile-context-link small {
    color: rgba(226, 232, 240, 0.78);
    font-size: 0.62rem;
    line-height: 1.24;
}

body.is-mobile-app-context .app-mobile-context-link.is-primary small {
    color: rgba(255, 255, 255, 0.84);
}

body.is-mobile-app-context .app-mobile-bottom-link {
    min-height: 58px;
    gap: 0.28rem;
    padding: 0.5rem 0.22rem;
    border-radius: 16px;
}

body.is-mobile-app-context .app-mobile-bottom-link span {
    font-size: 0.64rem;
    font-weight: 800;
}

body.is-mobile-app-context .is-hidden-by-search {
    display: none !important;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-card {
    display: grid;
    gap: 1rem;
    padding: 1.08rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(245, 158, 11, 0.16), transparent 28%),
        radial-gradient(circle at left center, rgba(14, 165, 233, 0.14), transparent 30%),
        linear-gradient(180deg, #07111f 0%, #10233f 100%);
    color: #f8fbff;
    box-shadow: 0 24px 44px rgba(15, 23, 42, 0.2);
}

body.is-mobile-app-context .mm-mobile-forum-appbar-card.is-detail {
    border-radius: 26px;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-copy {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-copy h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.7rem, 7vw, 2.3rem);
    line-height: 0.96;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-copy p {
    margin: 0;
    color: rgba(226, 232, 240, 0.88);
    font-size: 0.92rem;
    line-height: 1.45;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-meta,
body.is-mobile-app-context .mm-mobile-forum-header-stats,
body.is-mobile-app-context .mm-mobile-forum-inline-actions,
body.is-mobile-app-context .mm-mobile-topic-card-top,
body.is-mobile-app-context .mm-mobile-topic-card-actions,
body.is-mobile-app-context .mm-mobile-audio-recorder-status,
body.is-mobile-app-context .mm-mobile-forum-reply-bar {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-meta {
    justify-content: space-between;
}

body.is-mobile-app-context .mm-mobile-forum-header-stats {
    gap: 0.55rem;
}

body.is-mobile-app-context .mm-mobile-forum-header-stats span {
    min-width: 0;
    padding: 0.58rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(248, 250, 252, 0.92);
    font-size: 0.78rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-forum-header-stats strong {
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-forum-icon-btn {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    text-decoration: none;
    flex: 0 0 auto;
}

body.is-mobile-app-context .mm-mobile-user-chip {
    min-width: 0;
    padding: 0.4rem 0.46rem;
    border-radius: 18px;
    display: inline-grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.62rem;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    text-decoration: none;
    flex: 1 1 160px;
}

body.is-mobile-app-context .mm-mobile-user-chip-avatar,
body.is-mobile-app-context .mm-mobile-topic-card-avatar {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dbeafe;
    color: #17315a;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-user-chip-avatar img,
body.is-mobile-app-context .mm-mobile-topic-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.is-mobile-app-context .mm-mobile-user-chip strong,
body.is-mobile-app-context .mm-mobile-user-chip small {
    display: block;
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-user-chip small {
    color: rgba(226, 232, 240, 0.84);
    font-size: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-forum-search-shell,
body.is-mobile-app-context .mm-mobile-forum-section {
    margin-top: 0.95rem;
}

body.is-mobile-app-context .mm-mobile-inline-auth-note {
    margin-top: 0.82rem;
    padding: 0.92rem 1rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #f8fbff, #ffffff);
    border: 1px solid rgba(205, 215, 232, 0.84);
    display: grid;
    gap: 0.28rem;
    color: #17315a;
}

body.is-mobile-app-context .mm-mobile-inline-auth-note strong {
    font-size: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-inline-auth-note span {
    color: #5f7697;
    font-size: 0.78rem;
    line-height: 1.45;
}

body.is-mobile-app-context .mm-mobile-guide-grid {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-guide-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-guide-card {
    min-width: 0;
    padding: 0.92rem;
    border-radius: 20px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0.72rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.is-mobile-app-context .mm-mobile-guide-card.is-soft {
    background: linear-gradient(180deg, #f8fbff, #ffffff);
    border: 1px solid rgba(205, 215, 232, 0.78);
}

body.is-mobile-app-context .mm-mobile-guide-card strong,
body.is-mobile-app-context .mm-mobile-guide-card span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-guide-card strong {
    font-size: 0.94rem;
}

body.is-mobile-app-context .mm-mobile-guide-card span:not(.mm-mobile-guide-step) {
    margin-top: 0.2rem;
    color: rgba(226, 232, 240, 0.84);
    font-size: 0.78rem;
    line-height: 1.42;
}

body.is-mobile-app-context .mm-mobile-guide-card.is-soft span:not(.mm-mobile-guide-step) {
    color: #5f7697;
}

body.is-mobile-app-context .mm-mobile-guide-step {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-guide-card.is-soft .mm-mobile-guide-step {
    background: #e8f0ff;
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-guide-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
    margin-top: 0.85rem;
}

body.is-mobile-app-context .mm-mobile-guide-actions > * {
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-capture-card,
body.is-mobile-app-context .mm-mobile-audio-note-card {
    margin-top: 0.78rem;
    padding: 0.92rem;
    border-radius: 20px;
    border: 1px solid rgba(205, 215, 232, 0.78);
    background: linear-gradient(180deg, #f8fbff, #ffffff);
}

body.is-mobile-app-context .mm-mobile-capture-card-head,
body.is-mobile-app-context .mm-mobile-audio-note-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.72rem;
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-capture-card-head strong,
body.is-mobile-app-context .mm-mobile-audio-note-head strong {
    display: block;
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-capture-card-head span,
body.is-mobile-app-context .mm-mobile-audio-note-head span {
    display: block;
    margin-top: 0.16rem;
    color: var(--mm-mobile-muted);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-media-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 108px;
    gap: 0.7rem;
    overflow-x: auto;
    padding: 0.1rem 0 0.15rem;
}

body.is-mobile-app-context .mm-mobile-media-thumb {
    border-radius: 18px;
    overflow: hidden;
    display: block;
    background: #e8f0ff;
    border: 1px solid rgba(205, 215, 232, 0.78);
}

body.is-mobile-app-context .mm-mobile-media-thumb img {
    width: 100%;
    height: 108px;
    object-fit: cover;
    display: block;
}

body.is-mobile-app-context .mm-mobile-audio-note-card audio {
    width: 100%;
    margin-top: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-forum-search {
    min-height: 58px;
    padding: 0.78rem 0.92rem;
    border-radius: 22px;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    background: #ffffff;
    border: 1px solid rgba(205, 215, 232, 0.84);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

body.is-mobile-app-context .mm-mobile-forum-search input {
    min-width: 0;
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #17315a;
    font-size: 0.88rem;
    font-weight: 700;
    text-overflow: ellipsis;
}

body.is-mobile-app-context .mm-mobile-forum-search input::placeholder {
    color: #6b85a7;
    font-weight: 600;
}

body.is-mobile-app-context .mm-mobile-forum-quick-actions,
body.is-mobile-app-context .mm-mobile-forum-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-forum-live-grid {
    display: grid;
    gap: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-forum-live-panel {
    min-width: 0;
    padding: 0.9rem;
    border-radius: 24px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    box-shadow: 0 16px 34px rgba(2, 8, 23, 0.16);
}

body.is-mobile-app-context .mm-mobile-forum-live-head,
body.is-mobile-app-context .mm-mobile-forum-live-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    flex-wrap: wrap;
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-forum-live-list {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-forum-live-item {
    min-width: 0;
    padding: 0.86rem 0.9rem;
    border-radius: 20px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: rgba(255, 255, 255, 0.04);
    display: grid;
    gap: 0.24rem;
    color: #e7efff;
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-forum-live-item.is-unread {
    border-color: rgba(46, 144, 250, 0.28);
    background: linear-gradient(180deg, rgba(23, 99, 189, 0.18), rgba(255, 255, 255, 0.04));
}

body.is-mobile-app-context .mm-mobile-forum-live-item.is-empty {
    background: rgba(255, 255, 255, 0.03);
}

body.is-mobile-app-context .mm-mobile-forum-live-item strong,
body.is-mobile-app-context .mm-mobile-forum-live-item span,
body.is-mobile-app-context .mm-mobile-forum-live-item small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-live-item span,
body.is-mobile-app-context .mm-mobile-forum-live-item small {
    color: rgba(212, 225, 248, 0.72);
}

body.is-mobile-app-context .mm-mobile-market-live-grid {
    display: flex;
    gap: 0.55rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
}

body.is-mobile-app-context .mm-mobile-filter-chip.is-action {
    border: 0;
    cursor: pointer;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-filter-chip.is-action.is-active {
    background: #17315a;
    color: #ffffff;
}

body.is-mobile-app-context .app-mobile-comparison-live-panel {
    margin-top: 1rem;
}

body.is-mobile-app-context .mm-mobile-forum-quick-card,
body.is-mobile-app-context .mm-mobile-forum-category-card,
body.is-mobile-app-context .mm-mobile-forum-category-panel,
body.is-mobile-app-context .mm-mobile-forum-section-card,
body.is-mobile-app-context .mm-mobile-topic-card {
    min-width: 0;
    border-radius: 24px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    box-shadow: 0 16px 34px rgba(2, 8, 23, 0.16);
}

body.is-mobile-app-context .mm-mobile-forum-quick-card {
    padding: 0.96rem;
    display: grid;
    gap: 0.24rem;
    color: #e7efff;
    text-decoration: none;
    text-align: left;
}

body.is-mobile-app-context .mm-mobile-forum-quick-card.is-primary {
    background: linear-gradient(135deg, rgba(22, 101, 52, 0.28), rgba(12, 74, 110, 0.92));
    border-color: rgba(45, 212, 191, 0.2);
}

body.is-mobile-app-context .mm-mobile-forum-quick-card i,
body.is-mobile-app-context .mm-mobile-forum-media-btn i,
body.is-mobile-app-context .mm-mobile-topic-icon-action i {
    font-size: 1.12rem;
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-forum-quick-card strong,
body.is-mobile-app-context .mm-mobile-forum-quick-card span,
body.is-mobile-app-context .mm-mobile-forum-category-card strong,
body.is-mobile-app-context .mm-mobile-forum-category-card p,
body.is-mobile-app-context .mm-mobile-forum-category-card span,
body.is-mobile-app-context .mm-mobile-topic-card h2,
body.is-mobile-app-context .mm-mobile-topic-card p {
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-quick-card strong {
    font-size: 0.95rem;
}

body.is-mobile-app-context .mm-mobile-forum-quick-card span,
body.is-mobile-app-context .mm-mobile-forum-category-card p,
body.is-mobile-app-context .mm-mobile-forum-section-card p,
body.is-mobile-app-context .mm-mobile-topic-card p,
body.is-mobile-app-context .mm-mobile-attachment-empty {
    color: rgba(212, 225, 248, 0.72);
    font-size: 0.79rem;
    line-height: 1.38;
}

body.is-mobile-app-context .mm-mobile-forum-category-card {
    padding: 1rem;
    display: grid;
    gap: 0.52rem;
    color: #17315a;
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-forum-category-card.is-active {
    background: linear-gradient(180deg, #f8fbff, #ffffff);
    border-color: rgba(37, 99, 235, 0.26);
}

body.is-mobile-app-context .mm-mobile-forum-category-icon,
body.is-mobile-app-context .mm-mobile-forum-section-card-icon,
body.is-mobile-app-context .mm-mobile-forum-media-btn,
body.is-mobile-app-context .mm-mobile-topic-icon-action {
    flex: 0 0 auto;
}

body.is-mobile-app-context .mm-mobile-forum-category-icon,
body.is-mobile-app-context .mm-mobile-forum-section-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    color: #8fd8ff;
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-forum-category-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
}

body.is-mobile-app-context .mm-mobile-forum-category-meta,
body.is-mobile-app-context .mm-mobile-topic-inline-meta,
body.is-mobile-app-context .mm-mobile-topic-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.46rem;
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-forum-category-meta span,
body.is-mobile-app-context .mm-mobile-topic-inline-meta span,
body.is-mobile-app-context .mm-mobile-topic-tags span {
    min-width: 0;
    max-width: 100%;
    padding: 0.36rem 0.62rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(218, 232, 255, 0.78);
    font-size: 0.7rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-section-list,
body.is-mobile-app-context .mm-mobile-topic-feed,
body.is-mobile-app-context .mm-mobile-thread-replies,
body.is-mobile-app-context .mm-mobile-attachment-grid,
body.is-mobile-app-context .mm-mobile-attachment-preview-stack,
body.is-mobile-app-context .mm-mobile-forum-media-actions {
    display: grid;
    gap: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-forum-compose-groups {
    display: grid;
    gap: 0.78rem;
    margin-top: 0.88rem;
}

body.is-mobile-app-context .mm-mobile-forum-compose-sheet .offcanvas-body {
    padding-bottom: calc(var(--mm-mobile-bottom-height, 118px) + env(safe-area-inset-bottom) + 1rem);
}

body.is-mobile-app-context .mm-mobile-forum-macro-accordion {
    border-radius: 24px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    box-shadow: 0 16px 34px rgba(2, 8, 23, 0.16);
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-forum-macro-accordion > summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.72rem;
    padding: 0.9rem;
    cursor: pointer;
}

body.is-mobile-app-context .mm-mobile-forum-macro-accordion > summary::-webkit-details-marker {
    display: none;
}

body.is-mobile-app-context .mm-mobile-forum-macro-summary {
    min-width: 0;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.72rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-forum-macro-summary strong,
body.is-mobile-app-context .mm-mobile-forum-macro-summary small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-macro-summary strong {
    color: #f8fbff;
    font-size: 0.98rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-forum-macro-summary small {
    color: rgba(212, 225, 248, 0.72);
    font-size: 0.76rem;
    margin-top: 0.14rem;
}

body.is-mobile-app-context .mm-mobile-forum-macro-accordion > .mm-mobile-accordion-body {
    padding: 0 0.9rem 0.9rem;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-list {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-item {
    display: grid;
    gap: 0.14rem;
    padding: 0.72rem 0.8rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: #e7efff;
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-item strong,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-item small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-item small {
    color: rgba(212, 225, 248, 0.68);
    font-size: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty {
    display: grid;
    gap: 0.16rem;
    margin-top: 0.72rem;
    padding: 0.78rem 0.82rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px dashed rgba(212, 225, 248, 0.18);
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty strong,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty strong {
    color: #f8fbff;
    font-size: 0.82rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty small {
    color: rgba(212, 225, 248, 0.68);
    font-size: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-forum-compose-group {
    padding: 0.88rem;
    border-radius: 24px;
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(18, 30, 44, 0.98) 0%, rgba(10, 18, 30, 0.98) 100%);
    display: grid;
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-forum-compose-group-head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.72rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-forum-compose-group-head strong,
body.is-mobile-app-context .mm-mobile-forum-compose-group-head small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-compose-group-head strong {
    color: #f8fbff;
    font-size: 0.98rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-forum-compose-group-head small {
    color: rgba(212, 225, 248, 0.72);
    font-size: 0.75rem;
    margin-top: 0.12rem;
}

body.is-mobile-app-context .mm-mobile-forum-compose-section-list {
    display: grid;
    gap: 0.68rem;
}

body.is-mobile-app-context .mm-mobile-forum-compose-section-card {
    width: 100%;
    padding: 0.82rem 0.9rem;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.72rem;
    align-items: center;
    color: #e7efff;
    text-decoration: none;
    text-align: left;
}

body.is-mobile-app-context .mm-mobile-forum-compose-section-card strong,
body.is-mobile-app-context .mm-mobile-forum-compose-section-card span,
body.is-mobile-app-context .mm-mobile-forum-compose-section-card small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-forum-compose-section-card strong {
    color: #f8fbff;
    font-size: 0.9rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-forum-compose-section-card span {
    margin-top: 0.16rem;
    color: rgba(212, 225, 248, 0.72);
    font-size: 0.74rem;
}

body.is-mobile-app-context .mm-mobile-forum-compose-section-card small {
    color: #a9dcff;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-forum-category-panel {
    padding: 0.7rem;
    display: grid;
    gap: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-forum-section-card {
    padding: 0.82rem;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.72rem;
    align-items: start;
    color: #e7efff;
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-forum-section-card strong,
body.is-mobile-app-context .mm-mobile-topic-card h2 {
    margin: 0;
    color: #f8fbff;
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1.22;
}

body.is-mobile-app-context .mm-mobile-forum-section-card p,
body.is-mobile-app-context .mm-mobile-topic-card p {
    margin: 0.22rem 0 0;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-active {
    border-color: rgba(46, 144, 250, 0.3);
    background: linear-gradient(180deg, rgba(23, 99, 189, 0.18), rgba(255, 255, 255, 0.04));
}

body.is-mobile-app-context .mm-mobile-topic-card {
    padding: 0.9rem;
    display: grid;
    gap: 0.75rem;
}

body.is-mobile-app-context .mm-mobile-topic-card.is-compact {
    border-radius: 22px;
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-topic-card-author {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.66rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-topic-card-author-copy {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}

body.is-mobile-app-context .mm-mobile-topic-card-author-copy strong,
body.is-mobile-app-context .mm-mobile-topic-card-author-copy small {
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-topic-card-author-copy small {
    color: rgba(212, 225, 248, 0.72);
    font-size: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-topic-card-body {
    color: inherit;
    text-decoration: none;
    display: grid;
    gap: 0.62rem;
}

body.is-mobile-app-context .mm-mobile-topic-card-actions {
    justify-content: space-between;
}

body.is-mobile-app-context .mm-mobile-topic-card-actions > *,
body.is-mobile-app-context .mm-mobile-forum-inline-actions > * {
    flex: 1 1 0;
    min-width: 0;
}

body.is-mobile-app-context .mm-mobile-topic-icon-action {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(205, 215, 232, 0.8);
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
}

body.is-mobile-app-context .mm-mobile-forum-fab {
    position: fixed;
    right: 16px;
    bottom: calc(var(--mm-mobile-bottom-height, 118px) + env(safe-area-inset-bottom) + 14px);
    z-index: 1046;
    max-width: calc(100vw - 32px);
    min-height: 58px;
    padding: 0.92rem 1rem;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.62rem;
    background: linear-gradient(135deg, #f97316, #ea580c);
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 24px 40px rgba(234, 88, 12, 0.28);
}

body.is-mobile-app-context .mm-mobile-forum-fab span {
    font-size: 0.82rem;
    font-weight: 900;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-thread-card-rich {
    display: grid;
    gap: 0.86rem;
    padding: 1rem;
}

body.is-mobile-app-context .mm-mobile-attachment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-attachment-card,
body.is-mobile-app-context .forum-attachment-card,
body.is-mobile-app-context .mm-mobile-attachment-preview-card {
    min-width: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #f8fbff;
    border: 1px solid rgba(205, 215, 232, 0.78);
}

body.is-mobile-app-context .mm-mobile-attachment-card.is-image,
body.is-mobile-app-context .forum-attachment-card.is-image {
    text-decoration: none;
    color: inherit;
    display: grid;
}

body.is-mobile-app-context .mm-mobile-attachment-card img,
body.is-mobile-app-context .forum-attachment-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

body.is-mobile-app-context .mm-mobile-attachment-card video,
body.is-mobile-app-context .forum-attachment-card video,
body.is-mobile-app-context .mm-mobile-attachment-card audio,
body.is-mobile-app-context .forum-attachment-card audio {
    width: 100%;
    max-width: 100%;
    display: block;
}

body.is-mobile-app-context .mm-mobile-attachment-card.is-audio,
body.is-mobile-app-context .mm-mobile-attachment-card.is-video,
body.is-mobile-app-context .forum-attachment-card.is-audio,
body.is-mobile-app-context .forum-attachment-card.is-video {
    grid-column: 1 / -1;
}

body.is-mobile-app-context .mm-mobile-attachment-card-head,
body.is-mobile-app-context .forum-attachment-card-head {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.72rem 0.8rem 0;
}

body.is-mobile-app-context .mm-mobile-attachment-card-head strong,
body.is-mobile-app-context .forum-attachment-card-head strong {
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-attachment-card-head span,
body.is-mobile-app-context .forum-attachment-card-head span,
body.is-mobile-app-context .mm-mobile-attachment-card p,
body.is-mobile-app-context .forum-attachment-card p {
    color: #6b85a7;
    font-size: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-attachment-card p,
body.is-mobile-app-context .forum-attachment-card p {
    margin: 0;
    padding: 0.72rem 0.8rem 0.82rem;
}

body.is-mobile-app-context .mm-mobile-attachment-preview-card {
    padding: 0.72rem;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-attachment-preview-card.is-file {
    grid-template-columns: 42px minmax(0, 1fr);
}

body.is-mobile-app-context .mm-mobile-attachment-preview-card img {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    object-fit: cover;
}

body.is-mobile-app-context .mm-mobile-attachment-preview-card i {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e8f0ff;
    color: var(--mm-mobile-accent);
    font-size: 1.08rem;
}

body.is-mobile-app-context .mm-mobile-attachment-preview-card strong,
body.is-mobile-app-context .mm-mobile-attachment-preview-card span {
    display: block;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-attachment-preview-card span,
body.is-mobile-app-context .mm-mobile-attachment-empty {
    font-size: 0.76rem;
}

body.is-mobile-app-context .mm-mobile-forum-media-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-forum-media-btn {
    min-height: 52px;
    padding: 0.82rem;
    border: 1px solid rgba(205, 215, 232, 0.82);
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.56rem;
    background: #ffffff;
    color: #17315a;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-audio-recorder-status span {
    color: #5f7697;
    font-size: 0.78rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-forum-model-picker {
    position: relative;
}

body.is-mobile-app-context .mm-mobile-forum-reply-bar {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 1046;
    padding: 0.62rem;
    border-radius: 24px;
    background: rgba(8, 17, 31, 0.92);
    box-shadow: 0 24px 44px rgba(15, 23, 42, 0.34);
}

body.is-mobile-app-context.app-mobile-sheet-open .mm-mobile-forum-reply-bar {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 18px));
}

body.is-mobile-app-context.app-mobile-sheet-open .mm-mobile-forum-fab,
body.is-mobile-app-context.app-mobile-sheet-open .app-mobile-context-fab {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 18px));
}

body.is-mobile-app-context .mm-mobile-reply-pill {
    flex: 1 1 0;
    min-width: 0;
    min-height: 50px;
    padding: 0.8rem 0.94rem;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.58rem;
    background: linear-gradient(135deg, var(--mm-mobile-accent), #265df6);
    color: #ffffff;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-reply-pill span {
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-reply-icon {
    width: 50px;
    height: 50px;
    border: 0;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-empty-state.compact {
    padding: 0.88rem;
    border-radius: 18px;
}

body.is-mobile-app-context .privacy-consent-overlay {
    align-items: flex-end;
    justify-content: center;
    padding: 0 10px calc(max(env(safe-area-inset-bottom, 0px), 10px) + 6px);
    pointer-events: none;
}

body.is-mobile-app-context .privacy-consent-backdrop {
    display: none;
}

body.is-mobile-app-context .privacy-consent-modal {
    width: min(100%, 460px);
    max-width: 100%;
    max-height: min(16dvh, 124px);
    margin: 0;
    border-radius: 20px;
    pointer-events: auto;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.18) !important;
    overflow: hidden;
}

body.is-mobile-app-context .privacy-consent-modal .card-body {
    padding: 0.58rem 0.68rem calc(0.62rem + env(safe-area-inset-bottom)) !important;
    overflow: hidden;
}

body.is-mobile-app-context .privacy-consent-modal .section-kicker {
    display: inline-block;
    margin-bottom: 0.14rem;
}

body.is-mobile-app-context .privacy-consent-mobile-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.72rem;
    align-items: center;
}

body.is-mobile-app-context .privacy-consent-mobile-copy {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

body.is-mobile-app-context .privacy-consent-modal h2 {
    margin-bottom: 0 !important;
    font-size: 0.88rem;
    line-height: 1.16;
}

body.is-mobile-app-context .privacy-consent-modal p,
body.is-mobile-app-context .privacy-consent-modal .small {
    font-size: 0.67rem;
    line-height: 1.28;
}

body.is-mobile-app-context .privacy-consent-modal p {
    margin-bottom: 0;
}

body.is-mobile-app-context .privacy-consent-modal .small {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.is-mobile-app-context .privacy-consent-modal .d-flex.align-items-start.justify-content-between.gap-3 {
    display: grid !important;
    gap: 0.42rem !important;
    margin-bottom: 0.52rem !important;
}

body.is-mobile-app-context .privacy-consent-modal .d-flex.flex-column.flex-md-row.justify-content-between.align-items-md-center.gap-3 {
    gap: 0.55rem !important;
    margin-top: 0.58rem !important;
}

body.is-mobile-app-context .privacy-consent-modal .privacy-consent-actions {
    display: flex !important;
    gap: 0.46rem !important;
    align-items: center;
    justify-content: flex-end;
}

body.is-mobile-app-context .privacy-consent-actions-mobile {
    margin-top: 0 !important;
}

body.is-mobile-app-context .privacy-consent-modal .privacy-consent-action-link {
    background: rgba(37, 99, 235, 0.12);
    border-color: rgba(37, 99, 235, 0.2);
    color: #2456cf;
}

body.is-mobile-app-context .privacy-consent-inline-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    width: auto;
    margin-top: 0;
    font-size: 0.74rem;
    font-weight: 800;
    text-decoration: none;
    color: #9fdfff;
}

body.is-mobile-app-context .privacy-consent-modal .btn {
    min-width: 0;
    width: auto;
    min-height: 38px;
    padding: 0.42rem 0.88rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
}

body.is-mobile-app-context .app-flash-overlay {
    inset: auto 0 0 0;
    z-index: 3200;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 10px calc(var(--mm-mobile-bottom-height, 118px) + env(safe-area-inset-bottom, 0px) + 8px);
    pointer-events: none;
}

body.is-mobile-app-context .app-flash-backdrop {
    display: none;
}

body.is-mobile-app-context .app-flash-modal {
    width: min(100%, 460px);
    max-height: min(28dvh, 240px);
    padding: 0.72rem;
    border-radius: 24px;
    pointer-events: auto;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

body.is-mobile-app-context .app-flash-modal-header {
    margin-bottom: 0.55rem;
}

body.is-mobile-app-context .app-flash-modal-title {
    font-size: 1.02rem;
}

body.is-mobile-app-context .app-flash-stack {
    gap: 0.6rem;
}

body.is-mobile-app-context .app-flash-card {
    min-height: 0;
    padding: 0.78rem;
    border-radius: 20px;
}

body.is-mobile-app-context .app-flash-card-body {
    min-width: 0;
}

body.is-mobile-app-context .app-flash-card-label {
    font-size: 0.72rem;
}

body.is-mobile-app-context .app-flash-card-message {
    font-size: 0.88rem;
    line-height: 1.34;
}

body.is-mobile-app-context .app-flash-close {
    min-height: 40px;
    border-radius: 14px;
}

body.is-mobile-app-context .app-quick-register-overlay {
    align-items: flex-end;
    justify-content: center;
    padding: 0 10px calc(env(safe-area-inset-bottom, 0px) + 10px);
}

body.is-mobile-app-context .app-quick-register-backdrop {
    background: rgba(7, 13, 25, 0.18);
    backdrop-filter: blur(2px);
}

body.is-mobile-app-context .app-quick-register-modal {
    width: min(100%, 460px);
    max-width: 100%;
    max-height: min(78dvh, 720px);
    padding: 0.95rem 0.95rem calc(0.95rem + env(safe-area-inset-bottom));
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24);
    overflow-y: auto;
}

body.is-mobile-app-context .app-quick-register-head {
    margin-bottom: 0.8rem;
}

body.is-mobile-app-context .app-quick-register-head h2 {
    font-size: clamp(1.2rem, 5vw, 1.55rem);
    line-height: 1.06;
}

body.is-mobile-app-context .app-quick-register-head p {
    font-size: 0.88rem;
    line-height: 1.42;
}

body.is-mobile-app-context .app-quick-register-grid {
    gap: 0.72rem;
}

body.is-mobile-app-context .app-quick-register-grid label {
    gap: 0.32rem;
}

body.is-mobile-app-context .app-quick-register-actions {
    grid-template-columns: 1fr;
}

body.is-mobile-app-context .forum-attachment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

body.is-mobile-app-context .forum-attachment-card {
    display: grid;
}

@media (max-width: 390px) {
    body.is-mobile-app-context .mm-mobile-forum-appbar-meta {
        justify-content: flex-start;
    }

    body.is-mobile-app-context .mm-mobile-user-chip {
        order: 3;
    }

    body.is-mobile-app-context .app-mobile-dashboard-topline {
        flex-direction: column;
        align-items: stretch;
    }

    body.is-mobile-app-context .app-mobile-hero-chip {
        align-self: flex-start;
    }

    body.is-mobile-app-context .app-mobile-primary-action,
    body.is-mobile-app-context .app-mobile-secondary-chip,
    body.is-mobile-app-context .mm-mobile-user-chip {
        width: 100%;
    }

    body.is-mobile-app-context .privacy-consent-modal {
        max-height: min(18dvh, 136px);
    }

    body.is-mobile-app-context .privacy-consent-modal .privacy-consent-actions {
        gap: 0.4rem !important;
    }

    body.is-mobile-app-context .privacy-consent-actions-mobile {
        gap: 0.4rem !important;
    }

    body.is-mobile-app-context .mm-mobile-forum-quick-actions,
    body.is-mobile-app-context .mm-mobile-forum-category-grid,
    body.is-mobile-app-context .mm-mobile-forum-media-actions,
    body.is-mobile-app-context .mm-mobile-attachment-grid,
    body.is-mobile-app-context .forum-attachment-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.is-mobile-app-context .mm-mobile-forum-fab {
        right: 12px;
        left: auto;
        min-height: 54px;
        padding: 0.88rem 0.95rem;
        justify-content: center;
    }

    body.is-mobile-app-context .mm-mobile-guide-grid-compact,
    body.is-mobile-app-context .mm-mobile-guide-actions {
        grid-template-columns: minmax(0, 1fr);
    }
}

body.is-mobile-app-context .app-mobile-bottom-link.is-active {
    background: rgba(59, 130, 246, 0.22);
}

body.is-mobile-app-context .app-mobile-bottom-nav-model {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-market-card-foot {
    flex-wrap: wrap;
}

body.is-mobile-app-context .mm-mobile-app-main {
    padding: 0.78rem 0 calc(11.2rem + env(safe-area-inset-bottom)) !important;
    overflow: visible;
}

body.is-mobile-app-context.is-model-detail-page .mm-mobile-app-main {
    padding-top: 0 !important;
}

body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-screen {
    margin-top: -0.78rem;
}

body.is-mobile-app-context .mm-mobile-screen {
    padding-bottom: 1rem;
}

body.is-mobile-app-context .mm-mobile-hero {
    padding: 0.96rem;
}

body.is-mobile-app-context .mm-mobile-hero.mm-mobile-hero-compact {
    padding-block: 0.88rem;
}

body.is-mobile-app-context .mm-mobile-hero h1 {
    font-size: clamp(1.58rem, 6.5vw, 2.08rem);
    line-height: 1.02;
}

body.is-mobile-app-context .mm-mobile-hero p {
    max-width: 34ch;
    margin-bottom: 0;
    font-size: 0.92rem;
    line-height: 1.42;
}

body.is-mobile-app-context .mm-mobile-filter-chip {
    min-height: 34px;
    padding: 0.56rem 0.74rem;
    font-size: 0.76rem;
    line-height: 1.1;
}

body.is-mobile-app-context .mm-mobile-stat-pills {
    gap: 0.56rem;
    margin-top: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-stat-pill {
    min-width: 0;
    min-height: auto;
    padding: 0.56rem 0.8rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
}

body.is-mobile-app-context .mm-mobile-stat-pill strong {
    display: inline;
    font-size: 0.96rem;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-stat-pill span {
    display: inline;
    margin-top: 0;
    font-size: 0.62rem;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-market-search-shell {
    margin-top: 0.75rem;
}

body.is-mobile-app-context .mm-mobile-market-search {
    min-height: 54px;
    padding: 0.72rem 0.82rem;
}

body.is-mobile-app-context .mm-mobile-market-search-copy span {
    font-size: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-market-card-feed .mm-mobile-market-content {
    padding: 0.8rem;
    gap: 0.52rem;
}

body.is-mobile-app-context .mm-mobile-list-card-compact,
body.is-mobile-app-context .mm-mobile-brand-list-card-compact {
    padding: 0.7rem;
}

body.is-mobile-app-context .mm-mobile-market-hero-app {
    background:
        radial-gradient(circle at 100% 0%, rgba(15, 99, 255, 0.12), transparent 22%),
        linear-gradient(180deg, #ffffff 0%, #fbfdff 54%, #f5f9ff 100%);
}

body.is-mobile-app-context .mm-mobile-market-search-app {
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

body.is-mobile-app-context .mm-mobile-market-home-select-wrap {
    min-height: 68px;
    padding: 0.74rem 0.96rem 0.68rem;
    border-radius: 22px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16px;
    align-items: end;
    gap: 0.46rem 0.72rem;
    background: #ffffff;
    border: 1px solid rgba(205, 215, 232, 0.82);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

body.is-mobile-app-context .mm-mobile-market-home-select-wrap > span {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    gap: 0.46rem;
    color: #587095;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.is-mobile-app-context .mm-mobile-market-home-select-wrap > span i,
body.is-mobile-app-context .mm-mobile-market-home-select-wrap > i {
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-market-home-select {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0;
    background: transparent;
    color: #17315a;
    font-size: 0.98rem;
    font-weight: 800;
    appearance: none;
    -webkit-appearance: none;
}

body.is-mobile-app-context .mm-mobile-market-search-sheet {
    min-height: 72px;
}

body.is-mobile-app-context .mm-mobile-market-search-panel {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
}

body.is-mobile-app-context .mm-mobile-hero.mm-mobile-market-search-panel {
    gap: 0.82rem;
    padding: 1rem;
}

body.is-mobile-app-context .mm-mobile-market-simple-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.8rem;
}

body.is-mobile-app-context .mm-mobile-market-simple-head h1 {
    margin: 0.12rem 0 0;
    font-size: 1.5rem;
    line-height: 1.02;
}

body.is-mobile-app-context .mm-mobile-market-count {
    color: var(--mm-mobile-muted);
    font-size: 0.8rem;
    font-weight: 800;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-market-search-form {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-market-quick-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.68rem;
}

body.is-mobile-app-context .mm-mobile-market-quick-select-wrap {
    min-height: 58px;
    padding: 0.56rem 0.82rem 0.5rem;
    border-radius: 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 14px;
    align-items: end;
    gap: 0.45rem 0.6rem;
    background: #f8fbff;
    border: 1px solid rgba(205, 215, 232, 0.82);
}

body.is-mobile-app-context .mm-mobile-market-quick-select-wrap span {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    color: #587095;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.is-mobile-app-context .mm-mobile-market-quick-select-wrap > i {
    color: #587095;
    font-size: 0.9rem;
}

body.is-mobile-app-context .mm-mobile-market-quick-select-wrap span i {
    color: var(--mm-mobile-accent);
    font-size: 0.84rem;
}

body.is-mobile-app-context .mm-mobile-market-quick-select {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0;
    background: transparent;
    color: #17315a;
    font-size: 0.9rem;
    font-weight: 800;
    appearance: none;
    -webkit-appearance: none;
}

body.is-mobile-app-context .mm-mobile-market-search-input {
    min-height: 58px;
    padding: 0.82rem 0.95rem;
    border-radius: 22px;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    background: #ffffff;
    border: 1px solid rgba(205, 215, 232, 0.88);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

body.is-mobile-app-context .mm-mobile-market-search-input i {
    color: var(--mm-mobile-accent);
    font-size: 1.05rem;
}

body.is-mobile-app-context .mm-mobile-market-search-input input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0;
    background: transparent;
    color: var(--mm-mobile-text);
    font-size: 1rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-market-search-input input::placeholder {
    color: #7b8aa4;
    font-weight: 600;
}

body.is-mobile-app-context .mm-mobile-market-advanced-trigger {
    min-height: 48px;
    padding: 0.76rem 0.92rem;
    border: 0;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    background: #eff5ff;
    color: #183761;
    text-align: left;
}

body.is-mobile-app-context .mm-mobile-market-advanced-trigger span {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    font-size: 0.92rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-market-advanced-trigger small {
    color: #587095;
    font-size: 0.74rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-market-active-modules {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.58rem;
}

body.is-mobile-app-context .mm-mobile-market-module {
    min-width: 0;
    min-height: 44px;
    padding: 0.68rem 0.72rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    background: #f8fbff;
    border: 1px solid rgba(205, 215, 232, 0.84);
    color: #17315a;
    font-size: 0.74rem;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-market-module i {
    flex: 0 0 auto;
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-market-sort-shell {
    display: grid;
    gap: 0.68rem;
    margin-bottom: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-market-sort-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
}

body.is-mobile-app-context .mm-mobile-market-sort-head strong {
    font-size: 0.94rem;
}

body.is-mobile-app-context .mm-mobile-market-sort-head span {
    color: var(--mm-mobile-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-market-sort-row {
    gap: 0.52rem;
}

body.is-mobile-app-context .mm-mobile-market-sort-form {
    display: block;
}

body.is-mobile-app-context .mm-mobile-market-sort-select-wrap {
    min-height: 50px;
    padding: 0 0.92rem;
    border-radius: 18px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 0.65rem;
    background: #f8fbff;
    border: 1px solid rgba(205, 215, 232, 0.82);
}

body.is-mobile-app-context .mm-mobile-market-sort-select-wrap > i {
    color: #587095;
    font-size: 0.92rem;
}

body.is-mobile-app-context .mm-mobile-market-sort-select {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #17315a;
    font-size: 0.88rem;
    font-weight: 800;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-market-pill-row {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 0.78rem;
}

body.is-mobile-app-context .mm-mobile-market-switch {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 0.32rem;
    padding: 0.28rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(205, 215, 232, 0.74);
}

body.is-mobile-app-context .mm-mobile-market-switch span {
    min-height: 38px;
    padding: 0.62rem 0.78rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #355074;
    font-size: 0.76rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-market-switch span.is-active {
    background: #ffffff;
    color: var(--mm-mobile-text);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

body.is-mobile-app-context .mm-mobile-market-rail-panel {
    padding-top: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-market-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    gap: 0.62rem;
    overflow-x: auto;
    padding-bottom: 0.12rem;
    scrollbar-width: none;
}

body.is-mobile-app-context .mm-mobile-market-rail::-webkit-scrollbar {
    display: none;
}

body.is-mobile-app-context .mm-mobile-market-rail-chip {
    min-height: 42px;
    padding: 0.7rem 0.92rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: #f5f8ff;
    border: 1px solid rgba(205, 215, 232, 0.8);
    color: #17315a;
    text-decoration: none;
    white-space: nowrap;
    font-size: 0.8rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-market-card-app {
    border-radius: 20px;
    border-color: rgba(221, 229, 242, 0.9);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.is-mobile-app-context .mm-mobile-market-card-app .mm-mobile-market-content {
    padding: 0.88rem;
    gap: 0.48rem;
}

body.is-mobile-app-context .mm-mobile-market-overlay-badge {
    position: absolute;
    left: 0.75rem;
    top: 0.75rem;
    min-height: 28px;
    padding: 0.32rem 0.68rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    background: rgba(8, 17, 31, 0.76);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

body.is-mobile-app-context .mm-mobile-market-media {
    position: relative;
}

body.is-mobile-app-context .mm-mobile-market-focus-card {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(221, 229, 242, 0.92);
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

body.is-mobile-app-context .mm-mobile-market-title-row {
    gap: 0.22rem;
}

body.is-mobile-app-context .mm-mobile-market-title-row strong {
    font-size: 0.98rem;
}

body.is-mobile-app-context .mm-mobile-market-price {
    order: -1;
    font-size: 1.14rem;
    line-height: 1.05;
    color: #111827;
}

body.is-mobile-app-context .mm-mobile-market-meta-inline {
    color: var(--mm-mobile-muted);
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-market-card-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.7rem;
    margin-top: 0.1rem;
}

body.is-mobile-app-context .mm-mobile-market-card-foot-actions {
    margin-top: 0.24rem;
}

body.is-mobile-app-context .mm-mobile-market-card-foot small {
    color: var(--mm-mobile-muted);
    font-size: 0.74rem;
}

body.is-mobile-app-context .mm-mobile-market-filter-row {
    margin-top: 0.2rem;
}

body.is-mobile-app-context .mm-mobile-market-meta-grid-app {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-market-meta-grid-app span {
    background: #f7faff;
    border: 1px solid rgba(205, 215, 232, 0.72);
}

body.is-mobile-app-context .mm-mobile-market-card-listing .mm-mobile-market-content {
    gap: 0.45rem;
}

body.is-mobile-app-context .mm-mobile-market-card-minimal .mm-mobile-market-media {
    aspect-ratio: 16 / 10;
}

body.is-mobile-app-context .mm-mobile-market-card-minimal .mm-mobile-market-meta {
    font-size: 0.86rem;
}

body.is-mobile-app-context .mm-mobile-market-icon-action {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(205, 215, 232, 0.78);
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f8fbff;
    color: #17315a;
    text-decoration: none;
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-market-icon-action i {
    font-size: 0.95rem;
}

@media (max-width: 389px) {
    body.is-mobile-app-context .mm-mobile-market-quick-grid,
    body.is-mobile-app-context .mm-mobile-market-active-modules {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-market-advanced-trigger {
        align-items: flex-start;
        flex-direction: column;
    }
}

body.is-mobile-app-context .mm-mobile-market-seller-panel {
    display: grid;
    gap: 0.9rem;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

body.is-mobile-app-context .mm-mobile-market-seller-head {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.72rem;
    align-items: center;
}

body.is-mobile-app-context .mm-mobile-market-seller-avatar {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef4ff;
    color: var(--mm-mobile-accent);
    font-size: 1.25rem;
}

body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-thread-cover {
    min-height: 248px;
    object-fit: cover;
}

body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-detail-list {
    gap: 0.62rem;
}

body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-detail-list > div {
    padding: 0.78rem 0.82rem;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid rgba(205, 215, 232, 0.72);
}

body.is-mobile-app-context .mm-mobile-market-seller-head strong,
body.is-mobile-app-context .mm-mobile-market-seller-head span {
    display: block;
}

body.is-mobile-app-context .mm-mobile-market-seller-head span {
    margin-top: 0.1rem;
    color: var(--mm-mobile-muted);
    font-size: 0.82rem;
}

body.is-mobile-app-context .mm-mobile-price-banner {
    margin-top: 0.8rem;
    padding: 0.88rem 0.94rem;
}

body.is-mobile-app-context .mm-mobile-price-banner strong {
    font-size: 1.38rem;
}

body.is-mobile-app-context .mm-mobile-price-banner span {
    font-size: 0.68rem;
}

body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-market-active-modules {
    grid-template-columns: 1fr;
    margin-top: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-media {
    padding: 10px;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-thread-cover {
    width: 100%;
    min-height: 220px;
    object-fit: cover;
    margin: 0;
    border-radius: 22px;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen {
    gap: 10px;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail {
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.1), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f6faff 100%) !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail h1,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail p,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail .app-mobile-kicker,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail .app-mobile-stat-card strong,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail .app-mobile-stat-card span {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail p,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail .app-mobile-stat-card span {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-dashboard-hero-garage-detail .app-mobile-hero-chip {
    background: #f8fbff !important;
    border-color: rgba(148, 163, 184, 0.18) !important;
    color: var(--mm-blue-dark) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    border: 1px solid rgba(226, 232, 240, 0.92) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08) !important;
    backdrop-filter: none !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft strong,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft p,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft small,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft span,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-list-card strong,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-list-card span {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft small,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft p,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-section-card-soft span,
body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-list-card span {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-list-card {
    border-radius: 18px !important;
    padding: 0.86rem 0.92rem !important;
    border: 1px solid rgba(226, 232, 240, 0.96) !important;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-list-card i {
    color: var(--mm-blue) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-glance-card {
    border-radius: 18px !important;
    border: 1px solid rgba(226, 232, 240, 0.96) !important;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-glance-card i {
    background: rgba(37, 99, 235, 0.08) !important;
    color: var(--mm-blue) !important;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.68rem;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-stat-grid article {
    padding: 0.84rem 0.88rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-stat-grid strong {
    color: var(--mm-text) !important;
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .mm-mobile-stat-grid span {
    color: var(--mm-muted) !important;
    font-size: 0.74rem;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-registry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-registry-item {
    min-width: 0;
    padding: 0.92rem 0.96rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.96);
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-registry-item span {
    display: block;
    margin-bottom: 0.3rem;
    color: #64748b !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-registry-item strong {
    display: block;
    color: var(--mm-text) !important;
    font-size: 1rem;
    line-height: 1.3;
    word-break: break-word;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-notes {
    margin-top: 0.8rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.96);
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-notes span {
    display: block;
    margin-bottom: 0.38rem;
    color: #64748b !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-notes p {
    margin: 0;
    color: var(--mm-text) !important;
    font-size: 0.94rem;
    line-height: 1.55;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-link-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-link-card {
    display: flex;
    align-items: flex-start;
    gap: 0.72rem;
    min-width: 0;
    padding: 0.88rem 0.92rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.96);
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    color: var(--mm-text);
    text-decoration: none;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-link-card i {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, 0.08);
    color: var(--mm-blue);
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-link-card strong {
    display: block;
    color: var(--mm-text) !important;
    font-size: 0.92rem;
    line-height: 1.22;
}

body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-link-card small {
    display: block;
    margin-top: 0.2rem;
    color: var(--mm-muted) !important;
    font-size: 0.76rem;
    line-height: 1.35;
}

@media (max-width: 767.98px) {
    body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-registry-grid,
    body.is-mobile-app-context .mm-mobile-bike-detail-screen .app-mobile-bike-link-grid {
        grid-template-columns: 1fr;
    }
}

body.is-mobile-app-context .mm-mobile-maintenance-screen .mm-mobile-stat-grid,
body.is-mobile-app-context .mm-mobile-maintenance-detail-screen .mm-mobile-stat-grid,
body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.is-mobile-app-context .mm-mobile-market-action-dock .mm-mobile-market-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
}

body.is-mobile-app-context .mm-mobile-market-action-dock .mm-mobile-market-actions > *,
body.is-mobile-app-context .mm-mobile-market-action-dock .mm-mobile-market-actions form,
body.is-mobile-app-context .mm-mobile-market-action-dock .mm-mobile-market-actions form > * {
    width: 100%;
}

body.is-mobile-app-context .mm-mobile-market-action-dock .mm-mobile-inline-actions-tight {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

body.is-mobile-app-context .mm-mobile-message-card,
body.is-mobile-app-context .mm-mobile-thread-card,
body.is-mobile-app-context .mm-mobile-thread-reply,
body.is-mobile-app-context .mm-mobile-notification-card,
body.is-mobile-app-context .mm-mobile-empty-state {
    padding: 0.88rem;
    border-radius: 18px;
}

body.is-mobile-app-context .mm-mobile-thread-meta {
    margin-bottom: 0.58rem;
}

body.is-mobile-app-context .mm-mobile-message-card {
    padding: 0.88rem;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-mobile-message-avatar {
    width: 46px;
    height: 46px;
    border-radius: 16px;
}

body.is-mobile-app-context .mm-mobile-message-copy p,
body.is-mobile-app-context .mm-mobile-notification-card p {
    font-size: 0.88rem;
    line-height: 1.42;
}

body.is-mobile-app-context .mm-mobile-notification-card {
    border: 1px solid rgba(131, 154, 189, 0.14);
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    color: #e7efff;
    box-shadow: 0 14px 30px rgba(2, 8, 23, 0.16);
}

body.is-mobile-app-context .mm-mobile-notification-card.is-unread {
    border-color: rgba(46, 144, 250, 0.28);
    background: linear-gradient(180deg, rgba(23, 99, 189, 0.18), rgba(255, 255, 255, 0.04));
}

body.is-mobile-app-context .mm-mobile-notification-card .mm-mobile-thread-meta strong {
    color: #f8fbff;
}

body.is-mobile-app-context .mm-mobile-notification-card .mm-mobile-thread-meta span,
body.is-mobile-app-context .mm-mobile-notification-card p {
    color: rgba(212, 225, 248, 0.72);
}

body.is-mobile-app-context .mm-mobile-notification-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

body.is-mobile-app-context .mm-mobile-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #5cc8ff 0%, #2f7cff 100%);
    box-shadow: 0 0 0 4px rgba(92, 200, 255, 0.12);
    flex: 0 0 auto;
    margin-top: 5px;
}

body.is-mobile-app-context .mm-mobile-anchor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.68rem;
}

body.is-mobile-app-context .mm-mobile-anchor-grid .mm-mobile-secondary-cta {
    width: 100%;
    justify-content: center;
}

@media (max-width: 767.98px) {
    body.is-mobile-app-context .app-mobile-context-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.is-mobile-app-context .mm-mobile-action-grid,
    body.is-mobile-app-context .mm-mobile-detail-list,
    body.is-mobile-app-context .mm-mobile-inline-fields,
    body.is-mobile-app-context .mm-mobile-inline-actions,
    body.is-mobile-app-context .mm-mobile-market-actions,
    body.is-mobile-app-context .mm-mobile-sticky-actions,
    body.is-mobile-app-context .mm-mobile-glance-grid,
    body.is-mobile-app-context .mm-mobile-route-grid,
    body.is-mobile-app-context .mm-mobile-market-meta-grid,
    body.is-mobile-app-context .mm-mobile-community-facts {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-market-card-compact,
    body.is-mobile-app-context .mm-mobile-brand-grid,
    body.is-mobile-app-context .mm-mobile-market-categories,
    body.is-mobile-app-context .mm-mobile-doc-grid,
    body.is-mobile-app-context .mm-mobile-color-grid,
    body.is-mobile-app-context .mm-mobile-community-grid {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-market-media.is-compact {
        min-height: 184px;
    }

    body.is-mobile-app-context .mm-mobile-profile-head {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    body.is-mobile-app-context .app-mobile-context-fab {
        left: 14px;
        right: 14px;
        justify-content: center;
    }
}

@media (max-width: 430px) {
    body.is-mobile-app-context .app-mobile-section-headline {
        flex-direction: column;
        align-items: flex-start;
    }

    body.is-mobile-app-context .app-mobile-section-headline small {
        text-align: left;
    }

    body.is-mobile-app-context .app-mobile-quick-grid,
    body.is-mobile-app-context .mm-mobile-segmented-steps,
    body.is-mobile-app-context .mm-mobile-model-actions {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-model-icon-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 390px) {
    body.is-mobile-app-context .app-mobile-context-nav {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-gallery-grid {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-maintenance-screen .mm-mobile-stat-grid,
    body.is-mobile-app-context .mm-mobile-maintenance-detail-screen .mm-mobile-stat-grid,
    body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-stat-grid,
    body.is-mobile-app-context .mm-mobile-market-action-dock .mm-mobile-market-actions,
    body.is-mobile-app-context .mm-mobile-market-action-dock .mm-mobile-inline-actions-tight {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-stat-pills,
    body.is-mobile-app-context .mm-mobile-quick-grid,
    body.is-mobile-app-context .app-mobile-quick-grid {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-anchor-grid {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.is-mobile-app-context .mm-mobile-form-shell-section {
        padding: 0.9rem;
        border-radius: 20px;
    }

    body.is-mobile-app-context .mm-mobile-toggle-row {
        align-items: flex-start;
    }

    body.is-mobile-app-context .mm-mobile-toggle-row span {
        min-width: 0;
        font-size: 0.9rem;
        line-height: 1.35;
    }

    body.is-mobile-app-context .app-mobile-garage-card {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .app-mobile-garage-card-media {
        min-height: 168px;
    }

    body.is-mobile-app-context .app-mobile-garage-card-head {
        gap: 6px;
    }

    body.is-mobile-app-context .app-mobile-garage-card-head em {
        font-size: 0.76rem;
    }

    body.is-mobile-app-context .app-mobile-garage-card-meta {
        gap: 6px 10px;
        font-size: 0.76rem;
    }

    body.is-mobile-app-context .app-mobile-garage-card-actions {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .app-mobile-garage-card-actions .mm-mobile-primary-cta {
        grid-column: auto;
    }

    body.is-mobile-app-context .mm-mobile-profile-head {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 0.78rem;
        align-items: start;
    }

    body.is-mobile-app-context .mm-mobile-profile-avatar {
        width: 64px;
        height: 64px;
        border-radius: 22px;
        font-size: 1.2rem;
    }

    body.is-mobile-app-context .mm-mobile-market-thumb-row {
        grid-auto-columns: 68px;
    }

    body.is-mobile-app-context .mm-mobile-hero h1 {
        font-size: clamp(1.8rem, 9vw, 2.45rem);
    }

    body.is-mobile-app-context .app-mobile-bottom-link span {
        font-size: 0.58rem;
    }

    body.is-mobile-app-context .app-mobile-context-link {
        font-size: 0.72rem;
        padding-inline: 0.68rem;
    }

    body.is-mobile-app-context .mm-mobile-model-icon-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.is-mobile-app-context .mm-mobile-model-actions,
    body.is-mobile-app-context .mm-mobile-segmented-steps {
        grid-template-columns: 1fr;
    }

    body.is-mobile-app-context .mm-mobile-segmented button,
    body.is-mobile-app-context .mm-mobile-model-action span,
    body.is-mobile-app-context .mm-mobile-model-icon-pill span {
        font-size: 0.8rem;
    }
}

@keyframes mm-mobile-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
.mm-market-close-page,
.mm-user-shop,
.mm-market-feedback-page {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
}

.mm-market-close-hero,
.mm-market-feedback-hero,
.mm-user-shop-hero {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.mm-market-close-summary-card,
.mm-message-context-card,
.mm-mobile-market-context-card,
.mm-user-shop-bike-card,
.mm-user-shop-listing-card,
.mm-market-feedback-pending-card {
    display: flex;
    gap: 1rem;
}

.mm-market-close-summary-media,
.mm-message-context-media,
.mm-user-shop-listing-media,
.mm-market-feedback-pending-media,
.mm-user-shop-bike-media,
.mm-mobile-market-context-media {
    width: 112px;
    min-width: 112px;
    aspect-ratio: 1 / 1;
    border-radius: 1rem;
    overflow: hidden;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mm-market-close-summary-media img,
.mm-message-context-media img,
.mm-user-shop-listing-media img,
.mm-market-feedback-pending-media img,
.mm-user-shop-bike-media img,
.mm-mobile-market-context-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-market-close-hint,
.mm-market-close-confirm-box {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mm-market-close-hint ol {
    margin-bottom: 0;
    padding-left: 1.1rem;
}

.mm-market-close-step + .mm-market-close-step {
    margin-top: 1.5rem;
}

.mm-market-close-step-head {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.mm-market-close-step-head > span {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #1f2937, #475569);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.mm-market-close-options,
.mm-market-close-candidates,
.mm-user-shop-feedback-list,
.mm-market-feedback-pending-list,
.mm-user-shop-bike-list {
    display: grid;
    gap: 1rem;
}

.mm-market-close-option,
.mm-market-close-candidate {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 1rem;
    background: #fff;
}

.mm-market-close-option strong,
.mm-market-close-candidate strong,
.mm-user-shop-feedback-card h3,
.mm-user-shop-bike-card strong,
.mm-user-shop-listing-card h3,
.mm-market-feedback-pending-card h3 {
    display: block;
    margin-bottom: 0.2rem;
}

.mm-market-close-option span,
.mm-market-close-candidate span,
.mm-user-shop-feedback-card small,
.mm-user-shop-bike-card small,
.mm-user-shop-listing-meta span,
.mm-message-context-meta span {
    color: #64748b;
    font-size: 0.92rem;
}

.mm-market-close-candidate-avatar {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    border-radius: 999px;
    overflow: hidden;
    background: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mm-market-close-candidate-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-market-close-candidate-copy {
    flex: 1;
}

.mm-market-close-actions,
.mm-user-shop-listing-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1.25rem;
}

.mm-user-shop-hero {
    position: relative;
    overflow: hidden;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, #0f172a, #1d4ed8 55%, #60a5fa);
    color: #fff;
}

.mm-user-shop-cover {
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background: radial-gradient(circle at top right, #fff, transparent 40%);
}

.mm-user-shop-hero-body {
    position: relative;
    width: 100%;
    padding: 1.5rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: auto 1fr auto;
    align-items: center;
}

.mm-user-shop-avatar {
    width: 96px;
    height: 96px;
    border-radius: 1.5rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
}

.mm-user-shop-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-user-shop-meta,
.mm-message-context-meta,
.mm-market-close-meta,
.mm-user-shop-listing-meta {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mm-user-shop-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mm-user-shop-stat-grid,
.mm-market-feedback-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.mm-user-shop-stat-grid article,
.mm-market-feedback-stat-grid article {
    border-radius: 1.25rem;
    padding: 1rem;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

.mm-user-shop-stat-grid strong,
.mm-market-feedback-stat-grid strong {
    display: block;
    font-size: 1.5rem;
}

.mm-user-shop-section {
    background: #fff;
    border-radius: 1.5rem;
    padding: 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

.mm-user-shop-section + .mm-user-shop-section {
    margin-top: 1.25rem;
}

.mm-user-shop-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.mm-user-shop-listing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.mm-user-shop-listing-card,
.mm-market-feedback-pending-card {
    flex-direction: column;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1.25rem;
    overflow: hidden;
    background: #fff;
}

.mm-user-shop-listing-media,
.mm-market-feedback-pending-media {
    width: 100%;
    min-width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 0;
}

.mm-user-shop-listing-body,
.mm-market-feedback-pending-card form,
.mm-market-feedback-pending-head {
    padding: 1rem;
}

.mm-market-feedback-pending-head {
    align-items: center;
}

.mm-user-shop-feedback-card {
    padding: 1rem;
    border-radius: 1rem;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mm-user-shop-feedback-card p {
    margin: 0.75rem 0 0;
}

.mm-user-shop-bike-card {
    align-items: center;
    text-decoration: none;
    color: inherit;
    padding: 0.75rem;
    border-radius: 1rem;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mm-user-shop-bike-media {
    width: 72px;
    min-width: 72px;
}

.mm-message-context-card {
    align-items: center;
    padding: 1rem;
    border-radius: 1.25rem;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mm-message-context-copy {
    flex: 1;
}

.mm-market-payment-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.45rem 0 0.25rem;
}

.mm-market-payment-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: #334155;
    font-size: 0.82rem;
    line-height: 1;
}

.mm-mobile-market-context-card {
    align-items: center;
    padding: 0.75rem;
    border-radius: 1rem;
    background: #f8fafc;
    margin-bottom: 1rem;
}

@media (max-width: 991.98px) {
    .mm-user-shop-hero-body {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .mm-user-shop-actions {
        justify-content: flex-start;
    }

    .mm-user-shop-listing-grid,
    .mm-user-shop-stat-grid,
    .mm-market-feedback-stat-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .mm-user-shop-listing-grid,
    .mm-user-shop-stat-grid,
    .mm-market-feedback-stat-grid {
        grid-template-columns: 1fr;
    }

    .mm-market-close-option,
    .mm-market-close-candidate,
    .mm-message-context-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .mm-market-close-summary-card,
    .mm-user-shop-bike-card,
    .mm-mobile-market-context-card {
        flex-direction: row;
    }

    .mm-market-close-actions,
    .mm-user-shop-listing-actions,
    .mm-user-shop-actions {
        flex-direction: column;
    }

    .mm-market-close-actions .btn,
    .mm-user-shop-listing-actions .btn,
    .mm-user-shop-listing-actions form,
    .mm-user-shop-listing-actions form .btn,
    .mm-user-shop-actions .btn {
        width: 100%;
    }

    .mm-market-close-summary-media,
    .mm-message-context-media,
    .mm-market-close-candidate-avatar {
        width: 88px;
        min-width: 88px;
    }
}
body.is-mobile-app-context {
    --app-mobile-bg: #07111d;
    --app-mobile-surface: rgba(12, 23, 38, 0.92);
    --app-mobile-surface-soft: rgba(20, 33, 52, 0.88);
    --app-mobile-border: rgba(255, 255, 255, 0.08);
    --app-mobile-border-strong: rgba(255, 255, 255, 0.14);
    --app-mobile-text: #f5f8fd;
    --app-mobile-muted: #9eb1c8;
    --app-mobile-accent: #62d2ff;
    --app-mobile-accent-strong: #0aa2ff;
    --app-mobile-success: #4cd7a7;
    --app-mobile-warning: #ffc861;
    --app-mobile-danger: #ff7c7c;
    background:
        radial-gradient(circle at top left, rgba(10, 162, 255, 0.28), transparent 30%),
        radial-gradient(circle at top right, rgba(76, 215, 167, 0.18), transparent 26%),
        linear-gradient(180deg, #06101a 0%, #091522 48%, #050c15 100%);
    color: var(--app-mobile-text);
    overflow-x: hidden;
}

body.is-mobile-app-context,
body.is-mobile-app-context #app-main,
body.is-mobile-app-context .mm-mobile-app-main,
body.is-mobile-app-context .mm-mobile-screen,
body.is-mobile-app-context .mm-mobile-screen *,
body.is-mobile-app-context .app-mobile-screen *,
body.is-mobile-app-context .offcanvas * {
    box-sizing: border-box;
}

body.is-mobile-app-context img,
body.is-mobile-app-context video,
body.is-mobile-app-context svg,
body.is-mobile-app-context canvas,
body.is-mobile-app-context iframe {
    max-width: 100%;
}

body.is-mobile-app-context .mm-mobile-app-main {
    min-height: 100dvh;
    padding:
        calc(env(safe-area-inset-top, 0px) + 80px)
        14px
        calc(env(safe-area-inset-bottom, 0px) + 122px);
    overflow-x: clip;
}

body.is-mobile-app-context .mm-mobile-screen,
body.is-mobile-app-context .app-mobile-screen,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .app-mobile-section-card,
body.is-mobile-app-context .offcanvas,
body.is-mobile-app-context .offcanvas-body,
body.is-mobile-app-context .offcanvas-header,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .app-mobile-quick-card,
body.is-mobile-app-context .app-mobile-menu-item,
body.is-mobile-app-context .app-mobile-garage-card,
body.is-mobile-app-context .app-mobile-primary-action {
    min-width: 0;
    overflow-wrap: anywhere;
}

body.is-mobile-app-context .mm-mobile-appbar {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1060;
    display: flex;
    align-items: center;
    gap: 10px;
    padding:
        calc(env(safe-area-inset-top, 0px) + 8px)
        14px
        10px;
    background: rgba(5, 12, 20, 0.76);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.is-mobile-app-context .mm-mobile-appbar-btn {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--app-mobile-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

body.is-mobile-app-context .mm-mobile-appbar-copy {
    min-width: 0;
    flex: 1 1 auto;
}

body.is-mobile-app-context .mm-mobile-appbar-copy small {
    display: block;
    color: var(--app-mobile-muted);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.is-mobile-app-context .mm-mobile-appbar-copy strong {
    display: block;
    color: var(--app-mobile-text);
    font-size: 0.92rem;
    line-height: 1.15;
}

body.is-mobile-app-context .mm-mobile-appbar-actions {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

body.is-mobile-app-context .mm-mobile-appbar-icon {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(226, 232, 240, 0.88);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    flex: 0 0 auto;
}

body.is-mobile-app-context .mm-mobile-appbar-icon.is-active,
body.is-mobile-app-context .mm-mobile-appbar-icon:hover,
body.is-mobile-app-context .mm-mobile-appbar-icon:focus {
    color: #ffffff;
    background: rgba(98, 210, 255, 0.12);
    border-color: rgba(98, 210, 255, 0.2);
}

body.is-mobile-app-context .mm-mobile-appbar-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fb7185, #ef4444);
    color: #ffffff;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 6px 12px rgba(239, 68, 68, 0.28);
    z-index: 2;
}

body.is-mobile-app-context .mm-mobile-appbar-badge.is-hidden {
    display: none;
}

@media (max-width: 390px) {
    body.is-mobile-app-context .mm-mobile-appbar {
        gap: 8px;
        padding-right: 10px;
        padding-left: 10px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-copy small {
        font-size: 0.58rem;
    }

    body.is-mobile-app-context .mm-mobile-appbar-copy strong {
        font-size: 0.88rem;
    }

    body.is-mobile-app-context .mm-mobile-appbar-actions {
        gap: 5px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-icon {
        width: 32px;
        height: 32px;
        border-radius: 10px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-btn {
        width: 36px;
        height: 36px;
        border-radius: 11px;
    }
}

body.is-mobile-app-context .app-mobile-dashboard-hero,
body.is-mobile-app-context .app-mobile-section-card,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-forum-appbar-card,
body.is-mobile-app-context .mm-mobile-forum-section,
body.is-mobile-app-context .mm-mobile-forum-search-shell,
body.is-mobile-app-context .mm-mobile-forum-quick-actions,
body.is-mobile-app-context .mm-mobile-market-search-panel {
    border: 1px solid var(--app-mobile-border);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(18, 31, 48, 0.96) 0%, rgba(11, 20, 31, 0.96) 100%);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

body.is-mobile-app-context .app-mobile-dashboard-hero {
    padding: 15px;
    margin-bottom: 10px;
}

body.is-mobile-app-context .app-mobile-dashboard-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #aee2ff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.is-mobile-app-context .app-mobile-dashboard-hero h1 {
    margin: 4px 0 6px;
    font-size: clamp(1.36rem, 4.3vw, 1.8rem);
    line-height: 1.1;
    color: #fafdff;
}

body.is-mobile-app-context .app-mobile-dashboard-hero p,
body.is-mobile-app-context .app-mobile-spotlight-card span,
body.is-mobile-app-context .app-mobile-flow-card p,
body.is-mobile-app-context .app-mobile-glance-card p,
body.is-mobile-app-context .app-mobile-menu-item small,
body.is-mobile-app-context .app-mobile-quick-card span {
    margin: 0;
    color: var(--app-mobile-muted);
    font-size: 0.82rem;
    line-height: 1.38;
}

body.is-mobile-app-context .app-mobile-hero-chip,
body.is-mobile-app-context .app-mobile-secondary-chip,
body.is-mobile-app-context .app-mobile-spotlight-pill,
body.is-mobile-app-context .app-mobile-chip-link,
body.is-mobile-app-context .app-mobile-utility-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: var(--app-mobile-text);
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 600;
    white-space: nowrap;
}

body.is-mobile-app-context .app-mobile-user-avatar {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(98, 210, 255, 0.26), rgba(76, 215, 167, 0.2));
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #f9fcff;
    text-decoration: none;
    font-weight: 700;
}

body.is-mobile-app-context .app-mobile-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.is-mobile-app-context .app-mobile-hero-primary-action {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
    margin-top: 16px;
}

body.is-mobile-app-context .app-mobile-secondary-chip {
    flex: 1 1 100%;
    justify-content: flex-start;
    min-width: 0;
    padding-inline: 16px;
}

body.is-mobile-app-context .app-mobile-secondary-chip span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.is-mobile-app-context .app-mobile-primary-action {
    flex: 1 1 220px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border-radius: 26px;
    color: #04111b;
    text-decoration: none;
    background: linear-gradient(135deg, #aee9ff 0%, #4cd7a7 100%);
    box-shadow: 0 18px 36px rgba(31, 182, 219, 0.2);
}

body.is-mobile-app-context .app-mobile-primary-action i {
    font-size: 1.45rem;
}

body.is-mobile-app-context .app-mobile-primary-action-copy strong,
body.is-mobile-app-context .app-mobile-primary-action-copy small {
    display: block;
    color: #05101b;
}

body.is-mobile-app-context .app-mobile-primary-action-copy strong {
    font-size: 1rem;
    font-weight: 800;
}

body.is-mobile-app-context .app-mobile-primary-action-copy small {
    margin-top: 3px;
    font-size: 0.78rem;
    opacity: 0.82;
}

body.is-mobile-app-context .app-mobile-stats-rail,
body.is-mobile-app-context .app-mobile-spotlight-rail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    overflow: visible;
    padding-bottom: 0;
    scrollbar-width: none;
}

body.is-mobile-app-context .app-mobile-stats-rail::-webkit-scrollbar,
body.is-mobile-app-context .app-mobile-spotlight-rail::-webkit-scrollbar,
body.is-mobile-app-context .app-mobile-chip-grid::-webkit-scrollbar,
body.is-mobile-app-context .app-mobile-menu-sheet-body::-webkit-scrollbar {
    display: none;
}

body.is-mobile-app-context .app-mobile-stat-card {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(174, 233, 255, 0.10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(12px);
}

body.is-mobile-app-context .app-mobile-stat-card strong {
    display: inline;
    font-size: 0.95rem;
    line-height: 1;
    color: #fbfdff;
}

body.is-mobile-app-context .app-mobile-stat-card span {
    display: inline;
    margin-top: 0;
    color: #a9bed9;
    font-size: 0.74rem;
    text-transform: none;
    white-space: nowrap;
}

body.is-mobile-app-context .app-mobile-section-card {
    padding: 13px;
    margin-bottom: 10px;
}

body.is-mobile-app-context .app-mobile-section-card-highlight {
    background:
        radial-gradient(circle at top right, rgba(98, 210, 255, 0.18), transparent 28%),
        linear-gradient(180deg, rgba(20, 39, 61, 0.98), rgba(11, 22, 37, 0.98));
}

body.is-mobile-app-context .app-mobile-section-headline {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

body.is-mobile-app-context .app-mobile-section-headline strong {
    color: #fbfdff;
    font-size: 0.94rem;
    line-height: 1.2;
}

body.is-mobile-app-context .app-mobile-section-headline small {
    color: var(--app-mobile-muted);
    font-size: 0.72rem;
    text-align: right;
}

body.is-mobile-app-context .app-mobile-quick-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-quick-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    min-height: 74px;
    padding: 13px 14px;
    border-radius: 18px;
    border: 1px solid rgba(174, 233, 255, 0.14);
    background: linear-gradient(180deg, rgba(28, 42, 61, 0.96) 0%, rgba(17, 28, 42, 0.96) 100%);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.14);
    text-decoration: none;
    color: var(--app-mobile-text);
}

body.is-mobile-app-context .app-mobile-quick-card-button {
    width: 100%;
    text-align: left;
    cursor: pointer;
}

body.is-mobile-app-context .app-mobile-quick-card i {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(98, 210, 255, 0.24), rgba(76, 215, 167, 0.16));
    color: #dff6ff;
    font-size: 1rem;
}

body.is-mobile-app-context .app-mobile-quick-card > span,
body.is-mobile-app-context .app-mobile-quick-card > div {
    min-width: 0;
}

body.is-mobile-app-context .app-mobile-quick-card strong,
body.is-mobile-app-context .app-mobile-flow-card strong,
body.is-mobile-app-context .app-mobile-glance-card strong,
body.is-mobile-app-context .app-mobile-garage-card strong,
body.is-mobile-app-context .app-mobile-menu-item strong {
    display: block;
    color: #fbfdff;
    font-size: 0.96rem;
    line-height: 1.2;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
}

body.is-mobile-app-context .app-mobile-quick-card span,
body.is-mobile-app-context .app-mobile-flow-card p,
body.is-mobile-app-context .app-mobile-glance-card p,
body.is-mobile-app-context .app-mobile-menu-item small {
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
}

body.is-mobile-app-context .app-mobile-quick-card:hover,
body.is-mobile-app-context .app-mobile-quick-card:focus-visible {
    border-color: rgba(174, 233, 255, 0.24);
    transform: translateY(-1px);
}

body.is-mobile-app-context .app-mobile-spotlight-card {
    display: block;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(98, 210, 255, 0.24), rgba(10, 162, 255, 0.08) 45%, rgba(255, 200, 97, 0.12) 100%);
    border: 1px solid rgba(174, 233, 255, 0.2);
    color: var(--app-mobile-text);
    text-decoration: none;
}

body.is-mobile-app-context .app-mobile-spotlight-card strong {
    display: block;
    margin: 6px 0 8px;
    font-size: 1.16rem;
}

body.is-mobile-app-context .app-mobile-spotlight-card small {
    color: #caeeff;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.is-mobile-app-context .app-mobile-flow-list,
body.is-mobile-app-context .app-mobile-glance-stack,
body.is-mobile-app-context .app-mobile-garage-list {
    display: grid;
    gap: 8px;
}

body.is-mobile-app-context .app-mobile-flow-card,
body.is-mobile-app-context .app-mobile-glance-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 13px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.025);
    color: var(--app-mobile-text);
    text-decoration: none;
}

body.is-mobile-app-context .app-mobile-flow-step {
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
}

body.is-mobile-app-context .app-mobile-flow-card small,
body.is-mobile-app-context .app-mobile-glance-card small,
body.is-mobile-app-context .app-mobile-garage-card small {
    display: block;
    margin-top: 3px;
    color: #8fc8f0;
    font-size: 0.72rem;
}

body.is-mobile-app-context .app-mobile-glance-card i {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.07);
    color: #def3ff;
}

body.is-mobile-app-context .app-mobile-garage-card {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 320px;
    padding: 0;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

body.is-mobile-app-context .app-mobile-garage-card.has-cover {
    background-image:
        linear-gradient(180deg, rgba(7, 15, 27, 0.04) 0%, rgba(7, 15, 27, 0.24) 30%, rgba(7, 15, 27, 0.72) 70%, rgba(7, 15, 27, 0.92) 100%),
        var(--garage-cover);
    background-size: cover;
    background-position: center center;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

body.is-mobile-app-context .app-mobile-garage-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(9, 18, 31, 0.06) 0%, rgba(9, 18, 31, 0.18) 24%, rgba(9, 18, 31, 0.62) 64%, rgba(9, 18, 31, 0.90) 100%);
    pointer-events: none;
}

body.is-mobile-app-context .app-mobile-garage-card-body {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 10px;
    padding: 18px;
}

body.is-mobile-app-context .app-mobile-garage-card-fallback {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    color: #def3ff;
    font-size: 1.5rem;
}

body.is-mobile-app-context .app-mobile-garage-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-garage-card-head small {
    color: #8fc8f0;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.is-mobile-app-context .app-mobile-garage-card-head em {
    color: #fbfdff;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 700;
}

body.is-mobile-app-context .app-mobile-garage-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: var(--app-mobile-muted);
    font-size: 0.8rem;
}

body.is-mobile-app-context .app-mobile-garage-card-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 12px;
}

body.is-mobile-app-context .app-mobile-garage-card-action-main {
    width: 100%;
    justify-content: center;
    min-height: 50px;
}

body.is-mobile-app-context .app-mobile-garage-card-action-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-garage-card-action-row .mm-mobile-secondary-cta {
    width: 100%;
    justify-content: center;
    min-height: 46px;
}

body.is-mobile-app-context .app-mobile-garage-card-actions .mm-mobile-primary-cta,
body.is-mobile-app-context .app-mobile-garage-card-actions .mm-mobile-secondary-cta,
body.is-mobile-app-context .mm-mobile-guide-actions .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-guide-actions .mm-mobile-secondary-cta,
body.is-mobile-app-context .mm-mobile-inline-actions .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-inline-actions .mm-mobile-secondary-cta,
body.is-mobile-app-context .mm-mobile-sticky-actions .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-sticky-actions .mm-mobile-secondary-cta {
    min-height: 42px;
    padding: 10px 13px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 390px) {
    body.is-mobile-app-context .app-mobile-garage-card,
    body.is-mobile-app-context .app-mobile-garage-card-body {
        min-height: 340px;
    }

    body.is-mobile-app-context .app-mobile-garage-card-actions .mm-mobile-primary-cta,
    body.is-mobile-app-context .app-mobile-garage-card-actions .mm-mobile-secondary-cta {
        justify-content: center;
        text-align: center;
    }

    body.is-mobile-app-context .app-mobile-garage-card-action-row {
        grid-template-columns: 1fr;
    }
}

body.is-mobile-app-context .app-mobile-search-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    margin-bottom: 12px;
}

body.is-mobile-app-context .app-mobile-search-field input {
    flex: 1 1 auto;
    min-width: 0;
    background: transparent;
    border: 0;
    color: var(--app-mobile-text);
    outline: none;
    font-size: 0.94rem;
}

body.is-mobile-app-context .app-mobile-search-field input::placeholder {
    color: #7f93a8;
}

body.is-mobile-app-context .app-mobile-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.is-mobile-app-context .app-mobile-chip-link.is-active,
body.is-mobile-app-context .app-mobile-utility-pill.is-active,
body.is-mobile-app-context .app-mobile-menu-item.is-active {
    border-color: rgba(174, 233, 255, 0.28);
    background: rgba(98, 210, 255, 0.11);
}

body.is-mobile-app-context .app-mobile-menu-sheet {
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0;
    border: 0;
    background:
        radial-gradient(circle at top right, rgba(98, 210, 255, 0.14), transparent 18%),
        linear-gradient(180deg, rgba(4, 9, 16, 0.985) 0%, rgba(7, 13, 22, 0.99) 100%);
    color: var(--app-mobile-text);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.28);
}

body.is-mobile-app-context .app-mobile-menu-sheet-head {
    display: block;
    padding:
        calc(env(safe-area-inset-top, 0px) + 8px)
        14px
        10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.is-mobile-app-context .app-mobile-sheet-handle {
    width: 44px;
    height: 4px;
    margin: 2px auto 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
}

body.is-mobile-app-context .app-mobile-drawer.offcanvas-end {
    top: 0;
    bottom: 0;
    right: 0;
    height: 100dvh;
    width: min(100vw, 430px);
    border-top: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: -22px 0 44px rgba(2, 6, 23, 0.34);
}

body.is-mobile-app-context .app-mobile-drawer.offcanvas-end .app-mobile-sheet-handle {
    display: none;
}

body.is-mobile-app-context .app-mobile-drawer.offcanvas-end .offcanvas-header {
    padding:
        calc(env(safe-area-inset-top, 0px) + 14px)
        16px
        12px;
}

body.is-mobile-app-context .app-mobile-drawer.offcanvas-end .offcanvas-body {
    padding:
        12px
        14px
        calc(env(safe-area-inset-bottom, 0px) + 16px);
}

body.is-mobile-app-context .app-mobile-menu-identity {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

body.is-mobile-app-context .app-mobile-menu-kicker {
    display: block;
    color: #9fdfff;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.is-mobile-app-context .app-mobile-menu-identity h5 {
    margin: 3px 0;
    font-size: 1.08rem;
    color: #fbfdff;
}

body.is-mobile-app-context .app-mobile-menu-identity p {
    margin: 0;
    color: var(--app-mobile-muted);
    font-size: 0.76rem;
}

body.is-mobile-app-context .app-mobile-menu-identity-side {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-sheet-close {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.is-mobile-app-context .app-mobile-user-avatar.is-guest {
    background: rgba(255, 255, 255, 0.05);
}

body.is-mobile-app-context .app-mobile-menu-pulse {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

body.is-mobile-app-context .app-mobile-pulse-card {
    padding: 12px 10px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    text-align: center;
}

body.is-mobile-app-context .app-mobile-pulse-card strong {
    display: block;
    color: #fbfdff;
    font-size: 1rem;
}

body.is-mobile-app-context .app-mobile-pulse-card span {
    display: block;
    margin-top: 2px;
    color: var(--app-mobile-muted);
    font-size: 0.72rem;
}

body.is-mobile-app-context .app-mobile-menu-utility-row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-top: 14px;
    scrollbar-width: none;
}

body.is-mobile-app-context .app-mobile-utility-pill {
    flex: 0 0 auto;
    position: relative;
}

body.is-mobile-app-context .app-mobile-utility-pill em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ff6f7f;
    color: #fff;
    font-size: 0.68rem;
    font-style: normal;
}

body.is-mobile-app-context .app-mobile-menu-sheet-body {
    padding: 12px 12px calc(env(safe-area-inset-bottom, 0px) + 14px);
    overscroll-behavior: contain;
}

body.is-mobile-app-context .app-mobile-menu-section + .app-mobile-menu-section {
    margin-top: 10px;
}

body.is-mobile-app-context .app-mobile-menu-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

body.is-mobile-app-context .app-mobile-menu-section-head strong {
    font-size: 0.9rem;
    color: #fbfdff;
}

body.is-mobile-app-context .app-mobile-menu-section-head small {
    color: var(--app-mobile-muted);
    font-size: 0.7rem;
    text-align: right;
}

body.is-mobile-app-context .app-mobile-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-menu-stack {
    display: grid;
    gap: 8px;
}

body.is-mobile-app-context .app-mobile-menu-stack-main {
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-menu-stack-compact .app-mobile-menu-item {
    padding-top: 10px;
    padding-bottom: 10px;
}

body.is-mobile-app-context .app-mobile-menu-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 60px;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(174, 233, 255, 0.12);
    background: linear-gradient(180deg, rgba(24, 37, 55, 0.98) 0%, rgba(13, 22, 34, 0.98) 100%);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.14);
    color: var(--app-mobile-text);
    text-decoration: none;
}

body.is-mobile-app-context .app-mobile-menu-item-primary {
    min-height: 64px;
    flex-direction: row;
}

body.is-mobile-app-context .app-mobile-menu-item-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(98, 210, 255, 0.22), rgba(76, 215, 167, 0.14));
    color: #dff6ff;
    font-size: 0.92rem;
}

body.is-mobile-app-context .app-mobile-menu-item-copy {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
}

body.is-mobile-app-context .app-mobile-menu-item-copy strong {
    font-size: 0.88rem;
    line-height: 1.18;
}

body.is-mobile-app-context .app-mobile-menu-item-copy small {
    margin-top: 3px;
    font-size: 0.72rem;
    line-height: 1.28;
}

body.is-mobile-app-context .app-mobile-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ff6f7f;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
}

body.is-mobile-app-context .app-mobile-menu-chevron {
    color: var(--app-mobile-muted);
    margin-left: auto;
    align-self: center;
}

body.is-mobile-app-context .app-mobile-menu-footer {
    margin-top: 16px;
}

body.is-mobile-app-context .app-mobile-sheet-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    border-radius: 16px;
    border: 1px solid rgba(255, 124, 124, 0.28);
    background: rgba(255, 124, 124, 0.08);
    color: #ffd4d4;
    text-decoration: none;
    font-weight: 700;
}

body.is-mobile-app-context .app-mobile-bottom-shell {
    position: fixed;
    inset: auto 0 0 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: auto !important;
    z-index: 1055;
    display: flex;
    justify-content: center;
    padding: 0 8px max(calc(env(safe-area-inset-bottom, 0px) + 6px), 6px);
    overflow: visible;
    pointer-events: none;
}

body.is-mobile-app-context .app-mobile-bottom-stack {
    position: relative !important;
    left: auto;
    right: auto;
    bottom: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(100%, 760px);
    gap: 6px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    pointer-events: none;
}

body.is-mobile-app-context .app-mobile-bottom-toggle {
    position: absolute;
    left: 50%;
    bottom: calc(100% - 14px);
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(6, 14, 24, 0.94);
    color: #dff6ff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(18px);
    pointer-events: auto;
    z-index: 2;
}

body.is-mobile-app-context .app-mobile-bottom-toggle i {
    font-size: 0.84rem;
    transition: transform 0.2s ease;
}

body.is-mobile-app-context .app-mobile-bottom-toggle [data-mobile-bottom-toggle-label] {
    display: none;
}

body.is-mobile-app-context.app-mobile-nav-collapsed .app-mobile-bottom-toggle i {
    transform: rotate(180deg);
}

body.is-mobile-app-context.app-mobile-nav-collapsed .app-mobile-bottom-toggle {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: auto;
    height: auto;
    min-height: 28px;
    padding: 5px 12px 6px;
}

body.is-mobile-app-context.app-mobile-nav-collapsed .app-mobile-bottom-toggle [data-mobile-bottom-toggle-label] {
    display: inline;
}

body.is-mobile-app-context .app-mobile-bottom-nav:not(.app-mobile-bottom-nav-model) {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    padding: 7px;
    border-radius: 18px;
    background: rgba(6, 14, 24, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(18px);
    pointer-events: auto;
    transition: transform 0.24s ease, opacity 0.2s ease, max-height 0.24s ease, padding 0.24s ease, border-width 0.24s ease;
    width: 100%;
    max-height: 152px;
    overflow: hidden;
    margin-top: 0;
}

body.is-mobile-app-context .app-mobile-bottom-link {
    min-height: 46px;
    border-radius: 13px;
    padding: 6px 3px;
    background: transparent;
    color: #93a9bf;
    border: 0;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

body.is-mobile-app-context .app-mobile-bottom-link i {
    font-size: 0.96rem;
}

body.is-mobile-app-context .app-mobile-bottom-link span {
    font-size: 0.64rem;
    line-height: 1;
}

body.is-mobile-app-context .app-mobile-bottom-link.is-active {
    color: #f7fbff;
    background: rgba(98, 210, 255, 0.12);
}

body.is-mobile-app-context .app-mobile-bottom-link-menu {
    background: linear-gradient(135deg, rgba(14, 111, 195, 0.22), rgba(24, 164, 255, 0.18));
    color: #dff6ff;
}

body.is-mobile-app-context.app-mobile-nav-collapsed .app-mobile-bottom-nav:not(.app-mobile-bottom-nav-model) {
    transform: translateY(6px);
    opacity: 0;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 0;
    pointer-events: none;
}

body.is-mobile-app-context.app-mobile-sheet-open .app-mobile-bottom-shell {
    opacity: 0;
    pointer-events: none;
}

body.is-mobile-app-context .app-mobile-section-card-media {
    padding: 10px;
}

body.is-mobile-app-context table {
    display: block;
    width: 100%;
    overflow-x: auto;
}

@media (max-width: 359px) {
    body.is-mobile-app-context .app-mobile-bottom-shell {
        padding-left: 4px;
        padding-right: 4px;
    }

    body.is-mobile-app-context .app-mobile-bottom-nav:not(.app-mobile-bottom-nav-model) {
        padding: 6px 5px;
        border-radius: 16px;
    }

    body.is-mobile-app-context .app-mobile-bottom-link {
        min-height: 44px;
        padding-inline: 2px;
    }

    body.is-mobile-app-context .app-mobile-bottom-link span {
        font-size: 0.6rem;
    }

    body.is-mobile-app-context .app-mobile-dashboard-topline {
        flex-direction: column;
    }

    body.is-mobile-app-context .app-mobile-quick-grid,
    body.is-mobile-app-context .app-mobile-menu-grid,
    body.is-mobile-app-context .app-mobile-menu-pulse {
        grid-template-columns: minmax(0, 1fr);
    }

    body.is-mobile-app-context .app-mobile-garage-card {
        grid-template-columns: minmax(0, 1fr);
    }
}

body.is-mobile-app-context {
    --mm-mobile-appbar-height: 82px;
    --mm-mobile-bottom-height: 118px;
    --mm-mobile-overlay-height: 0px;
    scroll-padding-top: calc(var(--mm-mobile-appbar-height) + 18px);
}

body.is-mobile-app-context #app-main.mm-mobile-app-main {
    width: 100%;
    min-height: 100dvh;
    padding-top: calc(var(--mm-mobile-appbar-height) + 12px) !important;
    padding-bottom: calc(max(var(--mm-mobile-bottom-height), var(--mm-mobile-overlay-height)) + 18px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    overflow-x: clip !important;
}

body.is-mobile-app-context.is-model-detail-page #app-main.mm-mobile-app-main {
    padding-top: calc(var(--mm-mobile-appbar-height) + 8px) !important;
}

body.is-mobile-app-context .mm-mobile-screen,
body.is-mobile-app-context .app-mobile-screen {
    width: min(100%, 760px);
    margin-inline: auto;
    padding-inline: 0 !important;
    padding-bottom: calc(max(var(--mm-mobile-bottom-height), var(--mm-mobile-overlay-height)) + 12px);
}

body.is-mobile-app-context .mm-mobile-appbar-actions {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body.is-mobile-app-context .app-mobile-stats-rail,
body.is-mobile-app-context .app-mobile-spotlight-rail {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    grid-template-columns: none;
    grid-auto-flow: unset !important;
    grid-auto-columns: unset !important;
    gap: 8px;
    overflow: visible !important;
    padding-bottom: 0;
}

body.is-mobile-app-context .app-mobile-stat-card {
    min-width: 0 !important;
    width: auto;
}

body.is-mobile-app-context .app-mobile-spotlight-pill {
    min-width: 0 !important;
    width: 100%;
}

body.is-mobile-app-context .app-mobile-spotlight-pill {
    min-height: 76px;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
}

body.is-mobile-app-context .app-mobile-quick-card,
body.is-mobile-app-context .app-mobile-menu-item,
body.is-mobile-app-context .app-mobile-garage-card,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-brand-icon-card,
body.is-mobile-app-context .mm-mobile-forum-quick-card,
body.is-mobile-app-context .mm-mobile-market-card,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .app-mobile-section-card,
body.is-mobile-app-context .app-mobile-dashboard-hero {
    max-width: 100%;
}

body.is-mobile-app-context .app-mobile-admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.is-mobile-app-context .app-mobile-admin-kpi {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: var(--app-mobile-text);
    text-decoration: none;
    min-width: 0;
}

body.is-mobile-app-context .app-mobile-admin-kpi strong {
    color: #fbfdff;
    font-size: 1.16rem;
    line-height: 1;
}

body.is-mobile-app-context .app-mobile-admin-kpi small {
    color: #9fdfff;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.is-mobile-app-context .app-mobile-admin-kpi span {
    color: var(--app-mobile-muted);
    font-size: 0.78rem;
    line-height: 1.34;
}

body.is-mobile-app-context .app-mobile-dashboard-hero-admin {
    background:
        radial-gradient(circle at top right, rgba(98, 210, 255, 0.22), transparent 26%),
        linear-gradient(180deg, rgba(22, 38, 58, 0.98) 0%, rgba(9, 17, 28, 0.98) 100%);
}

body.is-mobile-app-context .app-mobile-kicker.is-admin {
    color: #ffd37a;
}

body.is-mobile-app-context .app-mobile-admin-kpi.is-urgent {
    background: linear-gradient(180deg, rgba(74, 14, 19, 0.86), rgba(37, 11, 18, 0.88));
    border-color: rgba(255, 111, 127, 0.24);
}

@media (max-width: 359px) {
    body.is-mobile-app-context .app-mobile-stats-rail,
    body.is-mobile-app-context .app-mobile-spotlight-rail,
    body.is-mobile-app-context .app-mobile-admin-kpi-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

body.is-mobile-app-context {
    --mm-mobile-bg: #07111c;
    --mm-mobile-surface: rgba(15, 27, 41, 0.94);
    --mm-mobile-surface-soft: rgba(20, 34, 51, 0.92);
    --mm-mobile-border: rgba(255, 255, 255, 0.08);
    --mm-mobile-text: #f5fbff;
    --mm-mobile-muted: #91a8be;
    --mm-mobile-accent: #62d2ff;
    --mm-mobile-accent-deep: #18a4ff;
    --mm-mobile-light-surface: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
    --mm-mobile-light-border: rgba(205, 215, 232, 0.78);
    --mm-mobile-light-text: #0f172a;
    --mm-mobile-light-muted: #5f7697;
}

body.is-mobile-app-context .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-brand-list-card,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-market-card,
body.is-mobile-app-context .mm-mobile-message-card,
body.is-mobile-app-context .mm-mobile-thread-card,
body.is-mobile-app-context .mm-mobile-thread-reply,
body.is-mobile-app-context .mm-mobile-notification-card,
body.is-mobile-app-context .mm-mobile-empty-state,
body.is-mobile-app-context .mm-mobile-gallery-tile,
body.is-mobile-app-context .mm-mobile-gallery-media-card,
body.is-mobile-app-context .mm-mobile-gallery-audio-card,
body.is-mobile-app-context .mm-mobile-filter-block,
body.is-mobile-app-context .mm-mobile-action-lead,
body.is-mobile-app-context .mm-mobile-check-tile,
body.is-mobile-app-context .mm-mobile-market-action-dock,
body.is-mobile-app-context .mm-mobile-message-composer,
body.is-mobile-app-context .mm-mobile-forum-composer,
body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-detail-list > div,
body.is-mobile-app-context .mm-mobile-safety-card {
    background: linear-gradient(180deg, rgba(19, 33, 49, 0.96) 0%, rgba(11, 20, 31, 0.96) 100%);
    border-color: var(--mm-mobile-border);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.24);
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-market-card,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-brand-list-card {
    backdrop-filter: blur(18px);
}

body.is-mobile-app-context .mm-mobile-hero p,
body.is-mobile-app-context .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-market-card p,
body.is-mobile-app-context .mm-mobile-market-card small,
body.is-mobile-app-context .mm-mobile-market-meta,
body.is-mobile-app-context .mm-mobile-market-meta-inline,
body.is-mobile-app-context .mm-mobile-market-card-foot small,
body.is-mobile-app-context .mm-mobile-message-copy p,
body.is-mobile-app-context .mm-mobile-notification-card p,
body.is-mobile-app-context .mm-mobile-notification-card small,
body.is-mobile-app-context .mm-mobile-thread-meta span,
body.is-mobile-app-context .mm-mobile-empty-state span,
body.is-mobile-app-context .mm-mobile-topic-card p,
body.is-mobile-app-context .mm-mobile-topic-card-author-copy small,
body.is-mobile-app-context .mm-mobile-gallery-audio-card span,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy span,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy small,
body.is-mobile-app-context .mm-mobile-filter-head span,
body.is-mobile-app-context .mm-mobile-action-card span,
body.is-mobile-app-context .mm-mobile-check-tile span,
body.is-mobile-app-context .text-muted {
    color: var(--mm-mobile-muted) !important;
}

body.is-mobile-app-context .mm-mobile-hero h1,
body.is-mobile-app-context .mm-mobile-panel-head strong,
body.is-mobile-app-context .mm-mobile-list-card strong,
body.is-mobile-app-context .mm-mobile-brand-list-card strong,
body.is-mobile-app-context .mm-mobile-market-card strong,
body.is-mobile-app-context .mm-mobile-message-card strong,
body.is-mobile-app-context .mm-mobile-thread-card strong,
body.is-mobile-app-context .mm-mobile-thread-reply strong,
body.is-mobile-app-context .mm-mobile-empty-state strong,
body.is-mobile-app-context .mm-mobile-topic-card h2,
body.is-mobile-app-context .mm-mobile-action-card strong,
body.is-mobile-app-context .mm-mobile-filter-head strong,
body.is-mobile-app-context .mm-mobile-check-tile,
body.is-mobile-app-context .mm-mobile-market-seller-head strong,
body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-detail-list > div,
body.is-mobile-app-context .mm-mobile-gallery-audio-card strong,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy strong {
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-stat-pill,
body.is-mobile-app-context .mm-mobile-filter-chip,
body.is-mobile-app-context .mm-mobile-market-badge,
body.is-mobile-app-context .mm-mobile-market-meta-grid span,
body.is-mobile-app-context .mm-mobile-community-facts span {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-stat-pill strong,
body.is-mobile-app-context .mm-mobile-stat-pill span {
    color: inherit;
}

body.is-mobile-app-context .mm-mobile-filter-chip {
    white-space: normal;
}

body.is-mobile-app-context .mm-mobile-market-badge.is-muted {
    background: rgba(255, 255, 255, 0.05);
    color: var(--mm-mobile-muted);
}

body.is-mobile-app-context .mm-mobile-market-badge.is-highlight {
    background: rgba(98, 210, 255, 0.14);
    color: #bfeeff;
}

body.is-mobile-app-context .mm-mobile-list-card i,
body.is-mobile-app-context .mm-mobile-brand-list-card i,
body.is-mobile-app-context .mm-mobile-market-meta-grid i,
body.is-mobile-app-context .mm-mobile-community-facts i,
body.is-mobile-app-context .mm-mobile-check-tile-link i,
body.is-mobile-app-context .mm-mobile-panel-close i {
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-filter-sheet,
body.is-mobile-app-context .mm-mobile-action-sheet,
body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen {
    background: linear-gradient(180deg, rgba(7, 13, 21, 0.99) 0%, rgba(9, 17, 28, 0.99) 100%);
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-chip-scroll {
    gap: 8px;
    margin-top: 14px;
}

body.is-mobile-app-context .mm-mobile-filter-chip {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.08);
    border-color: rgba(148, 163, 184, 0.12);
    color: rgba(226, 232, 240, 0.82);
    font-size: 0.72rem;
    letter-spacing: 0.01em;
}

body.is-mobile-app-context .mm-mobile-panel-head {
    gap: 6px;
}

body.is-mobile-app-context .mm-mobile-panel-head small {
    color: rgba(191, 203, 225, 0.72);
}

body.is-mobile-app-context .mm-mobile-filter-sheet .offcanvas-header,
body.is-mobile-app-context .mm-mobile-action-sheet .offcanvas-header,
body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen .offcanvas-header {
    align-items: flex-start;
}

body.is-mobile-app-context .mm-mobile-filter-sheet .offcanvas-title,
body.is-mobile-app-context .mm-mobile-action-sheet .offcanvas-title,
body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen .offcanvas-title {
    font-size: 1.08rem;
    letter-spacing: -0.02em;
}

body.is-mobile-app-context .mm-mobile-filter-sheet .offcanvas-header p,
body.is-mobile-app-context .mm-mobile-action-sheet .offcanvas-header p,
body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen .offcanvas-header p {
    margin-top: 4px;
    color: rgba(191, 203, 225, 0.72);
    font-size: 0.84rem;
}

body.is-mobile-app-context .mm-mobile-action-lead {
    padding: 14px 16px;
    border-radius: 22px;
    background: rgba(10, 18, 31, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.12);
}

body.is-mobile-app-context .mm-mobile-action-card {
    border-radius: 24px;
}

body.is-mobile-app-context .mm-mobile-route-card,
body.is-mobile-app-context .mm-mobile-check-tile,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-radio-card {
    border-radius: 22px;
}

body.is-mobile-app-context .mm-mobile-filter-sheet .offcanvas-header,
body.is-mobile-app-context .mm-mobile-action-sheet .offcanvas-header,
body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen .offcanvas-header {
    border-bottom-color: rgba(255, 255, 255, 0.08);
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-panel-close {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .mm-mobile-action-card {
    background: linear-gradient(180deg, rgba(21, 36, 54, 0.98) 0%, rgba(12, 23, 35, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

body.is-mobile-app-context .mm-mobile-action-card i {
    background: rgba(98, 210, 255, 0.12);
    color: var(--mm-mobile-accent);
}

body.is-mobile-app-context .mm-mobile-action-card.is-primary {
    background: linear-gradient(135deg, #0e6fc3 0%, #18a4ff 100%);
    border-color: rgba(174, 233, 255, 0.18);
}

body.is-mobile-app-context .mm-mobile-choice-card,
body.is-mobile-app-context .mm-mobile-upload-card,
body.is-mobile-app-context .mm-mobile-upload-status,
body.is-mobile-app-context .mm-mobile-inline-auth-note,
body.is-mobile-app-context .mm-mobile-guide-card.is-soft,
body.is-mobile-app-context .mm-mobile-attachment-card,
body.is-mobile-app-context .forum-attachment-card,
body.is-mobile-app-context .mm-mobile-attachment-preview-card,
body.is-mobile-app-context .mm-mobile-topic-icon-action,
body.is-mobile-app-context .mm-mobile-color-swatch,
body.is-mobile-app-context .mm-mobile-brand-icon-card,
body.is-mobile-app-context .mm-mobile-family-card,
body.is-mobile-app-context .mm-mobile-price-banner {
    background: var(--mm-mobile-light-surface);
    border-color: var(--mm-mobile-light-border);
    color: var(--mm-mobile-light-text);
}

body.is-mobile-app-context .mm-mobile-choice-card strong,
body.is-mobile-app-context .mm-mobile-upload-card strong,
body.is-mobile-app-context .mm-mobile-upload-status strong,
body.is-mobile-app-context .mm-mobile-inline-auth-note strong,
body.is-mobile-app-context .mm-mobile-guide-card.is-soft strong,
body.is-mobile-app-context .mm-mobile-attachment-preview-card strong,
body.is-mobile-app-context .mm-mobile-price-banner strong {
    color: var(--mm-mobile-light-text);
}

body.is-mobile-app-context .mm-mobile-choice-card small,
body.is-mobile-app-context .mm-mobile-upload-card span,
body.is-mobile-app-context .mm-mobile-upload-status span,
body.is-mobile-app-context .mm-mobile-inline-auth-note span,
body.is-mobile-app-context .mm-mobile-guide-card.is-soft span:not(.mm-mobile-guide-step),
body.is-mobile-app-context .mm-mobile-attachment-preview-card span,
body.is-mobile-app-context .mm-mobile-attachment-preview-card small,
body.is-mobile-app-context .mm-mobile-price-banner span {
    color: var(--mm-mobile-light-muted);
}

body.is-mobile-app-context .mm-mobile-brand-icon-card strong,
body.is-mobile-app-context .mm-mobile-family-card strong,
body.is-mobile-app-context .mm-mobile-price-banner strong {
    color: var(--mm-mobile-light-text) !important;
}

body.is-mobile-app-context .mm-mobile-brand-icon-card p,
body.is-mobile-app-context .mm-mobile-brand-icon-card small,
body.is-mobile-app-context .mm-mobile-family-card p,
body.is-mobile-app-context .mm-mobile-family-card small,
body.is-mobile-app-context .mm-mobile-family-card span:not(.mm-mobile-guide-step):not(.mm-mobile-market-overlay-badge),
body.is-mobile-app-context .mm-mobile-price-banner p,
body.is-mobile-app-context .mm-mobile-price-banner small,
body.is-mobile-app-context .mm-mobile-price-banner span {
    color: var(--mm-mobile-light-muted) !important;
}

body.is-mobile-app-context .mm-mobile-topic-icon-action,
body.is-mobile-app-context .mm-mobile-topic-icon-action i {
    color: var(--mm-mobile-accent-deep);
}

body.is-mobile-app-context .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-secondary-cta {
    min-width: 0;
    white-space: normal;
    padding: 0.72rem 0.9rem;
    gap: 0.48rem;
    font-size: 0.9rem;
    line-height: 1.15;
}

body.is-mobile-app-context .mm-mobile-primary-cta {
    background: linear-gradient(135deg, #aee9ff 0%, #4cd7a7 100%);
    border-color: rgba(174, 233, 255, 0.4);
    box-shadow: 0 16px 34px rgba(24, 164, 255, 0.24);
    color: #04111b;
}

body.is-mobile-app-context .mm-mobile-primary-cta i,
body.is-mobile-app-context .mm-mobile-primary-cta span {
    color: inherit;
}

body.is-mobile-app-context .mm-mobile-secondary-cta {
    background: linear-gradient(180deg, #f4f8ff 0%, #dce9ff 100%);
    border-color: rgba(129, 161, 214, 0.42);
    color: #16325c;
    box-shadow: 0 12px 26px rgba(7, 20, 40, 0.12);
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-secondary-cta i,
body.is-mobile-app-context .mm-mobile-secondary-cta span {
    color: inherit;
}

body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-market-card,
body.is-mobile-app-context .mm-mobile-brand-list-card,
body.is-mobile-app-context .mm-mobile-guide-card.is-soft,
body.is-mobile-app-context .mm-mobile-sticky-actions,
body.is-mobile-app-context .mm-mobile-segmented {
    color: #e8f1ff;
}

body.is-mobile-app-context .mm-mobile-list-card strong,
body.is-mobile-app-context .mm-mobile-market-card strong,
body.is-mobile-app-context .mm-mobile-brand-list-card strong,
body.is-mobile-app-context .mm-mobile-guide-card.is-soft strong,
body.is-mobile-app-context .mm-mobile-sticky-actions strong,
body.is-mobile-app-context .mm-mobile-detail-list strong {
    color: #f8fbff;
}

body.is-mobile-app-context .mm-mobile-list-card p,
body.is-mobile-app-context .mm-mobile-list-card small,
body.is-mobile-app-context .mm-mobile-market-card p,
body.is-mobile-app-context .mm-mobile-market-card small,
body.is-mobile-app-context .mm-mobile-market-meta,
body.is-mobile-app-context .mm-mobile-market-meta-inline,
body.is-mobile-app-context .mm-mobile-brand-list-card small,
body.is-mobile-app-context .mm-mobile-guide-card.is-soft span,
body.is-mobile-app-context .mm-mobile-sticky-actions small,
body.is-mobile-app-context .mm-mobile-detail-list span {
    color: rgba(210, 225, 255, 0.74) !important;
}

body.is-mobile-app-context .mm-mobile-family-card,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-family-body,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion-body,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact {
    color: var(--mm-mobile-light-text);
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-inline-meta strong,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion summary strong,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card strong,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact strong {
    color: var(--mm-mobile-light-text) !important;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-inline-meta span,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-family-body p,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion summary small,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card span,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card small,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact span,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact small {
    color: var(--mm-mobile-light-muted) !important;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-inline-meta span {
    color: #5f79a0 !important;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-family-body p {
    color: #557096 !important;
    line-height: 1.56;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-topic-inline-meta span {
    background: rgba(22, 50, 92, 0.08);
    border: 1px solid rgba(129, 161, 214, 0.24);
    color: #35527d;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion summary {
    background: rgba(242, 247, 255, 0.92);
    color: var(--mm-mobile-light-text);
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion summary strong {
    color: #16233a !important;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion summary small {
    color: #6580a8 !important;
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-accordion summary i,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card i,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact i {
    color: var(--mm-mobile-accent-deep);
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact {
    background: linear-gradient(180deg, rgba(24, 36, 52, 0.98) 0%, rgba(14, 24, 37, 0.98) 100%);
    border: 1px solid rgba(123, 146, 180, 0.18);
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card strong,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact strong {
    color: #f7fbff !important;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card span,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card small,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact span,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact small {
    color: rgba(198, 215, 239, 0.84) !important;
}

body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card i,
body.is-mobile-app-context .mm-mobile-family-card .mm-mobile-list-card-compact i {
    background: rgba(223, 234, 255, 0.92);
    color: #1990ff;
}

body.is-mobile-app-context .mm-mobile-segmented {
    background: linear-gradient(180deg, rgba(20, 31, 46, 0.98) 0%, rgba(9, 18, 30, 0.98) 100%);
    border: 1px solid rgba(183, 201, 227, 0.16);
}

body.is-mobile-app-context .mm-mobile-segmented button {
    color: rgba(215, 229, 255, 0.62);
    font-size: 0.94rem;
    min-height: 48px;
    padding: 0.6rem 0.72rem;
    border-radius: 18px;
    line-height: 1.2;
}

body.is-mobile-app-context .mm-mobile-segmented button.is-active {
    background: linear-gradient(135deg, #1b8cf2 0%, #2f6cf0 100%);
    color: #ffffff;
}

body.is-mobile-app-context .mm-mobile-market-action-dock,
body.is-mobile-app-context .mm-mobile-message-composer,
body.is-mobile-app-context .mm-mobile-forum-composer {
    backdrop-filter: blur(20px);
}

body.is-mobile-app-context .mm-mobile-message-composer.is-sticky {
    position: sticky;
    bottom: calc(var(--mm-mobile-bottom-height, 118px) + env(safe-area-inset-bottom) + 10px);
    z-index: 8;
}

body.is-mobile-app-context .mm-mobile-message-thread-screen {
    padding-bottom: calc(var(--mm-mobile-bottom-height, 118px) + env(safe-area-inset-bottom) + 1rem);
}

body.is-mobile-app-context .mm-mobile-thread-screen {
    padding-bottom: calc(var(--mm-mobile-bottom-height, 118px) + env(safe-area-inset-bottom) + 6.5rem);
}

body.is-mobile-app-context .mm-mobile-thread-kicker-row small,
body.is-mobile-app-context .mm-mobile-chat-day-separator span {
    color: rgba(212, 225, 248, 0.72);
}

body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-market-card,
body.is-mobile-app-context .mm-mobile-brand-list-card,
body.is-mobile-app-context .mm-mobile-guide-card.is-soft {
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.98) 0%, rgba(11, 20, 32, 0.98) 100%);
    border-color: rgba(131, 154, 189, 0.14);
    box-shadow: 0 16px 32px rgba(2, 8, 23, 0.16);
}

body.is-mobile-app-context .mm-mobile-list-card.is-highlight {
    background: linear-gradient(135deg, rgba(14, 90, 171, 0.26) 0%, rgba(9, 43, 92, 0.92) 100%);
    border-color: rgba(91, 181, 255, 0.18);
}

body.is-mobile-app-context .form-control,
body.is-mobile-app-context .form-select,
body.is-mobile-app-context textarea.form-control,
body.is-mobile-app-context .input-group-text {
    padding: 0.72rem 0.86rem;
    font-size: 0.92rem;
    background: rgba(10, 18, 29, 0.94);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context .form-control::placeholder,
body.is-mobile-app-context textarea.form-control::placeholder {
    color: rgba(145, 168, 190, 0.88);
}

body.is-mobile-app-context .form-control:focus,
body.is-mobile-app-context .form-select:focus,
body.is-mobile-app-context textarea.form-control:focus {
    background: rgba(12, 21, 33, 0.98);
    border-color: rgba(98, 210, 255, 0.42);
    box-shadow: 0 0 0 0.2rem rgba(24, 164, 255, 0.16);
    color: var(--mm-mobile-text);
}

body.is-mobile-app-context select option {
    background: #0b1623;
    color: var(--mm-mobile-text);
}

.app-community-swipe-screen {
    display: grid;
    gap: 1rem;
}

.app-community-swipe-top-actions {
    margin-top: 0.45rem;
}

.app-community-swipe-shell {
    overflow: hidden;
}

.app-community-swipe-stage {
    position: relative;
    min-height: 29rem;
}

.app-community-swipe-skeleton {
    display: grid;
    gap: 0.9rem;
}

.app-community-swipe-skeleton div {
    border-radius: 1.25rem;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.05));
    background-size: 200% 100%;
    animation: appCommunitySwipePulse 1.25s ease-in-out infinite;
}

.app-community-swipe-skeleton div:first-child {
    min-height: 17rem;
}

.app-community-swipe-skeleton div:nth-child(2) {
    min-height: 5rem;
}

.app-community-swipe-skeleton div:nth-child(3) {
    min-height: 4rem;
}

.app-community-swipe-card {
    border-radius: 1.7rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(98, 210, 255, 0.16), transparent 24%),
        linear-gradient(180deg, rgba(20, 33, 48, 0.98) 0%, rgba(8, 16, 27, 0.99) 100%);
    box-shadow: 0 26px 54px rgba(0, 0, 0, 0.26);
}

.app-community-swipe-media {
    position: relative;
    display: block;
    width: 100%;
    min-height: 17rem;
    padding: 0;
    border: 0;
    background: linear-gradient(180deg, rgba(12, 21, 33, 0.96), rgba(7, 14, 23, 0.98));
}

.app-community-swipe-media img,
.app-community-swipe-media-fallback {
    display: block;
    width: 100%;
    min-height: 17rem;
}

.app-community-swipe-media img {
    object-fit: cover;
}

.app-community-swipe-media-fallback {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, 0.44);
    font-size: 3rem;
}

.app-community-swipe-badges {
    position: absolute;
    inset: 0 auto auto 0;
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    padding: 1rem;
}

.app-community-swipe-body {
    display: grid;
    gap: 0.95rem;
    padding: 1.05rem 1rem 1rem;
}

.app-community-swipe-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.app-community-swipe-head strong {
    display: block;
    font-size: 1.08rem;
    line-height: 1.18;
}

.app-community-swipe-head small,
.app-community-swipe-owner span {
    color: var(--mm-mobile-muted);
}

.app-community-like-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.55rem 0.78rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.05);
    color: var(--mm-mobile-text);
}

.app-community-like-pill.is-active {
    background: rgba(255, 113, 147, 0.16);
    border-color: rgba(255, 113, 147, 0.28);
    color: #ffd4df;
}

.app-community-like-pill i {
    color: currentColor;
}

.app-community-swipe-owner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.app-community-swipe-owner-avatar {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.05);
    color: var(--mm-mobile-accent);
    font-size: 1.3rem;
    flex-shrink: 0;
}

.app-community-swipe-owner strong,
.app-community-swipe-owner span {
    display: block;
    overflow-wrap: anywhere;
}

.app-community-swipe-story {
    margin: 0;
    color: rgba(245, 251, 255, 0.94);
    font-size: 0.94rem;
    line-height: 1.55;
}

.app-community-swipe-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.app-community-swipe-facts span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    max-width: 100%;
    padding: 0.48rem 0.68rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.045);
    color: var(--mm-mobile-text);
    font-size: 0.79rem;
}

.app-community-swipe-facts i {
    color: var(--mm-mobile-accent);
}

.app-community-swipe-rating {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

.app-community-swipe-rating span {
    color: var(--mm-mobile-muted);
    font-size: 0.84rem;
}

.app-community-rating-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    flex-wrap: wrap;
}

.app-community-rating-star {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.32);
    display: grid;
    place-items: center;
}

.app-community-rating-star.is-active {
    color: #ffd96a;
    background: rgba(255, 217, 106, 0.12);
    border-color: rgba(255, 217, 106, 0.3);
}

.app-community-swipe-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.app-community-swipe-control {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    padding: 0.88rem 0.8rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: var(--mm-mobile-text);
    font-weight: 600;
}

.app-community-swipe-control.is-muted {
    background: rgba(255, 255, 255, 0.035);
}

.app-community-swipe-control.is-primary {
    background: linear-gradient(135deg, #aee9ff 0%, #4cd7a7 100%);
    border-color: rgba(174, 233, 255, 0.3);
    color: #04111b;
}

.app-community-swipe-control.is-disabled {
    opacity: 0.46;
}

.app-community-ranking-tabs {
    display: flex;
    gap: 0.55rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

.app-community-ranking-tab {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: var(--mm-mobile-muted);
    border-radius: 999px;
    padding: 0.6rem 0.9rem;
    white-space: nowrap;
    font-size: 0.81rem;
}

.app-community-ranking-tab.is-active {
    color: var(--mm-mobile-text);
    background: rgba(98, 210, 255, 0.14);
    border-color: rgba(98, 210, 255, 0.24);
}

.app-community-ranking-panel {
    display: none;
    margin-top: 0.95rem;
}

.app-community-ranking-panel.is-active {
    display: grid;
    gap: 0.68rem;
}

.app-community-ranking-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.9rem 0.95rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: rgba(255, 255, 255, 0.035);
    color: var(--mm-mobile-text);
    text-decoration: none;
}

.app-community-ranking-copy {
    min-width: 0;
}

.app-community-ranking-copy strong,
.app-community-ranking-copy small {
    display: block;
}

.app-community-ranking-copy small {
    color: var(--mm-mobile-muted);
}

.app-community-ranking-stat {
    flex-shrink: 0;
    padding: 0.46rem 0.66rem;
    border-radius: 999px;
    background: rgba(98, 210, 255, 0.12);
    color: #d8f7ff;
    font-weight: 700;
}

.app-community-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.app-community-checkline {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.7rem 0.8rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.03);
    color: var(--mm-mobile-text);
}

.app-community-checkline input {
    flex-shrink: 0;
}

body.is-mobile-app-context .app-community-swipe-screen {
    overflow-x: clip;
}

body.is-mobile-app-context .app-community-swipe-screen,
body.is-mobile-app-context .app-community-swipe-screen * {
    box-sizing: border-box;
}

body.is-mobile-app-context .app-community-swipe-screen img,
body.is-mobile-app-context .app-community-swipe-screen button,
body.is-mobile-app-context .app-community-swipe-screen a,
body.is-mobile-app-context .app-community-swipe-screen input,
body.is-mobile-app-context .app-community-swipe-screen select {
    max-width: 100%;
}

body.is-mobile-app-context .app-community-swipe-screen .mm-mobile-panel,
body.is-mobile-app-context .app-community-swipe-screen .mm-mobile-hero {
    overflow: hidden;
}

body.is-mobile-app-context .app-community-index-top-actions .mm-mobile-primary-cta,
body.is-mobile-app-context .app-community-index-top-actions .mm-mobile-secondary-cta,
body.is-mobile-app-context .app-community-swipe-top-actions .mm-mobile-primary-cta,
body.is-mobile-app-context .app-community-swipe-top-actions .mm-mobile-secondary-cta {
    flex: 1 1 0;
}

@media (max-width: 389px) {
    .app-community-swipe-controls,
    .app-community-filter-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .app-community-swipe-rating {
        align-items: flex-start;
        flex-direction: column;
    }
}

@keyframes appCommunitySwipePulse {
    0% {
        background-position: 180% 0;
    }
    100% {
        background-position: -20% 0;
    }
}

.mm-gps-page,
.mm-gps-page * {
    box-sizing: border-box;
}

.mm-gps-app-root,
.mm-gps-page,
.mm-gps-mobile-screen,
.mm-gps-mobile-history,
.mm-gps-mobile-detail,
.mm-gps-mobile-settings {
    min-width: 0;
    max-width: 100%;
    color: #f8fafc;
}

.mm-gps-page a,
.mm-gps-page p,
.mm-gps-page span,
.mm-gps-page strong,
.mm-gps-page small,
.mm-gps-mobile-screen a,
.mm-gps-mobile-screen p,
.mm-gps-mobile-screen span,
.mm-gps-mobile-screen strong,
.mm-gps-mobile-screen small {
    overflow-wrap: anywhere;
}

.mm-gps-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 1.65rem;
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.22), transparent 38%),
        radial-gradient(circle at bottom left, rgba(249, 115, 22, 0.18), transparent 42%),
        linear-gradient(145deg, #04131f 0%, #0a2234 52%, #11324f 100%);
    color: #f8fafc;
    box-shadow: 0 26px 50px rgba(2, 12, 27, 0.22);
}

.mm-gps-hero-secondary {
    margin-bottom: 1rem;
}

.mm-gps-hero-copy h1 {
    margin: 0.25rem 0 0.35rem;
    font-size: clamp(1.65rem, 4vw, 2.15rem);
}

.mm-gps-hero-copy p,
.mm-gps-hero-copy small {
    margin: 0;
    color: rgba(226, 232, 240, 0.82);
}

.mm-gps-hero-actions,
.mm-gps-summary-actions,
.mm-gps-inline-actions,
.mm-gps-sheet-actions,
.mm-gps-history-stats {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    min-width: 0;
}

.mm-gps-shell,
.mm-gps-history-stack {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

body.is-mobile-app-context .mm-gps-mobile-screen,
body.is-mobile-app-context .mm-gps-mobile-history,
body.is-mobile-app-context .mm-gps-mobile-detail,
body.is-mobile-app-context .mm-gps-mobile-settings {
    padding-bottom: calc(10.5rem + env(safe-area-inset-bottom, 0px));
}

.mm-gps-selected-bike,
.mm-gps-dial-card,
.mm-gps-control-card,
.mm-gps-map-card,
.mm-gps-history-card,
.mm-gps-sheet,
.mm-gps-desktop-shell,
.mm-gps-desktop-stage {
    border-radius: 1.45rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.985), rgba(241, 245, 249, 0.97));
    border: 1px solid rgba(148, 163, 184, 0.24);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.14);
    color: #0f172a;
}

.mm-gps-selected-bike,
.mm-gps-dial-card,
.mm-gps-control-card,
.mm-gps-map-card {
    padding: 1rem;
}

.mm-gps-control-card {
    padding-bottom: calc(1.15rem + env(safe-area-inset-bottom, 0px));
}

.mm-gps-dial-card,
.mm-gps-control-card,
.mm-gps-map-card {
    position: relative;
    overflow: hidden;
}

.mm-gps-dial-card::before,
.mm-gps-control-card::before,
.mm-gps-map-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 88px;
    background: linear-gradient(180deg, rgba(14, 165, 233, 0.09), rgba(14, 165, 233, 0));
    pointer-events: none;
}

.mm-gps-selected-bike {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    color: #0f172a;
}

.mm-gps-label {
    display: inline-flex;
    margin-bottom: 0.3rem;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0b5f6d;
    text-shadow: none;
}

.mm-gps-selected-bike strong,
.mm-gps-dial-card strong,
.mm-gps-control-card strong,
.mm-gps-map-card strong,
.mm-gps-history-card strong,
.mm-gps-sheet strong,
.mm-gps-stats-grid strong,
.mm-gps-summary-grid strong {
    color: #0f172a;
}

.mm-gps-selected-bike small,
.mm-gps-dial-card small,
.mm-gps-control-card small,
.mm-gps-map-card small,
.mm-gps-history-card small,
.mm-gps-sheet small,
.mm-gps-stats-grid span,
.mm-gps-summary-grid span,
.mm-gps-history-stats {
    color: #475569;
}

.mm-gps-dial-head,
.mm-gps-map-head,
.mm-gps-history-head,
.mm-gps-live-state {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}

.mm-gps-conflict-banner {
    position: relative;
    display: grid;
    gap: 0.65rem;
    padding: 0.9rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(254, 242, 242, 0.98), rgba(255, 237, 213, 0.95));
    border: 1px solid rgba(248, 113, 113, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.mm-gps-conflict-banner strong {
    color: #991b1b;
}

.mm-gps-conflict-banner small {
    color: #7c2d12;
}

.mm-gps-title-stack {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.mm-gps-title-stack small {
    font-size: 0.8rem;
    color: #64748b;
}

.mm-gps-dial {
    position: relative;
    width: min(100%, 280px);
    aspect-ratio: 1 / 1;
    margin: 0.85rem auto 1rem;
    display: grid;
    place-items: center;
}

.mm-gps-dial-glow {
    position: absolute;
    inset: 12%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.2), rgba(14, 165, 233, 0.08) 48%, transparent 72%);
    filter: blur(8px);
    opacity: 0.9;
}

.mm-gps-dial-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.04) 38%, transparent 39%),
        conic-gradient(from 220deg, #0ea5e9, #22c55e, #f97316, #0ea5e9);
    padding: 10px;
    -webkit-mask: radial-gradient(circle at center, transparent 61%, black 62%);
    mask: radial-gradient(circle at center, transparent 61%, black 62%);
    opacity: 0.92;
}

.mm-gps-dial-core {
    position: relative;
    z-index: 1;
    width: 72%;
    height: 72%;
    border-radius: 50%;
    background: linear-gradient(160deg, #08111f 0%, #16324f 100%);
    color: #f8fafc;
    display: grid;
    place-items: center;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 16px 40px rgba(8, 17, 31, 0.28);
}

.mm-gps-dial-core strong {
    display: block;
    font-size: clamp(2.6rem, 11vw, 4rem);
    line-height: 0.95;
    color: #ffffff;
    text-shadow: 0 2px 12px rgba(15, 23, 42, 0.28);
}

.mm-gps-dial-core span {
    font-size: 0.95rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(226, 232, 240, 0.78);
}

.mm-gps-dial-foot,
.mm-gps-meta-list,
.mm-gps-summary-grid,
.mm-gps-stats-grid {
    display: grid;
    gap: 0.75rem;
}

.mm-gps-dial-foot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mm-gps-dial-foot div,
.mm-gps-meta-list div {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    color: #334155;
}

.mm-gps-dial-foot div {
    padding: 0.85rem 0.95rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.mm-gps-live-pill,
.mm-gps-quality-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.44rem 0.8rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    background: rgba(15, 23, 42, 0.06);
    color: #0f172a;
}

.mm-gps-quality-pill {
    background: rgba(14, 165, 233, 0.16);
    color: #0c4a6e;
    border: 1px solid rgba(14, 165, 233, 0.18);
}

.mm-gps-live-pill.is-neutral,
.mm-gps-quality-pill.is-neutral {
    background: rgba(148, 163, 184, 0.12);
    color: #334155;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.mm-gps-live-pill.is-success,
.mm-gps-quality-pill.is-success {
    background: rgba(34, 197, 94, 0.14);
    color: #166534;
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.mm-gps-live-pill.is-info,
.mm-gps-quality-pill.is-info {
    background: rgba(14, 165, 233, 0.16);
    color: #0c4a6e;
    border: 1px solid rgba(14, 165, 233, 0.18);
}

.mm-gps-live-pill.is-warning,
.mm-gps-quality-pill.is-warning {
    background: rgba(245, 158, 11, 0.16);
    color: #92400e;
    border: 1px solid rgba(245, 158, 11, 0.22);
}

.mm-gps-live-pill.is-danger,
.mm-gps-quality-pill.is-danger {
    background: rgba(239, 68, 68, 0.14);
    color: #b91c1c;
    border: 1px solid rgba(239, 68, 68, 0.18);
}

.mm-gps-live-pill.is-muted,
.mm-gps-quality-pill.is-muted {
    background: rgba(100, 116, 139, 0.14);
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.mm-gps-quality-pill.is-plain {
    background: rgba(148, 163, 184, 0.18);
    color: #334155;
}

.mm-gps-live-pill.is-subtle {
    background: rgba(148, 163, 184, 0.15);
    color: #334155;
}

.mm-gps-control-copy {
    display: grid;
    gap: 0.18rem;
    margin: 0.25rem 0 0.2rem;
}

.mm-gps-control-copy strong {
    font-size: 1.08rem;
}

.mm-gps-control-copy small {
    color: #64748b;
}

.mm-gps-enable-location-btn {
    width: 100%;
    min-height: 3.2rem;
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.12), rgba(56, 189, 248, 0.2));
    border: 1px solid rgba(14, 165, 233, 0.24);
    color: #0c4a6e;
}

.mm-gps-still-driving-btn {
    width: 100%;
    min-height: 3.2rem;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), rgba(134, 239, 172, 0.2));
    border: 1px solid rgba(34, 197, 94, 0.24);
    color: #166534;
}

.mm-gps-primary-btn,
.mm-gps-ghost-btn,
.mm-gps-danger-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    border: 0;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.mm-gps-primary-btn {
    width: 100%;
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    color: #fff;
    box-shadow: 0 16px 32px rgba(2, 132, 199, 0.26);
    min-height: 3.4rem;
    font-size: 1rem;
}

.mm-gps-ghost-btn {
    background: rgba(15, 23, 42, 0.08);
    color: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.22);
}

.mm-gps-danger-btn {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #fff;
}

.mm-gps-primary-btn:hover,
.mm-gps-ghost-btn:hover,
.mm-gps-danger-btn:hover {
    transform: translateY(-1px);
}

.mm-gps-primary-btn[disabled],
.mm-gps-ghost-btn[disabled],
.mm-gps-danger-btn[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.mm-gps-stats-grid,
.mm-gps-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mm-gps-stats-grid article,
.mm-gps-summary-grid article {
    padding: 0.95rem;
    border-radius: 1.15rem;
    background: linear-gradient(160deg, rgba(255, 255, 255, 1), rgba(241, 245, 249, 0.98));
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.mm-gps-stats-grid strong,
.mm-gps-summary-grid strong,
.mm-gps-meta-list strong {
    display: block;
    font-size: 1rem;
    color: #0f172a;
}

.mm-gps-stats-grid span,
.mm-gps-summary-grid span,
.mm-gps-meta-list span {
    display: block;
    font-size: 0.79rem;
    color: #64748b;
}

.mm-gps-map,
.mm-gps-detail-map,
.mm-gps-history-map {
    width: 100%;
    max-width: 100%;
    min-height: 220px;
    border-radius: 1.2rem;
    overflow: hidden;
    background: linear-gradient(180deg, #dbeafe 0%, #f8fafc 100%);
}

.mm-gps-map-meta {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin: 0.25rem 0 0.8rem;
}

.mm-gps-map-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0.45rem 0.72rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.mm-gps-history-map {
    min-height: 160px;
}

.mm-gps-map-summary {
    min-height: 180px;
}

.mm-gps-history-card {
    padding: 0.85rem;
    display: grid;
    gap: 0.85rem;
    color: #0f172a;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
    overflow: hidden;
}

a.mm-gps-history-card,
a.mm-gps-history-card:hover,
a.mm-gps-history-card:focus,
a.mm-gps-history-card:active {
    color: #0f172a;
    text-decoration: none;
}

a.mm-gps-history-card:hover,
a.mm-gps-history-card:focus {
    transform: translateY(-1px);
    box-shadow: 0 22px 42px rgba(15, 23, 42, 0.16);
    border-color: rgba(14, 165, 233, 0.24);
}

.mm-gps-history-card strong,
.mm-gps-history-card small,
.mm-gps-history-card span {
    text-decoration: none;
}

a.mm-gps-history-card *,
a.mm-gps-history-card:visited *,
a.mm-gps-history-card:hover *,
a.mm-gps-history-card:focus * {
    text-decoration: none !important;
}

.mm-gps-history-card.is-disabled {
    opacity: 0.9;
    cursor: default;
}

.mm-gps-history-card.is-clickable {
    cursor: pointer;
}

.mm-gps-history-note {
    font-size: 0.78rem;
    line-height: 1.45;
    color: #9a3412;
    background: rgba(255, 237, 213, 0.92);
    border: 1px solid rgba(251, 146, 60, 0.22);
    border-radius: 0.95rem;
    padding: 0.7rem 0.8rem;
}

.mm-gps-vehicle-card {
    padding: 0.95rem;
    border-radius: 1.35rem;
    background:
        radial-gradient(circle at top right, rgba(14, 165, 233, 0.09), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(247, 250, 252, 0.99));
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.mm-gps-vehicle-card-top {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
}

.mm-gps-vehicle-cover {
    width: 84px;
    height: 84px;
    border-radius: 1.1rem;
    object-fit: cover;
    background: linear-gradient(180deg, #dbeafe, #eff6ff);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.mm-gps-vehicle-cover-placeholder {
    display: grid;
    place-items: center;
    color: #0c4a6e;
    font-size: 1.6rem;
}

.mm-gps-vehicle-copy {
    min-width: 0;
    display: grid;
    gap: 0.24rem;
}

.mm-gps-vehicle-copy strong {
    font-size: 1.12rem;
    line-height: 1.15;
}

.mm-gps-vehicle-copy small {
    font-size: 0.82rem;
    color: #475569;
}

.mm-gps-vehicle-subline {
    font-size: 0.82rem;
    font-weight: 600;
    color: #0c4a6e;
}

.mm-gps-vehicle-stats {
    display: grid;
    gap: 0.45rem;
    padding: 0.8rem 0.9rem;
    border-radius: 1rem;
    background: rgba(241, 245, 249, 0.86);
    border: 1px solid rgba(148, 163, 184, 0.15);
}

.mm-gps-vehicle-stats span {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #334155;
    font-size: 0.84rem;
}

.mm-gps-vehicle-stats i {
    color: #0284c7;
    flex: 0 0 auto;
}

.mm-gps-history-stats {
    font-size: 0.83rem;
    color: #475569;
}

.mm-gps-history-copy {
    min-width: 0;
    display: grid;
    gap: 0.55rem;
}

.mm-gps-history-copy strong {
    display: block;
    font-size: 1.12rem;
    line-height: 1.2;
}

.mm-gps-history-copy small {
    display: block;
    font-size: 0.83rem;
    font-weight: 700;
    color: #0b5f6d;
}

.mm-gps-history-stats {
    row-gap: 0.55rem;
}

.mm-gps-history-stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.75rem;
    border-radius: 999px;
    background: rgba(241, 245, 249, 0.92);
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.mm-gps-history-max {
    background: linear-gradient(180deg, rgba(255, 237, 213, 0.98), rgba(254, 215, 170, 0.94)) !important;
    border-color: rgba(251, 146, 60, 0.24) !important;
    color: #9a3412 !important;
    font-weight: 800 !important;
}

.mm-gps-route-rail {
    display: grid;
    gap: 0.85rem;
}

.mm-gps-sheet-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(2, 6, 23, 0.48);
    z-index: 1040;
}

.mm-gps-sheet {
    position: fixed;
    left: max(0.75rem, env(safe-area-inset-left, 0px) + 0.45rem);
    right: max(0.75rem, env(safe-area-inset-right, 0px) + 0.45rem);
    bottom: max(0.75rem, env(safe-area-inset-bottom, 0px) + 0.45rem);
    z-index: 1041;
    padding: 1rem;
    max-height: calc(100vh - 2rem - env(safe-area-inset-top, 0px));
    overflow: auto;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(248, 250, 252, 0.985));
    color: #0f172a;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.22);
}

.mm-gps-sheet-handle {
    width: 56px;
    height: 5px;
    border-radius: 999px;
    margin: 0 auto 0.95rem;
    background: rgba(148, 163, 184, 0.65);
}

.mm-gps-sheet-head {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: flex-start;
    margin-bottom: 0.85rem;
}

.mm-gps-sheet-head strong {
    display: block;
    margin-bottom: 0.18rem;
    font-size: 1.22rem;
    line-height: 1.2;
}

.mm-gps-sheet-close {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    border: 0;
    background: rgba(15, 23, 42, 0.07);
    color: #0f172a;
}

.mm-gps-sheet-head strong,
.mm-gps-sheet-head small,
.mm-gps-sheet-body,
.mm-gps-sheet-body p,
.mm-gps-sheet-body span,
.mm-gps-sheet-body strong,
.mm-gps-sheet-body small {
    color: #0f172a;
}

.mm-gps-sheet-head small,
.mm-gps-sheet-body small,
.mm-gps-manual-form label span,
.mm-gps-summary-title span {
    color: #475569;
}

.mm-gps-sheet-body,
.mm-gps-manual-form {
    display: grid;
    gap: 0.85rem;
}

.mm-gps-sheet-actions {
    position: sticky;
    bottom: -1rem;
    padding-top: 0.95rem;
    margin-top: 0.95rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0), rgba(248, 250, 252, 0.98) 34%);
}

.mm-gps-manual-form label,
.mm-gps-summary-title {
    display: grid;
    gap: 0.35rem;
    color: #0f172a;
    font-weight: 600;
}

.mm-gps-manual-form input,
.mm-gps-manual-form textarea,
.mm-gps-manual-form select,
.mm-gps-summary-title input {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.88rem 0.95rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #fff;
    color: #0f172a;
}

.mm-gps-ghost-btn.is-disabled,
.mm-gps-sheet a[aria-disabled="true"] {
    opacity: 0.48;
    pointer-events: none;
}

.mm-gps-history-grid {
    display: grid;
    gap: 1rem;
}

.mm-gps-desktop-stage {
    min-height: 720px;
    padding: 1rem;
}

.leaflet-container {
    font-family: inherit;
}

@media (max-width: 767.98px) {
    .mm-gps-hero,
    .mm-gps-selected-bike {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 430px) {
    .mm-gps-history-stats,
    .mm-gps-summary-actions,
    .mm-gps-inline-actions,
    .mm-gps-sheet-actions {
        flex-direction: column;
    }

    .mm-gps-map,
    .mm-gps-detail-map,
    .mm-gps-history-map {
        min-height: 190px;
    }
}

/* MotoManager mobile native refresh */
body.is-mobile-app-context {
    --mm-mobile-bg: var(--mm-bg);
    --mm-mobile-surface: var(--mm-card);
    --mm-mobile-surface-soft: #f8fbff;
    --mm-mobile-border: var(--mm-border);
    --mm-mobile-text: var(--mm-text);
    --mm-mobile-muted: var(--mm-muted);
    --mm-mobile-accent: var(--mm-blue);
    --mm-mobile-accent-deep: var(--mm-blue-dark);
    --mm-mobile-light-surface: #ffffff;
    --mm-mobile-light-border: var(--mm-border);
    --mm-mobile-light-text: var(--mm-text);
    --mm-mobile-light-muted: var(--mm-muted);
    --mm-mobile-appbar-height: 78px;
    --mm-mobile-bottom-height: 92px;
    background:
        radial-gradient(circle at top center, rgba(37, 99, 235, 0.1), transparent 24%),
        linear-gradient(180deg, #f9fbff 0%, var(--mm-bg) 100%);
    color: var(--mm-text);
}

body.is-mobile-app-context #app-main.mm-mobile-app-main {
    padding-top: calc(var(--mm-mobile-appbar-height) + 10px) !important;
    padding-bottom: calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom, 0px) + 20px) !important;
}

body.is-mobile-app-context .mm-mobile-screen,
body.is-mobile-app-context .app-mobile-screen {
    padding-bottom: calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom, 0px) + 10px);
}

body.is-mobile-app-context a {
    color: var(--mm-blue-dark);
}

body.is-mobile-app-context a:focus-visible,
body.is-mobile-app-context button:focus-visible,
body.is-mobile-app-context .form-control:focus,
body.is-mobile-app-context .form-select:focus {
    outline: 0;
    border-color: rgba(37, 99, 235, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
}

body.is-mobile-app-context .form-control,
body.is-mobile-app-context .form-select,
body.is-mobile-app-context textarea.form-control,
body.is-mobile-app-context .input-group-text {
    background: #ffffff !important;
    color: var(--mm-text) !important;
    border-color: var(--mm-border) !important;
}

body.is-mobile-app-context .form-control::placeholder,
body.is-mobile-app-context textarea.form-control::placeholder {
    color: #6b7280 !important;
}

body.is-mobile-app-context .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-brand-list-card,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-market-card,
body.is-mobile-app-context .mm-mobile-message-card,
body.is-mobile-app-context .mm-mobile-thread-card,
body.is-mobile-app-context .mm-mobile-thread-reply,
body.is-mobile-app-context .mm-mobile-notification-card,
body.is-mobile-app-context .mm-mobile-empty-state,
body.is-mobile-app-context .mm-mobile-gallery-tile,
body.is-mobile-app-context .mm-mobile-gallery-media-card,
body.is-mobile-app-context .mm-mobile-gallery-audio-card,
body.is-mobile-app-context .mm-mobile-filter-block,
body.is-mobile-app-context .mm-mobile-action-lead,
body.is-mobile-app-context .mm-mobile-check-tile,
body.is-mobile-app-context .mm-mobile-market-action-dock,
body.is-mobile-app-context .mm-mobile-message-composer,
body.is-mobile-app-context .mm-mobile-forum-composer,
body.is-mobile-app-context .mm-mobile-market-detail-screen .mm-mobile-detail-list > div,
body.is-mobile-app-context .mm-mobile-safety-card,
body.is-mobile-app-context .app-mobile-section-card,
body.is-mobile-app-context .app-mobile-dashboard-hero,
body.is-mobile-app-context .app-mobile-quick-card,
body.is-mobile-app-context .app-mobile-garage-card {
    background: #ffffff !important;
    color: var(--mm-text) !important;
    border: 1px solid var(--mm-border) !important;
    box-shadow: var(--mm-shadow) !important;
    backdrop-filter: none !important;
}

body.is-mobile-app-context .mm-mobile-hero h1,
body.is-mobile-app-context .mm-mobile-panel-head strong,
body.is-mobile-app-context .mm-mobile-list-card strong,
body.is-mobile-app-context .mm-mobile-brand-list-card strong,
body.is-mobile-app-context .mm-mobile-market-card strong,
body.is-mobile-app-context .mm-mobile-message-card strong,
body.is-mobile-app-context .mm-mobile-thread-card strong,
body.is-mobile-app-context .mm-mobile-thread-reply strong,
body.is-mobile-app-context .mm-mobile-empty-state strong,
body.is-mobile-app-context .mm-mobile-topic-card h2,
body.is-mobile-app-context .mm-mobile-detail-list strong,
body.is-mobile-app-context .app-mobile-dashboard-hero strong,
body.is-mobile-app-context .app-mobile-section-card strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-hero p,
body.is-mobile-app-context .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-market-card p,
body.is-mobile-app-context .mm-mobile-market-card small,
body.is-mobile-app-context .mm-mobile-market-meta,
body.is-mobile-app-context .mm-mobile-market-meta-inline,
body.is-mobile-app-context .mm-mobile-message-copy p,
body.is-mobile-app-context .mm-mobile-notification-card p,
body.is-mobile-app-context .mm-mobile-notification-card small,
body.is-mobile-app-context .mm-mobile-thread-meta span,
body.is-mobile-app-context .mm-mobile-empty-state span,
body.is-mobile-app-context .mm-mobile-topic-card p,
body.is-mobile-app-context .mm-mobile-topic-card-author-copy small,
body.is-mobile-app-context .mm-mobile-gallery-audio-card span,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy span,
body.is-mobile-app-context .mm-mobile-gallery-tile-copy small,
body.is-mobile-app-context .mm-mobile-filter-head span,
body.is-mobile-app-context .mm-mobile-action-card span,
body.is-mobile-app-context .mm-mobile-check-tile span,
body.is-mobile-app-context .mm-mobile-detail-list span,
body.is-mobile-app-context .app-mobile-dashboard-hero p,
body.is-mobile-app-context .app-mobile-section-card small,
body.is-mobile-app-context .text-muted {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-list-card i,
body.is-mobile-app-context .mm-mobile-brand-list-card i,
body.is-mobile-app-context .mm-mobile-market-meta-grid i,
body.is-mobile-app-context .mm-mobile-community-facts i,
body.is-mobile-app-context .mm-mobile-check-tile-link i,
body.is-mobile-app-context .mm-mobile-panel-close i {
    color: var(--mm-blue-dark) !important;
}

body.is-mobile-app-context .mm-mobile-primary-cta,
body.is-mobile-app-context .app-mobile-primary-action,
body.is-mobile-app-context .btn-primary {
    background: linear-gradient(135deg, var(--mm-blue) 0%, var(--mm-blue-dark) 100%) !important;
    border-color: rgba(37, 99, 235, 0.82) !important;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.24) !important;
    color: #ffffff !important;
}

body.is-mobile-app-context .mm-mobile-secondary-cta,
body.is-mobile-app-context .btn-outline-primary {
    background: #ffffff !important;
    border-color: rgba(37, 99, 235, 0.2) !important;
    color: var(--mm-blue-dark) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
}

body.is-mobile-app-context .mm-mobile-appbar {
    min-height: var(--mm-mobile-appbar-height);
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 14px 10px;
    background: linear-gradient(180deg, rgba(7, 17, 31, 0.98) 0%, rgba(11, 18, 32, 0.96) 100%) !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16) !important;
    box-shadow: 0 12px 28px rgba(2, 6, 23, 0.22) !important;
}

body.is-mobile-app-context .mm-mobile-appbar.is-detail {
    justify-content: flex-start;
}

body.is-mobile-app-context .mm-mobile-appbar-title {
    min-width: 0;
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

body.is-mobile-app-context .mm-mobile-appbar-brand {
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    text-decoration: none;
    flex: 0 0 auto;
}

body.is-mobile-app-context .mm-mobile-appbar-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

body.is-mobile-app-context .mm-mobile-appbar-brand-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.is-mobile-app-context .mm-mobile-appbar-brand-fallback {
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

body.is-mobile-app-context .mm-mobile-appbar-brand-copy {
    color: #ffffff;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    display: none;
}

body.is-mobile-app-context .mm-mobile-appbar-copy {
    min-width: 0;
    flex: 1 1 auto;
}

body.is-mobile-app-context .mm-mobile-appbar-copy small {
    color: rgba(203, 213, 225, 0.72) !important;
}

body.is-mobile-app-context .mm-mobile-appbar-copy strong {
    color: #ffffff !important;
    font-size: 1rem;
}

body.is-mobile-app-context .mm-mobile-appbar-btn,
body.is-mobile-app-context .mm-mobile-appbar-quick {
    position: relative;
    width: 40px;
    height: 40px;
    min-height: 40px;
    flex: 0 0 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: #f8fafc !important;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 18px rgba(2, 6, 23, 0.18) !important;
    transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.is-mobile-app-context .mm-mobile-appbar-btn:hover,
body.is-mobile-app-context .mm-mobile-appbar-btn:focus-visible,
body.is-mobile-app-context .mm-mobile-appbar-quick:hover,
body.is-mobile-app-context .mm-mobile-appbar-quick:focus-visible {
    transform: translateY(-1px);
    background: rgba(37, 99, 235, 0.18) !important;
    border-color: rgba(147, 197, 253, 0.42) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 22px rgba(2, 6, 23, 0.22) !important;
}

body.is-mobile-app-context .mm-mobile-appbar-quick.is-active {
    background: rgba(37, 99, 235, 0.22) !important;
    border-color: rgba(147, 197, 253, 0.46) !important;
}

body.is-mobile-app-context .mm-mobile-appbar-quick img {
    width: 15px;
    height: 15px;
    object-fit: contain;
    filter: brightness(1.35) contrast(1.12) saturate(0.2) grayscale(0.15);
    opacity: 0.96;
}

body.is-mobile-app-context .mm-mobile-appbar-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    color: #ffffff;
    font-size: 0.85rem;
    line-height: 1;
    font-weight: 700;
    text-shadow: 0 1px 6px rgba(255, 255, 255, 0.18);
}

body.is-mobile-app-context .mm-mobile-appbar-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--mm-blue);
    border: 2px solid var(--mm-navy-soft);
    color: #ffffff;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-appbar-badge.is-hidden {
    display: none;
}

body.is-mobile-app-context .app-mobile-menu-sheet,
body.is-mobile-app-context .mm-mobile-filter-sheet,
body.is-mobile-app-context .mm-mobile-action-sheet,
body.is-mobile-app-context .mm-mobile-action-sheet-fullscreen {
    background: linear-gradient(180deg, rgba(7, 17, 31, 0.99) 0%, rgba(11, 18, 32, 0.99) 100%) !important;
    color: #f8fafc !important;
}

body.is-mobile-app-context .app-mobile-menu-item {
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.is-mobile-app-context .app-mobile-menu-item strong {
    color: #ffffff !important;
}

body.is-mobile-app-context .app-mobile-menu-item small,
body.is-mobile-app-context .app-mobile-menu-kicker,
body.is-mobile-app-context .app-mobile-menu-section-head small,
body.is-mobile-app-context .app-mobile-menu-identity-copy p {
    color: rgba(203, 213, 225, 0.74) !important;
}

body.is-mobile-app-context .app-mobile-menu-item-icon,
body.is-mobile-app-context .app-mobile-sheet-close,
body.is-mobile-app-context .app-mobile-sheet-logout,
body.is-mobile-app-context .app-mobile-user-avatar.is-guest {
    color: #ffffff;
}

body.is-mobile-app-context .app-mobile-badge {
    background: var(--mm-blue);
    color: #ffffff;
}

body.is-mobile-app-context .app-mobile-bottom-shell {
    padding: 0 10px max(calc(env(safe-area-inset-bottom, 0px) + 8px), 8px);
}

body.is-mobile-app-context .app-mobile-bottom-stack {
    width: min(100%, 760px);
    gap: 8px;
}

body.is-mobile-app-context .app-mobile-bottom-toggle {
    bottom: calc(100% - 8px);
    background: rgba(11, 18, 32, 0.98) !important;
    border-color: rgba(148, 163, 184, 0.18) !important;
    color: #cbd5e1 !important;
}

body.is-mobile-app-context .app-mobile-bottom-nav:not(.app-mobile-bottom-nav-model) {
    padding: 8px;
    border-radius: 20px;
    background: rgba(7, 17, 31, 0.98) !important;
    border-color: rgba(148, 163, 184, 0.16) !important;
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.22) !important;
    max-height: 126px;
}

body.is-mobile-app-context .app-mobile-bottom-link {
    min-height: 44px;
    border-radius: 14px;
    color: #b8c2d0 !important;
    gap: 5px;
}

body.is-mobile-app-context .app-mobile-bottom-link i,
body.is-mobile-app-context .app-mobile-bottom-link span {
    color: inherit !important;
}

body.is-mobile-app-context .app-mobile-bottom-link.is-active {
    background: rgba(37, 99, 235, 0.18) !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.22);
}

body.is-mobile-app-context .app-mobile-bottom-link-menu {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.26), rgba(29, 78, 216, 0.2)) !important;
    color: #ffffff !important;
}

body.is-mobile-app-context .mm-mobile-native-home {
    display: block;
    width: 100%;
    padding: 0 10px calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom, 0px) + 8px) !important;
}

body.is-mobile-app-context #app-main.mm-mobile-app-main:has(.mm-mobile-native-home) {
    padding-top: calc(var(--mm-mobile-appbar-height) + 6px) !important;
}

body.is-mobile-app-context .mm-mobile-native-home.mm-mobile-screen,
body.is-mobile-app-context .mm-mobile-native-home.app-mobile-screen {
    width: 100%;
    max-width: 100%;
    gap: 0;
    padding-inline: 0 !important;
}

body.is-mobile-app-context .mm-mobile-home-grid-wrap {
    width: 100%;
}

body.is-mobile-app-context .mm-mobile-home-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 2px;
    width: 100%;
}

body.is-mobile-app-context .mm-mobile-home-card {
    position: relative;
    min-height: 192px;
    padding: 14px 10px 12px;
    border-radius: 20px;
    border: 1px solid var(--mm-border);
    background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 4px;
    color: var(--mm-text);
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    overflow: hidden;
}

body.is-mobile-app-context button.mm-mobile-home-card {
    width: 100%;
    appearance: none;
}

body.is-mobile-app-context .mm-mobile-home-card:hover,
body.is-mobile-app-context .mm-mobile-home-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.14);
}

body.is-mobile-app-context .mm-mobile-home-card:active {
    transform: scale(0.985);
}

body.is-mobile-app-context .mm-mobile-home-card-badge {
    position: absolute;
    top: 9px;
    right: 9px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--mm-blue) 0%, var(--mm-blue-dark) 100%);
    box-shadow: 0 8px 16px rgba(37, 99, 235, 0.24);
    color: #ffffff;
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1;
}

body.is-mobile-app-context .mm-mobile-home-card-icon {
    width: 100%;
    min-height: 100px;
    margin-bottom: 8px;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    box-shadow: none;
}

body.is-mobile-app-context .mm-mobile-home-card-icon img {
    width: auto;
    max-width: min(100%, 100px);
    height: auto;
    max-height: 96px;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
}

body.is-mobile-app-context .mm-mobile-home-card strong {
    margin: 0;
    color: var(--mm-text);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

body.is-mobile-app-context .mm-mobile-home-card > span:not(.mm-mobile-home-card-icon) {
    color: var(--mm-muted);
    font-size: 0.8rem;
    line-height: 1.26;
}

body.is-mobile-app-context table {
    background: #ffffff;
    border-radius: 18px;
}

body.is-mobile-app-context .table,
body.is-mobile-app-context .table td,
body.is-mobile-app-context .table th {
    color: var(--mm-text);
    border-color: rgba(229, 231, 235, 0.88);
}

body.is-mobile-app-context .badge,
body.is-mobile-app-context .app-shell-nav-counter {
    background-color: var(--mm-blue);
    color: #ffffff;
}

@media (min-width: 391px) {
    body.is-mobile-app-context .mm-mobile-appbar-brand-copy {
        display: inline;
    }
}

@media (max-width: 390px) {
    body.is-mobile-app-context .mm-mobile-appbar {
        gap: 8px;
        padding-left: 12px;
        padding-right: 12px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-actions {
        gap: 4px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-btn,
    body.is-mobile-app-context .mm-mobile-appbar-quick {
        width: 36px;
        height: 36px;
        min-height: 36px;
        flex-basis: 36px;
        border-radius: 12px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-title {
        gap: 8px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-quick img {
        width: 14px;
        height: 14px;
    }

    body.is-mobile-app-context .mm-mobile-appbar-glyph {
        width: 14px;
        height: 14px;
        font-size: 0.78rem;
    }
}

@media (max-width: 359px) {
    body.is-mobile-app-context .mm-mobile-home-grid {
        gap: 10px;
    }

    body.is-mobile-app-context .mm-mobile-home-card {
        min-height: 182px;
        padding: 12px 8px 12px;
        border-radius: 18px;
    }

    body.is-mobile-app-context .mm-mobile-home-card-icon {
        min-height: 88px;
        margin-bottom: 6px;
    }

    body.is-mobile-app-context .mm-mobile-home-card-icon img {
        max-width: min(100%, 90px);
        max-height: 84px;
    }
}

/* Final mobile app tightening */
body.is-mobile-app-context {
    --mm-mobile-appbar-height: 76px;
    --mm-mobile-bottom-height: 86px;
}

body.is-mobile-app-context #app-main.mm-mobile-app-main {
    padding-top: calc(var(--mm-mobile-appbar-height) + 8px) !important;
    padding-bottom: calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom, 0px) + 14px) !important;
}

body.is-mobile-app-context .mm-mobile-screen,
body.is-mobile-app-context .app-mobile-screen {
    gap: 10px !important;
    padding-bottom: calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom, 0px) + 6px) !important;
}

body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-message-card,
body.is-mobile-app-context .mm-mobile-thread-card,
body.is-mobile-app-context .mm-mobile-thread-reply,
body.is-mobile-app-context .mm-mobile-notification-card,
body.is-mobile-app-context .mm-mobile-topic-card,
body.is-mobile-app-context .mm-mobile-forum-appbar-card,
body.is-mobile-app-context .mm-mobile-forum-section {
    border-radius: 18px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
}

body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-forum-appbar-card,
body.is-mobile-app-context .mm-mobile-thread-card-rich,
body.is-mobile-app-context .mm-mobile-topic-card,
body.is-mobile-app-context .mm-mobile-message-composer,
body.is-mobile-app-context .mm-mobile-forum-composer {
    padding: 0.88rem !important;
}

body.is-mobile-app-context .mm-mobile-panel-head,
body.is-mobile-app-context .mm-mobile-topic-card-actions,
body.is-mobile-app-context .mm-mobile-forum-inline-actions {
    gap: 0.55rem !important;
}

body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-list-card-compact,
body.is-mobile-app-context .mm-mobile-list-card-media {
    padding: 0.82rem !important;
}

body.is-mobile-app-context .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-list-card small,
body.is-mobile-app-context .mm-mobile-list-card span,
body.is-mobile-app-context .mm-mobile-message-copy p,
body.is-mobile-app-context .mm-mobile-notification-card p,
body.is-mobile-app-context .mm-mobile-notification-card small,
body.is-mobile-app-context .mm-mobile-thread-meta span,
body.is-mobile-app-context .mm-mobile-topic-card p,
body.is-mobile-app-context .mm-mobile-topic-card-author-copy small,
body.is-mobile-app-context .text-muted {
    color: #4b5563 !important;
}

body.is-mobile-app-context .mm-mobile-appbar-copy small {
    color: rgba(203, 213, 225, 0.82) !important;
}

body.is-mobile-app-context .app-mobile-bottom-nav:not(.app-mobile-bottom-nav-model) {
    padding: 7px !important;
    border-radius: 18px !important;
}

body.is-mobile-app-context .app-mobile-bottom-link {
    min-height: 42px !important;
    border-radius: 12px !important;
}

body.is-mobile-app-context a,
body.is-mobile-app-context button,
body.is-mobile-app-context .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-topic-card,
body.is-mobile-app-context .mm-mobile-home-card,
body.is-mobile-app-context .app-mobile-menu-item,
body.is-mobile-app-context .app-mobile-bottom-link {
    -webkit-tap-highlight-color: transparent;
}

body.is-mobile-app-context .mm-mobile-list-card:active,
body.is-mobile-app-context .mm-mobile-topic-card:active,
body.is-mobile-app-context .app-mobile-menu-item:active,
body.is-mobile-app-context .app-mobile-bottom-link:active,
body.is-mobile-app-context .mm-mobile-secondary-cta:active,
body.is-mobile-app-context .mm-mobile-primary-cta:active {
    transform: scale(0.985);
}

body.is-mobile-app-context .mm-mobile-topic-card-actions-owner {
    margin-top: 0.1rem;
}

body.is-mobile-app-context .mm-mobile-secondary-cta.is-danger {
    border-color: rgba(220, 38, 38, 0.18) !important;
    color: #b91c1c !important;
    background: #fff5f5 !important;
}

body.is-mobile-app-context .mm-mobile-input-stack {
    display: grid;
    gap: 0.38rem;
    color: var(--mm-text);
    font-weight: 700;
}

body.is-mobile-app-context .mm-mobile-input-stack > span {
    color: var(--mm-text);
    font-size: 0.82rem;
}

/* Light native mobile normalization */
body.is-mobile-app-context {
    --mm-mobile-surface-light: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    --mm-mobile-surface-blue: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
    --mm-mobile-shadow-soft: 0 10px 24px rgba(15, 23, 42, 0.08);
}

body.is-mobile-app-context .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-message-card,
body.is-mobile-app-context .mm-mobile-thread-card,
body.is-mobile-app-context .mm-mobile-thread-reply,
body.is-mobile-app-context .mm-mobile-notification-card,
body.is-mobile-app-context .mm-mobile-empty-state,
body.is-mobile-app-context .mm-mobile-market-action-dock,
body.is-mobile-app-context .mm-mobile-message-composer,
body.is-mobile-app-context .mm-mobile-forum-composer,
body.is-mobile-app-context .mm-mobile-forum-appbar-card,
body.is-mobile-app-context .mm-mobile-forum-section,
body.is-mobile-app-context .mm-mobile-forum-category-panel,
body.is-mobile-app-context .mm-mobile-topic-card,
body.is-mobile-app-context .mm-mobile-forum-macro-accordion,
body.is-mobile-app-context .mm-mobile-forum-compose-group,
body.is-mobile-app-context .app-mobile-dashboard-hero,
body.is-mobile-app-context .app-mobile-section-card,
body.is-mobile-app-context .app-mobile-garage-card,
body.is-mobile-app-context .app-mobile-comparison-live-panel {
    background: var(--mm-mobile-surface-light) !important;
    color: var(--mm-text) !important;
    border: 1px solid var(--mm-border) !important;
    box-shadow: var(--mm-mobile-shadow-soft) !important;
    backdrop-filter: none !important;
}

body.is-mobile-app-context .mm-mobile-hero,
body.is-mobile-app-context .app-mobile-dashboard-hero,
body.is-mobile-app-context .mm-mobile-forum-appbar-card {
    background:
        radial-gradient(circle at bottom right, rgba(37, 99, 235, 0.08), transparent 28%),
        var(--mm-mobile-surface-light) !important;
}

body.is-mobile-app-context .mm-mobile-kicker,
body.is-mobile-app-context .app-mobile-kicker,
body.is-mobile-app-context .home-eyebrow {
    color: var(--mm-blue) !important;
}

body.is-mobile-app-context .mm-mobile-hero h1,
body.is-mobile-app-context .mm-mobile-hero p,
body.is-mobile-app-context .mm-mobile-panel-head strong,
body.is-mobile-app-context .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-message-card strong,
body.is-mobile-app-context .mm-mobile-message-copy p,
body.is-mobile-app-context .mm-mobile-message-copy small,
body.is-mobile-app-context .mm-mobile-notification-card strong,
body.is-mobile-app-context .mm-mobile-notification-card p,
body.is-mobile-app-context .mm-mobile-notification-card small,
body.is-mobile-app-context .mm-mobile-thread-meta strong,
body.is-mobile-app-context .mm-mobile-thread-meta span,
body.is-mobile-app-context .app-mobile-dashboard-hero h1,
body.is-mobile-app-context .app-mobile-dashboard-hero p,
body.is-mobile-app-context .app-mobile-stat-card strong,
body.is-mobile-app-context .app-mobile-stat-card span,
body.is-mobile-app-context .app-mobile-section-card strong,
body.is-mobile-app-context .app-mobile-section-card small,
body.is-mobile-app-context .app-mobile-search-field input,
body.is-mobile-app-context .app-mobile-search-field input::placeholder,
body.is-mobile-app-context .app-mobile-spotlight-pill strong,
body.is-mobile-app-context .app-mobile-spotlight-pill span,
body.is-mobile-app-context .app-mobile-garage-card-head small,
body.is-mobile-app-context .app-mobile-garage-card-head strong,
body.is-mobile-app-context .app-mobile-garage-card-head em,
body.is-mobile-app-context .app-mobile-garage-card-meta,
body.is-mobile-app-context .comparison-page-app .comparison-hero-title,
body.is-mobile-app-context .comparison-page-app .comparison-hero-copy,
body.is-mobile-app-context .comparison-page-app .comparison-meta-chip,
body.is-mobile-app-context .comparison-page-app .comparison-hero-points span,
body.is-mobile-app-context .comparison-page-app .comparison-builder-head h2,
body.is-mobile-app-context .comparison-page-app .comparison-builder-head p,
body.is-mobile-app-context .comparison-page-app .comparison-selection-card,
body.is-mobile-app-context .comparison-page-app .comparison-selection-card strong,
body.is-mobile-app-context .comparison-page-app .comparison-selection-card span,
body.is-mobile-app-context .comparison-page-app .comparison-history-card,
body.is-mobile-app-context .comparison-page-app .comparison-history-card strong,
body.is-mobile-app-context .comparison-page-app .comparison-history-card span {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-hero p,
body.is-mobile-app-context .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-message-copy p,
body.is-mobile-app-context .mm-mobile-message-copy small,
body.is-mobile-app-context .mm-mobile-notification-card p,
body.is-mobile-app-context .mm-mobile-notification-card small,
body.is-mobile-app-context .mm-mobile-thread-meta span,
body.is-mobile-app-context .app-mobile-dashboard-hero p,
body.is-mobile-app-context .app-mobile-stat-card span,
body.is-mobile-app-context .app-mobile-section-card small,
body.is-mobile-app-context .app-mobile-spotlight-pill span,
body.is-mobile-app-context .app-mobile-garage-card-head small,
body.is-mobile-app-context .app-mobile-garage-card-meta,
body.is-mobile-app-context .comparison-page-app .comparison-hero-copy,
body.is-mobile-app-context .comparison-page-app .comparison-meta-chip,
body.is-mobile-app-context .comparison-page-app .comparison-hero-points span,
body.is-mobile-app-context .comparison-page-app .comparison-builder-head p,
body.is-mobile-app-context .comparison-page-app .comparison-selection-card span,
body.is-mobile-app-context .comparison-page-app .comparison-history-card span {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .app-mobile-stat-card,
body.is-mobile-app-context .mm-mobile-stat-pill,
body.is-mobile-app-context .mm-mobile-filter-chip,
body.is-mobile-app-context .mm-mobile-topic-inline-meta span,
body.is-mobile-app-context .mm-mobile-topic-tags span,
body.is-mobile-app-context .mm-mobile-forum-category-meta span,
body.is-mobile-app-context .mm-mobile-community-facts span,
body.is-mobile-app-context .comparison-page-app .comparison-meta-chip {
    background: #f8fbff !important;
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-message-card,
body.is-mobile-app-context .mm-mobile-notification-card {
    padding: 0.92rem !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 0.85rem !important;
}

body.is-mobile-app-context .mm-mobile-message-avatar,
body.is-mobile-app-context .mm-mobile-notification-head .mm-mobile-status-dot {
    flex: 0 0 auto;
}

body.is-mobile-app-context .mm-mobile-message-avatar > span {
    background: #e0efff !important;
    color: #5aa5e8 !important;
}

body.is-mobile-app-context .app-mobile-dashboard-hero,
body.is-mobile-app-context .app-mobile-section-card {
    padding: 1rem !important;
}

body.is-mobile-app-context .app-mobile-hero-chip,
body.is-mobile-app-context .app-mobile-spotlight-pill {
    background: #f8fbff !important;
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
    color: var(--mm-blue-dark) !important;
}

body.is-mobile-app-context .app-mobile-search-field {
    background: #ffffff !important;
    border: 1px solid rgba(148, 163, 184, 0.24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7) !important;
}

body.is-mobile-app-context .app-mobile-search-field input {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .app-mobile-search-field input::placeholder {
    color: #6b84aa !important;
}

body.is-mobile-app-context .app-mobile-garage-card.has-cover {
    background: linear-gradient(180deg, rgba(20, 31, 46, 0.15), rgba(12, 21, 33, 0.88)) !important;
    border-color: rgba(226, 232, 240, 0.4) !important;
}

body.is-mobile-app-context .app-mobile-garage-card.has-cover .app-mobile-garage-card-head small,
body.is-mobile-app-context .app-mobile-garage-card.has-cover .app-mobile-garage-card-head strong,
body.is-mobile-app-context .app-mobile-garage-card.has-cover .app-mobile-garage-card-head em,
body.is-mobile-app-context .app-mobile-garage-card.has-cover .app-mobile-garage-card-meta {
    color: #f8fafc !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-hero,
body.is-mobile-app-context .comparison-page-app .comparison-builder-card,
body.is-mobile-app-context .comparison-page-app .comparison-surface,
body.is-mobile-app-context .comparison-page-app .comparison-history-card,
body.is-mobile-app-context .comparison-page-app .comparison-selection-card {
    background: var(--mm-mobile-surface-light) !important;
    border-color: var(--mm-border) !important;
    color: var(--mm-text) !important;
    box-shadow: var(--mm-mobile-shadow-soft) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-hero-overlay {
    background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(244,247,251,0.94)) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-add-slot-btn,
body.is-mobile-app-context .comparison-page-app .comparison-selection-cta,
body.is-mobile-app-context .comparison-page-app .comparison-submit,
body.is-mobile-app-context .comparison-page-app .comparison-mobile-tab.is-active {
    background: linear-gradient(135deg, var(--mm-blue) 0%, var(--mm-blue-dark) 100%) !important;
    color: #ffffff !important;
    border-color: rgba(37, 99, 235, 0.42) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-mobile-tab,
body.is-mobile-app-context .comparison-page-app .comparison-selection-remove,
body.is-mobile-app-context .comparison-page-app .comparison-stage-link,
body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-card,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-card {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-head h3,
body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-card,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card strong,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-copy strong,
body.is-mobile-app-context .comparison-page-app .comparison-picker-close,
body.is-mobile-app-context .comparison-page-app .comparison-picker-search input {
    color: #f8fbff !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-sheet {
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.2), transparent 28%),
        linear-gradient(180deg, #081221 0%, #0d1728 100%) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 38px 88px rgba(0, 0, 0, 0.46) !important;
    width: min(900px, calc(100vw - 1rem)) !important;
    max-height: calc(100vh - 1rem) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-head {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    padding: 0.92rem 0.96rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-head small,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card small,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card span,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-copy small,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-copy span,
body.is-mobile-app-context .comparison-page-app .comparison-stage-link,
body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-card i {
    color: rgba(232, 240, 255, 0.78) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-step {
    color: rgba(232, 240, 255, 0.86) !important;
    background: rgba(255, 255, 255, 0.09) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    min-height: 34px !important;
    padding: 0.36rem 0.72rem !important;
    font-size: 0.8rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-step:not(.is-active) {
    color: rgba(232, 240, 255, 0.78) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-step.is-active {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.44), rgba(29, 78, 216, 0.38)) !important;
    border-color: rgba(96, 165, 250, 0.28) !important;
    color: #ffffff !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-summary .comparison-stage-chip {
    color: #f8fbff !important;
    background: rgba(31, 99, 235, 0.18) !important;
    border-color: rgba(96, 165, 250, 0.3) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-search {
    border-radius: 1.1rem;
    margin-bottom: 0.66rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-search i {
    color: rgba(232, 240, 255, 0.76) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-search input {
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: inset 0 0 0 1px rgba(148, 180, 255, 0.12);
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-search input::placeholder {
    color: rgba(232, 240, 255, 0.62) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-search input:focus {
    border-color: rgba(147, 197, 253, 0.9) !important;
    box-shadow:
        0 0 0 2px rgba(191, 219, 254, 0.95),
        inset 0 0 0 1px rgba(147, 197, 253, 0.18) !important;
    outline: 0 !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-close {
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    width: 40px !important;
    height: 40px !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-close:hover,
body.is-mobile-app-context .comparison-page-app .comparison-picker-close:focus {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-stage-link {
    color: rgba(232, 240, 255, 0.82) !important;
    font-weight: 700 !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-stage-link:hover,
body.is-mobile-app-context .comparison-page-app .comparison-stage-link:focus {
    color: #ffffff !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-card,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-card {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-progress {
    gap: 0.44rem !important;
    padding: 0.78rem 0.96rem 0 !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-summary {
    gap: 0.42rem !important;
    padding: 0.64rem 0.96rem 0 !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-body {
    padding: 0.76rem 0.96rem 0.96rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-list,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variants {
    gap: 0.52rem !important;
    max-height: 58vh !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-card {
    grid-template-columns: 46px minmax(0, 1fr) 18px !important;
    gap: 0.68rem !important;
    padding: 0.72rem 0.84rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-mark {
    width: 46px !important;
    height: 46px !important;
    border-radius: 0.86rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card {
    gap: 0.12rem !important;
    padding: 0.76rem 0.84rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card strong,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-copy strong {
    font-size: 0.94rem !important;
    line-height: 1.2 !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card small,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card span,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-copy small,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-copy span {
    font-size: 0.78rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-card {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 0.76rem !important;
    padding: 0.74rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-media,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-placeholder {
    width: 82px !important;
    height: 66px !important;
    border-radius: 0.9rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-toolbar {
    margin-bottom: 0.56rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-search input {
    min-height: 50px !important;
    padding: 0.78rem 0.92rem 0.78rem 2.55rem !important;
    font-size: 0.96rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-search i {
    left: 0.9rem !important;
    font-size: 1.05rem !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-selection-card.is-selected {
    border-color: rgba(37, 99, 235, 0.26) !important;
    box-shadow:
        0 14px 32px rgba(15, 23, 42, 0.1),
        inset 0 0 0 1px rgba(37, 99, 235, 0.08) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-selection-card.is-selected .comparison-selection-card-order {
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.24) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-selection-card.is-selected .comparison-selection-copy strong {
    color: var(--mm-blue-dark) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-selection-card.is-selected .comparison-selection-edit {
    border-color: rgba(37, 99, 235, 0.22) !important;
    background: #eef4ff !important;
    color: var(--mm-blue-dark) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-mark {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.28), rgba(59, 130, 246, 0.12)) !important;
    border: 1px solid rgba(96, 165, 250, 0.22) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-media,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-placeholder {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-card:hover,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card:hover,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-card:hover,
body.is-mobile-app-context .comparison-page-app .comparison-picker-brand-card:focus,
body.is-mobile-app-context .comparison-page-app .comparison-picker-family-card:focus,
body.is-mobile-app-context .comparison-page-app .comparison-picker-variant-card:focus {
    border-color: rgba(96, 165, 250, 0.34) !important;
    background: rgba(37, 99, 235, 0.14) !important;
    transform: translateY(-1px);
}

/* Forum mobile redesign */
body.is-mobile-app-context .mm-mobile-forum-appbar-card,
body.is-mobile-app-context .mm-mobile-forum-search-shell,
body.is-mobile-app-context .mm-mobile-forum-section {
    padding: 0.95rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-card.has-search {
    display: grid !important;
    gap: 0.9rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-card.has-search .mm-mobile-forum-appbar-copy {
    display: grid;
    gap: 0.32rem;
}

body.is-mobile-app-context .mm-mobile-forum-search {
    border-radius: 22px !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
}

body.is-mobile-app-context .mm-mobile-forum-search.is-inline {
    margin-top: 0 !important;
}

body.is-mobile-app-context .mm-mobile-forum-search input,
body.is-mobile-app-context .mm-mobile-forum-search input::placeholder {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-forum-search input::placeholder {
    color: #6b84aa !important;
}

body.is-mobile-app-context .mm-mobile-forum-macro-accordion,
body.is-mobile-app-context .mm-mobile-topic-card,
body.is-mobile-app-context .mm-mobile-forum-section-card,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-item,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty,
body.is-mobile-app-context .mm-mobile-thread-card-rich,
body.is-mobile-app-context .mm-mobile-thread-reply {
    background: var(--mm-mobile-surface-light) !important;
    color: var(--mm-text) !important;
    border: 1px solid var(--mm-border) !important;
    box-shadow: var(--mm-mobile-shadow-soft) !important;
}

body.is-mobile-app-context .mm-mobile-forum-macro-summary strong,
body.is-mobile-app-context .mm-mobile-topic-card h2,
body.is-mobile-app-context .mm-mobile-forum-section-card strong,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-item strong,
body.is-mobile-app-context .mm-mobile-thread-author-copy strong,
body.is-mobile-app-context .mm-mobile-thread-kicker-row small,
body.is-mobile-app-context .mm-mobile-thread-card-rich .bbcode-content,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-forum-macro-summary small,
body.is-mobile-app-context .mm-mobile-topic-card p,
body.is-mobile-app-context .mm-mobile-forum-section-card p,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-item small,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty small,
body.is-mobile-app-context .mm-mobile-topic-card-author-copy small,
body.is-mobile-app-context .mm-mobile-thread-author-copy small,
body.is-mobile-app-context .mm-mobile-thread-card-rich .bbcode-content p,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-content p {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-forum-category-icon,
body.is-mobile-app-context .mm-mobile-forum-section-card-icon,
body.is-mobile-app-context .mm-mobile-topic-card-avatar,
body.is-mobile-app-context .mm-mobile-thread-author-avatar,
body.is-mobile-app-context .mm-mobile-forum-media-btn,
body.is-mobile-app-context .mm-mobile-topic-icon-action {
    background: #eef4ff !important;
    color: var(--mm-blue-dark) !important;
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-item,
body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty,
body.is-mobile-app-context .mm-mobile-forum-section-card {
    border-radius: 18px !important;
}

body.is-mobile-app-context .mm-mobile-forum-inline-actions-header {
    margin-top: 0.1rem;
}

body.is-mobile-app-context .mm-mobile-topic-card-actions,
body.is-mobile-app-context .mm-mobile-forum-inline-actions,
body.is-mobile-app-context .mm-mobile-inline-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.7rem !important;
}

body.is-mobile-app-context .mm-mobile-topic-card-actions > *,
body.is-mobile-app-context .mm-mobile-forum-inline-actions > *,
body.is-mobile-app-context .mm-mobile-inline-actions > * {
    flex: 1 1 0;
}

body.is-mobile-app-context .mm-mobile-forum-fab {
    right: 14px !important;
    bottom: calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom) + 12px) !important;
    min-height: 52px !important;
    padding: 0.8rem 0.96rem !important;
    background: linear-gradient(135deg, var(--mm-blue) 0%, var(--mm-blue-dark) 100%) !important;
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.24) !important;
    color: #ffffff !important;
}

body.is-mobile-app-context .mm-mobile-thread-kicker-pill {
    background: #eef4ff !important;
    color: var(--mm-blue-dark) !important;
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
}

body.is-mobile-app-context .mm-mobile-thread-card-rich .bbcode-quote,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-quote,
body.is-mobile-app-context .mm-mobile-thread-card-rich .bbcode-code,
body.is-mobile-app-context .mm-mobile-thread-reply .bbcode-code {
    background: #f8fbff !important;
    color: var(--mm-text) !important;
    border-color: rgba(148, 163, 184, 0.18) !important;
}

body.is-mobile-app-context .mm-mobile-auth-form label > span,
body.is-mobile-app-context .mm-mobile-checkbox span {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-forum-appbar-copy h1,
body.is-mobile-app-context .mm-mobile-forum-appbar-copy p,
body.is-mobile-app-context .mm-mobile-forum-header-stats span,
body.is-mobile-app-context .mm-mobile-forum-header-stats strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-forum-header-stats span {
    background: #f8fbff !important;
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
}

body.is-mobile-app-context .mm-mobile-forum-section {
    display: grid !important;
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-panel-head {
    gap: 0.22rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-list {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-category-panel {
    padding: 0.15rem !important;
    gap: 0.68rem !important;
    border-radius: 24px !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.is-mobile-app-context .mm-mobile-forum-macro-accordion > .mm-mobile-accordion-body {
    padding: 0 0.82rem 0.82rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat {
    padding: 0.78rem !important;
    background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%) !important;
    box-shadow: none !important;
    border: 1px solid rgba(229, 231, 235, 0.92) !important;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-list {
    gap: 0.42rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 0.68rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-section-card-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 14px !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat p {
    margin-top: 0.16rem !important;
    line-height: 1.38 !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-topic-inline-meta {
    margin-top: 0.42rem !important;
    gap: 0.34rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-topic-inline-meta span,
body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-item small,
body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-empty small {
    font-size: 0.68rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-list {
    margin-top: 0.5rem !important;
    gap: 0.28rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-item {
    padding: 0.64rem 0.76rem !important;
    box-shadow: none !important;
    background: #f8fbff !important;
}

body.is-mobile-app-context .mm-mobile-forum-topic-mini-empty {
    padding: 0.7rem 0.78rem !important;
    box-shadow: none !important;
    background: #f8fbff !important;
}

body.is-mobile-app-context .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-secondary-cta {
    min-height: 46px !important;
    border-width: 1px !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08) !important;
}

body.is-mobile-app-context .mm-mobile-primary-cta {
    background: linear-gradient(135deg, var(--mm-blue) 0%, var(--mm-blue-dark) 100%) !important;
    color: #ffffff !important;
    border-color: rgba(37, 99, 235, 0.4) !important;
}

body.is-mobile-app-context .mm-mobile-secondary-cta {
    background: #ffffff !important;
    color: var(--mm-blue-dark) !important;
    border-color: rgba(37, 99, 235, 0.22) !important;
}

body.is-mobile-app-context .app-community-swipe-control.is-muted {
    background: #ffffff !important;
    color: var(--mm-text) !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
}

body.is-mobile-app-context .app-community-like-pill {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #f8fbff !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-body strong,
body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-body small,
body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-body span,
body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-story {
    color: #f8fbff !important;
}

body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-body small,
body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-owner span {
    color: rgba(226, 232, 240, 0.88) !important;
}

body.is-mobile-app-context .app-community-swipe-screen {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .app-community-swipe-hero {
    background:
        radial-gradient(circle at bottom right, rgba(37, 99, 235, 0.08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    border: 1px solid rgba(226, 232, 240, 0.94) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08) !important;
}

body.is-mobile-app-context .app-community-swipe-hero h1,
body.is-mobile-app-context .app-community-swipe-hero p,
body.is-mobile-app-context .app-community-swipe-hero .mm-mobile-stat-pill strong,
body.is-mobile-app-context .app-community-swipe-hero .mm-mobile-stat-pill span,
body.is-mobile-app-context .app-community-swipe-hero .mm-mobile-filter-chip {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .app-community-swipe-hero p,
body.is-mobile-app-context .app-community-swipe-hero .mm-mobile-stat-pill span,
body.is-mobile-app-context .app-community-swipe-hero .mm-mobile-filter-chip {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .app-community-swipe-hero .mm-mobile-filter-chip,
body.is-mobile-app-context .app-community-swipe-hero .mm-mobile-stat-pill {
    background: #f8fbff !important;
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
}

body.is-mobile-app-context .app-community-swipe-shell {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    border: 1px solid rgba(226, 232, 240, 0.94) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08) !important;
}

body.is-mobile-app-context .app-community-swipe-stage {
    min-height: 24rem !important;
}

body.is-mobile-app-context .app-community-swipe-card {
    border-radius: 1.5rem !important;
    border: 1px solid rgba(226, 232, 240, 0.96) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.09) !important;
}

body.is-mobile-app-context .app-community-swipe-media {
    min-height: 14.75rem !important;
    background: #edf4ff !important;
}

body.is-mobile-app-context .app-community-swipe-media img,
body.is-mobile-app-context .app-community-swipe-media-fallback {
    min-height: 14.75rem !important;
}

body.is-mobile-app-context .app-community-swipe-media-fallback {
    color: #87a6c7 !important;
}

body.is-mobile-app-context .app-community-swipe-badges {
    padding: 0.82rem !important;
}

body.is-mobile-app-context .app-community-swipe-body {
    gap: 0.82rem !important;
    padding: 0.92rem 0.92rem 0.96rem !important;
}

body.is-mobile-app-context .app-community-swipe-head strong,
body.is-mobile-app-context .app-community-swipe-owner strong,
body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-body strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .app-community-swipe-head small,
body.is-mobile-app-context .app-community-swipe-owner span,
body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-body small,
body.is-mobile-app-context .app-community-swipe-card .app-community-swipe-body span {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .app-community-like-pill {
    background: #f8fbff !important;
    color: var(--mm-text) !important;
    border: 1px solid rgba(148, 163, 184, 0.2) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
}

body.is-mobile-app-context .app-community-like-pill.is-active {
    background: rgba(239, 68, 68, 0.1) !important;
    color: #b91c1c !important;
    border-color: rgba(239, 68, 68, 0.2) !important;
}

body.is-mobile-app-context .app-community-swipe-owner-avatar {
    background: rgba(37, 99, 235, 0.08) !important;
    color: var(--mm-blue) !important;
}

body.is-mobile-app-context .app-community-swipe-story {
    color: #334155 !important;
    font-size: 0.93rem !important;
    line-height: 1.55 !important;
}

body.is-mobile-app-context .app-community-swipe-facts span {
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
    background: #f8fbff !important;
    color: var(--mm-text) !important;
    font-size: 0.77rem !important;
}

body.is-mobile-app-context .app-community-swipe-facts i {
    color: var(--mm-blue) !important;
}

body.is-mobile-app-context .app-community-swipe-rating span {
    color: #475569 !important;
    font-weight: 700;
}

body.is-mobile-app-context .app-community-rating-star {
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
    background: #f8fbff !important;
    color: rgba(148, 163, 184, 0.88) !important;
}

body.is-mobile-app-context .app-community-rating-star.is-active {
    color: #d97706 !important;
    background: rgba(251, 191, 36, 0.12) !important;
    border-color: rgba(251, 191, 36, 0.28) !important;
}

body.is-mobile-app-context .app-community-swipe-controls {
    gap: 0.62rem !important;
}

body.is-mobile-app-context .app-community-swipe-control {
    min-height: 50px;
    border-radius: 1rem !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

body.is-mobile-app-context .app-community-swipe-control.is-muted {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    color: var(--mm-text) !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
}

body.is-mobile-app-context .app-community-swipe-control.is-primary {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    border-color: rgba(37, 99, 235, 0.22) !important;
    box-shadow: 0 16px 28px rgba(37, 99, 235, 0.22) !important;
}

body.is-mobile-app-context .app-community-swipe-control.is-disabled {
    opacity: 0.52;
}

body.is-mobile-app-context .app-community-ranking-tab {
    background: #f8fbff !important;
    border: 1px solid rgba(148, 163, 184, 0.18) !important;
    color: #64748b !important;
}

body.is-mobile-app-context .app-community-ranking-tab.is-active {
    background: rgba(37, 99, 235, 0.1) !important;
    border-color: rgba(37, 99, 235, 0.22) !important;
    color: var(--mm-blue-dark) !important;
}

body.is-mobile-app-context .app-community-ranking-row {
    border: 1px solid rgba(226, 232, 240, 0.96) !important;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    color: var(--mm-text) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05) !important;
}

body.is-mobile-app-context .app-community-ranking-copy strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .app-community-ranking-copy small {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .app-community-ranking-stat {
    background: rgba(37, 99, 235, 0.1) !important;
    color: var(--mm-blue-dark) !important;
}

body.is-mobile-app-context .app-community-filter-grid .form-control,
body.is-mobile-app-context .app-community-filter-grid .form-select,
body.is-mobile-app-context .mm-mobile-filter-sheet .form-control,
body.is-mobile-app-context .mm-mobile-filter-sheet .form-select {
    background: #ffffff !important;
    color: var(--mm-text) !important;
    border-color: rgba(148, 163, 184, 0.22) !important;
}

body.is-mobile-app-context .mm-forum-native-app {
    padding: 0.56rem 0.56rem calc(96px + env(safe-area-inset-bottom)) !important;
}

body.is-mobile-app-context .mm-forum-native-shell {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-forum-app-header-card,
body.is-mobile-app-context .mm-forum-app-stats-card,
body.is-mobile-app-context .mm-forum-app-panel,
body.is-mobile-app-context .mm-forum-app-thread-card,
body.is-mobile-app-context .mm-forum-app-reply-card,
body.is-mobile-app-context .mm-forum-app-reply-box {
    background: #ffffff;
    border: 1px solid rgba(229, 231, 235, 0.92);
    border-radius: 24px;
    box-shadow: var(--mm-mobile-shadow-soft);
}

body.is-mobile-app-context .mm-forum-app-header-card {
    padding: 0.76rem;
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-forum-app-header-card.is-compact {
    gap: 0.5rem;
    padding: 0.68rem 0.76rem;
}

body.is-mobile-app-context .mm-forum-app-screen-header {
    display: grid;
    gap: 0.6rem;
    padding: 0.08rem 0.08rem 0.14rem;
}

body.is-mobile-app-context .mm-forum-app-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.42rem;
    min-width: 0;
    color: #6b7c99;
    font-size: 0.78rem;
}

body.is-mobile-app-context .mm-forum-app-breadcrumb-link {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--mm-blue-dark);
    font-size: 0.78rem;
    font-weight: 600;
}

body.is-mobile-app-context .mm-forum-app-breadcrumb strong {
    min-width: 0;
    color: #425168;
    font-size: 0.78rem;
    font-weight: 600;
}

body.is-mobile-app-context .mm-forum-app-screen-copy h1 {
    margin: 0;
    color: var(--mm-text);
    font-size: 1.34rem;
    line-height: 1.08;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-screen-copy p {
    margin: 0.18rem 0 0;
    color: var(--mm-muted);
    font-size: 0.9rem;
    line-height: 1.42;
}

body.is-mobile-app-context .mm-forum-app-search.is-inline {
    margin-top: 0.08rem;
}

body.is-mobile-app-context .mm-forum-app-screen-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.58rem;
    color: var(--mm-text);
    font-size: 0.82rem;
}

body.is-mobile-app-context .mm-forum-app-screen-stats span {
    display: inline-flex;
    align-items: baseline;
    gap: 0.22rem;
    color: #55657e;
}

body.is-mobile-app-context .mm-forum-app-screen-stats strong {
    color: var(--mm-text);
    font-size: 0.98rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-kicker {
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mm-blue-dark);
}

body.is-mobile-app-context .mm-forum-app-header-top {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-forum-app-header-copy h1 {
    margin: 0;
    color: var(--mm-text);
    font-size: 1.42rem;
    line-height: 1.08;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-header-copy p {
    margin: 0.22rem 0 0;
    color: var(--mm-muted);
    font-size: 0.9rem;
    line-height: 1.4;
}

body.is-mobile-app-context .mm-forum-app-create-btn,
body.is-mobile-app-context .mm-forum-app-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.52rem;
    min-height: 44px;
    padding: 0.72rem 0.96rem;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--mm-blue) 0%, var(--mm-blue-dark) 100%);
    color: #ffffff;
    text-decoration: none;
    font-weight: 800;
    border: 1px solid rgba(37, 99, 235, 0.36);
    box-shadow: 0 16px 30px rgba(37, 99, 235, 0.18);
}

body.is-mobile-app-context .mm-forum-app-search {
    min-height: 52px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 0.62rem;
    padding: 0 0.88rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(229, 231, 235, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

body.is-mobile-app-context .mm-forum-app-search i {
    font-size: 1.15rem;
    color: var(--mm-text);
}

body.is-mobile-app-context .mm-forum-app-search input {
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--mm-text);
    font-size: 0.96rem;
}

body.is-mobile-app-context .mm-forum-app-search input::placeholder {
    color: #7186a8;
}

body.is-mobile-app-context .mm-forum-app-stats-card {
    padding: 0.54rem 0.26rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.1rem;
}

body.is-mobile-app-context .mm-forum-app-stats-card article {
    min-width: 0;
    display: grid;
    justify-items: center;
    gap: 0.1rem;
    padding: 0.28rem 0.18rem;
    text-align: center;
}

body.is-mobile-app-context .mm-forum-app-stats-card article + article {
    border-left: 1px solid rgba(229, 231, 235, 0.9);
}

body.is-mobile-app-context .mm-forum-app-stats-card i {
    font-size: 1.05rem;
    color: var(--mm-blue-dark);
}

body.is-mobile-app-context .mm-forum-app-stats-card strong,
body.is-mobile-app-context .mm-forum-app-inline-stats strong {
    color: var(--mm-text);
    font-size: 1.06rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-stats-card small,
body.is-mobile-app-context .mm-forum-app-inline-stats span {
    color: var(--mm-muted);
    font-size: 0.74rem;
}

body.is-mobile-app-context .mm-forum-app-tabs {
    display: flex;
    gap: 0.42rem;
    overflow-x: auto;
    padding: 0 0.06rem 0.12rem;
    scrollbar-width: none;
}

body.is-mobile-app-context .mm-forum-app-tabs::-webkit-scrollbar {
    display: none;
}

body.is-mobile-app-context .mm-forum-app-tab {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0.52rem 0.82rem;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--mm-muted);
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

body.is-mobile-app-context .mm-forum-app-tab.is-active {
    color: var(--mm-blue-dark);
    border-bottom-color: var(--mm-blue);
}

body.is-mobile-app-context .mm-forum-app-panel {
    padding: 0.56rem;
    display: grid;
    gap: 0.55rem;
}

body.is-mobile-app-context .mm-forum-app-panel.is-flat {
    padding: 0.06rem 0 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.is-mobile-app-context .mm-forum-app-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.62rem;
}

body.is-mobile-app-context .mm-forum-app-ghost-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.7rem 0.92rem;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(37, 99, 235, 0.18);
    color: var(--mm-blue-dark);
    text-decoration: none;
    font-weight: 800;
}

body.is-mobile-app-context .mm-forum-app-ghost-btn.is-accent {
    background: #eef4ff;
}

body.is-mobile-app-context .mm-forum-app-panel-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0 0.08rem;
}

body.is-mobile-app-context .mm-forum-app-panel-head strong {
    color: var(--mm-text);
    font-size: 1.02rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-panel-head small {
    color: var(--mm-muted);
    font-size: 0.76rem;
}

body.is-mobile-app-context .mm-forum-app-macro-list,
body.is-mobile-app-context .mm-forum-app-resource-list,
body.is-mobile-app-context .mm-forum-app-topic-list,
body.is-mobile-app-context .mm-forum-app-reply-list {
    display: grid;
    gap: 0.48rem;
}

body.is-mobile-app-context .mm-forum-app-macro-row,
body.is-mobile-app-context .mm-forum-app-topic-card {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(229, 231, 235, 0.92);
    border-radius: 18px;
    background: #ffffff;
    padding: 0.5rem;
    display: grid;
    gap: 0.5rem;
    color: var(--mm-text);
    text-align: left;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.045);
}

body.is-mobile-app-context .mm-forum-app-macro-row {
    grid-template-columns: 42px minmax(0, 1fr) auto 12px;
    align-items: center;
    gap: 0.46rem;
}

body.is-mobile-app-context .mm-forum-app-macro-media {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #eef4ff;
    border: 1px solid rgba(37, 99, 235, 0.14);
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--mm-blue-dark);
}

body.is-mobile-app-context .mm-forum-app-macro-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.is-mobile-app-context .mm-forum-app-macro-copy strong,
body.is-mobile-app-context .mm-forum-app-topic-heading strong,
body.is-mobile-app-context .mm-forum-app-thread-author strong {
    display: block;
    color: var(--mm-text);
    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1.18;
}

body.is-mobile-app-context .mm-forum-app-macro-copy small,
body.is-mobile-app-context .mm-forum-app-topic-card p,
body.is-mobile-app-context .mm-forum-app-thread-author small,
body.is-mobile-app-context .mm-forum-app-empty p {
    color: var(--mm-muted);
    font-size: 0.8rem;
    line-height: 1.34;
}

body.is-mobile-app-context .mm-forum-app-macro-copy small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

body.is-mobile-app-context .mm-forum-app-macro-stats {
    display: grid;
    gap: 0.16rem;
    justify-items: end;
}

body.is-mobile-app-context .mm-forum-app-macro-stats span {
    display: grid;
    justify-items: end;
}

body.is-mobile-app-context .mm-forum-app-macro-stats small {
    font-size: 0.64rem;
    color: var(--mm-muted);
}

body.is-mobile-app-context .mm-forum-app-topic-card {
    grid-template-columns: 66px minmax(0, 1fr) 78px 10px;
    align-items: start;
    gap: 0.46rem;
}

body.is-mobile-app-context .mm-forum-app-topic-thumb {
    width: 66px;
    height: 66px;
    border-radius: 12px;
    background: #eef4ff;
    border: 1px solid rgba(37, 99, 235, 0.12);
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--mm-blue-dark);
    font-size: 1.2rem;
}

body.is-mobile-app-context .mm-forum-app-topic-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.is-mobile-app-context .mm-forum-app-resource-card {
    box-sizing: border-box;
    border: 1px solid rgba(229, 231, 235, 0.92);
    border-radius: 16px;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 5px 12px rgba(15, 23, 42, 0.04);
}

body.is-mobile-app-context .mm-forum-app-resource-main {
    width: 100%;
    box-sizing: border-box;
    border: 0;
    background: transparent;
    padding: 0.5rem 0.54rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 14px;
    gap: 0.58rem;
    align-items: center;
    text-align: left;
}

body.is-mobile-app-context .mm-forum-app-resource-copy strong {
    display: block;
    color: var(--mm-text);
    font-size: 0.95rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-resource-copy p {
    margin: 0.14rem 0 0;
    color: var(--mm-muted);
    font-size: 0.8rem;
    line-height: 1.3;
}

body.is-mobile-app-context .mm-forum-app-resource-count {
    display: grid;
    justify-items: end;
}

body.is-mobile-app-context .mm-forum-app-resource-count strong {
    color: var(--mm-text);
    font-size: 0.92rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-resource-count small {
    color: var(--mm-muted);
    font-size: 0.66rem;
}

body.is-mobile-app-context .mm-forum-app-resource-topics {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(229, 231, 235, 0.92);
    padding: 0.04rem 0.54rem 0.18rem;
}

body.is-mobile-app-context .mm-forum-app-resource-topic {
    width: 100%;
    border: 0;
    background: transparent;
    border-bottom: 1px solid rgba(241, 245, 249, 1);
    padding: 0.44rem 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.72rem;
    text-align: left;
}

body.is-mobile-app-context .mm-forum-app-resource-topic:last-child {
    border-bottom: 0;
}

body.is-mobile-app-context .mm-forum-app-resource-topic strong {
    color: var(--mm-text);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.3;
}

body.is-mobile-app-context .mm-forum-app-resource-topic span {
    color: var(--mm-muted);
    font-size: 0.68rem;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-forum-app-topic-main {
    min-width: 0;
    padding-top: 0.04rem;
}

body.is-mobile-app-context .mm-forum-app-topic-heading {
    display: block;
}

body.is-mobile-app-context .mm-forum-app-unread-dot {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0.08rem 0.42rem;
    border-radius: 999px;
    background: #e8f0ff;
    color: var(--mm-blue-dark);
    font-size: 0.64rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-forum-app-topic-badge {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0.08rem 0.42rem;
    border-radius: 999px;
    background: #eef4ff;
    color: var(--mm-blue-dark);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    align-self: flex-start;
}

body.is-mobile-app-context .mm-forum-app-topic-card p {
    margin: 0.16rem 0 0;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

body.is-mobile-app-context .mm-forum-app-topic-meta,
body.is-mobile-app-context .mm-forum-app-topic-side {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
    margin-top: 0.28rem;
}

body.is-mobile-app-context .mm-forum-app-topic-meta {
    margin-top: 0.28rem;
    gap: 0.18rem;
}

body.is-mobile-app-context .mm-forum-app-topic-meta span {
    min-height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 0;
    color: var(--mm-muted);
    font-size: 0.76rem;
    gap: 0.24rem;
}

body.is-mobile-app-context .mm-forum-app-topic-meta span + span::before {
    content: "•";
    margin-right: 0.18rem;
    color: rgba(100, 116, 139, 0.7);
}

body.is-mobile-app-context .mm-forum-app-topic-meta i {
    font-size: 0.82rem;
}

body.is-mobile-app-context .mm-forum-app-topic-submeta {
    display: block;
    margin-top: 0.16rem;
    color: #6b7c99;
    font-size: 0.74rem;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.is-mobile-app-context .mm-forum-app-topic-side-wrap {
    display: contents;
}

body.is-mobile-app-context .mm-forum-app-topic-side {
    margin-top: 0;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 0.18rem;
    min-width: 78px;
    max-width: 78px;
    width: 100%;
    overflow: hidden;
}

body.is-mobile-app-context .mm-forum-app-topic-side span,
body.is-mobile-app-context .mm-forum-app-topic-side small,
body.is-mobile-app-context .mm-forum-app-inline-stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.26rem;
    color: var(--mm-text);
}

body.is-mobile-app-context .mm-forum-app-topic-side span {
    min-height: auto;
    padding: 0;
    font-size: 0.8rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-forum-app-topic-side span i {
    color: #6f7d96;
    font-size: 0.84rem;
}

body.is-mobile-app-context .mm-forum-app-topic-side small {
    color: var(--mm-blue-dark);
    font-size: 0.58rem;
    font-weight: 800;
    text-align: right;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.is-mobile-app-context .mm-forum-app-topic-chevron {
    font-size: 0.94rem;
    color: var(--mm-muted);
    align-self: center;
    margin-top: 1.24rem;
}

body.is-mobile-app-context .mm-forum-app-topic-activity {
    display: block;
    margin-top: 0.02rem;
    color: var(--mm-muted) !important;
    font-size: 0.64rem !important;
    line-height: 1.22;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.is-mobile-app-context .mm-forum-app-inline-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.36rem;
}

body.is-mobile-app-context .mm-forum-app-thread-screen {
    gap: 0.72rem;
    padding-bottom: 0.08rem;
}

body.is-mobile-app-context .mm-forum-app-thread-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.58rem;
    color: #55657e;
    font-size: 0.82rem;
}

body.is-mobile-app-context .mm-forum-app-thread-meta-line span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

body.is-mobile-app-context .mm-forum-app-thread-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.46rem;
}

body.is-mobile-app-context .mm-forum-app-thread-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.22rem 0.8rem;
    border-radius: 999px;
    background: #f4f7fc;
    border: 1px solid rgba(219, 228, 240, 0.95);
    color: #44556e;
    font-size: 0.82rem;
    font-weight: 600;
}

body.is-mobile-app-context .mm-forum-app-thread-tag.is-accent {
    background: #eef4ff;
    color: var(--mm-blue-dark);
    font-weight: 800;
}

body.is-mobile-app-context .mm-forum-app-thread-card,
body.is-mobile-app-context .mm-forum-app-reply-card,
body.is-mobile-app-context .mm-forum-app-reply-box {
    padding: 0.52rem;
}

body.is-mobile-app-context .mm-forum-app-reply-list {
    gap: 0.4rem;
}

body.is-mobile-app-context .mm-forum-app-thread-author {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 0.58rem;
    align-items: center;
}

body.is-mobile-app-context .mm-forum-app-thread-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
}

body.is-mobile-app-context .mm-forum-app-avatar {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #eef4ff;
    color: var(--mm-blue-dark);
    border: 1px solid rgba(37, 99, 235, 0.12);
    display: grid;
    place-items: center;
    overflow: hidden;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-avatar.is-round {
    border-radius: 999px;
}

body.is-mobile-app-context .mm-forum-app-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.is-mobile-app-context .mm-forum-app-thread-menu,
body.is-mobile-app-context .mm-forum-app-thread-sort {
    border: 0;
    background: transparent;
    color: #4f5f79;
}

body.is-mobile-app-context .mm-forum-app-thread-menu {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
}

body.is-mobile-app-context .mm-forum-app-thread-content {
    margin-top: 0.5rem;
    color: var(--mm-text);
    font-size: 0.94rem;
    line-height: 1.52;
}

body.is-mobile-app-context .mm-forum-app-thread-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0 0.08rem;
}

body.is-mobile-app-context .mm-forum-app-thread-section-head strong {
    color: var(--mm-text);
    font-size: 1rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-thread-sort {
    display: inline-flex;
    align-items: center;
    gap: 0.34rem;
    font-size: 0.82rem;
    font-weight: 500;
}

body.is-mobile-app-context .mm-forum-app-reply-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 0.68rem;
}

body.is-mobile-app-context .mm-forum-app-reply-action {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    border: 0;
    background: transparent;
    padding: 0;
    color: #425168;
    font-size: 0.86rem;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet {
    border-radius: 28px 28px 0 0;
    max-height: 76vh;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet .offcanvas-header {
    padding: 1rem 1rem 0.5rem;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet .offcanvas-body {
    padding: 0.25rem 1rem calc(1rem + env(safe-area-inset-bottom));
}

body.is-mobile-app-context .mm-forum-app-compose-kicker {
    margin: 0;
    color: var(--mm-blue-dark);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet .offcanvas-title {
    color: var(--mm-text);
    font-size: 1.02rem;
    font-weight: 900;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet form {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-forum-app-compose-label {
    display: block;
    margin-bottom: 0.44rem;
    color: var(--mm-text);
    font-size: 0.86rem;
    font-weight: 700;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet textarea {
    width: 100%;
    min-height: 132px;
    resize: vertical;
    padding: 0.88rem 0.96rem;
    border-radius: 18px;
    border: 1px solid rgba(229, 231, 235, 0.92);
    background: #f8fbff;
    color: var(--mm-text);
    font-size: 0.94rem;
}

body.is-mobile-app-context .mm-forum-app-thread-login .mm-forum-app-fab.is-link {
    text-decoration: none;
}

body.is-mobile-app-context .mm-forum-app-empty,
body.is-mobile-app-context .mm-forum-app-loading {
    padding: 0.78rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px dashed rgba(148, 163, 184, 0.3);
    display: grid;
    gap: 0.32rem;
    justify-items: start;
}

body.is-mobile-app-context .mm-forum-app-empty strong,
body.is-mobile-app-context .mm-forum-app-loading strong {
    color: var(--mm-text);
    font-size: 0.94rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-forum-app-empty.is-inline {
    padding: 0;
    border: 0;
    background: transparent;
}

body.is-mobile-app-context .mm-forum-app-fab {
    position: fixed;
    right: 16px;
    bottom: calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom) + 12px);
    min-height: 50px;
    padding: 0.76rem 0.92rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--mm-blue) 0%, var(--mm-blue-dark) 100%);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.25);
    z-index: 40;
}

body.is-mobile-app-context .mm-forum-app-fab span {
    font-size: 0.92rem;
    font-weight: 800;
}

body.is-mobile-app-context .mm-mobile-screen > section.mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-screen > section.app-mobile-dashboard-hero,
body.is-mobile-app-context .mm-mobile-screen > section.mm-gps-hero,
body.is-mobile-app-context .app-mobile-screen > section.mm-mobile-hero,
body.is-mobile-app-context .app-mobile-screen > section.app-mobile-dashboard-hero,
body.is-mobile-app-context .app-mobile-screen > section.mm-gps-hero {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0.24rem 0.08rem 0.32rem !important;
    overflow: visible !important;
}

body.is-mobile-app-context .mm-mobile-screen > section.mm-mobile-hero::after,
body.is-mobile-app-context .mm-mobile-screen > section.app-mobile-dashboard-hero::after,
body.is-mobile-app-context .mm-mobile-screen > section.mm-gps-hero::after,
body.is-mobile-app-context .app-mobile-screen > section.mm-mobile-hero::after,
body.is-mobile-app-context .app-mobile-screen > section.app-mobile-dashboard-hero::after,
body.is-mobile-app-context .app-mobile-screen > section.mm-gps-hero::after {
    display: none !important;
}

body.is-mobile-app-context .mm-mobile-screen > section.mm-mobile-hero.mm-mobile-hero-compact,
body.is-mobile-app-context .mm-mobile-screen > section.app-mobile-dashboard-hero,
body.is-mobile-app-context .mm-mobile-screen > section.mm-gps-hero,
body.is-mobile-app-context .app-mobile-screen > section.mm-mobile-hero.mm-mobile-hero-compact,
body.is-mobile-app-context .app-mobile-screen > section.app-mobile-dashboard-hero,
body.is-mobile-app-context .app-mobile-screen > section.mm-gps-hero {
    padding-block: 0.22rem 0.32rem !important;
}

body.is-mobile-app-context .mm-mobile-screen > section.mm-mobile-hero .mm-mobile-hero-copy,
body.is-mobile-app-context .mm-mobile-screen > section.app-mobile-dashboard-hero .app-mobile-dashboard-topline,
body.is-mobile-app-context .mm-mobile-screen > section.mm-gps-hero .mm-gps-hero-copy,
body.is-mobile-app-context .app-mobile-screen > section.mm-mobile-hero .mm-mobile-hero-copy,
body.is-mobile-app-context .app-mobile-screen > section.app-mobile-dashboard-hero .app-mobile-dashboard-topline,
body.is-mobile-app-context .app-mobile-screen > section.mm-gps-hero .mm-gps-hero-copy {
    position: relative;
    z-index: 1;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-item,
body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-empty {
    padding: 0.22rem 0 0.02rem !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-item {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.6rem !important;
    border-top: 1px solid rgba(229, 231, 235, 0.9) !important;
    padding-top: 0.5rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-item strong {
    font-size: 0.86rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-item small {
    flex: 0 0 auto;
    color: var(--mm-muted) !important;
    white-space: nowrap;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-forum-topic-mini-empty {
    border-top: 1px solid rgba(229, 231, 235, 0.9) !important;
    padding-top: 0.52rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-inline-actions-tight {
    gap: 0.5rem !important;
    margin-top: 0.55rem !important;
}

body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-secondary-cta,
body.is-mobile-app-context .mm-mobile-forum-section-card.is-flat .mm-mobile-primary-cta {
    min-height: 44px !important;
    padding: 0.68rem 0.82rem !important;
    border-radius: 16px !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen {
    gap: 12px !important;
    padding-inline: 12px !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-hero {
    padding: 0.18rem 0 0.1rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-hero-copy h1 {
    margin: 0.1rem 0 0.32rem !important;
    color: var(--mm-text) !important;
    font-size: 2.2rem !important;
    line-height: 1.02 !important;
    letter-spacing: -0.03em !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-hero-copy p {
    max-width: 30ch;
    color: var(--mm-muted) !important;
    font-size: 1rem !important;
    line-height: 1.46 !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-stat-pills {
    gap: 0.5rem !important;
    margin-top: 0.28rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-stat-pill {
    min-height: 0 !important;
    padding: 0.72rem 0.85rem !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border-color: rgba(203, 213, 225, 0.76) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-stat-pill strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-stat-pill span {
    color: var(--mm-muted) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.67rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-panel {
    padding: 0.92rem !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-panel-head {
    margin-bottom: 0.35rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-panel-head strong {
    color: var(--mm-text) !important;
    font-size: 1.22rem !important;
    line-height: 1.15 !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-panel-head small {
    color: var(--mm-muted) !important;
    font-size: 0.88rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-shell {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-field {
    padding: 0.96rem 1rem !important;
    border-radius: 22px !important;
    border: 1px solid rgba(191, 219, 254, 0.95) !important;
    background: #ffffff !important;
    color: var(--mm-text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-field:focus-within {
    border-color: rgba(37, 99, 235, 0.34) !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08), 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-field i {
    color: #1d4ed8 !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-field input {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-field input::placeholder {
    color: #64748b !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-preview-card {
    padding: 0.92rem 1rem !important;
    border-radius: 18px !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    background: linear-gradient(180deg, #f8fbff 0%, #f1f6ff 100%) !important;
    color: var(--mm-text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-preview-card strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-preview-card span,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-preview-card small {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-preview-icon {
    background: rgba(37, 99, 235, 0.1) !important;
    color: #1d4ed8 !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-categories,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-grid {
    gap: 0.7rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-category,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card {
    border-radius: 20px !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    background: #ffffff !important;
    color: var(--mm-text) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-category {
    padding: 0.88rem !important;
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-category strong,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-category span,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card span,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card small {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-category-icon,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card i {
    background: rgba(37, 99, 235, 0.1) !important;
    color: #1d4ed8 !important;
    border: 1px solid rgba(191, 219, 254, 0.9) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-accordion {
    border-radius: 20px !important;
    border-color: rgba(226, 232, 240, 0.95) !important;
    background: #ffffff !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-accordion + .mm-mobile-accordion {
    margin-top: 0.68rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-accordion summary {
    padding: 0.95rem !important;
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-accordion summary strong {
    color: var(--mm-text) !important;
    font-size: 1rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-accordion summary small {
    color: var(--mm-muted) !important;
    font-size: 0.83rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-accordion summary > i {
    color: #64748b !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-accordion-body {
    padding: 0 0.95rem 0.95rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-stack {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-list-card.is-highlight {
    padding: 0.78rem !important;
    border-radius: 18px !important;
    border: 1px solid rgba(226, 232, 240, 0.92) !important;
    background: linear-gradient(180deg, #f8fbff 0%, #f3f7ff 100%) !important;
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-list-card.is-highlight i {
    color: #1d4ed8 !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-list-card.is-highlight strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-list-card.is-highlight span {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-secondary-cta:not(.is-danger) {
    background: #ffffff !important;
    border-color: rgba(191, 219, 254, 0.95) !important;
    color: #1d4ed8 !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-primary-cta {
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.2) !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-spec-card,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-brand-list-card,
body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-list-card {
    border-radius: 20px !important;
    padding: 0.86rem !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-panel-head,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-panel-head,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-panel-head,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-panel-head {
    margin-bottom: 0.7rem !important;
    gap: 0.65rem !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-panel-head strong,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-panel-head strong,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-panel-head strong,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-panel-head strong {
    font-size: 0.96rem !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-panel-head small,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-panel-head small {
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-detail-list,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-detail-list,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-detail-list,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-detail-list {
    gap: 0.58rem !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-detail-list > div,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-detail-list > div,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-detail-list > div,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-detail-list > div {
    min-height: 0 !important;
    padding: 0.78rem 0.84rem !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    border: 1px solid rgba(226, 232, 240, 0.96) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045) !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-detail-list span,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-detail-list span,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-detail-list span,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-detail-list span {
    color: #64748b !important;
    font-size: 0.81rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-detail-list strong,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-detail-list strong,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-detail-list strong,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-detail-list strong {
    color: #0f172a !important;
    font-size: 0.96rem !important;
    line-height: 1.28 !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen {
    padding-inline: 1px !important;
    gap: 0.5rem !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen > .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-doc-detail-screen > .mm-mobile-panel {
    margin-inline: 1px !important;
    padding: 0.82rem !important;
    border-radius: 20px !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-price-banner {
    min-width: 0 !important;
    padding: 0.86rem 0.95rem !important;
    border-radius: 18px !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-panel + .mm-mobile-panel {
    margin-top: 0 !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-list-cards {
    gap: 0.62rem !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-list-card,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-list-card-compact {
    padding: 0.74rem 0.78rem !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045) !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-list-card-compact i {
    color: var(--mm-blue) !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-list-card-compact strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-list-card-compact span,
body.is-mobile-app-context .mm-mobile-doc-detail-screen .mm-mobile-list-card-compact small {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-spec-stack,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-spec-stack {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-spec-card,
body.is-mobile-app-context .mm-mobile-model-screen .mm-mobile-spec-card {
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.96) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.055) !important;
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-screen,
body.is-mobile-app-context .mm-mobile-model-screen,
body.is-mobile-app-context .mm-mobile-model-stage {
    padding-bottom: 0.7rem !important;
}

body.is-mobile-app-context .mm-mobile-model-content {
    gap: 0.78rem !important;
    padding-inline: 10px !important;
}

body.is-mobile-app-context .mm-mobile-model-hero-card {
    gap: 0.82rem !important;
    padding: 0.92rem 10px 0.94rem !important;
}

body.is-mobile-app-context .mm-mobile-model-hero-image {
    border-radius: 26px !important;
}

body.is-mobile-app-context .mm-mobile-model-icon-rail {
    gap: 0.62rem !important;
}

body.is-mobile-app-context .mm-mobile-model-icon-pill {
    min-height: 58px !important;
    padding: 0.74rem 0.78rem !important;
    border-radius: 18px !important;
}

body.is-mobile-app-context .mm-mobile-model-icon-pill i {
    font-size: 1rem !important;
}

body.is-mobile-app-context .mm-mobile-model-icon-pill span {
    font-size: 0.78rem !important;
    line-height: 1.16 !important;
    color: inherit !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card {
    margin-inline: 10px !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card {
    padding: 0.82rem !important;
    border-radius: 20px !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card p,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card span,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card small {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-primary-cta,
body.is-mobile-app-context .app-mobile-garage-card-action-main,
body.is-mobile-app-context .mm-mobile-model-icon-pill.is-primary {
    background: linear-gradient(135deg, #2f6df6 0%, #1d4ed8 100%) !important;
    border-color: rgba(37, 99, 235, 0.88) !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.24) !important;
    color: #ffffff !important;
}

body.is-mobile-app-context .mm-mobile-primary-cta i,
body.is-mobile-app-context .mm-mobile-primary-cta span,
body.is-mobile-app-context .app-mobile-garage-card-action-main i,
body.is-mobile-app-context .app-mobile-garage-card-action-main span,
body.is-mobile-app-context .mm-mobile-model-icon-pill.is-primary i,
body.is-mobile-app-context .mm-mobile-model-icon-pill.is-primary span {
    color: #ffffff !important;
    text-shadow: 0 1px 0 rgba(15, 23, 42, 0.16);
}

body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-support-section,
body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-comment-section,
body.is-mobile-app-context .mm-mobile-community-detail-screen .mm-mobile-comment-card {
    border-radius: 20px !important;
}

body.is-mobile-app-context .mm-forum-native-app {
    padding-inline: 10px !important;
}

body.is-mobile-app-context .mm-forum-native-shell {
    display: grid;
    gap: 0.72rem;
}

body.is-mobile-app-context .mm-forum-app-header-card,
body.is-mobile-app-context .mm-forum-app-stats-card,
body.is-mobile-app-context .mm-forum-app-screen-header {
    padding: 0.82rem !important;
    border-radius: 20px !important;
}

body.is-mobile-app-context .mm-forum-app-header-card {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-forum-app-header-top {
    gap: 0.7rem !important;
}

body.is-mobile-app-context .mm-forum-app-header-copy h1,
body.is-mobile-app-context .mm-forum-app-screen-copy h1 {
    font-size: clamp(1.8rem, 8.4vw, 2.45rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em !important;
}

body.is-mobile-app-context .mm-forum-app-header-copy p,
body.is-mobile-app-context .mm-forum-app-screen-copy p {
    font-size: 0.9rem !important;
    line-height: 1.42 !important;
}

body.is-mobile-app-context .mm-forum-app-create-btn,
body.is-mobile-app-context .mm-forum-app-submit {
    min-height: 44px !important;
    padding: 0.72rem 0.94rem !important;
    border-radius: 16px !important;
    font-size: 0.9rem !important;
}

body.is-mobile-app-context .mm-forum-app-search,
body.is-mobile-app-context .mm-forum-app-search.is-inline {
    min-height: 52px !important;
    padding: 0 0.9rem !important;
    border-radius: 18px !important;
}

body.is-mobile-app-context .mm-forum-app-search input {
    font-size: 0.94rem !important;
}

body.is-mobile-app-context .mm-forum-app-stats-card {
    padding: 0.32rem 0.1rem !important;
}

body.is-mobile-app-context .mm-forum-app-stats-card article {
    padding: 0.62rem 0.3rem !important;
}

body.is-mobile-app-context .mm-forum-app-tabs {
    gap: 0.22rem !important;
    margin-top: -0.08rem;
}

body.is-mobile-app-context .mm-forum-app-tab {
    min-height: 38px !important;
    padding: 0.42rem 0.76rem !important;
    font-size: 0.88rem !important;
}

body.is-mobile-app-context .mm-forum-app-panel {
    padding: 0.32rem !important;
    gap: 0.42rem !important;
}

body.is-mobile-app-context .mm-forum-app-panel-head {
    padding: 0 0.04rem !important;
}

body.is-mobile-app-context .mm-forum-app-panel-head strong,
body.is-mobile-app-context .mm-forum-app-thread-section-head strong {
    font-size: 0.98rem !important;
}

body.is-mobile-app-context .mm-forum-app-macro-list,
body.is-mobile-app-context .mm-forum-app-resource-list,
body.is-mobile-app-context .mm-forum-app-topic-list,
body.is-mobile-app-context .mm-forum-app-reply-list {
    gap: 0.38rem !important;
}

body.is-mobile-app-context .mm-forum-app-macro-row,
body.is-mobile-app-context .mm-forum-app-topic-card {
    padding: 0.46rem !important;
    border-radius: 16px !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.042) !important;
}

body.is-mobile-app-context .mm-forum-app-macro-row {
    grid-template-columns: 38px minmax(0, 1fr) auto 10px !important;
    gap: 0.38rem !important;
}

body.is-mobile-app-context .mm-forum-app-macro-media {
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
}

body.is-mobile-app-context .mm-forum-app-macro-copy strong,
body.is-mobile-app-context .mm-forum-app-topic-heading strong,
body.is-mobile-app-context .mm-forum-app-thread-author strong {
    font-size: 0.92rem !important;
    line-height: 1.16 !important;
}

body.is-mobile-app-context .mm-forum-app-macro-copy small,
body.is-mobile-app-context .mm-forum-app-topic-card p,
body.is-mobile-app-context .mm-forum-app-thread-author small,
body.is-mobile-app-context .mm-forum-app-empty p {
    font-size: 0.76rem !important;
    line-height: 1.32 !important;
}

body.is-mobile-app-context .mm-forum-app-macro-stats small,
body.is-mobile-app-context .mm-forum-app-resource-count small {
    font-size: 0.62rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-card {
    grid-template-columns: 58px minmax(0, 1fr) 72px 9px !important;
    gap: 0.4rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-thumb {
    width: 58px !important;
    height: 58px !important;
    border-radius: 11px !important;
}

body.is-mobile-app-context .mm-forum-app-topic-main {
    padding-top: 0 !important;
}

body.is-mobile-app-context .mm-forum-app-topic-card p {
    margin-top: 0.12rem !important;
    -webkit-line-clamp: 2 !important;
}

body.is-mobile-app-context .mm-forum-app-topic-meta,
body.is-mobile-app-context .mm-forum-app-topic-side {
    margin-top: 0.2rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-meta {
    gap: 0.14rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-meta span {
    font-size: 0.72rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-submeta {
    margin-top: 0.12rem !important;
    font-size: 0.7rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-side {
    min-width: 72px !important;
    max-width: 72px !important;
    gap: 0.14rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-side span {
    font-size: 0.76rem !important;
}

body.is-mobile-app-context .mm-forum-app-topic-side small,
body.is-mobile-app-context .mm-forum-app-topic-activity {
    font-size: 0.56rem !important;
    line-height: 1.16 !important;
}

body.is-mobile-app-context .mm-forum-app-topic-chevron {
    margin-top: 1rem !important;
    font-size: 0.88rem !important;
}

body.is-mobile-app-context .mm-forum-app-resource-card {
    border-radius: 16px !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.04) !important;
}

body.is-mobile-app-context .mm-forum-app-resource-main {
    padding: 0.46rem 0.5rem !important;
    gap: 0.48rem !important;
}

body.is-mobile-app-context .mm-forum-app-resource-copy strong {
    font-size: 0.9rem !important;
}

body.is-mobile-app-context .mm-forum-app-resource-copy p {
    margin-top: 0.1rem !important;
    font-size: 0.76rem !important;
}

body.is-mobile-app-context .mm-forum-app-resource-topics {
    padding: 0.02rem 0.5rem 0.14rem !important;
}

body.is-mobile-app-context .mm-forum-app-resource-topic {
    padding: 0.38rem 0 !important;
}

body.is-mobile-app-context .mm-forum-app-resource-topic strong {
    font-size: 0.8rem !important;
}

body.is-mobile-app-context .mm-forum-app-resource-topic span {
    font-size: 0.64rem !important;
}

body.is-mobile-app-context .mm-forum-app-thread-screen {
    gap: 0.58rem !important;
}

body.is-mobile-app-context .mm-forum-app-breadcrumb {
    gap: 0.28rem !important;
    font-size: 0.78rem !important;
}

body.is-mobile-app-context .mm-forum-app-thread-meta-line {
    gap: 0.42rem !important;
    font-size: 0.78rem !important;
}

body.is-mobile-app-context .mm-forum-app-thread-tags {
    gap: 0.38rem !important;
}

body.is-mobile-app-context .mm-forum-app-thread-tag {
    min-height: 28px !important;
    padding: 0.18rem 0.72rem !important;
    font-size: 0.78rem !important;
}

body.is-mobile-app-context .mm-forum-app-thread-card,
body.is-mobile-app-context .mm-forum-app-reply-card,
body.is-mobile-app-context .mm-forum-app-reply-box {
    padding: 0.46rem !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.042) !important;
}

body.is-mobile-app-context .mm-forum-app-thread-author {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 0.5rem !important;
}

body.is-mobile-app-context .mm-forum-app-avatar {
    width: 34px !important;
    height: 34px !important;
}

body.is-mobile-app-context .mm-forum-app-thread-menu {
    width: 30px !important;
    height: 30px !important;
}

body.is-mobile-app-context .mm-forum-app-thread-content {
    margin-top: 0.42rem !important;
    font-size: 0.9rem !important;
    line-height: 1.48 !important;
}

body.is-mobile-app-context .mm-forum-app-reply-actions {
    gap: 0.88rem !important;
    margin-top: 0.52rem !important;
}

body.is-mobile-app-context .mm-forum-app-reply-action {
    font-size: 0.82rem !important;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet {
    border-radius: 24px 24px 0 0 !important;
    max-height: 72vh !important;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet .offcanvas-header {
    padding: 0.88rem 0.9rem 0.42rem !important;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet .offcanvas-body {
    padding: 0.18rem 0.9rem calc(0.9rem + env(safe-area-inset-bottom)) !important;
}

body.is-mobile-app-context .mm-forum-app-compose-sheet textarea {
    min-height: 116px !important;
    padding: 0.82rem 0.88rem !important;
    border-radius: 16px !important;
    font-size: 0.9rem !important;
}

body.is-mobile-app-context .mm-forum-app-empty,
body.is-mobile-app-context .mm-forum-app-loading {
    padding: 0.68rem !important;
    border-radius: 16px !important;
}

body.is-mobile-app-context .mm-forum-app-fab {
    right: 14px !important;
    min-height: 48px !important;
    padding: 0.72rem 0.9rem !important;
}

body.is-mobile-app-context.is-model-detail-page #app-main.mm-mobile-app-main,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-app-main,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-screen.mm-mobile-model-screen,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-stage,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-content {
    padding-inline: 0 !important;
    margin-inline: 0 !important;
}

body.is-mobile-app-context.is-model-detail-page .mm-mobile-screen.mm-mobile-model-screen {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-hero-card {
    padding-inline: 12px !important;
}

body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-content > .mm-mobile-panel,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-content > .mm-mobile-spec-card,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-content > .mm-mobile-sticky-actions,
body.is-mobile-app-context.is-model-detail-page .mm-mobile-model-content > .mm-mobile-empty-state {
    margin-inline: 12px !important;
}

body.is-mobile-app-context .mm-mobile-community-screen,
body.is-mobile-app-context .app-community-swipe-screen,
body.is-mobile-app-context .mm-mobile-docs-screen,
body.is-mobile-app-context .mm-mobile-brand-model-screen {
    padding-inline: 10px !important;
    gap: 0.78rem !important;
}

body.is-mobile-app-context .mm-mobile-community-screen > .mm-mobile-panel,
body.is-mobile-app-context .app-community-swipe-screen > .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-docs-screen > .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-brand-model-screen > .mm-mobile-panel {
    padding: 0.82rem !important;
    border-radius: 20px !important;
}

body.is-mobile-app-context .mm-mobile-community-screen > .mm-mobile-hero,
body.is-mobile-app-context .app-community-swipe-screen > .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-docs-screen > .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-brand-model-screen > .mm-mobile-hero {
    padding: 0.86rem !important;
    border-radius: 20px !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-panel-head,
body.is-mobile-app-context .app-community-swipe-screen .mm-mobile-panel-head,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-panel-head,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-panel-head {
    margin-bottom: 0.68rem !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-stack,
body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-grid,
body.is-mobile-app-context .app-community-swipe-screen .app-community-ranking-panel,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-grid,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-stack,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-stack {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-card,
body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-card.is-featured,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-card,
body.is-mobile-app-context .app-community-swipe-screen .app-community-ranking-row,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-category,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card {
    border-radius: 18px !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.055) !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-body,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-body {
    padding: 0.82rem !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-body strong,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-head strong,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-owner strong,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card strong,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-body strong {
    color: var(--mm-text) !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-body p,
body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-body small,
body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-facts span,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-story,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-owner span,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-facts span,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card span,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card small,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-body p,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-body small,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-topic-inline-meta span {
    color: var(--mm-muted) !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-facts,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-facts {
    gap: 0.42rem !important;
}

body.is-mobile-app-context .mm-mobile-community-screen .mm-mobile-community-facts span,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-facts span {
    min-height: 34px !important;
    padding: 0.34rem 0.62rem !important;
    border-radius: 999px !important;
    background: #f8fbff !important;
    border: 1px solid rgba(226, 232, 240, 0.94) !important;
}

body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-controls {
    gap: 0.62rem !important;
}

body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-control {
    min-height: 48px !important;
    padding: 0.74rem 0.82rem !important;
    border-radius: 16px !important;
    font-size: 0.9rem !important;
}

body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-control.is-primary {
    background: linear-gradient(135deg, #2f6df6 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
}

body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-control.is-primary i,
body.is-mobile-app-context .app-community-swipe-screen .app-community-swipe-control.is-primary span {
    color: #ffffff !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-shell {
    gap: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-search-field {
    min-height: 56px !important;
    padding-inline: 0.9rem !important;
    border-radius: 18px !important;
}

body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-market-category,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-doc-card,
body.is-mobile-app-context .mm-mobile-docs-screen .mm-mobile-list-card.is-highlight {
    padding: 0.82rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-body {
    gap: 0.58rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-inline-meta {
    gap: 0.48rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-topic-inline-meta {
    gap: 0.42rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-accordion summary {
    padding: 0.86rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-accordion-body {
    padding: 0 0.86rem 0.86rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen {
    padding-inline: 1px !important;
    gap: 0.5rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen > .mm-mobile-hero,
body.is-mobile-app-context .mm-mobile-brand-model-screen > .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card {
    margin-inline: 1px !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen > .mm-mobile-hero {
    padding: 0.72rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen > .mm-mobile-panel,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-card {
    padding: 0.72rem !important;
    border-radius: 18px !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-family-body {
    gap: 0.48rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-inline-actions {
    gap: 0.48rem !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-primary-cta,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-primary-cta i,
body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-primary-cta span {
    color: #ffffff !important;
}

body.is-mobile-app-context .mm-mobile-brand-model-screen .mm-mobile-primary-cta {
    text-shadow: 0 1px 0 rgba(15, 23, 42, 0.18) !important;
}

body.is-mobile-app-context .mm-mobile-marketplace-fab {
    position: fixed;
    right: 14px;
    bottom: calc(var(--mm-mobile-bottom-height) + env(safe-area-inset-bottom) + 14px);
    z-index: 45;
    min-height: 52px;
    padding: 0.78rem 0.96rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.62rem;
    text-decoration: none;
    background: linear-gradient(135deg, #2f6df6 0%, #1d4ed8 100%);
    color: #ffffff !important;
    border: 1px solid rgba(37, 99, 235, 0.9);
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.24);
}

body.is-mobile-app-context .mm-mobile-marketplace-fab-plus,
body.is-mobile-app-context .mm-mobile-marketplace-fab-label {
    color: #ffffff !important;
}

body.is-mobile-app-context .mm-mobile-marketplace-fab-plus {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.16);
    font-size: 1.18rem;
    line-height: 1;
    font-weight: 900;
}

body.is-mobile-app-context .mm-mobile-marketplace-fab-label {
    font-size: 0.9rem;
    line-height: 1.1;
    font-weight: 800;
    text-shadow: 0 1px 0 rgba(15, 23, 42, 0.18);
}

body.is-mobile-app-context .mm-mobile-marketplace-fab:active {
    transform: scale(0.985);
}

.forum-create-topic-page {
    padding-top: 2rem;
    padding-bottom: 3rem;
}

.forum-create-topic-hero {
    background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(239,246,255,0.92));
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 28px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
    padding: 2rem;
    margin-bottom: 1.5rem;
}

.forum-create-topic-hero h1 {
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.02;
    margin-bottom: 0.85rem;
    color: #0f172a;
}

.forum-create-topic-hero p {
    max-width: 920px;
    color: #52607a;
    font-size: 1.05rem;
    margin-bottom: 1.1rem;
}

.forum-create-topic-search {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: #fff;
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 999px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    padding: 0.85rem 1.15rem;
    max-width: 520px;
}

.forum-create-topic-search i {
    color: #2563eb;
    font-size: 1.1rem;
}

.forum-create-topic-search input {
    border: 0;
    outline: 0;
    width: 100%;
    background: transparent;
    color: #0f172a;
    font-size: 1rem;
}

.forum-create-topic-search input::placeholder {
    color: #64748b;
}

.forum-create-topic-macro-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-bottom: 1.25rem;
}

.forum-create-topic-macro-pill {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.95rem 1.15rem;
    border-radius: 18px;
    border: 1px solid rgba(203, 213, 225, 0.9);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    color: #0f172a;
    min-width: 180px;
    text-decoration: none;
}

.forum-create-topic-macro-pill strong {
    font-size: 0.98rem;
    color: #0f172a;
}

.forum-create-topic-macro-pill small {
    font-size: 0.82rem;
    color: #52607a;
}

.forum-create-topic-macro-pill.is-active,
.forum-create-topic-macro-pill:hover,
.forum-create-topic-macro-pill:focus-visible {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.10);
    color: #0f172a;
    text-decoration: none;
}

.forum-create-topic-current {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 28px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.06);
    padding: 1.6rem;
}

.forum-create-topic-current-head {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

.forum-create-topic-current-copy h2 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    margin-bottom: 0.55rem;
    color: #0f172a;
}

.forum-create-topic-current-copy p {
    margin-bottom: 0;
    color: #52607a;
    max-width: 760px;
}

.forum-create-topic-current-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-content: flex-start;
}

.forum-create-topic-current-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(226, 232, 240, 0.9);
    color: #334155;
    font-weight: 600;
}

.forum-create-topic-sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.forum-create-topic-section-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 100%;
    padding: 1.15rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}

.forum-create-topic-section-top {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
}

.forum-create-topic-section-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: rgba(37, 99, 235, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex: 0 0 auto;
}

.forum-create-topic-section-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-create-topic-section-icon i {
    color: #2563eb;
    font-size: 1.3rem;
}

.forum-create-topic-section-top h3 {
    margin: 0 0 0.35rem;
    font-size: 1.25rem;
    color: #0f172a;
}

.forum-create-topic-section-top p {
    margin: 0;
    color: #52607a;
    line-height: 1.55;
}

.forum-create-topic-section-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.forum-create-topic-section-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #475569;
    font-size: 0.9rem;
    font-weight: 600;
}

.forum-create-topic-section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: auto;
}

.forum-create-topic-section-actions .btn {
    min-height: 46px;
    border-radius: 14px;
    font-weight: 700;
}

.forum-create-topic-section-actions .btn-primary {
    color: #fff;
}

@media (max-width: 768px) {
    .forum-create-topic-page {
        padding-top: 0.7rem;
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }

    .forum-create-topic-hero,
    .forum-create-topic-current {
        border-radius: 24px;
        padding: 1.1rem;
    }

    .forum-create-topic-hero h1 {
        font-size: 2rem;
    }

    .forum-create-topic-hero p {
        font-size: 0.98rem;
    }

    .forum-create-topic-macro-strip {
        gap: 0.6rem;
    }

    .forum-create-topic-macro-pill {
        width: calc(50% - 0.3rem);
        min-width: 0;
        padding: 0.85rem 0.95rem;
    }

    .forum-create-topic-section-card {
        border-radius: 20px;
        padding: 1rem;
    }

    .forum-create-topic-section-actions .btn {
        flex: 1 1 100%;
    }
}

.forum-create-topic-page-simple {
    max-width: 1180px;
}

.forum-create-topic-simple-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    margin-bottom: 1rem;
}

.forum-create-topic-simple-head h1 {
    margin: 0.25rem 0 0.35rem;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.05;
    color: #0f172a;
}

.forum-create-topic-simple-head p {
    margin: 0;
    max-width: 760px;
    color: #52607a;
    font-size: 1.05rem;
}

.forum-create-topic-macro-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0.25rem 0 1rem;
    margin-bottom: 0.75rem;
}

.forum-create-topic-macro-row a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(203, 213, 225, 0.95);
    background: #fff;
    color: #334155;
    font-weight: 700;
    text-decoration: none;
}

.forum-create-topic-mobile-menu {
    display: none;
}

.forum-create-topic-macro-row a.is-active,
.forum-create-topic-macro-row a:hover,
.forum-create-topic-macro-row a:focus-visible {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}

.forum-quick-compose {
    display: grid;
    gap: 1rem;
}

.forum-quick-compose-panel {
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    padding: 1.1rem;
}

.forum-quick-compose-step {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.forum-quick-compose-step > span {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #1d4ed8;
    color: #fff;
    font-weight: 800;
}

.forum-quick-compose-step h2 {
    margin: 0 0 0.2rem;
    color: #0f172a;
    font-size: 1.2rem;
}

.forum-quick-compose-step p {
    margin: 0;
    color: #64748b;
}

.forum-section-choice-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.7rem;
}

.forum-section-choice {
    cursor: pointer;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
    min-width: 0;
    min-height: 92px;
    padding: 0.85rem;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 16px;
    background: #f8fafc;
}

.forum-section-choice input {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: #1d4ed8;
}

.forum-section-choice strong,
.forum-section-choice small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.forum-section-choice strong {
    color: #0f172a;
    font-size: 1rem;
}

.forum-section-choice small {
    color: #64748b;
    line-height: 1.4;
    margin-top: 0.15rem;
}

.forum-section-choice em {
    font-style: normal;
    color: #475569;
    font-weight: 700;
    font-size: 0.9rem;
    white-space: nowrap;
}

.forum-section-choice.is-selected {
    background: #eff6ff;
    border-color: rgba(37, 99, 235, 0.6);
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.12);
}

.forum-quick-field {
    display: block;
    margin-bottom: 1rem;
}

.forum-quick-field > span {
    display: block;
    margin-bottom: 0.45rem;
    color: #0f172a;
    font-weight: 800;
}

.forum-quick-tools,
.forum-quick-compose-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.forum-quick-tools .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 44px;
    border-radius: 12px;
    font-weight: 700;
}

.forum-quick-compose-actions {
    justify-content: flex-end;
    padding-bottom: 2rem;
}

.forum-quick-compose-actions .btn {
    min-height: 48px;
    border-radius: 14px;
    font-weight: 800;
}

.forum-create-topic-empty {
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    padding: 1.25rem;
}

@media (max-width: 768px) {
    .forum-create-topic-simple-head {
        display: block;
        padding-top: 0.5rem;
    }

    .forum-create-topic-simple-head .btn {
        margin-top: 0.85rem;
        width: 100%;
    }

    .forum-create-topic-macro-row {
        display: none;
    }

    .forum-create-topic-mobile-menu {
        display: block;
        margin: 0.25rem 0 1rem;
        border: 1px solid rgba(203, 213, 225, 0.95);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
        overflow: hidden;
    }

    .forum-create-topic-mobile-menu summary {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.85rem;
        padding: 0.9rem 1rem;
        list-style: none;
    }

    .forum-create-topic-mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .forum-create-topic-mobile-menu summary span,
    .forum-create-topic-mobile-macro,
    .forum-create-topic-mobile-sections span {
        display: grid;
        min-width: 0;
        gap: 0.12rem;
    }

    .forum-create-topic-mobile-menu summary small,
    .forum-create-topic-mobile-macro small,
    .forum-create-topic-mobile-sections small {
        color: #64748b;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .forum-create-topic-mobile-menu summary strong {
        color: #0f172a;
        font-size: 1rem;
    }

    .forum-create-topic-mobile-menu[open] summary i {
        transform: rotate(180deg);
    }

    .forum-create-topic-mobile-menu-panel {
        display: grid;
        gap: 0.8rem;
        padding: 0 0.8rem 0.9rem;
        border-top: 1px solid rgba(226, 232, 240, 0.95);
    }

    .forum-create-topic-mobile-menu-panel section {
        display: grid;
        gap: 0.55rem;
        padding-top: 0.8rem;
    }

    .forum-create-topic-mobile-macro {
        padding: 0.75rem 0.85rem;
        border-radius: 12px;
        background: #f8fafc;
        color: #0f172a;
        text-decoration: none;
    }

    .forum-create-topic-mobile-macro.is-active {
        background: #1d4ed8;
        color: #fff;
    }

    .forum-create-topic-mobile-macro.is-active small {
        color: rgba(255, 255, 255, 0.82);
    }

    .forum-create-topic-mobile-sections {
        display: grid;
        gap: 0.4rem;
        padding-left: 0.5rem;
    }

    .forum-create-topic-mobile-sections span {
        padding: 0.55rem 0.7rem;
        border-left: 3px solid rgba(37, 99, 235, 0.28);
        background: #f8fbff;
        border-radius: 0 10px 10px 0;
    }

    .forum-create-topic-mobile-sections strong {
        color: #172033;
        font-size: 0.92rem;
        font-weight: 850;
    }

    .forum-section-choice-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .forum-section-choice {
        grid-template-columns: auto 1fr;
    }

    .forum-section-choice em {
        grid-column: 2;
    }

    .forum-quick-tools .btn,
    .forum-quick-compose-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

.docs-search-google-shell {
    min-height: calc(100vh - 120px);
    background:
        radial-gradient(circle at top right, rgba(191, 219, 254, 0.32), transparent 34%),
        linear-gradient(180deg, #f8fbff 0%, #f4f7fb 100%);
    padding: 2rem 0 4rem;
}

.docs-search-google-shell .container-lg {
    max-width: 1040px;
}

.docs-search-topbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

.docs-search-topbar-link {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 48px;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(203, 213, 225, 0.9);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
}

.docs-search-hero {
    text-align: center;
    padding: 2.5rem 0 1.8rem;
}

.docs-search-brand {
    font-size: clamp(3rem, 9vw, 5.5rem);
    line-height: 0.96;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #1d4ed8;
    margin-bottom: 0.85rem;
}

.docs-search-lead {
    font-size: 1.2rem;
    color: #0f172a;
    margin-bottom: 0.35rem;
}

.docs-search-sublead {
    max-width: 760px;
    margin: 0 auto 1.35rem;
    color: #52607a;
    line-height: 1.65;
}

.docs-search-hero-links {
    display: flex;
    justify-content: center;
    margin: -0.2rem 0 1.05rem;
}

.docs-search-upload-link {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 44px;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(191, 219, 254, 0.95);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 800;
}

.docs-search-upload-link:hover,
.docs-search-upload-link:focus-visible {
    color: #1d4ed8;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.12);
    border-color: rgba(37, 99, 235, 0.3);
}

.docs-search-google-form {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 999px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
    padding: 0.9rem 1.15rem;
}

.docs-search-google-form i {
    color: #2563eb;
    font-size: 1.15rem;
}

.docs-search-google-form input {
    flex: 1 1 auto;
    background: transparent;
    border: 0;
    outline: 0;
    color: #0f172a;
    font-size: 1.06rem;
}

.docs-search-google-form input::placeholder {
    color: #64748b;
}

.docs-search-google-form button {
    border: 0;
    min-height: 46px;
    padding: 0.8rem 1.15rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #2f6df6 0%, #1d4ed8 100%);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
}

.docs-search-results-head {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: baseline;
    margin: 0.8rem 0 1rem;
    color: #52607a;
}

.docs-search-results-head strong {
    color: #0f172a;
    font-size: 1.02rem;
}

.docs-search-results-list {
    display: grid;
    gap: 1rem;
}

.docs-search-result-card {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(226, 232, 240, 0.96);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.docs-search-result-thumb {
    width: 110px;
    aspect-ratio: 1 / 1;
    border-radius: 20px;
    overflow: hidden;
    background: #eef4ff;
    display: block;
}

.docs-search-result-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.docs-search-result-meta,
.docs-search-result-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    color: #64748b;
    font-size: 0.88rem;
}

.docs-search-result-title {
    display: inline-block;
    margin: 0.3rem 0 0.45rem;
    font-size: 1.28rem;
    line-height: 1.2;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
}

.docs-search-result-title:hover,
.docs-search-result-title:focus-visible {
    color: #1d4ed8;
}

.docs-search-result-description {
    margin: 0 0 0.65rem;
    color: #475569;
    line-height: 1.65;
}

.docs-search-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.docs-search-result-actions .btn {
    min-height: 44px;
    border-radius: 999px;
    font-weight: 800;
}

.docs-search-result-actions .btn-primary {
    color: #fff;
}

.docs-search-empty {
    margin: 2rem auto 0;
    max-width: 760px;
    text-align: center;
    padding: 2rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(226, 232, 240, 0.92);
    color: #52607a;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

.docs-search-empty h2 {
    color: #0f172a;
    margin-bottom: 0.55rem;
}

@media (max-width: 768px) {
    .docs-search-google-shell {
        padding: 0.35rem 0 calc(76px + env(safe-area-inset-bottom));
    }

    .docs-search-google-shell .container-lg {
        width: 100%;
        max-width: none;
        margin: 0;
        padding-inline: 0.35rem;
    }

    .docs-search-topbar {
        justify-content: stretch;
        margin-bottom: 0.55rem;
    }

    .docs-search-topbar-link {
        width: 100%;
        justify-content: center;
        min-height: 42px;
        padding: 0.62rem 0.82rem;
    }

    .docs-search-hero {
        padding: 0.55rem 0 0.78rem;
    }

    .docs-search-brand {
        font-size: 2.45rem;
        margin-bottom: 0.55rem;
    }

    .docs-search-lead {
        font-size: 0.98rem;
        margin-bottom: 0.2rem;
    }

    .docs-search-sublead {
        margin-bottom: 0.8rem;
        font-size: 0.92rem;
        line-height: 1.55;
    }

    .docs-search-google-form {
        gap: 0.65rem;
        padding: 0.72rem 0.85rem;
        border-radius: 24px;
    }

    .docs-search-google-form button {
        display: none;
    }

    .docs-search-results-head {
        margin: 0.45rem 0 0.72rem;
        padding-inline: 0.1rem;
    }

    .docs-search-results-list {
        gap: 0.72rem;
    }

    .docs-search-result-card {
        grid-template-columns: 76px 1fr;
        gap: 0.72rem;
        padding: 0.72rem;
        border-radius: 18px;
    }

    .docs-search-result-thumb {
        width: 76px;
        border-radius: 14px;
    }

    .docs-search-result-meta,
    .docs-search-result-foot {
        gap: 0.45rem;
        font-size: 0.79rem;
    }

    .docs-search-result-title {
        margin: 0.2rem 0 0.32rem;
        font-size: 1rem;
        line-height: 1.16;
    }

    .docs-search-result-description {
        margin-bottom: 0.5rem;
        font-size: 0.92rem;
        line-height: 1.46;
    }

    .docs-search-result-actions {
        gap: 0.55rem;
        margin-top: 0.62rem;
    }

    .docs-search-result-actions .btn {
        flex: 1 1 100%;
        min-height: 42px;
        padding: 0.72rem 0.9rem;
    }

    .docs-search-empty {
        margin-top: 1rem;
        padding: 1.15rem 0.95rem;
        border-radius: 20px;
    }
}
