/* Р¤РёР·РёС‡РµСЃРєРёР№ СЃР»РѕР№ РјР°СЂС€СЂСѓС‚РЅС‹С… СЃС‚РёР»РµР№ Р·Р°СЂРµР·РµСЂРІРёСЂРѕРІР°РЅ РґР»СЏ СЌС‚Р°РїРѕРІ 3вЂ“6.
   РљР°Р¶РґС‹Р№ Р±СѓРґСѓС‰РёР№ СЃРµР»РµРєС‚РѕСЂ РґРѕР»Р¶РµРЅ РЅР°С‡РёРЅР°С‚СЊСЃСЏ СЃ .app-redesign. */

/* РџР°РєРµС‚ 3.1 вЂ” РіР»Р°РІРЅР°СЏ В«РџСЂРѕРіСЂР°РјРјС‹В»: СЃРµС‚РєР° РєР°СЂС‚РѕС‡РµРє РёР· RequestRanges. */
.app-redesign .rd-home__programs {
    padding-block: var(--rd-space-6) var(--rd-section-gap);
}

/* РџР°РєРµС‚ 3.2 вЂ” hero РїРµСЂРІРѕР№ СЃС‚СЂР°РЅРёС†С‹ РїРѕ РјР°РєРµС‚Сѓ В«РІР°СЂРёР°РЅС‚ AВ».
   Р’РµСЃР° С€СЂРёС„С‚Р° РѕРіСЂР°РЅРёС‡РµРЅС‹ РїСЂРёРЅСЏС‚С‹Рј РЅР°Р±РѕСЂРѕРј 400/600/700 (РїР°РєРµС‚ 2.6):
   mock-weight 800 СЃРѕР·РЅР°С‚РµР»СЊРЅРѕ РїРѕРЅРёР¶РµРЅ РґРѕ 700 вЂ” РІРёР·СѓР°Р»СЊРЅС‹Р№ diff РѕС‚РјРµС‡Р°РµС‚ Sol. */
.app-redesign .rd-hero {
    padding-block: 2.5rem 0.75rem;
}

.app-redesign .rd-hero__inner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 3.5rem;
}

.app-redesign .rd-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--rd-space-2);
    margin: 0 0 var(--rd-space-4);
    color: var(--rd-color-primary);
    font-size: var(--rd-font-size-xs);
    font-weight: var(--rd-font-weight-bold);
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.app-redesign .rd-hero__eyebrow::before {
    width: 1.875rem;
    height: 0.125rem;
    background: var(--rd-color-primary);
    border-radius: var(--rd-radius-pill);
    content: "";
}

.app-redesign .rd-hero__title {
    margin: 0 0 var(--rd-space-4);
    max-width: 36rem;
    font-size: clamp(2.8rem, 5.2vw, 4.1rem);
    font-weight: var(--rd-font-weight-bold);
    letter-spacing: -0.045em;
    line-height: 1.04;
}

.app-redesign .rd-hero__accent {
    color: var(--rd-color-primary);
    font-style: normal;
}

.app-redesign .rd-hero__intro {
    max-width: 31.5rem;
    margin: 0 0 var(--rd-space-5);
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-md);
    line-height: var(--rd-line-height-body);
}

.app-redesign .rd-hero__actions {
    display: flex;
    align-items: center;
    gap: var(--rd-space-3);
    flex-wrap: wrap;
}

.app-redesign .rd-hero__visual {
    position: relative;
    display: grid;
    place-items: center;
    height: 18.125rem;
    overflow: hidden;
    background: var(--rd-color-success-soft);
    border-radius: var(--rd-radius-feature);
}

.app-redesign .rd-hero__visual::before,
.app-redesign .rd-hero__visual::after {
    position: absolute;
    border-radius: 50%;
    content: "";
}

/* Р”РµРєРѕСЂР°С‚РёРІРЅС‹Рµ РѕРєСЂСѓР¶РЅРѕСЃС‚Рё РјР°РєРµС‚Р° (Р·РЅР°С‡РµРЅРёСЏ С„РёРєСЃРёСЂРѕРІР°РЅС‹ СЌС‚Р°Р»РѕРЅРѕРј design-v2: mint/sand). */
.app-redesign .rd-hero__visual::before {
    top: -10rem;
    right: -8.125rem;
    width: 24.375rem;
    height: 24.375rem;
    background: #c9e0c5;
}

.app-redesign .rd-hero__visual::after {
    bottom: -6.25rem;
    left: -6.25rem;
    width: 14.375rem;
    height: 14.375rem;
    background: #f7e3a5;
}

.app-redesign .rd-hero__paper {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.35rem;
    width: min(17.5rem, calc(100% - 4rem));
    padding: 1.25rem 1.5rem 1.35rem;
    background: var(--rd-color-surface);
    border-radius: var(--rd-radius-card-sm);
    box-shadow: 0 1.375rem 3.4375rem rgba(39, 79, 42, 0.15);
    transform: rotate(-4deg);
}

.app-redesign .rd-hero__paper-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rd-space-3);
    margin-bottom: var(--rd-space-3);
}

.app-redesign .rd-hero__paper-icon {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    color: var(--rd-color-surface);
    background: var(--rd-color-primary);
    border-radius: 0.7rem;
    font-size: var(--rd-font-size-md);
    font-weight: var(--rd-font-weight-bold);
}

/* Content and progress treatment from the current hero mockup. */
.app-redesign .rd-hero__paper-badge {
    padding: 0.35rem 0.6rem;
    color: var(--rd-color-primary);
    background: var(--rd-color-success-soft);
    border-radius: var(--rd-radius-pill);
    font-size: 0.625rem;
    font-weight: var(--rd-font-weight-bold);
    white-space: nowrap;
}

.app-redesign .rd-hero__paper-value {
    color: var(--rd-color-ink);
    font-size: clamp(1.65rem, 3vw, 2.15rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.app-redesign .rd-hero__paper-caption {
    color: var(--rd-color-muted);
    font-size: 0.6875rem;
}

.app-redesign .rd-hero__paper-progress {
    display: block;
    height: 0.375rem;
    margin-top: var(--rd-space-3);
    overflow: hidden;
    background: #e8ece8;
    border-radius: var(--rd-radius-pill);
}

.app-redesign .rd-hero__paper-progress > span {
    display: block;
    width: 72%;
    height: 100%;
    background: var(--rd-color-primary);
    border-radius: inherit;
}

.app-redesign .rd-hero__actions .rd-btn--secondary {
    padding-inline: var(--rd-space-2);
    color: var(--rd-color-primary);
    background: transparent;
    border-color: transparent;
}

.app-redesign .rd-hero__actions .rd-btn--secondary:hover:not(:disabled):not([aria-disabled="true"]) {
    background: var(--rd-color-success-soft);
    border-color: transparent;
}

.app-redesign .rd-hero__cta {
    min-height: 2.5rem;
    padding-inline: var(--rd-space-4);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--rd-space-3);
    margin-bottom: var(--rd-section-gap);
}

.app-redesign .rd-stats__item {
    padding: 0.875rem var(--rd-space-4);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-card-sm);
}

.app-redesign .rd-stats__value {
    display: block;
    margin-bottom: var(--rd-space-1);
    font-size: 1.55rem;
    font-weight: var(--rd-font-weight-bold);
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.app-redesign .rd-stats__label {
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

@media (max-width: 67.5rem) {
    .app-redesign .rd-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--rd-space-6);
    }

    .app-redesign .rd-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 45rem) {
    .app-redesign .rd-hero {
        padding-block: var(--rd-space-6) var(--rd-space-5);
    }

    .app-redesign .rd-hero__accent {
        display: block;
    }

    .app-redesign .rd-hero__visual {
        display: none;
    }

    .app-redesign .rd-stats {
        grid-template-columns: minmax(0, 1fr);
    }
}

.app-redesign .rd-home__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--rd-space-5);
}

.app-redesign .rd-home__empty {
    margin: 0;
    padding: var(--rd-space-5);
    color: var(--rd-color-muted);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-card);
}

/* РџР°РєРµС‚ 3.3 вЂ” Р·Р°РіРѕР»РѕРІРѕРє СЃРµРєС†РёРё, С„РёР»СЊС‚СЂС‹-chips Рё РєР°СЂС‚РѕС‡РєРё РїСЂРѕРіСЂР°РјРј РёР· RequestRanges. */
.app-redesign .rd-home__section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--rd-space-4);
    margin-bottom: var(--rd-space-5);
}

.app-redesign .rd-home__section-title {
    margin: 0 0 var(--rd-space-1);
    font-size: var(--rd-font-size-xl);
    font-weight: var(--rd-font-weight-bold);
    letter-spacing: -0.035em;
    line-height: var(--rd-line-height-tight);
}

.app-redesign .rd-home__section-note {
    margin: 0;
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-home__section-link {
    display: inline-flex;
    align-items: center;
    gap: var(--rd-space-1);
    min-height: 44px;
    padding: var(--rd-space-2);
    color: var(--rd-color-primary);
    font-weight: var(--rd-font-weight-bold);
    text-decoration: none;
}

.app-redesign .rd-home__filters {
    display: flex;
    gap: var(--rd-space-2);
    margin-bottom: var(--rd-space-4);
    overflow-x: auto;
    scrollbar-width: none;
}

.app-redesign .rd-home__filter {
    min-height: 44px;
    padding: var(--rd-space-2) var(--rd-space-3);
    color: var(--rd-color-muted);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-pill);
    font-weight: var(--rd-font-weight-semibold);
    white-space: nowrap;
    cursor: pointer;
}

.app-redesign .rd-home__filter[aria-pressed="true"],
.app-redesign .rd-home__filter:hover {
    color: var(--rd-color-surface);
    background: var(--rd-color-ink);
    border-color: var(--rd-color-ink);
}

.app-redesign .rd-home__status {
    min-height: 1.25rem;
    margin: 0 0 var(--rd-space-3);
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-program-card {
    gap: var(--rd-space-2);
}

.app-redesign .rd-program-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--rd-space-2);
}

.app-redesign .rd-program-card__icon {
    display: grid;
    place-items: center;
    width: 2.875rem;
    height: 2.875rem;
    color: var(--rd-color-primary);
    background: var(--rd-color-success-soft);
    border-radius: 0.875rem;
    font-size: var(--rd-font-size-lg);
    font-weight: var(--rd-font-weight-bold);
}

.app-redesign .rd-program-card__title {
    overflow-wrap: anywhere;
}

.app-redesign .rd-program-card__details {
    display: grid;
    gap: var(--rd-space-3);
    margin: var(--rd-space-3) 0 0;
    padding-top: var(--rd-space-3);
    border-top: 0.0625rem solid var(--rd-color-line);
}

.app-redesign .rd-program-card__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--rd-space-3);
}

.app-redesign .rd-program-card__label {
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
    white-space: nowrap;
}

.app-redesign .rd-program-card__value {
    margin: 0;
    font-weight: var(--rd-font-weight-semibold);
    text-align: right;
    overflow-wrap: anywhere;
}

.app-redesign .rd-program-card__rate {
    font-weight: var(--rd-font-weight-regular);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-program-card__rate strong {
    font-weight: var(--rd-font-weight-bold);
}

.app-redesign .rd-home__filter-empty {
    margin-top: var(--rd-space-4);
}

.app-redesign .rd-home__filter-empty[hidden] {
    display: none;
}

/* РџР°РєРµС‚ 3.4 вЂ” РёРЅР»Р°Р№РЅ-СЂРµРґР°РєС‚РёСЂРѕРІР°РЅРёРµ СѓСЃР»РѕРІРёР№ РјРµРЅРµРґР¶РµСЂРѕРј (СЃСѓС‰РµСЃС‚РІСѓСЋС‰РёР№ Range-РєРѕРЅС‚СЂР°РєС‚). */
.app-redesign .rd-program-card__edit {
    margin-left: auto;
}

.app-redesign .rd-range-edit {
    display: grid;
    gap: var(--rd-space-3);
    margin-top: var(--rd-space-3);
    padding-top: var(--rd-space-3);
    border-top: 0.0625rem solid var(--rd-color-line);
}

.app-redesign .rd-range-edit[hidden] {
    display: none;
}

.app-redesign .rd-range-edit__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rd-space-3);
}

.app-redesign .rd-range-edit__field {
    display: grid;
    gap: var(--rd-space-1);
}

.app-redesign .rd-range-edit__field label {
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-range-edit__field input,
.app-redesign .rd-range-edit__field textarea {
    width: 100%;
    min-height: 44px;
    padding: var(--rd-space-2) var(--rd-space-3);
    color: var(--rd-color-ink);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-control);
}

.app-redesign .rd-range-edit__field textarea {
    min-height: 5rem;
    resize: vertical;
}

.app-redesign .rd-range-edit__actions {
    display: flex;
    gap: var(--rd-space-2);
}

.app-redesign .rd-range-edit__status {
    min-height: 1.25rem;
    margin: 0;
    font-size: var(--rd-font-size-sm);
    color: var(--rd-color-muted);
}

.app-redesign .rd-range-edit__status[data-range-state="error"] {
    color: var(--rd-color-status-danger);
}

.app-redesign .rd-program-card__details[hidden] {
    display: none;
}

/* QW-05: CTA СЃРѕР·РґР°РЅРёСЏ Р·Р°СЏРІРєРё РІРЅСѓС‚СЂРё РєР°СЂС‚РѕС‡РєРё РїСЂРѕРіСЂР°РјРјС‹. */
.app-redesign .rd-program-card__cta {
    justify-self: start;
    margin-block-start: auto;
}

/* РџР°РєРµС‚ 3.5 вЂ” РїР°РЅРµР»СЊ В«РџРѕСЃР»РµРґРЅРёРµ Р·Р°СЏРІРєРёВ» (structure РёР· СЌС‚Р°Р»РѕРЅР° .panel/.apps-mini). */
.app-redesign .rd-home__latest {
    margin-block: var(--rd-space-6) var(--rd-section-gap);
}

.app-redesign .rd-panel {
    display: grid;
    gap: var(--rd-space-4);
    padding: var(--rd-space-6);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-feature);
}

.app-redesign .rd-panel__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--rd-space-3);
    flex-wrap: wrap;
}

.app-redesign .rd-panel__title {
    margin: 0 0 var(--rd-space-1);
    font-size: var(--rd-font-size-lg);
    font-weight: var(--rd-font-weight-bold);
    letter-spacing: -0.02em;
}

.app-redesign .rd-panel__note {
    margin: 0;
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-panel__link {
    display: inline-flex;
    align-items: center;
    gap: var(--rd-space-1);
    min-height: 44px;
    color: var(--rd-color-primary);
    font-weight: var(--rd-font-weight-bold);
    text-decoration: none;
}

.app-redesign .rd-latest {
    display: grid;
    gap: var(--rd-space-3);
}

.app-redesign .rd-latest__item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: center;
    gap: var(--rd-space-4);
    padding: var(--rd-space-4) var(--rd-space-5);
    border-radius: var(--rd-radius-card-sm);
}

.app-redesign .rd-latest__company {
    display: grid;
    gap: var(--rd-space-1);
    min-width: 0;
    font-weight: var(--rd-font-weight-semibold);
    overflow-wrap: anywhere;
}

.app-redesign .rd-latest__company small {
    color: var(--rd-color-muted);
    font-weight: var(--rd-font-weight-regular);
}

.app-redesign .rd-latest__type {
    padding: var(--rd-space-1) var(--rd-space-2);
    color: var(--rd-color-muted);
    background: var(--rd-color-paper);
    border-radius: var(--rd-radius-pill);
    font-size: var(--rd-font-size-xs);
    font-weight: var(--rd-font-weight-semibold);
}

.app-redesign .rd-latest__amount {
    font-size: var(--rd-font-size-lg);
    font-weight: var(--rd-font-weight-bold);
    letter-spacing: -0.02em;
    white-space: nowrap;
}

@media (max-width: 45rem) {
    .app-redesign .rd-latest__item {
        grid-template-columns: minmax(0, 1fr) auto;
        row-gap: var(--rd-space-2);
    }

    .app-redesign .rd-latest__company {
        grid-column: 1 / -1;
    }

    .app-redesign .rd-latest__amount {
        text-align: right;
    }
}

/* РџР°РєРµС‚ 3.10 вЂ” РїР°РЅРµР»СЊ Р±С‹СЃС‚СЂРѕР№ Р·Р°СЏРІРєРё (СЃСѓС‰РµСЃС‚РІСѓСЋС‰РёР№ CreateQuickRequest-РєРѕРЅС‚СЂР°РєС‚). */
.app-redesign .rd-home__quick {
    margin-block: var(--rd-space-6);
}

.app-redesign .rd-quick {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: var(--rd-space-6);
    align-items: center;
}

.app-redesign .rd-quick__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rd-space-3);
    margin-bottom: var(--rd-space-4);
}

.app-redesign .rd-quick__field {
    display: grid;
    gap: var(--rd-space-1);
}

.app-redesign .rd-quick__field--wide {
    grid-column: 1 / -1;
}

.app-redesign .rd-quick__field label {
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-quick__field input,
.app-redesign .rd-quick__field textarea {
    width: 100%;
    min-height: 44px;
    padding: var(--rd-space-2) var(--rd-space-3);
    color: var(--rd-color-ink);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-control);
}

.app-redesign .rd-quick__field textarea {
    resize: vertical;
}

.app-redesign .rd-quick__status {
    min-height: 1.25rem;
    margin: var(--rd-space-2) 0 0;
    font-size: var(--rd-font-size-sm);
    color: var(--rd-color-muted);
}

.app-redesign .rd-quick__status[data-quick-state="error"] {
    color: var(--rd-color-status-danger);
}

/* QW-10 вЂ” field-level РѕС€РёР±РєРё quick/callback. */
.app-redesign .rd-quick__error,
.app-redesign .rd-callback__error {
    min-height: 1rem;
    color: var(--rd-color-status-danger);
    font-size: var(--rd-font-size-xs);
}

.app-redesign .rd-quick__field input[aria-invalid="true"],
.app-redesign .rd-callback__field input[aria-invalid="true"],
.app-redesign .rd-callback__field textarea[aria-invalid="true"] {
    border-color: var(--rd-color-status-danger);
}

@media (max-width: 67.5rem) {
    .app-redesign .rd-quick {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--rd-space-4);
    }
}

/* РџР°РєРµС‚ 3.11 вЂ” callback-РїР°РЅРµР»СЊ (СЃСѓС‰РµСЃС‚РІСѓСЋС‰РёР№ CallBack/Submit form-РєРѕРЅС‚СЂР°РєС‚). */
.app-redesign .rd-home__callback {
    margin-block: var(--rd-space-6);
}

.app-redesign .rd-callback {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: var(--rd-space-6);
    align-items: center;
}

.app-redesign .rd-callback__body {
    display: grid;
    gap: var(--rd-space-3);
}

.app-redesign .rd-callback__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rd-space-3);
    margin-bottom: var(--rd-space-4);
}

.app-redesign .rd-callback__field {
    display: grid;
    gap: var(--rd-space-1);
}

.app-redesign .rd-callback__field--wide {
    grid-column: 1 / -1;
}

.app-redesign .rd-callback__field label {
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-callback__field input,
.app-redesign .rd-callback__field textarea {
    width: 100%;
    min-height: 44px;
    padding: var(--rd-space-2) var(--rd-space-3);
    color: var(--rd-color-ink);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-control);
}

.app-redesign .rd-callback__field textarea {
    resize: vertical;
}

.app-redesign .rd-callback__status {
    min-height: 1.25rem;
    margin: 0;
    font-size: var(--rd-font-size-sm);
    color: var(--rd-color-muted);
}

.app-redesign .rd-callback__status[data-flash="success"],
.app-redesign .rd-callback__status[data-callback-state="success"] {
    color: var(--rd-color-status-success);
}

.app-redesign .rd-callback__status[data-flash="error"],
.app-redesign .rd-callback__status[data-callback-state="error"] {
    color: var(--rd-color-status-danger);
}

@media (max-width: 67.5rem) {
    .app-redesign .rd-callback {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--rd-space-4);
    }
}

@media (max-width: 67.5rem) {
    .app-redesign .rd-home__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 45rem) {
    .app-redesign .rd-home__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* ================= Пакеты 4.1–4.2: каталог «Партнёры» (/Partners) ================= */

.app-redesign .rd-partners__hero {
    margin: var(--rd-space-8) 0 var(--rd-space-6);
    padding: 2.625rem 2.8125rem;
    overflow: hidden;
    position: relative;
    border-radius: var(--rd-radius-feature);
    background: var(--rd-color-shell);
    color: var(--rd-color-surface);
}

.app-redesign .rd-partners__hero::after {
    position: absolute;
    top: -13.125rem;
    right: 5.625rem;
    width: 21.25rem;
    height: 21.25rem;
    border: 0.0625rem solid rgba(145, 200, 142, 0.2);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.app-redesign .rd-partners__hero-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--rd-space-5);
    position: relative;
    z-index: 1;
}

.app-redesign .rd-partners__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--rd-space-2);
    margin: 0 0 0.9375rem;
    color: var(--rd-color-success-soft);
    font-size: var(--rd-font-size-xs);
    font-weight: var(--rd-font-weight-extrabold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.app-redesign .rd-partners__eyebrow::before {
    width: 1.875rem;
    height: 0.125rem;
    background: var(--rd-color-primary);
    content: "";
}

.app-redesign .rd-partners__title {
    margin: 0 0 0.625rem;
    color: var(--rd-color-surface);
    font-size: clamp(2.5rem, 4vw, 3.1875rem);
    font-weight: var(--rd-font-weight-extrabold);
    letter-spacing: -0.1875rem;
    line-height: 1;
}

.app-redesign .rd-partners__lead {
    margin: 0;
    max-width: 40rem;
    color: #b7c2b8;
    font-size: 0.8125rem;
    line-height: var(--rd-line-height-body);
}

.app-redesign .rd-partners__count {
    margin: 0;
    text-align: right;
}

.app-redesign .rd-partners__count-number {
    display: block;
    color: #d8edcf;
    font-size: clamp(2.5rem, 4vw, 3.125rem);
    font-weight: var(--rd-font-weight-extrabold);
    letter-spacing: -0.125rem;
    line-height: 1;
}

.app-redesign .rd-partners__count-label {
    display: block;
    margin-top: var(--rd-space-1);
    color: #aebcaf;
    font-size: 0.6875rem;
    font-weight: var(--rd-font-weight-semibold);
}

.app-redesign .rd-partners__section {
    padding: 0 0 var(--rd-section-gap);
}

.app-redesign .rd-partners__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--rd-space-4);
    flex-wrap: wrap;
    margin-bottom: var(--rd-space-4);
}

.app-redesign .rd-partners__head .rd-panel__title {
    margin-bottom: 0.375rem;
    font-size: clamp(1.75rem, 3vw, 2.0625rem);
    letter-spacing: -0.09375rem;
}

.app-redesign .rd-partners__head .rd-panel__note {
    font-size: 0.8125rem;
}

.app-redesign .rd-partners__apply {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: var(--rd-space-2);
    color: var(--rd-color-primary);
    font-size: var(--rd-font-size-sm);
    font-weight: var(--rd-font-weight-bold);
    text-decoration: none;
}

.app-redesign .rd-partners__empty {
    margin: 0;
    padding: var(--rd-space-6);
    border: 1px solid var(--rd-color-line);
    border-radius: var(--rd-radius-card);
    background: var(--rd-color-paper);
    color: var(--rd-color-muted);
    text-align: center;
}

.app-redesign .rd-partners__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9375rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.app-redesign .rd-partner-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--rd-space-5);
    min-height: 12.375rem;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--rd-color-line);
    border-radius: 1.3125rem;
    background: var(--rd-color-surface);
}

.app-redesign .rd-partner-card__button {
    all: unset;
    box-sizing: border-box;
    display: flex;
    width: 100%;
    min-height: 12.375rem;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--rd-space-5);
    padding: 1.375rem;
    color: inherit;
    cursor: pointer;
}

.app-redesign .rd-partner-card__button:focus-visible {
    outline: var(--rd-focus-size) solid var(--rd-color-focus);
    outline-offset: -0.25rem;
    border-radius: inherit;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .app-redesign .rd-partner-card {
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .app-redesign .rd-partner-card:hover {
        box-shadow: 0 0.875rem 2.1875rem rgba(33, 55, 34, 0.07);
        transform: translateY(-0.1875rem);
    }
}

.app-redesign .rd-partner-card__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 0.875rem;
    background: var(--rd-color-success-soft);
    color: var(--rd-color-primary);
    font-size: var(--rd-font-size-md);
    font-weight: var(--rd-font-weight-extrabold);
    letter-spacing: -0.03em;
}

.app-redesign .rd-partner-card__brand {
    display: flex;
    width: min(12.8125rem, calc(100% - 4rem));
    height: 3.25rem;
    align-items: center;
}

.app-redesign .rd-partner-card__brand img {
    display: block;
    max-width: 11.875rem;
    max-height: 3rem;
    object-fit: contain;
    object-position: left center;
}

.app-redesign .rd-partner-card__top,
.app-redesign .rd-partner-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rd-space-3);
}

.app-redesign .rd-partner-card__top {
    align-items: flex-start;
}

.app-redesign .rd-partner-card__badge {
    padding: 0.4375rem 0.5625rem;
    color: var(--rd-color-primary);
    background: #f0f5ef;
    border-radius: var(--rd-radius-pill);
    font-size: 0.625rem;
    font-weight: var(--rd-font-weight-extrabold);
}

.app-redesign .rd-partner-card__body {
    min-width: 0;
}

.app-redesign .rd-partner-card__name {
    display: block;
    margin: 0 0 var(--rd-space-4);
    color: var(--rd-color-ink);
    font-size: 1.0625rem;
    font-weight: var(--rd-font-weight-bold);
    line-height: var(--rd-line-height-body);
    overflow-wrap: anywhere;
}

.app-redesign .rd-partner-card__description {
    display: -webkit-box;
    min-height: 2.625rem;
    overflow: hidden;
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-xs);
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.app-redesign .rd-partner-card__actions {
    margin-top: var(--rd-space-4);
    color: var(--rd-color-muted);
    font-size: 0.6875rem;
}

.app-redesign .rd-partner-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--rd-space-1);
    min-height: 44px;
    color: var(--rd-color-primary);
    font-weight: var(--rd-font-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

@media (max-width: 67.5rem) {
    .app-redesign .rd-partners__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 45rem) {
    .app-redesign .rd-partners__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .app-redesign .rd-partners__hero {
        padding: 1.875rem 1.5625rem;
        margin-top: var(--rd-space-6);
    }

    .app-redesign .rd-partners__hero-inner {
        align-items: flex-start;
    }

    .app-redesign .rd-partners__count {
        text-align: left;
    }

    .app-redesign .rd-partners__hero::after {
        right: -9rem;
    }
}

/* 4.3: toolbar/фильтр и состояния каталога */

.app-redesign .rd-partners__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--rd-space-3);
    margin-bottom: var(--rd-space-3);
    padding: var(--rd-space-3);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-card-sm);
    background: rgba(255, 255, 255, 0.72);
}

.app-redesign .rd-partners__field {
    display: flex;
    flex-direction: column;
    gap: var(--rd-space-1);
    flex: 1 1 16rem;
    max-width: 30rem;
}

.app-redesign .rd-partners__label {
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-xs);
    font-weight: var(--rd-font-weight-semibold);
}

.app-redesign .rd-partners__input {
    min-height: 44px;
    padding: 0 var(--rd-space-3);
    border: 1px solid var(--rd-color-line);
    border-radius: var(--rd-radius-control);
    background: var(--rd-color-surface);
    color: var(--rd-color-ink);
    font: inherit;
}

.app-redesign .rd-partners__input:focus-visible {
    outline: var(--rd-focus-size) solid var(--rd-color-focus);
    outline-offset: 2px;
}

.app-redesign .rd-partners__status {
    min-height: 1.25rem;
    margin: 0 0 var(--rd-space-5);
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-partners__status:empty {
    display: none;
}

.app-redesign .rd-partners__error {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--rd-space-3);
    padding: var(--rd-space-5);
    border: 1px solid var(--rd-color-danger);
    border-radius: var(--rd-radius-card);
    background: var(--rd-color-paper);
}

.app-redesign .rd-partners__error-title {
    margin: 0;
    color: var(--rd-color-ink);
    font-size: var(--rd-font-size-md);
    font-weight: var(--rd-font-weight-bold);
}

.app-redesign .rd-partners__error-note {
    margin: 0;
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-partners__clear-link {
    color: var(--rd-color-primary);
    text-decoration: underline;
}

.app-redesign .rd-partners__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--rd-space-2);
    margin-top: var(--rd-space-6);
}

.app-redesign .rd-partners__page {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    color: var(--rd-color-ink);
    background: var(--rd-color-surface);
    border: 0.0625rem solid var(--rd-color-line);
    border-radius: var(--rd-radius-control);
    font-weight: var(--rd-font-weight-bold);
    text-decoration: none;
}

.app-redesign .rd-partners__page:hover,
.app-redesign .rd-partners__page:focus-visible,
.app-redesign .rd-partners__page.is-active {
    color: var(--rd-color-surface);
    background: var(--rd-color-primary);
    border-color: var(--rd-color-primary);
}

.app-redesign .rd-partner-modal__panel {
    box-sizing: border-box;
    width: min(52rem, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    max-height: calc(100dvh - 2rem);
    overflow: hidden;
}

.app-redesign .rd-partner-modal .rd-modal__body {
    display: flex;
    flex: 1 1 auto;
    overflow: hidden;
}

.app-redesign .rd-partner-modal .rd-modal__body,
.app-redesign .rd-partner-details,
.app-redesign .rd-partner-details__header > div {
    min-width: 0;
}

.app-redesign .rd-partner-modal .rd-modal__body,
.app-redesign .rd-partner-details {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.app-redesign .rd-partner-details {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.app-redesign .rd-partner-modal__eyebrow,
.app-redesign .rd-partner-details__label {
    margin: 0;
    color: var(--rd-color-primary);
    font-size: var(--rd-font-size-xs);
    font-weight: var(--rd-font-weight-extrabold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-redesign .rd-partner-modal__status {
    margin: 0;
    padding: var(--rd-space-6);
    color: var(--rd-color-muted);
    text-align: center;
}

.app-redesign .rd-partner-modal__status--error {
    color: var(--rd-color-danger);
}

.app-redesign .rd-partner-details__header {
    display: flex;
    align-items: center;
    gap: var(--rd-space-5);
    padding-bottom: var(--rd-space-5);
    border-bottom: 0.0625rem solid var(--rd-color-line);
}

.app-redesign .rd-partner-details__logo {
    display: block;
    width: min(12rem, 35%);
    max-height: 4rem;
    object-fit: contain;
    object-position: left center;
}

.app-redesign .rd-partner-details__title {
    margin: var(--rd-space-2) 0 0;
    color: var(--rd-color-ink);
    font-size: clamp(1.5rem, 4vw, 2rem);
    line-height: var(--rd-line-height-tight);
}

.app-redesign .rd-partner-details__lead {
    margin: var(--rd-space-2) 0 0;
    color: var(--rd-color-muted);
    line-height: var(--rd-line-height-body);
}

.app-redesign .rd-partner-details__content {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    padding: var(--rd-space-5) var(--rd-space-3) var(--rd-space-6) 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    color: var(--rd-color-ink);
    line-height: var(--rd-line-height-body);
    overflow-wrap: anywhere;
}

.app-redesign .rd-partner-details__content *,
.app-redesign .rd-partner-details__content img,
.app-redesign .rd-partner-details__content iframe,
.app-redesign .rd-partner-details__content video,
.app-redesign .rd-partner-details__content svg,
.app-redesign .rd-partner-details__content object,
.app-redesign .rd-partner-details__content embed {
    box-sizing: border-box;
    max-width: 100%;
}

.app-redesign .rd-partner-details__content img,
.app-redesign .rd-partner-details__content video {
    height: auto;
}

.app-redesign .rd-partner-details__content table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.app-redesign .rd-partner-details__content th,
.app-redesign .rd-partner-details__content td,
.app-redesign .rd-partner-details__content a,
.app-redesign .rd-partner-details__content p,
.app-redesign .rd-partner-details__content li,
.app-redesign .rd-partner-details__content span,
.app-redesign .rd-partner-details__content nobr {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.app-redesign .rd-partner-details__content th,
.app-redesign .rd-partner-details__content td,
.app-redesign .rd-partner-details__content col {
    width: auto !important;
}

.app-redesign .rd-partner-details__content pre {
    max-width: 100%;
    margin-inline: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.app-redesign .rd-partner-details__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--rd-space-3);
    padding-top: var(--rd-space-4);
    border-top: 0.0625rem solid var(--rd-color-line);
}

@media (max-width: 45rem) {
    .app-redesign .rd-partner-modal__panel {
        width: 100%;
        max-width: 100%;
    }

    .app-redesign .rd-partners__page--edge {
        display: none;
    }

    .app-redesign .rd-partner-details__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .app-redesign .rd-partner-details__logo {
        width: min(12rem, 70%);
    }
}

/* Превью банков-партнёров на главной: компактная сетка 2×2. */

.app-redesign .rd-home-partners__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rd-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.app-redesign .rd-home-partners__card {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--rd-space-3);
    min-height: 5.5rem;
    padding: var(--rd-space-4);
    border: 1px solid var(--rd-color-line);
    border-radius: var(--rd-radius-card-sm);
    background: var(--rd-color-surface);
}

.app-redesign .rd-home-partners__brand {
    display: inline-flex;
    flex: 0 0 4.25rem;
    width: 4.25rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
}

.app-redesign .rd-home-partners__brand img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.app-redesign .rd-home-partners__monogram {
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--rd-radius-control);
    background: var(--rd-color-success-soft);
    color: var(--rd-color-primary);
    font-size: var(--rd-font-size-sm);
    font-weight: var(--rd-font-weight-extrabold);
}

.app-redesign .rd-home-partners__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--rd-space-1);
}

.app-redesign .rd-home-partners__name,
.app-redesign .rd-home-partners__description {
    min-width: 0;
    overflow-wrap: anywhere;
}

.app-redesign .rd-home-partners__name {
    color: var(--rd-color-ink);
    font-size: var(--rd-font-size-sm);
    font-weight: var(--rd-font-weight-semibold);
}

.app-redesign .rd-home-partners__description {
    display: -webkit-box;
    overflow: hidden;
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-xs);
    line-height: var(--rd-line-height-body);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 45rem) {
    .app-redesign .rd-home-partners__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* 4.4: вход в create flow из каталога */

.app-redesign .rd-partners__hero-actions {
    margin-top: var(--rd-space-5);
}

/* ===== 6.2 (post-SOL): модалка подбора на главной ===== */

.app-redesign .rd-picker__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rd-space-3);
    margin-bottom: var(--rd-space-4);
}

.app-redesign .rd-picker__status {
    margin: 0 0 var(--rd-space-3);
    color: var(--rd-color-muted);
    font-size: var(--rd-font-size-sm);
}

.app-redesign .rd-picker__results {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--rd-space-2);
}

.app-redesign .rd-picker__result a {
    display: grid;
    justify-items: start;
    gap: var(--rd-space-1);
    width: 100%;
    text-align: left;
    text-decoration: none;
}

.app-redesign .rd-picker__result small {
    font-weight: var(--rd-font-weight-regular);
    opacity: .85;
}

/* ===== 7.6 (post-SOL): строка «Прочитать все» в redesign-панели уведомлений =====
   Legacy-класс .all-notifications (float/absolute из style.css) в новом контейнере
   уезжал за пределы панели и делал строку некликабельной. Переопределяем в scope. */

.app-redesign .rd-notification__panel .all-notifications {
    float: none;
    position: relative;
    margin-top: var(--rd-space-2);
    padding: var(--rd-space-2) var(--rd-space-1);
    border-top: 1px solid var(--rd-color-border);
    color: var(--rd-color-primary);
    font-size: var(--rd-font-size-sm);
    cursor: pointer;
    text-align: center;
}

.app-redesign .rd-notification__panel .all-notifications div {
    position: static;
    right: auto;
}

.app-redesign .rd-notification__panel .all-notifications:hover {
    text-decoration: underline;
}

/* Актуализация по каноническому макету: порядок секций главной и общий нижний блок. */
.app-redesign .rd-home > .rd-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rd-space-5);
}

.app-redesign .rd-home .rd-hero,
.app-redesign .rd-home .rd-stats,
.app-redesign .rd-home__programs,
.app-redesign .rd-home__quick,
.app-redesign .rd-home__callback {
    grid-column: 1 / -1;
}

.app-redesign .rd-home .rd-hero { order: 1; }
.app-redesign .rd-home .rd-stats { order: 2; }
.app-redesign .rd-home__programs { order: 3; }
.app-redesign .rd-home__latest { order: 4; }
.app-redesign .rd-home__partners { order: 5; }
.app-redesign .rd-home__quick { order: 6; }
.app-redesign .rd-home__callback { order: 7; }

.app-redesign .rd-home__latest,
.app-redesign .rd-home__partners {
    display: flex;
    grid-column: span 1;
    min-width: 0;
    margin-block: 0;
    align-self: stretch;
}

.app-redesign .rd-home__latest > .rd-panel,
.app-redesign .rd-home__partners > .rd-panel {
    width: 100%;
    flex: 1 1 auto;
    align-content: start;
}

/* На широком экране три последние заявки помещаются в фиксированную высоту,
   совпадающую с двумя рядами партнёрских карточек. */
@media (min-width: 67.5625rem) {
    .app-redesign .rd-home__latest .rd-latest {
        grid-template-rows: repeat(3, minmax(0, 1fr));
        gap: var(--rd-space-2);
        height: 11.75rem;
        overflow: hidden;
    }

    .app-redesign .rd-home__latest .rd-latest__item {
        min-height: 0;
        padding: var(--rd-space-2) var(--rd-space-4);
    }
}

.app-redesign .rd-latest__company > [data-latest-company] {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-redesign .rd-program-card__tag {
    margin-right: auto;
    padding: .3rem .65rem;
    color: var(--rd-color-muted);
    background: var(--rd-color-background);
    border-radius: var(--rd-radius-pill);
    font-size: var(--rd-font-size-xs);
    font-weight: var(--rd-font-weight-semibold);
}

.app-redesign .notification-error {
    display: grid;
    gap: var(--rd-space-2);
    margin-bottom: var(--rd-space-3);
    padding: var(--rd-space-3);
    color: var(--rd-color-status-danger);
    background: #fff4f2;
    border: 1px solid currentColor;
    border-radius: var(--rd-radius-control);
}

.app-redesign .notification-error p { margin: 0; }
.app-redesign .notification-error .rd-btn { justify-self: start; }

@media (max-width: 67.5rem) {
    .app-redesign .rd-home__latest,
    .app-redesign .rd-home__partners {
        grid-column: 1 / -1;
    }
}
