/* RiskBlock phone layout. Every visual rule below is limited to <= 760px. */
.rb-top-hero,
.rb-mobile-period-form,
.rb-join-icon,
.rb-phone-privacy,
.top-description-phone,
.rb-reports-subtitle-phone,
.rb-reports-phone-view,
.rb-report-hero-eyebrow,
.rb-referral-network,
.rb-phone-gift,
.rb-phone-notifications {
    display: none;
}

.rb-phone-readonly,
.rb-phone-connection-summary,
.rb-phone-integrations,
.rb-phone-access,
.rb-phone-strategy-back,
.rb-phone-strategy-steps,
.rb-phone-strategy-save,
.rb-phone-analytics-period,
.rb-phone-journal-search,
.rb-phone-journal-summary,
.rb-phone-trade-open,
.rb-phone-trade-time,
.rb-phone-trade-meta,
.rb-phone-psy-lead,
.rb-phone-psy-period,
.rb-phone-connections-kicker,
.rb-phone-connections-subtitle,
.rb-c-nav-phone-label {
    display: none;
}

.r-hero-eyebrow { display: none; }

/* Mobile shell elements may exist in the shared base template, but they
   must never appear on the laptop/desktop layout. */
.rb-phone-header,
.mobile-nav,
.mobile-nav.rb-mobile-nav-phone {
    display: none !important;
}

@media screen and (min-width: 761px) {
    /* Keep phone-only wrappers transparent to the existing desktop markup. */
    .container .rb-connections-section#exchange .rb-phone-connection-summary { display:contents; }
    .container .rb-phone-connection-summary > :is(.rb-phone-connection-title,.rb-phone-connection-empty) { display:none !important; }
    .container .rb-connections-nav a svg { display:none !important; }
}

@media screen and (max-width: 760px) {
    html {
        scroll-padding-bottom: calc(88px + env(safe-area-inset-bottom));
        -webkit-text-size-adjust: 100%;
    }

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    body.rb-mobile-menu-open {
        overflow: hidden;
    }

    .container {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100vh;
        min-height: 100dvh;
        margin: 0 !important;
        padding: 12px 14px calc(94px + env(safe-area-inset-bottom)) !important;
    }

    html body > main.container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 12px 14px calc(94px + env(safe-area-inset-bottom)) !important;
    }

    .container > * {
        min-width: 0;
        max-width: 100%;
    }

    .container :is(h1, h2, h3, h4, p, a, button, label, strong, span) {
        overflow-wrap: anywhere;
    }

    .container :is(img, canvas, video, svg) {
        max-width: 100%;
    }

    .container :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
        min-width: 0;
        max-width: 100%;
        font-size: 16px !important;
    }

    .container textarea {
        min-height: 104px;
    }

    .container :is(button, input[type="submit"], input[type="button"], [role="button"], .btn) {
        min-height: 42px;
        touch-action: manipulation;
    }

    .container :is(.page-header, .page-title-row, .section-header, .section-head, .card-head, .card-header) {
        min-width: 0;
        flex-wrap: wrap;
        gap: 10px;
    }

    .container :is(.header-actions, .page-actions, .form-actions, .button-row) {
        min-width: 0;
        max-width: 100%;
        flex-wrap: wrap;
    }

    .container :is(.grid, .grid-2, .grid-3, .grid-4, .account-grid, .goal-grid, .security-grid,
        .profile-grid, .settings-grid, .referral-grid, .terminal-grid, .session-grid) {
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .container :is(.card, .panel, .account-card, .terminal-card, .session-card) {
        min-width: 0;
        max-width: 100%;
    }

    .container :is(.table-responsive, .table-wrap, .table-container, .trade-table-wrap,
        .trades-card, .compare-table-wrap) {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .container table {
        max-width: 100%;
    }

    .container :is(.table-responsive, .table-wrap, .table-container, .trade-table-wrap) table {
        min-width: 540px;
    }

    /* Compact mobile identity and guest/account state. */
    .rb-phone-header {
        min-width: 0;
        min-height: 50px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 9px;
        margin: 0 0 15px;
        padding: 2px 1px 12px;
        border-bottom: 1px solid var(--border);
    }

    .rb-phone-brand {
        min-width: 0;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--text-primary);
        font-size: 16px;
        font-weight: 760;
        letter-spacing: -.45px;
        text-decoration: none;
        white-space: nowrap;
    }

    .rb-phone-brand > span:last-child > span {
        color: var(--blue);
    }

    .rb-phone-brand-mark {
        width: 29px;
        height: 29px;
        display: grid;
        flex: 0 0 29px;
        place-items: center;
        border: 1px solid rgba(53, 102, 255, .34);
        border-radius: 9px;
        background: var(--blue-light);
        color: var(--blue);
        font-size: 15px;
        font-weight: 800;
    }

    .rb-phone-account-status {
        min-width: 0;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 7px 9px;
        border: 1px solid var(--border);
        border-radius: 99px;
        background: var(--bg-card);
        color: var(--text-secondary);
        font-size: 8px;
        font-weight: 750;
        letter-spacing: .055em;
        white-space: nowrap;
    }

    .rb-phone-account-status i {
        width: 6px;
        height: 6px;
        flex: 0 0 6px;
        border-radius: 50%;
        background: var(--green);
        box-shadow: 0 0 9px color-mix(in srgb, var(--green) 45%, transparent);
    }

    .rb-phone-avatar {
        width: 34px;
        height: 34px;
        display: grid;
        flex: 0 0 34px;
        place-items: center;
        border: 1px solid var(--border-strong);
        border-radius: 50%;
        background: var(--bg-card);
        color: var(--text-primary);
        font-size: 10px;
        font-weight: 750;
        text-decoration: none;
    }

    /* Five destinations and a raised quick-actions button. */
    .mobile-nav {
        position: fixed !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 600 !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: stretch;
        gap: 2px;
        padding: 6px 7px max(7px, env(safe-area-inset-bottom)) !important;
        border-top: 1px solid var(--border) !important;
        background: color-mix(in srgb, var(--bg-sidebar) 95%, transparent) !important;
        box-shadow: 0 -8px 28px rgba(0, 0, 0, .18) !important;
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
    }

    .mobile-nav.rb-mobile-nav-legacy {
        display: none !important;
    }

    .mobile-nav.rb-mobile-nav-phone {
        display: grid !important;
    }

    .mobile-nav :is(a, .rb-mobile-more-toggle) {
        min-width: 0;
        min-height: 48px;
        display: grid;
        align-content: center;
        justify-items: center;
        gap: 3px;
        padding: 5px 2px;
        border: 0;
        border-radius: 11px;
        background: transparent;
        color: var(--sidebar-text);
        font: 650 9px/1.1 var(--font-main);
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-nav :is(a, .rb-mobile-more-toggle) svg {
        width: 19px;
        height: 19px;
        flex: 0 0 auto;
        stroke-width: 1.8;
    }

    .mobile-nav a.active,
    .mobile-nav .rb-mobile-more-toggle.active,
    .mobile-nav .rb-mobile-more-toggle[aria-expanded="true"] {
        background: var(--blue-light);
        color: var(--blue);
    }

    .mobile-nav .rb-mobile-add-toggle {
        width: 50px;
        min-width: 50px;
        height: 50px;
        min-height: 50px !important;
        align-self: start;
        justify-self: center;
        display: grid;
        place-items: center;
        margin: -16px 0 0;
        padding: 0;
        border: 4px solid var(--bg-sidebar);
        border-radius: 50%;
        background: var(--blue);
        color: #fff;
        box-shadow: 0 5px 16px rgba(53, 102, 255, .38);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-nav .rb-mobile-add-toggle svg {
        width: 22px;
        height: 22px;
        stroke-width: 2.1;
    }

    .mobile-nav .rb-mobile-add-toggle:active {
        transform: scale(.96);
    }

    .mobile-nav :is(a, button):focus-visible,
    .rb-mobile-sheet :is(a, button):focus-visible {
        outline: 2px solid var(--blue);
        outline-offset: 2px;
    }

    /* Accessible bottom sheets shared by More and the central plus. */
    .rb-mobile-sheet-backdrop[hidden] {
        display: none !important;
    }

    .rb-mobile-sheet-backdrop {
        position: fixed;
        inset: 0;
        z-index: 2000;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding: 10px 10px max(10px, env(safe-area-inset-bottom));
        background: rgba(2, 5, 12, .68);
        opacity: 0;
        transition: opacity .18s ease;
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
    }

    .rb-mobile-sheet-backdrop.is-open {
        opacity: 1;
    }

    .rb-mobile-sheet {
        width: min(100%, 520px);
        max-height: min(82dvh, 680px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 10px 16px 18px;
        border: 1px solid var(--border-strong);
        border-radius: 22px 22px 16px 16px;
        background: var(--bg-card);
        color: var(--text-primary);
        box-shadow: 0 -18px 60px rgba(0, 0, 0, .34);
        transform: translateY(14px);
        transition: transform .18s ease;
    }

    .rb-mobile-sheet-backdrop.is-open .rb-mobile-sheet {
        transform: translateY(0);
    }

    .rb-mobile-sheet-handle {
        width: 38px;
        height: 4px;
        margin: 1px auto 14px;
        border-radius: 99px;
        background: var(--border-strong);
    }

    .rb-mobile-sheet-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 14px;
    }

    .rb-mobile-sheet-head h2 {
        color: var(--text-primary);
        font-size: 18px;
        line-height: 1.25;
    }

    .rb-mobile-sheet-close {
        width: 40px;
        min-width: 40px;
        min-height: 40px !important;
        display: grid;
        place-items: center;
        padding: 0;
        border: 1px solid var(--border);
        border-radius: 12px;
        background: var(--bg-input);
        color: var(--text-primary);
        font-size: 22px;
        cursor: pointer;
    }

    .rb-mobile-more-links,
    .rb-mobile-action-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .rb-mobile-more-link,
    .rb-mobile-action-link {
        min-width: 0;
        min-height: 56px;
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 10px 11px;
        border: 1px solid var(--border);
        border-radius: 13px;
        background: var(--bg-input);
        color: var(--text-primary);
        font-size: 11px;
        font-weight: 650;
        line-height: 1.25;
        text-decoration: none;
    }

    .rb-mobile-more-link.active {
        border-color: rgba(53, 102, 255, .42);
        background: var(--blue-light);
        color: var(--blue);
    }

    .rb-mobile-link-icon,
    .rb-mobile-action-symbol {
        width: 30px;
        height: 30px;
        display: grid;
        flex: 0 0 30px;
        place-items: center;
        border-radius: 9px;
        background: var(--blue-light);
        color: var(--blue);
        font-size: 16px;
        font-weight: 750;
    }

    .rb-mobile-action-link {
        grid-column: 1 / -1;
        min-height: 62px;
        padding: 11px 13px;
    }

    .rb-mobile-action-link > span:last-child {
        min-width: 0;
        display: grid;
        gap: 3px;
    }

    .rb-mobile-action-link strong {
        color: var(--text-primary);
        font-size: 12px;
    }

    .rb-mobile-action-link small {
        color: var(--text-secondary);
        font-size: 10px;
        font-weight: 500;
    }

    .rb-mobile-theme {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-top: 15px;
        padding: 13px 2px 0;
        border-top: 1px solid var(--border);
        color: var(--text-secondary);
        font-size: 12px;
        font-weight: 650;
    }

    .rb-mobile-theme-options {
        display: flex;
        gap: 8px;
    }

    .rb-mobile-theme-options button {
        width: 34px;
        min-width: 34px;
        min-height: 34px !important;
        border: 1px solid var(--border-strong);
        border-radius: 50%;
        cursor: pointer;
    }

    .rb-mobile-theme-options button[data-theme-choice="dark"] { background: #080b12; }
    .rb-mobile-theme-options button[data-theme-choice="gray"] { background: #272a30; }
    .rb-mobile-theme-options button[data-theme-choice="light"] { background: #f4f6fa; }
    .rb-mobile-theme-options button.active { outline: 2px solid var(--blue); outline-offset: 2px; }

    /* Dashboard: dense two-column metrics, with every original card retained. */
    .container .rb-app {
        width: 100%;
        min-width: 0;
    }

    .container .rb-app .rb-mobile-topbar {
        display: none !important;
    }

    .container .rb-app .rb-main {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 0 14px;
    }

    .container .rb-app .rb-topbar {
        min-width: 0;
        align-items: flex-start;
        margin-bottom: 12px;
    }

    .container .rb-app .rb-greeting h1 {
        font-size: clamp(18px, 5.2vw, 22px);
        line-height: 1.25;
    }

    .container .rb-app .rb-greeting p {
        margin-top: 4px;
        font-size: 11px;
        line-height: 1.45;
    }

    .container .rb-app .rb-guest-banner {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 8px;
        margin: 0 0 12px;
        padding: 10px 11px;
        font-size: 10px;
        line-height: 1.45;
    }

    .container .rb-app .rb-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        margin-bottom: 12px;
    }

    .container .rb-app .rb-kpi-card {
        min-width: 0;
        min-height: 126px !important;
        padding: 12px !important;
    }

    .container .rb-app .rb-kpi-value {
        font-size: clamp(19px, 5.7vw, 25px) !important;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .container .rb-app .rb-kpi-card :is(.rb-card-head, .rb-kpi-foot) {
        gap: 6px;
        font-size: 10px;
    }

    .container .rb-app :is(.rb-middle-grid, .rb-lower-grid) {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px;
    }

    .container .rb-app .rb-card {
        min-width: 0;
        padding: 14px;
    }

    .container .rb-app .rb-metric-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .container .rb-app .rb-metric-option {
        min-width: 0;
    }

    /* Analytics: readable 2x2 metrics, then full-width chart and comparisons. */
    .container .analytics-page {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        margin: 0;
        padding: 1px 0 12px;
    }

    .container .analytics-page .analytics-header {
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 13px;
    }

    .container .analytics-page .analytics-header .title-group h1 {
        font-size: clamp(22px, 6vw, 27px);
        line-height: 1.2;
    }

    .container .analytics-page .analytics-header .period-selector {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding-bottom: 4px;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .container .analytics-page .analytics-header .period-selector > * {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .container .analytics-page .kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px;
        margin-bottom: 13px;
    }

    .container .analytics-page .kpi-card {
        min-width: 0;
        min-height: 135px;
        padding: 13px;
        border-radius: 15px;
    }

    .container .analytics-page .kpi-label {
        font-size: 9px;
        line-height: 1.3;
    }

    .container .analytics-page .kpi-value {
        font-size: clamp(19px, 5vw, 24px);
        overflow-wrap: anywhere;
    }

    .container .analytics-page .row-2,
    .container .analytics-page .row-3,
    .container .analytics-page .row-4,
    .container .analytics-page .row-5,
    .container .analytics-page .row-6,
    .container .analytics-page .row-7 {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px;
        margin-bottom: 12px;
    }

    .container .analytics-page .expectancy-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px;
        margin-bottom: 12px;
    }

    .container .analytics-page :is(.expectancy-card, .cumulative-card) {
        min-width: 0;
        padding: 14px;
        border-radius: 15px;
    }

    .container .analytics-page :is(.chart-card, .ai-coach-card) {
        width: 100%;
        min-width: 0;
        height: auto;
        min-height: 255px;
        padding: 15px;
        border-radius: 15px;
    }

    .container .analytics-page .chart-card .chart-wrapper {
        min-height: 190px;
    }

    .container .analytics-page .chart-card .chart-header {
        align-items: flex-start;
        gap: 8px;
    }

    .container .analytics-page .chart-card .chart-legend {
        flex-wrap: wrap;
        gap: 7px 11px;
        font-size: 9px;
    }

    .container .analytics-page :is(.compare-grid, .compare-card .compare-grid, .c-stats, .stats-grid) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }

    .container .analytics-page :is(.compare-card, .stats-card, .heatmap-card, .sym-card, .trades-card) {
        min-width: 0;
        padding: 14px;
    }

    .container .analytics-page .trades-card {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .container .analytics-page .trades-card :is(.trade-row, .trade-header) {
        min-width: 520px;
    }

    .container .analytics-page :is(.chart-canvas, canvas) {
        max-width: 100%;
    }

    /* Journal: filters scroll horizontally and each trade gets a full row. */
    .container .journal-page {
        width: 100%;
        padding: 1px 0 12px;
    }

    .container .journal-header {
        align-items: flex-start;
        gap: 9px;
        margin-bottom: 12px;
    }

    .container .journal-header .title-group h1 {
        font-size: clamp(22px, 6vw, 27px);
        line-height: 1.2;
    }

    .container .journal-header .title-group p {
        margin-top: 4px;
        font-size: 11px;
    }

    .container .journal-header .header-actions {
        width: 100%;
    }

    .container .journal-header .header-actions > * {
        min-width: 0;
    }

    .container .journal-page .journal-filters {
        gap: 8px;
        padding: 10px;
        border-radius: 14px;
    }

    .container .journal-page :is(.journal-filters .filter-row, .period-selector) {
        max-width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        padding-bottom: 4px;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .container .journal-page :is(.filter-pill, .period-selector > *, .filter-btn) {
        min-height: 36px;
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .container .journal-page .journal-filters .filter-row:nth-child(2) {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        overflow: visible;
        flex-wrap: wrap !important;
    }

    .container .journal-page .journal-filters .filter-row:nth-child(2) > div {
        width: 100%;
        min-width: 0;
    }

    .container .journal-page .search-wrapper {
        width: 100%;
        min-width: 0;
    }

    .container .journal-page .journal-filters .period-selector {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .container .journal-page .journal-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 11px;
    }

    .container .journal-page #tradesList,
    .container .journal-page .journal-sidebar {
        min-width: 0;
        width: 100%;
    }

    .container .journal-page .trade-card {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        padding: 13px;
        border-radius: 14px;
    }

    .container .journal-page .trade-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .container .journal-page .trade-details-grid,
    .container .journal-page .review-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .container .journal-page .journal-sidebar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    /* Psychology: 2x2 indicators, compact graph and event rows. */
    .container .behavioral-page {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 1px 0 12px;
    }

    .container .behavioral-page .b-header {
        align-items: flex-start;
        margin-bottom: 13px;
    }

    .container .behavioral-page .b-header-left {
        align-items: flex-start;
        gap: 10px;
    }

    .container .behavioral-page .b-header-title-group .b-title {
        font-size: clamp(21px, 5.8vw, 26px);
        line-height: 1.2;
    }

    .container .behavioral-page .b-header-title-group .b-subtitle {
        margin-top: 5px;
        font-size: 10px;
        line-height: 1.45;
    }

    .container .behavioral-page .b-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px;
        margin-bottom: 11px;
    }

    .container .behavioral-page .b-stat-card {
        min-width: 0;
        min-height: 112px;
        padding: 12px;
        border-radius: 14px;
    }

    .container .behavioral-page .b-stat-card .b-stat-top {
        align-items: flex-start;
        gap: 7px;
    }

    .container .behavioral-page .b-stat-card .b-stat-label {
        font-size: 9px;
        line-height: 1.3;
    }

    .container .behavioral-page .b-stat-card .b-stat-value {
        margin-top: 8px;
        font-size: 25px;
    }

    .container .behavioral-page .b-stat-card .b-stat-sub {
        font-size: 9px;
    }

    .container .behavioral-page .b-chart-card,
    .container .behavioral-page .b-events-card {
        min-width: 0;
        margin-bottom: 11px;
        padding: 14px;
        border-radius: 15px;
    }

    .container .behavioral-page .b-chart-header {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 9px;
    }

    .container .behavioral-page .b-chart-title {
        font-size: 12px;
        line-height: 1.35;
    }

    .container .behavioral-page .b-chart-period {
        max-width: 100%;
        overflow-x: auto;
    }

    .container .behavioral-page .b-chart-period button {
        min-height: 33px;
        padding: 5px 10px;
        white-space: nowrap;
    }

    .container .behavioral-page .b-chart-container {
        height: 190px;
        margin-top: 8px;
    }

    .container .behavioral-page .b-chart-container svg {
        width: 100%;
        height: 100%;
    }

    .container .behavioral-page > div[style*="grid-template-columns"] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .container .behavioral-page .b-event-item {
        min-width: 0;
        align-items: flex-start;
        gap: 8px;
        padding: 11px 0;
    }

    .container .behavioral-page .b-event-item .b-event-content {
        min-width: 0;
        flex: 1 1 auto;
    }

    .container .behavioral-page .b-event-item .b-event-name {
        font-size: 11px;
        line-height: 1.35;
    }

    .container .behavioral-page .b-event-item .b-event-desc {
        font-size: 9px;
        line-height: 1.4;
    }

    .container .behavioral-page .b-event-item .b-event-right {
        align-items: flex-end;
        flex: 0 0 auto;
        gap: 4px;
    }

    .container .behavioral-page .b-event-item .b-event-badge {
        max-width: 100px;
        padding: 4px 6px;
        font-size: 8px;
        white-space: normal;
        text-align: center;
    }

    .rb-demo-banner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin: 0 0 12px;
        padding: 10px 12px;
        border: 1px solid rgba(53, 102, 255, .28);
        border-radius: 12px;
        background: var(--blue-light);
        color: var(--text-secondary);
        font-size: 10px;
        line-height: 1.45;
    }

    .rb-demo-banner a {
        flex: 0 0 auto;
        color: var(--blue);
        font-size: 10px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
    }

    .rb-demo-event .b-event-icon {
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
        display: grid;
        place-items: center;
        border-radius: 10px;
        font-size: 15px;
        font-weight: 750;
    }

    /* Connections: keep setup choices and security guidance on one column. */
    .container .exchanges-page {
        width: 100%;
        max-width: 100%;
        padding: 1px 0 12px;
    }

    .container .ex-header {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 13px;
    }

    .container .ex-title {
        font-size: clamp(22px, 6vw, 27px);
        line-height: 1.2;
    }

    .container .ex-subtitle {
        margin-top: 5px;
        font-size: 10px;
        line-height: 1.45;
    }

    .container .ex-header .ex-connect-btn {
        width: 100%;
        min-height: 43px;
    }

    .container .ex-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-bottom: 11px;
    }

    .container .ex-stat-card {
        min-width: 0;
        padding: 11px !important;
        border-radius: 13px;
    }

    .container .ex-stat-card .ex-stat-label,
    .container .ex-stat-card .ex-stat-sub {
        font-size: 9px;
        line-height: 1.35;
    }

    .container .ex-stat-card .ex-stat-value {
        font-size: clamp(16px, 4.8vw, 21px) !important;
        overflow-wrap: anywhere;
    }

    .container .ex-card {
        min-width: 0;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px;
        padding: 13px !important;
        border-radius: 14px;
    }

    .container .ex-card .ex-actions {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .container :is(.ex-security-card, .ex-history-card, .ex-add-section) {
        min-width: 0;
        padding: 14px !important;
        border-radius: 14px;
    }

    .container .ex-add-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }

    /* Settings and strategy setup. */
    .container .account-page,
    .container .settings-page,
    .container .checklist-config-page,
    .container .terminal-page {
        width: 100%;
        min-width: 0;
    }

    .container .account-head {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 9px !important;
    }

    .container .account-head h1 {
        font-size: clamp(22px, 6vw, 27px) !important;
    }

    .container .checklist-page {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        margin: 0;
        padding: 1px 0 12px;
    }

    .container .checklist-page .c-header {
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 12px;
    }

    .container .checklist-page .c-header-title-group .c-title {
        font-size: clamp(21px, 5.8vw, 26px);
        line-height: 1.2;
    }

    .container .checklist-page .c-header-title-group .c-subtitle {
        margin-top: 5px;
        font-size: 10px;
        line-height: 1.45;
    }

    .container .checklist-page .c-info-panel {
        align-items: flex-start;
        gap: 9px;
        padding: 10px;
    }

    .container .checklist-page .c-info-panel .c-info-text {
        min-width: 0;
        font-size: 11px;
    }

    .container .checklist-page .c-main-card,
    .container .checklist-page .c-bottom-card {
        min-width: 0;
        padding: 13px;
        border-radius: 15px;
    }

    .container .checklist-page .c-item {
        min-height: 56px;
        height: auto;
        gap: 6px;
        padding: 8px;
    }

    .container .checklist-page .c-item .c-content {
        min-width: 0;
        flex: 1 1 auto;
    }

    .container .checklist-page .c-item .c-name {
        font-size: 11px;
        line-height: 1.35;
    }

    .container .checklist-page .c-bottom-actions {
        flex-wrap: wrap;
        gap: 8px;
    }

    .container .checklist-page .c-bottom-actions > * {
        min-width: 0;
        flex: 1 1 130px;
    }

    .container :is(.card-head, .card-body) {
        padding: 14px !important;
    }

    .container .form-actions > * {
        flex: 1 1 140px;
    }

    .container :is(.checklist-item, .strategy-item, .accordion-item) {
        min-width: 0;
        max-width: 100%;
    }

    /* Existing modal surfaces become thumb-friendly bottom sheets. */
    #modal,
    .ex-modal-overlay,
    .modal-overlay,
    .rb-metrics-modal {
        align-items: flex-end !important;
        padding: 10px 10px max(10px, env(safe-area-inset-bottom)) !important;
    }

    #modal .modal-content,
    .ex-modal,
    .modal-overlay :is(.modal-content, .modal, .dialog),
    .rb-metrics-modal :is(.rb-modal, .rb-modal-content, .modal-content) {
        width: 100% !important;
        max-width: 560px !important;
        max-height: 88dvh !important;
        overflow-y: auto;
        margin: 0 auto !important;
        padding: 20px 17px !important;
        border-radius: 20px 20px 14px 14px !important;
    }

    #modal .modal-actions > *,
    .ex-modal .ex-modal-actions > *,
    .modal-overlay .modal-actions > * {
        flex: 1 1 130px;
        min-height: 44px !important;
    }

    .container :is(.page-footer, .pagination, .table-pagination) {
        margin-bottom: 10px;
    }

    /* Page-local tabs used by the partner, reports, and leaderboard screens. */
    .container .rb-mobile-page-tabs {
        min-width: 0;
        display: flex !important;
        align-items: center;
        gap: 7px;
        margin: 0 0 14px;
        padding: 0 0 4px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .container .rb-mobile-page-tabs::-webkit-scrollbar { display: none; }

    .container .rb-mobile-page-tabs a {
        min-height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        padding: 0 12px;
        border: 1px solid var(--border);
        border-radius: 999px;
        background: var(--bg-card);
        color: var(--text-secondary);
        font-size: 10px;
        font-weight: 650;
        text-decoration: none;
        white-space: nowrap;
    }

    .container .rb-mobile-page-tabs a.is-active,
    .container .rb-mobile-page-tabs a:focus-visible,
    .container .rb-mobile-page-tabs a:hover {
        border-color: var(--blue);
        background: var(--blue-light);
        color: var(--text-primary);
    }

    .container :is(#referral-overview, #referral-link, #referral-stats, #referral-terms,
        #top-board, #top-method, #top-participation, #top-rules,
        #report-overview, #report-metrics, #report-schedule, #report-public) {
        scroll-margin-top: 18px;
    }

    /* Partner program: preserve all sections while replacing the cramped desktop widths. */
    .container .referral-page {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        margin: 0;
        padding: 0 0 12px;
        background: transparent;
    }

    .container .referral-page .r-header {
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 13px;
    }

    .container .referral-page .r-header-title-group .r-title { font-size: 21px; line-height: 1.2; }
    .container .referral-page .r-header-title-group .r-subtitle { margin-top: 5px; font-size: 10px; line-height: 1.45; }
    .container .referral-page .r-header-icon { width: 34px; height: 34px; border-radius: 10px; }

    .container .referral-page .r-hero {
        min-height: 0;
        flex-direction: row;
        gap: 9px;
        margin-bottom: 11px;
        padding: 14px;
        border: 1px solid var(--r-border);
        border-radius: 15px;
        text-align: left;
    }

    .container .referral-page .r-hero-left {
        min-width: 0;
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    .container .referral-page .r-hero-left .r-hero-icon { width: 40px; height: 40px; flex: 0 0 40px; font-size: 19px; }
    .container .referral-page .r-hero-left .r-hero-text .r-hero-title { font-size: 14px; line-height: 1.35; }
    .container .referral-page .r-hero-left .r-hero-text .r-hero-desc { margin-top: 4px; font-size: 10px; line-height: 1.4; }
    .container .referral-page .r-hero-right { width: 51px; height: 48px; flex: 0 0 51px; margin: 0; }

    .container .referral-page :is(.r-link-card, .r-share-card, .r-stats-card, .r-history-card) {
        min-width: 0;
        margin-bottom: 11px;
        padding: 13px;
        border: 1px solid var(--r-border);
        border-radius: 15px;
    }

    .container .referral-page .r-link-card .r-link-title,
    .container .referral-page .r-share-title,
    .container .referral-page .r-history-title { margin-bottom: 10px; font-size: 13px; }

    .container .referral-page .r-link-card .r-link-field {
        height: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        flex-wrap: nowrap;
        overflow: hidden;
        border-radius: 10px;
    }

    .container .referral-page .r-link-card .r-link-field .r-link-icon { display: none; }
    .container .referral-page .r-link-card .r-link-field .r-link-input {
        width: 100%;
        min-height: 42px;
        padding: 8px 10px;
        overflow: hidden;
        border: 0;
        border-radius: 0;
        font-size: 11px !important;
        text-overflow: ellipsis;
    }

    .container .referral-page .r-link-card .r-link-field .r-link-copy-btn {
        width: auto;
        min-width: 78px;
        min-height: 42px;
        height: 42px;
        padding: 0 10px;
        border-radius: 0;
        font-size: 10px;
    }

    .container .referral-page .r-link-card .r-link-info { align-items: flex-start; gap: 6px; margin-top: 9px; }
    .container .referral-page .r-link-card .r-link-info .r-info-text { font-size: 10px; line-height: 1.45; }

    .container .referral-page .r-share-buttons {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }

    .container .referral-page .r-share-btn {
        width: 100%;
        min-width: 0;
        min-height: 38px;
        height: auto;
        gap: 5px;
        padding: 5px 6px;
        font-size: 9px;
    }

    .container .referral-page .r-share-btn svg { width: 14px; height: 14px; flex: 0 0 14px; }
    .container .referral-page .r-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .referral-page .r-stat-item { min-height: 72px; padding: 10px; border-radius: 11px; }
    .container .referral-page .r-stat-item .r-stat-value { font-size: 18px; line-height: 1.1; }
    .container .referral-page .r-stat-item .r-stat-label { margin-top: 4px; font-size: 9px; line-height: 1.3; }
    .container .referral-page .r-stat-icon { width: 25px; height: 25px; margin-bottom: 7px; }

    .container .referral-page .r-history-card { padding-bottom: 10px; }
    .container .referral-page .r-history-card > div { max-width: 100%; overflow-x: auto !important; overscroll-behavior-x: contain; }
    .container .referral-page .r-history-table { min-width: 570px; font-size: 10px; }
    .container .referral-page .r-history-table th,
    .container .referral-page .r-history-table td { padding: 9px 7px; }
    .container .referral-page .r-info-block {
        align-items: flex-start;
        flex-wrap: nowrap;
        gap: 10px;
        margin-bottom: 10px;
        padding: 13px;
        border-radius: 14px;
        text-align: left;
    }
    .container .referral-page .r-info-block .r-info-content { min-width: 0; }
    .container .referral-page .r-info-block .r-info-content .r-info-title { font-size: 12px; }
    .container .referral-page .r-info-block .r-info-content .r-info-desc { font-size: 10px; line-height: 1.5; }
    .container .referral-page .r-info-block .r-info-btn { width: auto; min-height: 34px; flex: 0 0 auto; margin-left: auto; padding: 0 9px; font-size: 9px; }

    /* Leaderboard: keep every metric available in a swipeable dense table. */
    .container .top-page { width: 100%; min-width: 0; max-width: 100%; padding-bottom: 10px; }
    .container .top-page .top-head { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 12px; }
    .container .top-page .top-head h1 { font-size: 22px; line-height: 1.2; }
    .container .top-page .top-head p { margin-top: 5px; font-size: 10px; line-height: 1.5; }
    .container .top-page .top-pill { padding: 6px 9px; font-size: 8px; }
    .container .top-page .top-grid { display: flex; flex-direction: column; gap: 11px; }
    .container .top-page .top-side { display: contents; }
    .container .top-page .formula-card { order: 1; }
    .container .top-page .top-board { order: 2; }
    .container .top-page .join-card { order: 3; }
    .container .top-page :is(.top-board, .join-card, .formula-card) { min-width: 0; border-radius: 14px; }
    .container .top-page .formula-card,
    .container .top-page .join-card { padding: 14px; }
    .container .top-page .top-board { overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
    .container .top-page .top-board-title { min-width: 570px; align-items: flex-start; flex-direction: column; gap: 4px; padding: 13px; }
    .container .top-page .top-board-title h2 { font-size: 13px; }
    .container .top-page .top-board-title span { font-size: 9px; }
    .container .top-page .top-row {
        min-width: 570px;
        grid-template-columns: 38px minmax(105px, 1fr) 60px 66px 58px 66px 48px;
        gap: 7px;
        padding: 10px 12px;
        font-size: 10px;
    }
    .container .top-page .top-row.header { padding-top: 9px; padding-bottom: 9px; font-size: 8px; }
    .container .top-page .top-row > :nth-child(4),
    .container .top-page .top-row > :nth-child(5),
    .container .top-page .top-row > :nth-child(6),
    .container .top-page .top-row > :nth-child(7) { display: block !important; }
    .container .top-page .rank { width: 27px; height: 27px; border-radius: 7px; font-size: 10px; }
    .container .top-page .trader-name { font-size: 10px; }
    .container .top-page .score { font-size: 13px; }
    .container .top-page .empty-top { min-width: 0; padding: 32px 18px; font-size: 10px; line-height: 1.5; }
    .container .top-page .empty-top strong { font-size: 14px; }
    .container .top-page .join-card h2 { font-size: 16px; }
    .container .top-page .join-card p,
    .container .top-page .formula-card p { font-size: 10px; }
    .container .top-page .join-card input { height: 42px; }
    .container .top-page .join-actions button { min-height: 42px; }
    .container .top-page .privacy { font-size: 9px; line-height: 1.45; }
    .container .top-page .formula-list { gap: 9px; }
    .container .top-page .formula-list div { font-size: 10px; }

    /* Reports: phone-first reading order, readable metrics, working export controls. */
    .container .rb-reports-page { width: 100%; max-width: 100%; min-width: 0; padding: 0 0 12px; color: var(--text-primary); }
    .container .rb-reports-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 13px; }
    .container .rb-reports-kicker,
    .container .rb-report-section-kicker,
    .container .rb-report-eyebrow { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
    .container .rb-reports-head h1 { margin-top: 4px; font-size: 23px; line-height: 1.15; letter-spacing: -.45px; }
    .container .rb-reports-head p { max-width: 245px; margin-top: 5px; color: var(--text-secondary); font-size: 10px; line-height: 1.45; }
    .container .rb-reports-state { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 5px; margin-top: 2px; padding: 6px 7px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-card); color: var(--text-secondary); font-size: 7px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
    .container .rb-reports-state i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
    .container .rb-reports-state.is-demo i { background: var(--yellow); }
    .container .rb-reports-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; padding: 10px 11px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); }
    .container .rb-reports-toolbar label { color: var(--text-secondary); font-size: 10px; font-weight: 650; }
    .container .rb-reports-toolbar form { min-width: 118px; }
    .container .rb-reports-toolbar select { width: 100%; min-height: 36px; padding: 0 9px; border: 1px solid var(--border-strong); border-radius: 9px; background: var(--bg-input); color: var(--text-primary); font-size: 11px !important; }
    .container .rb-reports-tabs { margin-bottom: 12px; }
    .container .rb-reports-tabs a:first-child { border-color: rgba(53,102,255,.42); background: var(--blue-light); color: var(--text-primary); }
    .container .rb-report-hero,
    .container .rb-report-metrics-section,
    .container .rb-report-options,
    .container .rb-report-actions-card,
    .container .rb-report-public-note { min-width: 0; margin-bottom: 11px; padding: 13px; border: 1px solid var(--border); border-radius: 15px; background: var(--bg-card); box-shadow: var(--card-shadow); }
    .container .rb-report-hero { background: linear-gradient(145deg, var(--bg-card), var(--bg-hover)); }
    .container .rb-report-hero-top { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
    .container .rb-report-symbol { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(53,102,255,.22); border-radius: 11px; background: var(--blue-light); color: var(--blue); }
    .container .rb-report-symbol svg { width: 20px; height: 20px; }
    .container .rb-report-hero h2 { margin-top: 4px; font-size: 14px; line-height: 1.25; }
    .container .rb-report-hero p { margin-top: 4px; color: var(--text-secondary); font-size: 9px; }
    .container .rb-report-hero p strong { color: var(--text-primary); }
    .container .rb-report-period-tag { padding: 5px 7px; border: 1px solid var(--border); border-radius: 999px; color: var(--text-secondary); font-size: 8px; white-space: nowrap; }
    .container .rb-report-key { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; padding: 9px; border: 1px solid rgba(0,201,148,.2); border-radius: 10px; background: var(--green-light); color: var(--text-secondary); }
    .container .rb-report-key.has-alert { border-color: rgba(240,68,82,.24); background: var(--red-light); }
    .container .rb-report-key-icon { width: 21px; height: 21px; display: grid; flex: 0 0 21px; place-items: center; border-radius: 7px; background: rgba(0,201,148,.13); color: var(--green); font-size: 12px; font-weight: 800; }
    .container .rb-report-key.has-alert .rb-report-key-icon { background: rgba(240,68,82,.14); color: var(--red); }
    .container .rb-report-key strong { display: block; margin-bottom: 2px; color: var(--text-primary); font-size: 9px; }
    .container .rb-report-key span:not(.rb-report-key-icon) { font-size: 9px; line-height: 1.4; }
    .container .rb-report-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
    .container .rb-report-section-head h2 { margin-top: 4px; font-size: 14px; line-height: 1.2; }
    .container .rb-report-section-period,
    .container .rb-report-option-hint { color: var(--text-muted); font-size: 8px; text-align: right; }
    .container .rb-report-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .rb-report-kpi { min-width: 0; min-height: 89px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 10px; border: 1px solid var(--border); border-radius: 11px; background: var(--bg-input); }
    .container .rb-report-kpi-label { color: var(--text-secondary); font-size: 9px; }
    .container .rb-report-kpi strong { color: var(--text-primary); font-size: 18px; line-height: 1.05; }
    .container .rb-report-kpi strong.is-positive { color: var(--green); }
    .container .rb-report-kpi strong.is-negative { color: var(--red); }
    .container .rb-report-kpi strong small { font-size: 9px; font-weight: 600; }
    .container .rb-report-kpi-note { color: var(--text-muted); font-size: 8px; line-height: 1.3; }
    .container .rb-report-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; margin-top: 10px; }
    .container .rb-report-detail-grid > div { min-width: 0; display: flex; justify-content: space-between; gap: 6px; padding: 8px 1px; border-bottom: 1px solid var(--border); font-size: 8px; }
    .container .rb-report-detail-grid span { color: var(--text-secondary); }
    .container .rb-report-detail-grid strong { color: var(--text-primary); text-align: right; white-space: nowrap; }
    .container .rb-report-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .rb-report-checks label { min-width: 0; min-height: 39px; display: flex; align-items: center; gap: 7px; padding: 7px; border: 1px solid var(--border); border-radius: 9px; background: var(--bg-input); color: var(--text-secondary); font-size: 8px; line-height: 1.3; }
    .container .rb-report-checks input { width: 15px; height: 15px; flex: 0 0 15px; accent-color: var(--blue); }
    .container .rb-reports-page .is-excluded { display: none !important; }
    .container .rb-report-actions-card { display: flex; flex-direction: column; gap: 10px; }
    .container .rb-report-actions-card h2 { margin-top: 4px; font-size: 14px; }
    .container .rb-report-actions-card p { margin-top: 4px; color: var(--text-secondary); font-size: 9px; line-height: 1.45; }
    .container .rb-report-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .container .rb-report-actions button { min-width: 0; min-height: 39px; padding: 0 8px; border: 1px solid var(--border-strong); border-radius: 9px; background: var(--bg-input); color: var(--text-primary); font-size: 9px; font-weight: 700; }
    .container .rb-report-actions .rb-report-open { grid-column: 1 / -1; border-color: var(--blue); background: var(--blue); color: #fff; }
    .container .rb-report-open-state { padding: 8px; border-radius: 8px; background: var(--green-light); color: var(--green); font-size: 9px; }
    .container .rb-report-public-note { display: flex; align-items: flex-start; gap: 9px; }
    .container .rb-report-public-icon { width: 22px; height: 22px; display: grid; flex: 0 0 22px; place-items: center; border-radius: 50%; background: var(--blue-light); color: var(--blue); font-weight: 800; }
    .container .rb-report-public-note strong { font-size: 10px; }
    .container .rb-report-public-note p,
    .container .rb-report-disclaimer { margin-top: 4px; color: var(--text-secondary); font-size: 9px; line-height: 1.5; }
    .container .rb-report-disclaimer { padding: 0 2px 5px; color: var(--text-muted); }
    .rb-report-demo-updated .rb-report-kpi strong { transition: opacity .15s ease; opacity: .62; }

    /* Automatic psychology page: reconstructed positions, rules and review. */
    .container .rbpsy {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0 0 12px;
    }

    .container .rbpsy :is(header, section, article, form, figure, nav, div, p, h1, h2, h3, h4, span, strong, a, button, label, select, textarea) {
        min-width: 0;
        max-width: 100%;
    }

    .container .rbpsy .psy-header {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 9px;
        margin-bottom: 12px;
    }

    .container .rbpsy .psy-title-row { width: 100%; }
    .container .rbpsy .psy-eyebrow { margin-bottom: 5px; font-size: 8px; letter-spacing: .12em; }
    .container .rbpsy .psy-title-row h1 { font-size: clamp(22px, 6vw, 28px); line-height: 1.12; }
    .container .rbpsy .psy-lead { max-width: 40em; margin-top: 7px; font-size: 11px; line-height: 1.5; }
    .container .rbpsy .psy-live-badge { align-self: flex-start; padding: 6px 9px; font-size: 9px; }

    .container .rbpsy .psy-intro {
        display: block;
        margin: 0 0 11px;
        padding: 15px;
        border-radius: 15px;
    }

    .container .rbpsy .psy-intro-copy h2 { max-width: 22em; font-size: clamp(18px, 5vw, 22px); line-height: 1.2; }
    .container .rbpsy .psy-intro-copy p { margin-top: 7px; font-size: 11px; line-height: 1.5; }
    .container .rbpsy .psy-intro-visual { display: none !important; }
    .container .rbpsy .psy-inline-link { display: inline-flex; min-height: 38px; align-items: center; margin-top: 9px; font-size: 10px; }

    .container .rbpsy .psy-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0 0 9px; }
    .container .rbpsy .psy-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 7px; }
    .container .rbpsy .psy-filters > * { min-width: 0; max-width: 100%; }
    .container .rbpsy .psy-filters label { font-size: 9px; }
    .container .rbpsy .psy-filters select { flex: 1 1 130px; min-height: 40px; }
    .container .rbpsy .psy-filters .psy-button { flex: 0 0 auto; min-height: 40px; padding: 0 11px; font-size: 10px; }
    .container .rbpsy .psy-search { width: 100%; }
    .container .rbpsy .psy-search input { min-width: 0; width: 100%; }

    .container .rbpsy .psy-tabs {
        display: flex;
        width: 100%;
        max-width: 100%;
        gap: 6px;
        margin: 0 -1px 11px;
        padding: 2px 1px 6px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .container .rbpsy .psy-tabs::-webkit-scrollbar { display: none; }
    .container .rbpsy .psy-tabs a { flex: 0 0 auto; min-height: 37px; padding: 8px 10px; font-size: 9px; white-space: nowrap; scroll-snap-align: start; }

    .container .rbpsy .psy-alert { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin: 8px 0; padding: 11px 12px; border-radius: 11px; font-size: 10px; line-height: 1.45; }
    .container .rbpsy .psy-alert p { margin-top: 5px; font-size: 10px; line-height: 1.45; }
    .container .rbpsy .psy-alert-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 5px; }
    .container .rbpsy .psy-alert-actions a,
    .container .rbpsy .psy-alert > a { display: inline-flex; min-height: 35px; align-items: center; font-size: 10px; }
    .container .rbpsy .psy-state-line { margin: 8px 0; font-size: 9px; line-height: 1.4; }

    .container .rbpsy [data-panel] { min-width: 0; }
    .container .rbpsy .psy-section-head { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; margin: 12px 0 9px; }
    .container .rbpsy .psy-section-head h2 { font-size: 17px; line-height: 1.2; }
    .container .rbpsy .psy-section-head p,
    .container .rbpsy .psy-section-aside { font-size: 9px; line-height: 1.45; }

    .container .rbpsy .psy-stat-grid,
    .container .rbpsy .psy-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .rbpsy .psy-stat { min-height: 105px; padding: 11px; border-radius: 12px; }
    .container .rbpsy .psy-stat p { margin-top: 5px; font-size: 9px; line-height: 1.3; }
    .container .rbpsy .psy-stat strong { display: block; margin-top: 7px; font-size: clamp(18px, 5vw, 23px); line-height: 1.05; overflow-wrap: anywhere; }
    .container .rbpsy .psy-stat small { display: block; margin-top: 5px; font-size: 8px; line-height: 1.35; }
    .container .rbpsy .psy-stat-mark { font-size: 8px; }
    .container .rbpsy .psy-stat-feature { grid-column: auto; }

    .container .rbpsy .psy-grid-two,
    .container .rbpsy .psy-rule-grid,
    .container .rbpsy .psy-review-grid,
    .container .rbpsy .psy-method-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
    .container .rbpsy .psy-card,
    .container .rbpsy .psy-rule,
    .container .rbpsy .psy-callout,
    .container .rbpsy .psy-review-tile { min-width: 0; padding: 12px; border-radius: 13px; }
    .container .rbpsy .psy-card-head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 7px; margin-bottom: 9px; }
    .container .rbpsy .psy-card-head h3 { font-size: 12px; line-height: 1.35; }
    .container .rbpsy .psy-card-head a,
    .container .rbpsy .psy-muted,
    .container .rbpsy .psy-caption { font-size: 9px; line-height: 1.45; }
    .container .rbpsy .psy-caption { margin-top: 8px; }

    .container .rbpsy .psy-donut-layout { display: grid; grid-template-columns: minmax(90px, 112px) minmax(0, 1fr); align-items: center; gap: 9px; }
    .container .rbpsy .psy-donut { width: 100%; max-width: 112px; justify-self: center; }
    .container .rbpsy .psy-donut svg,
    .container .rbpsy .psy-result-figure svg { display: block; width: 100%; height: auto; }
    .container .rbpsy .psy-donut-center strong { font-size: 16px; }
    .container .rbpsy .psy-donut-center small,
    .container .rbpsy .psy-legend { font-size: 8px; line-height: 1.35; }
    .container .rbpsy .psy-legend > div { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 5px; }
    .container .rbpsy .psy-result-figure { width: 100%; margin: 0; overflow-x: auto; }
    .container .rbpsy .psy-empty-chart { padding: 13px; font-size: 10px; line-height: 1.45; }

    .container .rbpsy .psy-rule { padding: 11px; }
    .container .rbpsy .psy-rule-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
    .container .rbpsy .psy-rule-top h4 { flex: 1 1 120px; font-size: 10px; line-height: 1.35; }
    .container .rbpsy .psy-rule-top strong { font-size: 10px; }
    .container .rbpsy .psy-rule-meta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin-top: 7px; font-size: 8px; line-height: 1.4; }
    .container .rbpsy .psy-rule p { margin-top: 7px; font-size: 9px; line-height: 1.4; }
    .container .rbpsy .psy-highlight { min-width: 0; padding: 10px; border-radius: 11px; }
    .container .rbpsy .psy-highlight strong { display: block; margin-top: 5px; font-size: 18px; }
    .container .rbpsy .psy-highlight small { display: block; margin-top: 4px; font-size: 8px; line-height: 1.35; }

    .container .rbpsy .psy-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
    .container .rbpsy .psy-table-scroll table { min-width: 700px; max-width: none; }
    .container .rbpsy .psy-table-scroll th,
    .container .rbpsy .psy-table-scroll td { padding: 8px; font-size: 9px; line-height: 1.35; }
    .container .rbpsy .psy-table-scroll th small,
    .container .rbpsy .psy-table-scroll td small { display: block; margin-top: 3px; font-size: 8px; }

    .container .rbpsy .psy-review-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 11px; border-radius: 12px; }
    .container .rbpsy .psy-review-form label { font-size: 10px; }
    .container .rbpsy .psy-review-form select,
    .container .rbpsy .psy-review-form button { width: 100%; min-height: 42px; }
    .container .rbpsy .psy-review-head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; }
    .container .rbpsy .psy-review-head h3 { font-size: 17px; }
    .container .rbpsy .psy-review-head p,
    .container .rbpsy .psy-review-plan { font-size: 9px; line-height: 1.4; }
    .container .rbpsy .psy-review-tile { padding: 10px; }
    .container .rbpsy .psy-review-tile small { font-size: 8px; }
    .container .rbpsy .psy-review-tile strong { display: block; margin: 5px 0; font-size: 15px; overflow-wrap: anywhere; }
    .container .rbpsy .psy-review-tile p { font-size: 9px; line-height: 1.4; }
    .container .rbpsy .psy-excursions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .rbpsy .psy-excursions > div { min-width: 0; padding: 9px; border-radius: 10px; }
    .container .rbpsy .psy-excursions small,
    .container .rbpsy .psy-excursions p { font-size: 8px; line-height: 1.4; }
    .container .rbpsy .psy-excursions strong { display: block; margin: 5px 0; font-size: 13px; overflow-wrap: anywhere; }
    .container .rbpsy .psy-note { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .container .rbpsy .psy-note textarea { width: 100%; min-height: 100px; }
    .container .rbpsy .psy-note button { width: 100%; }
    .container .rbpsy .psy-callout { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; font-size: 10px; line-height: 1.45; }

    /* Screenshot-matched phone chrome: same RB wordmark, demo pill and raised center action. */
    body:has(.referral-page),
    body:has(.top-page),
    body:has(.rb-reports-page) {
        --bg-body: #03080f;
        --bg-sidebar: #06111d;
        --bg-card: #0a1624;
        --bg-input: #091522;
        --bg-hover: #0d1d2e;
        --text-primary: #f4f7fc;
        --text-secondary: #98b8df;
        --text-muted: #7593b8;
        --border: #1a3653;
        --border-strong: #284968;
        --blue: #147cff;
        --blue-light: rgba(20, 124, 255, .16);
        --green: #00d9a5;
        --red: #ff465e;
        --yellow: #f3c34f;
        --card-shadow: 0 10px 28px rgba(0, 0, 0, .2);
        background: #03080f !important;
        color: #f4f7fc;
    }

    body:has(.referral-page) main.container,
    body:has(.top-page) main.container,
    body:has(.rb-reports-page) main.container {
        background: transparent !important;
    }

    .rb-phone-header {
        min-height: 46px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin: 0 0 17px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .rb-phone-brand {
        gap: 7px;
        font-size: 19px;
        font-weight: 740;
        letter-spacing: -.55px;
    }

    .rb-phone-brand-mark {
        width: 44px;
        max-width: none;
        height: 44px;
        flex: 0 0 29px;
        display: grid;
        place-items: center;
        margin-left: -7px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #f4f7fc;
        font-size: 15px;
        font-weight: 900;
        letter-spacing: -2px;
        object-fit: contain;
    }

    .rb-phone-account-status {
        min-height: 34px;
        gap: 7px;
        padding: 0 11px;
        border-color: #254565;
        border-radius: 11px;
        background: #071320;
        color: #00d9a5;
        font-size: 11px;
        letter-spacing: .015em;
    }

    .rb-phone-account-status i {
        width: 10px;
        height: 10px;
        flex-basis: 10px;
        box-shadow: 0 0 0 5px rgba(0, 217, 165, .12), 0 0 13px rgba(0, 217, 165, .42);
    }

    .rb-phone-account-status svg {
        width: 14px;
        height: 14px;
        stroke: #8eb3df;
        stroke-width: 1.8;
    }

    .rb-phone-notifications {
        width: 27px;
        height: 34px;
        display: grid;
        flex: 0 0 27px;
        place-items: center;
        color: #82a9db;
    }

    .rb-phone-notifications svg { width: 22px; height: 22px; }

    .rb-phone-avatar {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-color: #355473;
        background: #091522;
        font-size: 12px;
    }

    .mobile-nav.rb-mobile-nav-phone {
        min-height: 76px;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 1px;
        padding: 7px 9px max(8px, env(safe-area-inset-bottom)) !important;
        border: 1px solid #1a3653 !important;
        border-bottom: 0 !important;
        border-radius: 19px 19px 0 0;
        background: rgba(5, 13, 23, .97) !important;
        box-shadow: 0 -12px 32px rgba(0, 0, 0, .3) !important;
    }

    .mobile-nav.rb-mobile-nav-phone :is(a, .rb-mobile-more-toggle) {
        min-height: 55px;
        gap: 4px;
        padding: 3px 1px;
        border-radius: 0;
        color: #8eaed8;
        font-size: 11px;
        font-weight: 560;
    }

    .mobile-nav.rb-mobile-nav-phone :is(a, .rb-mobile-more-toggle) svg {
        width: 23px;
        height: 23px;
        stroke-width: 1.9;
    }

    .mobile-nav.rb-mobile-nav-phone a.active,
    .mobile-nav.rb-mobile-nav-phone .rb-mobile-more-toggle.active {
        background: transparent;
        color: #147cff;
    }

    .mobile-nav.rb-mobile-nav-phone .rb-mobile-add-toggle {
        width: 59px;
        min-width: 59px;
        height: 59px;
        min-height: 59px !important;
        margin-top: -15px;
        border-width: 5px;
        border-color: #06111d;
        background: #147cff;
        box-shadow: 0 0 0 2px rgba(20, 124, 255, .3), 0 0 24px rgba(20, 124, 255, .45);
    }

    .mobile-nav.rb-mobile-nav-phone .rb-mobile-add-toggle svg { width: 27px; height: 27px; }

    .container:has(.referral-page) .rb-mobile-page-tabs,
    .container:has(.top-page) .rb-mobile-page-tabs,
    .container:has(.rb-reports-page) .rb-mobile-page-tabs {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: stretch;
        gap: 6px;
        margin: 0 0 13px;
        padding: 0;
        overflow: visible;
    }

    .container:has(.referral-page) .rb-mobile-page-tabs a,
    .container:has(.top-page) .rb-mobile-page-tabs a,
    .container:has(.rb-reports-page) .rb-mobile-page-tabs a {
        min-width: 0;
        min-height: 38px;
        padding: 0 4px;
        border-color: #1c3958;
        border-radius: 11px;
        background: #071320;
        color: #a1bfe4;
        font-size: 11px;
        font-weight: 520;
        line-height: 1.15;
        white-space: normal;
        text-align: center;
    }

    .container:has(.referral-page) .rb-mobile-page-tabs a:first-child,
    .container:has(.top-page) .rb-mobile-page-tabs a:first-child,
    .container:has(.rb-reports-page) .rb-mobile-page-tabs a:first-child,
    .container:has(.referral-page) .rb-mobile-page-tabs a.is-active,
    .container:has(.top-page) .rb-mobile-page-tabs a.is-active,
    .container:has(.rb-reports-page) .rb-mobile-page-tabs a.is-active {
        border-color: #147cff;
        background: #147cff;
        color: #fff;
        box-shadow: 0 5px 15px rgba(20, 124, 255, .2);
    }

    /* Referral screen: banner, link/share controls, four compact stats and invitation history. */
    .container .referral-page {
        --r-bg-card: #081523;
        --r-bg-field: #071421;
        --r-bg-info: #091827;
        --r-text-primary: #f4f7fc;
        --r-text-secondary: #98b8df;
        --r-text-muted: #7f9cbe;
        --r-border: #1c3b5a;
        --r-blue: #1683ff;
        --r-green: #00d9a5;
        width: 100%;
        padding: 0 0 12px;
        color: #f4f7fc;
    }

    .container .referral-page .r-header {
        align-items: flex-start;
        gap: 0;
        margin: 0 0 14px;
    }

    .container .referral-page .r-header-icon { display: none; }
    .container .referral-page .r-header-title-group { width: 100%; }
    .container .referral-page .r-header-title-group .r-title { font-size: 25px; line-height: 1.16; letter-spacing: -.55px; }
    .container .referral-page .r-header-title-group .r-subtitle { max-width: 350px; margin-top: 5px; color: #9ab9df; font-size: 14px; line-height: 1.42; }

    .container .referral-page .r-hero {
        min-height: 116px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 142px;
        align-items: center;
        gap: 5px;
        margin: 0 0 13px;
        padding: 13px 13px 12px 14px;
        border: 1px solid #1c456d;
        border-radius: 14px;
        background: linear-gradient(112deg, #081725 0%, #0a1a2a 100%);
        box-shadow: none;
        text-align: left;
    }

    .container .referral-page .r-hero-left { min-width: 0; display: block; }
    .container .referral-page .r-hero-left .r-hero-icon { display: none; }
    .container .referral-page .r-hero-eyebrow { display: block; margin-bottom: 5px; color: #8eb8eb; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
    .container .referral-page .r-hero-title { font-size: 0 !important; line-height: 1.18; }
    .container .referral-page .r-hero-title::after { content: "60% с первой оплаты"; color: #f5f8fe; font-size: 22px; font-weight: 750; }
    .container .referral-page .r-hero-desc { margin-top: 6px; color: #a4c2e7; font-size: 13px; line-height: 1.4; }
    .container .referral-page .r-hero-right { width: 142px; height: 98px; justify-self: end; margin: 0; }
    .container .referral-page .rb-referral-desktop-art { display: none; }
    .container .referral-page .rb-referral-network { display: block; width: 100%; height: 100%; overflow: visible; }

    .container .referral-page :is(.r-link-card, .r-share-card, .r-stats-card, .r-history-card) {
        min-width: 0;
        margin: 0 0 12px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .container .referral-page .r-link-card .r-link-title,
    .container .referral-page .r-share-title,
    .container .referral-page .r-history-title {
        margin: 0 0 8px;
        color: #f3f7fd;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.25;
    }

    .container .referral-page .r-link-field {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 98px;
        align-items: stretch;
        gap: 7px;
        height: 44px;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .container .referral-page .r-link-field .r-link-icon { position: absolute; z-index: 1; top: 0; left: 10px; width: 20px; height: 44px; display: grid; place-items: center; padding: 0; color: #74a5df; }
    .container .referral-page .r-link-field .r-link-icon svg { display: none; }
    .container .referral-page .r-link-field .r-link-icon::before { content: "#"; font-size: 18px; font-weight: 750; }
    .container .referral-page .r-link-field .r-link-input {
        width: 100%;
        min-width: 0;
        grid-column: 1;
        min-height: 42px;
        padding: 0 8px 0 34px;
        overflow: hidden;
        border: 1px solid #2b4f73;
        border-radius: 10px;
        background: #071421;
        color: #a7c5eb;
        font-size: 13px !important;
        text-overflow: ellipsis;
    }

    .container .referral-page .r-link-field .r-link-copy-btn {
        width: 98px;
        min-width: 98px;
        grid-column: 2;
        min-height: 42px;
        height: 42px;
        padding: 0 8px;
        border: 0;
        border-radius: 10px;
        background: #147cff;
        color: #fff;
        font-size: 12px;
        font-weight: 650;
    }

    .container .referral-page .r-link-info {
        min-height: 38px;
        align-items: center;
        gap: 9px;
        margin-top: 7px;
        padding: 7px 10px;
        border: 1px solid #1d3c5c;
        border-radius: 9px;
        background: #071421;
    }

    .container .referral-page .r-link-info .r-info-icon { flex: 0 0 19px; color: #78aaf1; }
    .container .referral-page .r-link-info .r-info-icon svg { display: none; }
    .container .referral-page .r-link-info .r-info-icon svg.rb-phone-gift { width: 18px; height: 18px; display: block; }
    .container .referral-page .r-link-info .r-info-text { color: #9cbbe0; font-size: 12px; line-height: 1.35; }

    .container .referral-page .r-share-card { margin-top: 1px; margin-bottom: 13px; }
    .container .referral-page .r-share-card .r-share-title { margin-bottom: 7px; }
    .container .referral-page .r-share-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .container .referral-page .r-share-btn {
        min-width: 0;
        min-height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 5px 4px;
        border: 1px solid #1683ff;
        border-radius: 9px;
        background: #071421;
        color: #d7e6f7;
        font-size: 11px;
        font-weight: 520;
        white-space: nowrap;
    }
    .container .referral-page .r-share-btn svg { width: 17px; height: 17px; flex: 0 0 17px; }
    .container .referral-page .r-share-btn.whatsapp svg { color: #00d6a5; }

    .container .referral-page .r-stats-card { margin-bottom: 13px; }
    .container .referral-page .r-stats-card::before { content: "Статистика программы"; display: block; margin: 0 0 7px; color: #f2f6fc; font-size: 17px; font-weight: 700; line-height: 1.25; }
    .container .referral-page .r-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .container .referral-page .r-stat-item {
        min-width: 0;
        min-height: 65px;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 8px 7px;
        border: 1px solid #1d3b59;
        border-radius: 10px;
        background: #091624;
    }
    .container .referral-page .r-stat-icon { display: none; }
    .container .referral-page .r-stat-item::after { content: "i"; position: absolute; top: 5px; right: 6px; width: 12px; height: 12px; display: grid; place-items: center; border: 1px solid #8cb5e4; border-radius: 50%; color: #a9c7e9; font-size: 8px; font-style: normal; line-height: 1; }
    .container .referral-page .r-stat-item .r-stat-value { margin: 0; color: #f3f7fc; font-size: 25px; font-weight: 760; line-height: 1; }
    .container .referral-page .r-stat-item .r-stat-label { margin-top: 6px; color: #99b8dc; font-size: 11px; font-weight: 450; line-height: 1.22; overflow-wrap: anywhere; }

    .container .referral-page .r-history-card { margin: 0 0 10px; }
    .container .referral-page .r-history-title { margin-bottom: 8px; }
    .container .referral-page .r-history-title svg { display: none !important; }
    .container .referral-page .r-history-card > div:last-child { max-width: 100%; overflow: hidden !important; border: 1px solid #1c3b59; border-radius: 10px; background: #081523; }
    .container .referral-page .r-history-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; color: #a5c1e2; font-size: 9px; }
    .container .referral-page .r-history-table th { padding: 8px 4px; border: 1px solid #1b3855; background: #0b1a2a; color: #b7cde7; font-size: 9px; font-weight: 500; line-height: 1.15; }
    .container .referral-page .r-history-table td { padding: 8px 4px; border-color: #1b3855; font-size: 9px; line-height: 1.3; overflow-wrap: anywhere; }
    .container .referral-page .r-history-table th:nth-child(1) { width: 23%; }
    .container .referral-page .r-history-table th:nth-child(2) { width: 28%; }
    .container .referral-page .r-history-table th:nth-child(3) { width: 15%; }
    .container .referral-page .r-history-table th:nth-child(4) { width: 16%; }
    .container .referral-page .r-history-table th:nth-child(5) { width: 18%; }
    .container .referral-page .r-history-table th:last-child,
    .container .referral-page .r-history-table td:last-child { display: none; }
    .container .referral-page .r-history-table tbody td[colspan] { padding: 26px 5px !important; color: #82a6d2 !important; font-size: 11px !important; }

    .container .referral-page .r-info-block {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        align-items: start;
        gap: 0 11px;
        margin: 0 0 12px;
        padding: 13px;
        border: 1px solid #147cff;
        border-radius: 12px;
        background: linear-gradient(115deg, #071a31 0%, #0a1a30 100%);
        text-align: left;
    }
    .container .referral-page .r-info-icon-btn { width: 38px; height: 44px; grid-column: 1; grid-row: 1 / span 2; display: grid; place-items: center; margin: 0; border: 0; border-radius: 9px; background: #102c53; }
    .container .referral-page .r-info-icon-btn svg { display: none; }
    .container .referral-page .r-info-icon-btn::after { content: "▤"; color: #78aaff; font-size: 23px; font-weight: 700; }
    .container .referral-page .r-info-content { min-width: 0; }
    .container .referral-page .r-info-content .r-info-title { position: relative; padding-right: 22px; color: #f4f7fc; font-size: 14px; font-weight: 700; line-height: 1.3; }
    .container .referral-page .r-info-content .r-info-title::after { content: "⌃"; position: absolute; top: -3px; right: 1px; color: #8eb5e8; font-size: 20px; font-weight: 500; }
    .container .referral-page .r-info-content .r-info-desc { margin-top: 5px; color: #a2c1e8; font-size: 12px; line-height: 1.42; }
    .container .referral-page .r-info-btn { min-height: 30px; grid-column: 2; justify-self: start; margin: 5px 0 0; padding: 0; border: 0; background: transparent; color: #1683ff; font-size: 12px; font-weight: 650; }

    /* Ranking screen: campaign hero, five-column board, opt-in card then weighting bars. */
    .container .top-page { width: 100%; min-width: 0; padding: 0 0 12px; color: #f4f7fc; }
    .container .top-page .top-head { position: relative; display: block; margin: 0 0 13px; padding-right: 143px; }
    .container .top-page .top-head h1 { color: #f4f7fc; font-size: 26px; line-height: 1.15; letter-spacing: -.55px; }
    .container .top-page .top-head p { max-width: 100%; margin-top: 5px; color: #9bb9de; font-size: 14px; line-height: 1.35; }
    .container .top-page .top-description-desktop { display: none; }
    .container .top-page .top-head .top-description-phone { display: block; }
    .container .top-page .top-pill { display: none; }
    .container .top-page .rb-mobile-period-form {
        position: absolute;
        top: 0;
        right: 0;
        width: 140px;
        min-height: 42px;
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr) 13px;
        align-items: center;
        gap: 7px;
        padding: 0 9px;
        border: 1px solid #1e3d5d;
        border-radius: 11px;
        background: #071421;
        color: #a9c4e7;
    }
    .container .top-page .rb-mobile-period-form > svg:first-of-type { width: 18px; height: 18px; color: #84b2f2; }
    .container .top-page .rb-mobile-period-form select { width: 100%; min-width: 0; min-height: 38px; padding: 0; border: 0; outline: 0; appearance: none; background: transparent; color: #d1def0; font-size: 12px !important; }
    .container .top-page .rb-mobile-period-form option { background: #091522; color: #edf4ff; }
    .container .top-page .rb-mobile-period-form .rb-period-chevron { width: 13px; height: 13px; stroke: #a7c3e5; stroke-width: 1.8; }
    .container .rb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .container .rb-top-hero { min-height: 160px; display: grid; grid-template-columns: minmax(0, 1fr) 145px; align-items: center; gap: 4px; margin: 0 0 15px; padding: 13px 13px 13px 14px; border: 1px solid #1056a2; border-radius: 14px; background-color: #061422; background-image: linear-gradient(rgba(24, 80, 135, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(24, 80, 135, .13) 1px, transparent 1px), linear-gradient(115deg, #071624, #091b2c); background-size: 28px 28px, 28px 28px, auto; }
    .container .rb-top-hero-copy { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
    .container .rb-top-hero-copy > span { color: #86b5eb; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
    .container .rb-top-hero-copy > strong { color: #f3f7fd; font-size: 20px; font-weight: 740; line-height: 1.22; }
    .container .rb-top-hero-copy p { margin: 2px 0 0; color: #9dbce2; font-size: 13px; line-height: 1.38; }
    .container .rb-top-hero-graphic { width: 145px; height: 145px; }
    .container .top-page .top-grid { display: flex; flex-direction: column; gap: 10px; }
    .container .top-page .top-side { display: contents; }
    .container .top-page .top-board { order: 1; min-width: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    .container .top-page .top-board-title { min-width: 0; display: block; padding: 0 0 8px; border: 0; }
    .container .top-page .top-board-title h2 { color: transparent; font-size: 0; line-height: 1.2; }
    .container .top-page .top-board-title h2::after { content: "Рейтинг трейдеров"; color: #f2f6fc; font-size: 19px; font-weight: 700; }
    .container .top-page .top-board-title span { display: none; }
    .container .top-page .top-row {
        min-width: 0;
        grid-template-columns: 39px minmax(0, 1fr) 61px 72px 56px;
        align-items: center;
        gap: 5px;
        padding: 11px 10px;
        border-color: #1c3854;
        font-size: 10px;
        line-height: 1.2;
    }
    .container .top-page .top-row.header { min-height: 40px; padding: 8px 9px; border: 1px solid #1d3a59; border-radius: 10px; background: #091725; color: #aac5e6; font-size: 9px; font-weight: 500; letter-spacing: 0; text-transform: none; }
    .container .top-page .top-row > :nth-child(n+6) { display: none !important; }
    .container .top-page .top-row .rank { width: 28px; height: 28px; border-radius: 50%; font-size: 11px; }
    .container .top-page .top-row .trader-name { font-size: 10px; }
    .container .top-page .top-row .score { font-size: 12px; }
    .container .top-page .empty-top { min-height: 122px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; margin-top: 8px; padding: 13px 18px; border: 1px solid #1c3b59; border-radius: 13px; background: #081522; color: #9bb9de; font-size: 12px; line-height: 1.35; text-align: center; }
    .container .top-page .empty-top::before { content: ""; width: 42px; height: 42px; display: block; margin-bottom: 5px; border: 1px solid #355272; border-radius: 50%; background: #0a1827 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2390b4e8' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 19v-6m7 6V5m7 14V9'/%3E%3C/svg%3E") center/22px no-repeat; }
    .container .top-page .empty-top strong { margin: 0; color: #f3f7fc; font-size: 16px; }
    .container .top-page .join-card { order: 2; position: relative; display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; grid-template-rows: auto auto auto; align-items: center; gap: 2px 10px; min-width: 0; padding: 13px; border: 1px solid #087bff; border-radius: 13px; background: linear-gradient(115deg, #071c38 0%, #0a2143 100%); box-shadow: none; }
    .container .top-page .rb-join-icon { width: 46px; height: 50px; grid-column: 1; grid-row: 1 / 4; display: grid; place-items: center; border: 1px solid #1765bb; border-radius: 10px; background: #0b2a52; color: #83b4ff; }
    .container .top-page .rb-join-icon svg { width: 27px; height: 27px; }
    .container .top-page .join-card .join-kicker { grid-column: 2; grid-row: 1; color: #81b1ed; font-size: 10px; letter-spacing: .13em; }
    .container .top-page .join-card h2 { grid-column: 2; grid-row: 2; margin: 2px 0; color: #f1f6fc; font-size: 17px; line-height: 1.2; }
    .container .top-page .join-card > p { grid-column: 2; grid-row: 3; margin: 0; color: #a5c1e4; font-size: 12px; line-height: 1.3; }
    .container .top-page .join-card > a.btn-primary { grid-column: 3; grid-row: 2; min-width: 74px; min-height: 40px; margin: 0 !important; padding: 0 12px; border-radius: 9px; background: #147cff; font-size: 12px; line-height: 40px; text-align: center; white-space: nowrap; }
    .container .top-page .join-card > form { grid-column: 1 / -1; grid-row: 4; margin-top: 8px; }
    .container .top-page .join-card > form label { margin: 8px 0 5px; }
    .container .top-page .join-card > form .join-actions { margin-top: 8px; }
    .container .top-page .join-card > .privacy { display: none !important; }
    .container .top-page .rb-phone-privacy { order: 3; display: flex !important; align-items: center; gap: 10px; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid #1e3d5d; border-radius: 10px; background: #091725; color: #9ebbe0; font-size: 12px; line-height: 1.35; }
    .container .top-page .rb-phone-privacy::before { content: "ⓘ"; flex: 0 0 auto; color: #8ab2e8; font-size: 20px; }
    .container .top-page .formula-card { order: 4; min-width: 0; padding: 13px; border: 1px solid #1c3957; border-radius: 12px; background: #081522; box-shadow: none; }
    .container .top-page .formula-card h3 { margin: 0; color: #94b8e6; font-size: 11px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
    .container .top-page .formula-card h3::after { content: "i"; width: 16px; height: 16px; display: inline-grid; place-items: center; margin-left: 8px; border: 1px solid #87aeda; border-radius: 50%; font-size: 10px; letter-spacing: 0; }
    .container .top-page .formula-card > p { display: none; }
    .container .top-page .formula-list { display: grid; gap: 8px; margin-top: 11px; }
    .container .top-page .formula-list div { display: grid; grid-template-columns: minmax(112px, .8fr) minmax(0, 1.6fr) 34px; align-items: center; gap: 8px; color: #d6e3f3; font-size: 12px; }
    .container .top-page .formula-list div::before { content: ""; height: 10px; grid-column: 2; grid-row: 1; border-radius: 99px; background: #172b43; }
    .container .top-page .formula-list div::after { content: ""; width: var(--rb-weight); height: 10px; grid-column: 2; grid-row: 1; border-radius: 99px; background: linear-gradient(90deg, #167cff, #2991ff); }
    .container .top-page .formula-list div:nth-child(1) { --rb-weight: 50%; }
    .container .top-page .formula-list div:nth-child(2) { --rb-weight: 20%; }
    .container .top-page .formula-list div:nth-child(3) { --rb-weight: 20%; }
    .container .top-page .formula-list div:nth-child(4) { --rb-weight: 10%; }
    .container .top-page .formula-list span { grid-column: 1; }
    .container .top-page .formula-list strong { grid-column: 3; color: #c0d4ef; font-size: 12px; text-align: right; }
    .container .top-page .privacy { font-size: 12px; }

    /* Reports screen: use the phone-only composition and leave the desktop report tree untouched. */
    .container .rb-reports-page { position: relative; width: 100%; max-width: 100%; min-width: 0; padding: 0 0 12px; color: #f4f7fc; }
    .container .rb-reports-head { display: block; margin: 0 0 14px; padding-right: 142px; }
    .container .rb-reports-head > div:first-child { max-width: 100%; }
    .container .rb-reports-head h1 { margin: 0; color: #f5f7fc; font-size: 27px; line-height: 1.16; letter-spacing: -.55px; }
    .container .rb-reports-head .rb-reports-kicker { display: none; }
    .container .rb-reports-head p { max-width: 100%; margin: 5px 0 0; color: #9ebce1; font-size: 14px; line-height: 1.35; }
    .container .rb-reports-head .rb-reports-subtitle-desktop { display: none; }
    .container .rb-reports-head .rb-reports-subtitle-phone { display: block; }
    .container .rb-reports-state { display: none; }
    .container .rb-reports-toolbar { position: absolute; top: 0; right: 0; z-index: 2; min-width: 0; display: flex; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    .container .rb-reports-toolbar label { display: none; }
    .container .rb-reports-toolbar form { position: relative; min-width: 145px; }
    .container .rb-reports-toolbar form::before { content: "▦"; position: absolute; top: 8px; left: 11px; color: #8cb7f1; font-size: 18px; pointer-events: none; }
    .container .rb-reports-toolbar form::after { content: "⌄"; position: absolute; top: 7px; right: 11px; color: #a6c2e3; font-size: 18px; pointer-events: none; }
    .container .rb-reports-toolbar select { width: 145px; min-height: 42px; padding: 0 29px 0 36px; appearance: none; border: 1px solid #1c3b5b; border-radius: 11px; background: #071421; color: #d5e2f4; font-size: 13px !important; }
    .container .rb-reports-tabs { margin-bottom: 13px; }
    .container .rb-reports-desktop-view { display: none !important; }
    .container .rb-reports-phone-view { display: block !important; }
    .container .rb-reports-phone-view > * { min-width: 0; }
    .container .rb-reports-phone-view .rb-report-hero { min-height: 158px; display: flex; align-items: center; margin: 0 0 15px; padding: 13px 11px 13px 14px; overflow: hidden; border: 1px solid #1b426b; border-radius: 14px; background-color: #071522; background-image: linear-gradient(rgba(29, 78, 128, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(29, 78, 128, .11) 1px, transparent 1px), linear-gradient(125deg, #081624, #0a1b2b); background-size: 28px 28px, 28px 28px, auto; box-shadow: none; }
    .container .rb-reports-phone-view .rb-report-hero-top { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 145px; align-items: center; gap: 0; }
    .container .rb-reports-phone-view .rb-report-hero-copy { min-width: 0; position: relative; z-index: 1; }
    .container .rb-reports-phone-view .rb-report-eyebrow { color: #99bde9; font-size: 10px; font-weight: 650; letter-spacing: .12em; }
    .container .rb-reports-phone-view .rb-report-hero h2 { margin-top: 6px; color: #f6f8fd; font-size: 20px; font-weight: 740; line-height: 1.22; letter-spacing: -.22px; }
    .container .rb-reports-phone-view .rb-report-hero p { margin-top: 8px; color: #a2c0e4; font-size: 13px; line-height: 1.4; }
    .container .rb-reports-phone-view .rb-report-illustration { width: 155px; max-width: none; height: 145px; margin-left: -10px; overflow: visible; }
    .container .rb-reports-phone-view .rb-report-metrics-section { margin: 0 0 12px; padding: 0; border: 0; background: transparent; box-shadow: none; }
    .container .rb-reports-phone-view .rb-report-section-head { display: flex; align-items: center; margin: 0 0 9px; }
    .container .rb-reports-phone-view .rb-report-section-kicker,
    .container .rb-reports-phone-view .rb-report-section-period { display: none; }
    .container .rb-reports-phone-view .rb-report-section-head h2 { margin: 0; color: #f3f6fb; font-size: 19px; line-height: 1.22; }
    .container .rb-reports-phone-view .rb-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .rb-reports-phone-view .rb-report-kpi { min-height: 82px; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 17px; grid-template-rows: auto auto auto; align-items: start; gap: 3px 2px; padding: 10px 12px; border: 1px solid #1d3b59; border-radius: 12px; background: #091624; }
    .container .rb-reports-phone-view .rb-report-kpi-label { grid-column: 1; grid-row: 1; color: #a7c1e3; font-size: 12px; line-height: 1.2; }
    .container .rb-reports-phone-view .rb-report-info { width: 15px; height: 15px; grid-column: 2; grid-row: 1; display: grid; place-items: center; border: 1px solid #91b6e5; border-radius: 50%; color: #9dc1ea; font-size: 10px; font-style: normal; line-height: 1; }
    .container .rb-reports-phone-view .rb-report-kpi strong { grid-column: 1 / -1; grid-row: 2; margin: 1px 0 0; color: #f5f7fc; font-size: 27px; font-weight: 760; line-height: 1.02; white-space: nowrap; }
    .container .rb-reports-phone-view .rb-report-kpi strong.is-positive { color: #00d9a5; }
    .container .rb-reports-phone-view .rb-report-kpi strong.is-negative { color: #ff4b61; }
    .container .rb-reports-phone-view .rb-report-kpi strong small { font-size: 16px; }
    .container .rb-reports-phone-view .rb-report-kpi-note { grid-column: 1 / -1; grid-row: 3; margin: 0; color: #9ab9de; font-size: 12px; line-height: 1.2; }
    .container .rb-reports-phone-view .rb-report-detail-grid { display: none !important; }
    .container .rb-reports-phone-view .rb-report-key { min-height: 66px; display: grid; grid-template-columns: 44px minmax(0, 1fr) 17px; align-items: center; gap: 0 10px; margin: 10px 0 0; padding: 9px 11px; border: 1px solid #ff3556; border-radius: 12px; background: linear-gradient(100deg, #25121b, #1d111b); color: #a9c3df; }
    .container .rb-reports-phone-view .rb-report-key-icon { width: 42px; height: 42px; grid-column: 1; grid-row: 1 / span 3; display: grid; place-items: center; border-radius: 10px; background: #351a26; color: #ff5569; font-size: 20px; }
    .container .rb-reports-phone-view .rb-report-key > div { grid-column: 2; grid-row: 1 / span 3; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
    .container .rb-reports-phone-view .rb-report-key-eyebrow { color: #9bb8d8; font-size: 10px; letter-spacing: .12em; }
    .container .rb-reports-phone-view .rb-report-key strong { margin: 0; color: #f3f6fb; font-size: 16px; line-height: 1.2; }
    .container .rb-reports-phone-view .rb-report-key > div > span:last-child { color: #a4bedf; font-size: 12px; line-height: 1.25; }
    .container .rb-reports-phone-view .rb-report-key-arrow { grid-column: 3; grid-row: 1 / -1; color: #93bce9; font-size: 30px; line-height: 1; }
    .container .rb-reports-phone-view .rb-report-options { margin: 0 0 10px; padding: 12px; border: 1px solid #1c3b5a; border-radius: 12px; background: #091624; box-shadow: none; }
    .container .rb-reports-phone-view .rb-report-options .rb-report-section-head { align-items: center; margin-bottom: 8px; }
    .container .rb-reports-phone-view .rb-report-options .rb-report-section-kicker { display: none; }
    .container .rb-reports-phone-view .rb-report-options .rb-report-section-head h2 { font-size: 15px; }
    .container .rb-reports-phone-view .rb-report-option-hint { width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid #84aee0; border-radius: 50%; color: #a5c4e8; font-size: 11px; }
    .container .rb-reports-phone-view .rb-report-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 10px; }
    .container .rb-reports-phone-view .rb-report-checks label { min-height: 24px; gap: 7px; padding: 2px 0; border: 0; border-radius: 0; background: transparent; color: #d3e0ef; font-size: 11px; line-height: 1.25; }
    .container .rb-reports-phone-view .rb-report-checks input { width: 18px; height: 18px; margin: 0; flex: 0 0 18px; accent-color: #147cff; }
    .container .rb-reports-phone-view .rb-report-actions-card { display: block; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
    .container .rb-reports-phone-view .rb-report-actions-card > div:first-child { display: none; }
    .container .rb-reports-phone-view .rb-report-actions { grid-template-columns: 1fr 1fr; gap: 8px; }
    .container .rb-reports-phone-view .rb-report-actions .rb-report-open { grid-column: auto; min-height: 45px; border: 1px solid #147cff; border-radius: 11px; background: #147cff; color: #fff; font-size: 13px; font-weight: 700; }
    .container .rb-reports-phone-view .rb-report-export-menu { position: relative; min-width: 0; }
    .container .rb-reports-phone-view .rb-report-export-menu summary { min-height: 45px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #1683ff; border-radius: 11px; background: #071421; color: #9ec0e8; font-size: 13px; font-weight: 650; list-style: none; cursor: pointer; }
    .container .rb-reports-phone-view .rb-report-export-menu summary::-webkit-details-marker { display: none; }
    .container .rb-reports-phone-view .rb-report-export-menu summary svg { width: 20px; height: 20px; }
    .container .rb-reports-phone-view .rb-report-export-options { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 5; width: 100%; display: grid; gap: 4px; padding: 6px; border: 1px solid #29496a; border-radius: 10px; background: #0a1726; box-shadow: 0 10px 24px rgba(0,0,0,.36); }
    .container .rb-reports-phone-view .rb-report-export-options button { min-height: 39px; border: 0; border-radius: 7px; background: transparent; color: #d6e4f4; font-size: 12px; text-align: left; }
    .container .rb-reports-phone-view .rb-report-open-state { margin-top: 7px; font-size: 11px; }
    .container .rb-reports-phone-view .rb-report-public-note { display: none !important; }
    .container .rb-reports-page .rb-report-disclaimer { margin: 7px 0 0; padding: 0; color: #98b4d8; font-size: 11px; line-height: 1.35; text-align: center; }

}

/* RISKBLOCK_PHONE_HOME_LIGHT_SPEC_V1 — светлая тема по уточнённому макету */
@media screen and (max-width: 760px) {
    html[data-theme="light"] body:has(.rb-phone-home),
    html[data-theme="light"] body:has(.rb-phone-home) .container,
    html[data-theme="light"] body:has(.rb-phone-home) .rb-app,
    html[data-theme="light"] .rb-phone-home,
    html[data-theme="light"] .rb-phone-home .rb-main {
        background:
            radial-gradient(circle at 50% 2%, rgba(47,107,255,.07) 0, rgba(47,107,255,0) 360px),
            linear-gradient(180deg, #F5F8FC 0%, #F2F5F9 48%, #EEF2F7 100%) !important;
        color: #111827 !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-main { padding-top: 12px !important; }
    html[data-theme="light"] .rb-phone-home .rb-topbar,
    html[data-theme="light"] .rb-phone-home .rb-phone-header {
        background: transparent !important;
        border-color: #DCE4EF !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-greeting h1,
    html[data-theme="light"] .rb-phone-home .rb-phone-brand,
    html[data-theme="light"] .rb-phone-home .rb-phone-brand span:first-child {
        color: #111827 !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-greeting p { color: #64748B !important; }
    html[data-theme="light"] .rb-phone-home .rb-phone-brand > span:last-child > span { color: #2F6BFF !important; }
    html[data-theme="light"] .rb-phone-home .rb-phone-brand-mark {
        background: #EAF1FF !important;
        border-color: #CAD6E5 !important;
        color: #2F6BFF !important;
    }

    html[data-theme="light"] .rb-phone-home .rb-kpi-card,
    html[data-theme="light"] .rb-phone-home .rb-section-card,
    html[data-theme="light"] .rb-phone-home .rb-custom-section,
    html[data-theme="light"] .rb-phone-home .rb-phone-add-metrics {
        background: rgba(252,253,254,.96) !important;
        border: 1px solid #DCE4EF !important;
        border-radius: 18px !important;
        box-shadow: 0 1px 2px rgba(15,23,42,.025), 0 8px 24px rgba(51,78,117,.065) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) {
        box-shadow: 0 1px 2px rgba(15,23,42,.03), 0 12px 32px rgba(47,107,255,.075) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-card-head,
    html[data-theme="light"] .rb-phone-home .rb-card-head .quiet {
        color: #52627A !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-kpi-value.green,
    html[data-theme="light"] .rb-phone-home .rb-balance-amount { color: #12C98A !important; }
    html[data-theme="light"] .rb-phone-home .rb-kpi-value.blue,
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .value:not(.green) { color: #2F6BFF !important; }
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .value.green { color: #12C98A !important; }
    html[data-theme="light"] .rb-phone-home .rb-loss-value { color: #FF5967 !important; }
    html[data-theme="light"] .rb-phone-home .rb-progress { background: #E5EBF3 !important; }
    html[data-theme="light"] .rb-phone-home .rb-kpi-card:nth-child(1) .rb-progress > span { background: #12C98A !important; }
    html[data-theme="light"] .rb-phone-home .rb-kpi-card:nth-child(2) .rb-progress > span { background: #2F6BFF !important; }
    html[data-theme="light"] .rb-phone-home .rb-ring-track { stroke: #E5EBF3 !important; }
    html[data-theme="light"] .rb-phone-home .rb-ring-caption { color: #64748B !important; }
    html[data-theme="light"] .rb-phone-home .rb-ring-number { color: #2F6BFF !important; }

    html[data-theme="light"] .rb-phone-home .rb-section-title,
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head,
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .label,
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label {
        color: #111827 !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-check-item {
        min-height: 56px !important;
        background: #F7F9FC !important;
        border: 1px solid #DCE4EF !important;
        color: #334155 !important;
        border-radius: 13px !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-check-item .box {
        width: 36px !important;
        height: 36px !important;
        background: linear-gradient(145deg, #3D78FF, #245BE0) !important;
        box-shadow: 0 6px 14px rgba(47,107,255,.22) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-balance-card {
        background: #FCFDFE !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-balance-rule { background: #DCE4EF !important; }
    html[data-theme="light"] .rb-phone-home .rb-balance-stat span,
    html[data-theme="light"] .rb-phone-home .rb-currency { color: #64748B !important; }
    html[data-theme="light"] .rb-phone-home .rb-balance-stat strong { color: #334155 !important; }
    html[data-theme="light"] .rb-phone-home .rb-control-card {
        background:
            radial-gradient(circle at 90% 100%, rgba(47,107,255,.12), transparent 58%),
            linear-gradient(145deg, #F8FBFF, #EDF4FF) !important;
        border: 1px solid #BCD1FF !important;
        box-shadow: 0 8px 24px rgba(47,107,255,.10) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-control-title { color: #2F6BFF !important; }
    html[data-theme="light"] .rb-phone-home .rb-control-text { color: #52627A !important; }
    html[data-theme="light"] .rb-phone-home .rb-primary-action {
        background: linear-gradient(135deg, #315EF2, #2F75FF) !important;
        box-shadow: 0 8px 18px rgba(47,107,255,.22) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-phone-chart-grid { stroke: #DCE4EF !important; }
    html[data-theme="light"] .rb-phone-home .rb-phone-chart-legend { color: #64748B !important; }
    html[data-theme="light"] .rb-phone-home .rb-phone-add-metrics {
        min-height: 58px !important;
        color: #475569 !important;
    }

    html[data-theme="light"] .mobile-nav.rb-mobile-nav-phone {
        min-height: 76px !important;
        background: rgba(252,253,254,.92) !important;
        border: 1px solid #DCE4EF !important;
        border-bottom: 0 !important;
        box-shadow: 0 -10px 30px rgba(45,65,95,.08) !important;
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
    }
    html[data-theme="light"] .mobile-nav.rb-mobile-nav-phone :is(a, .rb-mobile-more-toggle) { color: #7C8DA7 !important; }
    html[data-theme="light"] .mobile-nav.rb-mobile-nav-phone a.active,
    html[data-theme="light"] .mobile-nav.rb-mobile-nav-phone .rb-mobile-more-toggle.active { color: #2F6BFF !important; }
    html[data-theme="light"] .mobile-nav.rb-mobile-nav-phone .rb-mobile-add-toggle {
        border-color: #F4F7FB !important;
        background: linear-gradient(145deg, #3E7BFF, #1F63F2) !important;
        box-shadow: 0 0 0 1px #DCE4EF, 0 10px 22px rgba(47,107,255,.28) !important;
    }
}

/* v19 visual polish: chart legend, negative value, ring caption and themes. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-greeting h1 {
        font-size: clamp(22px, 6.2vw, 26px) !important;
        letter-spacing: -.55px !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption {
        position: absolute;
        top: 61%;
        left: 50%;
        margin: 0 !important;
        transform: translate(-50%, 0);
        font-size: 7px !important;
        line-height: 1 !important;
        white-space: nowrap;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .label,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label,
    .container .rb-phone-home .rb-section-title {
        color: var(--rb-phone-white) !important;
    }
    .container .rb-phone-home .rb-phone-chart-legend {
        margin-top: 13px !important;
        transform: translateY(4px);
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value::before {
        content: none !important;
    }

    /* Black theme. */
    html[data-theme="dark"] .rb-phone-home,
    html:not([data-theme]) .rb-phone-home {
        --rb-phone-bg: #050A12;
        --rb-phone-card: #0B1422;
        --rb-phone-border: #26364D;
        --rb-phone-white: #F4F7FC;
        --rb-phone-muted: #A8B7D1;
    }
    /* Gray theme. */
    html[data-theme="gray"] .rb-phone-home {
        --rb-phone-bg: #202329;
        --rb-phone-card: #282d35;
        --rb-phone-border: #3b4350;
        --rb-phone-white: #F1F2F4;
        --rb-phone-muted: #B2B8C2;
    }
    html[data-theme="gray"] .rb-phone-home .rb-kpi-card,
    html[data-theme="gray"] .rb-phone-home .rb-section-card,
    html[data-theme="gray"] .rb-phone-home .rb-custom-section {
        background: linear-gradient(145deg, #2a3038, #20252c) !important;
    }
    /* White theme. */
    html[data-theme="light"] .rb-phone-home {
        --rb-phone-bg: #F0F2F6;
        --rb-phone-card: #FFFFFF;
        --rb-phone-border: #DFE3EA;
        --rb-phone-white: #151820;
        --rb-phone-muted: #687282;
    }
    html[data-theme="light"] .rb-phone-home .rb-main,
    html[data-theme="light"] .rb-phone-home {
        background: var(--rb-phone-bg) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-kpi-card,
    html[data-theme="light"] .rb-phone-home .rb-section-card,
    html[data-theme="light"] .rb-phone-home .rb-custom-section,
    html[data-theme="light"] .rb-phone-home .rb-phone-add-metrics {
        background: #fff !important;
        border-color: var(--rb-phone-border) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-check-item {
        background: #f7f9fc !important;
        border-color: #dfe3ea !important;
        color: #343b48 !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-phone-chart-grid {
        stroke: #d6dce5;
    }
}


@media screen and (max-width: 390px) {
    .container,
    html body > main.container {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .rb-phone-brand {
        gap: 6px;
        font-size: 14px;
    }

    .rb-phone-account-status {
        gap: 4px;
        padding: 6px 7px;
        font-size: 7px;
    }

    .rb-phone-avatar {
        width: 31px;
        height: 31px;
        flex-basis: 31px;
    }

    .container .rb-mobile-more-sheet,
    .container .rb-mobile-actions-sheet {
        padding-right: 13px;
        padding-left: 13px;
    }

    .container .rb-mobile-more-link {
        gap: 7px;
        padding: 9px 8px;
        font-size: 10px;
    }

    .container .analytics-page .kpi-card {
        min-height: 125px;
        padding: 11px;
    }

    .container .journal-page .trade-grid {
        gap: 7px;
    }

    .container .referral-page .r-hero { grid-template-columns: minmax(0, 1fr) 112px; padding-right: 9px; }
    .container .referral-page .r-hero-right { width: 112px; height: 84px; }
    .container .referral-page .r-hero-title::after { font-size: 19px; }
    .container .referral-page .r-stat-item { padding-right: 5px; padding-left: 6px; }
    .container .referral-page .r-stat-item .r-stat-value { font-size: 21px; }
    .container .referral-page .r-stat-item .r-stat-label { font-size: 10px; }
    .container .referral-page .r-share-btn { gap: 3px; font-size: 9px; }
    .container .referral-page .r-history-table th { font-size: 8px; }
    .container .top-page .top-head { padding-right: 130px; }
    .container .top-page .top-head h1 { font-size: 23px; }
    .container .top-page .rb-mobile-period-form { width: 127px; grid-template-columns: 16px minmax(0, 1fr) 12px; gap: 5px; padding: 0 7px; }
    .container .top-page .rb-mobile-period-form select { font-size: 11px !important; }
    .container .rb-top-hero { min-height: 142px; grid-template-columns: minmax(0, 1fr) 112px; padding: 11px; }
    .container .rb-top-hero-copy > strong { font-size: 17px; }
    .container .rb-top-hero-copy p { font-size: 12px; }
    .container .rb-top-hero-graphic { width: 116px; height: 116px; }
    .container .top-page .top-row { grid-template-columns: 32px minmax(0, 1fr) 51px 62px 48px; gap: 3px; padding-right: 6px; padding-left: 6px; font-size: 9px; }
    .container .top-page .top-row.header { font-size: 8px; }
    .container .top-page .join-card { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 2px 7px; padding: 10px; }
    .container .top-page .rb-join-icon { width: 38px; height: 44px; }
    .container .top-page .join-card h2 { font-size: 15px; }
    .container .top-page .join-card > p { font-size: 10px; }
    .container .top-page .join-card > a.btn-primary { min-width: 62px; padding: 0 8px; font-size: 11px; }
    .container .top-page .formula-list div { grid-template-columns: minmax(98px, .8fr) minmax(0, 1.5fr) 30px; gap: 6px; font-size: 10px; }
    .container .rb-reports-head { padding-right: 132px; }
    .container .rb-reports-head h1 { font-size: 24px; }
    .container .rb-reports-toolbar form,
    .container .rb-reports-toolbar select { width: 132px; min-width: 132px; }
    .container .rb-reports-phone-view .rb-report-hero-top { grid-template-columns: minmax(0, 1fr) 122px; }
    .container .rb-reports-phone-view .rb-report-illustration { width: 132px; height: 130px; margin-left: -9px; }
    .container .rb-reports-phone-view .rb-report-hero h2 { font-size: 18px; }
    .container .rb-reports-phone-view .rb-report-kpi { padding: 9px; }
    .container .rb-reports-phone-view .rb-report-kpi-label { font-size: 10px; }
    .container .rb-reports-phone-view .rb-report-kpi strong { font-size: 23px; }
    .container .rb-reports-phone-view .rb-report-kpi-note { font-size: 10px; }
    .container .rb-reports-phone-view .rb-report-checks label { font-size: 10px; }
}

/* RISKBLOCK_PHONE_HOME_V1 — главная по макету 390×844 */
@media screen and (max-width: 760px) {
    /* v55: guaranteed daily-drawdown chart when the desktop markup is absent. */
    .container .rb-phone-home .rb-phone-drawdown-fallback,
    .container .rb-phone-home .rb-phone-drawdown-server {
        display: block !important;
        width: 100% !important;
        height: 28px !important;
        margin: 9px 0 0 !important;
        overflow: visible !important;
    }
    .container .rb-phone-home .rb-phone-drawdown-fallback .rb-phone-drawdown-line,
    .container .rb-phone-home .rb-phone-drawdown-server .rb-phone-drawdown-line {
        fill: none !important;
        stroke: var(--rb-phone-green) !important;
        stroke-width: 2.8 !important;
        stroke-dasharray: none !important;
        stroke-linecap: round !important;
        vector-effect: non-scaling-stroke;
    }

    /* v57: daily drawdown card is a chart-only card on mobile. */
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-value,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-progress {
        display: none !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-card-head .quiet {
        display: block !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-server,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-fallback {
        display: block !important;
        height: 58px !important;
        margin-top: 30px !important;
    }

    /* v54: the discipline ring keeps only the percentage; the old caption
       "соблюдения" is removed from the compact mobile card. */
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption {
        display: none !important;
    }

    .rb-phone-home {
        --rb-phone-bg: #050A12;
        --rb-phone-card: #0B1422;
        --rb-phone-border: #26364D;
        --rb-phone-white: #F4F7FC;
        --rb-phone-muted: #A8B7D1;
        --rb-phone-blue: #2D6BFF;
        --rb-phone-green: #13E59B;
        --rb-phone-red: #FF5A69;
        width: 100%;
        max-width: 430px;
        margin: 0 auto;
        background: var(--rb-phone-bg);
    }

    .rb-phone-home .rb-main {
        width: 100%;
        max-width: 430px;
        margin: 0 auto;
        padding: 14px 16px calc(104px + env(safe-area-inset-bottom));
        background: var(--rb-phone-bg);
    }

    .rb-phone-home .rb-mobile-topbar { display: none; }
    .rb-phone-home .rb-topbar {
        display: block;
        min-height: 0;
        margin: 0 0 20px;
    }
    .rb-phone-home .rb-greeting h1 {
        margin: 0;
        color: var(--rb-phone-white);
        font-size: clamp(25px, 7vw, 29px);
        font-weight: 700;
        line-height: 1.13;
        letter-spacing: -.8px;
    }
    .rb-phone-home .rb-greeting p {
        max-width: 365px;
        margin: 8px 0 0;
        color: var(--rb-phone-muted);
        font-size: 15px;
        line-height: 1.35;
    }
    .rb-phone-home .rb-top-actions,
    .rb-phone-home .rb-guest-banner { display: none; }

    .rb-phone-home .rb-kpi-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin: 0 0 10px;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card {
        min-height: 208px;
        padding: 17px 12px 12px;
        overflow: hidden;
        border: 1px solid var(--rb-phone-border);
        border-radius: 15px;
        background: linear-gradient(145deg, #101B2B, #09111E);
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) {
        grid-column: 1 / -1;
        min-height: 257px;
        margin-top: 21px;
        padding: 22px 24px 18px;
    }
    .rb-phone-home .rb-card-head {
        display: block;
        color: var(--rb-phone-muted);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.25;
        text-transform: uppercase;
    }
    .rb-phone-home .rb-card-head .quiet {
        display: block;
        margin-top: 5px;
        color: var(--rb-phone-muted);
        font-size: 12px;
    }
    .rb-phone-home .rb-static-badge { display: none; }
    .rb-phone-home .rb-kpi-value {
        margin-top: 18px;
        font-size: 39px;
        letter-spacing: -1.2px;
    }
    .rb-phone-home .rb-kpi-value small { font-size: 18px; }
    .rb-phone-home .rb-sparkline { height: 51px; margin-top: 22px; }
    .rb-phone-home .rb-progress { height: 7px; margin-top: 21px; }
    .rb-phone-home .rb-kpi-foot { display: none; }
    .rb-phone-home .rb-discipline { padding-top: 0; }
    .rb-phone-home .rb-ring { width: 130px; height: 130px; margin-top: 17px; }
    .rb-phone-home .rb-ring-track,
    .rb-phone-home .rb-ring-progress { stroke-width: 8; }
    .rb-phone-home .rb-ring-number { font-size: 29px; }
    .rb-phone-home .rb-ring-number small { font-size: 16px; }
    .rb-phone-home .rb-ring-caption { margin-top: 6px; font-size: 11px; }
    .rb-phone-home .rb-discipline-meta { display: none; }

    .rb-phone-home .rb-violation-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        margin-top: 25px;
    }
    .rb-phone-home .rb-violation-grid .label,
    .rb-phone-home .rb-loss-label { font-size: 13px; }
    .rb-phone-home .rb-violation-grid .value {
        margin-top: 6px;
        font-size: 31px;
    }
    .rb-phone-home .rb-loss {
        width: 49%;
        margin-top: 17px;
        padding-top: 15px;
        text-align: left;
    }
    .rb-phone-home .rb-loss-value { margin-top: 7px; font-size: 32px; }

    .rb-phone-home .rb-middle-grid,
    .rb-phone-home .rb-lower-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 0 0 16px;
    }
    .rb-phone-home .rb-section-card {
        padding: 19px 22px;
        border-color: var(--rb-phone-border);
        border-radius: 15px;
        background: linear-gradient(145deg, #101B2B, #09111E);
    }
    .rb-phone-home .rb-section-title {
        margin-bottom: 15px;
        color: var(--rb-phone-white);
        font-size: 16px;
    }
    .rb-phone-home .rb-section-title a { color: var(--rb-phone-blue); font-size: 14px; }
    .rb-phone-home .rb-checklist { gap: 7px; }
    .rb-phone-home .rb-check-item {
        min-height: 54px;
        gap: 13px;
        padding: 0 11px;
        border-color: #26364D;
        border-radius: 11px;
        background: #0C1726;
        color: #D9E3F3;
        font-size: 16px;
    }
    .rb-phone-home .rb-check-item .box {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        font-size: 17px;
    }
    .rb-phone-home .rb-balance-card { min-height: 218px; }
    .rb-phone-home .rb-balance-content { width: 100%; }
    .rb-phone-home .rb-balance-amount { margin-top: 16px; font-size: 36px; }
    .rb-phone-home .rb-currency { margin-top: 5px; font-size: 14px; }
    .rb-phone-home .rb-balance-rule { margin: 14px 0; background: #26364D; }
    .rb-phone-home .rb-balance-stats { grid-template-columns: 1fr 1fr; gap: 14px 18px; }
    .rb-phone-home .rb-balance-stat span { font-size: 13px; }
    .rb-phone-home .rb-balance-stat strong { margin-top: 4px; font-size: 17px; color: var(--rb-phone-white); }
    .rb-phone-home .rb-wallet-art { display: none; }
    .rb-phone-home .rb-control-card {
        min-height: 218px;
        justify-content: flex-start;
        padding: 24px 22px;
        text-align: left;
        border-color: var(--rb-phone-border);
        border-radius: 15px;
    }
    .rb-phone-home .rb-control-title { font-size: 18px; }
    .rb-phone-home .rb-control-text { max-width: 220px; font-size: 15px; line-height: 1.35; }
    .rb-phone-home .rb-primary-action { min-width: 0; width: 100%; height: 49px; margin-top: 20px; font-size: 15px; }
    .rb-phone-home .rb-journal-card { display: none; }
    .rb-phone-home .rb-custom-section { display: none; }
}

@media screen and (min-width: 761px) {
    .rb-phone-home { max-width: none; }
}

/* RISKBLOCK_PHONE_HOME_V1_FIX — порядок и контраст после проверки на телефоне */
@media screen and (max-width: 760px) {
    .rb-phone-home .rb-main {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
        gap: 16px 12px;
    }
    .rb-phone-home .rb-topbar,
    .rb-phone-home .rb-kpi-grid {
        grid-column: 1 / -1;
    }
    .rb-phone-home .rb-topbar { margin-bottom: 0; }
    .rb-phone-home .rb-middle-grid,
    .rb-phone-home .rb-lower-grid {
        display: contents;
    }
    .rb-phone-home .rb-middle-grid > .rb-section-card:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .rb-phone-home .rb-middle-grid > .rb-balance-card {
        grid-column: 1;
        grid-row: auto;
    }
    .rb-phone-home .rb-lower-grid > .rb-control-card {
        grid-column: 2;
        grid-row: auto;
    }
    .rb-phone-home .rb-lower-grid > .rb-journal-card,
    .rb-phone-home .rb-custom-section { display: none; }
    .rb-phone-home .rb-kpi-value.green { color: #13E59B !important; }
    .rb-phone-home .rb-kpi-value.blue { color: #2D6BFF !important; }
    .rb-phone-home .rb-balance-amount { color: #13E59B !important; }
    .rb-phone-home .rb-balance-stat span { color: #A8B7D1 !important; }
    .rb-phone-home .rb-balance-stat strong { color: #F4F7FC !important; }
    .rb-phone-home .rb-balance-stat strong.green { color: #13E59B !important; }
    .rb-phone-home .rb-control-title { color: #2D6BFF !important; }
    .rb-phone-home .rb-control-text { color: #A8B7D1 !important; }
    .rb-phone-home .rb-section-title { color: #F4F7FC !important; }
    .rb-phone-home .rb-check-item { color: #D9E3F3 !important; }
}

@media screen and (max-width: 760px) and (prefers-reduced-motion: reduce) {
    .rb-mobile-sheet-backdrop,
    .rb-mobile-sheet,
    .rb-mobile-add-toggle {
        transition: none !important;
    }
}

/* v27-final: this is deliberately the last cascade layer. */
@media screen and (max-width: 760px) {
    .rb-phone-header {
        width: calc(100% - 32px) !important;
        max-width: 398px !important;
        margin: 0 16px 12px !important;
        padding: 0 !important;
        gap: 8px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    .rb-phone-brand {
        min-width: 0 !important;
        flex: 1 1 auto !important;
        gap: 2px !important;
        overflow: visible !important;
        font-size: 19px !important;
        font-weight: 760 !important;
        letter-spacing: -.55px !important;
        white-space: nowrap !important;
    }
    .rb-phone-brand-mark {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
        margin: 0 !important;
    }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span {
        font-size: 19px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    .rb-phone-notifications { flex: 0 0 27px !important; width: 27px !important; height: 40px !important; }
    .rb-phone-avatar { width: 40px !important; height: 40px !important; flex: 0 0 40px !important; }
    .rb-phone-home .rb-topbar { margin-bottom: 8px !important; }
    body:has(.rb-phone-home) .rb-greeting h1,
    .rb-phone-home .rb-greeting h1 {
        font-size: clamp(19px, 5.1vw, 22px) !important;
        line-height: 1.12 !important;
        letter-spacing: -.45px !important;
    }
    .rb-phone-home .rb-greeting p { margin-top: 5px !important; font-size: 14px !important; line-height: 1.28 !important; }

    .rb-phone-home .rb-kpi-grid { gap: 8px !important; margin-top: 0 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        padding: 11px 9px !important;
        border-radius: 14px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head { font-size: 10px !important; line-height: 1.12 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head .quiet { margin-top: 4px !important; font-size: 10px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-value,
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-kpi-value { margin-top: 9px !important; font-size: 28px !important; line-height: 1 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-sparkline { height: 28px !important; margin-top: 9px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+2) .rb-progress { height: 6px !important; margin-top: 8px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-kpi-value small { font-size: 14px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring { width: 76px !important; height: 76px !important; margin: 10px auto 0 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-track,
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-progress { stroke-width: 7 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number { font-size: 20px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number small { font-size: 11px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption { top: 61% !important; font-size: 7px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) { min-height: 228px !important; margin-top: 12px !important; padding: 17px 20px 15px !important; }

    .container .rb-phone-home .rb-phone-chart-grid,
    .container .rb-phone-home .rb-phone-chart-fill { display: none !important; }
    .container .rb-phone-home .rb-phone-chart-green,
    .container .rb-phone-home .rb-phone-chart-blue { fill: none !important; stroke-width: 2.8 !important; opacity: 1 !important; }
    .container .rb-phone-home .rb-phone-violation-chart { opacity: 1 !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value::before { content: none !important; display: none !important; }
}

@media screen and (max-width: 390px) {
    .rb-phone-header { width: calc(100% - 28px) !important; margin-right: 14px !important; margin-left: 14px !important; gap: 6px !important; }
    .rb-phone-brand { gap: 1px !important; font-size: 18px !important; }
    .rb-phone-brand-mark { width: 46px !important; height: 46px !important; flex-basis: 46px !important; }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span { font-size: 18px !important; }
    .rb-phone-notifications { flex-basis: 25px !important; width: 25px !important; }
    .rb-phone-avatar { width: 38px !important; height: 38px !important; flex-basis: 38px !important; }
}

/* v27: final home-page geometry from the phone reference.  This block is
   intentionally last so it wins over the older mobile tuning layers. */
@media screen and (max-width: 760px) {
    .rb-phone-header {
        width: calc(100% - 32px) !important;
        max-width: 398px !important;
        min-width: 0 !important;
        margin: 0 16px 12px !important;
        padding: 0 !important;
        gap: 8px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    .rb-phone-brand {
        min-width: 0 !important;
        flex: 1 1 auto !important;
        gap: 2px !important;
        overflow: visible !important;
        font-size: 19px !important;
        font-weight: 760 !important;
        letter-spacing: -.55px !important;
        white-space: nowrap !important;
    }
    .rb-phone-brand-mark {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
        margin: 0 !important;
        object-fit: contain !important;
    }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span {
        min-width: 0 !important;
        font-size: 19px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    .rb-phone-notifications {
        flex: 0 0 27px !important;
        width: 27px !important;
        height: 40px !important;
    }
    .rb-phone-avatar {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    .rb-phone-home .rb-topbar {
        margin-bottom: 8px !important;
    }
    .rb-phone-home .rb-greeting h1,
    body:has(.rb-phone-home) .rb-greeting h1 {
        font-size: clamp(19px, 5.1vw, 22px) !important;
        line-height: 1.12 !important;
        letter-spacing: -.45px !important;
    }
    .rb-phone-home .rb-greeting p {
        margin-top: 5px !important;
        font-size: 14px !important;
        line-height: 1.28 !important;
    }

    /* Three equal, compact squares in one row. */
    .rb-phone-home .rb-kpi-grid {
        gap: 8px !important;
        margin-top: 0 !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        padding: 11px 9px !important;
        border-radius: 14px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head {
        font-size: 10px !important;
        line-height: 1.12 !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head .quiet {
        margin-top: 4px !important;
        font-size: 10px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-value,
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-kpi-value {
        margin-top: 9px !important;
        font-size: 28px !important;
        line-height: 1 !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-sparkline {
        height: 28px !important;
        margin-top: 9px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+2) .rb-progress {
        height: 6px !important;
        margin-top: 8px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-kpi-value small {
        font-size: 14px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring {
        width: 76px !important;
        height: 76px !important;
        margin: 10px auto 0 !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-track,
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-progress {
        stroke-width: 7 !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number {
        font-size: 20px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number small {
        font-size: 11px !important;
    }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption {
        top: 61% !important;
        font-size: 7px !important;
    }

    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) {
        min-height: 228px !important;
        margin-top: 12px !important;
        padding: 17px 20px 15px !important;
    }

    /* Exactly two visible chart strokes: no grid, area, or ghost series. */
    .container .rb-phone-home .rb-phone-chart-grid,
    .container .rb-phone-home .rb-phone-chart-fill {
        display: none !important;
    }
    .container .rb-phone-home .rb-phone-chart-green,
    .container .rb-phone-home .rb-phone-chart-blue {
        fill: none !important;
        stroke-width: 2.8 !important;
        opacity: 1 !important;
    }
    .container .rb-phone-home .rb-phone-violation-chart {
        opacity: 1 !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value::before {
        content: none !important;
        display: none !important;
    }
}

@media screen and (max-width: 390px) {
    .rb-phone-header {
        width: calc(100% - 28px) !important;
        margin-right: 14px !important;
        margin-left: 14px !important;
        gap: 6px !important;
    }
    .rb-phone-brand {
        gap: 1px !important;
        font-size: 18px !important;
    }
    .rb-phone-brand-mark {
        width: 46px !important;
        height: 46px !important;
        flex-basis: 46px !important;
    }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span {
        font-size: 18px !important;
    }
    .rb-phone-notifications {
        flex-basis: 25px !important;
        width: 25px !important;
    }
    .rb-phone-avatar {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
    }
}

/* Native mobile treatment for the current reports settings page. Keep every
   existing form, share mode, export action and history entry in the document. */
@media screen and (max-width: 760px) {
    .rb-phone-report-overview { display: block; margin: 0 0 14px; color: #f6f8fc; }
    .rb-phone-report-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin: 0 0 12px; }
    .rb-phone-report-tabs a { min-height: 42px; display: grid; place-items: center; padding: 5px; border: 1px solid #1c3450; border-radius: 11px; background: #0b1726; color: #a8bbd5; font-size: 12px; line-height: 1.1; text-align: center; text-decoration: none; }
    .rb-phone-report-tabs a.is-active { border-color: #216bff; background: #216bff; color: #fff; }
    .rb-phone-report-period { width: max-content; min-height: 40px; display: flex; align-items: center; gap: 7px; margin: 0 0 11px auto; padding: 0 10px; border: 1px solid #1c3450; border-radius: 11px; background: #0b1726; color: #9dbbe2; }
    .rb-phone-report-period select { width: 94px; min-height: 38px; padding: 0; border: 0; outline: 0; appearance: none; background: transparent; color: #dce7f7; font-size: 12px !important; }
    .rb-phone-report-period span { pointer-events: none; }
    .rb-phone-report-hero { min-height: 170px; display: grid; grid-template-columns: minmax(0,1fr) 135px; align-items: center; gap: 0; margin-bottom: 14px; padding: 14px; overflow: hidden; border: 1px solid #1c3450; border-radius: 15px; background-color: #0b1726; background-image: linear-gradient(rgba(37,83,137,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(37,83,137,.12) 1px,transparent 1px),linear-gradient(120deg,#0b1726,#0d1c30); background-size: 24px 24px,24px 24px,auto; }
    .rb-phone-report-hero-copy { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
    .rb-phone-report-hero > span { color: #9dbbe2; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
    .rb-phone-report-hero h2 { max-width: 22em; margin: 0; color: #f6f8fc; font-size: 21px; line-height: 1.2; }
    .rb-phone-report-hero p { max-width: 28em; margin: 0; color: #9aaac3; font-size: 13px; line-height: 1.4; }
    .rb-phone-report-art { width: 150px; max-width: none; height: 140px; margin-left: -15px; }
    .rb-phone-report-title { margin: 0 0 9px; color: #f6f8fc; font-size: 20px; }
    .rb-phone-report-kpis { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .rb-phone-report-kpis article { min-width: 0; min-height: 98px; display: flex; flex-direction: column; gap: 6px; padding: 11px; border: 1px solid #1c3450; border-radius: 13px; background: #0d1a2a; }
    .rb-phone-report-kpis article > span { color: #9aaac3; font-size: 12px; line-height: 1.2; }
    .rb-phone-report-kpis article > strong { color: #f6f8fc; font-size: clamp(19px,5vw,25px); font-weight: 750; line-height: 1.08; overflow-wrap: anywhere; }
    .rb-phone-report-kpis article > strong.is-positive { color: #00e58b; }
    .rb-phone-report-kpis article > strong.is-negative { color: #ff5364; }
    .rb-phone-report-kpis article > small { color: #879bb8; font-size: 10px; line-height: 1.25; }
    .rb-phone-report-disclaimer { margin: 9px 0; color: #9aaac3; font-size: 11px; line-height: 1.35; text-align: center; }
    .rb-phone-report-open-form { margin: 0; }
    .rb-phone-report-open { width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #216bff; border-radius: 11px; background: #216bff; color: #fff; font-size: 14px; font-weight: 700; }
    .reports-page #rb-phone-report-schedule,
    .reports-page #rb-phone-report-public,
    .reports-page #rp-metric-settings,
    .reports-page #rb-phone-report-generate { scroll-margin-top: 18px; }

    .container .reports-page {
        --rp-card: #0d1a2a;
        --rp-line: #1c3450;
        --rp-text: #f6f8fc;
        --rp-muted: #9aaac3;
        --rp-blue: #216bff;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 0 14px;
        color: var(--rp-text);
    }

    .container .reports-page :is(.rp-head, .rp-share-head) {
        align-items: flex-start;
        gap: 10px;
        margin: 0 0 14px;
    }

    .container .reports-page .rp-head h1 { font-size: 27px; line-height: 1.2; letter-spacing: -.45px; }
    .container .reports-page .rp-head p { margin-top: 4px; color: #9aaac3; font-size: 14px; line-height: 1.4; }
    .container .reports-page .rp-grid { grid-template-columns: minmax(0, 1fr); gap: 11px; }
    .container .reports-page .rp-card { min-width: 0; padding: 14px; border: 1px solid #1c3450; border-radius: 15px; background: #0d1a2a; box-shadow: none; }
    .container .reports-page .rp-card h2 { margin-bottom: 12px; font-size: 17px; line-height: 1.25; }
    .container .reports-page .rp-metrics,
    .container .reports-page .rp-public-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .container .reports-page .rp-metric,
    .container .reports-page .rp-public-option { min-width: 0; min-height: 62px; gap: 8px; padding: 9px; border-color: #1c3450; border-radius: 11px; color: #e6edf7; font-size: 12px; line-height: 1.3; }
    .container .reports-page .rp-metric small,
    .container .reports-page .rp-public-option small { font-size: 10px; line-height: 1.35; }
    .container .reports-page .rp-fields,
    .container .reports-page .rp-share-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .reports-page .rp-field { min-width: 0; margin-bottom: 11px; }
    .container .reports-page .rp-field :is(label, select, input) { font-size: 12px; }
    .container .reports-page .rp-field :is(select, input),
    .container .reports-page .rp-share-field input { height: 42px; border-color: #294360; border-radius: 10px; background: #091522; color: #f1f5fb; }
    .container .reports-page .rp-toggle { min-height: 44px; margin: 5px 0; padding: 8px 0; color: #dce6f5; font-size: 13px; }
    .container .reports-page .rp-button,
    .container .reports-page .rp-share-button { min-height: 44px; border-radius: 11px; font-size: 12px; }
    .container .reports-page .rp-note,
    .container .reports-page .rp-privacy { color: #9aaac3; font-size: 11px; line-height: 1.45; }
    .container .reports-page .rp-share { margin-top: 11px; }
    .container .reports-page .rp-share-head { flex-direction: row; justify-content: space-between; padding-bottom: 12px; }
    .container .reports-page .rp-share-head h2 { margin: 5px 0; }
    .container .reports-page .rp-share-head p { color: #9aaac3; font-size: 12px; line-height: 1.4; }
    .container .reports-page .rp-status-pill { flex: 0 0 auto; font-size: 9px; }
    .container .reports-page .rp-share-switch { gap: 10px; margin-bottom: 12px; padding: 11px; border-color: #1c3450; }
    .container .reports-page .rp-share-mode-content { min-height: 86px; gap: 8px; padding: 10px; border-color: #1c3450; border-radius: 11px; }
    .container .reports-page .rp-share-mode-content i { width: 29px; height: 29px; flex-basis: 29px; }
    .container .reports-page .rp-share-mode-content small { font-size: 10px; }
    .container .reports-page .rp-share-link { margin-top: 13px; padding-top: 13px; }
    .container .reports-page .rp-share-link-row { grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
    .container .reports-page .rp-share-link-row input { grid-column: 1 / -1; }
    .container .reports-page .rp-form-actions { flex-wrap: wrap; gap: 7px; }
    .container .reports-page .rp-report { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; padding: 12px 0; }
    .container .reports-page .rp-report > div { grid-column: auto; min-width: 0; }
    .container .reports-page .rp-report small { font-size: 10px; line-height: 1.35; }
    .container .reports-page .rp-link { font-size: 11px; white-space: nowrap; }
}

@media screen and (min-width: 761px) {
    .rb-phone-report-overview { display: none !important; }
}

@media screen and (max-width: 350px) {
    .rb-phone-report-tabs { gap: 4px; }
    .rb-phone-report-tabs a { font-size: 10px; }
    .rb-phone-report-kpis { grid-template-columns: minmax(0,1fr); }
    .rb-phone-report-hero { grid-template-columns: minmax(0,1fr); }
    .rb-phone-report-art { display: none; }
}

/* RISKBLOCK_PHONE_HOME_HEADER_FIX_V1 — контрастный логотип и аккаунт */
@media screen and (max-width: 760px) {
    .rb-phone-home .rb-phone-brand {
        gap: 8px;
        font-size: 22px;
        font-weight: 820;
        letter-spacing: -.7px;
    }
    .rb-phone-home .rb-phone-brand > span:last-child {
        font-size: 22px;
        line-height: 1;
    }
    .rb-phone-home .rb-phone-brand-mark {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        object-fit: contain;
    }
    .rb-phone-home .rb-phone-avatar {
        cursor: pointer;
        color: #f8fbff !important;
        text-decoration: none !important;
        transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
    }
    .rb-phone-home .rb-phone-avatar:active { transform: scale(.96); }
    .rb-phone-home .rb-phone-avatar:focus-visible {
        outline: 2px solid #2F6BFF;
        outline-offset: 3px;
    }
    html[data-theme="light"] .rb-phone-home .rb-phone-avatar {
        border-color: #315473 !important;
        background: #091522 !important;
        color: #ffffff !important;
        box-shadow: 0 5px 14px rgba(15, 35, 64, .12);
    }
    html[data-theme="light"] .rb-phone-home .rb-phone-brand-mark {
        filter: none !important;
    }
}

@media screen and (max-width: 390px) {
    .rb-phone-home .rb-phone-brand,
    .rb-phone-home .rb-phone-brand > span:last-child { font-size: 20px; }
    .rb-phone-home .rb-phone-brand-mark { width: 31px; height: 31px; flex-basis: 31px; }
}

/* The shared phone header is a sibling of .rb-phone-home in base.html.
   Scope these rules through body:has() so the header receives the same
   mobile treatment as the home page. */
@media screen and (max-width: 760px) {
    body:has(.rb-phone-home) .rb-phone-header {
        min-height: 52px;
        gap: 9px;
        margin-bottom: 12px;
    }
    body:has(.rb-phone-home) .rb-phone-brand {
        gap: 8px;
        font-size: 24px !important;
        font-weight: 820 !important;
        letter-spacing: -.7px !important;
    }
    body:has(.rb-phone-home) .rb-phone-brand > span:last-child {
        font-size: 24px !important;
        line-height: 1 !important;
    }
    body:has(.rb-phone-home) .rb-phone-brand-mark {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
        object-fit: contain;
    }
    body:has(.rb-phone-home) .rb-phone-avatar {
        display: grid;
        place-items: center;
        cursor: pointer;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-decoration: none !important;
        transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
    }
    body:has(.rb-phone-home) .rb-phone-avatar:active { transform: scale(.96); }
    body:has(.rb-phone-home) .rb-phone-avatar:focus-visible {
        outline: 2px solid #2F6BFF;
        outline-offset: 3px;
    }
    html[data-theme="light"] body:has(.rb-phone-home) .rb-phone-account-status {
        border-color: #315473 !important;
        background: #091522 !important;
        color: #00D9A5 !important;
        -webkit-text-fill-color: #00D9A5 !important;
        box-shadow: 0 5px 14px rgba(15, 35, 64, .12);
    }
    html[data-theme="light"] body:has(.rb-phone-home) .rb-phone-account-status svg {
        stroke: #9EC0E9 !important;
    }
    html[data-theme="light"] body:has(.rb-phone-home) .rb-phone-avatar {
        border-color: #315473 !important;
        background: #091522 !important;
        color: #FFFFFF !important;
        box-shadow: 0 5px 14px rgba(15, 35, 64, .12);
    }
    html[data-theme="light"] body:has(.rb-phone-home) .rb-phone-brand > span:first-child {
        color: #111827 !important;
    }
    html[data-theme="light"] body:has(.rb-phone-home) .rb-phone-brand > span:last-child > span {
        color: #2F6BFF !important;
    }
    body:has(.rb-phone-home) .rb-greeting h1 {
        font-size: clamp(20px, 5.6vw, 23px) !important;
        letter-spacing: -.55px !important;
    }
}

@media screen and (max-width: 390px) {
    body:has(.rb-phone-home) .rb-phone-brand,
    body:has(.rb-phone-home) .rb-phone-brand > span:last-child { font-size: 22px !important; }
    body:has(.rb-phone-home) .rb-phone-brand-mark { width: 31px !important; height: 31px !important; flex-basis: 31px !important; }
}

/* v19 final cascade overrides */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-phone-chart-legend {
        margin-top: 13px !important;
        transform: translateY(4px) !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value::before {
        content: none !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .label,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label,
    .container .rb-phone-home .rb-section-title {
        color: var(--rb-phone-white) !important;
    }
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head,
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .label,
    html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label,
    html[data-theme="light"] .rb-phone-home .rb-section-title {
        color: #151820 !important;
    }
}

/* v20: the mobile page must inherit the laptop theme instead of forcing the
   dark shell around a light content area. */
html[data-theme="light"] body:has(.rb-phone-home),
html[data-theme="light"] body:has(.rb-phone-home) .container,
html[data-theme="light"] .rb-phone-home,
html[data-theme="light"] .rb-phone-home .rb-main,
html[data-theme="light"] .rb-phone-home .rb-topbar {
    background: #f0f2f6 !important;
    color: #151820 !important;
}
html[data-theme="light"] .rb-phone-home .rb-greeting h1,
html[data-theme="light"] .rb-phone-home .rb-section-title,
html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head,
html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .label,
html[data-theme="light"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label {
    color: #151820 !important;
}
html[data-theme="light"] .rb-phone-home .rb-greeting p,
html[data-theme="light"] .rb-phone-home .rb-card-head,
html[data-theme="light"] .rb-phone-home .rb-card-head .quiet,
html[data-theme="light"] .rb-phone-home .rb-loss-label,
html[data-theme="light"] .rb-phone-home .rb-balance-stat span,
html[data-theme="light"] .rb-phone-home .rb-currency,
html[data-theme="light"] .rb-phone-home .rb-control-text,
html[data-theme="light"] .rb-phone-home .rb-phone-chart-legend {
    color: #687282 !important;
}
html[data-theme="light"] .rb-phone-home .rb-check-item {
    color: #343b48 !important;
}
html[data-theme="light"] .rb-phone-home .rb-phone-add-metrics {
    color: #4e5868 !important;
}

html[data-theme="gray"] body:has(.rb-phone-home),
html[data-theme="gray"] body:has(.rb-phone-home) .container,
html[data-theme="gray"] .rb-phone-home,
html[data-theme="gray"] .rb-phone-home .rb-main,
html[data-theme="gray"] .rb-phone-home .rb-topbar {
    background: #202329 !important;
}
html[data-theme="gray"] .rb-phone-home .rb-greeting h1,
html[data-theme="gray"] .rb-phone-home .rb-section-title,
html[data-theme="gray"] .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head {
    color: #f1f2f4 !important;
}

/* v17: deterministic mobile home order.
   The desktop page uses a grid with auto-placement. On a phone that allowed
   the optional metrics section to jump above the primary KPI row. The mobile
   layout is an explicit wrapped flex sequence instead. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-main {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        align-content: flex-start !important;
        column-gap: 10px !important;
        row-gap: 11px !important;
        padding-bottom: calc(108px + env(safe-area-inset-bottom)) !important;
    }

    .container .rb-phone-home .rb-main > .rb-topbar,
    .container .rb-phone-home .rb-main > .rb-guest-banner,
    .container .rb-phone-home .rb-main > .rb-kpi-grid,
    .container .rb-phone-home .rb-main > .rb-phone-add-metrics,
    .container .rb-phone-home .rb-main > .rb-custom-section {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
    .container .rb-phone-home .rb-main > .rb-topbar { order: 0 !important; }
    .container .rb-phone-home .rb-main > .rb-guest-banner { order: 1 !important; }
    .container .rb-phone-home .rb-main > .rb-kpi-grid { order: 2 !important; }

    /* middle/lower wrappers become transparent so their cards participate in
       the same explicit sequence while retaining the two-column card rows. */
    .container .rb-phone-home .rb-main > :is(.rb-middle-grid, .rb-lower-grid) {
        display: contents !important;
    }
    .container .rb-phone-home .rb-middle-grid > .rb-section-card:first-child {
        order: 3 !important;
        width: 100% !important;
        flex: 0 0 100% !important;
    }
    .container .rb-phone-home .rb-middle-grid > .rb-balance-card,
    .container .rb-phone-home .rb-lower-grid > .rb-control-card {
        width: calc((100% - 10px) / 2) !important;
        flex: 0 0 calc((100% - 10px) / 2) !important;
    }
    .container .rb-phone-home .rb-middle-grid > .rb-balance-card { order: 4 !important; }
    .container .rb-phone-home .rb-lower-grid > .rb-control-card { order: 5 !important; }
    .container .rb-phone-home .rb-lower-grid > .rb-journal-card { display: none !important; }
    .container .rb-phone-home .rb-main > .rb-phone-add-metrics { order: 6 !important; }
    .container .rb-phone-home .rb-main > .rb-custom-section { order: 7 !important; }

    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section {
        display: block !important;
        color: #f4f7fc !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section h2,
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section .rb-custom-head h2 {
        color: #f4f7fc !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section p,
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-meta,
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card-group {
        color: #9eacc2 !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card {
        background: linear-gradient(145deg, #101d2d, #0b1523) !important;
        border-color: #26364d !important;
        color: #f4f7fc !important;
    }

    @media (max-width: 350px) {
        .container .rb-phone-home .rb-middle-grid > .rb-balance-card,
        .container .rb-phone-home .rb-lower-grid > .rb-control-card {
            width: 100% !important;
            flex-basis: 100% !important;
        }
    }
}

@media screen and (max-width: 390px) {
    .container .reports-page .rp-metrics,
    .container .reports-page .rp-public-grid,
    .container .reports-page .rp-fields,
    .container .reports-page .rp-share-modes { grid-template-columns: minmax(0, 1fr); }
    .container .reports-page .rp-share-head { flex-direction: column; }
}

/* v10: page-level mobile compositions tuned against the supplied 390 px refs.
   Rules are intentionally page-scoped; the accepted partner screen is untouched. */
@media screen and (max-width: 760px) {
    body:has(.rb-app) .container,
    body:has(.analytics-page) .container,
    body:has(.journal-page) .container,
    body:has(.rbpsy) .container,
    body:has(.rb-connections) .container,
    body:has(.strategy-page) .container,
    body:has(.top-page) .container,
    body:has(.rb-reports-page) .container,
    body:has(.reports-page) .container { padding-right:16px !important; padding-left:16px !important; }

    /* HOME — three live summary cards, then the comparison and the full feature set. */
    body:has(.rb-app) { background: #03080f !important; }
    .container .rb-app { width: 100% !important; color: #f4f7fc; }
    .container .rb-app .rb-mobile-topbar { display: none !important; }
    .container .rb-app .rb-main { display: grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:11px; width: 100%; max-width: none; margin: 0; padding: 0 0 18px; }
    .container .rb-app .rb-topbar { order: 0; min-height: 0; align-items: flex-start; margin: 0 0 14px; }
    .container .rb-app .rb-greeting h1 { color: #f6f8fc; font-size: clamp(21px, 5.8vw, 25px); line-height: 1.2; letter-spacing: -.35px; }
    .container .rb-app .rb-greeting p { max-width: 34em; margin-top: 5px; color: #9aaac3; font-size: 14px; line-height: 1.4; }
    .container .rb-app .rb-guest-banner { display: none !important; }
    .container .rb-app .rb-topbar,
    .container .rb-app .rb-kpi-grid,
    .container .rb-app .rb-guest-banner,
    .container .rb-app .rb-custom-section { grid-column:1 / -1; }
    .container .rb-app :is(.rb-middle-grid,.rb-lower-grid) { display:contents; }
    .container .rb-app .rb-section-card:not(.rb-balance-card) { grid-column:1 / -1; }
    .container .rb-app .rb-balance-card { grid-column:1; }
    .container .rb-app .rb-control-card { grid-column:2; }
    .container .rb-app .rb-journal-card { grid-column:1 / -1; }
    .container .rb-app .rb-kpi-grid { order: 1; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 9px !important; margin: 0 0 12px; }
    .container .rb-app .rb-kpi-card { min-width: 0; min-height: 184px !important; padding: 12px 10px !important; border: 1px solid #1c2d43; border-radius: 15px; background: linear-gradient(145deg,#0d1928,#091421); }
    .container .rb-app .rb-kpi-card .rb-card-head { align-items: flex-start; min-height: 32px; color: #a9bad3; font-size: 9px; line-height: 1.3; }
    .container .rb-app .rb-kpi-card .rb-card-head .quiet { font-size: 9px; white-space: nowrap; }
    .container .rb-app .rb-static-badge { display: none; }
    .container .rb-app .rb-kpi-value { margin-top: 9px; font-size: clamp(22px, 6vw, 28px) !important; line-height: 1.05; letter-spacing: -.6px; white-space: nowrap; overflow-wrap: normal; }
    .container .rb-app .rb-kpi-value small { font-size: 14px; }
    .container .rb-app .rb-sparkline { height: 39px; margin-top: 7px; }
    .container .rb-app .rb-progress { height: 7px; margin-top: 11px; }
    .container .rb-app .rb-kpi-foot { justify-content: flex-start; margin-top: 9px; color: #9aaac3; font-size: 10px; line-height: 1.25; }
    .container .rb-app .rb-discipline { padding-top: 0; }
    .container .rb-app .rb-ring { width: 91px; max-width: 100%; height: 91px; margin-top: 4px; }
    .container .rb-app .rb-ring-number { color: #3f7bff; font-size: 23px; }
    .container .rb-app .rb-ring-caption { color: #9aaac3; font-size: 10px; }
    .container .rb-app .rb-discipline-meta { gap: 8px; margin-top: 7px; color: #91a4c0; font-size: 9px; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) { grid-column: 1 / -1; min-height: 182px !important; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-content: start; gap: 0 12px; padding: 15px !important; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head { grid-column: 1 / -1; min-height: 23px; font-size: 11px; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid { grid-column: 1; grid-row: 2; grid-template-columns: 1fr 1fr; gap: 9px; margin: 5px 0 0; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid .label,
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label { color: #9aaac3; font-size: 11px; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid .value { margin-top: 5px; color: #3f7bff; font-size: 23px; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss { grid-column: 1; grid-row: 3; margin: 10px 0 0; padding-top: 8px; border-color: #1b2b3e; text-align: left; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value { margin-top: 3px; font-size: 23px; }
    .container .rb-app :is(.rb-middle-grid,.rb-lower-grid) { grid-template-columns: minmax(0,1fr) !important; gap: 11px; margin: 0; }
    .container .rb-app .rb-section-card,
    .container .rb-app .rb-journal-card,
    .container .rb-app .rb-control-card { min-width: 0; padding: 14px; border: 1px solid #1c2d43; border-radius: 15px; background-color: #0b1726; }
    .container .rb-app .rb-section-title { margin-bottom: 10px; color: #a9bad3; font-size: 12px; }
    .container .rb-app .rb-section-title a { font-size: 12px; }
    .container .rb-app .rb-checklist { gap: 7px; }
    .container .rb-app .rb-check-item { min-height: 46px; gap: 10px; padding: 0 11px; border-color: #20324a; border-radius: 10px; background: #0d1a2a; color: #d6e0ef; font-size: 13px; }
    .container .rb-app .rb-balance-card { min-height: 208px; }
    .container .rb-app .rb-balance-content { width: 100%; }
    .container .rb-app .rb-balance-amount { margin-top: 12px; font-size: 29px; }
    .container .rb-app .rb-currency { font-size: 12px; }
    .container .rb-app .rb-balance-stat span { font-size: 11px; }
    .container .rb-app .rb-balance-stat strong { font-size: 14px; }
    .container .rb-app .rb-wallet-art { display: none; }
    .container .rb-app .rb-control-card { min-height: 208px; }
    .container .rb-app .rb-control-title { font-size: 14px; }
    .container .rb-app .rb-control-text { font-size: 13px; line-height: 1.4; }
    .container .rb-app .rb-primary-action { width: 100%; min-width: 0; min-height: 46px; height: auto; margin-top: 12px; font-size: 13px; }
    .container .rb-app .rb-custom-section { margin-top: 0; padding: 14px; border-color: #1c2d43; border-radius: 15px; background: #0b1726; }
    .container .rb-app .rb-custom-head h2 { font-size: 16px; }
    .container .rb-app .rb-custom-head p { font-size: 12px; line-height: 1.4; }
    .container .rb-app .rb-custom-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .container .rb-app .rb-custom-card { min-height: 130px; padding: 11px; border-radius: 12px; }
    .container .rb-app .rb-custom-card.is-chart { grid-column: 1 / -1; min-height: 180px; }
    .container .rb-app .rb-custom-card-label { font-size: 11px; }
    .container .rb-app .rb-custom-value { margin-top: 14px; font-size: 24px; }
    .container .rb-app .rb-custom-meta { font-size: 11px; }

    /* ANALYTICS — the four live indicators lead; the cumulative chart follows them. */
    body:has(.analytics-page) { --bg-page:#03080f; --bg-card:#0d1928; --bg-input:#0b1726; --border:#1c2d43; --text-primary:#f4f7fc; --text-secondary:#9aaac3; }
    .container .analytics-page { display:flex; flex-direction:column; gap:0; width:100%; max-width:none; min-height:0; margin:0; padding:0 0 14px; background:transparent !important; color:#f4f7fc; }
    .container .analytics-page .analytics-header { order:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; margin:0 0 13px; }
    .container .analytics-page .analytics-header .title-group h1 { color:#f6f8fc; font-size:27px; line-height:1.15; letter-spacing:-.45px; }
    .container .analytics-page .analytics-header .title-group p { color:#9aaac3 !important; font-size:14px !important; line-height:1.35; }
    .container .analytics-page .analytics-header .period-selector { grid-column:1 / -1; display:flex; justify-content:space-between; width:100%; max-width:none; gap:4px; margin:0; padding:4px; overflow-x:auto; border:1px solid #1c3450; border-radius:13px; background:#0b1726; }
    .container .analytics-page .analytics-header .period-selector > * { min-height:40px; display:flex; flex:1 0 auto; align-items:center; justify-content:center; padding:0 9px; border-radius:9px; color:#aabbd4; font-size:13px; white-space:nowrap; }
    .container .analytics-page .analytics-header .period-selector > *.active { background:#216bff; color:#fff; }
    .container .analytics-page .kpi-grid { order:1; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px; margin:0 0 12px; }
    .container .analytics-page .kpi-card { min-width:0; min-height:204px; padding:14px; border:1px solid #1c2d43; border-radius:16px; background:linear-gradient(150deg,#0d1928,#091421); box-shadow:none; }
    .container .analytics-page .kpi-label { color:#a9bad3; font-size:11px; line-height:1.35; letter-spacing:.04em; }
    .container .analytics-page .kpi-value { margin-top:8px; font-size:clamp(25px,7vw,33px); line-height:1.08; }
    .container .analytics-page .kpi-result .mini-chart { height:58px; margin-top:7px; }
    .container .analytics-page .kpi-sub { margin-top:5px; color:#a9bad3; font-size:12px; line-height:1.3; }
    .container .analytics-page .kpi-control { grid-template-columns:minmax(0,1fr); justify-items:center; gap:7px; margin-top:8px; }
    .container .analytics-page .ring-wrapper { width:105px; height:105px; }
    .container .analytics-page .ring-wrapper .score { font-size:28px; }
    .container .analytics-page .control-badges { width:100%; display:flex; justify-content:center; flex-wrap:wrap; gap:5px; }
    .container .analytics-page .control-badges > * { padding:5px 7px; font-size:10px; }
    .container .analytics-page .v-rows { gap:0; margin-top:6px; }
    .container .analytics-page .v-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; padding:8px 0; border-bottom:1px solid #1c2d43; }
    .container .analytics-page .v-label { color:#9aaac3; font-size:12px; }
    .container .analytics-page .v-value { font-size:18px; }
    .container .analytics-page .v-period { margin-top:7px; color:#9aaac3; font-size:11px; }
    .container .analytics-page .kpi-ai .ai-icon { color:#2581ff; font-size:24px; }
    .container .analytics-page .ai-label { color:#9db9df; font-size:11px; text-transform:uppercase; }
    .container .analytics-page .ai-text { margin-top:10px; color:#f4f7fc; font-size:16px; line-height:1.4; }
    .container .analytics-page .ai-btn { min-height:38px; margin-top:8px; font-size:12px; }
    .container .analytics-page .expectancy-row { display:contents; }
    .container .analytics-page .cumulative-card { order:2; min-width:0; min-height:282px; margin:0 0 12px; padding:15px; border:1px solid #1c2d43; border-radius:16px; background:#0d1928; }
    .container .analytics-page .cumulative-head { flex-wrap:wrap; gap:7px; }
    .container .analytics-page .cumulative-head h3 { color:#f4f7fc; font-size:18px; }
    .container .analytics-page .cumulative-head p { color:#9aaac3; font-size:13px; }
    .container .analytics-page .cumulative-legend { flex-wrap:wrap; gap:8px; font-size:10px; }
    .container .analytics-page .cumulative-canvas { min-height:205px; }
    .container .analytics-page .violation-price-card { order:3; min-width:0; margin:0 0 12px; padding:14px; border:1px solid #1c2d43; border-radius:16px; background:#0d1928; }
    .container .analytics-page .violation-price-card .card-title { margin-bottom:10px; color:#9db9df; font-size:12px; letter-spacing:.05em; text-transform:uppercase; }
    .container .analytics-page #violationBars { display:grid; gap:9px; }
    .container .analytics-page .vp-item { display:grid; grid-template-columns:125px minmax(0,1fr) 37px; align-items:center; gap:7px; }
    .container .analytics-page .vp-label { color:#e3ebf7; font-size:12px; line-height:1.25; }
    .container .analytics-page .vp-bar { height:12px; border-radius:99px; background:#1a2a3e; }
    .container .analytics-page .vp-cost { color:#f4f7fc; font-size:12px; text-align:right; }
    .container .analytics-page .row-2 { order:4; grid-template-columns:minmax(0,1fr) !important; gap:10px; margin:0 0 12px; }
    .container .analytics-page .row-3 { display:contents; }
    .container .analytics-page .row-3 > :not(.violation-price-card) { order:6; }
    .container .analytics-page :is(.row-4,.row-5,.row-6,.row-7) { order:6; grid-template-columns:minmax(0,1fr) !important; gap:10px; margin:0 0 12px; }
    .container .analytics-page .expectancy-card { order:7; min-width:0; padding:14px; border:1px solid #1c2d43; border-radius:16px; background:#0d1928; }
    .container .analytics-page :is(.chart-card,.ai-coach-card,.compare-card,.stats-card,.heatmap-card,.sym-card,.trades-card) { min-width:0; padding:14px; border:1px solid #1c2d43; border-radius:15px; background:#0d1928; }
    .container .analytics-page .chart-card .chart-wrapper { min-height:220px; }
    .container .analytics-page .chart-card .chart-legend { flex-wrap:wrap; gap:8px; font-size:11px; }
    .container .analytics-page .trades-card { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .container .analytics-page .trades-card :is(.trade-row,.trade-header) { min-width:560px; }

    /* JOURNAL — compact three-column trade summaries with the desktop details intact. */
    body:has(.journal-page) { --bg-page:#03080f; --bg-card:#0d1928; --bg-input:#0b1726; --border-color:#1c2d43; --border-color-strong:#29415f; --text-primary:#f4f7fc; --text-secondary:#9aaac3; --text-muted:#7188a8; }
    .container .journal-page { width:100%; max-width:none; min-height:0; margin:0; padding:0 0 14px !important; background:transparent !important; color:#f4f7fc; }
    .container .journal-header { align-items:center; margin:0 0 13px; gap:8px; }
    .container .journal-header .title-group h1 { color:#f6f8fc; font-size:27px; line-height:1.15; }
    .container .journal-header .title-group p { margin-top:4px; color:#9aaac3; font-size:14px; opacity:1; }
    .container .journal-header .header-actions { width:auto; }
    .container .journal-header .header-actions .filter-btn { min-height:42px; padding:0 11px; border-color:#213650; border-radius:12px; background:#0d1928; color:#bdd0e9; font-size:12px; }
    .container .journal-page .journal-filters { gap:8px; margin:0 0 12px; padding:0; border:0; background:transparent; }
    .container .journal-page .journal-filters .filter-row:first-child { display:flex; flex-wrap:nowrap !important; gap:7px; width:100%; max-width:100%; overflow-x:auto; padding:0 0 3px; scrollbar-width:none; }
    .container .journal-page .journal-filters .filter-row:first-child::-webkit-scrollbar { display:none; }
    .container .journal-page .journal-filters .filter-label,
    .container .journal-page .journal-filters .filter-divider { display:none; }
    .container .journal-page .journal-filters .filter-pill { min-height:42px; flex:0 0 auto; padding:0 15px; border:1px solid #1c2d43; border-radius:14px; background:#0d1928; color:#aebfd7; font-size:13px; }
    .container .journal-page .journal-filters .filter-pill.active { border-color:#00cf88; background:#00cf88; color:#032217; }
    .container .journal-page.rb-filters-expanded .journal-filters .filter-row:first-child { flex-wrap:wrap !important; overflow:visible; }
    .container .journal-page .journal-filters .filter-row:nth-child(2) { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
    .container .journal-page .journal-filters .filter-row:nth-child(2) > div { width:100%; }
    .container .journal-page .journal-filters .search-wrapper { width:100%; max-width:none; height:54px; border:1px solid #20334c; border-radius:14px; background:#0d1928; }
    .container .journal-page .journal-filters .search-wrapper .search-icon { font-size:17px; }
    .container .journal-page .journal-filters .search-wrapper input { height:52px; padding:0 12px; color:#e5edf8; font-size:14px !important; }
    .container .journal-page .journal-filters .search-wrapper input::placeholder { color:#7188a8; }
    .container .journal-page .journal-filters .period-selector { width:100%; justify-content:space-between; gap:5px; margin-top:1px; padding:3px; border:1px solid #1c2d43; border-radius:12px; background:#0b1726; }
    .container .journal-page .journal-filters .period-selector > * { min-height:38px; flex:1 0 auto; justify-content:center; color:#a9bad3; font-size:12px; }
    .container .journal-page .journal-grid { grid-template-columns:minmax(0,1fr) !important; gap:11px; }
    .container .journal-page #tradesList { display:grid; gap:11px; width:100%; min-width:0; }
    .container .journal-page .trade-card { position:relative; min-width:0; max-width:none; padding:13px 13px 10px; overflow:hidden; border:1px solid #1c2d43; border-top:3px solid #00d08a; border-radius:15px; background:linear-gradient(145deg,#0d1928,#091421); }
    .container .journal-page .trade-card:has(.pnl-amount.negative) { border-top-color:#ff5364; }
    .container .journal-page .trade-card .trade-grid { position:relative; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 8px; padding-bottom:9px; border-bottom:1px solid #1c2d43; }
    .container .journal-page .trade-card .trade-col-symbol { grid-column:1; grid-row:1; }
    .container .journal-page .trade-card .trade-col-symbol .symbol-name { color:#f4f7fc; font-size:18px; line-height:1.15; }
    .container .journal-page .trade-card .trade-col-symbol .symbol-meta { margin-top:3px; color:#9aaac3; font-size:11px; }
    .container .journal-page .trade-card .trade-col-pnl { grid-column:2; grid-row:1; }
    .container .journal-page .trade-card .trade-col-pnl .pnl-amount { font-size:23px; line-height:1.15; white-space:nowrap; }
    .container .journal-page .trade-card .trade-col-pnl .pnl-pct { margin-top:2px; font-size:14px; }
    .container .journal-page .trade-card .trade-col-discipline { position:absolute; top:0; right:0; width:56px; height:56px; }
    .container .journal-page .trade-card .trade-col-discipline .discipline-ring { width:56px; height:56px; }
    .container .journal-page .trade-card .trade-col-discipline .discipline-ring .center-text .score { font-size:17px; }
    .container .journal-page .trade-card .trade-col-discipline .discipline-ring .center-text .of { font-size:8px; }
    .container .journal-page .trade-card .trade-col-rr { grid-column:1; grid-row:2; }
    .container .journal-page .trade-card .trade-col-risk { grid-column:2; grid-row:2; }
    .container .journal-page .trade-card .trade-col-checklist { grid-column:3; grid-row:2; }
    .container .journal-page .trade-card :is(.rr-value,.risk-value,.checklist-value) { font-size:19px; line-height:1.15; }
    .container .journal-page .trade-card :is(.rr-label,.risk-label,.checklist-label) { margin-top:3px; color:#9aaac3; font-size:12px; }
    .container .journal-page .trade-card .trade-col-time { grid-column:1 / span 2; display:flex; align-items:center; gap:7px; padding-top:2px; }
    .container .journal-page .trade-card .trade-col-time .time-value { color:#dce6f4; font-size:12px; }
    .container .journal-page .trade-card .trade-col-time .time-range { color:#8ea4c3; font-size:11px; }
    .container .journal-page .trade-card .trade-col-tags { grid-column:3; grid-row:3; min-width:0; padding-top:2px; text-align:right; }
    .container .journal-page .trade-card .trade-col-tags :is(.tag-name,.tag-profit) { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
    .container .journal-page .trade-card .trade-verdict-row { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:7px; padding-top:8px; }
    .container .journal-page .trade-card .verdict-left { min-width:0; display:flex; flex:1; align-items:center; gap:7px; }
    .container .journal-page .trade-card .verdict-icon { width:20px; height:20px; flex:0 0 20px; }
    .container .journal-page .trade-card .verdict-text { color:#a9bad3; font-size:12px; line-height:1.3; }
    .container .journal-page .trade-card .verdict-badges { display:flex; flex-wrap:wrap; gap:4px; }
    .container .journal-page .trade-card .verdict-badges .v-badge { padding:4px 6px; font-size:9px; }
    .container .journal-page .trade-card .trade-verdict-right { width:auto; flex:0 0 auto; gap:5px; justify-content:flex-end; }
    .container .journal-page .trade-card .verdict-date { color:#9aaac3; font-size:11px; white-space:nowrap; }
    .container .journal-page .trade-card .verdict-link { min-height:32px; padding:0 4px; font-size:10px; white-space:nowrap; }
    .container .journal-page .trade-details { padding-top:12px; }
    .container .journal-page .trade-details :is(p,li,label,small) { font-size:13px; line-height:1.45; }

    /* PSYCHOLOGY — restore the candle hero and readable two-by-two evidence cards. */
    body:has(.rbpsy) { --bg-page:#03080f; }
    .container .rbpsy { display:flex; flex-direction:column; width:100%; max-width:none; min-width:0; margin:0; padding:0 0 14px; color:#f4f7fc; }
    .container .rbpsy .psy-header { order:0; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:8px; margin:0 0 12px; }
    .container .rbpsy .psy-eyebrow { display:none; }
    .container .rbpsy .psy-title-row h1 { color:#f6f8fc; font-size:clamp(22px,6vw,27px); line-height:1.16; }
    .container .rbpsy .psy-lead { max-width:34em; margin-top:4px; color:#9aaac3; font-size:14px; line-height:1.35; }
    .container .rbpsy .psy-live-badge { flex:0 0 auto; padding:7px 9px; border:1px solid #1c3450; border-radius:11px; color:#9dbbe2; font-size:10px; }
    .container .rbpsy .psy-toolbar { order:1; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:7px; margin:0 0 10px; }
    .container .rbpsy .psy-filters { display:flex; flex:1 1 180px; flex-wrap:nowrap; align-items:center; gap:7px; }
    .container .rbpsy .psy-filters label { display:flex; flex:1 1 auto; align-items:center; gap:6px; color:#9aaac3; font-size:11px; white-space:nowrap; }
    .container .rbpsy .psy-filters select { min-height:40px; border:1px solid #1c3450; border-radius:10px; background:#0b1726; color:#dce7f7; font-size:13px !important; }
    .container .rbpsy .psy-filters .psy-button { min-height:40px; padding:0 11px; border-radius:10px; font-size:12px; }
    .container .rbpsy .psy-search { flex:1 1 100%; width:100%; }
    .container .rbpsy .psy-search input { min-height:42px; width:100%; border:1px solid #1c3450; border-radius:10px; background:#0b1726; color:#f4f7fc; font-size:14px !important; }
    .container .rbpsy .psy-tabs { order:2; display:flex; gap:7px; width:100%; margin:0 0 11px; padding:0 0 4px; overflow-x:auto; scrollbar-width:none; }
    .container .rbpsy .psy-tabs::-webkit-scrollbar { display:none; }
    .container .rbpsy .psy-tabs a { min-height:42px; flex:0 0 auto; padding:0 15px; border:1px solid #1c2d43; border-radius:13px; background:#0d1928; color:#aebfd7; font-size:13px; white-space:nowrap; }
    .container .rbpsy .psy-tabs a.is-active { border-color:#216bff; background:#216bff; color:#fff; }
    .container .rbpsy .psy-intro { order:3; position:relative; min-height:218px; display:flex !important; align-items:center; margin:0 0 14px; padding:16px; overflow:hidden; border:1px solid #1c3450; border-radius:15px; background-color:#091624; background-image:linear-gradient(rgba(37,83,137,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(37,83,137,.12) 1px,transparent 1px),linear-gradient(120deg,#0b1726,#071421); background-size:28px 28px,28px 28px,auto; }
    .container .rbpsy .psy-intro-copy { position:relative; z-index:2; width:62%; }
    .container .rbpsy .psy-intro-kicker { color:#92b5e5; font-size:11px; letter-spacing:.12em; }
    .container .rbpsy .psy-intro-copy h2 { max-width:14em; margin-top:6px; color:#f5f7fc; font-size:21px; line-height:1.22; }
    .container .rbpsy .psy-intro-copy p { margin-top:8px; color:#9eb9dc; font-size:14px; line-height:1.4; }
    .container .rbpsy .psy-inline-link { min-height:38px; align-items:center; margin-top:7px; color:#70aaff; font-size:12px; }
    .container .rbpsy .psy-intro-visual { position:absolute; top:0; right:0; bottom:0; width:55%; height:100%; display:block !important; opacity:.9; }
    .container .rbpsy .psy-visual-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(46,91,144,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(46,91,144,.17) 1px,transparent 1px); background-size:28px 28px; }
    .container .rbpsy .psy-candles { position:absolute; right:-2%; bottom:8px; width:100%; height:82%; max-width:none; }
    .container .rbpsy .psy-visual-caption { display:none; }
    .container .rbpsy .psy-alert { flex-direction:row; align-items:center; gap:10px; margin:0 0 10px; padding:12px; border-radius:13px; font-size:13px; line-height:1.4; }
    .container .rbpsy .psy-section-head { display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:8px; margin:12px 0 9px; }
    .container .rbpsy .psy-section-kicker { color:#93b6e6; font-size:10px; letter-spacing:.11em; }
    .container .rbpsy .psy-section-head h2 { color:#f4f7fc; font-size:21px; line-height:1.2; }
    .container .rbpsy .psy-section-head p,.container .rbpsy .psy-section-aside { color:#9aaac3; font-size:12px; line-height:1.4; }
    .container .rbpsy .psy-stat-grid,.container .rbpsy .psy-highlights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .container .rbpsy .psy-stat { min-height:146px; padding:13px; border:1px solid #1c2d43; border-radius:15px; background:linear-gradient(145deg,#0d1928,#091421); }
    .container .rbpsy .psy-stat p { margin-top:5px; color:#9db6d7; font-size:13px; line-height:1.3; }
    .container .rbpsy .psy-stat strong { display:block; margin-top:8px; color:#f4f7fc; font-size:32px; line-height:1.05; }
    .container .rbpsy .psy-stat small { display:block; margin-top:6px; color:#9aaac3; font-size:12px; line-height:1.35; }
    .container .rbpsy .psy-stat-feature { border-color:#276fff; background:linear-gradient(145deg,#12284b,#0b1a31); }
    .container .rbpsy .psy-grid-two,.container .rbpsy .psy-rule-grid,.container .rbpsy .psy-review-grid,.container .rbpsy .psy-method-list { grid-template-columns:minmax(0,1fr); gap:10px; }
    .container .rbpsy .psy-card,.container .rbpsy .psy-rule,.container .rbpsy .psy-callout,.container .rbpsy .psy-review-tile { padding:14px; border:1px solid #1c2d43; border-radius:15px; background:#0d1928; }
    .container .rbpsy .psy-card-head { align-items:center; margin-bottom:9px; }
    .container .rbpsy .psy-card-head h3 { color:#edf3fc; font-size:16px; }
    .container .rbpsy .psy-card-head a,.container .rbpsy .psy-muted,.container .rbpsy .psy-caption { color:#9aaac3; font-size:12px; line-height:1.45; }
    .container .rbpsy .psy-donut { max-width:132px; }
    .container .rbpsy .psy-legend { font-size:12px; }
    .container .rbpsy .psy-result-figure { min-height:150px; }
    .container .rbpsy .psy-table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .container .rbpsy .psy-table-scroll table { min-width:700px; }
    .container .rbpsy .psy-table-scroll :is(th,td) { padding:9px; font-size:12px; }
    .container .rbpsy .psy-review-form { grid-template-columns:minmax(0,1fr); gap:8px; }
    .container .rbpsy .psy-review-form :is(select,button) { min-height:44px; font-size:14px; }

    /* CONNECTIONS — the existing exchange modal and Agent controls power the cards. */
    body:has(.rb-connections) { --bg-page:#03080f; }
    .container .rb-connections { width:100%; max-width:none; min-width:0; margin:0; padding:0 0 15px; color:#f4f7fc; }
    .container .rb-connections-hero { position:relative; min-height:0; display:block; margin:0 0 13px; padding:0 150px 0 0; border:0; background:none; box-shadow:none; }
    .container .rb-connections-kicker { color:#6ea5ff; font-size:10px; letter-spacing:.12em; }
    .container .rb-connections-hero h1 { color:#f5f7fc; font-size:28px; line-height:1.15; }
    .container .rb-connections-hero p { margin-top:5px; color:#9aaac3; font-size:14px; line-height:1.4; }
    .container .rb-connections-hero-mark { display:none; }
    .container .rb-connections-hero .rb-phone-readonly { position:absolute; top:0; right:0; min-height:54px; display:flex; align-items:center; gap:8px; padding:0 10px; border:1px solid #16473f; border-radius:13px; background:#081d22; color:#b9d8ec; font-size:12px; white-space:nowrap; }
    .container .rb-phone-readonly i { width:26px; height:26px; display:grid; place-items:center; border-radius:8px; background:#0c3932; color:#00d49c; font-style:normal; }
    .container .rb-connections-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0 0 12px; padding:0; border:0; background:transparent; }
    .container .rb-connections-nav a { min-height:46px; display:grid; place-items:center; padding:5px; border:1px solid #1c2d43; border-radius:12px; background:#0d1928; color:#b5c7df; font-size:12px; line-height:1.2; text-align:center; text-decoration:none; }
    .container .rb-connections-nav a { font-size:0; }
    .container .rb-connections-nav a::after { color:#b5c7df; font-size:12px; }
    .container .rb-connections-nav a:nth-child(1)::after { content:"Биржи и API"; }
    .container .rb-connections-nav a:nth-child(2)::after { content:"Терминалы"; }
    .container .rb-connections-nav a:nth-child(3)::after { content:"Брокеры"; }
    .container .rb-connections-nav a.is-active { border-color:#216bff; background:#216bff; color:#fff; }
    .container .rb-connections-nav a.is-active::after { color:#fff; }
    .container .rb-connections-section { margin:0 0 12px; padding:13px; border:1px solid #1c2d43; border-radius:15px; background:#0b1726; }
    .container .rb-connections-heading { display:block; margin:0 0 10px; }
    .container .rb-connections-heading > div > span { color:#6ea5ff; font-size:10px; letter-spacing:.1em; }
    .container .rb-connections-heading h2 { color:#f2f6fc; font-size:19px; }
    .container .rb-connections-heading p { margin-top:4px; color:#9aaac3; font-size:13px; line-height:1.4; }
    .container .rb-connections-heading .rb-c-btn { display:none; }
    .container .rb-phone-connection-summary { display:block; margin:0 0 10px; padding:0; }
    .container .rb-phone-connection-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 9px; color:#f3f6fc; font-size:15px; }
    .container .rb-phone-connection-title span { min-width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:#10264a; color:#84b4ff; }
    .container .rb-phone-connection-empty { min-height:128px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px; border:1px dashed #2a4565; border-radius:13px; text-align:center; }
    .container .rb-phone-connection-empty i { width:42px; height:42px; display:grid; place-items:center; margin-bottom:7px; border-radius:12px; background:#10244a; color:#3f8cff; font-size:25px; font-style:normal; }
    .container .rb-phone-connection-empty strong { color:#ecf2fb; font-size:14px; }
    .container .rb-phone-connection-empty p { max-width:240px; margin-top:4px; color:#9aaac3; font-size:13px; line-height:1.35; }
    .container .rb-connections-section#exchange .rb-c-empty { display:none !important; }
    .container .rb-phone-integrations { display:block; margin-top:11px; padding:11px; border:1px solid #1c2d43; border-radius:13px; background:#091522; }
    .container .rb-phone-integrations-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; color:#79aaff; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
    .container .rb-phone-integrations-head span { color:#9aaac3; font-size:11px; letter-spacing:0; text-transform:none; }
    .container .rb-phone-provider { min-height:62px; display:grid; grid-template-columns:44px minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; gap:0 9px; padding:7px 0; border-top:1px solid #1a2b40; }
    .container .rb-phone-provider-logo { width:42px; height:42px; grid-column:1; grid-row:1 / span 2; display:grid; place-items:center; border:1px solid #253950; border-radius:10px; background:#07111d; color:#f6f8fc; font-size:13px; font-weight:800; }
    .container .rb-phone-provider-logo.bybit span { color:#ffd14f; }
    .container .rb-phone-provider-logo.binance { color:#f3ba2f; font-size:25px; }
    .container .rb-phone-provider-logo.okx { background:#030609; color:#fff; font-size:25px; }
    .container .rb-phone-provider-copy { grid-column:2; grid-row:1 / span 2; min-width:0; display:grid; gap:3px; }
    .container .rb-phone-provider-copy strong { color:#f3f6fc; font-size:13px; }
    .container .rb-phone-provider-copy small { color:#9aaac3; font-size:10px; line-height:1.25; }
    .container .rb-phone-provider-state { grid-column:3; grid-row:1; display:flex; align-items:center; gap:5px; color:#00d39a; font-size:11px; }
    .container .rb-phone-provider-state i { width:8px; height:8px; border-radius:50%; background:#00d39a; }
    .container .rb-phone-provider-state.muted { color:#a5b7d0; }
    .container .rb-phone-provider-state.muted i { background:#8fa8c9; }
    .container .rb-phone-provider-action { min-width:88px; min-height:38px; grid-column:3; grid-row:2; display:inline-flex; align-items:center; justify-content:center; padding:0 9px; border:1px solid #216bff; border-radius:10px; background:#216bff; color:#fff; font-size:11px; font-weight:700; text-decoration:none; }
    .container .rb-phone-provider.is-soon .rb-phone-provider-action { border-color:#26364a; background:#101d2c; color:#71839b; }
    .container .rb-phone-provider-action:disabled { opacity:1; }
    .container .rb-connections-section#exchange .rb-c-providers { display:none !important; }
    .container .rb-phone-access { display:block; margin-top:11px; padding:12px; border:1px solid #1c2d43; border-radius:13px; background:#091522; }
    .container .rb-phone-access-head { display:flex; align-items:center; gap:9px; margin-bottom:7px; }
    .container .rb-phone-access-head > i { width:39px; height:39px; display:grid; place-items:center; border-radius:12px; background:#0a2b2d; color:#00d39a; font-style:normal; font-size:20px; }
    .container .rb-phone-access-head strong { color:#6fa6ff; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
    .container .rb-phone-access-head p { margin-top:3px; color:#9aaac3; font-size:11px; line-height:1.35; }
    .container .rb-phone-access-row { min-height:36px; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:7px; border-top:1px solid #1a2b40; }
    .container .rb-phone-access-row i { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#0d3a35; color:#00d39a; font-style:normal; }
    .container .rb-phone-access-row i.deny { background:#3a1c2a; color:#ff5364; }
    .container .rb-phone-access-row strong { color:#e6edf7; font-size:12px; }
    .container .rb-phone-access-row span { color:#9aaac3; font-size:10px; text-align:right; }
    .container .rb-phone-access-note { margin-top:8px; padding:8px; border:1px solid #244570; border-radius:9px; background:#0a1c31; color:#b6cce8; font-size:11px; line-height:1.35; }
    .container .rb-connections-section#terminal .rb-c-terminal-grid,
    .container .rb-connections-section#broker .rb-c-broker-grid { grid-template-columns:minmax(0,1fr); gap:9px; }
    .container .rb-connections-section#terminal :is(.rb-c-terminal-main,.rb-c-steps,.rb-c-broker-card) { min-width:0; padding:13px; border-radius:13px; }
    .container .rb-connections-section#terminal .rb-c-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .container .rb-connections-section#terminal .rb-c-terminal-actions { grid-template-columns:minmax(0,1fr); }
    .container .rb-connections-section#terminal .rb-c-btn { min-height:44px; font-size:12px; }
    .container .rb-connections-section#broker .rb-c-broker-card h3 { font-size:16px; }
    .container .rb-connections-section#broker .rb-c-broker-card p { font-size:13px; line-height:1.45; }
    .container .rb-connections-section .rb-c-footnote { color:#9aaac3; font-size:11px; line-height:1.45; }
    .container .rb-connections .rb-c-modal { align-items:flex-end; padding:10px; }
    .container .rb-connections .rb-c-modal-card { width:100%; max-height:calc(100dvh - 20px); overflow:auto; border-radius:18px 18px 12px 12px; }
    .container .rb-connections .rb-c-modal-card :is(input,select) { min-height:46px; font-size:16px !important; }

    /* STRATEGY — compact four-step header; all ten native details remain editable below. */
    body:has(.strategy-page) { --st-bg:#03080f; --st-card:#0d1928; --st-soft:#0a1726; --st-border:#1c2d43; --st-text:#f4f7fc; --st-muted:#9aaac3; --st-blue:#216bff; --st-blue-soft:#10264a; }
    body:has(.strategy-page) .rb-phone-header { display:none !important; }
    .container .strategy-page { width:100%; max-width:none; min-height:0; margin:0; padding:0 0 15px; background:transparent; color:#f4f7fc; }
    .container .strategy-page .st-head { position:relative; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:8px; margin:0 0 8px; }
    .container .strategy-page .rb-phone-strategy-back { width:30px; height:38px; display:grid; place-items:center; color:#91b3e2; }
    .container .strategy-page .rb-phone-strategy-back svg { width:23px; height:23px; }
    .container .strategy-page .st-kicker { display:none; }
    .container .strategy-page .st-head h1 { color:#f5f7fc; font-size:25px; line-height:1.18; }
    .container .strategy-page .st-head p { margin-top:4px; color:#9aaac3; font-size:13px; line-height:1.35; }
    .container .strategy-page .st-status { min-height:34px; gap:6px; padding:6px 9px; border:1px solid #1c2d43; border-radius:99px; background:#0b1726; color:#d1def0; font-size:10px; }
    .container .strategy-page .st-status i { width:7px; height:7px; }
    .container .strategy-page .st-hero { display:none !important; }
    .container .strategy-page .rb-phone-strategy-steps { display:grid; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr); align-items:center; gap:3px; margin:0 0 10px; }
    .container .strategy-page .rb-phone-strategy-steps a { min-height:61px; display:flex; flex-direction:column; justify-content:center; gap:3px; padding:7px; border:1px solid #1c2d43; border-radius:12px; background:#0b1726; color:#a9bad3; text-decoration:none; }
    .container .strategy-page .rb-phone-strategy-steps a.active { border-color:#216bff; background:#216bff; color:#fff; }
    .container .strategy-page .rb-phone-strategy-steps small { font-size:11px; }
    .container .strategy-page .rb-phone-strategy-steps strong { font-size:13px; }
    .container .strategy-page .rb-phone-strategy-steps > i { color:#91a9ce; font-size:22px; font-style:normal; text-align:center; }
    .container .strategy-page .st-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin:0 0 9px; padding:9px; border:1px solid #1c2d43; border-radius:13px; background:#0b1726; }
    .container .strategy-page .st-toolbar select { width:100%; min-width:0; grid-column:1/-1; }
    .container .strategy-page .st-toolbar :is(input,select) { min-height:42px; border-color:#263b56; border-radius:10px; background:#091522; color:#e7eef9; font-size:14px !important; }
    .container .strategy-page .st-toolbar .st-btn { min-height:42px; font-size:12px; }
    .container .strategy-page .st-meta { gap:5px; margin:0 0 9px; }
    .container .strategy-page .st-meta span { padding:5px 8px; border-color:#1c2d43; border-radius:99px; background:#0b1726; color:#9aaac3; font-size:10px; }
    .container .strategy-page .st-layout { display:flex; flex-direction:column; gap:10px; }
    .container .strategy-page .st-sections { gap:8px; }
    .container .strategy-page .st-section { border-color:#1c2d43; border-radius:15px; background:linear-gradient(145deg,#0d1928,#091421); box-shadow:none; }
    .container .strategy-page .st-section[open] { border-color:#216bff; }
    .container .strategy-page .st-section summary { grid-template-columns:39px minmax(0,1fr) auto; gap:10px; padding:12px; }
    .container .strategy-page .st-num { width:38px; height:38px; border-radius:11px; background:#102448; color:#77a6ff; font-size:12px; }
    .container .strategy-page .st-section[open] .st-num { background:#216bff; color:#fff; }
    .container .strategy-page .st-summary strong { color:#f1f5fb; font-size:15px; line-height:1.25; }
    .container .strategy-page .st-summary small { color:#9aaac3; font-size:11px; line-height:1.3; }
    .container .strategy-page .st-arrow { color:#9db6d7; }
    .container .strategy-page .st-body { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 8px; padding:12px; border-color:#1c2d43; }
    .container .strategy-page .st-field { gap:5px; }
    .container .strategy-page .st-field > span { color:#abc0df; font-size:12px; line-height:1.3; }
    .container .strategy-page .st-field :is(input,select,textarea) { min-height:43px; padding:9px; border-color:#263b56; border-radius:10px; background:#091522; color:#f2f6fc; font-size:14px !important; }
    .container .strategy-page .st-field small,.container .strategy-page .st-toggle small { color:#91a6c4; font-size:10px; line-height:1.35; }
    .container .strategy-page .st-chips { gap:6px; }
    .container .strategy-page .st-chips i { padding:8px 9px; border-color:#263b56; background:#091522; color:#aabbd3; font-size:11px; }
    .container .strategy-page .st-toggle-grid { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
    .container .strategy-page .st-toggle { min-width:0; gap:8px; padding:9px; border-color:#20344d; border-radius:10px; background:#0a1726; }
    .container .strategy-page .st-toggle strong { color:#e8eef8; font-size:11px; line-height:1.25; }
    .container .strategy-page .st-toggle b { flex:0 0 auto; }
    .container .strategy-page .rb-phone-strategy-save { width:100%; min-height:46px; display:flex; align-items:center; justify-content:center; margin:8px 0 0; border:1px solid #216bff; border-radius:11px; background:#216bff; color:#fff; font-size:14px; font-weight:700; text-decoration:none; }
    .container .strategy-page .rb-phone-strategy-save.guest { background:#10264a; }
    .container .strategy-page .st-aside { display:block; }
    .container .strategy-page .st-aside-inner { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
    .container .strategy-page .st-card { padding:13px; border-color:#1c2d43; border-radius:13px; background:#0d1928; }
    .container .strategy-page .st-card h3 { color:#dce7f7; font-size:14px; }
    .container .strategy-page .st-card p,.container .strategy-page .st-legend { color:#9aaac3; font-size:12px; line-height:1.4; }
    .container .strategy-page .st-aside .st-save { display:none !important; }

    /* LEADERBOARD — preserve the five reference columns and show remaining metrics on row two. */
    .container .top-page .top-board { overflow:visible; }
    .container .top-page .top-board-title { min-width:0; display:block; padding:0; border:0; }
    .container .top-page .top-row { position:relative; min-width:0; grid-template-columns:32px minmax(0,1fr) 53px 69px 53px; grid-template-rows:auto auto; gap:5px; padding:10px 8px; border-color:#1c2d43; background:#0b1726; font-size:10px; }
    .container .top-page .top-row.header { min-height:43px; grid-template-rows:auto; padding-top:9px; padding-bottom:9px; background:#0b1726; color:#a9bfdf; font-size:9px; letter-spacing:0; text-transform:none; }
    .container .top-page .top-row.header > :nth-child(n+6) { display:none !important; }
    .container .top-page .top-row:not(.header) > :nth-child(n+6) { display:block !important; }
    .container .top-page .top-row:not(.header) > :nth-child(1) { grid-column:1; grid-row:1 / span 2; }
    .container .top-page .top-row:not(.header) > :nth-child(2) { grid-column:2; grid-row:1; }
    .container .top-page .top-row:not(.header) > :nth-child(3) { grid-column:3; grid-row:1; }
    .container .top-page .top-row:not(.header) > :nth-child(4) { grid-column:4; grid-row:1; }
    .container .top-page .top-row:not(.header) > :nth-child(5) { grid-column:5; grid-row:1; }
    .container .top-page .top-row:not(.header) > :nth-child(6) { grid-column:2 / span 2; grid-row:2; color:#9fc0e9; font-size:10px; }
    .container .top-page .top-row:not(.header) > :nth-child(6)::before { content:"Прирост "; color:#7995b9; }
    .container .top-page .top-row:not(.header) > :nth-child(7) { grid-column:4 / span 2; grid-row:2; color:#9fc0e9; font-size:10px; }
    .container .top-page .top-row:not(.header) > :nth-child(7)::before { content:"Сделки "; color:#7995b9; }
    .container .top-page .rank { width:28px; height:28px; grid-row:1 / span 2; border-radius:50%; }
    .container .top-page .empty-top { min-height:150px; padding:16px; border:1px solid #1c3450; border-radius:14px; background:#0b1726; color:#9aaac3; font-size:13px; line-height:1.4; }
    .container .top-page .empty-top strong { color:#f4f7fc; font-size:18px; }
}

@media screen and (max-width: 390px) {
    .container .rb-app .rb-kpi-card { padding-right:8px !important; padding-left:8px !important; }
    .container .rb-app .rb-kpi-card .rb-card-head { font-size:8px; }
    .container .rb-app .rb-ring { width:78px; height:78px; }
    .container .analytics-page .kpi-card { min-height:192px; padding:11px; }
    .container .analytics-page .vp-item { grid-template-columns:103px minmax(0,1fr) 34px; gap:6px; }
    .container .analytics-page .vp-label { font-size:11px; }
    .container .journal-page .trade-card .trade-col-pnl .pnl-amount { font-size:20px; }
    .container .journal-page .trade-card .trade-col-discipline .discipline-ring { width:50px; height:50px; }
    .container .rbpsy .psy-intro { min-height:206px; padding:12px; }
    .container .rbpsy .psy-intro-copy { width:66%; }
    .container .rbpsy .psy-intro-copy h2 { font-size:19px; }
    .container .rbpsy .psy-intro-copy p { font-size:12px; }
    .container .strategy-page .rb-phone-strategy-steps a { min-height:56px; padding:6px; }
    .container .strategy-page .rb-phone-strategy-steps strong { font-size:11px; }
    .container .strategy-page .st-body { gap:8px 6px; padding:10px; }
    .container .top-page .top-row { grid-template-columns:29px minmax(0,1fr) 47px 60px 46px; gap:4px; padding-right:5px; padding-left:5px; font-size:9px; }
}

@media screen and (max-width: 350px) {
    .container .rb-app .rb-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(3) { grid-column:1 / -1; }
    .container .rb-app .rb-kpi-grid > .rb-kpi-card:nth-child(4) { grid-column:1 / -1; }
    .container .rbpsy .psy-stat-grid { grid-template-columns:minmax(0,1fr); }
    .container .strategy-page .rb-phone-strategy-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .container .strategy-page .rb-phone-strategy-steps > i { display:none; }
    .container .strategy-page .rb-phone-strategy-steps a { min-width:0; }
    .container .strategy-page .rb-phone-strategy-steps strong { font-size:10px; }
}

/* v11: reference-specific phone layouts. Desktop rules and the approved partner screen stay untouched. */
@media screen and (max-width: 760px) {
    /* Analytics: title + date picker, four reference periods, then the live panels. */
    body:has(.analytics-page) .rb-phone-header { display:none !important; }
    .container .analytics-page .analytics-header { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 8px; margin-bottom:13px; }
    .container .analytics-page .analytics-header .title-group { grid-column:1; grid-row:1; min-width:0; }
    .container .analytics-page .analytics-header .title-group h1 { font-size:27px; }
    .container .analytics-page .analytics-header .title-group p:not(.rb-phone-analytics-subtitle) { display:none; }
    .container .analytics-page .rb-phone-analytics-subtitle { display:block; margin:3px 0 0; color:#9aaac3; font-size:13px; line-height:1.3; }
    .container .analytics-page .rb-phone-analytics-period { position:relative; grid-column:2; grid-row:1; min-width:126px; height:43px; display:flex; align-items:center; gap:8px; padding:0 10px; border:1px solid #1c2d43; border-radius:13px; background:#0d1928; color:#d9e5f5; }
    .container .analytics-page .rb-phone-analytics-period svg { width:19px; height:19px; flex:0 0 auto; color:#9bb8e0; }
    .container .analytics-page .rb-phone-analytics-period select { position:absolute; inset:0; width:100%; height:100%; padding:0 25px 0 36px; appearance:none; border:0; background:transparent; color:#d9e5f5; font-size:13px !important; }
    .container .analytics-page .rb-phone-analytics-period > span { margin-left:auto; color:#9bb8e0; pointer-events:none; }
    .container .analytics-page .analytics-header .period-selector { grid-column:1/-1; grid-row:2; }
    .container .analytics-page .analytics-header .period-selector > :nth-child(5) { display:none; }

    /* Journal: chips, search, card metric rows, verdict and live period total. */
    .container .journal-page { display:flex; flex-direction:column; }
    .container .journal-header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
    .container .journal-header .title-group { min-width:0; }
    .container .journal-header .title-group h1 { font-size:27px; }
    .container .journal-header .title-group p { font-size:14px; }
    .container .journal-header .header-actions .filter-btn { min-width:106px; display:flex; justify-content:center; gap:8px; }
    .container .journal-header .filter-btn .rb-phone-filter-icon { width:18px; height:18px; flex:0 0 auto; }
    .container .journal-page .journal-filters { display:flex; flex-direction:column; gap:9px; margin:0 0 11px; }
    .container .journal-page .journal-filters > .filter-row:first-of-type { order:1; }
    .container .journal-page .rb-phone-journal-search { order:2; min-height:54px; display:flex; align-items:center; gap:11px; padding:0 14px; border:1px solid #20334c; border-radius:14px; background:#0d1928; }
    .container .journal-page .rb-phone-journal-search svg { width:22px; height:22px; flex:0 0 auto; color:#91a9cc; }
    .container .journal-page .rb-phone-journal-search input { width:100%; min-width:0; min-height:50px; padding:0; border:0; outline:0; background:transparent; color:#e5edf8; font-size:14px !important; }
    .container .journal-page .rb-phone-journal-search input::placeholder { color:#7188a8; opacity:1; }
    .container .journal-page .rb-phone-journal-search button { width:27px; min-width:27px; min-height:27px; padding:0; border:0; background:transparent; color:#8ea5c4; font-size:22px; line-height:1; }
    .container .journal-page .journal-filters > .filter-row:nth-of-type(2) { display:none !important; }
    .container .journal-page.rb-filters-expanded .journal-filters > .filter-row:nth-of-type(2) { display:flex !important; }
    .container .journal-page .journal-filters .filter-pill:is([data-filter="perfect"],[data-filter="engine"],[data-filter="manual"]) { display:none; }
    .container .journal-page.rb-filters-expanded .journal-filters .filter-pill:is([data-filter="perfect"],[data-filter="engine"],[data-filter="manual"]) { display:inline-flex; }
    .container .journal-page.rb-filters-expanded .journal-filters > .filter-row:nth-of-type(2) .search-wrapper,
    .container .journal-page.rb-filters-expanded .journal-filters > .filter-row:nth-of-type(2) > div:first-child { display:none; }
    .container .journal-page .journal-grid { display:flex; flex-direction:column; gap:10px; }
    .container .journal-page #tradesList { order:1; display:grid; gap:10px; }
    .container .journal-page .rb-phone-journal-summary { order:2; min-height:54px; display:flex; align-items:center; gap:11px; margin:0 0 1px; padding:9px 13px; border:1px solid #1c2d43; border-radius:15px; background:linear-gradient(145deg,#0d1928,#091421); color:#d3e0f1; font-size:14px; }
    .container .journal-page .rb-phone-journal-icon { color:#4288ff; font-size:20px; line-height:1; }
    .container .journal-page .rb-phone-journal-summary strong { color:#b4c9e7; font-weight:500; }
    .container .journal-page .rb-phone-journal-summary b { color:#06dc9c; font-size:18px; }
    .container .journal-page .rb-phone-journal-summary b.negative { color:#ff5a6a; }
    .container .journal-page .rb-phone-journal-chevron { margin-left:auto; color:#8ea9cd; font-size:26px; }
    .container .journal-page .journal-sidebar { order:3; }
    .container .journal-page .trade-card { padding:12px 13px 10px; border-radius:15px; }
    .container .journal-page .trade-card .trade-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto auto; align-items:start; gap:10px 8px; padding:8px 19px 10px 8px; }
    .container .journal-page .trade-card .trade-col-symbol { grid-column:1; grid-row:1; }
    .container .journal-page .trade-card .trade-col-pnl { grid-column:2; grid-row:1; }
    .container .journal-page .trade-card .trade-col-pnl .pnl-amount { font-size:23px; }
    .container .journal-page .trade-card .trade-col-discipline { top:0; right:17px; width:61px; height:61px; }
    .container .journal-page .trade-card .trade-col-discipline .discipline-ring { width:61px; height:61px; }
    .container .journal-page .trade-card .trade-col-rr { grid-column:1; grid-row:2; }
    .container .journal-page .trade-card .trade-col-risk { grid-column:2; grid-row:2; padding-left:11px; border-left:1px solid #26364a; }
    .container .journal-page .trade-card .trade-col-checklist { grid-column:3; grid-row:2; padding-left:11px; border-left:1px solid #26364a; }
    .container .journal-page .trade-card .rr-label,.container .journal-page .trade-card .risk-label { font-size:0; }
    .container .journal-page .trade-card .rr-label::after { content:"RR"; font-size:12px; }
    .container .journal-page .trade-card .risk-label::after { content:"Риск"; font-size:12px; }
    .container .journal-page .trade-card .trade-col-time,.container .journal-page .trade-card .trade-col-tags { display:none !important; }
    .container .journal-page .trade-card .rb-phone-trade-open { position:absolute; z-index:2; top:13px; right:0; width:24px; min-width:24px; min-height:34px; display:grid; place-items:center; padding:0; border:0; background:transparent; color:#8fa9cd; font-size:30px; line-height:1; }
    .container .journal-page .trade-card .trade-verdict-row { align-items:center; gap:8px; padding:8px 4px 0; }
    .container .journal-page .trade-card .trade-verdict-right { min-height:25px; }
    .container .journal-page .trade-card .verdict-date,.container .journal-page .trade-card .verdict-link { display:none !important; }
    .container .journal-page .trade-card .rb-phone-trade-time { color:#9aaac3; font-size:11px; white-space:nowrap; }
    .container .journal-page .trade-card .rb-phone-trade-meta { display:grid; gap:6px; margin:0 0 11px; padding:10px; border:1px solid #1c2d43; border-radius:11px; background:#081421; color:#9eb4d2; font-size:12px; }

    /* Psychology: reference order with actual, account-scoped metrics. */
    .container .rbpsy { display:flex; flex-direction:column; }
    .container .rbpsy > .psy-header { order:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:7px; margin-bottom:10px; }
    .container .rbpsy .psy-title-row { grid-column:1; grid-row:1; min-width:0; }
    .container .rbpsy .psy-title-row h1 { font-size:26px; }
    .container .rbpsy .psy-lead,.container .rbpsy .psy-live-badge { display:none; }
    .container .rbpsy .rb-phone-psy-lead { display:block; margin-top:4px; color:#9aaac3; font-size:13px; line-height:1.35; }
    .container .rbpsy .rb-phone-psy-period { position:relative; grid-column:2; grid-row:1; min-width:126px; height:42px; display:flex; align-items:center; gap:7px; padding:0 9px; border:1px solid #1c2d43; border-radius:12px; background:#0d1928; color:#d9e5f5; }
    .container .rbpsy .rb-phone-psy-period svg { width:19px; height:19px; flex:0 0 auto; color:#9bb8e0; }
    .container .rbpsy .rb-phone-psy-period select { position:absolute; inset:0; width:100%; height:100%; padding:0 22px 0 32px; appearance:none; border:0; background:transparent; color:#d9e5f5; font-size:12px !important; }
    .container .rbpsy .rb-phone-psy-period > span { margin-left:auto; pointer-events:none; }
    .container .rbpsy .psy-tabs { order:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0 0 10px; padding:0; overflow:visible; }
    .container .rbpsy .psy-tabs a { min-width:0; min-height:42px; display:flex; align-items:center; justify-content:center; padding:0 5px; font-size:0; }
    .container .rbpsy .psy-tabs a::after { color:inherit; font-size:12px; }
    .container .rbpsy .psy-tabs a:nth-child(1)::after { content:"Обзор"; }
    .container .rbpsy .psy-tabs a:nth-child(2)::after { content:"Нарушения"; }
    .container .rbpsy .psy-tabs a:nth-child(3)::after { content:"Паттерны"; }
    .container .rbpsy .psy-tabs a:nth-child(4)::after { content:"Разбор"; }
    .container .rbpsy .psy-tabs a:nth-child(5) { display:none; }
    .container .rbpsy .psy-intro { order:2; min-height:220px; margin-bottom:11px; padding:15px; }
    .container .rbpsy .psy-intro-copy { width:62%; }
    .container .rbpsy .psy-intro-copy h2 { font-size:22px; }
    .container .rbpsy .psy-intro-copy > p:not(.rb-phone-psy-copy),.container .rbpsy .psy-intro-copy .psy-inline-link { display:none; }
    .container .rbpsy .psy-intro-copy .rb-phone-psy-copy { display:block; margin-top:8px; color:#9eb9dc; font-size:13px; line-height:1.4; }
    .container .rbpsy .psy-alert-demo { display:none !important; }
    .container .rbpsy > .psy-toolbar { order:6; }
    .container .rbpsy > .psy-alert,.container .rbpsy > .psy-state-line { order:3; }
    .container .rbpsy > [data-panel] { order:4; }
    .container .rbpsy .psy-section-head { align-items:flex-start; margin:8px 0 9px; }
    .container .rbpsy .psy-section-head h2 { font-size:20px; }
    .container .rbpsy .psy-section-aside { display:none; }
    .container .rbpsy .psy-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .container .rbpsy .psy-stat { position:relative; min-height:148px; padding:12px; }
    .container .rbpsy .psy-stat-mark { display:none; }
    .container .rbpsy .psy-stat::after { content:"ⓘ"; position:absolute; top:11px; right:11px; color:#8ba7cf; font-size:14px; }
    .container .rbpsy .psy-stat p { max-width:calc(100% - 12px); margin:0; color:#9db6d7; font-size:12px; font-weight:600; line-height:1.3; }
    .container .rbpsy .psy-stat strong { margin-top:9px; font-size:31px; }
    .container .rbpsy .psy-stat small { margin-top:5px; font-size:11px; }
    .container .rbpsy .psy-stat-feature { border-color:#276fff; background:linear-gradient(145deg,#12284b,#0b1a31); }

    /* Connections: the summary, integrations and permissions become separate cards. */
    .container .rb-connections { display:flex; flex-direction:column; gap:0; }
    .container .rb-connections-hero { margin-bottom:12px; padding-right:145px; }
    .container .rb-connections-hero > div { min-width:0; }
    .container .rb-connections-hero > div > .rb-connections-kicker,
    .container .rb-connections-hero > div > p:not(.rb-phone-connections-kicker):not(.rb-phone-connections-subtitle) { display:none; }
    .container .rb-connections-hero .rb-phone-connections-kicker { display:block; color:#6ea5ff; font-size:10px; font-weight:700; letter-spacing:.12em; }
    .container .rb-connections-hero h1 { margin-top:1px; font-size:28px; }
    .container .rb-connections-hero .rb-phone-connections-subtitle { display:block; margin-top:4px; color:#9aaac3; font-size:14px; line-height:1.35; }
    .container .rb-connections-nav { gap:6px; margin-bottom:11px; }
    .container .rb-connections-nav a { grid-template-rows:20px auto; align-content:center; gap:4px; min-height:58px; padding:5px 3px; font-size:0; }
    .container .rb-connections-nav a svg { width:20px; height:20px; display:block; }
    .container .rb-connections-nav .rb-c-nav-desktop-label { display:none; }
    .container .rb-connections-nav .rb-c-nav-phone-label { display:block; font-size:11px; line-height:1.2; }
    .container .rb-connections-section#exchange { display:contents; }
    .container .rb-connections-section#exchange .rb-connections-heading,
    .container .rb-connections-section#exchange .rb-c-providers,
    .container .rb-connections-section#exchange > .rb-c-footnote { display:none !important; }
    .container .rb-connections-section#exchange .rb-phone-connection-summary { display:block; margin:0 0 11px; padding:13px; border:1px solid #1c2d43; border-radius:15px; background:#0b1726; }
    .container .rb-connections-section#exchange .rb-phone-connection-title { margin-bottom:10px; }
    .container .rb-connections-section#exchange .rb-c-list { display:grid; gap:8px; }
    .container .rb-connections-section#exchange .rb-c-account { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:8px; padding:9px; border:1px solid #1c2d43; border-radius:11px; background:#091522; }
    .container .rb-connections-section#exchange .rb-c-account-text { min-width:0; }
    .container .rb-connections-section#exchange .rb-c-account-text small { overflow-wrap:anywhere; }
    .container .rb-phone-connection-empty { min-height:132px; }
    .container .rb-phone-integrations { margin:0 0 11px; padding:11px 12px; border-radius:15px; }
    .container .rb-phone-provider { grid-template-columns:44px minmax(0,1fr) auto; min-height:65px; }
    .container .rb-phone-access { margin:0 0 11px; padding:12px; border-radius:15px; }
    .container .rb-phone-access-row { grid-template-columns:24px minmax(0,1fr) minmax(95px,auto); }
    .container .rb-phone-access-row span { max-width:150px; }
    .container .rb-connections-section#terminal,.container .rb-connections-section#broker { margin-bottom:11px; }
}

/* v12: phone layout for the current rb-connect connections page. */
@media screen and (max-width: 760px) {
    body:has(.rb-connect) {
        --bg-body:#03080f; --bg-sidebar:#06111d; --bg-card:#0a1624; --bg-input:#091522;
        --bg-hover:#0d1d2e; --text-primary:#f4f7fc; --text-secondary:#98b8df; --text-muted:#7593b8;
        --border:#1a3653; --border-strong:#284968; --blue:#147cff; --blue-light:rgba(20,124,255,.16);
        --green:#00d9a5; --red:#ff465e; --card-shadow:0 10px 28px rgba(0,0,0,.2);
        background:#03080f !important; color:#f4f7fc;
    }
    body:has(.rb-connect) .container { padding-right:16px !important; padding-left:16px !important; }
    body:has(.rb-connect) main.container { background:transparent !important; }
    .container .rb-connect {
        width:100%; max-width:none; min-width:0; min-height:0; display:flex; flex-direction:column; gap:11px;
        margin:0; padding:0 0 16px; color:#f4f7fc; background:transparent; font-family:inherit;
    }
    .container .rb-connect :is(h1,h2,h3,p) { overflow-wrap:anywhere; }
    .container .rb-connect-head { position:relative; order:0; display:block; min-height:58px; margin:0; padding:0 138px 0 0; border:0; background:transparent; box-shadow:none; }
    .container .rb-connect-head > div { min-width:0; }
    .container .rb-connect-head .rb-connect-eyebrow { display:block; color:#6ea5ff; font-size:10px; font-weight:750; letter-spacing:.12em; }
    .container .rb-connect-head h1 { margin:2px 0 0; color:#f5f7fc; font-size:28px; line-height:1.12; letter-spacing:-.035em; }
    .container .rb-connect-head > div > p:not(.rb-phone-connections-subtitle) { display:none; }
    .container .rb-connect-head .rb-phone-connections-subtitle { display:block; margin:4px 0 0; color:#9aaac3; font-size:14px; line-height:1.35; }
    .container .rb-connect-head .rb-connect-trust { display:none; }
    .container .rb-connect-head .rb-phone-readonly { position:absolute; top:0; right:0; min-height:52px; display:flex; align-items:center; gap:7px; padding:0 9px; border:1px solid #16473f; border-radius:13px; background:#081d22; color:#b9d8ec; font-size:11px; white-space:nowrap; }
    .container .rb-connect-head .rb-phone-readonly i { width:25px; height:25px; display:grid; place-items:center; border-radius:8px; background:#0c3932; color:#00d49c; font-style:normal; }

    .container .rb-connect-gateways { order:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0; padding:0; overflow:visible; }
    .container .rb-connect-gateways .rb-gateway { min-width:0; min-height:52px; display:grid; grid-template-columns:20px minmax(0,1fr); align-content:center; align-items:center; justify-items:center; gap:4px; padding:5px 3px; border:1px solid #1c2d43; border-radius:12px; background:#0d1928; color:#b5c7df; text-align:center; text-decoration:none; }
    .container .rb-connect-gateways .rb-gateway-number,
    .container .rb-connect-gateways .rb-gateway-copy small,
    .container .rb-connect-gateways .rb-gateway-arrow { display:none; }
    .container .rb-connect-gateways .rb-gateway-icon { width:20px; height:20px; display:grid; place-items:center; color:#92afd7; }
    .container .rb-connect-gateways .rb-gateway-icon svg { width:19px; height:19px; }
    .container .rb-connect-gateways .rb-gateway-copy { min-width:0; }
    .container .rb-connect-gateways .rb-gateway-copy strong { display:block; color:inherit; font-size:10px; line-height:1.15; white-space:nowrap; }
    .container .rb-connect-gateways :is(.rb-gateway-active,.is-active) { border-color:#216bff; background:#216bff; color:#fff; }
    .container .rb-connect-gateways :is(.rb-gateway-active,.is-active) .rb-gateway-icon { color:#fff; }

    .container .rb-connect-section { min-width:0; order:4; margin:0; padding:13px; border:1px solid #1c2d43; border-radius:15px; background:#0b1726; color:#f4f7fc; box-shadow:none; scroll-margin-top:130px; }
    .container .rb-connect-section#exchange { order:2; padding:0; border:0; background:transparent; }
    .container .rb-connect-section#terminal { order:3; }
    .container .rb-connect-section#stocks-brokers { order:4; }
    .container .rb-connect-section#exchange > .rb-section-heading { display:none; }
    .container .rb-connect-section#terminal > .rb-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin:0 0 10px; }
    .container .rb-connect-section#stocks-brokers > .rb-section-heading { display:flex; flex-direction:column; align-items:stretch; gap:9px; margin:0 0 10px; }
    .container .rb-section-heading > div { min-width:0; display:flex; align-items:flex-start; gap:8px; }
    .container .rb-section-index { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; background:#10264a; color:#70a6ff; font-size:10px; }
    .container .rb-section-heading h2 { margin:0; color:#f2f6fc; font-size:18px; line-height:1.2; }
    .container .rb-section-heading p { margin-top:4px; color:#9aaac3; font-size:12px; line-height:1.4; }
    .container .rb-section-heading .rb-agent-state { max-width:42%; color:#9db5d5; font-size:10px; line-height:1.25; }
    .container .rb-section-heading .rb-agent-state :is(strong,small) { display:block; }
    .container .rb-section-heading .rb-agent-state strong { color:#dce8f8; }
    .container .rb-section-heading .rb-agent-state small { margin-top:3px; }

    .container .rb-exchange-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:11px; }
    .container .rb-connection-panel,
    .container .rb-phone-integrations,
    .container .rb-permissions-card { min-width:0; margin:0; padding:12px; border:1px solid #1c2d43; border-radius:15px; background:#0b1726; color:#f4f7fc; box-shadow:none; }
    .container .rb-panel-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 9px; color:#f3f6fc; font-size:14px; font-weight:700; }
    .container .rb-panel-title .rb-count { min-width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#10264a; color:#84b4ff; font-size:12px; }
    .container .rb-connection-list { display:grid; gap:8px; }
    .container .rb-connection-row { min-width:0; display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:8px; padding:9px; border:1px solid #1c2d43; border-radius:11px; background:#091522; }
    .container .rb-provider-avatar { width:35px; height:35px; display:grid; place-items:center; border:1px solid #253950; border-radius:9px; background:#07111d; color:#f4f7fc; font-weight:800; }
    .container .rb-connection-copy { min-width:0; display:grid; gap:3px; }
    .container .rb-connection-copy :is(strong,small) { min-width:0; overflow-wrap:anywhere; }
    .container .rb-connection-copy strong { color:#f2f6fc; font-size:12px; }
    .container .rb-connection-copy small { color:#9aaac3; font-size:10px; line-height:1.3; }
    .container .rb-status { color:#00d39a; font-size:10px; white-space:nowrap; }
    .container .rb-status i { width:7px; height:7px; display:inline-block; margin-right:4px; border-radius:50%; background:#00d39a; }
    .container .rb-status.error { color:#ff6374; }
    .container .rb-status.error i { background:#ff5364; }
    .container .rb-icon-button { width:34px; height:34px; display:grid; place-items:center; border:1px solid #293d56; border-radius:9px; background:#101d2c; color:#91b2dc; }
    .container .rb-icon-button svg { width:17px; height:17px; }
    .container .rb-empty-connection { min-height:130px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:14px; border:1px dashed #2a4565; border-radius:13px; text-align:center; }
    .container .rb-empty-connection .rb-empty-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#10244a; color:#3f8cff; }
    .container .rb-empty-connection .rb-empty-icon svg { width:22px; height:22px; }
    .container .rb-empty-connection strong { color:#ecf2fb; font-size:13px; }
    .container .rb-empty-connection p { max-width:260px; margin-top:3px; color:#9aaac3; font-size:12px; line-height:1.35; }
    .container .rb-provider-line { display:none !important; }
    .container .rb-phone-integrations { display:block; }
    .container .rb-phone-integrations-head { display:flex; align-items:center; justify-content:space-between; gap:6px; margin:0 0 7px; color:#79aaff; font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
    .container .rb-phone-integrations-head span { color:#9aaac3; font-size:10px; font-weight:500; letter-spacing:0; text-transform:none; white-space:nowrap; }
    .container .rb-phone-provider { min-height:61px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; gap:0 8px; padding:7px 0; border-top:1px solid #1a2b40; }
    .container .rb-phone-provider-logo { width:40px; height:40px; grid-column:1; grid-row:1 / span 2; display:grid; place-items:center; border:1px solid #253950; border-radius:10px; background:#07111d; color:#f6f8fc; font-size:12px; font-weight:800; }
    .container .rb-phone-provider-logo.bybit span { color:#ffd14f; }
    .container .rb-phone-provider-logo.binance { color:#f3ba2f; font-size:24px; }
    .container .rb-phone-provider-logo.okx { background:#030609; color:#fff; font-size:22px; }
    .container .rb-phone-provider-copy { min-width:0; grid-column:2; grid-row:1 / span 2; display:grid; gap:3px; }
    .container .rb-phone-provider-copy strong { color:#f3f6fc; font-size:12px; }
    .container .rb-phone-provider-copy small { color:#9aaac3; font-size:9px; line-height:1.25; }
    .container .rb-phone-provider-state { grid-column:3; grid-row:1; display:flex; align-items:center; gap:4px; color:#00d39a; font-size:10px; white-space:nowrap; }
    .container .rb-phone-provider-state i { width:7px; height:7px; border-radius:50%; background:#00d39a; }
    .container .rb-phone-provider-state.muted { color:#a5b7d0; }
    .container .rb-phone-provider-state.muted i { background:#8fa8c9; }
    .container .rb-phone-provider-action { min-width:81px; min-height:34px; grid-column:3; grid-row:2; display:inline-flex; align-items:center; justify-content:center; padding:0 8px; border:1px solid #216bff; border-radius:9px; background:#216bff; color:#fff; font-size:10px; font-weight:700; text-decoration:none; white-space:nowrap; }
    .container .rb-phone-provider.is-soon .rb-phone-provider-action { border-color:#26364a; background:#101d2c; color:#71839b; }
    .container .rb-phone-provider-action:disabled { opacity:1; }
    .container .rb-phone-integrations-note { margin-top:6px; color:#879dbb; font-size:10px; line-height:1.35; }

    .container .rb-permissions-card { padding:12px; }
    .container .rb-permissions-kicker { color:#6fa6ff; font-size:11px; font-weight:750; letter-spacing:.08em; }
    .container .rb-permissions-card h3 { margin:5px 0 8px; color:#edf3fc; font-size:14px; line-height:1.3; }
    .container .rb-permissions-card ul { display:grid; gap:0; margin:0; padding:0; list-style:none; }
    .container .rb-permissions-card li { min-height:37px; display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:8px; padding:5px 0; border-top:1px solid #1a2b40; }
    .container .rb-permissions-card li > span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#0d3a35; color:#00d39a; font-size:13px; }
    .container .rb-permissions-card li.denied > span { background:#3a1c2a; color:#ff5364; }
    .container .rb-permissions-card li strong,
    .container .rb-permissions-card li small { display:block; }
    .container .rb-permissions-card li strong { color:#e6edf7; font-size:11px; }
    .container .rb-permissions-card li small { margin-top:2px; color:#9aaac3; font-size:10px; }
    .container .rb-permissions-card > p { margin-top:7px; padding:8px; border:1px solid #244570; border-radius:9px; background:#0a1c31; color:#b6cce8; font-size:10px; line-height:1.35; }
    .container .rb-binance-account { grid-column:1 / -1; width:100%; color:#9db6d7; font-size:10px; }
    .container .rb-binance-account-message { margin:2px 0; color:#9db6d7; font-size:10px; }
    .container .rb-binance-assets { display:flex; flex-wrap:wrap; gap:4px; margin:4px 0; padding:0; list-style:none; }
    .container .rb-binance-assets li { padding:3px 5px; border:1px solid #1c2d43; border-radius:6px; font-size:9px; }
    .container .rb-binance-refresh { min-height:28px; padding:3px 8px; border:1px solid #29415f; border-radius:7px; background:#101d2c; color:#9ec2f0; font-size:10px; }

    .container .rb-connect-section#terminal .rb-agent-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; }
    .container .rb-terminal-picker,
    .container .rb-agent-steps,
    .container .rb-cscalp-panel,
    .container .rb-pf-panel { min-width:0; padding:11px; border:1px solid #1c2d43; border-radius:13px; background:#091522; color:#eaf1fa; }
    .container .rb-terminal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:8px; }
    .container .rb-terminal-option { min-width:0; min-height:70px; display:grid; grid-template-columns:27px minmax(0,1fr); align-content:center; align-items:center; gap:2px 7px; padding:8px; border:1px solid #243951; border-radius:10px; background:#0d1928; color:#dce8f8; text-align:left; }
    .container .rb-terminal-option > span { width:26px; height:26px; grid-row:1 / span 2; display:grid; place-items:center; border-radius:8px; background:#10264a; color:#72a8ff; }
    .container .rb-terminal-option strong { font-size:10px; line-height:1.2; }
    .container .rb-terminal-option small { color:#9aaac3; font-size:9px; line-height:1.2; }
    .container .rb-terminal-option.active { border-color:#216bff; background:#102347; }
    .container .rb-agent-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; margin-top:9px; }
    .container .rb-connect .rb-btn { min-height:42px; width:100%; justify-content:center; border-radius:10px; font-size:11px; white-space:normal; }
    .container .rb-agent-steps { display:grid; gap:8px; }
    .container .rb-step { display:flex; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid #1a2b40; }
    .container .rb-step > span { width:25px; height:25px; flex:0 0 25px; display:grid; place-items:center; border-radius:8px; background:#10264a; color:#76aaff; font-size:10px; }
    .container .rb-step strong,.container .rb-step small { display:block; }
    .container .rb-step strong { color:#eaf1fa; font-size:11px; }
    .container .rb-step small { margin-top:2px; color:#9aaac3; font-size:10px; line-height:1.3; }
    .container .rb-code-box { padding:8px; border:1px solid #244570; border-radius:9px; background:#0a1c31; }
    .container .rb-code-box > div { display:flex; justify-content:space-between; gap:8px; }
    .container .rb-connection-message,
    .container .rb-cscalp-note,
    .container .rb-pf-note { color:#9aaac3; font-size:10px; line-height:1.4; }
    .container .rb-selected-terminal { color:#9aaac3; font-size:10px; }
    .container .rb-cscalp-panel,
    .container .rb-pf-panel { margin-top:9px; }
    .container .rb-cscalp-form { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin-top:8px; }
    .container .rb-cscalp-form label { display:grid; gap:4px; color:#b7c8df; font-size:10px; }
    .container .rb-cscalp-form :is(select,input) { min-width:0; min-height:42px; width:100%; padding:8px; border:1px solid #263b55; border-radius:9px; background:#0b1726; color:#edf3fc; font-size:14px; }
    .container .rb-cscalp-form input[type=file] { height:auto; }
    .container .rb-pf-heading { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
    .container .rb-pf-heading h3 { margin:0; color:#eef4fb; font-size:15px; }
    .container .rb-pf-heading p { margin-top:4px; color:#9aaac3; font-size:10px; line-height:1.4; }
    .container .rb-pf-list { display:grid; gap:7px; margin-top:8px; }
    .container .rb-pf-empty { margin-top:8px; color:#9aaac3; font-size:10px; line-height:1.4; }
    .container .rb-pf-note { margin-top:8px; }
    .container .rb-connect-section#stocks-brokers .rb-broker-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
    .container .rb-connect-section#stocks-brokers .rb-broker-grid article { min-width:0; display:flex; align-items:flex-start; gap:9px; padding:10px; border:1px solid #1c2d43; border-radius:11px; background:#091522; }
    .container .rb-broker-icon { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:9px; background:#10264a; color:#72a8ff; }
    .container .rb-broker-icon svg { width:18px; height:18px; }
    .container .rb-broker-grid article strong { color:#edf3fc; font-size:12px; }
    .container .rb-broker-grid article p { margin-top:3px; color:#9aaac3; font-size:10px; line-height:1.4; }
    .container .rb-broker-grid article b { display:inline-block; margin-top:6px; color:#00d39a; font-size:9px; letter-spacing:.04em; }
    .container .rb-broker-grid article b:not(.rb-live-label) { color:#9aaac3; }
    .container .rb-broker-connections { margin-top:9px; }
    .container .rb-market-map { order:5; margin:0; padding:12px; border:1px solid #1c2d43; border-radius:15px; background:#0b1726; color:#eef4fb; }
    .container .rb-market-map-head h2 { margin-top:3px; color:#edf3fc; font-size:15px; }
    .container .rb-market-map-head p { margin-top:4px; color:#9aaac3; font-size:10px; line-height:1.4; }
    .container .rb-market-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:8px; }
    .container .rb-market-item { min-width:0; display:grid; grid-template-columns:24px minmax(0,1fr); gap:4px 6px; padding:7px; border:1px solid #1c2d43; border-radius:9px; background:#091522; color:#dce8f8; text-decoration:none; }
    .container .rb-market-symbol { grid-row:1 / span 2; color:#72a8ff; font-size:14px; }
    .container .rb-market-item strong,.container .rb-market-item small { display:block; }
    .container .rb-market-item strong { font-size:10px; }
    .container .rb-market-item small,.container .rb-market-item b { color:#9aaac3; font-size:8px; line-height:1.25; }
    .container .rb-market-contract { display:flex; flex-wrap:wrap; gap:4px; margin-top:8px; color:#9aaac3; font-size:8px; }
    .container .rb-connect-modal:not([hidden]) { position:fixed; inset:0; z-index:1200; display:grid; align-items:end; padding:10px; background:rgba(1,6,14,.78); }
    .container .rb-connect-modal .rb-modal-card { width:100%; max-width:500px; max-height:calc(100dvh - 20px); overflow:auto; margin:0 auto; padding:20px 15px max(16px,env(safe-area-inset-bottom)); border:1px solid #263b55; border-radius:18px 18px 12px 12px; background:#0b1726; color:#f4f7fc; }
    .container .rb-connect-modal .rb-modal-card :is(input,select) { min-height:46px; font-size:16px !important; }
}

@media screen and (max-width: 390px) {
    .container .rb-connect-head { padding-right:126px; }
    .container .rb-connect-head .rb-phone-readonly { min-height:48px; gap:5px; padding:0 7px; font-size:10px; }
    .container .rb-connect-gateways .rb-gateway-copy strong { font-size:9px; }
    .container .rb-phone-provider { grid-template-columns:38px minmax(0,1fr) auto; gap:0 6px; }
    .container .rb-phone-provider-logo { width:36px; height:36px; }
    .container .rb-phone-provider-action { min-width:72px; padding:0 6px; font-size:9px; }
}

/* RISKBLOCK_PHONE_HOME_V2 — точная последовательность главной страницы.
   Только <=760px: desktop-разметка и desktop-метрики не меняются. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-main {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: start;
        gap: 11px 10px;
        padding-bottom: calc(108px + env(safe-area-inset-bottom)) !important;
    }

    .container .rb-phone-home .rb-topbar,
    .container .rb-phone-home .rb-kpi-grid {
        grid-column: 1 / -1 !important;
    }

    .container .rb-phone-home .rb-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 0 0 1px !important;
    }

    /* Верхние три окна всегда квадратные и стоят на одной линии. */
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) {
        min-width: 0;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        display: block;
        overflow: hidden;
        padding: 8px !important;
        border-radius: 14px;
        box-sizing: border-box;
    }

    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head {
        display: block;
        min-height: 31px;
        color: #a8b7d1;
        font-size: 9px;
        line-height: 1.1;
        text-transform: uppercase;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head > span:first-child {
        display: block;
        min-height: 20px;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head .quiet {
        display: block;
        margin-top: 2px;
        color: #9aaac3;
        font-size: 8px;
        line-height: 1.1;
        white-space: nowrap;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-kpi-value {
        margin-top: 4px;
        font-size: clamp(20px, 5.9vw, 24px) !important;
        line-height: 1;
        letter-spacing: -.7px;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-kpi-value small { font-size: 12px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-sparkline {
        height: 20px;
        margin-top: 4px;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-progress {
        height: 5px;
        margin-top: 5px;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-foot { display: none; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-progress {
        height: 5px;
        margin-top: 10px;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-kpi-foot {
        display: block;
        margin-top: 5px;
        color: #9aaac3;
        font-size: 8px;
        line-height: 1.1;
        white-space: nowrap;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-discipline { padding: 0; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring {
        width: 64px;
        height: 64px;
        margin: 3px auto 0;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-track,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-progress { stroke-width: 7; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number { color: #3f7bff; font-size: 20px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number small { font-size: 11px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption { font-size: 8px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-discipline-meta { display: none; }

    /* Широкое сравнение: значения слева, график справа. */
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) {
        position: relative;
        grid-column: 1 / -1 !important;
        min-height: 204px !important;
        margin-top: 0;
        display: block;
        overflow: hidden;
        padding: 15px 14px !important;
        border-radius: 15px;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) > .rb-card-head {
        display: block;
        min-height: 21px;
        color: #a9bad3;
        font-size: 11px;
        line-height: 1.2;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 46%;
        gap: 7px;
        margin: 16px 0 0;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:first-child { order: 2; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:nth-child(2) { order: 1; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid .label,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label {
        color: #9aaac3;
        font-size: 9px;
        line-height: 1.2;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:first-child .label,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:nth-child(2) .label,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label { font-size: 0; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:first-child .label::after { content: "Факт"; font-size: 9px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:nth-child(2) .label::after { content: "Без нарушений"; font-size: 9px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label::after { content: "Стоимость нарушений"; font-size: 9px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid .value {
        margin-top: 5px;
        color: #2d6bff;
        font-size: 22px;
        line-height: 1;
        white-space: nowrap;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid .value.green { color: #13e59b; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss {
        position: relative;
        z-index: 2;
        width: 46%;
        margin: 17px 0 0;
        padding-top: 9px;
        border-top: 1px solid #26364d;
        text-align: left;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value {
        margin-top: 5px;
        color: #ff5a69;
        font-size: 25px;
        line-height: 1;
        white-space: nowrap;
    }
    .container .rb-phone-home .rb-phone-violation-chart {
        position: absolute;
        z-index: 1;
        top: 60px;
        right: 12px;
        width: 48%;
        height: 126px;
        overflow: hidden;
        opacity: .96;
    }
    .container .rb-phone-home .rb-phone-violation-chart svg { width: 100%; height: 90px; display: block; }
    .container .rb-phone-home .rb-phone-chart-grid { fill: none; stroke: #26364d; stroke-width: 1; }
    .container .rb-phone-home .rb-phone-chart-fill { fill: rgba(45,107,255,.14); stroke: none; }
    .container .rb-phone-home .rb-phone-chart-green { fill: none; stroke: #13e59b; stroke-width: 2.5; stroke-linecap: round; }
    .container .rb-phone-home .rb-phone-chart-blue { fill: none; stroke: #2d6bff; stroke-width: 2.5; stroke-linecap: round; }
    .container .rb-phone-home .rb-phone-chart-legend {
        display: flex;
        justify-content: flex-end;
        gap: 7px;
        color: #9aaac3;
        font-size: 8px;
        line-height: 1;
        white-space: nowrap;
    }
    .container .rb-phone-home .rb-phone-chart-legend span { display: inline-flex; align-items: center; gap: 3px; }
    .container .rb-phone-home .rb-phone-chart-legend i { width: 6px; height: 6px; display: inline-block; border-radius: 50%; }
    .container .rb-phone-home .rb-phone-chart-legend i.green { background: #13e59b; }
    .container .rb-phone-home .rb-phone-chart-legend i.blue { background: #2d6bff; }

    /* Display order below the KPI row: checklist, then balance/control. */
    .container .rb-phone-home :is(.rb-middle-grid, .rb-lower-grid) { display: contents !important; }
    .container .rb-phone-home .rb-middle-grid > .rb-section-card:first-child {
        grid-column: 1 / -1 !important;
        min-width: 0;
        padding: 14px !important;
    }
    .container .rb-phone-home .rb-middle-grid > .rb-balance-card {
        grid-column: 1 !important;
        min-width: 0;
        min-height: 210px;
        padding: 14px !important;
    }
    .container .rb-phone-home .rb-lower-grid > .rb-control-card {
        grid-column: 2 !important;
        min-width: 0;
        min-height: 210px;
        padding: 14px !important;
    }
    .container .rb-phone-home .rb-lower-grid > .rb-journal-card { display: none !important; }
    .container .rb-phone-home .rb-checklist .rb-check-item:nth-child(n+4) { display: none !important; }
    .container .rb-phone-home .rb-check-item { min-height: 46px; font-size: 13px; }
    .container .rb-phone-home .rb-section-title { color: #f4f7fc !important; }
    .container .rb-phone-home .rb-section-title a { color: #2d6bff !important; font-size: 0; white-space: nowrap; }
    .container .rb-phone-home .rb-section-title a::after { content: "Все правила →"; font-size: 12px; }

    /* На телефоне баланс показывает именно запрошенные два ограничения. */
    .container .rb-phone-home .rb-balance-content { width: 100%; }
    .container .rb-phone-home .rb-balance-amount { margin-top: 10px; font-size: 26px; }
    .container .rb-phone-home .rb-currency { font-size: 11px; }
    .container .rb-phone-home .rb-balance-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .container .rb-phone-home .rb-balance-stats .rb-balance-stat:nth-child(2),
    .container .rb-phone-home .rb-balance-stats .rb-balance-stat:nth-child(4) { display: none !important; }
    .container .rb-phone-home .rb-balance-stat span { font-size: 10px; }
    .container .rb-phone-home .rb-balance-stat strong { font-size: 13px; }
    .container .rb-phone-home .rb-control-title { font-size: 14px; line-height: 1.2; }
    .container .rb-phone-home .rb-control-text { max-width: none; font-size: 12px; line-height: 1.35; }
    .container .rb-phone-home .rb-primary-action { min-height: 46px; margin-top: 12px; font-size: 12px; }

    /* Дополнительные desktop-метрики остаются доступными, но не захламляют
       первый экран до выбора пользователя. */
    .container .rb-phone-home .rb-phone-add-metrics {
        grid-column: 1 / -1 !important;
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 0;
        padding: 0 12px;
        border: 1px solid #26364d;
        border-radius: 12px;
        background: #0b1422;
        color: #a8b7d1;
        font: 650 12px/1 var(--font-main, Inter, sans-serif);
    }
    .container .rb-phone-home .rb-phone-add-metrics > span { color: #2d6bff; font-size: 18px; }
    .container .rb-phone-home .rb-phone-add-metrics > b { color: #2d6bff; font-size: 18px; font-weight: 500; }
    .container .rb-phone-home .rb-custom-section { display: none !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section { display: block !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section { grid-column: 1 / -1; }
    .container .rb-phone-home .rb-custom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .container .rb-phone-home .rb-custom-card { min-width: 0; min-height: 120px; padding: 10px; }
    .container .rb-phone-home .rb-custom-card.is-chart { grid-column: 1 / -1; }
}

/* Injected mobile-only elements must not appear in the unchanged desktop view. */
.rb-phone-violation-chart,
.rb-phone-add-metrics { display: none; }
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-phone-violation-chart { display: block; }
    .container .rb-phone-home .rb-phone-add-metrics { display: flex; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value::before { content: "−"; }
}

@media screen and (max-width: 350px) {
    .container .rb-phone-home .rb-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 5px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) { padding: 6px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head { font-size: 8px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head .quiet { font-size: 7px; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring { width: 57px; height: 57px; }
}

/* RISKBLOCK_PHONE_HOME_LOGO_ACCOUNT_FIX_V2 — логотип виден во всех темах. */
@media screen and (max-width: 760px) {
    html:not([data-theme="light"]) body:has(.rb-phone-home) .rb-phone-brand-mark {
        filter: brightness(0) invert(1) !important;
    }
    html[data-theme="light"] body:has(.rb-phone-home) .rb-phone-brand-mark {
        filter: none !important;
    }
    body:has(.rb-phone-home) .rb-phone-avatar {
        position: relative;
        z-index: 3;
        cursor: pointer !important;
        pointer-events: auto !important;
    }
}

/* RISKBLOCK_PHONE_HOME_LOGO_SIZE_FIX_V3 — увеличенный логотип в шапке. */
@media screen and (max-width: 760px) {
    body:has(.rb-phone-home) .rb-phone-brand {
        gap: 9px !important;
        font-size: 26px !important;
        font-weight: 840 !important;
        letter-spacing: -.8px !important;
    }
    body:has(.rb-phone-home) .rb-phone-brand > span:last-child,
    body:has(.rb-phone-home) .rb-phone-brand > span:last-child > span {
        font-size: 26px !important;
        line-height: 1 !important;
    }
    body:has(.rb-phone-home) .rb-phone-brand-mark {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
    }
}

@media screen and (max-width: 390px) {
    body:has(.rb-phone-home) .rb-phone-brand {
        font-size: 24px !important;
    }
    body:has(.rb-phone-home) .rb-phone-brand > span:last-child,
    body:has(.rb-phone-home) .rb-phone-brand > span:last-child > span {
        font-size: 24px !important;
    }
    body:has(.rb-phone-home) .rb-phone-brand-mark {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
    }
}

/* v25: shared header contrast, compact source connection CTA and polished
   optional metric cards. This block is intentionally last so it wins over
   legacy mobile overrides from earlier iterations. */
@media screen and (max-width: 760px) {
    /* The source logo is the original black RB mark. In dark and gray themes
       every phone header needs the white version, including non-home pages. */
    html:not([data-theme="light"]) .rb-phone-header .rb-phone-brand-mark {
        filter: brightness(0) invert(1) !important;
    }
    html[data-theme="light"] .rb-phone-header .rb-phone-brand-mark {
        filter: none !important;
    }

    /* Logged-in users see one compact action instead of the large verified
       data paragraph. It is a normal link, so the complete connection page
       remains available. */
    .container .rb-phone-home .rb-connect-cta {
        width: 100% !important;
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0 14px;
        border: 1px solid rgba(57, 121, 255, .65);
        border-radius: 12px;
        background: linear-gradient(135deg, #2468f5, #3b78ff);
        box-shadow: 0 8px 22px rgba(36, 104, 245, .19);
        order: 2 !important;
    }
    .container .rb-phone-home .rb-connect-cta a {
        width: 100%;
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: #fff !important;
        font-size: 13px;
        font-weight: 750;
        line-height: 1;
        text-decoration: none;
    }
    .container .rb-phone-home .rb-connect-cta a > span:last-child {
        font-size: 20px;
        font-weight: 400;
        line-height: 1;
    }
    .container .rb-phone-home .rb-main > .rb-connect-cta,
    .container .rb-phone-home .rb-main > .rb-kpi-grid,
    .container .rb-phone-home .rb-main > .rb-phone-add-metrics,
    .container .rb-phone-home .rb-main > .rb-custom-section {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
    .container .rb-phone-home .rb-main > .rb-connect-cta { order: 2 !important; }
    .container .rb-phone-home .rb-main > .rb-kpi-grid { order: 3 !important; }
    .container .rb-phone-home .rb-middle-grid > .rb-section-card:first-child { order: 4 !important; }
    .container .rb-phone-home .rb-middle-grid > .rb-balance-card { order: 5 !important; }
    .container .rb-phone-home .rb-lower-grid > .rb-control-card { order: 6 !important; }
    .container .rb-phone-home .rb-main > .rb-phone-add-metrics { order: 7 !important; }
    .container .rb-phone-home .rb-main > .rb-custom-section { order: 8 !important; }

    /* Additional metrics: two equal cards, clear hierarchy, and enough
       contrast in all three laptop themes. */
    .container .rb-phone-home .rb-phone-add-metrics {
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        border: 1px solid var(--rb-phone-border, #26364d) !important;
        border-radius: 14px !important;
        background: var(--rb-phone-card, #0b1422) !important;
        color: var(--rb-phone-white, #f4f7fc) !important;
        box-shadow: 0 5px 16px rgba(0, 0, 0, .08);
        font-size: 13px !important;
    }
    .container .rb-phone-home .rb-phone-add-metrics > span,
    .container .rb-phone-home .rb-phone-add-metrics > b {
        color: #3b78ff !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 15px !important;
        border: 1px solid var(--rb-phone-border, #26364d) !important;
        border-radius: 18px !important;
        background: linear-gradient(145deg, var(--rb-phone-section, #0c1726), var(--rb-phone-section-deep, #09121f)) !important;
        color: var(--rb-phone-white, #f4f7fc) !important;
        box-shadow: 0 8px 22px rgba(0, 0, 0, .10);
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-head {
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 14px !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-head h2 {
        color: var(--rb-phone-white, #f4f7fc) !important;
        font-size: 16px !important;
        font-weight: 780 !important;
        line-height: 1.15 !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-head p {
        max-width: 245px;
        margin-top: 5px !important;
        color: var(--rb-phone-muted, #9eacc2) !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-head button {
        flex: 0 0 auto;
        max-width: 90px;
        padding: 0;
        color: #5d86ff !important;
        font-size: 11px !important;
        font-weight: 750 !important;
        line-height: 1.25 !important;
        text-align: right;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card {
        min-width: 0 !important;
        min-height: 150px !important;
        display: block !important;
        padding: 12px !important;
        border: 1px solid var(--rb-phone-border, #26364d) !important;
        border-radius: 16px !important;
        background: linear-gradient(145deg, var(--rb-phone-card, #101d2d), var(--rb-phone-card-deep, #0b1523)) !important;
        color: var(--rb-phone-white, #f4f7fc) !important;
        box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 5px 15px rgba(0, 0, 0, .06);
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card.is-chart {
        grid-column: 1 / -1 !important;
        min-height: 174px !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card-top {
        min-width: 0;
        gap: 8px !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card-title {
        min-width: 0;
        align-items: flex-start !important;
        gap: 9px !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card-icon {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
        border: 1px solid rgba(83, 126, 255, .30) !important;
        border-radius: 11px !important;
        background: var(--rb-phone-icon, #142541) !important;
        color: #5f86ff !important;
        font-size: 10px !important;
        font-weight: 800 !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card-label {
        max-width: 112px;
        color: var(--rb-phone-white, #f4f7fc) !important;
        font-size: 12px !important;
        font-weight: 760 !important;
        line-height: 1.18 !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card-group {
        margin-top: 4px !important;
        color: var(--rb-phone-muted, #9eacc2) !important;
        font-size: 8px !important;
        font-weight: 750 !important;
        letter-spacing: .08em;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-value {
        margin-top: 18px !important;
        color: var(--rb-phone-white, #f4f7fc) !important;
        font-size: 27px !important;
        font-weight: 780 !important;
        line-height: 1 !important;
        letter-spacing: -.7px !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-value.positive { color: #12d89a !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-value.negative { color: #ff6372 !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-value.warning { color: #f4b342 !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-meta {
        max-width: 150px;
        margin-top: 9px !important;
        color: var(--rb-phone-muted, #9eacc2) !important;
        font-size: 10px !important;
        line-height: 1.35 !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-ring {
        right: 11px !important;
        bottom: 11px !important;
        width: 68px !important;
        height: 68px !important;
        opacity: .92;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-ring circle { stroke-width: 8 !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-ring .track { stroke: var(--rb-phone-ring-track, #26364d) !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-ring .value { stroke: #4e7dff !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-chart {
        height: 74px !important;
        opacity: .95;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card.is-chart .rb-custom-value { margin-top: 14px !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card.is-chart .rb-custom-meta { max-width: 210px; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-chart .fill { fill: var(--rb-phone-chart-fill, rgba(59, 120, 255, .13)) !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-chart .line { stroke: #4e7dff !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card.positive-chart .rb-custom-chart .line { stroke: #12d89a !important; }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-empty {
        min-height: 86px !important;
        margin-top: 10px;
        border-color: var(--rb-phone-border, #26364d) !important;
        color: var(--rb-phone-muted, #9eacc2) !important;
        font-size: 11px !important;
    }
}

/* Black theme. */
@media screen and (max-width: 760px) {
    html[data-theme="dark"] .rb-phone-home,
    html:not([data-theme]) .rb-phone-home {
        --rb-phone-section: #0d1928;
        --rb-phone-section-deep: #091420;
        --rb-phone-card: #101e30;
        --rb-phone-card-deep: #0b1726;
        --rb-phone-border: #29415f;
        --rb-phone-icon: #142744;
        --rb-phone-ring-track: #263b57;
        --rb-phone-chart-fill: rgba(59, 120, 255, .15);
        --rb-phone-white: #f4f7fc;
        --rb-phone-muted: #a6b6d0;
    }

    /* Gray theme. */
    html[data-theme="gray"] .rb-phone-home {
        --rb-phone-section: #2d333c;
        --rb-phone-section-deep: #252a31;
        --rb-phone-card: #303842;
        --rb-phone-card-deep: #272d35;
        --rb-phone-border: #4a5665;
        --rb-phone-icon: #3b4654;
        --rb-phone-ring-track: #596574;
        --rb-phone-chart-fill: rgba(91, 137, 255, .18);
        --rb-phone-white: #f5f6f8;
        --rb-phone-muted: #c0c7d2;
    }

    /* Light theme: no black text lost on pale cards. */
    html[data-theme="light"] .rb-phone-home {
        --rb-phone-section: #f9fbfe;
        --rb-phone-section-deep: #f1f5fa;
        --rb-phone-card: #ffffff;
        --rb-phone-card-deep: #f7faff;
        --rb-phone-border: #d8e1ed;
        --rb-phone-icon: #edf3ff;
        --rb-phone-ring-track: #dce4ef;
        --rb-phone-chart-fill: rgba(59, 120, 255, .12);
        --rb-phone-white: #1d2736;
        --rb-phone-muted: #65758c;
    }
    html[data-theme="light"] .container .rb-phone-home .rb-phone-add-metrics {
        color: #1d2736 !important;
        box-shadow: 0 5px 15px rgba(42, 67, 101, .08);
    }
    html[data-theme="light"] .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-section {
        box-shadow: 0 7px 18px rgba(42, 67, 101, .08);
    }
    html[data-theme="light"] .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card {
        box-shadow: 0 5px 15px rgba(42, 67, 101, .07), inset 0 1px rgba(255, 255, 255, .8) !important;
    }
}

@media screen and (max-width: 350px) {
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .container .rb-phone-home[data-mobile-metrics="visible"] .rb-custom-card.is-chart {
        grid-column: 1 !important;
    }
}

/* v26: phone header geometry. Keep the complete header inside the viewport,
   make the RB mark slightly larger, and give the wordmark a tighter rhythm. */
@media screen and (max-width: 760px) {
    .rb-phone-header {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 14px 15px !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        box-sizing: border-box !important;
        gap: 6px !important;
        overflow: hidden !important;
    }
    .rb-phone-brand {
        min-width: 0 !important;
        flex: 1 1 auto !important;
        gap: 4px !important;
        overflow: hidden !important;
        font-size: 22px !important;
        font-weight: 790 !important;
        letter-spacing: -.65px !important;
    }
    .rb-phone-brand-mark {
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        margin-left: 0 !important;
        object-fit: contain !important;
    }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span {
        min-width: 0 !important;
        overflow: hidden !important;
        font-size: 22px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    .rb-phone-account-status {
        flex: 0 1 auto !important;
        gap: 5px !important;
        padding-right: 7px !important;
        padding-left: 7px !important;
        font-size: 8px !important;
    }
    .rb-phone-notifications {
        flex: 0 0 25px !important;
        width: 25px !important;
    }
    .rb-phone-avatar {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }
}

@media screen and (max-width: 390px) {
    .rb-phone-header {
        margin-right: 12px !important;
        margin-left: 12px !important;
        gap: 5px !important;
    }
    .rb-phone-brand {
        gap: 3px !important;
        font-size: 21px !important;
    }
    .rb-phone-brand-mark {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
    }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span {
        font-size: 21px !important;
    }
    .rb-phone-account-status {
        padding-right: 6px !important;
        padding-left: 6px !important;
        font-size: 7.5px !important;
    }
    .rb-phone-avatar {
        width: 36px !important;
        height: 36px !important;
        flex-basis: 36px !important;
    }
}

/* v29-tail: final home layout, one coherent override after the legacy file. */
@media screen and (max-width: 760px) {
    .rb-phone-header { width: calc(100% - 32px) !important; max-width: 398px !important; margin: 0 16px 12px !important; padding: 0 !important; gap: 8px !important; overflow: visible !important; box-sizing: border-box !important; }
    .rb-phone-brand { min-width: 0 !important; flex: 1 1 auto !important; gap: 2px !important; overflow: visible !important; font-size: 19px !important; font-weight: 760 !important; letter-spacing: -.55px !important; white-space: nowrap !important; }
    .rb-phone-brand-mark { width: 50px !important; height: 50px !important; flex: 0 0 50px !important; margin: 0 !important; }
    .rb-phone-brand > span:last-child, .rb-phone-brand > span:last-child > span { font-size: 16px !important; line-height: 1 !important; white-space: nowrap !important; }
    .rb-phone-account-status { display: inline-flex !important; flex: 0 0 auto !important; min-width: 0 !important; min-height: 36px !important; gap: 5px !important; padding: 0 8px !important; border: 1px solid #254565 !important; border-radius: 12px !important; background: #071a2a !important; color: #00d9a5 !important; font-size: 10px !important; font-weight: 760 !important; letter-spacing: .01em !important; }
    .rb-phone-account-status i { width: 9px !important; height: 9px !important; flex: 0 0 9px !important; border-radius: 50% !important; background: #00d9a5 !important; box-shadow: 0 0 0 5px rgba(0,217,165,.12), 0 0 12px rgba(0,217,165,.42) !important; }
    .rb-phone-account-status svg { width: 13px !important; height: 13px !important; stroke: #8eb3df !important; }
    .rb-phone-notifications { flex: 0 0 27px !important; width: 27px !important; height: 40px !important; }
    .rb-phone-avatar { width: 40px !important; height: 40px !important; flex: 0 0 40px !important; }
    .rb-phone-home .rb-topbar { margin-bottom: 8px !important; }
    body:has(.rb-phone-home) .rb-greeting h1, .rb-phone-home .rb-greeting h1 { font-size: clamp(18px, 4.9vw, 21px) !important; line-height: 1.12 !important; letter-spacing: -.4px !important; }
    .rb-phone-home .rb-greeting p { margin-top: 4px !important; font-size: 13px !important; line-height: 1.28 !important; }
    .rb-phone-home .rb-kpi-grid { gap: 8px !important; row-gap: 8px !important; margin-top: 0 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) { min-height: 0 !important; height: auto !important; aspect-ratio: 1 / 1 !important; padding: 11px 9px !important; border-radius: 14px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head { font-size: 10px !important; line-height: 1.12 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+3) .rb-card-head .quiet { margin-top: 4px !important; font-size: 10px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-value, .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-kpi-value { margin-top: 9px !important; font-size: 28px !important; line-height: 1 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-sparkline { height: 28px !important; margin-top: 9px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(-n+2) .rb-progress { height: 6px !important; margin-top: 8px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(2) .rb-kpi-value small { font-size: 14px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring { width: 76px !important; height: 76px !important; margin: 10px auto 0 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-track, .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-progress { stroke-width: 7 !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number { font-size: 20px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number small { font-size: 11px !important; }
    .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption { top: 61% !important; font-size: 7px !important; }
    /* No carousel dots: the reference flows directly from the KPI row into
       the comparison card. */
    .rb-phone-home .rb-kpi-grid::after { display: none !important; content: none !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) { grid-row: 2 !important; min-height: 180px !important; margin-top: 0 !important; padding: 14px 16px 13px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) { overflow: hidden !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring { width: 64px !important; height: 64px !important; margin: 6px auto 0 !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption { top: 61% !important; font-size: 7px !important; }
    .container .rb-phone-home .rb-phone-chart-grid, .container .rb-phone-home .rb-phone-chart-fill { display: none !important; }
    .container .rb-phone-home .rb-phone-chart-area { display: block !important; fill: rgba(45,107,255,.13) !important; stroke: none !important; opacity: 1 !important; }
    .container .rb-phone-home .rb-phone-chart-green, .container .rb-phone-home .rb-phone-chart-blue { fill: none !important; stroke-width: 2.8 !important; opacity: 1 !important; }
    .container .rb-phone-home .rb-phone-violation-chart {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        top: 49px !important;
        right: 10px !important;
        width: 44% !important;
        height: 111px !important;
        overflow: visible !important;
        pointer-events: none;
    }
    .container .rb-phone-home .rb-phone-violation-chart svg { display: block !important; width: 100% !important; height: 78px !important; }
    .container .rb-phone-home .rb-phone-chart-legend { display: flex !important; visibility: visible !important; justify-content: center !important; gap: 8px !important; margin-top: 3px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid { width: 48% !important; gap: 0 !important; margin-top: 13px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:nth-child(2) { padding-left: 9px !important; border-left: 1px solid #26364d !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid .value { font-size: 21px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss { width: 48% !important; margin-top: 11px !important; padding-top: 8px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value { margin-top: 4px !important; font-size: 23px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:first-child { order: 1 !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:nth-child(2) { order: 2 !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:first-child .label::after { content: "Без нарушений" !important; font-size: 9px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid > div:nth-child(2) .label::after { content: "Фактический результат" !important; font-size: 8px !important; white-space: nowrap !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label::after { content: "Стоимость нарушений" !important; font-size: 9px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-violation-grid .label::after, .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-label::after { display: block !important; line-height: 1.15 !important; white-space: normal !important; }
    .container .rb-phone-home .rb-check-item { min-height: 38px !important; color: #f4f7fc !important; font-size: 12px !important; }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(4) .rb-loss-value::before { content: none !important; display: none !important; }
}
@media screen and (max-width: 390px) {
    .rb-phone-header { width: calc(100% - 28px) !important; margin-right: 14px !important; margin-left: 14px !important; gap: 6px !important; }
    .rb-phone-brand { gap: 1px !important; font-size: 18px !important; }
    .rb-phone-brand-mark { width: 50px !important; height: 50px !important; flex-basis: 50px !important; }
    .rb-phone-brand > span:last-child, .rb-phone-brand > span:last-child > span { font-size: 16px !important; }
    .rb-phone-account-status { min-height: 34px !important; gap: 4px !important; padding-right: 7px !important; padding-left: 7px !important; font-size: 9px !important; }
    .rb-phone-notifications { flex-basis: 25px !important; width: 25px !important; }
    .rb-phone-avatar { width: 38px !important; height: 38px !important; flex-basis: 38px !important; }
}

/* v34: theme-aligned header spacing, larger logo and compact KPI spacing. */
@media screen and (max-width: 760px) {
    .rb-phone-brand-mark {
        width: 56px !important;
        height: 56px !important;
        flex-basis: 56px !important;
    }
    .container .rb-phone-home .rb-topbar {
        margin-bottom: -4px !important;
    }
    html[data-theme="dark"] .rb-phone-home,
    html:not([data-theme]) .rb-phone-home,
    html[data-theme="gray"] .rb-phone-home {
        margin-top: 3px !important;
    }
}

/* v33: compact greeting typography and keep a clean breathing space below
   the shared header. */
@media screen and (max-width: 760px) {
    .rb-phone-home {
        margin-top: -25px !important;
    }
    .container .rb-phone-home .rb-main {
        padding-top: 0 !important;
    }
    .container .rb-phone-home .rb-greeting h1 {
        font-size: 19px !important;
        line-height: 1.12 !important;
        letter-spacing: -.3px !important;
    }
    .container .rb-phone-home .rb-greeting p {
        margin-top: 5px !important;
        font-size: 13px !important;
        line-height: 1.28 !important;
    }
}

/* Theme-specific correction must come after the shared home margin rule. */
@media screen and (max-width: 760px) {
    html[data-theme="dark"] .rb-phone-home,
    html:not([data-theme]) .rb-phone-home,
    html[data-theme="gray"] .rb-phone-home {
        margin-top: 3px !important;
    }
}

/* v35: final spacing/logo correction after the mobile screenshot check. */
@media screen and (max-width: 760px) {
    .rb-phone-brand-mark {
        width: 62px !important;
        height: 62px !important;
        flex-basis: 62px !important;
    }
    .rb-phone-home {
        margin-top: -35px !important;
    }
    html[data-theme="dark"] .rb-phone-home,
    html:not([data-theme]) .rb-phone-home,
    html[data-theme="gray"] .rb-phone-home {
        margin-top: -7px !important;
    }
}

/* v43: enlarge both brand elements while keeping the RB mark dominant. */
@media screen and (max-width: 760px) {
    .rb-phone-brand-mark {
        width: 72px !important;
        height: 72px !important;
        flex-basis: 72px !important;
        flex-shrink: 0 !important;
    }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span {
        font-size: 22px !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring {
        width: 58px !important;
        height: 58px !important;
        margin: 8px auto 0 !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number {
        font-size: 20px !important;
    }
}

/* v47: direct home header. It is rendered in dashboard.html so it cannot be
   lost when an older base template suppresses the shared phone header. */
.rb-phone-home-header { display: none; }
@media screen and (max-width: 760px) {
    body:has(.rb-phone-home) .rb-phone-header { display: none !important; }
    .container .rb-phone-home-header {
        display: flex !important;
        align-items: center;
        gap: 4px;
        width: 100%;
        height: 64px;
        min-height: 64px;
        margin: 0 0 6px;
        padding: 0;
        box-sizing: border-box;
        overflow: visible;
    }
    .container .rb-phone-home-brand {
        display: inline-flex;
        align-items: center;
        gap: 0;
        min-width: 0;
        flex: 1 1 auto;
        max-width: calc(100% - 68px);
        color: var(--text-primary);
        text-decoration: none;
        white-space: nowrap;
    }
    .container .rb-phone-home-brand-mark {
        width: 64px !important;
        height: 64px !important;
        flex: 0 0 64px !important;
        object-fit: contain;
    }
    .container .rb-phone-home-brand > span,
    .container .rb-phone-home-brand > span > span {
        font-size: 23px !important;
        line-height: 1 !important;
        font-weight: 760;
    }
    .container .rb-phone-home-brand > span > span { color: var(--blue); }
    .container .rb-phone-home-notifications {
        flex: 0 0 24px;
        color: #8eb3df;
        font-size: 22px;
        line-height: 1;
        transform: rotate(180deg);
    }
    .container .rb-phone-home-avatar {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        border: 1px solid #285078;
        border-radius: 50%;
        color: #fff;
        text-decoration: none;
        font-size: 14px;
        font-weight: 700;
    }
}

@media screen and (max-width: 390px) {
    .container .rb-phone-home-header { width: 100%; margin-left: 0; margin-right: 0; gap: 4px; }
    .container .rb-phone-home-brand { max-width: calc(100% - 68px); }
    .container .rb-phone-home-brand-mark { width: 60px !important; height: 60px !important; flex-basis: 60px !important; }
    .container .rb-phone-home-brand > span,
    .container .rb-phone-home-brand > span > span { font-size: 22px !important; }
}

/* The older phone-home rules used a negative top margin. It is invalid for
   the direct header because it moves the entire brand under the browser bar. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home { margin-top: 0 !important; }
}

/* v48: tighten the brand-to-greeting rhythm and make checklist rows compact. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home-header {
        margin-bottom: 0 !important;
    }
    .container .rb-phone-home .rb-topbar {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }
    .container .rb-phone-home .rb-checklist {
        gap: 6px !important;
    }
    .container .rb-phone-home .rb-checklist .rb-check-item {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        gap: 10px !important;
        overflow: hidden !important;
        line-height: 1.1 !important;
    }
    .container .rb-phone-home .rb-checklist .rb-check-item .box {
        width: 30px !important;
        height: 30px !important;
        flex: 0 0 30px !important;
    }
}

/* v49: make the brand block identical in light and dark themes and prevent
   the old theme-specific top spacing from changing the first viewport. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home {
        margin-top: 0 !important;
    }
    .container .rb-phone-home-header {
        height: 64px !important;
        min-height: 64px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .container .rb-phone-home .rb-main {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    .container .rb-phone-home .rb-topbar {
        margin-top: 0 !important;
        margin-bottom: 6px !important;
    }
    .container .rb-phone-home-brand {
        cursor: default !important;
        pointer-events: none !important;
    }
}

/* v52: the light-theme spec has a more specific 12px main padding rule.
   Neutralize it explicitly and invert only the black logo in dark/gray mode. */
@media screen and (max-width: 760px) {
    html[data-theme="light"] .container .rb-phone-home,
    html[data-theme="dark"] .container .rb-phone-home,
    html[data-theme="gray"] .container .rb-phone-home,
    html:not([data-theme]) .container .rb-phone-home {
        margin-top: 0 !important;
    }
    html[data-theme="light"] .container .rb-phone-home .rb-main,
    html[data-theme="dark"] .container .rb-phone-home .rb-main,
    html[data-theme="gray"] .container .rb-phone-home .rb-main,
    html:not([data-theme]) .container .rb-phone-home .rb-main {
        padding-top: 0 !important;
    }
    html[data-theme="dark"] .container .rb-phone-home-brand-mark,
    html[data-theme="gray"] .container .rb-phone-home-brand-mark,
    html:not([data-theme]) .container .rb-phone-home-brand-mark {
        filter: brightness(0) invert(1) !important;
    }
    html[data-theme="light"] .container .rb-phone-home-brand-mark {
        filter: none !important;
    }
}

/* The notification placeholder was a temporary decorative glyph. It must
   remain hidden on the home page even if an older template survives. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home-brand {
        max-width: none !important;
    }
    .container .rb-phone-home-avatar {
        margin-left: auto !important;
    }
    .container .rb-phone-home .rb-phone-home-notifications,
    .container .rb-phone-home .rb-phone-notifications {
        display: none !important;
    }
}

/* v42 legacy block retained for compatibility; v43 values follow it. */
/* v42: rebuild the mobile brand proportions and keep the discipline
   ring a clear inset inside the KPI card. */
@media screen and (max-width: 760px) {
    .rb-phone-brand-mark {
        width: 72px !important;
        height: 72px !important;
        flex-basis: 72px !important;
        flex-shrink: 0 !important;
    }
    .rb-phone-brand {
        gap: 1px !important;
    }
    .rb-phone-brand > span:last-child,
    .rb-phone-brand > span:last-child > span {
        font-size: 22px !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring {
        width: 54px !important;
        height: 54px !important;
        margin: 8px auto 0 !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-track,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-progress {
        stroke-width: 8 !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number {
        font-size: 20px !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-number small {
        font-size: 13px !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(3) .rb-ring-caption {
        top: 62% !important;
        font-size: 6px !important;
    }
    .container .rb-phone-home .rb-phone-chart-area {
        transition: none !important;
    }
}

/* v68: authoritative demo chart rendering. Keep the daily drawdown SVG
   visible and let the violation chart expose the real value ratio instead of
   visually compressing both series into the same band. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-server,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-fallback {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 24px 0 0 !important;
        overflow: visible !important;
    }
    .container .rb-phone-home .rb-phone-drawdown-area {
        display: block !important;
        fill: rgba(0, 211, 154, .14) !important;
        stroke: none !important;
        opacity: 1 !important;
    }
    .container .rb-phone-home .rb-phone-drawdown-line {
        display: block !important;
        fill: none !important;
        stroke: #00d39a !important;
        stroke-width: 2.8 !important;
        stroke-dasharray: none !important;
        stroke-linecap: round !important;
        vector-effect: non-scaling-stroke !important;
    }
    .container .rb-phone-home .rb-phone-chart-area {
        display: block !important;
        fill: rgba(45, 107, 255, .13) !important;
        stroke: none !important;
        opacity: 1 !important;
    }
    .container .rb-phone-home .rb-phone-chart-green,
    .container .rb-phone-home .rb-phone-chart-blue {
        display: block !important;
        fill: none !important;
        stroke-width: 2.8 !important;
        stroke-linecap: round !important;
        opacity: 1 !important;
    }
}

/* v70: on mobile the daily drawdown card is intentionally value-only.
   Keep the 5.0% limit in the data and calculations, but show only the
   current drawdown as the prominent number. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-card-head .quiet {
        display: none !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-value {
        display: block !important;
        visibility: visible !important;
        margin-top: 28px !important;
        font-size: 36px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-sparkline,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-server,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-fallback,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-foot {
        display: none !important;
    }
}

/* v72: keep the current/maximum value fully inside the narrow first card. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-kpi-value {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        font-size: clamp(15px, 4.4vw, 20px) !important;
        letter-spacing: -0.9px !important;
        line-height: 1.05 !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-drawdown-safe {
        color: #00d39a !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-drawdown-warning {
        color: #ff5b6b !important;
    }
}

/* v73: restore the daily-drawdown chart on mobile. */
@media screen and (max-width: 760px) {
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-server,
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-fallback {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        height: 55px !important;
        min-height: 55px !important;
        margin: 16px 0 0 !important;
        overflow: visible !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-area {
        display: block !important;
        fill: rgba(0, 211, 154, .14) !important;
        stroke: none !important;
        opacity: 1 !important;
    }
    .container .rb-phone-home .rb-kpi-grid > .rb-kpi-card:nth-child(1) .rb-phone-drawdown-line {
        display: block !important;
        fill: none !important;
        stroke: #00d39a !important;
        stroke-width: 2 !important;
        stroke-dasharray: none !important;
        stroke-linecap: round !important;
        vector-effect: non-scaling-stroke !important;
    }
}


/* RB_FIXED_DRAWDOWN_GRAPH_V1 */
@media screen and (max-width: 760px) {
    .rb-phone-drawdown-server {
        display: block !important;
        width: 100% !important;
        height: 55px !important;
        min-height: 55px !important;
        margin: 16px 0 0 !important;
        overflow: visible !important;
        visibility: visible !important;
    }

    .rb-phone-drawdown-line {
        display: block !important;
        fill: none !important;
        stroke: #00d39a !important;
        stroke-width: 2.5 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        stroke-dasharray: none !important;
        vector-effect: non-scaling-stroke !important;
    }

    .rb-phone-drawdown-area {
        display: block !important;
        fill: rgba(0, 211, 154, 0.14) !important;
        stroke: none !important;
    }

    .rb-drawdown-safe {
        color: #00d39a !important;
    }

    .rb-drawdown-warning {
        color: #ff5b6b !important;
    }
}
