    /* Hidden on desktop, shown in mobile media query */
    .bottom-nav, .mobile-lists-btn, .mobile-mp-tabs, .mobile-mp-filters, .mobile-login-btn, .mp-toolbar-filter-btn, .lists-close-btn { display: none; }

    /* Responsive - Tablet */
    @media (max-width: 900px) {
      .sidebar { width: 60px; }
      .sidebar .logo span, .nav-item span:not(.icon), .section-header,
      .watchlist, .smart-lists, .nav-item .shortcut { display: none; }
      .nav-item { justify-content: center; padding: 12px; }
      .sidebar-header { justify-content: center; }
      .lists-sidebar { width: 180px; }
      .tools-layout {
        grid-template-columns: 1fr;
      }
    }

    /* Responsive - Mobile */
    @media (max-width: 768px) {
      :root {
        --sidebar-width: 0px;
      }

      /* Safe area for iPhone notch/Dynamic Island */
      .topbar {
        padding-top: calc(8px + env(safe-area-inset-top));
      }

      /* Hide sidebar and hamburger — replaced by bottom nav */
      .sidebar,
      .sidebar-overlay,
      .mobile-menu-btn {
        display: none !important;
      }

      /* ============ Bottom Tab Navigation ============ */
      .bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 56px;
        background: var(--bg-primary);
        border-top: 1px solid var(--border);
        z-index: 900;
        padding-bottom: env(safe-area-inset-bottom);
      }
      .bottom-nav-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        color: var(--text-dim);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        user-select: none;
        transition: color 0.15s;
      }
      .bottom-nav-item.active {
        color: var(--accent);
      }
      .bottom-nav-icon {
        font-size: 18px;
        line-height: 1;
      }
      .bottom-nav-label {
        font-size: 10px;
        font-weight: 500;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      /* Add bottom padding to main content so it's not hidden behind bottom nav */
      .main-content {
        padding-bottom: calc(56px + env(safe-area-inset-bottom));
      }
      .empty-state {
        padding-bottom: calc(56px + env(safe-area-inset-bottom)) !important;
      }

      /* Main content full width */
      .main-content {
        margin-left: 0;
        width: 100%;
      }

      /* Bottom spacing for scroll containers so last items aren't hidden by bottom nav */
      .watchlist-table-body::after,
      #marketplaceTableBody::after,
      .work-area::after,
      .shop-section::after {
        content: '';
        display: block;
        height: calc(80px + env(safe-area-inset-bottom));
        flex-shrink: 0;
      }
      /* Extra bottom padding for watchlist scroll container */
      .watchlist-table-body {
        padding-bottom: calc(80px + env(safe-area-inset-bottom));
      }

      /* Topbar mobile */
      .topbar {
        padding: 8px 12px;
        flex-wrap: wrap;
        gap: 6px;
      }
      .topbar-left {
        order: 1;
        flex: 0 0 auto;
      }
      .topbar-center {
        order: 3;
        flex: 1 1 100%;
        margin-top: 8px;
      }
      .topbar-right {
        order: 2;
        flex: 0 0 auto;
      }
      .search-container {
        max-width: 100%;
      }
      .quick-stats {
        gap: 12px;
        flex-wrap: wrap;
      }
      .stat-value {
        font-size: 16px;
      }

      /* Panel tabs scrollable */
      .panel-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }
      .panel-tabs::-webkit-scrollbar {
        display: none;
      }
      .panel-tab {
        white-space: nowrap;
        flex-shrink: 0;
      }

      /* Hide desktop-only elements */
      .shortcut, [data-shortcut]::after, .kbd-hint,
      .kbd-hint-inline, .kbd-hint-bar,
      .topbar-hints,
      .bulk-bar, .watchlist-bulk-bar,
      .command-palette,
      .context-status-bar,
      #devTierToggle,
      .dropdown-arrow, .user-name,
      .ctx-key, .row-hints,
      #langSwitcher {
        display: none !important;
      }

      /* Show language toggle inside dropdown on mobile */
      .dropdown-lang-item {
        display: flex !important;
      }

      /* Topbar — subtle background zone on mobile */
      .topbar {
        background: var(--bg-tertiary) !important;
      }

      /* Topbar brand — visible on mobile, always centered */
      .topbar-brand {
        display: block !important;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        font-size: 17px;
        font-weight: 600;
        color: var(--text-dim);
        letter-spacing: 0.3px;
        white-space: nowrap;
        opacity: 0.5;
        pointer-events: none;
      }

      /* Push actions to the right — independent of title width */
      .topbar-actions {
        margin-left: auto;
      }
      .user-menu-container {
        margin-left: 0;
      }

      /* Topbar actions: show only theme icon, hide Cmd+K */
      .topbar-actions .btn-secondary,
      .theme-switcher kbd {
        display: none !important;
      }
      .theme-switcher {
        min-width: 36px;
        min-height: 36px;
        width: 36px;
        height: 36px;
        padding: 0;
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-size: 14px;
      }

      /* Mobile login button for guests */
      .mobile-login-btn {
        display: flex !important;
        align-items: center;
        gap: 0;
        margin-left: 0;
        padding: 6px 12px;
        background: var(--accent);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        min-height: 36px;
        white-space: nowrap;
      }
      .mobile-login-icon {
        display: none;
      }
      /* Hide guest dropdown on mobile — login button replaces it */
      body.guest-mode .user-menu-container {
        display: none !important;
      }
      /* When logged in — hide login button, show dropdown */
      body:not(.guest-mode) .mobile-login-btn {
        display: none !important;
      }

      /* Prevent iOS zoom on input focus (requires 16px minimum) */
      .form-input, .form-select, input[type="text"], input[type="number"],
      input[type="search"], textarea, select {
        font-size: 16px !important;
      }

      /* Bigger touch targets */
      .btn {
        min-height: 44px;
        min-width: 44px;
        padding: 10px 16px;
      }
      .btn-xs {
        min-height: 36px;
        min-width: 36px;
        padding: 8px 12px;
      }
      .btn-sm {
        min-height: 40px;
        padding: 8px 14px;
      }

      /* Table to cards */
      .watchlist-table-header {
        display: none;
      }
      .watchlist-table-row {
        display: flex;
        flex-wrap: nowrap;
        padding: 6px 10px;
        gap: 4px;
        border-bottom: 1px solid var(--border);
      }
      /* Watchlist — hide secondary columns on mobile */
      .watchlist-col-checkbox,
      .watchlist-col-shop,
      .watchlist-col-change,
      .watchlist-col-list {
        display: none;
      }
      .watchlist-col-num {
        flex: 0 0 20px;
        width: auto;
        font-size: 10px;
        padding: 0 2px;
      }
      /* Watchlist row: username | status | price | ⋮ */
      .watchlist-col-username {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        font-size: 13px;
      }
      .watchlist-col-status {
        flex: 0 0 auto;
        width: auto;
        font-size: 11px;
      }
      .watchlist-col-price {
        flex: 0 0 auto;
        width: auto;
        font-size: 12px;
        text-align: right;
      }
      .watchlist-col-more {
        flex: 0 0 24px;
        width: auto;
      }

      /* Marketplace columns — hide secondary on mobile */
      .mp-col-usd,
      .mp-col-time,
      .mp-col-len,
      .mp-col-new {
        display: none;
      }
      .mp-col-num {
        flex: 0 0 20px;
        width: auto;
        font-size: 10px;
        padding: 0 2px;
      }
      /* Row layout: username | actions | type+price */
      .mp-col-username {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        font-size: 13px;
      }
      .mp-col-actions {
        flex: 0 0 auto;
        width: auto;
        gap: 2px;
      }
      .mp-col-actions .btn {
        min-height: 28px;
        min-width: 28px;
        padding: 2px 6px;
        font-size: 11px;
      }
      /* Compact marketplace rows */
      #marketplaceTableBody .watchlist-table-row {
        padding: 4px 8px;
        gap: 4px;
        align-items: center;
      }
      .mp-col-type .status-badge {
        font-size: 10px;
        padding: 1px 4px;
      }
      .mp-col-type {
        flex: 0 0 auto;
        width: auto;
        font-size: 11px;
      }
      .mp-col-price {
        flex: 0 0 auto;
        width: auto;
        text-align: right;
        font-size: 13px;
      }
      /* Sold tab */
      .mp-col-sold {
        flex: 0 0 auto;
        width: auto;
        font-size: 11px;
      }

      /* Candidate cards */
      .candidate-row {
        flex-direction: column;
        align-items: flex-start;
        padding: 12px;
        gap: 8px;
      }
      .candidate-row .username {
        font-size: 16px;
      }
      .candidate-row .actions {
        width: 100%;
        justify-content: flex-end;
      }

      /* Show Lists button on mobile */
      .mobile-lists-btn {
        display: inline-flex !important;
      }

      /* Lists sidebar close button — only on mobile */
      .lists-close-btn {
        display: inline-flex !important;
        min-width: 32px;
        min-height: 32px;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        padding: 0;
      }
      .lists-header-actions {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      /* Swipe handle indicator on sidebar top */
      .lists-sidebar.mobile-open::before {
        content: '';
        display: block;
        width: 36px;
        height: 4px;
        background: var(--text-dim);
        opacity: 0.3;
        border-radius: 2px;
        margin: 6px auto 0;
      }

      /* Lists sidebar as bottom sheet */
      .lists-sidebar {
        position: fixed;
        bottom: -100%;
        left: 0;
        right: 0;
        width: 100%;
        height: auto;
        max-height: 60vh;
        border-radius: 16px 16px 0 0;
        z-index: 1000;
        transition: bottom 0.3s ease;
        background: var(--bg-primary);
        border-top: 1px solid var(--border);
        overflow-y: auto;
        padding-bottom: env(safe-area-inset-bottom);
      }
      .lists-sidebar.mobile-open {
        bottom: 0;
      }

      /* Modals — full width, centered on mobile (z-index above bottom nav) */
      .modal-overlay {
        z-index: 1100;
        align-items: flex-start;
        padding-top: 10vh;
      }
      .modal {
        width: 100% !important;
        max-width: 100% !important;
        max-height: 80vh !important;
        height: auto;
        border-radius: 12px !important;
        margin: 0 8px;
        width: calc(100% - 16px) !important;
      }
      .modal-header {
        padding: 12px 16px;
      }
      .modal-body {
        max-height: calc(80vh - 120px);
        overflow-y: auto;
        padding: 16px;
      }
      .modal-close {
        min-width: 44px;
        min-height: 44px;
        font-size: 24px;
      }
      /* Modal footer — full-width buttons */
      .modal-footer {
        padding: 12px 16px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom));
        gap: 8px;
      }
      .modal-footer .btn {
        flex: 1;
        min-height: 44px;
        justify-content: center;
      }
      /* Form inputs bigger touch targets */
      .modal .form-input,
      .modal .form-select,
      .modal textarea {
        font-size: 16px;
        padding: 10px 12px;
      }
      /* Shortcuts modal — hide on mobile (useless) */
      .shortcuts-modal .modal {
        display: none;
      }

      /* Smart lists horizontal scroll */
      .smart-lists {
        display: flex;
        overflow-x: auto;
        gap: 8px;
        padding: 8px 0;
        -webkit-overflow-scrolling: touch;
      }
      .smart-list {
        flex: 0 0 auto;
        white-space: nowrap;
      }

      /* View header */
      .view-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
      }
      .view-header .header-actions {
        width: 100%;
        justify-content: space-between;
      }

      /* Bulk bar sticky bottom */
      .bulk-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        border-radius: 0;
        z-index: 100;
      }

      /* Generator input */
      .generator-input {
        flex-direction: column;
      }
      .generator-input input {
        width: 100%;
      }

      /* ============ Analytics Mobile ============ */

      /* 2-column grids → stack */
      .analytics-two-col {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
      }

      /* Overview cards — compact 2-col */
      .analytics-overview {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        margin-bottom: 16px;
      }
      .analytics-card {
        padding: 10px;
        border-radius: 8px;
      }
      .analytics-card:hover {
        transform: none;
      }
      .analytics-card-header {
        margin-bottom: 6px;
        gap: 6px;
      }
      .analytics-card-icon {
        font-size: 14px;
      }
      .analytics-card-body {
        gap: 6px;
        margin-bottom: 4px;
      }
      .analytics-card-value {
        font-size: 20px;
      }
      .analytics-card-unit {
        font-size: 12px;
      }
      .analytics-card-change {
        font-size: 11px;
        padding: 1px 6px;
      }
      .analytics-card-sparkline {
        height: 28px !important;
        max-height: 28px;
        margin-top: 4px;
      }
      .ton-price-volume {
        margin-top: 6px;
        padding-top: 6px;
        font-size: 11px;
      }

      /* Filters — compact */
      #analyticsTrendsControls {
        flex-wrap: wrap !important;
        gap: 4px !important;
      }
      #analyticsTrendsControls select {
        padding: 4px 6px !important;
        font-size: 11px !important;
        border-radius: 4px !important;
      }
      #analyticsFilters {
        gap: 4px !important;
      }

      /* Sections — tighter */
      .analytics-section {
        padding: 10px;
        border-radius: 8px;
      }
      .analytics-section-header {
        margin-bottom: 8px;
      }
      .analytics-section-header h3 {
        font-size: 13px;
      }

      /* Sales by Length bars — compact, no label wrap */
      .analytics-bar {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center;
        gap: 4px;
        padding: 2px 0;
      }
      .analytics-bar .label {
        width: 50px;
        font-size: 11px;
        flex-shrink: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .analytics-bar .bar-container {
        flex: 1 1 auto;
        min-width: 0;
        height: 20px;
      }
      .analytics-bar .bar {
        font-size: 10px;
      }
      .analytics-bar .stat-price,
      .analytics-bar .stat-change {
        display: none;
      }

      /* Market Insights highlights — 2-col on tablet */
      .market-insights-highlights {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
      }
      .market-highlight {
        padding: 6px 8px;
        gap: 6px;
      }
      .market-insights-divider {
        margin: 8px 0;
      }

      /* Key insights — 2 col on mobile */
      .key-insights-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
      }
      .key-insight {
        padding: 6px 8px;
        gap: 6px;
      }
      .insight-icon {
        font-size: 12px;
      }
      .insight-value {
        font-size: 11px;
      }
      .insight-detail {
        font-size: 9px;
      }

      /* Top Sales — compact */
      .analytics-list {
        max-height: 240px;
      }
      .analytics-list-item {
        padding: 4px 0;
        gap: 6px;
      }
      .analytics-list-item .rank {
        width: 18px;
        font-size: 10px;
      }
      .analytics-list-item .username {
        font-size: 11px;
      }
      .analytics-list-item .price {
        font-size: 11px;
      }
      .analytics-list-item .date {
        display: none;
      }

      /* Heatmap horizontal scroll */
      .heatmap-grid {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        min-width: 0;
      }

      /* Length analysis — compact for mobile */
      .length-analysis-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
      }

      /* Watchlist Performance stats */
      .watchlist-perf-stats {
        grid-template-columns: repeat(2, 1fr);
      }

      /* Container padding */
      #view-analytics > div {
        padding: 10px !important;
      }

      /* Responsive bulk table */
      .bulk-results-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
      }
      .bulk-results-table th,
      .bulk-results-table td {
        padding: 8px 10px;
        font-size: 12px;
      }
      .bulk-results-table th:nth-child(3),
      .bulk-results-table td:nth-child(3) {
        display: none;
      }

      /* Options grid responsive */
      .options-grid {
        grid-template-columns: 1fr;
      }

      /* Tools view — compact padding on mobile */
      .tools-layout {
        grid-template-columns: 1fr;
        padding: 12px !important;
      }
      .btn-estimate {
        min-height: 44px;
      }
      .estimate-form {
        flex-direction: column;
      }
      .estimate-form .btn-estimate {
        width: 100%;
      }

      /* Market stats / estimates tables — compact on mobile */
      .stats-table th,
      .stats-table td,
      .estimates-table th,
      .estimates-table td {
        padding: 6px 8px;
        font-size: 11px;
      }
      .stats-table .stats-range {
        display: none;
      }

      /* Account — compact on mobile */
      .account-row {
        flex-wrap: wrap;
        gap: 6px;
        padding: 10px 0;
      }
      .account-label {
        width: 100px;
        font-size: 12px;
      }
      .account-value {
        font-size: 13px;
      }
      .account-card {
        padding: 12px;
      }
      .account-section-title {
        font-size: 12px;
      }
      .usage-bar {
        width: 80px;
      }
      #view-account > div {
        max-width: 100% !important;
      }

      /* Popups constrain to viewport */
      .smart-search-popup {
        min-width: unset;
        width: calc(100vw - 24px);
      }

      /* ============ Username width fix ============ */
      .username-link,
      .result-item .username {
        width: auto;
        min-width: auto;
      }

      /* ============ My Shop Mobile ============ */

      /* Compact My Shop view padding */
      #view-myshop > div {
        padding: 8px !important;
      }

      /* My Shops header — compact on mobile */
      #myshopContent > div:first-child {
        margin-bottom: 6px !important;
      }
      #myshopContent > div:first-child h2 {
        font-size: 16px !important;
      }
      #myshopContent > div:first-child .btn {
        padding: 6px 12px !important;
        font-size: 12px !important;
      }
      /* Hide "Upgrade to Pro for more" on mobile */
      #shopUpgradeHint {
        display: none !important;
      }

      /* Hide secondary columns */
      .sh-col-note,
      .sh-col-estimate,
      .sh-col-status {
        display: none;
      }
      /* Compact row layout — force single line */
      .watchlist-table-row {
        padding: 8px 8px;
        gap: 6px;
        flex-wrap: nowrap;
      }
      .sh-col-num {
        flex: 0 0 20px;
        width: auto;
        font-size: 10px;
      }
      .sh-col-username {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        font-size: 12px;
      }
      .sh-col-price {
        flex: 0 0 auto;
        width: auto;
        min-width: auto;
        text-align: right;
        font-size: 12px;
        white-space: nowrap;
      }
      /* Hide USD estimates on mobile */
      .sh-col-price span[style*="font-size:10px"] {
        display: none;
      }
      .sh-col-actions {
        flex: 0 0 28px;
        width: auto;
      }
      .sh-col-actions .btn {
        min-height: 28px;
        min-width: 28px;
        padding: 2px 6px;
        font-size: 14px;
      }

      /* Hide row number and delete button on mobile — actions via swipe */
      #view-myshop .sh-col-num {
        display: none;
      }
      #view-myshop .sh-col-actions {
        display: none;
      }
      /* Tighter row padding for shop items */
      #view-myshop .watchlist-table-row {
        padding: 4px 8px;
        gap: 4px;
      }
      /* Price column — larger touch target, more prominent */
      #view-myshop .sh-col-price {
        min-height: 32px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
      }
      /* "Set price" — look like a tappable link */
      #view-myshop .sh-col-price span[style*="color: var(--text-dim)"] {
        text-decoration: underline;
        text-decoration-style: dotted;
      }

      /* Shop section header — compact row on mobile */
      .shop-section-header {
        padding: 6px 8px !important;
        gap: 4px !important;
        flex-direction: row !important;
        flex-wrap: wrap;
        background: transparent;
        border-bottom: 1px solid var(--border);
      }
      .shop-section-header > div {
        flex-wrap: wrap;
      }
      .shop-section-info {
        gap: 6px;
      }
      /* Hide /s/slug link — available via Share */
      .shop-card-url {
        display: none;
      }
      /* Compact buttons in shop header */
      .shop-section-header .btn-xs {
        padding: 4px 8px !important;
        font-size: 11px !important;
        min-height: 32px;
      }
      .shop-card-meta-inline {
        font-size: 11px;
      }
      /* Table header — hide on mobile */
      .watchlist-table-header {
        display: none;
      }
      .watchlist-table {
        padding: 0 4px 8px !important;
      }
      /* Bottom padding for shop items — prevent bottom nav overlap */
      #view-myshop .watchlist-table {
        padding-bottom: calc(60px + env(safe-area-inset-bottom)) !important;
      }
      /* Shop tabs — horizontal scroll, sticky */
      .shop-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        flex-wrap: nowrap;
        position: sticky;
        top: 0;
        background: var(--bg-primary);
        z-index: 10;
        margin-bottom: 8px;
        padding: 4px 0;
      }
      .shop-tabs::-webkit-scrollbar {
        display: none;
      }
      .shop-tab {
        white-space: nowrap;
        flex-shrink: 0;
        font-size: 13px;
        padding: 6px 12px;
      }
      /* Remove card frame on mobile — let content breathe */
      .shop-section {
        border: none;
        border-radius: 0;
        background: transparent;
      }

      /* ============ Marketplace Mobile ============ */

      /* Mobile marketplace tabs */
      .mobile-mp-tabs {
        display: flex !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0;
        border-bottom: 1px solid var(--border);
        background: var(--bg-primary);
        position: sticky;
        top: 0;
        z-index: 10;
      }
      .mobile-mp-tabs::-webkit-scrollbar { display: none; }
      .mobile-mp-tab {
        flex: 1 0 auto;
        padding: 8px 8px;
        font-size: 12px;
        font-weight: 600;
        color: var(--text-dim);
        background: none;
        border: none;
        border-bottom: 2px solid transparent;
        cursor: pointer;
        white-space: nowrap;
        transition: color 0.15s, border-color 0.15s;
      }
      .mobile-mp-tab.active {
        color: var(--accent);
        border-bottom-color: var(--accent);
        background: rgba(106, 178, 242, 0.08);
      }
      .mobile-mp-tab span {
        font-size: 10px;
        opacity: 0.5;
        margin-left: 2px;
      }
      /* Stats bar & hot deals — hidden on mobile */
      .marketplace-stats-bar {
        display: none !important;
      }
      .hot-deals-section {
        display: none !important;
      }

      /* ============ Mobile Marketplace Filters (dropdown under toolbar) ============ */
      .mobile-mp-filters {
        display: block !important;
        padding: 0 !important;
        position: relative;
        z-index: 20;
      }
      .mobile-filter-toggle {
        display: none !important;
      }
      .mobile-filter-panel {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.25s ease, padding 0.25s ease;
        background: var(--card-bg);
        border-radius: 0 0 8px 8px;
        padding: 0 12px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
      }
      .mobile-filter-panel.open {
        max-height: 250px;
        padding: 8px 12px;
        border: 1px solid var(--border);
        border-top: none;
      }
      .mobile-filter-section {
        padding: 8px 0 0;
      }
      .mobile-filter-section .form-label {
        margin-bottom: 4px;
        font-size: 12px;
      }
      .mobile-filter-chips {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
      }
      .mobile-filter-price {
        display: flex;
        gap: 6px;
        align-items: center;
      }
      .mobile-filter-price .form-input {
        width: 70px;
        padding: 6px 8px;
      }
      /* Filter toggle button — shown on mobile */
      .mp-toolbar-filter-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
      }

      /* ============ Marketplace: Search full-width, sort below ============ */
      #view-marketplace .watchlist-toolbar {
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        padding: 6px 8px;
      }
      #view-marketplace .watchlist-search {
        flex: 1 1 100%;
        max-width: 100%;
      }
      #view-marketplace .watchlist-filters {
        flex: 1 1 100%;
        flex-wrap: nowrap;
        width: 100%;
        gap: 4px;
      }
      #view-marketplace .watchlist-filters .filter-dropdown select,
      #view-marketplace .watchlist-filters .form-select {
        font-size: 12px;
        padding: 4px 6px;
      }

      /* ============ Watchlist/Marketplace Toolbar Mobile ============ */
      .watchlist-toolbar {
        flex-wrap: wrap;
        padding: 8px 12px;
        gap: 6px;
      }
      .watchlist-search {
        flex: 1 1 100%;
        max-width: 100%;
      }
      .watchlist-filters {
        flex-wrap: wrap;
        width: 100%;
        gap: 6px;
      }
      .watchlist-filters .filter-dropdown select,
      .watchlist-filters .form-select {
        font-size: 13px;
        padding: 6px 8px;
      }
      /* Hide Estimate All button on mobile */
      .btn-estimate-all {
        display: none;
      }
      .toolbar-left {
        flex: 1 1 100%;
        gap: 6px;
      }
      .toolbar-left .search-input {
        width: 100% !important;
        flex: 1;
      }
      .toolbar-left .form-select {
        font-size: 13px;
      }
      #watchlistSearchInput {
        width: 100% !important;
      }

      /* ============ Watchlist: Toolbar on one line ============ */
      #view-watchlist .watchlist-toolbar {
        flex-wrap: nowrap;
        align-items: center;
        gap: 4px;
        padding: 6px 8px;
      }
      #view-watchlist .toolbar-left {
        flex: 1 1 auto;
        display: flex;
        flex-wrap: nowrap;
        gap: 4px;
        min-width: 0;
      }
      #view-watchlist .toolbar-left .search-input {
        width: auto !important;
        flex: 1;
        min-width: 0;
      }
      #view-watchlist .toolbar-left .form-select {
        font-size: 11px;
        padding: 2px 4px;
        flex-shrink: 0;
        max-width: 80px;
      }
      #view-watchlist #watchlistSearchInput {
        width: auto !important;
      }
      #view-watchlist .toolbar-right {
        display: flex;
        flex-direction: row;
        gap: 4px;
        flex-shrink: 0;
      }
      #view-watchlist .toolbar-right .btn {
        padding: 4px 8px;
        min-height: 28px;
        font-size: 11px;
        white-space: nowrap;
      }

      /* ============ Auth Prompts Mobile ============ */
      .auth-prompt-banner {
        padding: 8px 10px;
        gap: 8px;
        font-size: 12px;
        margin: 0 8px 4px;
      }
      .auth-prompt-banner .auth-prompt-icon {
        font-size: 16px;
      }
      .auth-prompt-banner .auth-prompt-text {
        font-size: 11px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .auth-prompt-banner .btn-auth-login {
        padding: 8px 14px;
        font-size: 13px;
        min-height: 44px;
      }
      .auth-prompt-full {
        padding: 40px 16px;
      }
      .auth-prompt-full .btn-auth-login {
        width: 100%;
        max-width: 280px;
        padding: 12px 24px;
        font-size: 15px;
        min-height: 44px;
      }

      /* ============ Swipe-to-Delete Actions ============ */
      .swipe-actions {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        display: flex;
        align-items: stretch;
        z-index: 1;
      }
      .swipe-btn {
        border: none;
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        padding: 0 14px;
        cursor: pointer;
        white-space: nowrap;
      }
      .swipe-delete {
        background: #e74c3c;
      }
      .swipe-shop {
        background: var(--accent, #6ab2f2);
      }
      .swipe-add {
        background: var(--green, #4caf50);
      }
      .swipe-restore {
        background: var(--green, #4caf50);
      }
      .watchlist-table-row {
        overflow: hidden;
        will-change: transform;
      }

      /* Pull-to-refresh indicator */
      .pull-indicator {
        text-align: center;
        font-size: 12px;
        color: var(--text-dim);
        height: 0;
        overflow: hidden;
        transition: height 0.2s, opacity 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      /* ============ Account Billing Mobile ============ */
      .billing-item {
        flex-wrap: wrap;
        gap: 4px 8px;
      }
      .billing-item .time {
        width: auto;
      }
      .billing-item .type {
        width: auto;
      }
      .billing-item .status {
        width: auto;
        text-align: left;
      }

      /* ============ Small Components Mobile ============ */

      /* Operation status — constrain to viewport */
      .operation-status {
        max-width: calc(100vw - 20px);
      }
      /* Rate limit indicator */
      .rate-limit-indicator {
        font-size: 10px;
        padding: 4px 8px;
      }
      .rate-limit-indicator .progress {
        width: 40px;
      }
    }

    /* Responsive - Small phones */
    @media (max-width: 480px) {
      .topbar {
        padding: 8px;
      }

      .btn {
        padding: 10px 12px;
        font-size: 13px;
      }

      .modal-header h3 {
        font-size: 16px;
      }

      .watchlist-col-status,
      .watchlist-col-price {
        font-size: 11px;
      }

      /* Analytics — 2x2 cards even on small phones, hide sparklines */
      .analytics-overview {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
        margin-bottom: 12px;
      }
      .analytics-card {
        padding: 8px;
        border-radius: 6px;
      }
      .analytics-card-header {
        margin-bottom: 4px;
      }
      .analytics-card-icon {
        font-size: 12px;
      }
      .analytics-card-title {
        font-size: 10px;
      }
      .analytics-card-value {
        font-size: 18px;
      }
      .analytics-card-unit {
        font-size: 11px;
      }
      .analytics-card-change {
        font-size: 10px;
        padding: 1px 4px;
      }
      .analytics-card-change .change-label {
        display: none;
      }
      .analytics-card-sparkline {
        display: none !important;
      }
      .analytics-card-body {
        gap: 4px;
        margin-bottom: 2px;
      }
      .ton-price-volume {
        margin-top: 4px;
        padding-top: 4px;
        font-size: 10px;
      }

      /* Tighter spacing */
      #view-analytics > div {
        padding: 8px !important;
      }
      .analytics-two-col {
        gap: 8px !important;
        margin-bottom: 8px !important;
      }
      .analytics-section {
        padding: 8px;
        border-radius: 6px;
      }
      .analytics-section-header {
        margin-bottom: 6px;
      }
      .analytics-section-header h3 {
        font-size: 12px;
      }

      /* Bars even more compact */
      .analytics-bar .label {
        width: 46px;
        font-size: 10px;
      }
      .analytics-bar .bar-container {
        height: 18px;
      }
      .analytics-bar .bar {
        font-size: 9px;
        min-width: 22px;
      }

      /* Key insights — 2-col, hide detail */
      .key-insights-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 4px;
      }
      .key-insight {
        padding: 5px 6px;
        gap: 4px;
      }
      .insight-icon {
        font-size: 11px;
      }
      .insight-label {
        font-size: 8px;
      }
      .insight-value {
        font-size: 10px;
      }
      .insight-detail {
        display: none;
      }

      /* Market insights — 1 col on smallest phones */
      .market-insights-highlights {
        grid-template-columns: 1fr;
        gap: 4px;
      }

      /* Credits compact */
      .credits-indicator {
        font-size: 12px;
        padding: 4px 8px;
      }

      /* Generator results actions wrap */
      .gen-results-actions {
        flex-wrap: wrap;
      }

      /* Auth prompts — row on small phones (not stacked) */
      .auth-prompt-banner {
        flex-direction: row;
        text-align: left;
        gap: 8px;
        margin: 0 4px 4px;
      }
      .auth-prompt-banner .btn-auth-login {
        width: auto;
        padding: 6px 12px;
        min-height: 32px;
      }

      /* Toast — don't clip on small screens */
      .toast {
        max-width: calc(100vw - 20px);
      }
      .toast-container {
        right: 10px;
        left: 10px;
      }

      /* Estimator form — stack on small phones */
      .estimate-form {
        flex-direction: column;
      }
      .estimate-form .btn-estimate {
        width: 100%;
      }
    }

    /* Mobile menu button - hidden by default */
    .mobile-menu-btn {
      display: none;
    }

    /* Topbar brand — hidden on desktop */
    .topbar-brand {
      display: none;
    }
